{"version":3,"sources":["webpack:///./src/components/dynamicTables/tables/concernedContactsTable.vue","webpack:///src/components/dynamicTables/tables/concernedContactsTable.vue","webpack:///./src/components/dynamicTables/tables/concernedContactsTable.vue?d516","webpack:///./src/components/dynamicTables/tables/concernedContactsTable.vue?a0d0","webpack:///./node_modules/ol/tilegrid/common.js","webpack:///./node_modules/devextreme-vue/select-box.js","webpack:///./src/views/DashboardView.vue?5384","webpack:///./src/components/table-overviews/soilDataTableOverview.vue","webpack:///src/components/table-overviews/soilDataTableOverview.vue","webpack:///./src/components/table-overviews/soilDataTableOverview.vue?83a7","webpack:///./src/components/table-overviews/soilDataTableOverview.vue?5acd","webpack:///./src/components/dynamicTables/tables/createWaterSamplesDialog.vue?961f","webpack:///./node_modules/ol/events/condition.js","webpack:///./node_modules/ol/render/EventType.js","webpack:///./node_modules/ol/tilegrid.js","webpack:///./src/components/dashboards/Widget.vue?8da9","webpack:///./node_modules/ol/dom.js","webpack:///./node_modules/ol/geom/flat/interiorpoint.js","webpack:///./node_modules/ol/renderer/canvas/common.js","webpack:///./node_modules/ol/MapBrowserEventType.js","webpack:///./src/components/dashboards/Widgets/groundWaterInfoWidget.vue?817c","webpack:///./src/components/dynamicTables/tables/baseProjectTable.vue?1bba","webpack:///./src/components/dashboards/Widgets/surfaceSampleInfoWidget.vue?83d0","webpack:///./src/components/dashboards/Widgets/soilInfoWidget.vue?ae7f","webpack:///./src/components/dashboards/modals/deleteAllWidgets.vue?d703","webpack:///./node_modules/ol/renderer/Layer.js","webpack:///./node_modules/ol/renderer/canvas/Layer.js","webpack:///./src/components/modal/concernedContactModal.vue","webpack:///src/components/modal/concernedContactModal.vue","webpack:///./src/components/modal/concernedContactModal.vue?c3da","webpack:///./src/components/modal/concernedContactModal.vue?15cd","webpack:///./src/components/modal/userModal.vue?423f","webpack:///./src/components/modalSelects/copyMoveSettingsDialog.vue?208a","webpack:///./node_modules/ol/CollectionEventType.js","webpack:///./node_modules/ol/layer/Layer.js","webpack:///./src/components/dashboards/modals/addDashboard.vue?9f9b","webpack:///./src/components/table-overviews/allLabAssignmentsOverview.vue","webpack:///src/components/table-overviews/allLabAssignmentsOverview.vue","webpack:///./src/components/table-overviews/allLabAssignmentsOverview.vue?2dd6","webpack:///./src/components/table-overviews/allLabAssignmentsOverview.vue?1fd3","webpack:///./node_modules/ol/geom/flat/simplify.js","webpack:///./src/components/dashboards/Widgets/todoListWidget.vue?0e36","webpack:///./src/components/dynamicTables/tables/projectParticipantsTable.vue","webpack:///src/components/dynamicTables/tables/projectParticipantsTable.vue","webpack:///./src/components/dynamicTables/tables/projectParticipantsTable.vue?694e","webpack:///./src/components/dynamicTables/tables/projectParticipantsTable.vue?a6fc","webpack:///./node_modules/file-saver/dist/FileSaver.min.js","webpack:///./node_modules/ol/control/Attribution.js","webpack:///./node_modules/ol/control/Rotate.js","webpack:///./node_modules/ol/control/Zoom.js","webpack:///./node_modules/ol/control.js","webpack:///./node_modules/rbush/rbush.min.js","webpack:///./node_modules/ol/geom/flat/contains.js","webpack:///./src/components/dashboards/DashboardHeader.vue?ac89","webpack:///./src/components/modal/confirmDeleteModal.vue?5406","webpack:///./node_modules/ol/style/TextPlacement.js","webpack:///./src/components/openLayers/actionButtons.vue?a9ea","webpack:///./node_modules/ol/tilecoord.js","webpack:///./node_modules/ol/interaction/Select.js","webpack:///./node_modules/ol/source/XYZ.js","webpack:///./node_modules/ol/reproj/Triangulation.js","webpack:///./node_modules/ol/reproj/Tile.js","webpack:///./node_modules/underscore/modules/_setup.js","webpack:///./node_modules/gridstack/dist/dd-resizable-handle.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/m_core.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/column_headers.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/m_columns_controller.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/data_source_adapter/m_data_source_adapter.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/data_controller/m_data_controller.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/sorting.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/rows/m_rows.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/context_menu.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/error_handling.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/m_grid_view.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/header_panel.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/m_widget_base.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/m_state_storing.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/column_chooser.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/m_master_detail.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/editor_factory.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/editing/m_editing.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/editing_row_based.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/editing_form_based.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/editing_cell_based.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/m_validating.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/m_virtual_scrolling.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/filter_row.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/header_filter.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/filter_sync.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/filter_builder.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/filter_panel.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/pager.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/columns_resizing_reordering.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/column_fixing.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/adaptivity.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/selection/m_selection.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/search.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/m_keyboard_navigation.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/virtual_columns.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/m_focus.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/module_not_extended/row_dragging.js","webpack:///./node_modules/devextreme/esm/__internal/grids/tree_list/m_widget.js","webpack:///./node_modules/devextreme/esm/ui/tree_list.js","webpack:///./node_modules/ol/render/Event.js","webpack:///./src/components/dashboards/images/concerned-contacts.png","webpack:///./node_modules/ol/size.js","webpack:///./src/components/dynamicTables/TerraIndexDynamicTable.vue?d10d","webpack:///./src/components/dynamicTables/tables/projectDetailsTable.vue?c044","webpack:///./node_modules/ol/control/Control.js","webpack:///./node_modules/ol/interaction/DoubleClickZoom.js","webpack:///./node_modules/ol/interaction/DragPan.js","webpack:///./node_modules/ol/interaction/DragRotate.js","webpack:///./node_modules/ol/render/Box.js","webpack:///./node_modules/ol/interaction/DragBox.js","webpack:///./node_modules/ol/interaction/DragZoom.js","webpack:///./node_modules/ol/events/KeyCode.js","webpack:///./node_modules/ol/interaction/KeyboardPan.js","webpack:///./node_modules/ol/interaction/KeyboardZoom.js","webpack:///./node_modules/ol/Kinetic.js","webpack:///./node_modules/ol/interaction/MouseWheelZoom.js","webpack:///./node_modules/ol/interaction/PinchRotate.js","webpack:///./node_modules/ol/interaction/PinchZoom.js","webpack:///./node_modules/ol/interaction.js","webpack:///./node_modules/ol/style/IconImageCache.js","webpack:///./node_modules/ol/reproj.js","webpack:///./node_modules/ol/layer/BaseVector.js","webpack:///./node_modules/ol/render/canvas/Instruction.js","webpack:///./node_modules/ol/render/VectorContext.js","webpack:///./node_modules/ol/render/canvas/Builder.js","webpack:///./node_modules/ol/render/canvas/ImageBuilder.js","webpack:///./node_modules/ol/render/canvas/LineStringBuilder.js","webpack:///./node_modules/ol/render/canvas/PolygonBuilder.js","webpack:///./node_modules/ol/geom/flat/straightchunk.js","webpack:///./node_modules/ol/render/canvas/TextBuilder.js","webpack:///./node_modules/ol/render/canvas/BuilderGroup.js","webpack:///./node_modules/ol/geom/flat/textpath.js","webpack:///./node_modules/ol/render/canvas/Executor.js","webpack:///./node_modules/ol/render/canvas/ExecutorGroup.js","webpack:///./node_modules/ol/render/canvas/Immediate.js","webpack:///./node_modules/ol/render/canvas/hitdetect.js","webpack:///./node_modules/ol/renderer/vector.js","webpack:///./node_modules/ol/renderer/canvas/VectorLayer.js","webpack:///./node_modules/ol/layer/Vector.js","webpack:///./src/components/dynamicTables/tables/transferSamplesDialog.vue?62b5","webpack:///./src/components/modalSelects/MultiEditDialog.vue?c883","webpack:///./node_modules/ol/interaction/Pointer.js","webpack:///./node_modules/ol/interaction/Interaction.js","webpack:///./node_modules/devextreme/esm/core/utils/svg.js","webpack:///./node_modules/devextreme/esm/viz/core/renderers/animation.js","webpack:///./node_modules/devextreme/esm/color.js","webpack:///./node_modules/devextreme/esm/viz/core/utils.js","webpack:///./node_modules/devextreme/esm/viz/core/renderers/renderer.js","webpack:///./node_modules/devextreme/esm/viz/palette.js","webpack:///./node_modules/devextreme/esm/viz/utils.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.light.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.carmine.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.dark.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.contrast.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.darkmoon.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.darkviolet.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.greenmist.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/generic.softblue.js","webpack:///./node_modules/devextreme/esm/viz/core/themes/material.js","webpack:///./node_modules/devextreme/esm/viz/themes.js","webpack:///./node_modules/devextreme/esm/viz/core/base_theme_manager.js","webpack:///./node_modules/devextreme/esm/viz/core/helpers.js","webpack:///./node_modules/devextreme/esm/viz/core/errors_warnings.js","webpack:///./node_modules/devextreme/esm/viz/core/layout.js","webpack:///./node_modules/devextreme/esm/common/charts.js","webpack:///./node_modules/devextreme/esm/viz/core/base_widget.utils.js","webpack:///./node_modules/devextreme/esm/viz/core/base_widget.js","webpack:///./node_modules/devextreme/esm/viz/core/layout_element.js","webpack:///./node_modules/devextreme/esm/viz/core/title.js","webpack:///./node_modules/devextreme/esm/viz/components/legend.js","webpack:///./node_modules/devextreme/esm/viz/components/parse_utils.js","webpack:///./node_modules/devextreme/esm/viz/components/data_validator.js","webpack:///./node_modules/devextreme/esm/viz/components/consts.js","webpack:///./node_modules/devextreme/esm/viz/series/helpers/display_format_parser.js","webpack:///./node_modules/devextreme/esm/viz/series/points/label.js","webpack:///./node_modules/devextreme/esm/viz/series/points/symbol_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/bar_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/bubble_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/pie_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/range_symbol_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/range_bar_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/candlestick_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/stock_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/polar_point.js","webpack:///./node_modules/devextreme/esm/viz/series/points/base_point.js","webpack:///./node_modules/devextreme/esm/viz/series/helpers/range_data_calculator.js","webpack:///./node_modules/devextreme/esm/viz/series/scatter_series.js","webpack:///./node_modules/devextreme/esm/viz/series/line_series.js","webpack:///./node_modules/devextreme/esm/viz/series/area_series.js","webpack:///./node_modules/devextreme/esm/viz/series/bar_series.js","webpack:///./node_modules/devextreme/esm/viz/series/range_series.js","webpack:///./node_modules/devextreme/esm/viz/series/bubble_series.js","webpack:///./node_modules/devextreme/esm/viz/series/pie_series.js","webpack:///./node_modules/devextreme/esm/viz/series/financial_series.js","webpack:///./node_modules/devextreme/esm/viz/series/stacked_series.js","webpack:///./node_modules/devextreme/esm/viz/series/base_series.js","webpack:///./node_modules/devextreme/esm/viz/components/chart_theme_manager.js","webpack:///./node_modules/devextreme/esm/viz/chart_components/layout_manager.js","webpack:///./node_modules/devextreme/esm/viz/chart_components/tracker.js","webpack:///./node_modules/devextreme/esm/exporter/image_creator.js","webpack:///./node_modules/devextreme/esm/exporter/file_saver.js","webpack:///./node_modules/devextreme/esm/exporter/svg_creator.js","webpack:///./node_modules/devextreme/esm/exporter/pdf_creator.js","webpack:///./node_modules/devextreme/esm/exporter.js","webpack:///./node_modules/devextreme/esm/viz/core/export.js","webpack:///./node_modules/devextreme/esm/viz/core/data_source.js","webpack:///./node_modules/devextreme/esm/viz/core/plaque.js","webpack:///./node_modules/devextreme/esm/viz/core/tooltip.js","webpack:///./node_modules/devextreme/esm/viz/core/loading_indicator.js","webpack:///./node_modules/devextreme/esm/viz/chart_components/base_chart.js","webpack:///./node_modules/devextreme/esm/viz/chart_components/multi_axes_synchronizer.js","webpack:///./node_modules/devextreme/esm/viz/translators/range.js","webpack:///./node_modules/devextreme/esm/viz/axes/smart_formatter.js","webpack:///./node_modules/devextreme/esm/viz/axes/axes_constants.js","webpack:///./node_modules/devextreme/esm/viz/axes/tick_generator.js","webpack:///./node_modules/devextreme/esm/viz/translators/category_translator.js","webpack:///./node_modules/devextreme/esm/viz/translators/interval_translator.js","webpack:///./node_modules/devextreme/esm/viz/translators/datetime_translator.js","webpack:///./node_modules/devextreme/esm/viz/translators/logarithmic_translator.js","webpack:///./node_modules/devextreme/esm/viz/translators/translator2d.js","webpack:///./node_modules/devextreme/esm/viz/axes/tick.js","webpack:///./node_modules/devextreme/esm/viz/axes/datetime_breaks.js","webpack:///./node_modules/devextreme/esm/viz/axes/xy_axes.js","webpack:///./node_modules/devextreme/esm/viz/axes/axes_utils.js","webpack:///./node_modules/devextreme/esm/viz/axes/polar_axes.js","webpack:///./node_modules/devextreme/esm/viz/axes/constant_line.js","webpack:///./node_modules/devextreme/esm/viz/axes/strip.js","webpack:///./node_modules/devextreme/esm/viz/axes/base_axis.js","webpack:///./node_modules/devextreme/esm/viz/core/series_family.js","webpack:///./node_modules/devextreme/esm/viz/chart_components/advanced_chart.js","webpack:///./node_modules/devextreme/esm/viz/chart_components/scroll_bar.js","webpack:///./node_modules/devextreme/esm/viz/chart_components/crosshair.js","webpack:///./node_modules/devextreme/esm/viz/chart_components/shutter_zoom.js","webpack:///./node_modules/devextreme/esm/events/transform.js","webpack:///./node_modules/devextreme/esm/viz/chart_components/zoom_and_pan.js","webpack:///./node_modules/devextreme/esm/viz/core/annotations.js","webpack:///./node_modules/devextreme/esm/viz/chart.js","webpack:///./src/components/modalSelects/projectSelectDialog.vue","webpack:///src/components/modalSelects/projectSelectDialog.vue","webpack:///./src/components/modalSelects/projectSelectDialog.vue?ba3d","webpack:///./src/components/modalSelects/projectSelectDialog.vue?0d7c","webpack:///./node_modules/ol/geom/MultiLineString.js","webpack:///./node_modules/ol/layer/TileProperty.js","webpack:///./node_modules/ol/layer/BaseTile.js","webpack:///./node_modules/ol/renderer/canvas/TileLayer.js","webpack:///./node_modules/ol/layer/Tile.js","webpack:///./src/components/table-overviews/groundWaterDataTableOverview.vue?20a9","webpack:///./node_modules/ol/ViewHint.js","webpack:///./src/utils/labStatusCodeUtils.js","webpack:///./src/components/dashboards/Widgets/waterSamplesWidget.vue?c16f","webpack:///./node_modules/ol/Feature.js","webpack:///./node_modules/ol/geom/flat/reverse.js","webpack:///./node_modules/ol/geom/flat/orient.js","webpack:///./node_modules/color-name/index.js","webpack:///./src/components/openLayers.vue?5813","webpack:///./node_modules/ol/MapBrowserEvent.js","webpack:///./node_modules/gridstack/dist/dd-resizable.js","webpack:///./node_modules/ol/layer/Base.js","webpack:///./src/components/_shared/search.vue?e15c","webpack:///./node_modules/devextreme-vue/chart.js","webpack:///./src/components/_shared/tiDialog.vue","webpack:///src/components/_shared/tiDialog.vue","webpack:///./src/components/_shared/tiDialog.vue?60a0","webpack:///./src/components/_shared/tiDialog.vue?d357","webpack:///./node_modules/ol/structs/RBush.js","webpack:///./node_modules/ol/source/VectorEventType.js","webpack:///./node_modules/ol/loadingstrategy.js","webpack:///./node_modules/ol/featureloader.js","webpack:///./node_modules/ol/source/Vector.js","webpack:///./src/components/modalSelects/projectSelectDialog.vue?8f98","webpack:///./node_modules/ol/MapEventType.js","webpack:///./node_modules/ol/geom/flat/length.js","webpack:///./node_modules/ol/geom/LinearRing.js","webpack:///./node_modules/ol/geom/Polygon.js","webpack:///./node_modules/ol/color.js","webpack:///./src/components/dashboards/images/table-icon.png","webpack:///./node_modules/ol/Tile.js","webpack:///./node_modules/ol/renderer/Map.js","webpack:///./node_modules/ol/renderer/Composite.js","webpack:///./node_modules/ol/layer/Group.js","webpack:///./node_modules/ol/pointer/EventType.js","webpack:///./node_modules/ol/MapBrowserEventHandler.js","webpack:///./node_modules/ol/structs/PriorityQueue.js","webpack:///./node_modules/ol/TileQueue.js","webpack:///./node_modules/ol/PluggableMap.js","webpack:///./node_modules/ol/Map.js","webpack:///./src/components/dashboards/modals/deleteDashboard.vue?12ab","webpack:///./src/components/table-overviews/surfaceSamplesTableOverview.vue?089a","webpack:///./node_modules/ol/ImageBase.js","webpack:///./node_modules/ol/Image.js","webpack:///./src/components/openLayers.vue","webpack:///./node_modules/ol/geom/GeometryCollection.js","webpack:///./node_modules/ol/format/Feature.js","webpack:///./node_modules/ol/xml.js","webpack:///./node_modules/ol/format/XMLFeature.js","webpack:///./node_modules/ol/format/xsd.js","webpack:///./node_modules/ol/format/KML.js","webpack:///./node_modules/ol/uri.js","webpack:///./node_modules/ol/tilegrid/WMTS.js","webpack:///./node_modules/ol/source/WMTS.js","webpack:///./node_modules/ol/format/XML.js","webpack:///./node_modules/ol/format/xlink.js","webpack:///./node_modules/ol/format/OWS.js","webpack:///./node_modules/ol/format/WMTSCapabilities.js","webpack:///./src/components/openLayers/actionButtons.vue","webpack:///src/components/openLayers/actionButtons.vue","webpack:///./src/components/openLayers/actionButtons.vue?f8de","webpack:///./src/components/openLayers/actionButtons.vue?545a","webpack:///./src/components/openLayers/layerHandler.vue","webpack:///src/components/openLayers/layerHandler.vue","webpack:///./src/components/openLayers/layerHandler.vue?ba1c","webpack:///./src/components/openLayers/layerHandler.vue?612f","webpack:///./src/components/openLayers/contextMenu.vue","webpack:///src/components/openLayers/contextMenu.vue","webpack:///./src/components/openLayers/contextMenu.vue?87bd","webpack:///./src/components/openLayers/contextMenu.vue?f6e3","webpack:///./src/components/openLayers/renderHandlers.js","webpack:///./node_modules/ol/format/TextFeature.js","webpack:///./node_modules/ol/format/WKT.js","webpack:///./node_modules/ol/source/wms.js","webpack:///./node_modules/ol/source/TileWMS.js","webpack:///./node_modules/ol/source/BingMaps.js","webpack:///./src/components/openLayers/mapHandlers.js","webpack:///./node_modules/ol/format/JSONFeature.js","webpack:///./node_modules/ol/format/GeoJSON.js","webpack:///./src/components/openLayers/drawHandlers.js","webpack:///./src/components/modal/startDrawModal.vue","webpack:///src/components/modal/startDrawModal.vue","webpack:///./src/components/modal/startDrawModal.vue?39ec","webpack:///./src/components/modal/startDrawModal.vue?8934","webpack:///./src/utils/klicUtil.js","webpack:///src/components/openLayers.vue","webpack:///./src/components/openLayers.vue?bfe1","webpack:///./src/components/openLayers.vue?7993","webpack:///./src/components/dashboards/Widgets/groundAirInfoWidget.vue?48a0","webpack:///./src/components/table-overviews/surfaceSamplesTableOverview.vue","webpack:///src/components/table-overviews/surfaceSamplesTableOverview.vue","webpack:///./src/components/table-overviews/surfaceSamplesTableOverview.vue?7a38","webpack:///./src/components/table-overviews/surfaceSamplesTableOverview.vue?7b22","webpack:///./src/components/table-overviews/allLabAssignmentsOverview.vue?43b5","webpack:///./src/components/openLayers/layerHandler.vue?2357","webpack:///./src/views/DashboardView.vue","webpack:///./src/components/dashboards/Dashboard404.vue","webpack:///src/components/dashboards/Dashboard404.vue","webpack:///./src/components/dashboards/Dashboard404.vue?3319","webpack:///./src/components/dashboards/Dashboard404.vue?e0fb","webpack:///./src/components/dashboards/DashboardHeader.vue","webpack:///src/components/dashboards/DashboardHeader.vue","webpack:///./src/components/dashboards/DashboardHeader.vue?7826","webpack:///./src/components/dashboards/DashboardHeader.vue?9b8c","webpack:///./src/components/dashboards/WidgetMenu.vue","webpack:///./src/components/dashboards/Widgets/waterSamplesWidget.vue","webpack:///./src/components/dashboards/Widgets/widgetSettings/settingsWaterSamplesWidget.vue","webpack:///src/components/dashboards/Widgets/widgetSettings/settingsWaterSamplesWidget.vue","webpack:///./src/components/dashboards/Widgets/widgetSettings/settingsWaterSamplesWidget.vue?e8ba","webpack:///./src/components/dashboards/Widgets/widgetSettings/settingsWaterSamplesWidget.vue?3300","webpack:///./src/components/dashboards/mixins/wantsDashboardData.js","webpack:///src/components/dashboards/Widgets/waterSamplesWidget.vue","webpack:///./src/components/dashboards/Widgets/waterSamplesWidget.vue?7078","webpack:///./src/components/dashboards/Widgets/waterSamplesWidget.vue?9c0d","webpack:///./src/components/dashboards/Widgets/projectInfoWidget.vue","webpack:///src/components/dashboards/Widgets/projectInfoWidget.vue","webpack:///./src/components/dashboards/Widgets/projectInfoWidget.vue?ae65","webpack:///./src/components/dashboards/Widgets/projectInfoWidget.vue?56d7","webpack:///./src/components/dashboards/Widgets/measurementPointMapWidget.vue","webpack:///src/components/dashboards/Widgets/measurementPointMapWidget.vue","webpack:///./src/components/dashboards/Widgets/measurementPointMapWidget.vue?c4c4","webpack:///./src/components/dashboards/Widgets/measurementPointMapWidget.vue?4e17","webpack:///./src/components/dashboards/Widgets/groundWaterInfoWidget.vue","webpack:///src/components/dashboards/Widgets/groundWaterInfoWidget.vue","webpack:///./src/components/dashboards/Widgets/groundWaterInfoWidget.vue?486c","webpack:///./src/components/dashboards/Widgets/groundWaterInfoWidget.vue?06ef","webpack:///./src/components/dashboards/Widgets/concernedContactsWidget.vue","webpack:///src/components/dashboards/Widgets/concernedContactsWidget.vue","webpack:///./src/components/dashboards/Widgets/concernedContactsWidget.vue?378b","webpack:///./src/components/dashboards/Widgets/concernedContactsWidget.vue?1365","webpack:///./src/components/dashboards/Widgets/projectParticipantsWidget.vue","webpack:///src/components/dashboards/Widgets/projectParticipantsWidget.vue","webpack:///./src/components/dashboards/Widgets/projectParticipantsWidget.vue?d25d","webpack:///./src/components/dashboards/Widgets/projectParticipantsWidget.vue?90e6","webpack:///./src/components/dashboards/Widgets/todoListWidget.vue","webpack:///src/components/dashboards/Widgets/todoListWidget.vue","webpack:///./src/components/dashboards/Widgets/todoListWidget.vue?69f8","webpack:///./src/components/dashboards/Widgets/todoListWidget.vue?0bff","webpack:///./src/components/dashboards/Widgets/locationVisitsWidget.vue","webpack:///src/components/dashboards/Widgets/locationVisitsWidget.vue","webpack:///./src/components/dashboards/Widgets/locationVisitsWidget.vue?ce37","webpack:///./src/components/dashboards/Widgets/locationVisitsWidget.vue?5df6","webpack:///./src/components/dashboards/Widgets/groundAirInfoWidget.vue","webpack:///src/components/dashboards/Widgets/groundAirInfoWidget.vue","webpack:///./src/components/dashboards/Widgets/groundAirInfoWidget.vue?bbbd","webpack:///./src/components/dashboards/Widgets/groundAirInfoWidget.vue?4ba2","webpack:///./src/components/dashboards/Widgets/soilInfoWidget.vue","webpack:///src/components/dashboards/Widgets/soilInfoWidget.vue","webpack:///./src/components/dashboards/Widgets/soilInfoWidget.vue?0289","webpack:///./src/components/dashboards/Widgets/soilInfoWidget.vue?7bc2","webpack:///./src/components/dashboards/Widgets/surfaceSampleInfoWidget.vue","webpack:///src/components/dashboards/Widgets/surfaceSampleInfoWidget.vue","webpack:///./src/components/dashboards/Widgets/surfaceSampleInfoWidget.vue?855a","webpack:///./src/components/dashboards/Widgets/surfaceSampleInfoWidget.vue?6a41","webpack:///./src/components/dashboards/Widgets/labAssignmentsInfoWidget.vue","webpack:///src/components/dashboards/Widgets/labAssignmentsInfoWidget.vue","webpack:///./src/components/dashboards/Widgets/labAssignmentsInfoWidget.vue?a074","webpack:///./src/components/dashboards/Widgets/labAssignmentsInfoWidget.vue?deb4","webpack:///./src/components/dashboards/Widgets/index.js","webpack:///src/components/dashboards/WidgetMenu.vue","webpack:///./src/components/dashboards/WidgetMenu.vue?6ef0","webpack:///./src/components/dashboards/WidgetMenu.vue?7e95","webpack:///./src/components/dashboards/Widget.vue","webpack:///src/components/dashboards/Widget.vue","webpack:///./src/components/dashboards/Widget.vue?db0e","webpack:///./src/components/dashboards/Widget.vue?ddec","webpack:///./src/components/dashboards/modals/addDashboard.vue","webpack:///src/components/dashboards/modals/addDashboard.vue","webpack:///./src/components/dashboards/modals/addDashboard.vue?3470","webpack:///./src/components/dashboards/modals/addDashboard.vue?f0d7","webpack:///./src/components/dashboards/modals/deleteDashboard.vue","webpack:///src/components/dashboards/modals/deleteDashboard.vue","webpack:///./src/components/dashboards/modals/deleteDashboard.vue?c687","webpack:///./src/components/dashboards/modals/deleteDashboard.vue?c8e0","webpack:///./src/components/dashboards/modals/renameDashboard.vue","webpack:///src/components/dashboards/modals/renameDashboard.vue","webpack:///./src/components/dashboards/modals/renameDashboard.vue?6ce9","webpack:///./src/components/dashboards/modals/renameDashboard.vue?fa7c","webpack:///./src/components/dashboards/modals/deleteAllWidgets.vue","webpack:///src/components/dashboards/modals/deleteAllWidgets.vue","webpack:///./src/components/dashboards/modals/deleteAllWidgets.vue?9037","webpack:///./src/components/dashboards/modals/deleteAllWidgets.vue?e6de","webpack:///src/views/DashboardView.vue","webpack:///./src/views/DashboardView.vue?7299","webpack:///./src/views/DashboardView.vue?6429","webpack:///./node_modules/ol/style/RegularShape.js","webpack:///./node_modules/ol/style/Circle.js","webpack:///./node_modules/ol/style/Style.js","webpack:///./node_modules/ol/style/IconImage.js","webpack:///./node_modules/ol/style/Icon.js","webpack:///./src/components/dashboards/Widgets/measurementPointMapWidget.vue?72ca","webpack:///./src/components/modal/concernedContactModal.vue?26eb","webpack:///./src/components/modalSelects/copyMoveSettingsDialog.vue","webpack:///src/components/modalSelects/copyMoveSettingsDialog.vue","webpack:///./src/components/modalSelects/copyMoveSettingsDialog.vue?3274","webpack:///./src/components/modalSelects/copyMoveSettingsDialog.vue?4e47","webpack:///./node_modules/ol/MapEvent.js","webpack:///./src/components/dynamicTables/tables/waterSamplesTable.vue?4a46","webpack:///./src/components/_shared/search.vue","webpack:///src/components/_shared/search.vue","webpack:///./src/components/_shared/search.vue?a19a","webpack:///./src/components/_shared/search.vue?66dc","webpack:///./node_modules/ol/tilegrid/TileGrid.js","webpack:///./src/components/dashboards/Widgets/projectParticipantsWidget.vue?fa76","webpack:///./node_modules/ol/geom/LineString.js","webpack:///./src/components/dynamicTables/tables/locationVisitsTable.vue?018c","webpack:///./node_modules/devextreme-vue/tree-list.js","webpack:///./node_modules/ol/ImageTile.js","webpack:///./src/components/dashboards/images/location-visits.png","webpack:///./node_modules/ol/style/Text.js","webpack:///./node_modules/ol/style/IconAnchorUnits.js","webpack:///./node_modules/ol/style/Fill.js","webpack:///./src/components/dashboards/Widgets/widgetSettings/settingsWaterSamplesWidget.vue?61e8","webpack:///./node_modules/ol/style/Stroke.js","webpack:///./node_modules/ol/ImageState.js","webpack:///./src/components/modal/confirmDeleteModal.vue","webpack:///src/components/modal/confirmDeleteModal.vue","webpack:///./src/components/modal/confirmDeleteModal.vue?2b52","webpack:///./src/components/modal/confirmDeleteModal.vue?1055","webpack:///./node_modules/ol/geom/flat/center.js","webpack:///./node_modules/ol/geom/MultiPolygon.js","webpack:///./node_modules/gridstack/dist/dd-touch.js","webpack:///./node_modules/ol/rotationconstraint.js","webpack:///./node_modules/devextreme/esm/ui/switch.js","webpack:///./node_modules/ol/structs/LRUCache.js","webpack:///./node_modules/ol/TileCache.js","webpack:///./node_modules/ol/source/TileEventType.js","webpack:///./node_modules/ol/source/Tile.js","webpack:///./node_modules/ol/source/UrlTile.js","webpack:///./node_modules/ol/source/TileImage.js","webpack:///./src/components/dashboards/Dashboard404.vue?dd54","webpack:///./src/components/table-overviews/groundWaterDataTableOverview.vue","webpack:///src/components/table-overviews/groundWaterDataTableOverview.vue","webpack:///./src/components/table-overviews/groundWaterDataTableOverview.vue?6a04","webpack:///./src/components/table-overviews/groundWaterDataTableOverview.vue?058e","webpack:///./src/components/dashboards/images/bar-chart.png","webpack:///./src/components/dynamicTables/tables/locationVisitsTable.vue","webpack:///src/components/dynamicTables/tables/locationVisitsTable.vue","webpack:///./src/components/dynamicTables/tables/locationVisitsTable.vue?6001","webpack:///./src/components/dynamicTables/tables/locationVisitsTable.vue?a9e9","webpack:///./node_modules/ol/geom/flat/closest.js","webpack:///./node_modules/devextreme-vue/switch.js","webpack:///./node_modules/ol/geom/MultiPoint.js","webpack:///./src/components/dashboards/Widgets/concernedContactsWidget.vue?e881","webpack:///./node_modules/ol/tileurlfunction.js","webpack:///./node_modules/ol/control/ScaleLine.js","webpack:///./node_modules/gridstack/dist/dd-base-impl.js","webpack:///./src/components/dynamicTables/tables/measurementObjectsSelectTable.vue","webpack:///src/components/dynamicTables/tables/measurementObjectsSelectTable.vue","webpack:///./src/components/dynamicTables/tables/measurementObjectsSelectTable.vue?07ee","webpack:///./src/components/dynamicTables/tables/measurementObjectsSelectTable.vue?67bc","webpack:///./src/components/dynamicTables/tables/measurementObjectsTable.vue","webpack:///./src/components/dynamicTables/tables/createWaterSamplesDialog.vue","webpack:///src/components/dynamicTables/tables/createWaterSamplesDialog.vue","webpack:///./src/components/dynamicTables/tables/createWaterSamplesDialog.vue?00fa","webpack:///./src/components/dynamicTables/tables/createWaterSamplesDialog.vue?f777","webpack:///src/components/dynamicTables/tables/measurementObjectsTable.vue","webpack:///./src/components/dynamicTables/tables/measurementObjectsTable.vue?ff35","webpack:///./src/components/dynamicTables/tables/measurementObjectsTable.vue?2f7a","webpack:///./src/components/dynamicTables/tables/gaugingTubesTable.vue","webpack:///src/components/dynamicTables/tables/gaugingTubesTable.vue","webpack:///./src/components/dynamicTables/tables/gaugingTubesTable.vue?ccf9","webpack:///./src/components/dynamicTables/tables/gaugingTubesTable.vue?24ae","webpack:///./src/components/dynamicTables/tables/finishingsTable.vue","webpack:///src/components/dynamicTables/tables/finishingsTable.vue","webpack:///./src/components/dynamicTables/tables/finishingsTable.vue?3fac","webpack:///./src/components/dynamicTables/tables/finishingsTable.vue?0e89","webpack:///./src/components/dynamicTables/tables/airSamplesTable.vue","webpack:///./src/components/dynamicTables/tables/transferSamplesDialog.vue","webpack:///src/components/dynamicTables/tables/transferSamplesDialog.vue","webpack:///./src/components/dynamicTables/tables/transferSamplesDialog.vue?12e5","webpack:///./src/components/dynamicTables/tables/transferSamplesDialog.vue?5a4c","webpack:///src/components/dynamicTables/tables/airSamplesTable.vue","webpack:///./src/components/dynamicTables/tables/airSamplesTable.vue?2a4b","webpack:///./src/components/dynamicTables/tables/airSamplesTable.vue?2547","webpack:///./src/components/dynamicTables/tables/packagingsTable.vue","webpack:///src/components/dynamicTables/tables/packagingsTable.vue","webpack:///./src/components/dynamicTables/tables/packagingsTable.vue?ca5e","webpack:///./src/components/dynamicTables/tables/packagingsTable.vue?b6d9","webpack:///./src/components/dynamicTables/tables/waterSamplesTable.vue","webpack:///src/components/dynamicTables/tables/waterSamplesTable.vue","webpack:///./src/components/dynamicTables/tables/waterSamplesTable.vue?a588","webpack:///./src/components/dynamicTables/tables/waterSamplesTable.vue?2ad9","webpack:///./src/components/dynamicTables/tables/bottlesTable.vue","webpack:///src/components/dynamicTables/tables/bottlesTable.vue","webpack:///./src/components/dynamicTables/tables/bottlesTable.vue?be44","webpack:///./src/components/dynamicTables/tables/bottlesTable.vue?643a","webpack:///./src/components/dynamicTables/tables/projectDetailsTable.vue","webpack:///src/components/dynamicTables/tables/baseProjectTable.vue","webpack:///./src/components/dynamicTables/tables/baseProjectTable.vue","webpack:///./src/components/dynamicTables/tables/baseProjectTable.vue?ae78","webpack:///src/components/dynamicTables/tables/projectDetailsTable.vue","webpack:///./src/components/dynamicTables/tables/projectDetailsTable.vue?ecb1","webpack:///./src/components/dynamicTables/tables/projectDetailsTable.vue?c97d","webpack:///./src/components/dynamicTables/tables/summariesAndConclusionsTable.vue","webpack:///src/components/dynamicTables/tables/summariesAndConclusionsTable.vue","webpack:///./src/components/dynamicTables/tables/summariesAndConclusionsTable.vue?7aa2","webpack:///./src/components/dynamicTables/tables/summariesAndConclusionsTable.vue?16bd","webpack:///./src/components/dynamicTables/tables/subLocationsTable.vue","webpack:///src/components/dynamicTables/tables/subLocationsTable.vue","webpack:///./src/components/dynamicTables/tables/subLocationsTable.vue?5393","webpack:///./src/components/dynamicTables/tables/subLocationsTable.vue?825d","webpack:///./src/components/dynamicTables/tables/labAssignmentsTable.vue","webpack:///src/components/dynamicTables/tables/labAssignmentsTable.vue","webpack:///./src/components/dynamicTables/tables/labAssignmentsTable.vue?af53","webpack:///./src/components/dynamicTables/tables/labAssignmentsTable.vue?db5c","webpack:///./src/components/dynamicTables/tables/fieldSamplesTable.vue","webpack:///src/components/dynamicTables/tables/fieldSamplesTable.vue","webpack:///./src/components/dynamicTables/tables/fieldSamplesTable.vue?f1dd","webpack:///./src/components/dynamicTables/tables/fieldSamplesTable.vue?bba0","webpack:///./src/components/dynamicTables/tables/layersTable.vue","webpack:///./src/utils/medianUtils.js","webpack:///src/components/dynamicTables/tables/layersTable.vue","webpack:///./src/components/dynamicTables/tables/layersTable.vue?66d2","webpack:///./src/components/dynamicTables/tables/layersTable.vue?22cf","webpack:///./src/components/dashboards/Widgets/locationVisitsWidget.vue?e001","webpack:///./node_modules/gridstack/dist/dd-element.js","webpack:///./node_modules/color-convert/route.js","webpack:///./node_modules/ol/ViewProperty.js","webpack:///./node_modules/ol/centerconstraint.js","webpack:///./node_modules/ol/resolutionconstraint.js","webpack:///./node_modules/ol/View.js","webpack:///./src/components/_shared/tiDialog.vue?2c67","webpack:///./src/business/libs/labassignments.js","webpack:///./src/components/dashboards/images/project-info.png","webpack:///./src/components/dynamicTables/TerraIndexDynamicTable.vue","webpack:///./src/components/modalSelects/MultiEditDialog.vue","webpack:///src/components/modalSelects/MultiEditDialog.vue","webpack:///./src/components/modalSelects/MultiEditDialog.vue?6d09","webpack:///./src/components/modalSelects/MultiEditDialog.vue?8384","webpack:///src/components/dynamicTables/TerraIndexDynamicTable.vue","webpack:///./src/components/dynamicTables/TerraIndexDynamicTable.vue?710a","webpack:///./src/components/dynamicTables/TerraIndexDynamicTable.vue?3fed","webpack:///./node_modules/ol/reproj/common.js","webpack:///./src/components/dashboards/Widgets/labAssignmentsInfoWidget.vue?717e","webpack:///./node_modules/ol/style/Image.js","webpack:///./node_modules/ol/geom/Circle.js","webpack:///./node_modules/ol/interaction/Draw.js","webpack:///./node_modules/ol/TileState.js","webpack:///./src/components/table-overviews/groundAirTableOverview.vue","webpack:///src/components/table-overviews/groundAirTableOverview.vue","webpack:///./src/components/table-overviews/groundAirTableOverview.vue?bf97","webpack:///./src/components/table-overviews/groundAirTableOverview.vue?193b","webpack:///./node_modules/gridstack/dist/utils.js","webpack:///./node_modules/ol/geom/flat/interpolate.js","webpack:///./src/assets/svg/element-404.svg","webpack:///./node_modules/ol/geom/flat/area.js","webpack:///./node_modules/color-convert/conversions.js","webpack:///./node_modules/color-convert/index.js","webpack:///./node_modules/ol/geom/flat/inflate.js","webpack:///./src/components/table-overviews/allLabAssignmentsOverview.vue?1ca3","webpack:///./node_modules/gridstack/dist/dd-manager.js","webpack:///./node_modules/ol/interaction/Property.js","webpack:///./node_modules/underscore/modules/restArguments.js","webpack:///./node_modules/underscore/modules/isObject.js","webpack:///./node_modules/underscore/modules/isNull.js","webpack:///./node_modules/underscore/modules/isUndefined.js","webpack:///./node_modules/underscore/modules/isBoolean.js","webpack:///./node_modules/underscore/modules/isElement.js","webpack:///./node_modules/underscore/modules/_tagTester.js","webpack:///./node_modules/underscore/modules/isString.js","webpack:///./node_modules/underscore/modules/isNumber.js","webpack:///./node_modules/underscore/modules/isDate.js","webpack:///./node_modules/underscore/modules/isRegExp.js","webpack:///./node_modules/underscore/modules/isError.js","webpack:///./node_modules/underscore/modules/isSymbol.js","webpack:///./node_modules/underscore/modules/isArrayBuffer.js","webpack:///./node_modules/underscore/modules/isFunction.js","webpack:///./node_modules/underscore/modules/_hasObjectTag.js","webpack:///./node_modules/underscore/modules/_stringTagBug.js","webpack:///./node_modules/underscore/modules/isDataView.js","webpack:///./node_modules/underscore/modules/isArray.js","webpack:///./node_modules/underscore/modules/_has.js","webpack:///./node_modules/underscore/modules/isArguments.js","webpack:///./node_modules/underscore/modules/isFinite.js","webpack:///./node_modules/underscore/modules/isNaN.js","webpack:///./node_modules/underscore/modules/constant.js","webpack:///./node_modules/underscore/modules/_createSizePropertyCheck.js","webpack:///./node_modules/underscore/modules/_shallowProperty.js","webpack:///./node_modules/underscore/modules/_getByteLength.js","webpack:///./node_modules/underscore/modules/_isBufferLike.js","webpack:///./node_modules/underscore/modules/isTypedArray.js","webpack:///./node_modules/underscore/modules/_getLength.js","webpack:///./node_modules/underscore/modules/_collectNonEnumProps.js","webpack:///./node_modules/underscore/modules/keys.js","webpack:///./node_modules/underscore/modules/isEmpty.js","webpack:///./node_modules/underscore/modules/isMatch.js","webpack:///./node_modules/underscore/modules/underscore.js","webpack:///./node_modules/underscore/modules/_toBufferView.js","webpack:///./node_modules/underscore/modules/isEqual.js","webpack:///./node_modules/underscore/modules/allKeys.js","webpack:///./node_modules/underscore/modules/_methodFingerprint.js","webpack:///./node_modules/underscore/modules/isMap.js","webpack:///./node_modules/underscore/modules/isWeakMap.js","webpack:///./node_modules/underscore/modules/isSet.js","webpack:///./node_modules/underscore/modules/isWeakSet.js","webpack:///./node_modules/underscore/modules/values.js","webpack:///./node_modules/underscore/modules/pairs.js","webpack:///./node_modules/underscore/modules/invert.js","webpack:///./node_modules/underscore/modules/functions.js","webpack:///./node_modules/underscore/modules/_createAssigner.js","webpack:///./node_modules/underscore/modules/extend.js","webpack:///./node_modules/underscore/modules/extendOwn.js","webpack:///./node_modules/underscore/modules/defaults.js","webpack:///./node_modules/underscore/modules/_baseCreate.js","webpack:///./node_modules/underscore/modules/create.js","webpack:///./node_modules/underscore/modules/clone.js","webpack:///./node_modules/underscore/modules/tap.js","webpack:///./node_modules/underscore/modules/toPath.js","webpack:///./node_modules/underscore/modules/_toPath.js","webpack:///./node_modules/underscore/modules/_deepGet.js","webpack:///./node_modules/underscore/modules/get.js","webpack:///./node_modules/underscore/modules/has.js","webpack:///./node_modules/underscore/modules/identity.js","webpack:///./node_modules/underscore/modules/matcher.js","webpack:///./node_modules/underscore/modules/property.js","webpack:///./node_modules/underscore/modules/_optimizeCb.js","webpack:///./node_modules/underscore/modules/_baseIteratee.js","webpack:///./node_modules/underscore/modules/iteratee.js","webpack:///./node_modules/underscore/modules/_cb.js","webpack:///./node_modules/underscore/modules/mapObject.js","webpack:///./node_modules/underscore/modules/noop.js","webpack:///./node_modules/underscore/modules/propertyOf.js","webpack:///./node_modules/underscore/modules/times.js","webpack:///./node_modules/underscore/modules/random.js","webpack:///./node_modules/underscore/modules/now.js","webpack:///./node_modules/underscore/modules/_createEscaper.js","webpack:///./node_modules/underscore/modules/_escapeMap.js","webpack:///./node_modules/underscore/modules/escape.js","webpack:///./node_modules/underscore/modules/_unescapeMap.js","webpack:///./node_modules/underscore/modules/unescape.js","webpack:///./node_modules/underscore/modules/templateSettings.js","webpack:///./node_modules/underscore/modules/template.js","webpack:///./node_modules/underscore/modules/result.js","webpack:///./node_modules/underscore/modules/uniqueId.js","webpack:///./node_modules/underscore/modules/chain.js","webpack:///./node_modules/underscore/modules/_executeBound.js","webpack:///./node_modules/underscore/modules/partial.js","webpack:///./node_modules/underscore/modules/bind.js","webpack:///./node_modules/underscore/modules/_isArrayLike.js","webpack:///./node_modules/underscore/modules/_flatten.js","webpack:///./node_modules/underscore/modules/bindAll.js","webpack:///./node_modules/underscore/modules/memoize.js","webpack:///./node_modules/underscore/modules/delay.js","webpack:///./node_modules/underscore/modules/defer.js","webpack:///./node_modules/underscore/modules/throttle.js","webpack:///./node_modules/underscore/modules/debounce.js","webpack:///./node_modules/underscore/modules/wrap.js","webpack:///./node_modules/underscore/modules/negate.js","webpack:///./node_modules/underscore/modules/compose.js","webpack:///./node_modules/underscore/modules/after.js","webpack:///./node_modules/underscore/modules/before.js","webpack:///./node_modules/underscore/modules/once.js","webpack:///./node_modules/underscore/modules/findKey.js","webpack:///./node_modules/underscore/modules/_createPredicateIndexFinder.js","webpack:///./node_modules/underscore/modules/findIndex.js","webpack:///./node_modules/underscore/modules/findLastIndex.js","webpack:///./node_modules/underscore/modules/sortedIndex.js","webpack:///./node_modules/underscore/modules/_createIndexFinder.js","webpack:///./node_modules/underscore/modules/indexOf.js","webpack:///./node_modules/underscore/modules/lastIndexOf.js","webpack:///./node_modules/underscore/modules/find.js","webpack:///./node_modules/underscore/modules/findWhere.js","webpack:///./node_modules/underscore/modules/each.js","webpack:///./node_modules/underscore/modules/map.js","webpack:///./node_modules/underscore/modules/_createReduce.js","webpack:///./node_modules/underscore/modules/reduce.js","webpack:///./node_modules/underscore/modules/reduceRight.js","webpack:///./node_modules/underscore/modules/filter.js","webpack:///./node_modules/underscore/modules/reject.js","webpack:///./node_modules/underscore/modules/every.js","webpack:///./node_modules/underscore/modules/some.js","webpack:///./node_modules/underscore/modules/contains.js","webpack:///./node_modules/underscore/modules/invoke.js","webpack:///./node_modules/underscore/modules/pluck.js","webpack:///./node_modules/underscore/modules/where.js","webpack:///./node_modules/underscore/modules/max.js","webpack:///./node_modules/underscore/modules/min.js","webpack:///./node_modules/underscore/modules/toArray.js","webpack:///./node_modules/underscore/modules/sample.js","webpack:///./node_modules/underscore/modules/shuffle.js","webpack:///./node_modules/underscore/modules/sortBy.js","webpack:///./node_modules/underscore/modules/_group.js","webpack:///./node_modules/underscore/modules/groupBy.js","webpack:///./node_modules/underscore/modules/indexBy.js","webpack:///./node_modules/underscore/modules/countBy.js","webpack:///./node_modules/underscore/modules/partition.js","webpack:///./node_modules/underscore/modules/size.js","webpack:///./node_modules/underscore/modules/_keyInObj.js","webpack:///./node_modules/underscore/modules/pick.js","webpack:///./node_modules/underscore/modules/omit.js","webpack:///./node_modules/underscore/modules/initial.js","webpack:///./node_modules/underscore/modules/first.js","webpack:///./node_modules/underscore/modules/rest.js","webpack:///./node_modules/underscore/modules/last.js","webpack:///./node_modules/underscore/modules/compact.js","webpack:///./node_modules/underscore/modules/flatten.js","webpack:///./node_modules/underscore/modules/difference.js","webpack:///./node_modules/underscore/modules/without.js","webpack:///./node_modules/underscore/modules/uniq.js","webpack:///./node_modules/underscore/modules/union.js","webpack:///./node_modules/underscore/modules/intersection.js","webpack:///./node_modules/underscore/modules/unzip.js","webpack:///./node_modules/underscore/modules/zip.js","webpack:///./node_modules/underscore/modules/object.js","webpack:///./node_modules/underscore/modules/range.js","webpack:///./node_modules/underscore/modules/chunk.js","webpack:///./node_modules/underscore/modules/_chainResult.js","webpack:///./node_modules/underscore/modules/mixin.js","webpack:///./node_modules/underscore/modules/underscore-array-methods.js","webpack:///./node_modules/underscore/modules/index-default.js","webpack:///./src/components/openLayers/pencil.svg","webpack:///./node_modules/ol/geom/flat/intersectsextent.js","webpack:///./src/components/openLayers/contextMenu.vue?d1df","webpack:///./src/components/dashboards/images/project-participants.png","webpack:///./src/services/DataWS/projectsOverviewService.js","webpack:///./node_modules/ol/easing.js","webpack:///./node_modules/ol/css.js","webpack:///./src/components/dashboards/WidgetMenu.vue?6248","webpack:///./node_modules/ol/interaction/Translate.js","webpack:///./node_modules/ol/source/OSM.js","webpack:///./node_modules/ol/style/IconOrigin.js","webpack:///./src/components/table-overviews/groundAirTableOverview.vue?eff5","webpack:///./src/components/dashboards/modals/renameDashboard.vue?7f67","webpack:///./node_modules/gridstack/dist/gridstack-engine.js","webpack:///./node_modules/ol/TileRange.js","webpack:///./node_modules/ol/render/canvas.js","webpack:///./src/components/dashboards/images/map-info.png","webpack:///./node_modules/ol/layer/Property.js","webpack:///./node_modules/ol/Collection.js","webpack:///./node_modules/ol/net.js","webpack:///./node_modules/ol/MapProperty.js","webpack:///./src/components/dynamicTables/tables/airSamplesTable.vue?a4e6","webpack:///./node_modules/devextreme/esm/localization/language_codes.js","webpack:///./node_modules/devextreme/esm/exporter/exceljs/export_format.js","webpack:///./node_modules/devextreme/esm/ui/grid_core/ui.grid_core.utils.js","webpack:///./node_modules/devextreme/esm/exporter/common/export_load_panel.js","webpack:///./node_modules/devextreme/esm/exporter/exceljs/export.js","webpack:///./node_modules/devextreme/esm/exporter/exceljs/export_merged_ranges_manager.js","webpack:///./node_modules/devextreme/esm/exporter/exceljs/export_data_grid.js","webpack:///./node_modules/exceljs/dist/exceljs.min.js","webpack:///./node_modules/devextreme-vue/date-box.js","webpack:///./node_modules/ol/colorlike.js","webpack:///./node_modules/gridstack/dist/dd-gridstack.js","webpack:///./node_modules/gridstack/dist/dd-draggable.js","webpack:///./src/components/modal/concernedContactModal.vue?0344","webpack:///./node_modules/gridstack/dist/dd-droppable.js","webpack:///./src/components/dashboards/Widgets/projectInfoWidget.vue?8fe9","webpack:///./src/components/dynamicTables/tables/measurementObjectsTable.vue?4d9a","webpack:///./node_modules/gridstack/dist/gridstack.js","webpack:///./src/bus.js","webpack:///./src/components/table-overviews/soilDataTableOverview.vue?e328","webpack:///./node_modules/gridstack/dist/types.js","webpack:///./node_modules/ol/geom/flat/segments.js","webpack:///./src/components/dashboards/images/todo-list.png","webpack:///./src/components/modal/userModal.vue","webpack:///src/components/modal/userModal.vue","webpack:///./src/components/modal/userModal.vue?4146","webpack:///./src/components/modal/userModal.vue?8bdd","webpack:///./node_modules/ol/source/Source.js"],"names":["render","_vm","this","_c","_self","attrs","tableData","$t","tableIdentifier","createTableRowAction","updateTableRowAction","deleteTableRowAction","tableColumns","tableName","settingName","language","exportSettings","searchPanelEnabled","isValidRequest","on","refreshTableData","add","newConcernedContactCallback","staticRenderFns","_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","TiPopup","Popup","Config","platform","default","components","TerraIndexDynamicTable","ConcernedContactModal","data","tableNameForExport","dateLastChangedField","templateName","template","created","getTableColumns","props","projectId","String","required","projectCode","enableCreateTableRowAction","enableDeleteTableRowAction","enableUpdateTableRowAction","enableExportSettings","watch","deep","immediate","handler","_handler","_callee","_context","computed","active","showConcernedContactModal","override","updateTableRow","deleteTableRow","Cookie","get","enabled","fileName","concat","isProjectIdSet","stringUtils","isNullOrEmptyOrWhitespace","methods","_this","_callee2","_context2","$","modal","trigger","t0","handleErrorResponse","concernedContact","_this2","_callee3","concernedContacts","_context3","PrID","DataTableUtils","GenerateLastUpdatedAt","$store","dispatch","_this3","_callee4","_context4","CcGUID","row","_this4","_callee5","_objectSpread2","_context5","_objectSpread","t1","t2","t3","_defineProperty","t4","t5","t6","t7","t8","_this5","_callee6","_context6","getTableData","clearTableData","_this6","_callee7","_context7","_this7","_callee8","response","_context8","tblConcernedCompanies","_this8","_callee9","_context9","templateData","GuiTemplateParser","parseTemplate","_arguments","_this9","_callee10","errorMessage","_context10","console","log","popup","component","DEFAULT_MAX_ZOOM","DEFAULT_TILE_SIZE","__importDefault","mod","__esModule","DxToolbarItem","DxTo","DxShow","DxPosition","DxOptions","DxOffset","DxMy","DxItem","DxHide","DxFrom","DxDropDownOptions","DxCollision","DxButton","DxBoundaryOffset","DxAt","DxAnimation","DxSelectBox","select_box_1","index_1","index_2","createComponent","acceptCustomValue","Boolean","accessKey","activeStateEnabled","buttons","Array","customItemCreateEvent","dataSource","deferRendering","disabled","displayExpr","Function","displayValue","dropDownButtonTemplate","dropDownOptions","elementAttr","fieldTemplate","focusStateEnabled","grouped","groupTemplate","height","Number","hint","hoverStateEnabled","inputAttr","isValid","items","itemTemplate","label","labelMode","maxLength","minSearchLength","noDataText","onChange","onClosed","onContentReady","onCopy","onCustomItemCreating","onCut","onDisposing","onEnterKey","onFocusIn","onFocusOut","onInitialized","onInput","onItemClick","onKeyDown","onKeyUp","onOpened","onOptionChanged","onPaste","onSelectionChanged","onValueChanged","opened","openOnFieldClick","placeholder","readOnly","rtlEnabled","searchEnabled","searchExpr","searchMode","searchTimeout","selectedItem","showClearButton","showDataBeforeSearch","showDropDownButton","showSelectionControls","spellcheck","stylingMode","tabIndex","text","useItemTextAsTitle","validationError","validationErrors","validationMessageMode","validationMessagePosition","validationStatus","valueChangeEvent","valueExpr","visible","width","wrapItemText","emits","model","prop","event","instance","$_instance","beforeCreate","$_WidgetClass","$_hasAsyncTemplate","$_expectedChildren","button","isCollectionItem","optionName","item","createConfigurationComponent","hide","show","$_optionName","x","y","location","options","$_isCollectionItem","animation","bindingOptions","closeOnOutsideClick","container","contentTemplate","copyRootClassesToWrapper","dragAndResizeArea","dragEnabled","dragOutsideBoundary","enableBodyScroll","fullScreen","hideOnOutsideClick","hideOnParentScroll","maxHeight","maxWidth","minHeight","minWidth","onHidden","onHiding","onResize","onResizeEnd","onResizeStart","onShowing","onShown","onTitleRendered","position","resizeEnabled","restorePosition","shading","shadingColor","showCloseButton","showTitle","title","titleTemplate","toolbarItems","wrapperAttr","toolbarItem","left","opacity","scale","top","delay","direction","duration","easing","from","staggerDelay","start","to","html","icon","onClick","useSubmitBehavior","validationGroup","at","boundary","boundaryOffset","collision","my","of","offset","cssClass","locateInMenu","menuItemTemplate","showText","toolbar","widget","staticClass","$route","params","enableColumnChooser","onUpdateMeasurementObject","measurementObject","MeasurementObjectsSelectTable","FieldSamplesTable","LayersTable","setCurrentProject","project","currentProject","PrCode","all","var_args","conditions","pass","ii","altShiftKeysOnly","mapBrowserEvent","originalEvent","altKey","metaKey","ctrlKey","shiftKey","focus","targetElement","map","getTargetElement","activeElement","getOwnerDocument","contains","focusWithTabindex","hasAttribute","always","click","CLICK","mouseActionButton","never","singleClick","SINGLECLICK","noModifierKeys","shiftKeyOnly","targetNotEditable","tagName","target","isContentEditable","mouseOnly","pointerEvent","pointerType","primaryAction","isPrimary","PRERENDER","POSTRENDER","PRECOMPOSE","POSTCOMPOSE","RENDERCOMPLETE","getForProjection","projection","tileGrid","getDefaultTileGrid","createForProjection","setDefaultTileGrid","wrapX","tileCoord","z","center","getTileCoordCenter","projectionExtent","extentFromProjection","worldWidth","worldsAway","Math","ceil","getTileCoordForCoordAndZ","createForExtent","extent","opt_maxZoom","opt_tileSize","opt_corner","corner","resolutions","resolutionsFromExtent","origin","tileSize","createXYZ","opt_options","xyzOptions","getExtent","gridOptions","minZoom","maxZoom","maxResolution","opt_maxResolution","max","pow","half","DEGREES","getMetersPerUnit","createCanvasContext2D","opt_width","opt_height","opt_canvasPool","opt_Context2DSettings","canvas","shift","OffscreenCanvas","document","createElement","getContext","releaseCanvas","clearRect","replaceNode","newNode","oldNode","parent","parentNode","replaceChild","removeNode","node","removeChild","removeChildren","lastChild","replaceChildren","children","oldChildren","childNodes","oldChild","newChild","insertBefore","appendChild","getInteriorPointOfArray","flatCoordinates","ends","stride","flatCenters","flatCentersOffset","opt_dest","x1","x2","y1","y2","intersections","r","rr","end","pointX","NaN","maxSegmentLength","Infinity","sort","segmentLength","abs","getInteriorPointsOfMultiArray","endss","interiorPoints","IMAGE_SMOOTHING_DISABLED","imageSmoothingEnabled","msImageSmoothingEnabled","IMAGE_SMOOTHING_ENABLED","DBLCLICK","POINTERDRAG","POINTERMOVE","POINTERDOWN","POINTERUP","POINTEROVER","POINTEROUT","POINTERENTER","POINTERLEAVE","POINTERCANCEL","__extends","extendStatics","d","b","p","__","_super","LayerRenderer","layer","ready","boundHandleImageChange_","handleImageChange_","bind","layer_","declutterExecutorGroup","getFeatures","pixel","getData","prepareFrame","frameState","renderFrame","loadedTileCallback","tiles","zoom","tile","toString","createLoadedTileFinder","source","tileRange","callback","forEachLoadedTile","forEachFeatureAtCoordinate","coordinate","hitTolerance","matches","getDataAtPixel","getLayer","handleFontsChanged","image","getState","ImageState","LOADED","renderIfReadyAndVisible","loadImage","imageState","ERROR","addEventListener","EventType","CHANGE","IDLE","load","getVisible","getSourceState","changed","disposeInternal","Observable","Layer","canvasPool","createPixelContext","CanvasLayerRenderer","renderedResolution","tempTransform","pixelTransform","inversePixelTransform","containerReused","pixelContext_","getImageData","col","drawImage","getBackground","background","viewState","resolution","useContainer","transform","opt_backgroundColor","layerClassName","getClassName","className","style","backgroundColor","firstElementChild","HTMLCanvasElement","transformOrigin","clipUnrotated","topLeft","topRight","bottomRight","bottomLeft","coordinateToPixelTransform","inverted","save","beginPath","moveTo","round","lineTo","clip","dispatchRenderEvent_","hasListener","event_1","dispatchEvent","preRender","postRender","getRenderTransform","rotation","pixelRatio","offsetX","dx1","dy1","sx","sy","dx2","dy2","renderPixel","layerExtent","renderCoordinate","pixelToCoordinateTransform","pixelContext","pixelCanvas","Uint8Array","_v","_s","directives","rawName","currentConcernedContact","CcTypeConcerned","expression","$event","$$selectedVal","filter","o","selected","_value","$set","multiple","_l","concernedCompanyTypes","GcCode","domProps","GcDescription","validCcTypeConcerned","_e","errorMessageCcTypeConcerned","CcTypeFunctionContactPerson","contactPersonFunctions","CcCompanyName","composing","validCcCompanyName","errorMessageCcCompanyName","CcContactPerson","resultCount","class","query","concernedContactsDisplay","columns","select","scopedSlots","_u","findTextInListFromValue","loading","deleteConcernedContact","codeListService","CodeListService","concernedContactsService","ConcernedContactsService","nvLoading","headings","columnsClasses","filterable","perPageValues","perPage","customFilters","pagination","dropdown","initialized","updateConcernedContactsWithFilters","validate","mounted","init","arr","l","concernedContactDisplay","assign","CcContact","CcCompany","tasks","searchConcernedContacts","getCodeListByCategoryIDOrCode","window","_ref","_ref2","_slicedToArray","a","localeCompare","cc","parseConcernedContact","v","codeList","find","codeItem","$validateEditor","requiredBySystem","requiredByUser","reason","message","_ref3","functions","delete","_","debounce","getConcernedCompanyTypeByID","id","func","getContactPersonFunctionByID","concernedCompany","CcTypeConcernedDisplay","contactPersonFunction","CcTypeFunctionContactPersonDisplay","ADD","REMOVE","baseOptions","once","un","mapPrecomposeKey_","mapRenderKey_","sourceChangeKey_","renderer_","rendered","setMap","addChangeListener","SOURCE","handleSourcePropertyChange_","setSource","getLayersArray","opt_array","array","getLayerStatesArray","opt_states","states","getLayerState","getSource","getRenderSource","handleSourceChange_","layerRenderer","getRenderer","unrender","setMapInternal","set","MAP","getMapInternal","evt","renderEvent","layerStatesArray","layerState","some","arrayLayerState","createRenderer","hasRenderer","dispose","inView","minResolution","onExporting","onToolbarPreparing","onRowDoubleClick","tableTitle","proxy","staticStyle","fromDate","$$v","toDate","getClassNameForLabStatusCode","calculateCellValueForLbSikbLabCode","DxDataGrid","DxScrolling","DxColumn","DxGrouping","DxGroupPanel","DxSearchPanel","DxHeaderFilter","DxExport","DxDateBox","labAssignemtStatusCodeList","fieldMatrixCodes","dateRange","Date","setMonth","getMonth","cookie","loadMessages","nlDevExtremeLocale","frDevExtremeLocale","deDevExtremeLocale","esDevExtremeLocale","itDevExtremeLocale","locale","oldVal","labAssignmentData","labStatusCodeUtils","e","LbID","url","config","apps","labassignment","open","LbSikbLabCode","labAssignmentUtils","getCodeObjectFromCode","labCodeMap","description","categoryId","FromDate","toISOString","split","ToDate","setLabasignmentState","setFieldMatrix","toolbarOptions","unshift","sortIndex","LbIsSent","LbLabStatusCode","foundCode","labAssignemtStatusCode","matrix","AnMatrix","workbook","Workbook","worksheet","addWorksheet","exportDataGrid","xlsx","writeBuffer","buffer","saveAs","Blob","douglasPeucker","squaredTolerance","simplifiedFlatCoordinates","simplifiedOffset","n","markers","stack","index","last","first","maxSquaredDistance","squaredDistance_1","douglasPeuckerArray","simplifiedEnds","snap","tolerance","quantize","x3","y3","quantizeArray","quantizeMultiArray","simplifiedEndss","wrappedProjectId","UserModal","createTableRow","UserName","Enabled","_x","firstNameColumn","lastNameColumn","emailColumn","userNameColumn","TableColumn","autoBom","warn","test","c","XMLHttpRequest","responseType","onload","g","onerror","send","status","MouseEvent","createEvent","initMouseEvent","f","global","navigator","userAgent","HTMLAnchorElement","h","URL","webkitURL","j","download","rel","href","createObjectURL","setTimeout","revokeObjectURL","msSaveOrOpenBlob","body","innerText","HTMLElement","safari","FileReader","k","onloadend","replace","readAsDataURL","m","module","Attribution","element","ulElement_","collapsed_","collapsed","userCollapsed_","overrideCollapsible_","collapsible","collapsible_","tipLabel","expandClassName","collapseLabel","collapseClassName","collapseLabel_","textContent","label_","activeLabel","toggleButton_","setAttribute","handleClick_","cssClasses","renderedAttributions_","renderedVisible_","collectSourceAttributions_","lookup","visibleAttributions","attributionGetter","getAttributions","attributions","getAttributionsCollapsible","isArray","jj","setCollapsible","updateElement_","display","innerHTML","preventDefault","handleToggle_","classList","toggle","getCollapsible","setCollapsed","getCollapsed","mapEvent","Control","Rotate","compassClassName","callResetNorth_","resetNorth","duration_","autoHide_","autoHide","rotation_","resetNorth_","getMap","view","getView","getRotation","PI","animate","setRotation","remove","Zoom","delta","zoomInClassName","zoomOutClassName","zoomInLabel","zoomOutLabel","zoomInTipLabel","zoomOutTipLabel","inElement","createTextNode","outElement","zoomByDelta_","currentZoom","getZoom","newZoom","getConstrainedZoom","getAnimating","cancelAnimations","setZoom","defaults","controls","Collection","zoomControl","zoomOptions","rotateControl","rotate","rotateOptions","attributionControl","attribution","attributionOptions","t","s","exp","u","sqrt","floor","min","_maxEntries","_minEntries","clear","indexOf","minX","minY","maxX","maxY","leaf","_all","search","toBBox","collides","insert","_build","_splitRoot","_insert","splice","_condense","compareMinX","compareMinY","toJSON","fromJSON","_chooseSubtree","_split","_adjustParentBBoxes","_chooseSplitAxis","_chooseSplitIndex","M","_allDistMargin","linearRingContainsExtent","outside","linearRingContainsXY","wn","linearRingsContainsXY","linearRingssContainsXY","POINT","LINE","createOrUpdate","opt_tileCoord","getKeyZXY","getKey","fromKey","hash","withinExtentAndZ","getMinZoom","getMaxZoom","getFullTileRange","containsXY","SelectEventType","SELECT","SelectEvent","deselected","originalFeatureStyles","Select","layerFilter","boundAddFeature_","addFeature_","boundRemoveFeature_","removeFeature_","condition_","condition","addCondition_","addCondition","removeCondition_","removeCondition","toggleCondition_","toggleCondition","multi_","multi","filter_","hitTolerance_","style_","getDefaultStyleFunction","features_","features","layers","layers_1","layerFilter_","featureLayerAssociation_","addFeatureLayerAssociation_","feature","getHitTolerance","setHitTolerance","currentMap","restorePreviousStyle_","applySelectedStyle_","removeEventListener","getAllLayers","hasFeature","getStyle","setStyle","interactions","getInteractions","getArray","interaction","lastIndexOf","removeFeatureLayerAssociation_","handleEvent","forEachFeatureAtPixel","getLength","extend","styles","getGeometry","getType","XYZ","interpolate","imageSmoothing","cacheSize","crossOrigin","opaque","reprojectionErrorThreshold","tileLoadFunction","tilePixelRatio","tileUrlFunction","urls","transition","attributionsCollapsible","zDirection","gutter_","gutter","getGutter","MAX_SUBDIVISION","MAX_TRIANGLE_WIDTH","Triangulation","sourceProj","targetProj","targetExtent","maxSourceExtent","errorThreshold","opt_destinationResolution","sourceProj_","targetProj_","transformInvCache","transformInv","transformInv_","maxSourceExtent_","errorThresholdSquared_","triangles_","wrapsXInSource_","canWrapXInSource_","canWrapX","sourceWorldWidth_","targetWorldWidth_","destinationTopLeft","destinationTopRight","destinationBottomRight","destinationBottomLeft","sourceTopLeft","sourceTopRight","sourceBottomRight","sourceBottomLeft","maxSubdivision","addQuad_","leftBound_1","triangle","newTriangle","addTriangle_","aSrc","bSrc","cSrc","dSrc","sourceQuadExtent","sourceCoverageX","sourceWorldWidth","wrapsX","needsSubdivision","isGlobal","targetQuadExtent","targetCoverageX","isFinite","isNotFinite","centerSrc","dx","centerSrcEstimX","dy","centerSrcErrorSquared","bc","bcSrc","da","daSrc","ab","abSrc","cd","cdSrc","calculateSourceExtent","src","getTriangles","ReprojTile","sourceTileGrid","targetTileGrid","wrappedTileCoord","getTileFunction","opt_errorThreshold","opt_renderEdges","opt_interpolate","TileState","renderEdges_","pixelRatio_","canvas_","sourceTileGrid_","targetTileGrid_","wrappedTileCoord_","sourceTiles_","sourcesListenerKeys_","sourceZ_","getTileCoordExtent","maxTargetExtent","limitedTargetExtent","EMPTY","sourceProjExtent","targetResolution","getResolution","sourceResolution","errorThresholdInPixels","triangulation_","getZForResolution","sourceExtent","sourceRange","getTileRangeForExtentAndZ","srcX","srcY","getImage","reproject_","sources","size","getTileSize","LOADING","leftToLoad_1","sourceListenKey_1","unlistenSources_","release","Tile","VERSION","root","ArrayProto","ObjProto","SymbolProto","supportsArrayBuffer","ArrayBuffer","supportsDataView","DataView","nativeIsArray","nativeKeys","nativeCreate","nativeIsView","isView","_isNaN","_isFinite","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","MAX_ARRAY_INDEX","DDResizableHandle","dd_touch_1","host","option","moving","dir","_mouseDown","_mouseMove","_mouseUp","_init","el","prefix","zIndex","userSelect","isTouch","touchstart","pointerdown","mouseDownEvent","touchmove","touchend","stopPropagation","_triggerEvent","modules","nodes","callBack","ignoreHasChildren","hasChildren","foreachNodes","registerModule","ColumnsController","controllers","inherit","dataSourceAdapter","callBase","visibleColumns","getVisibleColumns","visibleColumnsLength","firstDataColumnIndex","command","defaultOptions","queryByOptions","DEFAULT_KEY_EXPRESSION","isFullBranchFilterMode","that","DataSourceAdapterTreeList","keyExpr","getKeyExpr","parentIdExpr","hasItemsExpr","_indexByKey","hasItems","parentIds","storeLoadOptions","isFullBranch","_hasItemsGetter","_isChildrenLoaded","remoteOperations","filtering","loadOptions","isRowExpanded","_fillVisibleItemsByNodes","rootValue","nodeByKey","_keyGetter","parentId","_parentIdGetter","visibleItems","visibleByKey","_nodeByKey","_convertItemToNode","rootNode","level","_itemsGetter","isConverted","_keySetter","_parentIdSetter","childItems","_convertDataToPlainStructure","itemsExpr","field","parentIdFilters","combineFilters","operationTypes","paging","expandVisibleNodes","sorting","_lastLoadOptions","isCustomLoading","_isReload","reload","cachedStoreData","collapseVisibleNodes","parentIdsToLoad","getNodeByKey","expandedRowKeys","_getParentIdsToLoad","cachedPagingData","mergeStoreLoadData","_createIdFilter","needChildren","keyMap","resultKeyMap","resultKeys","needToLoad","needLocalFiltering","_generateInfoToLoad","isRemoteFiltering","maxFilterLengthInRequest","concatLoadedData","loadedData","_cachedStoreData","cachedNodes","reduce","_loadParentsOrChildren","filterLength","encodeURI","JSON","stringify","itemData","store","fullData","_dataSource","loadFromStore","toArray","fail","_getKeyInfo","keyOf","changes","processedChanges","change","_applyInsert","_applyRemove","postProcessChanges","changesToProcess","_processChanges","hasItemsSetter","_hasItemsSetter","baseChanges","parentKeyOf","_setHasItems","_needToCopyDataObject","getChildNodeKeys","_updateHasItemsMap","needToExpand","_fillNodes","_calculateHasItems","_rootNode","_createNodesByItems","_isNodesInitializing","executeAction","resultData","_totalItemsCount","filterMode","needLoadParents","_loadParents","_loadChildrenIfNeed","_processTreeStructure","reshapeOnPush","_reshapeOnPush","isNeedReshape","_a","dataStructure","_createKeyGetter","createParentIdGetter","_createHasItemsGetter","_createHasItemsSetter","_createItemsGetter","_createKeySetter","createParentIdSetter","createAction","_totalCountCorrection","cache","isExpandedByKey","indexExpandedNodeKey","getIndexByKey","_changeRowExpandCore","childNode","parentKey","childrenKeys","childrenOnly","getNodeLeafKeys","_createStoreLoadOptions","childKeys","child","loadDescendants","promise","getRootNode","extender","DataController","_getDataSourceAdapter","rowType","isExpanded","_getNodeLevel","item1","item2","cancel","changeRowExpand","_columnsController","_items","_refreshDataSource","handled","previousValue","_loadOnOptionChange","forEachNode","expandNodesOnFiltering","autoExpandAll","onNodesInitialized","TREELIST_TEXT_CONTENT","TREELIST_EXPAND_ICON_CONTAINER_CLASS","TREELIST_CELL_EXPANDABLE_CLASS","TREELIST_EMPTY_SPACE","TREELIST_EXPANDED_CLASS","TREELIST_COLLAPSED_CLASS","RowsView","views","rowsView","createIcon","hasIcon","$iconElement","addClass","toggleClass","append","$container","$iconContainer","appendTo","empty","_renderIcons","_renderIconContainer","resultTemplate","renderingTemplate","getFirstDataColumnIndex","column","_renderCellCommandContent","$cell","hasClass","dataController","_dataController","$targetElement","isExpandIcon","rowIndex","$rowElement","setAria","closest","GridView","gridView","_getWidgetAriaLabel","_getTableRoleName","extenders","resizing","isBestFit","$rowsTable","_rowsView","getTableElement","addWidgetPrefix","callModuleItemsMethod","DATAGRID_ROW_SELECTOR","TREELIST_CLASS","registerModulesOrder","TreeList","_activeStateUnit","_deprecatedOptions","since","device","showRowLines","showColumnLines","headerFilter","editing","useIcons","logHeaderFilterDeprecatedWarningIfNeed","processModules","_clean","updateDimensions","$element","update","_renderContentImpl","getController","isReady","_controllers","_views","origApplyState","stateStoring","applyState","SELECT_CHECKBOX_CLASS","DATA_EDIT_DATA_INSERT_TYPE","EditingController","_isProcessedItem","insertAfterKey","editingOptions","allowAdding","_getVisibleEditRowIndex","removed","isNewRow","_getButtonConfig","getVisibleRows","addRow","oldEditRowIndex","parentKeyGetter","deferred","expandRow","parentIdSetter","_allowEditAction","isEditing","names","originalRowClick","_rowClick","originalRowDblClick","_rowDblClick","validateClick","originalClickHandler","needToCallOriginalClickHandler","RowsViewExtender","editingController","_editingController","isEditRow","texts","addRowToNode","format","refresh","headerPanel","EditingControllerExtender","processItems","processDataItem","editorFactory","oldDefaultOptions","originalDataControllerExtender","originalDataSourceAdapterExtender","virtualScrollController","_virtualScrollController","viewportItemIndex","getViewportItemIndex","setViewportItemIndex","scrolling","mode","TREELIST_SELECT_ALL_CLASS","CELL_FOCUS_DISABLED_CLASS","originalHandleDataChanged","_handleDataChanged","nodeExists","currentKey","selection","showCheckBoxesMode","recursive","selectionController","isRecursiveSelection","changeType","updateSelectionState","selectedItemKeys","_selectionStateByKey","plainItems","cached","getCachedStoreData","isItemSelected","isRowSelected","isSelectableItem","getItemData","allowLoadByRange","$checkbox","_renderSelectCheckBox","isSelected","_attachCheckBoxClickEvent","_updateSelectColumn","selectedRowKeys","visibleKeys","_getSelectAllNodeKeys","hasIndeterminateState","selectedVisibleKeys","focusedItemIndex","selectRows","deselectRows","preserve","isDeselect","isSelectAll","normalizedArgs","_normalizeSelectionArgs","_isSelectionNormalizing","selectedRowsData","_fireSelectionChanged","itemIndex","keyboardKeys","getKeyByRowIndex","hasSelectedState","hasNonSelectedState","_updateParentSelectionState","_updateChildrenSelectionState","useCash","selectedParentNode","_getSelectedParentKeys","keysToIgnore","ignoreKeyIndex","parentNodeKeys","_getSelectedChildKeys","_normalizeChildrenKeys","isSelect","currentSelectedRowKeys","currentDeselectedRowKeys","_normalizeParentKeys","_normalizeSelectedRowKeysCore","_isModeLeavesOnly","processedKeys","parentKeys","_getAllChildKeys","_removeDuplicatedKeys","selectionMode","isRecursive","removedItemKeys","_updateSelectionStateCore","_getAllSelectedRowKeys","_getParentSelectedRowKeys","_getLeafSelectedRowKeys","selectedKeys","getSelectedRowKeys","columnHeadersView","renderSelectAll","_renderSelectAllCheckBox","$target","renderSelectCheckBoxContainer","keyboardNavigation","eventArgs","getVisibleRowIndex","ctrl","directionCode","_getDirectionCodeByKey","keyName","collapseRow","findIndex","_isFocusedRowInside","focusedRowKey","getRowIndexByKey","focusedRow","parentData","getParentKey","expandAscendants","pageIndex","pageSize","RenderEvent","opt_inversePixelTransform","opt_frameState","opt_context","num","opt_size","hasArea","ratio","toSize","pointerEvents","target_","map_","listenerKeys","setTarget","getOverlayContainerStopEvent","getElementById","DoubleClickZoom","delta_","stopEvent","MapBrowserEventType","browserEvent","anchor","Interaction","DragPan","stopDown","kinetic_","kinetic","lastCentroid","lastPointersCount_","panning_","onFocusOnly","noKinetic_","handleDragEvent","beginInteraction","targetPointers","centroid","adjustCenterInternal","begin","handleUpEvent","distance","getDistance","angle","getAngle","getCenterInternal","centerpx","getPixelFromCoordinateInternal","dest","getCoordinateFromPixelInternal","cos","sin","animateInternal","getConstrainedCenter","endInteraction","handleDownEvent","Pointer","DragRotate","lastAngle_","getConstraints","getSize","theta","atan2","adjustRotationInternal","RenderBox","geometry_","element_","startPixel_","endPixel_","render_","startPixel","endPixel","px","getOverlayContainer","setPixels","createOrUpdateGeometry","pixels","coordinates","setCoordinates","Polygon","Disposable","DragBoxEventType","BOXSTART","BOXDRAG","BOXEND","BOXCANCEL","DragBoxEvent","Event","DragBox","box_","minArea_","minArea","onBoxEnd","boxEndCondition_","boxEndCondition","defaultBoxEndCondition","completeBox","DragZoom","out_","out","geometry","rotatedExtent","rotatedExtentForGeometry","getResolutionForExtentInternal","factor","clone","fitInternal","LEFT","UP","RIGHT","DOWN","KeyboardPan","defaultCondition_","pixelDelta_","pixelDelta","KEYDOWN","keyEvent","keyCode","KeyCode","mapUnitsDelta","deltaX","deltaY","KeyboardZoom","KEYPRESS","charCode","charCodeAt","Kinetic","decay","minVelocity","decay_","minVelocity_","delay_","points_","angle_","initialVelocity_","now","lastIndex","firstIndex","Mode","TRACKPAD","WHEEL","MouseWheelZoom","totalDelta_","lastDelta_","maxDelta_","maxDelta","timeout_","timeout","useAnchor_","useAnchor","constrainResolution_","constrainResolution","lastAnchor_","startTime_","timeoutId_","mode_","trackpadEventGap_","trackpadTimeoutId_","deltaPerZoom_","endInteraction_","wheelEvent","deltaMode","WheelEvent","DOM_DELTA_PIXEL","DOM_DELTA_LINE","getConstrainResolution","clearTimeout","adjustZoom","timeLeft","handleWheelZoom_","setMouseAnchor","PinchRotate","pointerOptions","anchor_","rotating_","rotationDelta_","threshold_","threshold","rotationDelta","touch0","touch1","clientY","clientX","viewportPosition","getViewport","getBoundingClientRect","handlingDownUpSequence","PinchZoom","lastDistance_","lastScaleDelta_","scaleDelta","adjustResolutionInternal","altShiftDragRotate","doubleClickZoom","zoomDelta","zoomDuration","dragPan","pinchRotate","pinchZoom","keyboard","mouseWheelZoom","shiftDragZoom","IconImageCache","cache_","cacheSize_","maxCacheSize_","canExpireCache","expire","iconImage","color","setSize","maxCacheSize","colorString","shared","brokenDiagonalRendering_","drawTestTriangle","ctx","u1","v1","u2","v2","closePath","fillRect","restore","verifyBrokenDiagonalRendering","isBrokenDiagonalRendering","globalCompositeOperation","fillStyle","calculateSourceResolution","targetCenter","sourceCenter","targetMetersPerUnit","sourceMetersPerUnit","compensationFactor","calculateSourceExtentResolution","triangulation","pixelRound","sourceDataExtent","canvasWidthInUnits","canvasHeightInUnits","stitchContext","stitchScale","xPos","yPos","srcWidth","srcHeight","targetTopLeft","x0","y0","u0","v0","sourceNumericalShiftX","sourceNumericalShiftY","augmentedMatrix","affineCoefs","steps","ud","vd","step","translate","strokeStyle","lineWidth","stroke","Property","RENDER_ORDER","BaseVectorLayer","renderBuffer","updateWhileAnimating","updateWhileInteracting","declutter_","declutter","renderBuffer_","styleFunction_","updateWhileAnimating_","updateWhileInteracting_","getDeclutter","getRenderBuffer","getRenderOrder","getStyleFunction","getUpdateWhileAnimating","getUpdateWhileInteracting","renderDeclutter","declutterTree","setRenderOrder","renderOrder","opt_style","BaseVector","Instruction","BEGIN_GEOMETRY","BEGIN_PATH","CIRCLE","CLOSE_PATH","CUSTOM","DRAW_CHARS","DRAW_IMAGE","END_GEOMETRY","FILL","MOVE_TO_LINE_TO","SET_FILL_STYLE","SET_STROKE_STYLE","STROKE","beginPathInstruction","closePathInstruction","VectorContext","drawCustom","renderer","hitDetectionRenderer","drawGeometry","drawCircle","circleGeometry","drawFeature","drawGeometryCollection","geometryCollectionGeometry","drawLineString","lineStringGeometry","drawMultiLineString","multiLineStringGeometry","drawMultiPoint","multiPointGeometry","drawMultiPolygon","multiPolygonGeometry","drawPoint","pointGeometry","drawPolygon","polygonGeometry","drawText","setFillStrokeStyle","setImageStyle","imageStyle","opt_declutterImageWithText","setTextStyle","textStyle","CanvasBuilder","maxExtent","maxLineWidth","beginGeometryInstruction1_","beginGeometryInstruction2_","bufferedMaxExtent_","instructions","tmpCoordinate_","hitDetectionInstructions","applyPixelRatio","dashArray","dash","appendFlatPointCoordinates","getBufferedMaxExtent","tmpCoord","myEnd","appendFlatLineCoordinates","closed","skipFirst","lastRel","nextRel","lastXCoord","lastYCoord","nextCoord","skipped","Relationship","INTERSECTING","drawCustomCoordinates_","builderEnds","builderEnd","beginGeometry","builderEndss","getStride","builderBegin","getOrientedFlatCoordinates","getEndss","myEnds","inflate","getFlatCoordinates","getEnds","endGeometry","reverseHitDetectionInstructions","instruction","fillStyleColor","getColor","strokeStyleColor","strokeStyleLineCap","getLineCap","lineCap","strokeStyleLineDash","getLineDash","lineDash","strokeStyleLineDashOffset","getLineDashOffset","lineDashOffset","strokeStyleLineJoin","getLineJoin","lineJoin","strokeStyleWidth","getWidth","strokeStyleMiterLimit","getMiterLimit","miterLimit","createFill","fillInstruction","applyStroke","createStroke","updateFillStyle","currentFillStyle","updateStrokeStyle","currentStrokeStyle","currentLineCap","currentLineDash","currentLineDashOffset","currentLineJoin","currentLineWidth","currentMiterLimit","endGeometryInstruction","CanvasImageBuilder","hitDetectionImage_","image_","imagePixelRatio_","anchorX_","anchorY_","height_","opacity_","originX_","originY_","rotateWithView_","scale_","width_","declutterMode_","declutterImageWithText_","myBegin","opt_sharedData","getAnchor","getOrigin","getPixelRatio","getHitDetectionImage","getOpacity","getRotateWithView","getScaleArray","getDeclutterMode","CanvasLineStringBuilder","drawFlatCoordinates_","moveToLineToInstruction","lastStroke","CanvasPolygonBuilder","drawFlatCoordinatess_","fill","numEnds","setFillStrokeStyles_","circleInstruction","matchingChunk","maxAngle","acos","m12","m23","x12","y12","x23","y23","chunkStart","chunkEnd","chunkM","TEXT_ALIGN","CanvasTextBuilder","labels_","text_","textOffsetX_","textOffsetY_","textRotateWithView_","textRotation_","textFillState_","fillStates","textStrokeState_","strokeStates","textState_","textStates","textKey_","fillKey_","strokeKey_","fillState","strokeState","textState","geometryType","placement","TextPlacement","geometryWidths","overflow","getFlatMidpoint","getCenter","getFlatMidpoints","getFlatInteriorPoint","getFlatInteriorPoints","beg_1","w","keep","saveTextStates_","backgroundFill","backgroundStroke","padding","p0","p1","p2","p3","pixelRatio_1","textAlign","flatOffset","flatEnd","oo","range","drawChars_","strokeKey","textKey","font","justify","textBaseline","fillKey","baseline","offsetY","strokeWidth","textFillStyle","getFill","textStrokeStyle","getStroke","getFont","textScale","getOverflow","getMaxAngle","getPlacement","getTextAlign","getJustify","getTextBaseline","getBackgroundFill","getBackgroundStroke","getPadding","textOffsetX","getOffsetX","textOffsetY","getOffsetY","textRotateWithView","textRotation","getText","join","BATCH_CONSTRUCTORS","PolygonBuilder","Builder","ImageBuilder","LineStringBuilder","TextBuilder","BuilderGroup","tolerance_","maxExtent_","resolution_","buildersByZIndex_","builderInstructions","zKey","builders","builderKey","builderInstruction","getBuilder","builderType","zIndexKey","replays","replay","Constructor","drawTextOnPath","startM","measureAndCacheTextWidth","segmentM","advance","beginX","beginY","startOffset","startLength","endM","endX","endY","flat","previousAngle","singleSegment","iStart","charLength","len","chars","substring","tmpExtent","p4","getDeclutterBox","replayImageOrLabelArgs","declutterBox","rtlRegEx","RegExp","fromCharCode","horizontalTextAlign","align","createTextChunks","acc","line","Executor","overlaps","alignFill_","coordinateCache_","renderedTransform_","pixelCoordinates_","viewRotation_","widths_","createLabel","textIsArray","chunks","widths","heights","lineWidths","renderWidth","contextInstructions","OffscreenCanvasRenderingContext2D","CanvasRenderingContext2D","setLineDash","previousFont","leftRight","strokeInstructions","fillInstructions","lineHeight","lineOffset","widthHeightIndex","lineWidthIndex","text_1","fillStrokeArgs","replayTextBackground_","strokeInstruction","fill_","setStrokeStyle_","calculateImageOrLabelDimensions_","sheetWidth","sheetHeight","centerX","centerY","anchorX","anchorY","originX","originY","snapToPixel","fillStroke","boxW","boxH","boxX","boxY","drawImageX","drawImageY","drawImageW","drawImageH","canvasTransform","replayImageOrLabel_","contextScale","imageOrLabel","dimensions","box","strokePadding","intersects","origin_1","repeatSize","drawLabelWithPointPlacement_","execute_","opt_featureCallback","opt_hitExtent","opt_declutterTree","pixelCoordinates","dd","prevX","prevY","roundX","roundY","currentGeometry","pendingFill","pendingStroke","lastFillInstruction","lastStrokeInstruction","coordinateCache","viewRotation","viewRotationFromTransform","batchSize","arc","coords","rotateWithView","declutterMode","declutterImageWithText","labelWithAnchor","widthIndex","imageArgs","imageDeclutterBox","measurePixelRatio","pixelRatioScale","cachedWidths","pathLength","textLength","parts","drawChars","part","i_1","ii_1","execute","executeHitDetection","ORDER","ExecutorGroup","allInstructions","opt_renderBuffer","overlaps_","executorsByZIndex_","hitDetectionContext_","hitDetectionTransform_","createExecutors_","flatClipCoords","getClipCoords","executors","instructionByZindex","hasExecutors","candidates","declutteredFeatures","contextSize","newContext","hitExtent","indexes","getPixelIndexArray","featureCallback","imageData","idx","result_1","executor","zs","isEmpty","opt_builderTypes","builderTypes","circlePixelIndexArrayCache","radius","maxDistanceSq","distances","distanceSq","pixelIndex","CanvasImmediateRenderer","opt_squaredTolerance","opt_userTransform","context_","extent_","transform_","squaredTolerance_","userTransform_","contextFillState_","contextStrokeState_","contextTextState_","fillState_","strokeState_","imageAnchorX_","imageAnchorY_","imageHeight_","imageOpacity_","imageOriginX_","imageOriginY_","imageRotateWithView_","imageRotation_","imageScale_","imageWidth_","textScale_","tmpLocalTransform_","drawImages_","localTransform","alpha","globalAlpha","setTransform","drawText_","setContextFillState_","setContextStrokeState_","setContextTextState_","strokeText","fillText","moveToLineTo_","close","drawRings_","getGeometryFunction","geometries","getGeometriesArray","simplifyTransformed","flatMidpoint","geometryExtent","flatMidpoints","flatInteriorPoint","flatInteriorPoints","contextFillState","contextStrokeState","contextTextState","imageSize","imageAnchor","imageOrigin","textFillStyleColor","textStrokeStyleColor","textStrokeStyleLineCap","textStrokeStyleLineDash","textStrokeStyleLineDashOffset","textStrokeStyleLineJoin","textStrokeStyleWidth","textStrokeStyleMiterLimit","textFont","textText","textTextAlign","textTextBaseline","HIT_DETECT_RESOLUTION","createHitDetectionImageData","transforms","styleFunction","featureCount","indexFactor","featuresByZIndex","featureStyleFunction","originalStyle","setColor","setText","imgSize","getImageSize","imgContext","img","setImage","Icon","anchorXUnits","IconAnchorUnits","PIXELS","anchorYUnits","getScale","getZIndex","byGeometryType","zIndexKeys","geomAndStyle","kk","hitDetect","resultFeatures","SIMPLIFY_TOLERANCE","GEOMETRY_RENDERERS","renderPointGeometry","renderLineStringGeometry","renderPolygonGeometry","renderMultiPointGeometry","renderMultiLineStringGeometry","renderMultiPolygonGeometry","renderGeometryCollectionGeometry","renderCircleGeometry","defaultOrder","feature1","feature2","parseInt","getSquaredTolerance","getTolerance","builderGroup","opt_declutterBuilderGroup","circleReplay","textReplay","renderFeature","replayGroup","listener","opt_transform","getImageState","unlistenImageChange","listenImageChange","renderFeatureInternal","simplifiedGeometry","renderGeometry","geometryRenderer","getHitDetectionRenderer","getGeometries","lineStringReplay","polygonReplay","imageBuilderGroup","imageReplay_1","imageReplay","textBuilderGroup","imageReplay_2","CanvasVectorLayerRenderer","vectorLayer","boundHandleStyleImageChange_","handleStyleImageChange_","animatingOrInteracting_","hitDetectionImageData_","renderedFeatures_","renderedRevision_","renderedResolution_","renderedExtent_","wrappedRenderedExtent_","renderedRotation_","renderedCenter_","renderedProjection_","renderedRenderOrder_","replayGroup_","replayGroupChanged","clipping","compositionContext_","renderWorlds","executorGroup","vectorSource","viewHints","ViewHint","ANIMATING","INTERACTING","multiWorld","getWrapX","endWorld","world","setupCompositionContext_","compositionContext","releaseCompositionContext_","layerIndex","clipped","startX","match","executorGroups","animating","interacting","frameStateExtent","vectorLayerRevision","getRevision","vectorLayerRenderBuffer","vectorLayerRenderOrder","renderedExtent","loadExtents","loadExtent","declutterBuilderGroup","userTransform","userProjection","extent_1","userExtent_1","loadFeatures","dirty","userExtent","getFeaturesInExtent","replayGroupInstructions","getOverlaps","VectorLayer","PointerInteraction","handleMoveEvent","getPointerCount","updateTrackedPointers_","handledUp","activePointers","setActive","getActive","ACTIVE","pan","opt_duration","currentCenter","zoomByDelta","opt_anchor","newResolution","getResolutionForZoom","getMarkup","temp","cloneNode","css","fixNamespaces","markup","decodeHtmlEntities","HIDDEN_FOR_EXPORT","getSvgMarkup","getSvgElement","isNode","DOMParser","parseFromString","noop","easingFunctions","easeOutCubic","pos","linear","animationSvgStep","segments","elem","progress","currentParams","curSeg","seg","attr","current","base","attributeName","currentSettings","attrName","animateStep","_animateStep","_progress","_calcProgress","anim","_easing","_currentParams","delayTick","_startTime","tick","Animation","partitionDuration","AnimationController","_animationCount","_timerId","_animations","disableComplete","_loop","an","animations","activeAnimation","getTime","endAnimation","_endAnimation","_endAnimationTimer","addAnimation","_startDelay","animateElement","onEndAnimation","lock","unstoppable","hasUnstoppableInAnimations","standardColorNames","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","violetred","wheat","white","whitesmoke","yellow","yellowgreen","standardColorTypes","re","process","parseFloat","toFixed","rgb","hsvToRgb","hslToRgb","_round","Color","baseColor","toLowerCase","parseColor","colorIsInvalid","normalize","hsv","toHsvFromRgb","hsl","toHslFromRgb","str","exec","colorComponent","def","toHexFromRgb","H","S","V","vMin","vInc","vDec","calculateHue","convertTo01Bounds","maxMinSum","makeColorTint","colorPart","colorTint","modifyColorTint","hueToRgb","q","isIntegerBetweenMinAndMax","number","highlight","alter","toHex","darken","blend","blendColor","other","getPureColor","isValidHex","hex","isValidRGB","isValidAlpha","fromHSL","LN10","_max","_cos","_sin","dateToMilliseconds","MAX_PIXEL_COUNT","PI_DIV_180","_Number","_NaN","numDefsSvgElements","PANE_PADDING","getLog","getAdjustedLog10","raiseTo","power","normalizeAngle","degreesToRadians","getCosAndSin","angleInRadians","diffX","diffY","roundValue","precision","toExponential","getPower","normalizeEnum","setCanvasValues","originalTop","originalBottom","bottom","originalLeft","originalRight","right","normalizeBBoxField","normalizeBBox","bBox","xl","yt","xr","yb","rotateBBox","w2","h2","w2_","h2_","centerX_","centerY_","parseScalar","defaultValue","enumParser","stored","patchFontOptions","fontOptions","convertPolarToXY","centerCoords","startAngle","normalizedRadius","cosSin","convertXYToPolar","phi","processSeriesTemplate","seriesTemplate","series","customizeSeries","nameField","generatedSeries","seriesOrder","nameFieldValue","orderedName","group","getCategoriesInfo","categories","startValue","endValue","swapBuf","categoriesValue","category","valueOf","indexStartValue","indexEndValue","visibleCategories","lastIdx","isRelativeHeightPane","pane","unit","normalizePanesHeight","panes","parsedHeight","relativeHeightPanes","weightSum","weightHeightCount","emptyHeightPanes","emptyHeightCount","weightForEmpty","emptyWeightSum","updatePanesCanvases","rotated","distributedSpace","paneSpace","totalCustomSpace","cur","usefulSpace","startName","endName","calcLength","unique","getVerticallyShiftedAngularCoords","isPositive","horizontalOffset1","verticalOffset1","verticalOffset2","horizontalOffset2","mergeMarginOptions","opt1","opt2","checkInterval","percentStick","sizePointNormalState","getVizRangeObject","normalizeArcParams","innerRadius","outerRadius","endAngle","isCircle","noArc","angleDiff","convertVisualRangeObject","visualRange","convertToVisualRange","getAddFunction","correctZeroLevel","dataType","rangeValue","marginValue","sign","axisType","getLogExt","raiseToExt","newValue","adjustVisualRange","wholeRange","dataRange","minDefined","maxDefined","nonDiscrete","rangeLength","categoriesInfo","_categoriesInfo","allowNegatives","linearThreshold","transformValue","rangesAreEqual","rangeFromOptions","every","pointInCanvas","getNextDefsSvgId","extractColor","isBase","fillId","SHARPING_CORRECTION","ARC_COORD_PREC","LIGHTENING_HASH","pxAddingExceptions","order","orphans","widows","KEY_TEXT","KEY_STROKE","KEY_STROKE_WIDTH","KEY_STROKE_OPACITY","KEY_FONT_SIZE","KEY_FONT_STYLE","KEY_FONT_WEIGHT","KEY_TEXT_DECORATION","KEY_TEXTS_ALIGNMENT","NONE","DEFAULT_FONT_SIZE","ELLIPSIS","objectCreate","proto","F","DEFAULTS","scaleX","scaleY","getBackup","backupContainer","backupCounter","backupRoot","getBody","restoreRoot","isObjectArgument","createElementNS","getFuncIri","pathModified","preserveAspectRatioMap","full","lefttop","leftcenter","leftbottom","centertop","centerbottom","righttop","rightcenter","rightbottom","processHatchingAttrs","hatching","_hatching","lockDefsElements","releaseDefsElements","_filter","buildArcPath","innerR","outerR","startAngleCos","startAngleSin","endAngleCos","endAngleSin","longFlag","buildPathSegments","points","list","buildLineSegments","buildCurveSegments","buildSegments","buildSimpleLineSegment","buildSimpleCurveSegment","buildSimpleSegment","_points$","k0","combinePathParam","segment","compensateSegments","oldSegments","newSegments","originalNewSegments","oldLength","newLength","makeEqualSegments","makeEqualAreaSegments","makeEqualLineSegments","prepareConstSegment","constSeg","short","long","head","constsSeg1","constsSeg2","shortLength","longLength","baseCss","elemStyles","_styles","fixFuncIri","wrapper","attribute","removeAttribute","baseAttr","hasTransformations","recalculateDashStyle","sw","settings","_settings","attributes","rtl","_addFixIRICallback","dashStyle","_originalSW","_applyTransformation","pathAttr","arcAttr","rectAttr","maxSW","newSW","_originalX","_originalY","_originalWidth","_originalHeight","sharp","textAttr","isResetRequired","wasStroked","alignTextNodes","isStroked","createTextNodes","_hasEllipsis","locateTextNodes","strokeTextNodes","textCss","orderHtmlTree","parentStyle","parentClassName","realStyle","wholeText","isElementNode","fontSize","fontStyle","fontWeight","textDecoration","adjustLineHeights","currentItem","maxLengthFontSize","inherits","removeExtraAttrs","findStyleAndClassAttrs","allTagAttrs","parseHTML","div","querySelectorAll","getAttribute","parseMultiline","trim","createTspans","fieldName","restoreText","applyEllipsis","lines","lineParts","hasEllipsis","ellipsis","ellipsisWidth","getBBox","_getElementBBox","prepareLines","_texts","commonLength","endIndex","setNewText","startBox","removeTextSpan","cloneAndRemoveAttrs","detachTitleElements","titleElements","detachAndStoreTitleElements","setMaxSize","textChanged","textIsEmpty","ellipsisMaxWidth","restoreTitleElement","applyOverflowRules","setMaxHeight","_getLineHeight","tspan","rowCount","getIndexForEllipsis","endBox","getSubStringLength","getTextWidth","getSpaceBreakIndex","initialIndices","spaceIndices","indices","char","spaceIndex","getWordBreakIndex","getEllipsisString","hideOverflowEllipsis","setEllipsis","wordWrap","lastStepBreakIndex","breakIndex","restText","restLines","newTextOffset","restString","restTspan","textOverflow","calculateLineHeight","getItemLineHeight","commonHeight","prevLine","textValue","lineNumber","wordWrapLines","insertString","newText","substr","parsedHtml","encodeHtml","setTextNodeAttribute","alignment","maxTextWidth","textWidth","fontSize1","fontSize2","parsedHeight1","parsedHeight2","height1","height2","strokeOpacity","baseAnimate","animationParams","translateX","translateY","rotateX","rotateY","animationEnabled","_animation","pathAnimate","endSegments","curSegments","arcAnimate","arcParams","buildLink","parameters","is","after","virtual","SvgElement","removeFuncIriCallback","fixFuncIriCallbacks","_getJQElement","_$element","_fixFuncIri","_clearChildrenFuncIri","clearChildren","enableLinks","_links","virtualLink","linkItem","_link","linkAfter","_linkAfter","linkOn","linkOff","unlinkItem","linkAppend","link","linkRemove","toBackground","firstChild","toForeground","smartAttr","sharpDirection","tr","transformations","sharpMode","trDirection","strokeOdd","correctionX","correctionY","scaleXDefined","scaleYDefined","move","animOptions","offsetWidth","offsetHeight","transformation","getOffset","stopAnimation","setTitle","titleElem","off","PathSvgElement","ArcSvgElement","RectSvgElement","TextSvgElement","updateIndexes","Renderer","_createElement","xmlns","version","_$container","_locker","_backed","getHatchingHash","_ref5","_defs","_animationController","setOptions","updateAnimationOptions","unlock","resize","removeByRenderer","newOptions","stopAllAnimations","svg","getRootOffset","rect","simpleRect","circle","cx","cy","preserveAspectRatio","setAttributeNS","path","_text","linearGradient","stops","rotationAngle","gradient","gradientTransform","_createGradientStops","radialGradient","_stop$stopColor","pattern","_id","stepTo2","stepBy15","patternUnits","customPattern","patternContentUnits","_getPatternUnits","_getPointsWithYOffset","point","clipShape","methodArgs","clipPath","shape","shadowFilter","blur","gaussianBlur","in","stdDeviation","flood","composite","in2","operator","finalComposite","filterAttrs","offsetAttrs","floodAttrs","brightFilter","slope","componentTransferElement","getGrayScaleFilter","_grayScaleFilter","lightenFilter","initDefsElements","storage","_defsElementsStorage","byHash","baseId","refToHash","nextId","drawPattern","_ref4","storageId","drawFilter","ref","storageItem","count","currentPaletteName","callbacks","fire","prepareSegmentRectPoints","borderOptions","segmentSequence","visiblyOpt","prevSegmentVisibility","allSegment","visibility","segmentVisibility","pathType","_floor","_ceil","_isArray","HIGHLIGHTING_STEP","DEFAULT_PALETTE","officePalette","simpleSet","indicatingSet","gradientSet","accentColor","palettes","office","pastel","bright","soft","ocean","vintage","carmine","currentPalette","getPalette","palette","themeDefault","getAccentColor","RingBuf","buf","ind","res","getAlternateColorsStrategy","stepHighlight","useHighlight","paletteSteps","_reset","getAlteredPalette","generateColors","colors","getExtrapolateColorsStrategy","paletteCount","cycles","cycleIndex","cycleCount","diapason","minL","maxL","cycleMiddle","cycleDiff","getColorMixer","extendedPalette","distributeColors","colorsCount","startIndex","distribution","middleIndex","groupSize","extraItems","getColorAndDistance","extendPalette","colorInGroups","currentColorIndex","cleanColorIndices","keepLastColorInEnd","paletteWithEmptyColors","paletteLength","color1","c2","color2","repeat","createPalette","themeDefaultPalette","paletteObj","_extensionStrategy","_currentColor","extensionMode","originalPalette","getNewColor","currentColor","newColor","lightness","getLightness","getDiscretePalette","createDiscreteColors","colorCount","sourceCount","addColor","kl","kr","getGradientPalette","WHITE","BLACK","LIGHT_GREY","GREY_GREEN","SOME_GREY","RED","PRIMARY_TITLE_COLOR","SECONDARY_TITLE_COLOR","SOLID","TOP","BOTTOM","CENTER","INSIDE","OUTSIDE","theme","isDefault","family","weight","cursor","redrawOnResize","primaryTitleColor","secondaryTitleColor","gridColor","axisColor","subtitle","loadingIndicator","export","margin","borderColor","hover","shadowColor","tooltip","border","arrowLength","paddingLeftRight","paddingTopBottom","textAlignment","shadow","interactive","legend","hoverMode","verticalAlignment","horizontalAlignment","markerSize","cornerRadius","columnCount","columnItemSpacing","rowItemSpacing","maxPointCountSupported","commonSeriesSettings","showInLegend","hoverStyle","selectionStyle","valueErrorBar","displayMode","edgeLength","horizontalOffset","verticalOffset","radialOffset","showForZeroValues","customizeText","maxLabelCount","connector","seriesSelectionMode","pointSelectionMode","equalRowHeight","dataPrepareSettings","checkTypeForAllData","convertToAxisDataType","sortingMethod","adaptiveLayout","keepLabels","_rtl","itemTextPosition","resolveLabelOverlapping","valueMarginsEnabled","placeholderSize","logarithmBase","discreteAxisDivisionMode","aggregatedPointsPosition","grid","minorGrid","minorTick","stripStyle","constantLineStyle","marker","tooltipEnabled","arrowWidth","allowDragging","chart","aggregation","symbol","scatter","stackedline","stackedspline","fullstackedline","fullstackedspline","stepline","area","stackedarea","fullstackedarea","fullstackedsplinearea","steparea","spline","splinearea","stackedsplinearea","bar","stackedbar","fullstackedbar","rangebar","rangearea","rangesplinearea","bubble","candlestick","reduction","stock","crosshair","verticalLine","horizontalLine","commonAxisSettings","multipleAxesSpacing","forceUserTickInterval","breakStyle","overlappingBehavior","indentFromAxis","horizontalAxis","axisDivisionFactor","staggeringSpacing","constantLines","verticalAxis","argumentAxis","endOnTick","aggregateByCategory","workWeek","valueAxis","autoBreaksEnabled","maxAutoBreakCount","commonPaneSettings","scrollBar","adjustOnZoom","autoHidePointMarkers","synchronizeMultiAxes","stickyHovering","barGroupPadding","minBubbleSize","maxBubbleSize","zoomAndPan","dragBoxStyle","panKey","allowMouseWheel","allowTouchGestures","pie","minDiameter","_skipArgumentSorting","doughnut","donut","gauge","hideFirstOrLast","rangeContainer","valueIndicators","_default","space","indent","twocolorneedle","secondColor","trianglemarker","textcloud","indicator","hasPositiveMeaning","layout","_circular","scaleDivisionFactor","orientation","indentFromTick","valueIndicatorType","subvalueIndicatorType","_type","indentFromCenter","spindleSize","spindleGapSize","beginAdaptingAtRadius","triangleneedle","secondFraction","_linear","horizontalOrientation","verticalOrientation","rectangle","barGauge","relativeInnerRadius","barSpacing","connectorWidth","rangeSelector","showCustomBoundaryTicks","topIndent","separatorHeight","textLeftIndent","textTopIndent","selectedRangeColor","sliderMarker","invalidRangeColor","sliderHandle","shutter","behavior","snapToTicks","moveSelectedRangeByClick","manualRangeSelectionEnabled","allowSlidersSwap","valueChangeMode","bottomIndent","borderWidth","hoveredBorderColor","selectedBorderWidth","selectedBorderColor","hoveredColor","selectedColor","selectedStep","backStep","backColor","backOpacity","minSize","maxSize","hoveredBorderWidth","backgroundOpacity","controlBar","treeMap","sparkline","lineColor","areaOpacity","minColor","maxColor","barPositiveColor","barNegativeColor","winColor","lossColor","firstLastColor","pointSymbol","pointColor","pointSize","argumentField","valueField","winlossThreshold","showFirstLast","showMinMax","bullet","targetColor","targetWidth","showTarget","showZeroLevel","polar","firstPointOnStartAngle","period","funnel","sortData","colorField","hoverEnabled","customizeTooltip","argument","valueText","algorithm","neckWidth","neckHeight","sankey","sourceField","targetField","weightField","useNodeColors","colorMode","baseThemeName","ACCENT_COLOR","BACKGROUND_COLOR","TITLE_COLOR","SUBTITLE_COLOR","TEXT_COLOR","BORDER_COLOR","defaultPalette","RANGE_COLOR","AREA_LAYER_COLOR","LINE_COLOR","TARGET_COLOR","POSITIVE_COLOR","CONTRAST_ACTIVE","MARKER_COLOR","menuButtonColor","activeBackgroundColor","activeColor","FONT_FAMILY","LIGHT_TITLE_COLOR","LIGHT_LABEL_COLOR","DARK_TITLE_COLOR","DARK_LABEL_COLOR","DARK_BACKGROUND_COLOR","LABEL_BORDER_COLOR","BREAK_STYLE_COLOR","commonAnnotationSettings","getMaterialColorScheme","accentName","themeName","markerColor","materialAccents","accent","defaultTheme","themesMapping","themesSchemeMapping","_extend","_each","currentThemeName","nextCacheUid","widgetsCache","getTheme","currentTheme","findThemeNameByName","scheme","findThemeNameByPlatform","colorScheme","getThemeInfo","splitter","registerThemeName","targetThemeName","themeInfo","registerTheme","patchTheme","mergeScalar","sourceValue","mergeObject","patchAxes","section","patchMapLayers","addCacheItem","cacheUid","_cache","removeCacheItem","material","_getTheme","_addCacheItem","_removeCacheItem","getThemePart","_theme","pathItem","BaseThemeManager","_themeSection","themeSection","_fontFields","fontFields","_callback","_font","setCallback","setTheme","_current","_themeName","_defaultPalette","_initializeTheme","createDiscretePalette","createGradientPalette","_initializeFont","isServerSide","Flags","combineMaps","baseMap","thisMap","combineLists","baseList","thisList","buildTotalChanges","_totalChangesOrder","_optionChangesOrder","_layoutChangesOrder","_customChangesOrder","addChange","code","isThemeDependent","_themeDependentChanges","_optionChangesMap","isOptionChange","createChainExecutor","executeChain","_chain","copy","expand","expander","addPlugin","plugin","_plugins","members","customize","codes","flags","_flags","has","replaceInherit","_inherit","plugins","eventsMap","_eventsMap","initialChanges","_initialChanges","themeDependentChanges","optionChangesMap","partialOptionChangesMap","_partialOptionChangesMap","partialOptionChangesPath","_partialOptionChangesPath","optionChangesOrder","layoutChangesOrder","customChangesOrder","errors","ERROR_MESSAGES","E2001","E2002","E2003","E2004","E2005","E2006","E2007","E2008","E2009","E2101","E2102","E2103","E2104","E2105","E2202","E2203","W2002","W2003","W2101","W2102","W2103","W2104","W2105","W2106","W2107","W2108","W2301","ALIGN_START","ALIGN_MIDDLE","ALIGN_END","horizontalAlignmentMap","verticalAlignmentMap","sideMap","horizontal","vertical","slicersMap","BBOX_CEIL_CORRECTION","pickValue","normalizeLayoutOptions","side","primary","bringToEdge","secondary","weak","priority","header","getConjugateSide","getSlice","getShrink","processForward","measure","minSide","processRectBackward","alignmentRect","primarySide","secondarySide","itemRect","processBackward","fitRect","targetRect","itemFitRect","freeSpace","Layout","_targets","createTargets","targets","collection","layoutOptions","processWeakItems","headerItem","weakItem","makeHeader","processBackwardHeaderRect","rectCopy","weakElement","targetSize","weakSize","headerSize","weakRect","headerFitReact","headerRect","forward","backward","backwardRect","targetSide","graphicObjects","getGraphicObjects","createEventTrigger","callbackGetter","triggers","triggerEvent","eventInfo","applyChanges","newName","actionSettings","createIncidentOccurred","widgetName","eventTrigger","getResizeManager","resizeCallback","observe","unsubscribe","createDeferredHandler","createResizeHandler","contentElement","disposeHandler","resizeManager","unobserve","_log","SIZE_CHANGING_THRESHOLD","OPTION_RTL_ENABLED","SIZED_ELEMENT_CLASS","_option","getTrue","getFalse","areCanvasesDifferent","canvas1","canvas2","defaultOnIncidentOccurred","_eventsStrategy","hasEvent","pickPositiveValue","getEmptyComponent","emptyComponentConfig","sizedElement","_getDefaultSize","setClass","insertElement","EmptyComponent","originalInherit","callForEach","floorCanvasDimensions","sizeIsValid","baseWidget","onIncidentOccurred","excludeValidators","onDrawn","_getDefaultOptions","_useLinks","_graphicObjects","_changesLocker","_optionChangedLocker","_asyncFirstDrawing","_changes","_suspendChanges","_themeManager","_createThemeManager","_requestChange","_renderElementAttributes","_initRenderer","linkTarget","_renderer","_renderVisibilityChange","_attachVisibilityChangeHandlers","_toggleParentsScrollSubscription","_isVisible","_initEventTrigger","_incidentOccurred","NAME","_eventTrigger","_layout","_initPlugins","_initCore","_change","_getThemeManagerOptions","_disposePlugins","_resumeChanges","_applyingChanges","_applyChanges","_changesApplied","_optionsQueue","_applyQueuedOptions","resolveItemsDeferred","_legend","_notify","_resolveDeferred","_getTemplatesItems","_collectTemplatesFromItems","getTemplatesDef","groups","getTemplatesGroups","elements","_getExtraTemplatesItems","launchRequest","doneRequest","_setGroupsVisibility","_changesApplying","syncRendering","queue","beginUpdate","action","endUpdate","_change_EVENTS","_change_THEME","_setThemeAndRtl","_change_RENDERER","_setRendererOptions","_change_RESIZE_HANDLER","_setupResizeHandler","_change_ELEMENT_ATTR","_change_CONTAINER_SIZE","_updateSize","_change_LAYOUT","_setContentSize","_change_DISABLED","_initDisabledState","rawCanvas","_calculateRawCanvas","_canvas","_rootClassPrefix","_rootClass","_disposeRenderer","_disposeGraphicObjects","_getAnimationOptions","_stopCurrentHandling","subscribe","$parents","parents","devices","real","_proxiedTargetParentsScrollHandler","_$prevRootParents","_dispose","_disposed","_removeResizeHandler","_disposeCore","_createActionByOption","defaultCanvas","getSizeOfSide","getter","elementSize","elementWidth","elementHeight","__forceRender","_recreateSizeDependentObjects","_getMinSize","_getAlignmentRect","nextRect","_applySize","_getOption","isScalar","_disposeResizeHandler","_onBeginUpdate","_initialized","_isUpdateAllowed","_getActionForUpdating","_render","_optionChanged","partialChanges","getPartialChangeOptionsName","pc","changedOption","fullName","sections","partialChangeOptionsName","op","_addOptionsNameForPartialUpdate","_checkOptionsForPartialUpdate","optionObject","optionKeys","_visibilityChanged","_getRendererOptions","_dataIsReady","_resetIsReady","_renderGraphicObjects","graphics","_getTemplate","_drawn","defaultOffset","alignFactors","LayoutElement","_options","WrapperLayoutElement","renderElement","_renderElement","_cacheBBox","ofBBox","getLayoutOptions","myBBox","shiftX","shiftY","wrapperLayoutElementPrototype","parseHorizontalAlignment","parseVerticalAlignment","DEFAULT_MARGIN","hasText","processTitleLength","pickMarginValue","validateMargin","checkRect","boundingRect","Title","_params","_group","_hasText","processTitleOptions","_titleElement","_clipRect","_subtitleElement","_updateOptions","_updateStructure","clipRect","_updateTexts","titleBox","subtitleOptions","titleElement","subtitleElement","_baseLineCorrection","_updateBoundingRectAlignment","_boundingRect","cutLayoutSide","cutSide","themeOptions","userOptions","isLayoutChanged","_updateBoundingRect","draw","_correctTitleLength","_shiftSubtitle","getCorrectedLayoutOptions","srcBox","correction","incidentOccurred","getOptions","changeLink","_title","_math","_isDefined","_isFunction","_enumParser","_normalizeEnum","DEFAULT_MARKER_HATCHING_WIDTH","DEFAULT_MARKER_HATCHING_STEP","HORIZONTAL","VERTICAL","HEIGHT","WIDTH","parseOrientation","parseItemTextPosition","parsePosition","parseItemsAlignment","stateName","colorFromAction","getAttributes","parseMargins","getSizeItem","markerBBox","labelBBox","calculateBBoxLabelAndMarker","applyMarkerState","idToIndexMap","renderMarker","parseOptions","textField","allowInsidePosition","itemsAlignment","customizeHint","createSquareMarker","createCircleMarker","inRect","checkLinesSize","countItems","margins","maxMeasureLength","maxAltMeasureLength","firstItem","lineLength","spacing","altDirection","altMeasure","altOffset","altSpacing","countItem","decreaseItemCount","altCountItem","getLineLength","getMaxLineLength","maxLineLength","getInitPositionForDirection","initPosition","getPos","getLines","tableLine","markerOffset","firstLine","secondLine","setMaxInLine","maxLineSize","itemMeasure","transpose","transposeArray","getAlign","getMarkerCreator","getTitleHorizontalAlignment","Legend","_legendGroup","_backgroundClass","backgroundClass","_itemGroupClass","itemGroupClass","_textField","_getCustomizeObject","getFormatObject","_titleGroupClass","titleGroupClass","_allowInsidePosition","_widget","_updated","_Legend","legendPrototype","themeManagerTitleOptions","initMarkerSize","_data","dataItem","normal","customizeItems","isVisible","titleOptions","erase","_getItemData","_insideLegendGroup","_createBackground","horizontalPadding","_background","_markersGroup","_createItems","_updateElementsPosition","_measureElements","maxBBoxHeight","_size","_locateElements","_finalUpdate","createMarker","markerShape","_markersId","templateFunction","markerTemplate","markersGroup","_deferredItems","_templatesGroups","stateOfDataItem","normalState","normalStateFill","defaultColor","itemGroup","markerGroup","_createLabel","tracker","argumentIndex","bBoxes","onRendered","_createHint","_adjustBackgroundSettings","_setBoundingRect","insideLegendGroup","_x1","_x2","_y2","locationOptions","_moveInInitialValues","_locateRowsColumns","applySelected","applyHover","resetItem","labelFormatObject","textOpacity","isInside","containerBackgroundColor","iteration","_getItemsLayoutOptions","_createLines","_alignLines","_applyItemPosition","secondItem","labelBox","markerBox","offsetDirection","inverseLabelPosition","labelOffset","processLine","itemBBoxOptions","itemBBox","itemLegend","marginTextLabel","legendBox","_calculateTotalBox","backgroundSettings","rx","ry","widthWithoutMargins","verticalPadding","getActionCallback","act","_shiftTitle","_shiftMarkers","_y1","boxWidth","titleY","titleX","getPosition","coordsIn","getItemByCoord","legendGroup","string","numeric","parsedVal","datetime","numVal","deserializeDate","correctValueType","getParser","valueType","STRING","NUMERIC","DATETIME","DISCRETE","SEMIDISCRETE","CONTINUOUS","LOGARITHMIC","VALUE_TYPE","ARGUMENT_TYPE","axisTypeParser","groupingValues","others","cell","processGroups","valueAxisType","updateDataType","resetTypes","sortValues","asc","selector","valA","valB","aa","bb","resetArgumentAxes","axes","axis","parseCategories","parser","newArray","parsedCategory","parseAxisCategories","groupsData","parsers","argumentCategories","argumentOptions","valueGroup","valueOptions","eigen","correctAxisType","hasCategories","validUnit","createParserUnit","filterInfinity","parseUnit","prepareParsers","sizeParser","valueParser","argumentParser","argumentType","argumentAxisType","categoryParsers","groupIndex","getArgumentField","getValueFields","getSizeField","getParsedCell","parse","parsedData","findIndexByThreshold","groupMinSlices","originalData","smallValuesGrouping","groupName","topCount","groupPieData","firstSeries","isPie","addUniqueItemToCollection","itemsHash","getUniqueArgumentFields","uniqueArgumentFields","sortByArgument","sortByCallback","checkValueTypeOfGroup","getSortByCategories","reSortCategories","dataByArguments","isDiscrete","userCategories","sortFunction","sortingMethodOption","getCategories","checkItemExistence","collectionItem","checkArgumentTypeOfGroup","currentSeries","checkType","groupsIndexes","groupsWithUndefinedValueType","groupsWithUndefinedArgumentType","argumentTypeGroup","valueTypeGroup","defineArg","checkAxisType","userArgumentCategories","valueCategories","optionsSeries","showZero","setTypes","argumentAxes","verifyData","sourceIsDefined","hasError","validateData","dataByArgumentFields","events","mouseover","mouseout","mousemove","mousedown","mouseup","selectSeries","deselectSeries","selectPoint","deselectPoint","showPointTooltip","hidePointTooltip","normalMark","hoverMark","selectedMark","radialLabelIndent","pieLabelSpacing","pieSeriesSpacing","startPlaceHolderChar","endPlaceHolderChar","placeholderFormatDelimiter","formatValue","getValueByPlaceHolder","placeHolder","pointInfo","customFormat","customFormatIndex","processDisplayFormat","displayFormat","actualText","continueProcess","startBracketIndex","endBracketIndex","_format","_abs","CONNECTOR_LENGTH","LABEL_BACKGROUND_PADDING_X","LABEL_BACKGROUND_PADDING_Y","getClosestCoord","closestCoord","closestDistance","coord","getCrossCoord","indexOffset","barPointStrategy","isLabelInside","labelPoint","figure","xc","yc","prepareLabelPoints","rotatedBBox","isHorizontal","figureCenter","labelPoints","isRectangular","getFigureCenter","findFigurePoint","adjustPoints","lineIsVertical","lineIsHorizontal","symbolPointStrategy","piePointStrategy","_0","_1","isOutside","pair","point1x","point1y","point2x","point2y","labelX","selectStrategy","disposeItem","checkBackground","checkConnector","formatText","argumentText","argumentFormat","percent","percentText","percentPrecision","total","totalText","openValue","openValueText","closeValue","closeValueText","lowValue","lowValueText","highValue","highValueText","reductionValue","reductionValueText","Label","renderSettings","_container","labelsGroup","_point","_strategy","strategy","_rowCount","_color","setData","setDataField","fieldValue","setFigureToDrawConnector","_figure","_textContent","_visible","_insideGroup","_connector","_setVisibility","holdInvisible","_holdVisibility","_hide","holdVisible","correctPosition","hasValue","_show","correctLabelPosition","_updateBackground","_getLabelVisibility","_bBoxWithoutRotation","_bBox","_getConnectorPoints","_shiftBBox","getBoundingRect","fit","rowCountChanged","resetEllipsis","setTrackerData","hideInsideLabel","_y","connectorOffset","DEFAULT_IMAGE_WIDTH","DEFAULT_IMAGE_HEIGHT","LABEL_OFFSET","CANVAS_POSITION_DEFAULT","getSquareMarkerCoords","getPolygonMarkerCoords","getCrossMarkerCoords","floorHalfRadius","ceilHalfRadius","getTriangleDownMarkerCoords","getTriangleUpMarkerCoords","deleteLabel","_label","_hasGraphic","graphic","clearVisibility","inVisibleArea","setInvisibility","_errorBar","clearMarker","_emptySettings","_labelsGroup","_calculateVisibility","_getVisibleArea","_updateLabelData","_getLabelFormatObject","_updateLabelOptions","_checkImage","_fillStyle","_checkSymbol","oldOptions","oldSymbol","newSymbol","symbolChanged","imageChanged","_populatePointShape","hasCoords","correctValue","getValueAxis","properValue","validateUnit","initialValue","minValue","resetCorrection","resetValue","_getTranslates","defaultX","defaultY","_createImageMarker","_createSymbolMarker","pointSettings","_createMarker","_getSymbolBBox","_getImageBBox","_getGraphicBBox","_getShiftLabelCoords","_addLabelAlignmentAndOffset","_getLabelCoords","_checkLabelPosition","_drawLabel","customVisibility","_getCustomLabelVisibility","_showForZeroValues","getLabelVisibility","_getLabelConnector","pointPosition","_getPositionFromLocation","_isPointInVisibleArea","visibleArea","graphicBBox","fullGraphicBBox","labelOptions","_getLabelCoordOfPosition","_getLabelPosition","_drawMarker","translates","_getStyle","_getErrorBarSettings","getPointRadius","_drawErrorBar","errorBars","errorBarOptions","_errorBarPos","high","_highErrorCoord","low","_lowErrorCoord","isHighDisplayMode","isLowDisplayMode","highErrorOnly","lowErrorOnly","_getErrorBarBaseEdgeLength","_baseErrorBarPos","getTooltipParams","setPercentValue","absTotal","leftHoleTotal","rightHoleTotal","valuePercent","minValuePercent","isFullStackedSeries","leftHole","minLeftHole","rightHole","minRightHole","_storeTrackerR","minTrackerSize","msPointerEnabled","msMaxTouchPoints","pointerEnabled","maxTouchPoints","trackerR","_translateErrorBars","translator","_getValTranslator","lowError","highError","vy","vx","_translate","valTranslator","argTranslator","_getArgTranslator","_updateData","originalValue","initialMinValue","originalMinValue","_getImageSettings","getCrosshairData","xValue","yValue","extraSpace","isSquare","isTriangle","_updateMarker","initialArgument","originalArgument","seriesName","lowErrorValue","highErrorValue","_getFormatObject","getMarkerVisibility","trackerRadius","getMinValue","noErrorBar","getMaxValue","DEFAULT_BAR_TRACKER_SIZE","CORRECTING_BAR_TRACKER_VALUE","getLabelOrientation","invert","getBusinessRange","isDiscreteValue","isFullStacked","notAxisInverted","correctOptions","yCorrection","xCorrection","isTop","resolveLabelsOverlapping","getMarkerCoords","_getSettingsForTracker","getGraphicSettings","xCoord","yCoord","invertedBusinessRange","_getEdgeTooltipParams","getCenterCoord","_truncateCoord","bounds","argVisibleArea","valAxis","argAxis","valIntervalName","argIntervalName","getArgumentAxis","getVisibleArea","valVisibleArea","minVal","toUpperCase","getAxisPosition","axisOptions","edgeOffset","argAxisPosition","isStartFromAxis","getAxisShift","MIN_BUBBLE_HEIGHT","correctCoordinates","diameter","bubbleSize","formatObject","initialSize","sizeText","_sqrt","_acos","DEG","RADIAL_LABEL_INDENT","consts","argumentChanged","radiusOuter","radiusInner","toAngle","fromAngle","correctRadius","correctLabelRadius","radiusLabels","normalInitialValue","_isLabelDrawingWithoutPoints","_getLabelExtraCoord","_checkVerticalLabelPosition","getAnnotationCoords","_getElementCoords","elementRadius","rad","angleFunctions","middleAngle","columnsPosition","_correctLabelCoord","moveLabelsFromCenter","labelWidth","rightBorderX","leftBorderX","angleOfPoint","drawLabel","updateLabelCoord","_checkHorizontalLabelPosition","shiftCoord","applyWordWrap","setLabelTrackerData","seriesStyle","strokeWidthBy2","firstDrawing","shiftedAngle","getLegendStyles","legendStyles","isInVisibleArea","hideTooltip","visibilityChanged","lx","ly","_topLabel","_bottomLabel","hideMarker","topMarker","bottomMarker","emptySettings","markerType","labelsInside","_getLabelMinFormatObject","maxFormatObject","images","_getImage","_checkOverlay","bottomCoord","topCoord","topValue","_getOverlayCorrections","topCoords","bottomCoords","coordSelector","valueSelector","minBound","maxBound","coord1","coord2","_checkLabelsOverlay","topLocation","corrections","labels","notInverted","topLabel","bottomLabel","visibleTopMarker","visibleBottomMarker","imageOption","rangeMaxPoint","rangeMinPoint","oldImages","newImages","topImageChanged","bottomImageChanged","_getSettingsForTwoMarkers","_drawOneMarker","imageSettings","_updateOneMarker","tmp","maxValue","visibleRangeArea","visibleArgArea","visibleValArea","notVisibleByArg","notVisibleByVal","minVisible","maxVisible","rangeValue1Text","rangeValue2Text","rangeValue1","rangeValue2","getLabel","getLabels","xCond","yCond","edgeLocation","barMethods","DEFAULT_FINANCIAL_TRACKER_MARGIN","_getContinuousPoints","openCoord","closeCoord","createPoint","highCoord","highY","lowY","closeY","_getCrockPoints","_getPoints","openY","_isReduction","_drawMarkerInGroup","_isPositive","reductionPositive","positive","_getMinTrackerWidth","_getMarkerGroup","reductionPositiveMarkersGroup","reductionMarkersGroup","defaultPositiveMarkersGroup","defaultMarkersGroup","centerCoord","centerValue","origY","reductionColor","originalLowValue","originalHighValue","originalOpenValue","originalCloseValue","isReduction","symbolMethods","_isNumeric","openYExist","closeYExist","ERROR_BARS_ANGLE_OFFSET","CANVAS_POSITION_START","CANVAS_POSITION_END","polarSymbolPoint","_moveLabelOnCanvas","_getCoords","getAngles","maxRadius","isInverted","_checkRadiusForVisibleArea","getDefaultCoords","getCoords","polarBarPoint","businessRange","defaultRadius","middleAngleCorrection","interval","isBetweenAngles","mixins","statesConsts","SYMBOL_POINT","POLAR_SYMBOL_POINT","BAR_POINT","POLAR_BAR_POINT","PIE_POINT","SELECTED_STATE","HOVER_STATE","NORMAL_STATE","HOVER","NORMAL","SELECTION","pointTypes","isNoneMode","Point","fullState","_viewCounters","symbolPoint","barPoint","bubblePoint","piePoint","rangeSymbolPoint","rangeBarPoint","candlestickPoint","stockPoint","usePointCustomOptions","customizePoint","_dataItem","_currentStyle","updateOptions","updateData","argumentWasChanged","tag","aggregationInfo","deleteMarker","_needDeletingOnDraw","_needClearingOnDraw","_getViewStyle","applyView","legendCallback","getMarkersGroup","setView","resetView","viewCounters","releaseHoverState","clearSelection","hoverPoint","clearHover","clearPointHover","showTooltip","_checkLabelsChanging","oldType","newType","isNewRange","isOldRange","widgetType","newPointTypeMixin","_resetType","_setType","_checkCustomize","translated","useLabelCustomOptions","isHovered","getTranslator","_argumentChecker","valueChecker","_valueChecker","isArgumentCorrect","isValueCorrect","getTooltipFormatObject","stackPoints","tooltipFormatObject","sharedTooltipValuesArray","tooltipStackPointsFormatObject","stackName","getStackName","rangeText","formatRange","intervalStart","intervalEnd","aggregationInterval","setHole","holeValue","resetHoles","continuousRangeCalculator","createGetLogFunction","getRangeCalculator","rangeCalculator","calculateInterval","prevValue","minInterval","minArgs","getInitialRange","firstValue","processCategories","getValueForArgument","extraPoint","calculateRangeBetweenPoints","prevPoint","bound","isLineSeries","getViewportReducer","viewport","calculatePointBetweenPoints","getMarginOptions","viewportFilter","getViewPortFilter","startCalc","endCalc","dictionary","getArgumentRange","i1","i2","getRangeData","getPoints","useAggregation","argumentCalculator","valueRangeCalculator","viewportReducer","aggregatedPointBetweenTicks","getArgumentRangeInitialValue","getValueRangeInitialValue","argumentRange","reducer","getPointsInViewPort","argumentViewPortFilter","valueViewPort","valueViewPortFilter","addValue","isEdge","isMinValueInViewPort","isMaxValueInViewPort","addEdgePoints","nextPoint","DEFAULT_TRACKER_WIDTH","DEFAULT_DURATION","HIGH_ERROR","LOW_ERROR","VARIANCE","STANDARD_DEVIATION","STANDARD_ERROR","PERCENT","FIXED","UNDEFINED","isErrorBarTypeCorrect","includes","variance","expectedValue","calculateAvgErrorBars","errorBarsOptions","lowValueField","highValueField","areErrorBarsVisible","fusionData","calculateSumErrorBars","getMinMaxAggregator","compare","targetData","_getIntervalCenter","checkFields","fieldsToCheck","skippedFields","allFieldsIsValid","isArgument","baseScatterMethods","_defaultDuration","_defaultTrackerWidth","_applyStyle","_parseStyle","_prepareSegment","_drawSegment","_appendInGroup","_extGroups","seriesGroup","_createLegendState","styleOptions","_getColorId","_applyElementsClipRect","_paneClipRectID","_applyMarkerClipRect","_forceClipping","_createGroup","_applyClearingSettings","_createGroups","_setMarkerGroupSettings","_createPointStyles","_getMarkerGroupOptions","_visibleArea","_errorBarsEnabled","cat","getVisiblePoints","pointCoord","_createErrorBarGroup","_widePaneClipRectID","_setGroupsSettings","_setLabelGroupSettings","_getCreatingPointOptions","defaultPointOptions","normalStyle","creatingPointOptions","_predefinedPointOptions","_getPointOptions","_parsePointOptions","_preparePointOptions","_getOptionsForPoint","_parsePointStyle","defaultBorderColor","defaultSize","sizeValue","pointOptions","mainPointColor","mainSeriesColor","containerColor","labelColor","_checkData","_points$0$aggregation","_points$aggregationIn","_getRangeData","_getPointDataSelector","tagField","getTagField","pointData","_processEmptyValue","_drawPoint","hasAnimation","_drawnPoints","_animateComplete","animationSettings","_errorBarGroup","_animate","lastPointIndex","getVisualRangeCenter","_defaultAggregator","_aggregators","aggregationResult","_endUpdateData","valueFields","_calculateErrorBars","valueArray","valueArrayLength","meanValue","errorBarType","floatErrorValue","addSubError","_i","_patchMarginOptions","usePointsToDefineAutoHiding","drawTrackers","trackers","trackersGroup","_segments","_trackers","_trackersGroup","_updateTrackerElement","_drawTrackerElement","_trackersTranslator","groupPointsByCoords","oppositeCoord","isOpposite","coordName","oppositeCoordName","_checkAxisVisibleAreaCoord","_getNearestPoints","_getBezierPoints","allPoints","bezierPoints","nearestPoints","getNeighborPoint","minDistance","pCoord","nCoord","_applyVisibleArea","visibleX","visibleY","getPointsByArg","getCanvas","paramName","tmpPoint","clonePoint","newX","newY","newAngle","getTangentPoint","centerPoint","nextStepAngle","correctAngle","obtainCubicBezierTCoef","lineMethods","autoHidePointMarkersEnabled","_applyGroupSettings","_elementsGroup","_bordersGroup","_areBordersVisible","_getDefaultSegment","pt","_parseLineOptions","_graphics","_drawElement","_createMainElement","_removeElement","_updateElement","animationComplete","lineElement","_sortPoints","segmentCount","lastSegment","_getTrackerSettings","defaultTrackerWidth","strokeWidthFromElements","_getMainPointsFromSegment","checkSeriesViewportCoord","isArgumentAxis","lineSeries","_getNearestPointsByCoord","needValueCoord","_calculateStepLinePoints","_calculateBezierPoints","pointsCopy","checkExtremum","otherPointCoord","controlCoord","curPoint","leftControlX","leftControlY","rightControlX","rightControlY","xCur","yCur","curIsExtremum","leftPoint","rightPoint","bezierCoordName","bezierOppositeCoordName","ts","_ret","preparedPoints","_closeSegment","_getTangentPoints","_getRemainingAngle","normAngle","_modifyReflectedPoint","lastPoint","differenceAngle","isLastSegment","tangentPoints","betweenAngle","_angle","coordParam","isInsideInterval","getRadius","neighborPoints","getNeighborPoints","stepAngle","k1","b1","k2","b2","quarter","param","firstPointCopy","lastPointCopy","rearwardRefPoint","forwardRefPoint","chartLineSeries","polarLineSeries","calculateBezierPoints","baseAreaMethods","_createBorderElement","_options$color","defaultSegment","lineParams","areaParams","borderElement","_options$highlight","borderStyle","singlePointSegment","createAreaPoints","areaSeries","processedPoints","_processSinglePointsAreaSegment","areaPoints","stepLineSeries","getSeriesPairCoord","_areaPointsToSplineAreaPoints","previousMiddlePoint","middlePoint","areaSegment","areaDefaultSegment","chartSeries","polarSeries","baseBarSeriesMethods","_getAffineCoordOptions","_getMainColor","_pointOptions$color","mainColor","colorId","_turnOffHatching","_updatePointsVisibility","_points","_animatePoints","drawnPoints","_this$getArgumentAxis","animateFunc","markersSettings","groupSettings","getTranslatedAngle","barSeries","baseRangeSeries","val1Field","val2Field","val1","val2","rangeValue1Field","rangeValue2Field","minCoordName","processedMinPointsCoords","bottomLine","drawnElement","elementsGroup","bordersGroup","bottomLineParams","bottomBorderElement","chartBarSeries","polarBarSeries","_noop","sizeField","baseGetter","aggregate","labelAnimFunc","processBubbleSize","chartScatterSeries","_map","ANIMATION_DURATION","_legendCallback","_getOldPoint","oldPointsByArgument","adjustLabels","drawLabelsWOPoints","getPointsCount","setMaxPointsCount","_pointsCount","dataIndex","labelSpace","paintNullPoints","pointsByArg","_rangeData","_getArrangeMinShownValue","minSegmentSize","totalMinSegmentSize","totalNotMinValues","_applyArrangeCorrection","minShownValue","isClockWise","segmentsDirection","zeroTotalCorrection","updatedZeroValue","_removePoint","arrangePoints","originalPoints","isAllPointsNegative","setVisibleArea","labelRadius","animatePoint","pointsCount","completeFunc","getPointsByKeys","DEFAULT_FINANCIAL_POINT_SIZE","defaultStyle","defaultPositiveStyle","reductionStyle","reductionPositiveStyle","markerSettings","prevLevelValue","openValueField","closeValueField","innerColor","_getDefaultStyle","_getReductionStyle","positiveStyle","ohlc","chartAreaSeries","baseStackedSeries","_stackName","stackedBar","preparePointsForStackedAreaSegment","getPointsByArgFromPrevSeries","prevSeries","_segmentByArg","_prevSeries","forwardPoints","backwardPoints","prevSeriesForwardPoints","pointByArg","prevSeriesPoints","seriesNS","APPLY_SELECTED","APPLY_HOVER","RESET_ITEM","NONE_MODE","INCLUDE_POINTS","NEAREST_POINT","SERIES_SELECTION_CHANGED","POINT_SELECTION_CHANGED","SERIES_HOVER_CHANGED","POINT_HOVER_CHANGED","ALL_SERIES_POINTS","ALL_ARGUMENT_POINTS","POINT_HOVER","CLEAR_POINT_HOVER","SERIES_SELECT","POINT_SELECT","POINT_DESELECT","getEmptyBusinessRange","includePointsMode","getLabelOptions","opt","labelFont","labelBorder","labelConnector","backgroundAttr","connectorAttr","setPointHoverState","releasePointHoverState","setPointSelectedState","releasePointSelectedState","mergePointOptionsCore","extra","mergePointOptions","Series","_eventPipe","eventPipe","getValueChecker","_createStyles","wideId","forceClipping","clipLabels","_clipLabels","applyClip","resetClip","_createPoint","oldPoint","pointsByArgument","lastSelectionMode","pointByArgument","_deleteGroup","_checkType","_checkPolarBarType","isUpdated","_firstDrawing","_defineDrawingState","_pointOptions","_seriesModes","commonSeriesModes","_valueAxis","_argumentAxis","barOverlapGroup","ignoreEmptyPoints","_disposePoints","_canRenderCompleteHandle","dataSelector","itemsWithoutArgument","pointDataItem","getAggregationInfo","_useAllAggregatedPoints","_resample","useAllAggregatedPoints","_normalizeUsingAllAggregatedPoints","_createPoints","_getData","pointIndex","_removeOldSegments","isCloseSegment","setDefaultCoords","_drawSegments","groupForPoint","closeSegment","hideLayoutLabels","_isAllPointsTranslated","prepareCoordinatesForPoints","_resetApplyingAnimation","_prepareSegmentsPosition","_drawElements","hideLabels","_changeStyle","lastHoverMode","_this$_points","_translatePoints","spiderWidget","seriesType","_setPointsView","_resetPointsView","_resetNearestPoint","_nearestPoint","_setSelectedState","_releaseSelectedState","isStackedSeries","resetApplyingAnimation","isFirstDrawing","isFinancialSeries","_canChangeView","skipPoints","updateHover","currentNearestPoint","_getMainAxisName","areLabelsVisible","customizeObject","customLabelOptions","customOptions","customizeLabel","_changeVisibility","parsedOptions","_getAggregationMethod","aggregator","customAggregator","calculate","ticks","addAggregatedData","processData","aggregationMethod","dataInInterval","aggregatedData","_aggregationInfo","canRenderCompleteHandle","getAllPoints","_createAllAggregatedPoints","getPointByPos","currentPoint","skipPointsCreation","argValue","createPoints","notify","seriesModes","targetOptions","pointHoverMode","selectionModeOfPoint","_hoverPointHandler","notifyLegend","_clearPointHoverHandler","_selectPointHandler","_deselectPointHandler","_deletePoints","_deleteTrackers","getBarOverlapGroup","getPointByCoord","ThemeManager","processAxisOptions","logarithmBaseError","userAlignment","applyParticularAxisOptions","processedUserOptions","_userOptions","mergeOptions","tickInterval","_mergedSettings","applyParticularTheme","valueAxisRangeSelector","seriesCount","seriesVisibility","userCommonSettings","themeCommonSettings","isBar","isLine","isArea","isBubble","getNextColor","_multiPieColors","parseOption","none","dragToZoom","_mergeAxisTitleOptions","resetPalette","updatePalette","resetOptions","DEFAULT_INNER_RADIUS","getNearestCoord","firstCoord","secondCoord","pointCenterCoord","nearestCoord","getLabelLayout","getPieRadius","paneCenterX","paneCenterY","accessibleRadius","minR","singleSeries","radiusIsFound","xCoords","yCoords","getLengthFromCenter","getSizeLabels","rWidth","outerLabelsCount","sizes","rSizes","common","labelSizes","averageWidthLabels","curRadius","runningWidth","getInnerRadius","LayoutManager","getAverageLabelWidth","sizeLabels","getFullRadiusWithLabels","correctAvailableRadius","availableRadius","fullRadiusWithLabels","toLayoutElementCoords","applyPieChartSeriesLayout","paneSpaceHeight","paneSpaceWidth","piePercentage","minPiePercentage","applyEqualPieChartLayout","correctPieLabelRadius","availableLabelWidth","fixedSizeCallback","percentageIsValid","needHorizontalSpace","needVerticalSpace","paneCanvas","paneSized","needPaneHorizontalSpace","needPaneVerticalSpace","layoutInsideLegend","eventsConsts","EVENT_NS","DOT_EVENT_NS","POINTER_ACTION","pointer","down","LEGEND_CLICK","SERIES_CLICK","POINT_CLICK","POINT_DATA","SERIES_DATA","ARG_DATA","DELAY","HOLD_TIMEOUT","ALL_ARGUMENT_POINTS_MODE","INCLUDE_POINTS_MODE","EXLUDE_POINTS_MODE","LEGEND_HOVER_MODES","dataKey","tryCheckParent","getParentData","clickTarget","deprecatedCancel","eventCanceled","correctLegendHoverMode","correctHoverMode","baseTrackerPrototype","_tooltip","_seriesGroup","_showPointTooltip","_hidePointTooltip","_pointerHandler","up","_holdTimer","_clickHandler","_chart","resetDecorations","noHoveredSeries","hoveredSeries","_hoveredPoint","_storedSeries","_hideTooltip","pointAtShownTooltip","setCanvases","mainCanvas","paneCanvases","_mainCanvas","_canvases","repairTooltip","_showTooltip","_setHoveredPoint","_releaseHoveredPoint","isPointerOut","isEnabled","_setHoveredSeries","_releaseHoveredSeries","hoveredPoint","_hoveredArgumentPoints","_resetHoveredArgument","silent","eventData","isShared","getStackedPoints","getLocation","rootOffset","pointWithTooltip","_enableOutHandler","_outHandler","pageX","pageY","_isCursorOnTooltip","_pointerOut","_disableOutHandler","getDocument","isCursorOnTooltip","stopCurrentHandling","force","_triggerLegendClick","elementClick","_hoverLegendItem","legendHoverMode","_hoverArgument","_getArgumentHoverMode","_hoveredArgument","_argumentIndex","_notifySeries","_notifyLegendOnHoverArgument","_series","_getCanvas","_isHolding","_stuckSeries","_hoverArgumentAxis","_isPointerOut","_stickyHovering","_setTimeout","_setStuckSeries","_pointerComplete","_pointerOnPoint","_point2","_legendClick","_point3","_pointClick","ChartTracker","_axisHoverEnabled","_rotated","_crosshair","canvases","_hideCrosshair","_this$_crosshair","_moveCrosshair","_resetTimer","_getSeriesForShared","_point4","keeper","_timeoutKeeper","_hoverTimeout","_stopEvent","cancelable","PieTracker","parseAttributes","FILE_EXTESIONS","EXCEL","CSS","PNG","JPEG","GIF","SVG","PDF","MIME_TYPES","fileSaver","_revokeObjectURLTimeout","_getDataUri","mimeType","_getMimeType","_linkDownloader","exportLinkElement","_winJSBlobSave","blob","savePicker","Windows","Storage","Pickers","FileSavePicker","suggestedStartLocation","PickerLocationId","documentsLibrary","fileExtension","fileTypeChoices","suggestedFileName","pickSaveFileAsync","file","openAsync","FileAccessMode","readWrite","outputStream","inputStream","msDetachStream","Streams","RandomAccessStream","copyAsync","flushAsync","_click","_saveBlobAs","_blobSaved","WinJS","mozURL","msURL","oURL","objectURL","downloadLink","_objectUrlRevoked","_pow","_atan2","_number","IMAGE_QUALITY","TEXT_DECORATION_LINE_WIDTH_COEFF","DEFAULT_FONT_FAMILY","DEFAULT_TEXT_COLOR","getStringFromCanvas","dataURL","toDataURL","atob","arcTo","largeArcFlag","clockwise","cBx","cBy","aB","opSide","adjSide","getElementOptions","rootAppended","rotationX","rotationY","parseStyles","drawRect","Image","transformElement","clipElement","drawPath","dAttr","prevParams","prevParamsLen","dArray","bezierCurveTo","getComputedStyle","textDecorationLine","parseUrl","urlString","setFontStyle","fontParams","fontFamily","applyFilter","strokeElement","drawTextDecoration","measureText","textHeight","fillElement","aggregateOpacity","fillOpacity","hasTspan","drawTextElement","drawElement","elementOptions","mergedOptions","offsets","commonWidth","xDiff","currentOffset","parentOptions","isText","isImage","isComment","nodeType","applyGradient","linearGradients","radialGradients","gradients","horizontalCenter","verticalCenter","createLinearGradient","createRadialGradient","addColorStop","stopColor","_gradients$id$transfo","filterOptions","filters","shadowOffsetX","shadowOffsetY","shadowBlur","clipPaths","hex2rgba","hexColor","createGradient","_element$attributes$g","createFilter","asyncEach","drawCanvasElements","onDone","patterns","getPattern","patternCanvas","imageCreator","_createCanvas","patternContext","createPattern","drawBackground","createInvisibleDiv","invisibleDiv","convertSvgToCanvas","getCanvasFromSvg","svgToCanvas","scaledScreenInfo","calcScaledInfo","svgElem","markupIsDomElement","newAttributes","__parseAttributesFn","binaryData","useBase64","_getBlob","_getBase64","dataArray","btoa","hidden","testFormats","formats","supported","unsupported","devicePixelRatio","svgCreator","_markup","_imageArray","_imageDeferreds","_getBinaryFile","ajax","sendRequest","_loadImages","binary","bytes","byteLength","_parseImages","_prepareImages","$svgObject","dataURI","regexpString","mainPageTemplate","infoTemplate","imageStartTemplate","imageEndTemplate","trailerTemplate","xrefTemplate","pad","composePdfString","imageString","curDate","widthPt","heightPt","flooredWidth","flooredHeight","mainPage","content","xref","getXref","mainContent","trailer","mainPageLength","contentLength","infoLength","getCurDate","getBlob","getBase64","getTwoDigitValue","stringValue","convertToPdfDateFormat","date","dateUnits","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","pdfData","_export","exportingAction","exportedAction","fileSavingAction","selectedRowsOnly","creator","pdf","pointerActions","BUTTON_SIZE","ICON_COORDS","LIST_PADDING_TOP","LIST_WIDTH","VERTICAL_TEXT_MARGIN","HORIZONTAL_TEXT_MARGIN","MENU_ITEM_HEIGHT","LIST_STROKE_WIDTH","MARGIN","SHADOW_OFFSET","SHADOW_BLUR","DEFAULT_EXPORT_FORMAT","ALLOWED_IMAGE_FORMATS","ALLOWED_EXTRA_FORMATS","EXPORT_CSS_CLASS","A4WidthCm","EXPORT_DATA_KEY","FORMAT_DATA_KEY","getValidFormats","imageFormats","validateFormat","validFormats","getCreatorFunc","print","imageSrc","iFrame","setPrint","calculatePrintPageWidth","iFrameBody","contentWindow","widthRatio","removeFrame","parentElement","getItemAttributes","separator","createMenuItem","menuItem","resetState","fixPosition","textBBox","createMenuItems","printingEnabled","getFormatter","ExportMenu","_exportTo","exportTo","_print","_shadow","_buttonGroup","_listGroup","_overlay","_subscribeEvents","getExportOptions","exportOptions","_hiddenDueToLayout","_updateButton","_updateList","_hideList","_unsubscribeEvents","_fillSpace","_listShown","_setButtonState","_menuItems","_button","_icon","elementType","_showList","enter","leave","exportData","buttonDefault","listGroup","_exportMenu","pointerEventsValue","menu","_disablePointerEvents","__test","_getExportMenuOptions","onExported","onFileSaving","postCtor","_dataSourceLoadErrorHandler","_dataSourceChangedHandler","_dataSourceOptions","paginate","_updateDataSource","_dataIsLoaded","isLoaded","_dataSourceItems","_excluded","asin","buildPath","_len","_key","getArc","xDirection","yDirection","getAbsoluteArc","rotateSize","getCloudAngle","halfWidth","halfHeight","getCloudPoints","bounded","halfArrowWidth","leftTopCorner","rightTopCorner","rightBottomCorner","leftBottomCorner","arrowX","arrowY","arrowBaseBottom","arrowBaseTop","arrowBaseLeft","arrowAngle","arrowEndPointX","arrowEndPointY","arrowArc","_arrowArc","arrowWidthRest","arrowBaseTopX","arrowBaseTopY","_arrowWidthRest","_arrowAngle","_angle2","_arrowBaseTopX","_arrowBaseTopY","bottomAngle","arrowBaseBottomX","arrowBaseBottomY","topAngle","_arrowBaseTopX2","_arrowBaseTopY2","_bottomAngle","_arrowBaseBottomX","_arrowBaseBottomY","_bottomAngle2","_arrowBaseBottomX2","_arrowBaseBottomY2","_bottomAngle3","_arrowBaseBottomX3","_arrowBaseBottomY3","_topAngle","_arrowBaseTopX3","_arrowBaseTopY3","measureContent","moveContentGroup","bonded","restProps","bounds_xl","bounds_xr","bounds_width","bounds_yt","bounds_yb","bounds_height","_root","_draw","shadowSettings","contentWidth","contentHeight","onRender","_this$_root","_contentBBox","_contentGroup","xOff","yOff","lm","rm","tm","bm","y_top","y_bottom","cloudSettings","cloudGroup","_cloud","radRotationAngle","mathCeil","mathMax","mathMin","DEFAULT_HTML_GROUP_WIDTH","hideElement","detach","getSpecialFormatOptions","specialFormat","createTextHtml","removeElements","Tooltip","_widgetRoot","widgetRoot","_textHtmlContainers","_wrapper","_textGroupHtml","_textHtml","_getContainer","_template","_textFontStyles","_customizeTooltip","textGroupHtml","plaque","setTemplate","isMoving","templateCallback","_state","useTemplate","skipTemplate","textColor","htmlContainers","containerToTemplateRender","_riseEvents","_moveWrapper","customizeCloud","_eventData","setRendererOptions","normalizedCSS","_prepare","fontColor","forceEvents","_clear","plaqueBBox","moveRoot","_specialFormat","containerBox","getDocumentElement","pageXOffset","scrollLeft","pageYOffset","scrollTop","clientWidth","scrollHeight","clientHeight","_initTooltip","_disposeTooltip","_setTooltipRendererOptions","_setTooltipOptions","onTooltipShown","onTooltipHidden","STATE_HIDDEN","STATE_SHOWN","ANIMATION_EASING","LOADING_INDICATOR_READY","LoadingIndicator","_rect","_createStates","_states","_transit","stateId","_isHiding","_noHiding","scheduleHiding","fulfillHiding","_loadingIndicator","_skipLoadingIndicatorOptions","_scheduleLoadingIndicatorHiding","_fulfillLoadingIndicatorHiding","showLoadingIndicator","hideLoadingIndicator","isLoading","onLoadingIndicatorReady","REINIT_REFRESH_ACTION","REINIT_DATA_SOURCE_REFRESH_ACTION","DATA_INIT_REFRESH_ACTION","FORCE_RENDER_REFRESH_ACTION","RESIZE_REFRESH_ACTION","ACTIONS_BY_PRIORITY","DEFAULT_OPACITY","REFRESH_SERIES_DATA_INIT_ACTION_OPTIONS","REFRESH_SERIES_FAMILIES_ACTION_OPTIONS","FORCE_RENDER_REFRESH_ACTION_OPTIONS","FONT","checkHeightRollingStock","rollingStocks","stubCanvas","canvasSize","rollingStock","findAndKillSmallValue","smallestObject","checkStackOverlap","iLength","jLength","overlap","checkStacksOverlapping","resolveLabelOverlappingInOneDirection","isRotated","shiftFunction","sortRollingStocks","customSorting","hasStackedSeries","RollingStock","sortRollingStocksByValue","rollingStocksTmp","getInitialPosition","prepareOverlapStacks","moveRollingStock","firstRolling","secondRolling","inTwoSides","firstRect","secondRect","oppositeOverlapping","oppositeStart","oppositeEnd","positiveRollingStocks","negativeRollingStocks","currentRollingStock","toChain","nextRollingStock","currentBBox","nextBBox","rollingStocksIsOut","setRollingStockInCanvas","_initialPosition","getLegendFields","indexField","getLegendSettings","legendDataField","formatObjectFields","checkOverlapping","nextRollingStockBBox","_changeBoxWidth","shiftLength","overlapping","BaseChart","onSeriesClick","onPointClick","onArgumentAxisClick","onLegendClick","onSeriesSelectionChanged","onPointSelectionChanged","onSeriesHoverChanged","onPointHoverChanged","onZoomStart","onZoomEnd","chartOption","themeManager","_canvasClipRect","_createHtmlStructure","_createLegend","_createTracker","_needHandleRenderComplete","layoutManager","_createScrollBar","_getLayoutItems","_layoutManagerOptions","_reinitAxes","_correctAxes","createConstantLinesGroup","_constantLinesGroup","under","above","_labelsAxesGroup","appendLabelsAxesGroup","_backgroundRect","_panesBackgroundGroup","_stripsGroup","_gridGroup","_panesBorderGroup","_axesGroup","_executeAppendBeforeSeries","_stripLabelAxesGroup","_executeAppendAfterSeries","_scaleBreaksGroup","_crosshairCursorGroup","_getCanvasClipRectID","_scrollBarGroup","_disposeObjectsInArray","propName","fieldNames","disposeObject","unlinkGroup","disposeObjectsInArray","_groupsData","_processRefreshData","_resize","_doRender","__renderOptions","isResize","_trackerType","_tracker","_getSelectionModes","_updateTracker","trackerCanvases","currentCanvas","drawOptions","_prepareDrawOptions","recreateCanvas","_preserveOriginalCanvas","__currentCanvas","_updateCanvasClipRect","_createCanvasFromRect","_cleanGroups","startTime","_renderElements","_lastRenderingTime","__originalCanvas","_layoutAxes","argBusinessRange","zoomMinArg","zoomMaxArg","preparedOptions","_prepareToRender","_isRotated","isLegendInside","_isLegendInside","drawLegend","layoutTargets","_getLayoutTargets","needSpace","axisDrawOptions","_renderAxes","_shrinkAxes","_applyClipRects","_appendSeriesGroups","_createCrosshairCursor","_scrollBar","_argumentAxes","setPosition","_updateLegendPosition","_applyPointMarkersAutoHiding","_renderSeries","_appendAdditionalSeriesGroups","_calculateSeriesLayout","_renderSeriesElements","needMoreSpaceForPanesCanvas","_updateSeriesDimensions","_getArgFilter","_getValFilter","argViewPortFilter","valViewPortFilter","pointsToAnimation","_getPointsToAnimation","_applyExtraSettings","animationPointsLimit","_getLegendCallBack","_adjustSeriesLabels","_locateLabels","_renderTrackers","_renderExtraElements","_clearCanvas","_seriesElementsDrawn","_renderCompleteHandler","_resolveLabelOverlapping","_resolveLabelOverlappingStack","_resolveLabelOverlappingHide","_resolveLabelOverlappingShift","_getVisibleSeries","getAllSeries","currentLabel","nextLabel","currentLabelRect","nextLabelRect","_allowLegendInsidePosition","legendSettings","_legendDataField","_updateLegend","legendOptions","legendData","_getLegendData","animationOptions","adjustAxes","drawTitle","newRefreshAction","currentRefreshActionPosition","_currentRefreshData","newRefreshActionPosition","_getLegendTargets","opacityStyle","_getLegendOptions","_legendItemTextField","seriesIndex","_that$series","seriesFamilies","paletteExtensionMode","defaultPane","_change_ANIMATION","_change_DATA_SOURCE","_change_PALETTE","_refreshSeries","_change_REFRESH_SERIES_DATA_INIT","_change_DATA_INIT","needToPopulateSeries","_dataInit","_change_FORCE_DATA_INIT","_change_REFRESH_SERIES_FAMILIES","_processSeriesFamilies","_populateBusinessRange","_change_FORCE_RENDER","_change_AXES_AND_PANES","_change_ROTATED","_change_REFRESH_SERIES_REINIT","_change_SCROLL_BAR","_change_REINIT","_change_FORCE_DRAWING","_resetComponentsAnimation","_change_FORCE_FIRST_DRAWING","_resetAxesAnimation","actionName","_doRefresh","_dataSpecificInit","_processSingleSeries","_populateMarginOptions","needRedraw","_populateSeries","_repopulateSeries","_seriesPopulatedHandlerCore","updateSeries","_forceRender","dataValidatorOptions","_groupSeries","_handleSeriesDataUpdated","allSeriesInited","particularSeriesOptions","seriesTheme","seriesOptions","allSeriesOptions","extraOptions","_getExtraOptions","seriesThemes","seriesVisibilityChanged","_specialProcessSeries","_checkPaneName","_that$series2","particularSeries","seriesBasis","_populateSeriesOptions","disposeSeriesFamilies","curSeries","sb","_disposeSeries","_disposeSeriesFamilies","basis","_that$_argumentAxes$f","_that$_argumentAxes","_getValueAxis","getSeriesByName","found","getSeriesByPos","renderOptions","_reinit","_change_TITLE","getValueAxesPerPanes","valueAxes","linearConverter","br","getTicks","tickValues","logConverter","convertAxisInfo","axisInfo","converter","isLogarithmic","logarithmicBase","oldMinValue","oldMaxValue","populateAxesInfo","ticksValues","getTicksValues","majorTicks","majorTicksValues","_tickInterval","synchronizedValue","breaks","applyMargins","minorValues","minorTicksValues","minorTickInterval","_minorTickInterval","updateTickValues","axesInfo","maxTicksCount","ticksMultiplier","ticksCount","additionalStartTicksCount","baseTickValue","invertedBaseTickValue","getAxisRange","getMainAxisInfo","stubData","correctMinMaxValues","mainAxisInfo","mainAxisInfoTickInterval","mainAxisBaseValueOffset","valueFromAxisInfo","calculatePaddings","minPadding","maxPadding","startPadding","endPadding","correctMinMaxValuesByPaddings","paddings","updateTickValuesIfSynchronizedValueUsed","hasSynchronizedValue","applyMinMaxValues","updateBusinessRange","setTicks","minorTicks","correctAfterSynchronize","invalidAxisInfo","firstTick","correctedTick","updateMinorTicks","tickCount","correctPaddings","getCorrectedValuesToZero","multiAxesSynchronizer","synchronize","_isDate","minSelector","maxSelector","minVisibleSelector","maxVisibleSelector","baseSelector","axisTypeSelector","otherLessThan","thisValue","otherValue","otherGreaterThan","compareAndReplace","setValue","otherValueDefined","Range","_Range","addRange","otherRange","otherCategories","compareAndReplaceByField","controlValuesByVisibleBounds","visibleValueField","checkField","correctValueZeroLevel","setZeroLevel","filteredSeriesCategories","notAFunction","EXPONENTIAL","dateUnitIntervals","INTERVALS_MAP","week","shorttime","longtime","patchFirstTickDiff","differences","tickFormatIndex","dateUnitInterval","setDateUnitInterval","millisecond","resetDateUnitInterval","patchTickDiff","patched","getDatesDifferences","prevDate","nextDate","tickIntervalFormat","nextDifferences","prevDifferences","intervalIndex","getNoZeroIndex","getTransitionTickIndex","curDiff","minDiff","nearestTickIndex","splitDecimalNumber","createFormat","formatter","formatLogarithmicNumber","log10Tick","getDateTimeFormat","prevDateIndex","nextDateIndex","showTransition","typeFormat","getDateFormatByTickInterval","indexOfTick","getDateFormatByTicks","datesDifferences","getDateFormatByDifferences","getFormatExponential","stringTick","getFormatWithModifier","tickIndex","tickIntervalIndex","actualIndex","indexOfFormat","separatedTickInterval","getHighDiffFormat","diff","getHighAndSelfDiffFormat","formatDateRange","diffFormatType","diffFormat","rangeFormat","_rangeFormat","processDateInterval","sum","dateUnit","smartFormatter","formatOptions","logarithmic","discrete","convertTicksToValues","validateOverlappingMode","getTicksCountInRange","valueKey","areLabelsOverlap","bBox1","bBox2","horizontalInverted","verticalInverted","width1","width2","hasHorizontalOverlapping","hasVerticalOverlapping","convertDateUnitToMilliseconds","mathAbs","mathFloor","mathPow","NUMBER_MULTIPLIERS","LOGARITHMIC_MULTIPLIERS","DATETIME_MULTIPLIERS","second","minute","hour","day","month","DATETIME_MULTIPLIERS_WITH_BIG_WEEKEND","DATETIME_MINOR_MULTIPLIERS","MINOR_DELIMITERS","VISIBILITY_DELIMITER","MINUTE","dummyGenerator","screenDelta","forceTickInterval","discreteGenerator","getLogValue","mathRaiseTo","logAbsValue","correctValueByInterval","post","getValue","correctMinValueByEndOnTick","floorFunc","ceilFunc","resolveEndOnTick","businessViewInfo","forceEndOnTick","floorTickValue","curValue","tickValue","prevTickDataDiff","intervalCount","businessDelta","businessRatio","potentialTickScreenDiff","delimiterFactor","delimiterMultiplier","isSpacedMargin","screenDelimiter","resolveEndOnTickLog","resolveEndOnTickDate","getBusinessDelta","getBusinessDeltaLog","getIntervalByFactor","addTickCount","getMultiplierFactor","factorDelta","calculateTickInterval","multipliers","allowDecimals","minTickInterval","onlyIntegers","calculateMinorTickInterval","getCalculateTickIntervalLog","skipCalculationLimits","adjustInterval","getAdjustIntervalLog","getDataTimeMultipliers","gapSize","numbersReducer","yearsReducer","years","calculateTickIntervalDateTime","adjustIntervalDateTime","calculateMinorTickIntervalDateTime","getTickIntervalByCustomTicks","postProcess","isNegative","addInterval","addIntervalLog","raise","addIntervalDate","addIntervalWithBreaks","breakSize","calculateTicks","correctMinValue","gaps","generateExtraTick","correctTickValue","correctTickValueOnGapSize","calculateMinorTicks","updateTickInterval","maxCount","lastMajor","firstMajor","tickBalance","middleTicks","prevTick","minors","filterTicks","tmpTicks","getMajorTickIntervalByCustomTicks","getMinorTickIntervalByCustomTicks","convertTickInterval","processScaleBreaks","correctUserTickInterval","limit","customTicks","minorTickCount","majors","numberMultipliers","days","skipTickGeneration","calculateMinors","minorBusinessDelta","minorScreenDelta","minorAxisDivisionFactor","getBaseTick","breakValue","insideTick","getScaleBreaksProcessor","addCorrection","breakTicks","cumulativeWidth","numericGenerator","calculateTickIntervalByCustomTicks","correctValueByIntervalLog","getRound","logarithmicGenerator","logBase","absLog","absRaise","ceilNumber","dateGenerator","floorNumber","intervalObject","getDateIntervalByString","divider","quarters","correctDateWithUnitBeginning","firstDayOfWeek","floorAtStartDate","getTimezoneOffset","setFullYear","getFullYear","months","setHours","getHours","hours","setMinutes","getMinutes","minutes","setSeconds","getSeconds","seconds","convertMillisecondsToDateUnits","tickGenerator","rangeIsEmpty","directionOffset","canvasOptions","_canvasOptions","categoryIndex","_categoriesToPoints","specialValue","translateSpecialCase","startPointIndex","stickInterval","stick","stickDelta","_calculateProjection","getInterval","getEventScale","zoomEvent","deltaScale","_categories","endCategoryIndex","translateCategories","visibleCount","startCategoryIndex","categoriesLength","canvasLength","newVisibleCategories","newInterval","_getDiscreteInterval","startPoint","getMinScale","getCanvasVisibleArea","stickOffset","minPoint","maxPoint","getCorrectValue","_businessRange","_add","toValue","isValueProlonged","minVisibleIndex","maxVisibleIndex","_intervalize","bp","ratioOfCanvasRange","rangeMax","rangeMin","_parse","fromValue","co","_to","rMin","rangeMinVisible","rMax","rangeMaxVisible","_conversionValue","origInterval","_calculateUnProjection","addDateInterval","convert","getMinBarSize","minBarSize","checkMinBarSize","stackValue","updateValue","baseMethod","CANVAS_PROP","dummyTranslator","conversionValue","endPoint","validateCanvas","makeCategoriesToPoints","categoriesToPoints","validateBusinessRange","baseValueSelector","prepareBreaks","transformFrom","transformTo","trFrom","trTo","getCanvasBounds","getCheckingMethodsAboutBreaks","isStartSide","isEndSide","isInBreak","isBetweenBreaks","prevBreak","lastBreak","getBreaksSize","_Translator2d","getPathStyle","createTick","tickOptions","skippedCategory","skipLabels","tickOffset","_tickOffset","lineGroup","_axisLineGroup","_axisElementsGroup","tickStyle","gridStyle","emptyStrRegExp","labelStyle","_textOptions","getLabelFontStyle","customizeColor","createLabelHint","labelHint","formatHint","getContentContainer","initCoords","_getTranslatedValue","labelCoords","_lastStoredCoordinates","_storedCoords","_storedLabelsCoords","templateContainer","_getTemplateCoords","areCoordsOutsideAxis","getSharpDirectionByCoords","updateTickPosition","_createPathElement","storedSettings","isGridLine","_rotateTick","_updateLine","_getTickMarkPoints","isRendered","updateLabelPosition","labelIsVisible","templateOption","formatLabel","_templateDef","labelFontStyle","containerForData","removeLabel","startSettings","endSettings","_fadeOutLabel","_axisGridGroup","_getLabelAdjustedCoord","_constantLabelOffset","lCoords","_lCoords","_fadeInLabel","textsAlignment","labelAlignment","drawGrid","drawLine","updateGridPosition","_getGridPoints","contentContainer","reinit","script","_prepareCanvasOptions","addSpiderCategory","_oldMethods","sc","_checkingMethodsAboutBreaks","_translateBreaks","_calculateSpecialValues","_breaks","breaksSize","_checkValueAboutBreaks","inBreak","break","correctedCategoriesCount","rangeDoubleError","updateCanvas","_userBreaks","userBreaks","canvas_position_default","canvas_position_center_middle","canvas_position_left","canvas_position_top","canvas_position_center","canvas_position_middle","canvas_position_right","canvas_position_bottom","canvas_position_start","canvas_position_end","_interval","zoomZeroLengthRange","newStart","newEnd","_correctValueAboutBreaks","isDateTime","newMin","newMax","getDateTimeMinScale","shiftZeroValue","commonBreakSize","getRange","getScreenRange","coeff","getWeekendDays","workdays","workDay","getNextDayIndex","dayIndex","dayBetweenWeekend","weekend","getDaysDistance","separateBreak","scaleBreak","dayEnd","setDate","getDate","getWeekEndDayIndices","workDays","generateDateBreaksForWeekend","weekendDayIndices","weekends","currentWeekEnd","currentDate","trimTime","getDay","excludeWorkDaysFromWeekEndBreaks","exactWorkDays","processWorkDay","workday","separatedBreak","generateBreaksForHolidays","holidays","dayInWeekend","adjustedMin","adjustedMax","holiday","holidayStart","holidayEnd","calculateGaps","generateDateBreaks","singleWorkdays","getNextDateUnit","SCALE_BREAK_OFFSET","RANGE_RATIO","WAVED_LINE_CENTER","WAVED_LINE_TOP","WAVED_LINE_BOTTOM","WAVED_LINE_LENGTH","TICKS_CORRECTIONS","prepareDatesDifferences","sortingBreaks","getMarkerDates","markerInterval","dates","origMin","getSequenceByInterval","getStripHorizontalAlignmentPosition","getStripVerticalAlignmentPosition","getMarkerInterval","getMarkerFormat","getMaxSide","boxes","getDistanceByAngle","atan","getMaxConstantLinePadding","getConstantLineLabelMarginForVerticalAlignment","labelHeight","getLeftMargin","getRightMargin","generateRangesOnPoints","edgePoints","curRange","maxRange","ranges","generateAutoBreaks","visibleRange","sortedAllPoints","epsilon","_maxAutoBreakCount","_getStep","minSpacing","_isHorizontal","maxLabelLength","_getMaxLabelHeight","_majorTicks","_validateOverlappingMode","_validateDisplayMode","getMarkerTrackers","_markerTrackers","_getSharpParam","opposite","_createAxisElement","_updateAxisElementPosition","axisCoord","_axisPosition","_getCanvasStartEnd","_axisElement","_getTranslatedCoord","_translator","customPositionIsAvailable","_customBoundaryPosition","getCustomBoundaryPosition","customPositionIsBoundary","getPredefinedPosition","getResolvedBoundaryPosition","getCustomPosition","tickStartCoord","tickOrientation","labelPosition","getTickStartPositionShift","hasNonBoundaryPosition","_getTitleCoords","fromStartToEnd","canvasStart","canvasEnd","_drawTitleText","_checkTitleOverflow","_updateTitleCoords","_drawTitle","_axisTitleGroup","_measureTitle","originalSize","_drawDateMarker","pathElement","markerOptions","textIndent","withoutStick","cropped","getEnd","hideLabel","_drawDateMarkers","dateMarker","_getViewportRange","dateMarkers","markerDate","markersAreaTop","_getLabelFormatOptions","getDateUnitInterval","markerDates","_adjustDateMarkers","prevDateMarker","_dateMarkers","_checkMarkersPosition","_initializeMarkersTrackers","nextMarker","markerTracker","formatString","markerLabelOptions","_markerLabelOptions","_adjustConstantLineLabels","axisPosition","canvasLeft","canvasRight","canvasTop","canvasBottom","maxLabel","linesOptions","labelVerticalAlignment","labelHorizontalAlignment","labelIsInside","_drawConstantLinesForEstimating","_drawConstantLineLabelText","_estimateLabelHeight","drawingType","sinCos","estimateMargins","ticksData","_createTicksAndLabelFormat","constantLineOptions","_outsideConstantLines","rootElement","labelValue","labelElement","constantLinesLabelsElement","constantLinesBox","titleHeight","constantLinesHeight","_checkAlignmentConstantLineLabels","_getConstantLineLabelsCoords","lineLabelOptions","_orthogonalPositions","_getAdjustedStripLabelCoords","strip","stripOptions","_adjustTitle","boxTitle","loCoord","hiCoord","_getScreenDelta","_wrapped","moreThanOriginalSize","_boundaryTicksVisibility","seriesData","_seriesData","seriesRange","_getScaleBreaks","_getStick","_getStripLabelCoords","stripLabelOptions","orthogonalPositions","pos1","pos2","_getSkippedCategory","_filterBreaks","currentBreak","newBreak","lastResult","_lastResult$cumulativ","_lastResult$cumulativ2","workdaysOnly","_drawBreak","translatedEnd","positionFrom","positionTo","breakStart","isWaved","spaceAttr","rotateLine","drawer","getLineDrawer","_createBreakClipRect","clipWidth","_breaksElements","_createBreaksGroup","clipFrom","clipTo","_axisCssPrefix","_disposeBreaksGroup","drawScaleBreaks","customCanvas","additionGroup","additionBreakFrom","additionBreakTo","breakOptions","_axisShift","mainGroup","breakCoord","_getSpiderCategoryOption","axesSpacing","getMultipleAxesSpacing","constantLinesGroups","_axisConstantLineGroups","shiftGroup","_axisGroup","currentPosition","orthogonalAxis","getOrthogonalAxis","resolvedPosition","getResolvedPositionOption","orthogonalTranslator","orthogonalAxisType","validPosition","positionIsBoundary","customPosition","_options$customPositi","_this$_orthogonalPosi","oppositeAxes","overlappingObj","_detectElementsOverlapping","_shiftThroughOrthogonalAxisOverlappedTick","oppositeTick","oppositeLabel","_shiftThroughAxisOverlappedTick","orthogonalAxisPosition","orthogonalAxisLabelOptions","orthogonalAxisLabelPosition","orthogonalAxisLabelIndent","translateCoordName","defaultOrthogonalAxisLabelPosition","labelCoord","labelSize","outsidePart","insidePart","_tick$mark","tickMarkBBox","labelIndent","defaultLabelPosition","element1","element2","rotatePoints","topPoint","bottomPoint","lineCoords","calculateCanvasMargins","cLeft","cTop","cRight","cBottom","measureLabels","xyAxesLinear","HALF_PI_ANGLE","getPolarQuarter","circularAxes","_calculateValueMargins","_calculateRangeInterval","_getTranslatorOptions","_center","_radius","_updateCenter","_processCanvas","_updateRadius","originValue","_viewport","tickOuterLength","labelBoxes","_adjustLabelsCoord","_checkBoundedLabelsOverlapping","_setVisualRange","applyVisualRangeSetter","_getStripGraphicAttributes","_createStrip","halfRad","_getConstantLineGraphicAttributes","_createConstantLine","_adjustDivisionFactor","angles","radiusWithTicks","inside","_offset","_maxWidth","checkCanvas","labelY","labelAngle","boxShiftX","boxShiftY","_getGridLineDrawer","maxLabelBox","angle1","angle2","labelOpt","lastVisibleLabelIndex","circular","circularSpider","getSpiderTicks","getFullTicks","_spiderTicks","lastTick","nextTick","spiderTicks","_setTickOffset","_reinitTranslator","xy","fromPoint","toPoint","labelPos","linearSpider","setSpiderTicks","_getGridPointsByRadius","innerPoints","outerPoints","createConstantLine","parsedValue","lastStoredCoordinates","storedCoord","valueIsParsed","getParsedValue","_getConstantLinePos","rootGroup","displayBehindSeries","_drawConstantLineLabels","updatePosition","_rotateConstantLine","createStrip","_getStripPos","_axisStripLabelGroup","stripPos","_getCoord","outOfCanvas","_axisStripGroup","DEFAULT_AXIS_LABEL_SPACING","MAX_GRID_BORDER_ADHENSION","KEEP","SHIFT","RESET","ROTATE","DEFAULT_AXIS_DIVISION_FACTOR","DEFAULT_MINOR_AXIS_DIVISION_FACTOR","SCROLL_THRESHOLD","MIN_BAR_MARGIN","MAX_MARGIN_VALUE","dateIntervals","getTickGenerator","adjustDivisionFactor","_options$workWeek","createMajorTick","createMinorTick","createBoundaryTick","isFirst","callAction","actionArgument1","actionArgument2","initTickCoords","drawTickMarks","drawGrids","updateTicksPosition","updateGridsPosition","cleanUpInvalidTicks","removeInvalidTick","validateAxisOptions","_labelOptions$minSpac","defaultPosition","secondaryPosition","getOptimalAngle","updateLabels","getZoomBoundValue","optionValue","dataValue","configureGenerator","viewPort","tickGeneratorOptions","getConstantLineSharpDirection","axisCanvas","checkDeprecatedOptions","isValueAxis","visualRangeUpdateMode","Axis","stripsGroup","stripLabelAxesGroup","labelsAxesGroup","constantLinesGroup","scaleBreaksGroup","_axesContainerGroup","axesContainerGroup","_gridContainerGroup","gridGroup","widgetClass","axisClass","_createAxisGroups","_createTranslator","_prevDataInfo","_initRange","getTemplate","getAxisSharpDirection","svgElement","resolveOverlappingForCustomPositioning","customPositionIsBoundaryOrthogonalAxis","maxCoord","tickPositionField","firstBorderLinePosition","lastBorderLinePosition","minDelta","swap","isContinuous","_parsedStartValue$val","_parsedEndValue$value","parsedStartValue","parsedEndValue","stripPosition","_adjustStripLabels","_strips","getContainerAttrs","updateMultilineTextAlignment","_adjustLabels","positionsAreConsistent","labelRotationAngle","additionalOffset","templateBox","isFlatLabel","_createAxisConstantLineGroups","classSelector","constantLinesClass","insideGroup","outsideGroup1","outsideGroup2","outside1","outside2","_clearAxisGroups","getMargins","crosshairMargin","isDefinedCustomPositionOption","boundaryPosition","edgeMarginCorrection","constantLineAboveSeries","constantLineUnderSeries","moveByOffset","idError","axisTypeMethods","_axisBreaksGroup","_minorTicks","_templatesRendered","setPane","typeSelector","_updateTranslator","_initTypes","_hasLabelFormat","_createConstantLines","strips","canvasRedesign","positions","_initAxisPositions","hideTitle","getTitle","hideOuterElements","adjustRange","_addConstantLinesToRange","_wholeRange$startValu","_wholeRange$endValue","adjustedVisualRange","_resolveLogarithmicOptionsForRange","disabledNegatives","newRange","oppositeValue","prevDataInfo","containsConstantLine","newCategories","minVisiblePoint","maxVisiblePoint","oppositeVisualRangeUpdateMode","axisReinitialized","_lastVisualRangeUpdateMode","_getVisualRangeUpdateMode","getVisualRangeLength","currentBusinessRange","useMerge","argCategories","_that$_seriesData$min","_that$_seriesData$max","_handleBusinessRangeChanged","dataIsEmpty","rangeWithConstantLines","sortCategories","getCategoriesSorter","_insideConstantLines","cl","extendAxis","setGroupSeries","getLabelsPosition","labelShift","getFormattedValue","_getBoundaryTicks","customBounds","customBoundTicks","addMinMax","boundaryTicks","setPercentLabelFormat","resetAutoLabelFormat","estimateTickInterval","_getTicks","_isSynchronized","customMinorTicks","_initialBreaks","_visualRange$startVal","_visualRange$endValue","_that$_seriesData","marginOptions","_marginOptions","aggregationGroupWidth","generateTicks","maxMinDistance","filteredBreaks","_aggregationInterval","createTicks","_estimatedTickInterval","adjustViewport","_boundaryTicks","minor","oldMajorTicks","majorTicksByValues","sameType","setSkippedCategory","oldMinorTicks","_ticksToRemove","_t$label","removeTitle","setMarginOptions","_this$_marginOptions","addToArgs","_calculateWorkWeekInterval","businessInterval","weekendsCount","intervalInPx","_resetMargins","rangeInterval","minPercentPadding","maxPercentPadding","marginSize","minValueMargin","maxValueMargin","pxInterval","_getConvertIntervalCoefficient","maxPaddingValue","_minValue","_maxValue","_minValue2","_maxValue2","canvasStartEnd","commonMargin","screenDeltaWithMargins","skipViewportExtending","firstTickPosition","lastTickPosition","invertMultiplier","minTickPadding","maxTickPadding","commonPadding","correctedMin","correctedMax","minExpectedPadding","maxExpectedPadding","_drawAxis","drawGridLine","_applyWordWrap","_setLabelsPlacement","getTemplateDeferred","convertedTickInterval","overlappingMode","wordWrapMode","overflowMode","correctByWidth","correctByHeight","updateTitle","_resetStartCoordinates","prepareAnimation","_updateLabelsPosition","applyClipRects","elementsClipID","canvasClipID","_validateVisualRange","_customVisualRange","_validateOptions","isSilent","handleZooming","allowPartialUpdate","_resetVisualRangeOption","actionType","previousRange","zoomFactor","rangeStart","rangeEnd","secondPriorityRange","getZoomBounds","_startValue","_endValue","adjustedRange","_getAdjustedBusinessRange","zoomResults","isPrevented","_visualRange","preventEvents","domEvent","zoomStartEvent","getZoomStartEventArg","skipEventRising","_applyZooming","_storedZoomEndParams","startRange","prevent","previousBusinessRange","typeIsNotChanged","zoomEndEvent","_getZoomEndEventArg","checkZoomingLowerLimitOvercome","stopInteraction","_restorePreviousVisualRange","minVisualRangeLength","correctedRange","isOvercoming","beforeVisualRangeLength","afterVisualRangeLength","getRangeByMinZoomValue","fullRange","isMax","extremeDataValue","extremePoint","visualRangePoint","withIndents","widthAxis","viewportRange","maxText","prevLabel","notRecastStep","ignoreOverlapping","_applyLabelMode","_applyLabelOverlapping","_checkShiftedLabels","_options$workWeek2","_options$breakStyle$w","_options$breakStyle","semiDiscreteInterval","breaksLength","visualRangeSetter","categoriesSortingMethod","DEFAULT_BAR_GROUP_PADDING","validateBarPadding","barPadding","validateBarGroupPadding","isStackExist","correctStackCoordinates","currentStacks","barsArea","seriesStackIndexCallback","extraParameters","stackIndex","barWidth","calculateParams","correctPointCoordinates","adjustBarSeriesDimensionsCore","_series$","_series$2","commonStacks","allArguments","seriesInStacks","barGroupWidth","_series$3","isDateArgAxis","getTickInterval","getAggregationInterval","stacks","percentWidth","fixedBarWidth","rawWidth","getValueType","getVisibleSeries","getAbsStackSumByArg","stackKeepers","positiveStackValue","negativeStackValue","negative","getStackSumByArg","getSeriesStackIndexCallback","stackCount","adjustBarSeriesDimensions","getFirstValueSign","adjustStackedSeriesValues","negativesAsZeroes","holesStack","lastSeriesInPositiveStack","lastSeriesInNegativeStack","hole","holes","isNotBarSeries","currentStack","_skipSetLeftHole","_skipSetRightHole","_stackKeepers","updateStackedSeriesValues","valueAxisTranslator","minShownBusinessValue","fullStacked","updateFullStackedSeriesValues","stackSum","updateRangeSeriesValues","updateBarSeriesValues","adjustCandlestickSeriesDimensions","adjustBubbleSeriesDimensions","bubbleArea","sizeProportion","visibleAreaX","visibleAreaY","minBubbleArea","maxBubbleArea","equalBubbleSize","minPointSize","maxPointSize","seriesItem","sizeDispersion","areaDispersion","SeriesFamily","adjustSeriesDimensions","updateSeriesValues","adjustSeriesValues","DEFAULT_AXIS_NAME","COMMON_AXIS_SETTINGS","DEFAULT_PANE_NAME","VISUAL_RANGE","prepareAxis","processBubbleMargin","estimateBubbleSize","panesCount","setAxisVisualRangeByOption","isDirectOption","wrappedVisualRange","wrapVisualRange","getAxisTypes","isArgumentAxes","pathElements","destElem","AdvancedChart","_panesClipRects","panesClipRects","_disposeAxes","_createPanes","_cleanPanesClipRects","clipArrayName","clipArray","paneName","fixed","_getPaneIndex","paneIndex","_populateAxes","_axesReinitialized","argumentAxesPopulatedOptions","paneWithNonVirtualAxis","argumentAxesOptions","valueAxisOption","valueAxesOptions","valueAxesPopulatedOptions","axisNames","valueAxesCounter","crosshairMargins","_getCrosshairMargins","_populateAxesOptions","optionPath","_axisOptions$panes","axisPanes","_redesignAxes","axesBasis","_valueAxes","curAxes","axisTypes","_disposeAxis","isVirtual","_createAxis","_getVisualRangeSetter","_processValueAxisFormat","_that$seriesFamilies","paneSeries","types","families","negativesAsZeros","familyOptions","_getSeriesForPane","_appendAxesGroups","argumentMarginOptions","groupSeries","seriesMarginOptions","updatedAxis","keepRange","argRanges","commonArgRange","getPaneName","groupRange","setBusinessRange","commonInterval","_argRanges$getPaneNam","currentInterval","_getGroupsData","_correctValueAxes","axesWithFullStackedFormat","preparedUserOptions","_prepareStripsAndConstantLines","_prepareAxisOptions","renderingSettings","_getAxisRenderingOptions","_applyVisualRangeByVirtualAxes","_parseVisualRangeOption","_applyCustomVisualRangeOption","setCustomVisualRange","_change_VISUAL_RANGE","drawAxes","checkForMoreSpaceForPanesCanvas","_setCustomVisualRange","axesName","handleZoomEnd","_optionsByReference","axisPath","skipOptionsRollBack","_notifyVisualRange","sourceAxes","_getAxesForScaling","_getAxesByOptionPath","resizePanesOnZoom","_raiseZoomEndHandlers","resetVisualRange","MIN_SCROLL_BAR_SIZE","ScrollBar","_scroll","_addEvents","_getXCoord","_getYCoord","scrollElement","drag","dX","_scale","dY","_layoutOptions","_applyPosition","isVertical","_translateWithOffset","updateSize","_that$_scroll$attr","_that$_scroll$attr2","getRectangleBBox","getLabelCheckerPosition","rectangleBBox","Crosshair","_crosshairGroup","_axes","_panes","_prepareOptions","_horizontalGroup","_verticalGroup","_horizontal","_vertical","_circle","lineOptions","sharpParam","verticalOptions","horizontalOptions","circleOptions","_createLabels","currentLabelPos","startXY","_updateText","axisName","textElement","backgroundElement","_updateLinesCanvas","_linesCanvas","_updateLines","_resetLinesCanvas","_getClipRectForPane","SHUTTER_EVENTS_NS","DRAG_START_EVENT_NAME","DRAG_UPDATE_EVENT_NAME","DRAG_END_EVENT_NAME","checkCoords","dragStartHandler","startCoord","triggerStart","dragHandler","curCoord","dragEndHandler","triggerEnd","shutterZoom","shutterOptions","firstPane","lastPane","_shutterZoom","DX_PREFIX","TRANSFORM","TRANSLATE","PINCH","START_POSTFIX","UPDATE_POSTFIX","END_POSTFIX","eventAliases","addAlias","eventName","deltaRotation","translation","deltaTranslation","getVector","getEventVector","pointers","vector","firstVector","secondVector","scalarProduct","distanceProduct","math","getTranslation","TransformEmitter","validatePointers","_accept","startVector","_startVector","_prevVector","_fireEventAliases","currentVector","_getEventArgs","eventPostfix","eventAlias","_fireEvent","eventNames","emitter","exportNames","transformstart","transformend","translatestart","translateend","zoomstart","zoomend","pinchstart","pinch","pinchend","rotatestart","rotateend","EVENTS_NS","DRAG_EVENT_NAME","PINCH_START_EVENT_NAME","PINCH_EVENT_NAME","PINCH_END_EVENT_NAME","SCROLL_BAR_START_EVENT_NAME","SCROLL_BAR_MOVE_EVENT_NAME","SCROLL_BAR_END_EVENT_NAME","GESTURE_TIMEOUT","MIN_DRAG_DELTA","canvasToRect","sortAxes","onlyAxisToNotify","getFilteredAxes","isAxisAvailablePanning","isExtremePosition","axisZoom","getParameters","actionField","zoomStarted","cancelEvent","getAxesCopy","actionData","startAxesViewportChanging","axesViewportChanging","offsetCalc","centerCalc","zoomAxes","criteria","coordField","zoomed","isMinPosition","isMaxPosition","zoomInEnabled","zoomOutEnabled","panningEnabled","deltaTranslate","storeOffset","storeCenter","argZoom","valZoom","fallback","finishAxesViewportChanging","prepareActionData","curAxisRect","startCenter","getPointerCoord","calcCenterForPinch","calcCenterForDrag","calcOffsetForDrag","preventDefaults","wantPan","wantZoom","panKeyPressed","_cancelPreventDefault","cancelPanning","panningVisualRangeEnabled","skipEvent","startCoords","curCanvas","curCoords","zoomArg","zoomVal","deltaOffsetY","deltaOffsetX","needToZoom","axisOption","panIsEmpty","argumentCoords","valueCoords","argumentAxesZoomed","valueAxesZoomed","pinchStartHandler","pinchHandler","pinchEndHandler","mouseWheelHandler","targetAxes","axesZoomed","targetCanvas","canZoom","cleanup","setup","wheel","passive","_zoomAndPan","_setupZoomAndPan","POINTER_UP_EVENT_NAME","coreAnnotation","annotationGroup","_isAnnotationBounded","_getAnnotationCoords","_dragOffsetX","_dragOffsetY","hitTest","annotation","tooltipTemplate","getTemplateFunction","groupElement","outerWidth","outerHeight","imageWidth","imageHeight","getImageObject","createAnnotations","customizeAnnotation","pullOptions","commonImageOptions","currentImageOptions","customizedItem","chartPlugin","_axis","_axis2","argCoordName","valCoordName","getPointCenterByArg","_axis3","_series2","_getCanvasForPane","touch","touches","_annotations","_hideToolTipForDrag","_pullOptions","polarChartPlugin","pointCoords","_calcCanvas","getXYFromPolar","getActualAngle","_annotationsPointerEventHandler","polarOptions","_forceAnnotationRender","vectorMapPlugin","_offTracker","_projection","toScreenPoint","vectorMapOptions","_getAnnotationStyles","renderElements","pieChartPlugin","pieChartOptions","corePlugin","_annotationsGroup","clearItems","tooltipOptions","_buildAnnotations","_setAnnotationTooltipOptions","core","polarChart","vectorMap","pieChart","DEFAULT_PANES","getFirstAxisNameForPane","changeVisibilityAxisGrids","gridVisibility","minorGridVisibility","gridOpt","minorGridOpt","hideGridsOnNonFirstValueAxisForPane","axesForPane","axisShown","hiddenStubAxis","minorGridOptions","findAxisOptions","axInd","findAxis","compareAxes","doesPaneExist","accumulate","src1","src2","auxSpacing","pickMax","pickMaxValue","getAxisMargins","getHorizontalAxesMargins","getMarginsFunc","_axis$getOrthogonalAx","axisMargins","paneMargins","customPositionEqualsToPredefined","getVerticalAxesMargins","performActionOnAxes","actionArgument3","shrinkCanvases","verticalMargins","horizontalMargins","getMargin","getMaxMargin","margins1","margins2","getOriginalField","shrink","paneNames","startMargin","endMargin","oppositeMargins","emptySpace","paneSize","drawAxesWithTicks","panesBorderOptions","shiftAxis","side1","side2","shifts","getCommonSize","checkUsedSpace","sizeShortage","getMarginFunc","axisAnimationEnabled","collectMarkersInfoBySeries","allSeries","filteredSeries","overloadedSeries","argVisualRange","valVisualRange","getCanvasRange","sr","seriesPoints","tp","mp","continuousSeries","isOverlay","overlayPoint","pointRadius","pointHitsLeftBorder","pointHitsRightBorder","pointHitsTopBorder","pointHitsBottomBorder","isPointOverlappedHorizontally","isPointOverlappedVertically","isPointOverlapped","skipSamePointsComparing","radiusPoint","isXCoordinateSame","isYCoordinateSame","fastHidingPointMarkersByArea","markersInfo","pointsArea","updateMarkersInfo","isContinuousSeries","next_x","next_y","dxChart","paneAxis","_containerInitialHeight","panesNameCounter","paneList","valueAxisName","customPositionAxis","_getAllAxes","allAxes","boundaryStateChanged","prevBoundaryState","crosshairOptions","_getCrosshairOptions","crosshairEnabled","horizontalLabel","verticalLabel","valueAxisOptions","needHideGrids","paneWithAxis","paneExists","defaultAxis","axesWithSamePath","oneSeries","_createPanesBorderOptions","commonBorderOptions","scrollBarOptions","scrollBarGroup","_createPanesBackground","_adjustViewport","adjust","isCanvasChanged","zoomChanged","_isZooming","zoomRange","viewportDistance","_zoomLength","_drawPanesBorders","_createClipRectsForPanes","_applyClipRectsForAxes","_fillPanesBackground","legendHasInsidePosition","newCanvas","wideClipRect","wide","setClippingParams","_getPaneBorderVisibility","_updatePanesCanvases","_normalizePanesHeight","_renderScaleBreaks","overlappedPointsCount","overlappingPoints","_hidePointsForSingleSeriesIfNeeded","overlappingPointsCount","borderCoords","argAxisIsDiscrete","sortingCallback","_applyAutoHidePointMarkers","calculateTitlesWidth","extendedArgAxes","_isArgumentAxisBeforeScrollBar","verticalAxes","verticalElements","horizontalAxes","horizontalElements","allElements","verticalAxesFirstDrawing","panesCanvases","paneSizes","cleanPanesCanvases","_initCustomPositioningAxes","needCustomAdjustAxes","_axesBoundaryPositioning","vAxesMargins","hAxesMargins","drawAxesAndSetCanvases","_estimateTickIntervals","oldTitlesWidth","visibleSeries","axesIsAnimated","setInitRange","_axis$hasWrap","hasWrap","newTitleWidth","setRenderedState","panesAreCustomSized","argAxisRightMargin","rightPanesIndent","argAxisBottomMargin","bottomPanesIndent","realSize","customSize","containerHasStyledHeight","_forceResize","_argumentAxis$getOpti","argAxisLabelPosition","scrollBarPosition","_getPanesParameters","_getCommonCanvas","commonCanvas","defaultBackgroundColor","rects","panesBackground","_calcPaneBorderCoords","segmentRectParams","_createClipRect","needWideClipRect","chartCanvasClipRectID","elementsClipRectID","_getElementsClipRectID","commonPaneBorderVisible","paneBorder","panesNumber","shiftDirection","_getStackPoints","coordPosition","figureCenter1","figureCenter12","getPoint","nonVirtualArgumentAxis","getVisibleArgumentBounds","argumentVisualRange","projects","onRowDblClick","projectsOverviewService","ProjectsOverviewService","optionData","SearchFilter","PageSize","LastRowNR","OrderPreviewBy","DxTreeList","inject","getProjectListByFilter","datas","getProjectId","prCode","MultiLineString","opt_layout","opt_ends","ends_","maxDeltaRevision_","setFlatCoordinates","getLayout","lineStrings","lineString","appendLineString","multiLineString","applyProperties","closestPointXY","closestPoint","minSquaredDistance","getCoordinateAtM","opt_extrapolate","XYM","XYZM","extrapolate","getCoordinates","getLineString","getLineStrings","midpoints","midpoint","getSimplifiedGeometryInternal","XY","intersectsExtent","setLayout","PRELOAD","USE_INTERIM_TILES_ON_ERROR","BaseTileLayer","preload","useInterimTilesOnError","setPreload","setUseInterimTilesOnError","getPreload","TileProperty","getUseInterimTilesOnError","BaseTile","CanvasTileLayerRenderer","tileLayer","extentChanged","renderedPixelRatio","renderedProjection","renderedRevision","renderedTiles","newTiles_","tmpTileRange_","TileRange","isDrawableTile","tileState","getTile","tileSource","setState","getInterimTile","getTileGridForProjection","getTilePixelRatio","ImageTile","tileOrigin","tileResolution","getGutterForProjection","viewResolution","viewCenter","sourceRevision","canvasExtent","tilesToDrawByZ","findLoadedTiles","tmpTileRange","tileCoordIntersectsViewport","uid","inTransition","endTransition","getAlpha","time","childTileRange","getTileCoordChildTileRange","covered","forEachTileCoordParentTileRange","canvasScale","getInterpolate","clips","clipZs","currentClip","getOpaque","currentZ","currentTilePixelSize","getTilePixelSize","currentResolution","currentScale","dx_1","dy_1","originTileCoord","originTileExtent","tileGutter","tilesToDraw","tileCoordKey","xIndex","nextX","yIndex","nextY","contextSaved","drawTileImage","updateUsedTiles","usedTiles","manageTilePyramid","scheduleExpireCache","getTileImage","alphaChanged","postRenderFunction","tileSourceKey","expireCache","postRenderFunctions","opt_tileCallback","wantedTiles","tileQueue","tileCount","isKeyQueued","enqueue","useTile","updateCacheSize","TileLayer","checkForLabStatusCell","cellFieldType","labAssignmentStatusCodeList","yellowLabCodes","orangeLabCodes","redLabCodes","greenLabCodes","LabStatusObject","StatusCode","Feature","opt_geometryOrProperties","id_","geometryName_","geometryChangeKey_","handleGeometryChanged_","setGeometry","properties","setProperties","hasProperties","getProperties","setGeometryName","getGeometryName","getId","handleGeometryChange_","createStyleFunction","setId","removeChangeListener","styles_1","linearRingIsClockwise","edge","linearRingsAreOriented","opt_right","isClockwise","linearRingssAreOriented","orientLinearRings","orientLinearRingsArray","MapBrowserEvent","opt_dragging","opt_activePointers","pixel_","coordinate_","dragging","getEventPixel","getCoordinateFromPixel","DDResizable","dd_resizable_handle_1","dd_base_impl_1","utils_1","dd_manager_1","DDBaseImplement","opts","super","_ui","containmentEl","containmentRect","newRect","originalRect","scrolled","temporalRect","_mouseOver","_mouseOut","enable","_setupAutoHide","_setupHandlers","disable","_removeHandlers","destroy","updateHandles","handles","updateAutoHide","auto","DDManager","overResizeElement","dragElement","handlerDirection","handlers","_resizeStart","_resizeStop","_resizing","scrollEl","Utils","getScrollElement","scrollY","startEvent","_setupHelper","_applyChange","ev","initEvent","_getChange","_cleanHelper","elOriginStyleVal","_originStyleProp","parentOriginStylePosition","oEvent","constrain","_constrainSize","oWidth","oHeight","MAX_SAFE_INTEGER","BaseLayer","background_","OPACITY","VISIBLE","Z_INDEX","MAX_RESOLUTION","MIN_RESOLUTION","MIN_ZOOM","MAX_ZOOM","className_","state_","opt_managed","managed","getMaxResolution","getMinResolution","EXTENT","setBackground","opt_background","setExtent","setMaxResolution","setMinResolution","setMaxZoom","setMinZoom","setOpacity","setVisible","setZIndex","zindex","DxLabel","DxImage","DxHoverStyle","DxHorizontalLineLabel","DxHorizontalLine","DxHeight","DxHatching","DxGrid","DxFormat","DxFont","DxDragBoxStyle","DxDataPrepareSettings","DxCrosshair","DxConstantLineStyle","DxConstantLineLabel","DxConstantLine","DxConnector","DxCommonSeriesSettingsSelectionStyle","DxCommonSeriesSettingsLabel","DxCommonSeriesSettingsHoverStyle","DxCommonSeriesSettings","DxCommonPaneSettings","DxCommonAxisSettingsTitle","DxCommonAxisSettingsLabel","DxCommonAxisSettingsConstantLineStyleLabel","DxCommonAxisSettingsConstantLineStyle","DxCommonAxisSettings","DxCommonAnnotationSettings","DxColor","DxChartTitleSubtitle","DxChartTitle","DxBreakStyle","DxBreak","DxBorder","DxBackgroundColor","DxAxisTitle","DxAxisLabel","DxAxisConstantLineStyleLabel","DxAxisConstantLineStyle","DxArgumentFormat","DxArgumentAxis","DxAnnotationImage","DxAnnotationBorder","DxAnnotation","DxAggregationInterval","DxAggregation","DxAdaptiveLayout","DxChart","DxZoomAndPan","DxWidth","DxWholeRange","DxVisualRange","DxVerticalLine","DxValueErrorBar","DxValueAxis","DxUrl","DxTooltipBorder","DxTooltip","DxTitle","DxTickInterval","DxTick","DxSubtitle","DxStripStyleLabel","DxStripStyle","DxStripLabel","DxStrip","DxSize","DxShadow","DxSeriesTemplate","DxSeriesBorder","DxSeries","DxSelectionStyle","DxScrollBar","DxReduction","DxPointSelectionStyle","DxPointImage","DxPointHoverStyle","DxPointBorder","DxPoint","DxPaneBorder","DxPane","DxMinVisualRangeLength","DxMinorTickInterval","DxMinorTick","DxMinorGrid","DxMargin","DxLoadingIndicator","DxLength","DxLegendTitleSubtitle","DxLegendTitle","DxLegend","chart_1","annotations","chartTitle","milliseconds","weeks","annotationBorder","annotationImage","axisConstantLineStyle","axisLabel","axisTitle","constantLine","currency","useCurrencyAccountingStyle","chartTitleSubtitle","commonAxisSettingsConstantLineStyle","commonAxisSettingsLabel","commonAxisSettingsTitle","commonAxisSettingsConstantLineStyleLabel","commonSeriesSettingsHoverStyle","commonSeriesSettingsLabel","commonSeriesSettingsSelectionStyle","seriesBorder","horizontalLineLabel","legendTitle","legendTitleSubtitle","pointBorder","pointHoverStyle","pointImage","pointSelectionStyle","stripStyleLabel","tooltipBorder","subHeader","_t","valid","agree","buttonLabel","dataContainer","provide","invalidate","$refs","tidialog","$nextTick","tidialogbg","focusloss","beforeDestroy","RBush","opt_maxEntries","rbush_","items_","extents","bbox","getAll","getInExtent","forEach_","forEachInExtent","opt_extent","rbush","ADDFEATURE","CHANGEFEATURE","CLEAR","REMOVEFEATURE","FEATURESLOADSTART","FEATURESLOADEND","FEATURESLOADERROR","withCredentials","loadFeaturesXhr","success","failure","xhr","responseText","responseXML","readFeatures","featureProjection","readProjection","dataProjection","addFeatures","VectorSourceEvent","opt_feature","opt_features","VectorSource","loader_","format_","url_","loader","strategy_","useSpatialIndex","featuresRtree_","loadedExtentsRtree_","loadingExtentsCount_","nullGeometryFeatures_","idIndex_","uidIndex_","featureChangeKeys_","featuresCollection_","addFeaturesInternal","bindFeaturesCollection_","addFeature","addFeatureInternal","featureKey","addToIndex_","setupChangeEvents_","VectorEventType","handleFeatureChange_","ObjectEventType","PROPERTYCHANGE","newFeatures","geometryFeatures","length_1","length_2","length_3","modifyingCollection","CollectionEventType","removeFeature","opt_fast","featureId","removeAndIgnoreReturn","removeFeatureInternal","clearEvent","forEachFeature","forEachFeatureAtCoordinateDirect","forEachFeatureInExtent","intersectsCoordinate","forEachFeatureIntersectingExtent","getFeaturesCollection","getFeaturesAtCoordinate","opt_projection","anExtent","getClosestFeatureToCoordinate","opt_filter","closestFeature","previousMinSquaredDistance","getFeatureById","getFeatureByUid","getFormat","getUrl","sid","removeFromIdIndex_","loadedExtentsRtree","extentsToLoad","_loop_1","extentToLoad","alreadyLoaded","this_1","removeLoadedExtent","featureChangeKeys","setLoader","setUrl","Source","MOVESTART","MOVEEND","LOADSTART","LOADEND","lineStringLength","LinearRing","getArea","GeometryLayout","deflate","SimpleGeometry","flatInteriorPointRevision_","flatInteriorPoint_","orientedRevision_","orientedFlatCoordinates_","appendLinearRing","linearRing","polygon","orient","flatCenter","getInteriorPoint","getLinearRingCount","getLinearRing","getLinearRings","linearRings","fromExtent","fromCircle","opt_sides","opt_angle","sides","arrayLength","makeRegular","HEX_COLOR_RE_","NAMED_COLOR_RE_","asString","fromNamed","fromString","MAX_CACHE_SIZE","fromStringInternal_","asArray","hasAlpha","interimTile","transition_","transitionStarts_","refreshInterimChain","getTileCoord","MapRenderer","dispatchRenderEvent","calculateMatrices2D","checkWrapped","thisArg","thisArg2","translatedCoordinate","layerStates","numLayers","callback_1","forEachLayerAtPixel","hasFeatureAtCoordinate","scheduleExpireIconCache","expireIconCache","CompositeMapRenderer","fontChangeListenerKey_","redrawText","children_","declutterLayers","previousElement","sourceState","Composite","GroupEvent","LAYERS","LayerGroup","layersListenerKeys_","listenerKeys_","handleLayersChanged_","setLayers","handleLayerChange_","getLayers","handleLayersAdd_","handleLayersRemove_","layersArray","registerLayerListeners_","handleLayerGroupAdd_","handleLayerGroupRemove_","collectionEvent","currentLayers","ownLayerState","defaultZIndex","Base","MapBrowserEventHandler","moveTolerance","clickTimeoutId_","emulateClicks_","dragging_","dragListenerKeys_","moveTolerance_","down_","activePointers_","trackedTouches_","pointerdownListenerKey_","handlePointerDown_","originalPointerMoveEvent_","relayedListenerKey_","relayMoveEvent_","boundHandleTouchMove_","handleTouchMove_","TOUCHMOVE","emulateClick_","newEvent","updateActivePointers_","pointerId","handlePointerUp_","defaultPrevented","isMouseActionButton_","property","doc","handlePointerMove_","isMoving_","Target","DROP","PriorityQueue","priorityFunction","keyFunction","priorityFunction_","keyFunction_","elements_","priorities_","queuedElements_","dequeue","priorities","siftUp_","elementKey","siftDown_","getCount","getLeftChildIndex_","getRightChildIndex_","getParentIndex_","heapify_","isQueued","lIndex","rIndex","smallerChildIndex","parentIndex","reprioritize","TileQueue","tilePriorityFunction","tileChangeCallback","boundHandleTileChange_","handleTileChange","tileChangeCallback_","tilesLoading_","tilesLoadingKeys_","added","getTilesLoading","tileKey","loadMoreTiles","maxTotalLoading","maxNewLoads","newLoads","getTilePriority","tileCenter","removeLayerMapProperty","setLayerMapProperty","PluggableMap","optionsInternal","createOptionsInternal","renderComplete_","loaded_","boundHandleBrowserEvent_","handleBrowserEvent","maxTilesLoading_","maxTilesLoading","postRenderTimeoutHandle_","animationDelayKey_","animationDelay_","renderFrame_","coordinateToPixelTransform_","pixelToCoordinateTransform_","frameIndex_","frameState_","previousExtent_","viewPropertyListenerKey_","viewChangeListenerKey_","layerGroupPropertyListenerKeys_","viewport_","overlayContainer_","overlayContainerStopEvent_","mapBrowserEventHandler_","keyboardEventTarget_","keyboardEventTarget","targetChangeHandlerKeys_","overlays_","overlays","overlayIdIndex_","postRenderFunctions_","tileQueue_","handleTileChange_","MapProperty","LAYERGROUP","handleLayerGroupChanged_","VIEW","handleViewChanged_","SIZE","handleSizeChanged_","TARGET","handleTargetChanged_","View","viewOptions","addOverlayInternal_","overlay","control","addControl","getControls","addInteraction","addLayer","getLayerGroup","handleLayerAdd_","addOverlay","getOverlays","getFeaturesAtPixel","addLayersFrom","layerGroup","hasFeatureAtPixel","getEventCoordinate","getEventCoordinateInternal","eventPosition","changedTouches","getTarget","getProjection","getOverlayById","getLoadingOrNotReady","getPixelFromCoordinate","viewCoordinate","ownerDocument","opt_type","handleMapBrowserEvent","eventType","documentElement","interactionsArray","cont","propagationStopped","handlePostRender","hints","lowOnFrameBudget","MapEvent","MapEventType","resolveConstraints","CONTEXTMENU","defaultView","RESIZE","cancelAnimationFrame","handleViewPropertyChanged_","updateViewportSize_","handleLayerRemove_","renderSync","requestAnimationFrame","removeControl","removeInteraction","removeLayer","removeOverlay","previousFrameState","isDef","getHints","mapId","renderTargets","nextCenter","nextResolution","nextRotation","nextExtent","moveStart","idle","setLayerGroup","oldLayerGroup","computedStyle","getClientRects","setViewportSize","Map","ImageBase","ImageWrapper","imageLoadFunction","src_","unlisten_","imageLoadFunction_","handleImageError_","unlistenImage_","handleImageLoad_","listenImage","loadHandler","errorHandler","listening","decoding","loaded","LOAD","decode","whileDrawing","clickToDrawContour","showActionButtons","clickToPlaceMarker","translateInteraction","enableClickToPlaceMarker","toggleFeatureTranslateInteraction","saveMapImage","openPrintToScaleModal","toggleDrawMode","editableMapLayers","isLayerHandlerHidden","groupedEditableMapLayers","expandedGroups","collapseGroup","collapseLayers","setLayerVisible","scrollOpacity","applyLayerConfiguration","changeOpacity","setSubLayerVisible","changeVisibilityOfFeatures","showSearchBar","moveCursor","cursorYPixel","rectTop","cursorXPixel","rectLeft","drawSource","toggleClickToDrawContour","selectedDrawFeature","showClickToContextMenu","clickToContextMenu","deleteDrawFeature","GeometryCollection","opt_geometries","geometries_","changeEventsKeys_","listenGeometriesChange_","unlistenGeometriesChange_","geometryCollection","setGeometries","computeExtent","cloneGeometries","getGeometriesArrayRecursive","geometriesArray","getSimplifiedGeometry","simplifiedGeometryRevision","simplifiedGeometryMaxMinSquaredTolerance","simplifiedGeometries","simplified","simplifiedGeometryCollection","setGeometriesArray","opt_sy","applyTransform","transformFn","Geometry","clonedGeometries","FeatureFormat","defaultFeatureProjection","supportedMediaTypes","getReadOptions","getUnits","Units","TILE_PIXELS","setWorldExtent","adaptOptions","readFeature","readGeometry","writeFeature","writeFeatures","writeGeometry","transformGeometryWithOptions","write","transformed","decimals","power_1","XML_SCHEMA_INSTANCE_URI","namespaceURI","qualifiedName","getAllTextContent","normalizeWhitespace","getAllTextContent_","accumulator","Node","CDATA_SECTION_NODE","TEXT_NODE","nodeValue","nextSibling","isDocument","xml","makeArrayExtender","valueReader","opt_this","objectStack","makeArrayPusher","makeReplacer","makeObjectPropertyPusher","opt_property","localName","makeObjectPropertySetter","makeChildAppender","nodeWriter","makeSimpleNodeFactory","opt_nodeName","opt_namespaceURI","fixedNodeName","nodeName","OBJECT_PROPERTY_NODE_FACTORY","makeSequence","orderedKeys","sequence","makeStructureNS","namespaceURIs","structure","opt_structureNS","structureNS","parseNode","parsersNS","nextElementSibling","pushParseAndPop","serialize","serializersNS","nodeFactory","opt_keys","pushSerializeAndPop","xmlSerializer_","getXMLSerializer","XMLSerializer","document_","implementation","createDocument","XMLFeature","readFeatureFromDocument","readFeatureFromNode","readFeaturesFromDocument","readFeaturesFromNode","ELEMENT_NODE","readGeometryFromDocument","readGeometryFromNode","readProjectionFromDocument","readProjectionFromNode","writeFeatureNode","serializeToString","writeFeaturesNode","writeGeometryNode","readBoolean","readBooleanString","readDecimal","readDecimalString","readPositiveInteger","readNonNegativeIntegerString","readString","writeBooleanTextNode","bool","writeStringTextNode","writeCDATASection","createCDATASection","writeDecimalTextNode","decimal","toPrecision","DEFAULT_COLOR","DEFAULT_IMAGE_STYLE_ANCHOR","DEFAULT_IMAGE_STYLE_ANCHOR_X_UNITS","DEFAULT_IMAGE_STYLE_ANCHOR_Y_UNITS","DEFAULT_IMAGE_STYLE_SIZE","DEFAULT_IMAGE_STYLE_SRC","GX_NAMESPACE_URIS","NAMESPACE_URIS","SCHEMA_LOCATION","ICON_ANCHOR_UNITS_MAP","FRACTION","PLACEMARK_PARSERS","extendedDataParser","regionParser","readMultiGeometry","readLineString","readLinearRing","readPoint","readPolygon","readStyle","placemarkStyleMapParser","readStyleURL","readGxMultiTrack","readGxTrack","NETWORK_LINK_PARSERS","linkParser","LINK_PARSERS","readURI","REGION_PARSERS","latLonAltBoxParser","lodParser","KML_SEQUENCE","KML_SERIALIZERS","writeDocument","writePlacemark","DEFAULT_FILL_STYLE","DEFAULT_NO_IMAGE_STYLE","DEFAULT_IMAGE_STYLE","DEFAULT_TEXT_STROKE_STYLE","DEFAULT_STROKE_STYLE","DEFAULT_TEXT_STYLE","DEFAULT_STYLE","TEXTAREA","DEFAULT_STYLE_ARRAY","scaleForSize","createStyleDefaults","Fill","anchorOrigin","IconOrigin","BOTTOM_LEFT","Stroke","Text","Style","defaultIconUrlFunction","KML","defaultStyle_","extractStyles_","extractStyles","writeStyles_","writeStyles","sharedStyles_","showPointNames_","showPointNames","crossOrigin_","iconUrlFunction_","iconUrlFunction","readDocumentOrFolder_","readPlacemark_","readSharedStyle_","readSharedStyleMap_","styleUrl","createFeatureStyleFunction","styleUri","baseURI","styleMapValue","readStyleMapValue","fs","readName","readNameFromDocument","readNameFromNode","name_1","name_2","readNetworkLinks","networkLinks","readNetworkLinksFromDocument","readNetworkLinksFromNode","readRegion","regions","readRegionFromDocument","readRegionFromNode","kml","xmlnsUri","createNameStyleFunction","foundStyle","textOffset","imageScale","setFont","setScale","setFill","setStroke","setOffsetX","setOffsetY","setTextAlign","nameStyle","sharedStyles","drawName","multiGeometryPoints","featureStyle","findStyle","baseStyle","styleValue","readColor","readFlatCoordinates","readVec2","xunits","yunits","TOP_LEFT","BOTTOM_RIGHT","TOP_RIGHT","readScale","STYLE_MAP_PARSERS","pairDataParser","ICON_STYLE_PARSERS","readIcon","iconStyleParser","styleObject","IconObject","drawIcon","hotSpot","heading","imageStyle_1","offsetOrigin","imageScale_1","listener_1","imageSize_1","resizeScale","LABEL_STYLE_PARSERS","labelStyleParser","LINE_STYLE_PARSERS","lineStyleParser","POLY_STYLE_PARSERS","polyStyleParser","outline","FLAT_LINEAR_RING_PARSERS","readFlatLinearRing","gxCoordParser","gxTrackObject","GX_MULTITRACK_GEOMETRY_PARSERS","GX_TRACK_PARSERS","whenParser","whens","LineString","ICON_PARSERS","iconObject","GEOMETRY_FLAT_COORDINATES_PARSERS","readFlatCoordinatesFromNode","EXTRUDE_AND_ALTITUDE_MODE_PARSERS","MULTI_GEOMETRY_PARSERS","multiGeometry","homogeneous","MultiPoint","setCommonGeometryProperties","MultiPolygon","FLAT_LINEAR_RINGS_PARSERS","innerBoundaryIsParser","outerBoundaryIsParser","flatLinearRings","STYLE_PARSERS","hasExtrude","hasTessellate","hasAltitudeMode","extrudes","tessellates","altitudeModes","DATA_PARSERS","dataParser","featureObject","EXTENDED_DATA_PARSERS","schemaDataParser","PAIR_PARSERS","pairObject","placemarkObject","SCHEMA_DATA_PARSERS","simpleDataParser","LAT_LON_ALT_BOX_PARSERS","regionObject","LOD_PARSERS","lodObject","INNER_BOUNDARY_IS_PARSERS","innerBoundaryFlatLinearRings","OUTER_BOUNDARY_IS_PARSERS","flatLinearRing","when","writeColorTextNode","rgba","abgr","writeCoordinatesTextNode","dimension","EXTENDEDDATA_NODE_SERIALIZERS","writeDataNode","writeDataNodeValue","writeDataNodeName","DOCUMENT_SERIALIZERS","DOCUMENT_NODE_FACTORY","DATA_NODE_FACTORY","writeExtendedData","namesAndValues","ICON_SEQUENCE","ICON_SERIALIZERS","GX_NODE_FACTORY","writeIcon","ICON_STYLE_SEQUENCE","ICON_STYLE_SERIALIZERS","writeVec2","writeScaleTextNode","writeIconStyle","getSrc","iconImageSize","iconProperties","LABEL_STYLE_SEQUENCE","LABEL_STYLE_SERIALIZERS","writeLabelStyle","LINE_STYLE_SEQUENCE","LINE_STYLE_SERIALIZERS","writeLineStyle","GEOMETRY_TYPE_TO_NODENAME","GEOMETRY_NODE_FACTORY","POINT_NODE_FACTORY","LINE_STRING_NODE_FACTORY","LINEAR_RING_NODE_FACTORY","POLYGON_NODE_FACTORY","MULTI_GEOMETRY_SERIALIZERS","writePrimitiveGeometry","writePolygon","writeMultiGeometry","factory","getPolygons","BOUNDARY_IS_SERIALIZERS","writeBoundaryIs","PLACEMARK_SERIALIZERS","writeStyle","PLACEMARK_SEQUENCE","EXTENDEDDATA_NODE_FACTORY","styleArray","pointStyles","lineStyles","polyStyles","PRIMITIVE_GEOMETRY_SEQUENCE","PRIMITIVE_GEOMETRY_SERIALIZERS","POLY_STYLE_SEQUENCE","POLYGON_SERIALIZERS","INNER_BOUNDARY_NODE_FACTORY","OUTER_BOUNDARY_NODE_FACTORY","outerRing","POLY_STYLE_SERIALIZERS","writePolyStyle","STYLE_SEQUENCE","STYLE_SERIALIZERS","vec2","appendParams","uri","keyParams","encodeURIComponent","qs","WMTSTileGrid","origins","tileSizes","matrixIds_","matrixIds","getMatrixId","getMatrixIds","TileGrid","createFromCapabilitiesMatrixSet","matrixSet","opt_matrixLimits","matrixLimits","supportedCRSPropName","matrixIdsPropName","identifierPropName","scaleDenominatorPropName","topLeftCornerPropName","tileWidthPropName","tileHeightPropName","metersPerUnit","switchOriginXY","getAxisOrientation","elt","matrixAvailable","elt_ml","tileWidth","tileHeight","WMTS","requestEncoding","tileClass","version_","dimensions_","matrixSet_","requestEncoding_","setKey","getKeyForDimensions_","createFromWMTSTemplate","setUrls","setTileUrlFunction","getDimensions","getMatrixSet","getRequestEncoding","getVersion","localContext_1","TileImage","optionsFromCapabilities","wmtsCap","tileMatrixSets","tileMatrixSet","supportedCRS","proj1","proj2","matrixSets","matrixSetObj","projConfig","switchXY","TileMatrix","selectedMatrixLimit","MinTileCol","MinTileRow","MaxTileCol","MatrixWidth","MaxTileRow","MatrixHeight","tileMatrixValue","Identifier","ScaleDenominator","TopLeftCorner","tileSpanX","TileWidth","tileSpanY","TileHeight","matrixSetExtent","wgs84BoundingBox","wgs84ProjectionExtent","wgs84MatrixSetExtent","gets","constraint","encodings","XML","read","readFromDocument","readFromNode","NAMESPACE_URI","readHref","getAttributeNS","PARSERS","readServiceIdentification","readServiceProvider","readOperationsMetadata","OWS","owsObject","ADDRESS_PARSERS","ALLOWED_VALUES_PARSERS","readValue","CONSTRAINT_PARSERS","readAllowedValues","CONTACT_INFO_PARSERS","readPhone","readAddress","DCP_PARSERS","readHttp","HTTP_PARSERS","readGet","OPERATION_PARSERS","readDcp","OPERATIONS_METADATA_PARSERS","readOperation","PHONE_PARSERS","REQUEST_METHOD_PARSERS","readConstraint","SERVICE_CONTACT_PARSERS","readContactInfo","SERVICE_IDENTIFICATION_PARSERS","SERVICE_PROVIDER_PARSERS","readServiceContact","readContents","WMTSCapabilities","owsParser_","WMTSCapabilityObject","CONTENTS_PARSERS","readLayer","readTileMatrixSet","LAYER_PARSERS","readTileMatrixSetLink","readDimensions","readResourceUrl","readBoundingBox","readLegendUrl","TMS_LINKS_PARSERS","readTileMatrixLimitsList","TMS_LIMITS_LIST_PARSERS","readTileMatrixLimits","TMS_LIMITS_PARSERS","DIMENSION_PARSERS","WGS84_BBOX_READERS","readCoordinates","TMS_PARSERS","readTileMatrix","TM_PARSERS","resourceType","resource","isScreenshotActive","clickScreenshotHandle","isMoveActive","clickMoveHandle","clickFloppyHandle","clickSaveHandle","isPencilActive","clickPencilHandle","$emit","layerBtnCollapsed","isHidden","collapseHandler","_m","groupKey","isGroupExpanded","getGroupVisibility","mapLayer","layerKey","values_","ol_uid","$$a","$$el","$$c","checked","$$i","params_","expandedLayers","opacityPercentage","subLayers","subMapLayer","prepareMapLayers","setFeaturesVisible","featureIDS","klicLayer","subNameKey","_toConsumableArray","klicLayerArray","_step","_iterator","_createForOfIteratorHelper","increment","featureIDs","htmlElementKey","clickDelete","0","$el","addTextToStyle","invertMapTextColour","mapTextStroke","mapTextColour","olStyleText","olStyleFill","olStyleStroke","writeScaleToCanvas","olScale","line1","xOffset","yOffset","fontsize1","font1","multiplier","scalewidth","scalenumber","scaleunit","xzero","yzero","xfirst","xsecond","xthird","xfourth","TextFeature","readFeatureFromText","readFeaturesFromText","readGeometryFromText","readProjectionFromText","writeFeatureText","writeFeaturesText","writeGeometryText","GeometryConstructor","Z","ZM","TokenType","START","TEXT","LEFT_PAREN","RIGHT_PAREN","NUMBER","COMMA","EOF","wktTypeLookup","Circle","Lexer","wkt","index_","isAlpha_","isNumeric_","opt_decimal","isWhiteSpace_","nextChar_","nextToken","readNumber_","readText_","scientificNotation","Parser","lexer","lexer_","token_","layout_","consume_","isTokenType","isMatch","parseGeometry_","parseGeometryLayout_","dimToken","dimInfo","parseGeometryCollectionText_","formatErrorMessage_","parsePointText_","parsePoint_","parseLineStringText_","parsePointList_","parsePolygonText_","parseLineStringTextList_","parseMultiPointText_","parsePointTextList_","parseMultiLineStringText_","parseMultiPolygonText_","parsePolygonTextList_","token","isEmptyGeometry_","geomType","WKT","splitCollection_","splitCollection","parse_","geom","encode","encodePointGeometry","encodeMultiPointGeometry","encodeGeometryCollectionGeometry","geoms","encodeLineStringGeometry","encodeMultiLineStringGeometry","encodePolygonGeometry","rings","encodeMultiPolygonGeometry","encodeGeometryLayout","GeometryEncoder","geometryEncoder","enc","wktType","DEFAULT_VERSION","TileWMS","transparent","v13_","serverType_","serverType","hidpi_","hidpi","tmpExtent_","updateV13_","getKeyForParams_","getFeatureInfoUrl","projectionObj","sourceProjectionObj","getTileGrid","getResolutions","tileExtent","tmpSize","baseParams","getRequestUrl_","getLegendUrl","isSingleLayer","mpu","pixelSize","getParams","getCode","dpi","axisOrientation","updateParams","quadKey","digits","mask","TOS_ATTRIBUTION","BingMaps","culture_","culture","maxZoom_","apiKey_","imagerySet_","imagerySet","handleImageryMetadataResponse","getApiKey","getImagerySet","statusCode","statusDescription","authenticationResultCode","resourceSets","resources","zoomMax","sourceProjection","zoomMin","imageUrlSubdomains","subdomain","quadKeyTileCoord","imageUrl","imageryProviders","transform_1","setAttributions","imageryProvider","intersecting","coverageAreas","coverageArea","epsg4326Extent","getLayerByName","lyr","layerName","getFeature","featureID","getInteraction","interactionType","retInteraction","selectFeature","selectInteraction","olInteractionSelect","addOverlayFeatures","scaleLine","olControlScaleLine","scaleLineRef","iconStyle","markerData","olFeature","removeAllFeatures","focusOnFeature","olExtent","focusOnMP","mpID","measurementPoints","redrawMeasurementPoints","highlightSelectedMeasurementPoint","MpIdFilter","defaultStyleSVG","gaugingTubeStyleSVG","otherStyleSVG","probingStyleSVG","holeBoreholeStyleSVG","monitoringWellStyleSVG","findingSiteStyleSVG","holeStyleSVG","filteredMeasurementPoints","measurementPoint","MpID","MpPointGeometry","readWKTString","svgStyle","MpTypeCode","measurementPointId","olStyleStyle","olStyleIcon","measurementPointsReady","wktString","olFormatWkt","readWKTStringHeight","writeWKTString","zCoordinate","convertToOLLayerObject","objName","sublayers","EPSG","CRS","olLayerTile","country","editable","viewparams","CQL_FILTER","olSourceTilewms","convertBaseLayerToOLLayerObject","mapLayersConfig","OSM","olSourceXyz","defaultVisible","addContextMenuInteraction","layerX","layerY","featureArray","drawLayer","abortDrawing","fetch","json","searchResults","topResult","fromLonLat","lon","lat","setCenter","JSONFeature","readFeatureFromObject","getObject","readFeaturesFromObject","readGeometryFromObject","readProjectionFromObject","writeFeatureObject","writeFeaturesObject","writeGeometryObject","GeoJSON","geometryName","extractGeometryName_","extractGeometryName","geoJSONFeature","geoJSONObject","geoJSONFeatureCollection","geoJSONFeatures","crs","objects","readPointGeometry","readLineStringGeometry","readPolygonGeometry","readMultiPointGeometry","readMultiLineStringGeometry","readMultiPolygonGeometry","readGeometryCollectionGeometry","geoJSON","writePointGeometry","writeLineStringGeometry","writePolygonGeometry","writeMultiPointGeometry","writeMultiLineStringGeometry","writeMultiPolygonGeometry","writeGeometryCollectionGeometry","rightHanded","convertGeometryWKT","geometryWKT","formatWKT","olWKT","getGeoJSON","olGeoJSON","featureGeometry","geoJSONFormat","setGeometryData","geometryLonLatData","geometryConversion","conversionResult","proj4","dataToSave","refreshSubLocations","SlDataEntry","subLocationsWithPolygonData","filledPolygons","route","SlPolygonGeometry","SlName","SlGuid","SlID","refreshProjectContour","prDataEntry","getters","getCurrentProject","PrPolygonGeometry","PrName","PrGuid","refreshDrawFeatures","drawFeatures","projectContour","localStorage","setItem","onLine","setupDrawLayer","storedDrawFeatures","olSourceVector","getItem","hasInternetConnection","createDrawFeature","olPolygon","olLayerVector","isDraw","addDrawInteraction","Draw","pencilSvg","drawHandlerCtx","_ctx$drawMode","drawMode","addContourToDraw","applyDrawStyle","colorContrast","brightnessMaxDifference","maxContrastRed","maxContrastGreen","maxContrastBlue","calculation","hslColor","getFeatureHSLColor","rgbColor","randomHue","random","standardHueColors","hueColorIndex","hueColor","saturationDecreasePercentage","saturationPercentage","lightnessPercentage","addSubLocationContourToDraw","addProjectContourToDraw","featureGeometryAsPolygonWKT","geometryLonLatCoordinates","geometryCoordinates","geometryLonLatCoordinate","replaceAll","reformattedWellKnownToken","subLocations","_feature$values_","subLocation","sl","removeMatchingFeatures","oldFeature","ReformattedWellKnownToken","PolygonData","updateDrawFeaturesInLocalStorage","projectData","predicate","deleteSubLocationDrawFeature","deleteProjectDrawFeature","SublocationPolygonData","sublocations","SelectedSubLocationGuid","bus","$on","setSublocations","getKlicLayerObjID","Vue","http","configEnv","apis","mapLayerProxy","resp","getKlicLayerInfo","headers","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","arr2","mediaService","MediaService","measurementPointService","MeasurementPointService","northArrowImg","protocol","defaultExpanded","enableAddFeatureSelectInteraction","kmlLayers","mapLayers","hoverMarker","hoveredMeasurementPointName","rememberedKMLStyles","actionButtons","layerHandler","contextMenu","startDrawModal","allLayers","getSelectedMpId","mpGuid","arrayToObject","commit","topLayer","layerIndicesPerZIndex","layerIndicesAtZIndex","keepmapposition","mapHandlers","loadLayersConfig","createKmlLayers","mountMap","baseLayers","companyLayers","coordinateSystemRD","topoLayers","mapJson","promises","BASELAYERS","WMSLAYERS","projectionUtils","coordinateSystems","defs","epsg","formula","olProj4","topoTijdReisJson","Set","drawHandlers","olMap","olControl","olInteraction","olView","addFeatureSelectInteraction","addClickInteraction","addPointerMoveInteraction","targetValue","inputEvent","bubbles","getLinkChain","fileNames","getLinkResponses","getKmlLayers","getProjectMediaLocationLink","getLinkResponse","ResultCode","downloadUrl","Link","searchParams","kmlName","kmlLayer","olFormatKml","getMediaListResponse","getProjectMediaList","files","FileName","olCondition","setFeatureTranslateInteraction","$listeners","selectRow","$router","olInteractionTranslate","updateCoordinates","handleKlicLayerEvent","getGetFeatureInfoUrl","INFO_FORMAT","klicUtils","layerObjID","olGeomPoint","MpGuid","MpDateLastChanged","moment","utc","updateMeasurementPoint","renderHandlers","MpName","subLayersVisible","subLayer","storeLayersConfig","incomingObject","currentVersions","LOCAL_STORAGE_VERSIONS_KEY","MAP_LAYERS_CONFIGS_KEY","localStorageVersions","_this10","layersConfigs","pickLayerConfig","updatedVersions","imgScale","onUpdateAirSample","airSample","onUpdateWaterSample","waterSample","AirSamplesTable","WaterSamplesTable","BottlesTable","PackagingsTable","currentProjectId","overviewId","currentDashboardExists","toggleAddDashboardPopup","toggleDeleteDashboardPopup","dashboards","dashboard","dashboardId","currentDashboard","isAutoAligning","widgets","toggleEdit","refreshWidgets","toggleRenameDashboardPopup","switchAutoAlign","toggleDeleteAllWidgetsPopup","currentGridStackContainerId","saveWidgets","deleteWidget","registerWidgetInterface","unregisterWidgetInterface","disableMapWidget","addWidget","require","showDropdown","switchAutoAligning","DxSwitch","onClickOutsideDropdown","beforeUnmount","float","dropdownMenu","widgetMenuOpen","toggleWidgetMenu","menuTitle","widgetsToShow","addButtonLabel","allWaterSamples","graphType","widgetData","graphSampleData","graphTitle","getGraphType","getCurrentFilterType","dxSelectFilterOptions","graphFilterSelectedValue","getCurrentGraphType","dxSelectGraphTypeOptions","FilterSamplesPerMonth","FilterSamplesPerYear","FilterSamplesCustomYear","samplesByMonth","graphSettingsData","additionalSettings","barType","lineType","mapNewGraphAdditionalSettings","graphFilter","filterType","setting","newSettings","dxSelectBoxGraphTypeOptions","graphTypes","dxSelectBoxFilterOptions","samplesData","currentYear","groupedSamples","year","WsDate","FtID","sample","sampleYear","currentGraphType","currentFilterType","currentGraphFilterType","currentGraphFilterValue","getStorageGraphSettings","gridStackId","currentDashboardId","getCurrentProjectCode","wantsDashboardData","NvLoading","settingsWaterSamplesWidget","tiDialog","emitRegisterInterface","emitWidgetIsCustomizable","widgetPopup","widgetIsCustomizable","graphLabel","monthId","getGraphData","handleGetTableDataResponse","groupSamplesByMonth","customYearFilter","filterYear","sampleByMonth","totalSamples","waterSamples","FtId","sampleDate","monthSample","groupSamplesByYear","samplesByYear","sampleCreationYear","sampleByYear","setStorageGraphSettings","currentStorageData","newStorageData","applyGraphFilter","filteringType","filterValue","GraphFilterSettings","tblWaterSamples","filteredWaterSamples","showWidgetPopup","popupVisibility","widgetSettings","emitToggleWidgetMovement","isFetchingData","projectInfo","projectName","codeLists","getProjectTypeCodeList","getProjectInformation","findProjectTypeByCode","PrTypeCode","projectType","openLayers","groundWaterDataTableOverview","concernedContactsTable","projectParticipantsTable","todoList","deleteAll","deleteSelected","todo","completed","deleteTodo","newTodo","capitalizeFirstLetter","_k","addTodo","setTodoListDataFromAdditionalSettings","locationVisitsTable","groundAirDataTableOverview","soilDataTableOverview","surfaceSamplesTableOverview","allLabAssignmentsOverview","widgetsTemplate","translations","xAxis","yAxis","minimumWidth","maximumWidth","minimumHeight","maximumHeight","disabledWidgetType","widgetTemplates","widgetsTemplates","localDisabledWidgetType","saveWidgetSettings","checkIfWidgetIsCustomizable","waterSamplesWidget","projectInfoWidget","measurementPointMapWidget","concernedContactsWidget","projectParticipantsWidget","groundWaterInfoWidget","todoListWidget","locationVisitsWidget","groundAirInfoWidget","soilInfoWidget","surfaceSampleInfoWidget","labAssignmentsInfoWidget","widgetInterface","widgetInterfaceKey","unmounted","emitUnregisterInterface","newDashboardName","validateDashboardName","dashboardWidgets","dashboardExist","dashboardName","validateDashboardId","currentDashboardIsDefaultDashboard","defaultDashboardId","validateWidgets","AppHeader","AppFooter","Dashboard404","WidgetMenu","Widget","DashboardHeader","TiDialog","addDashboard","deleteDashboard","renameDashboard","deleteAllWidgets","isCustomizingWidget","defaultDashboard","widgetInterfaces","initGridStack","removeAll","loadWidgets","toggleGridOnWidgetPopup","setPageTitle","getDashboardsFromService","createNewDashboard","GridStack","cellHeight","disableResize","disableDrag","SettingValue","addWidgetToGridAndForceUpdate","makeWidget","guidUtils","newGuid","dashboardHasMatchingWidget","removeWidgetFromGrid","removeWidgetFromWidgetArrays","widgetId","removeWidget","compact","engine","minW","maxW","minH","maxH","currentProjectCode","switchValue","addDashboardPopup","_this11","deleteDashboardPopup","_this12","_callee11","_context11","deleteAllWidgetsPopup","deleteWidgets","_this13","_callee12","_context12","_this14","_callee13","_context13","dashboardsHasMatchingDashboard","removeDashboardFromDashboardArray","_this15","_callee14","_context14","renameDashboardPopup","_this16","_callee15","dashboardIndex","_context15","_this17","_this18","_this19","RegularShape","displacement","hitDetectionCanvas_","origin_","radius_","radius1","radius2_","radius2","stroke_","size_","renderOptions_","getRadius2","getDisplacement","createHitDetectionCanvas_","draw_","calculateLineJoinSize_","r1","r2","miterRatio","maxr","bevelAdd","ee","innerMiterRatio","innerLength","createRenderOptions","createPath_","drawHitDetectionCanvas_","angle0","radiusC","CircleStyle","setRadius","geometryFunction_","defaultGeometryFunction","hitDetectionRenderer_","zIndex_","setRenderer","setHitDetectionRenderer","toFunction","defaultStyles","createDefaultStyle","createEditingStyle","taintedTestContext","IconImage","color_","imageState_","tainted_","isTainted_","dispatchChangeEvent_","replaceColor_","imgData","putImageData","normalizedAnchor_","anchorOrigin_","anchorXUnits_","anchorYUnits_","imgSize_","iconImage_","offset_","offsetOrigin_","setAnchor","mutationOptions","copyFieldSamples","allowCopySamples","copyCoordinates","allowCopyCoordinates","copies","allowNumCopies","onCopiesChange","sourceProjectId","numSelections","hit","activeSearchFilter","tmpTileCoord","DECIMALS","resolutions_","zoomFactor_","origins_","tileSizes_","tileSize_","fullTileRanges_","tmpSize_","restrictedTileRange","calculateTileRanges_","forEachTileCoord","opt_tileRange","tileCoordExtent","getTileRangeForTileCoordAndZ","tileCoordZ","tileCoordX","tileCoordY","getTileRangeExtent","getTileCoordForXYAndZ_","getTileCoordForCoordAndResolution","getTileCoordForXYAndResolution_","reverseIntersectionPolicy","getTileCoordResolution","opt_direction","fullTileRanges","flatMidpoint_","flatMidpointRevision_","appendCoordinate","forEachSegment","getCoordinateAt","fraction","DxPager","DxOperationDescriptions","DxNumericRule","DxLookup","DxLoadPanel","DxKeyboardNavigation","DxGroupOperationDescriptions","DxFormItem","DxForm","DxFilterRow","DxFilterPanelTexts","DxFilterPanel","DxFilterOperationDescriptions","DxFilterBuilderPopup","DxFilterBuilder","DxFieldLookup","DxField","DxEmailRule","DxEditingTexts","DxEditing","DxCustomRule","DxCustomOperation","DxCursorOffset","DxCompareRule","DxColumnLookup","DxColumnHeaderFilterSearch","DxColumnHeaderFilter","DxColumnFixingTexts","DxColumnFixing","DxColumnChooserSelection","DxColumnChooserSearch","DxColumnChooser","DxColCountByScreen","DxChange","DxAsyncRule","DxValidationRule","DxTreeListSelection","DxTreeListHeaderFilterTexts","DxTreeListHeaderFilterSearch","DxTreeListHeaderFilter","DxToolbar","DxTexts","DxStringLengthRule","DxStateStoring","DxSorting","DxSelection","DxSearch","DxRowDragging","DxRequiredRule","DxRemoteOperations","DxRangeRule","DxPopup","DxPatternRule","DxPaging","tree_list_1","allowColumnReordering","allowColumnResizing","autoNavigateToFocusedRow","cacheEnabled","cellHintEnabled","columnAutoWidth","columnChooser","columnFixing","columnHidingEnabled","columnMinWidth","columnResizingMode","columnWidth","customizeColumns","dateSerializationFormat","errorRowEnabled","filterBuilder","filterBuilderPopup","filterPanel","filterRow","filterSyncEnabled","focusedColumnIndex","focusedRowEnabled","focusedRowIndex","highlightChanges","loadPanel","onAdaptiveDetailRowPreparing","onCellClick","onCellDblClick","onCellHoverChanged","onCellPrepared","onContextMenuPreparing","onDataErrorOccurred","onEditCanceled","onEditCanceling","onEditingStart","onEditorPrepared","onEditorPreparing","onFocusedCellChanged","onFocusedCellChanging","onFocusedRowChanged","onFocusedRowChanging","onInitNewRow","onRowClick","onRowCollapsed","onRowCollapsing","onRowExpanded","onRowExpanding","onRowInserted","onRowInserting","onRowPrepared","onRowRemoved","onRowRemoving","onRowUpdated","onRowUpdating","onRowValidating","onSaved","onSaving","pager","renderAsync","repaintChangesOnly","rowAlternationEnabled","rowDragging","searchPanel","showBorders","showColumnHeaders","syncLookupFilterValues","twoWayBindingEnabled","wordWrapEnabled","treeListHeaderFilter","treeListSelection","ignoreEmptyValue","reevaluate","validationCallback","$_predefinedProps","insertBeforeKey","lg","md","sm","xs","allowEditing","allowFiltering","allowFixing","allowHeaderFiltering","allowHiding","allowReordering","allowResizing","allowSearch","allowSorting","calculateCellValue","calculateDisplayValue","calculateFilterExpression","calculateSortValue","caption","cellTemplate","dataField","editCellTemplate","editorOptions","falseText","filterOperations","filterValues","fixedPosition","formItem","headerCellTemplate","hidingPriority","isBand","ownerBand","selectedFilterOperation","setCellValue","showEditorAlways","showInColumnChooser","sortOrder","trueText","validationRules","visibleIndex","AsyncRule","columnHeaderFilter","columnLookup","CompareRule","CustomRule","EmailRule","NumericRule","PatternRule","RangeRule","RequiredRule","StringLengthRule","validationRule","emptyPanelText","columnChooserSearch","columnChooserSelection","allowSelectAll","selectByClick","columnFixingTexts","fix","leftPosition","rightPosition","unfix","groupInterval","columnHeaderFilterSearch","allowClearing","comparisonTarget","comparisonType","dataTypes","editorTemplate","allowDeleting","allowUpdating","confirmDelete","editColumnName","editRowKey","form","refreshMode","selectTextOnEditStart","startEditAction","editingTexts","cancelAllChanges","cancelRowChanges","confirmDeleteMessage","confirmDeleteTitle","deleteRow","editRow","saveAllChanges","saveRowChanges","undeleteRow","validationCancelChanges","fieldLookup","allowHierarchicalFields","customOperations","fields","filterOperationDescriptions","groupOperationDescriptions","groupOperations","maxGroupLevel","customOperation","between","endsWith","equal","greaterThan","greaterThanOrEqual","isBlank","isNotBlank","lessThan","lessThanOrEqual","notContains","notEqual","startsWith","filterEnabled","filterPanelTexts","clearFilter","filterEnabledHint","applyFilterText","betweenEndText","betweenStartText","operationDescriptions","resetOperationText","showAllText","showOperationChooser","alignItemLabels","alignItemLabelsInAllGroups","colCount","colCountByScreen","customizeItem","formData","labelLocation","minColWidth","onEditorEnterKey","onFieldDataChanged","optionalMark","requiredMark","requiredMessage","screenByWidth","scrollingEnabled","showColonAfterLabel","showOptionalMark","showRequiredMark","showValidationSummary","colSpan","editorType","helpText","isRequired","itemType","and","notAnd","notOr","or","editOnKeyPress","enterKeyAction","enterKeyDirection","showColon","indicatorSrc","showIndicator","showPane","allowedPageSizes","infoText","showInfo","showNavigationButtons","showPageSizeSelector","grouping","allowDropInsideItem","autoScroll","cursorOffset","dragDirection","dragTemplate","dropFeedbackMode","onAdd","onDragChange","onDragEnd","onDragMove","onDragStart","onRemove","onReorder","scrollSensitivity","scrollSpeed","showDragIcons","columnRenderingMode","preloadEnabled","rowRenderingMode","scrollByContent","scrollByThumb","showScrollbar","useNative","highlightCaseSensitive","highlightSearchText","searchVisibleColumnsOnly","ascendingText","clearText","descendingText","showSortIndexes","customLoad","customSave","savingTimeout","storageKey","emptyValue","ok","treeListHeaderFilterSearch","treeListHeaderFilterTexts","tileLoadFunction_","getBlankImage","naturalWidth","naturalHeight","DEFAULT_FILL_COLOR","font_","scaleArray_","textAlign_","justify_","textBaseline_","maxAngle_","placement_","overflow_","offsetX_","offsetY_","backgroundFill_","backgroundStroke_","padding_","setOverflow","setMaxAngle","setPlacement","setRotateWithView","setJustify","setTextBaseline","setBackgroundFill","setBackgroundStroke","setPadding","lineCap_","lineDash_","lineDashOffset_","lineJoin_","miterLimit_","setLineCap","setLineDashOffset","setLineJoin","setMiterLimit","setWidth","hideModal","linearRingss","opt_endss","endss_","flatInteriorPointsRevision_","flatInteriorPoints_","polygons","appendPolygon","newEndss","multiPolygon","getInteriorPoints","getPolygon","prevEnds","lastEnds","pointerleave","pointerenter","DocumentTouch","DDTouch","simulateMouseEvent","simulatedType","simulatedEvent","screenX","screenY","simulatePointerMouseEvent","touchHandled","pointerLeaveTimeout","wasDragging","releasePointerCapture","createSnapToN","opt_isMoving","createSnapToZero","opt_tolerance","SWITCH_CLASS","SWITCH_WRAPPER_CLASS","SWITCH_CONTAINER_CLASS","SWITCH_INNER_CLASS","SWITCH_HANDLE_CLASS","SWITCH_ON_VALUE_CLASS","SWITCH_ON_CLASS","SWITCH_OFF_CLASS","SWITCH_ANIMATION_DURATION","Switch","_supportedKeys","isRTL","_clickAction","_saveValueChangeEvent","_animateValue","leftArrow","rightArrow","_useTemplates","switchedOnText","switchedOffText","_defaultOptionsRules","deviceType","isSimulator","_feedbackHideTimeout","_animating","_initMarkup","_renderContainers","_$switchWrapper","_renderSubmitElement","_renderClick","_renderSwipeable","_renderSwitchInner","_renderLabels","_renderValue","_getInnerOffset","_offsetDirection","_getHandleOffset","calcValue","_$switchInner","_$switchContainer","_$handle","_$labelOn","prependTo","_$labelOff","_setLabelsText","_createComponent","elastic","onStart","_swipeStartHandler","onUpdated","_swipeUpdateHandler","onEnd","_swipeEndHandler","itemSizeFunc","_getItemSizeFunc","_$submitElement","_getSubmitElement","_renderPosition","swipeOffset","innerOffset","handleOffset","_validateValue","check","_createAction","_swiping","fromInnerOffset","toInnerOffset","fromHandleOffset","toHandleOffset","fromInnerConfig","toInnerConfig","fromHandleConfig","toHandlerConfig","maxOffOffset","maxOnOffset","maxLeftOffset","maxRightOffset","_feedbackDeferred","_toggleActiveState","toHandleConfig","targetOffset","pressed","repaint","_marginBound","_refresh","LRUCache","opt_highWaterMark","highWaterMark","count_","entries_","oldest_","newest_","containsKey","value_","key_","newer","older","getKeys","getValues","peekLast","peekLastKey","peekFirstKey","peek","TileCache","pruneExceptNewestZ","TILELOADSTART","TILELOADEND","TILELOADERROR","TileSource","opaque_","tilePixelRatio_","tileCache","tileOptions","getTileCacheForProjection","getTileCoordForTileUrlFunction","TileSourceEvent","UrlTile","generateTileUrlFunction_","tileLoadingKeys_","getTileLoadFunction","getTileUrlFunction","getUrls","TileEventType","setTileLoadFunction","defaultTileLoadFunction","tileCacheForProjection","tileGridForProjection","reprojectionErrorThreshold_","renderReprojectionEdges_","usedTileCache","thisProj","projKey","createTile_","urlTileCoord","tileUrl","newTile","getTileInternal","setRenderReprojectionEdges","setTileGridForProjection","tilegrid","proj","imageTile","onUpdateGaugingTube","gaugingTube","GaugingTubesTable","FinishingsTable","createTableAction","updateTableAction","deleteTableAction","getServerData","createLocationVisit","updateLocationVisit","deleteLocationVisit","locationVisits","locationVisit","LvID","LvGuid","assignClosest","offset1","offset2","maxSquaredDelta","squaredDelta","arrayMaxSquaredDelta","multiArrayMaxSquaredDelta","assignClosestPoint","isRing","opt_tmpPoint","squaredDistance","assignClosestArrayPoint","assignClosestMultiArrayPoint","switch_1","appendPoint","multiPoint","createFromTemplate","zRegEx","xRegEx","yRegEx","dashYRegEx","getHeight","createFromTemplates","templates","tileUrlFunctions","createFromTileUrlFunctions","expandUrl","startCharCode","stopCharCode","stop_1","UNITS_PROP","IMPERIAL","NAUTICAL","METRIC","US","LEADING_DIGITS","DEFAULT_DPI","ScaleLine","innerElement_","viewState_","minWidth_","maxWidth_","renderedWidth_","renderedHTML_","handleUnitsChanged_","setUnits","units","scaleBar_","scaleBarSteps_","scaleBarText_","dpi_","setDpi","pointResolutionUnits","METERS","pointResolution","nominalCount","suffix","metersPerDegree","decimalCount","previousCount","previousWidth","previousDecimalCount","createScaleBar","scaleBarText","mapScale","getScaleForResolution","toLocaleString","scaleSteps","stepWidth","createStepText","isLast","lengthString","inchesPerMeter","_eventRegister","_disabled","onUpdateRow","updateSelectedRows","parsedTemplate","dataFieldKey","rows","groupTableAction","customRowValidation","additionalHeaderButtons","multiUpdateTableRowAction","openMap","onUpdateSelectedRows","createWaterSamplesDialogOpen","createWaterSamplesFromSelectedFilterTubesButtonActive","createWaterSamplesDialogRightFooterText","onCreateWaterSamplesDialogCloseButtonClicked","createWaterSamplesDialog","createWaterSamplesForSelectedFilterTubes","selectedMeasurementPointsWithAtLeastOneFilterTube","onAmountOfSelectedFilterTubesChanged","showMap","selectNewRow","waterSampleMatrixOptions","waterSampleMatrixCode","filterTubeTableData","showConfirmationPopup","isCreatingWaterSamples","onCreateWaterSamplesConfirmed","amountOfWaterSamplesCreated","1","amountOfWaterSamplesToCreate","selectedFilterTubeRows","BasePopup","emitNumberOfSelectedRows","setMatrixCodeList","filterTubeTableInstance","filterTubeTable","waterSampleMatrixCodes","filterTubes","filterTube","FtGuid","FtName","FtFilterFrom","FtFilterTo","matrixCodeListCategoryId","waterSampleService","WaterSampleService","matrixCodeList","filterTubeRow","suggestedName","waterSampleRecord","getSuggestedNameForNewWaterSample","WsName","WsMatrixCode","createWaterSample","sampleData","gaugingTubeGuid","measurementPointGuid","arrayUtils","getDefaultName","MeasurementObjectsCopyMoveSettingsDialog","ProjectSelectDialog","CreateWaterSamplesDialog","onDuplicateButtonClick","onDuplicateButtonInitialized","onCreateWaterSamplesButtonClick","onCreateWaterSamplesButtonInitialized","selectedRows","duplicateButtonInstance","createWaterSamplesButtonInstance","measurementPointsWithFilterTubes","evaluateGrouping","copyMoveSettingsDialog","selectProjectDialog","coordinateSystemCode","PrCoordinateSystem","coordinateSystem","currentCoordinateSystemCode","ProjectionUtils","shouldEnableDuplicateButton","filterTubeTypeCode","measurementPointsWithAtLeastOneFilterTube","measurementPointWithFilterTube","selectedRow","clickedMarkerId","terraIndexDynamicTable","selectRowWithId","evaluateCreateWaterSamplesButtonAvailability","toggleDuplicateButtonVisibility","newData","validateNameIsUnique","errorText","MpXCoord","MpYCoord","validateCoordinates","validationContext","dataTable","propertyToValidate","guidToValidate","ValidatePropertyIsUniqueInDataTable","validateXCoordinate","validateYCoordinate","validateCombinedCoordinates","oldData","projectedBounds","XMin","XMax","YMin","YMax","projectIdResponse","getTargetProjectId","duplicateMeasurementObjects","alertAsync","getTableDataRowsByRowKeys","lazilyExpandMeasurementObjectsWithFilterTubes","measurementPointsToRetrieveFilterTubeDataFor","filterTubeRequestPromises","getFilterTubeDataForMeasurementPoint","measurementPointWithFilterTubes","_callee16","_context16","_callee17","newMeasurementPoint","_context17","measurementPointHasCoordinates","convertCoordsToPointGeometry","_callee18","_context18","_callee19","_context19","_this20","_callee20","_context20","_this21","_callee21","_context21","_this22","_callee22","_context22","_this23","_callee23","_yield$_Promise$all","_yield$_Promise$all2","guiTemplateForm","_context23","_this24","_callee24","_context24","rowData","tableColumn","dateTimeAsString","formatDate","amountOfSelectedFilterTubes","selectedMeasurementObject","_handler2","isMeasurementObjectGuidSet","selectedMeasurementObjectGuid","tblMeasurementPoints","validateDepths","fromToValidate","toToValidate","gaugingTubesTable","gaugingTubes","gaugingTubeId","finishingsTable","finishing","finishingGuid","handleGetTableDataResponseResult","request","FiFromValidationValue","FiFrom","FiToValidationValue","FiTo","wrapSelectedRowsUpdate","transferSamplesDialogOpen","isTransferringSamples","transferSamplesDialogStateValid","transferSamplesDialogErrorMessage","transferSamplesDialogFooterText","onTransferSamplesDialogRightButtonClicked","onTransferSamplesDialogCloseButtonClicked","selectedSamples","checkTransferSamplesDialogStateValid","onTransferringSamples","onSamplesTransferred","gaugingTubesInMeasurementPoints","dialogOpened","sampleType","onDialogOpened","onDialogClosed","sortedData","tuple","sortUtils","naturalSort","transferSamplesTableInstance","transferSamplesTable","beginCustomLoading","loadMeasurementPoints","endCustomLoading","clearData","loadGaugingTubes","_iterator2","_step2","emitSelectionChanged","onFooterButtonClicked","transferSamples","selectedMpGuid","selectedFtGuid","_this6$getSelectedRow","getSelectedRowData","selectedGaugingTube","selectedMeasurementPoint","TransferSamplesDialog","tableDataUnfiltered","onTransferButtonClick","onTransferButtonInitialized","_handler3","isGaugingTubeGuidRequired","isGaugingTubeGuidSet","selectedGaugingTubeGuid","tblGaugingTubes","selectedSampleCount","validateNameIsUniqueInDataTable","validateNameIsUniqueOnServer","waterSampleName","WSGuid","WsGuid","recordCreated","airSampleRecord","WsID","waterSampleGuid","_x3","samples","FilterAirSamplesFromSamples","FilterSurfaceSamplesFromSamples","FilterGroundSamplesFromSamples","MapObservationsToDataTable","tblObservation","alterTemplate","_x4","alterMatrixCodeFieldInTemplate","matrixControl","matrixField","FilterAirSampleMatrices","updateTransferSamplesDialogButton","transferSamplesDialogButton","querySelector","isDisabled","transferSamplesDialog","selectedAirSample","_handler4","isAirSampleGuidSet","selectedAirSampleGuid","BoName","packagingsTable","bottles","tblBottles","filterTubeGuid","bottleGuid","_x5","_x6","FilterWaterSamplesFromSamples","_ref6","_x7","FilterSurfaceWaterSampleMatrices","FilterGroundWaterSampleMatrices","selectedWaterSample","isWaterSampleGuidSet","selectedWaterSampleGuid","bottlesTable","handleTableDataResponseResult","saveAndRevertButtonsEnabled","columnChooserEnabled","headerFilterEnabled","headerGroupingEnabled","multiSelectEnabled","defaultSelectedRowIndex","validateRow","scrollingMode","refreshData","extends","createTableRowActionEnabled","deleteTableRowActionEnabled","multiUpdateTableRowActionEnabled","updateTableRowActionEnabled","hasSaveAndRevertButtons","enableHeaderFilter","exportEnabled","onCreated","handleGetDataResponse","getTemplateRequest","alterTableColumns","validatePropertyValueIsUnique","propertyName","foundItems","prepareTableRowDataForCreate","prepareTableRowDataForDelete","prepareTableRowDataForUpdate","getTableRowDataByRowKey","customTableRowDataValidation","BaseProjectTable","setTimeToMidday","responseTableData","itemsWithSameName","SmType","editor","existingSmTypes","smTypes","_array","multiDelete","deleteActions","SmGUID","rowKey","templateId","onSettingsLoaded","getLabAssignmentLink","matrixCodeMap","getCodeObjectFromCodeId","codeMap","codeId","codeObject","setTableColumns","columnDefinitions","columnOperations","getColumnDefinitions","columnDefinition","columnOperation","validations","calculateCellValueForLbIsSent","calculateCellValueForLbSikbMatrixLabCode","dxLookup","dxLookupValidationProperties","convertGcOptionsToDxOptions","displayProperty","valueProperty","foundColumnA","foundColumnB","calculateCellValueForLbLabStatusCode","LbSikbLabMatrixCode","labAssignments","getLabAssignments","getTemplateData","JrName","JrTo","JrFrom","soilSamplesTable","soilSample","soilSampleGuid","_toPropertyKey","_toPrimitive","input","prim","toPrimitive","GetMappings","lookupKey","getMedianCodesAsDxOptions","mappings","mapEntry","codeListOptions","optionsForMapEntry","filterById","createOptionsWithLookupKey","fromOptions","lookupValue","toOptions","fromOption","toOption","createComposedValue","setComposedValueForMedianCodeTableColumn","unsetComposedValueForMedianCodeTableColumn","getValueFromComposedValue","medianCodePropertyKey","soilTypeCodePropertyKey","fromPropertyKey","toPropertyKey","medianCodes","optionsForPropertyFrom","relationLang","nl","en","fr","es","de","it","getMedianCodes","parentType","tableMaxToValue","getMaxPropertyToValue","LaTo","LaFrom","isLowestLayerDepthCreated","updatedLayersTable","reduceToLowestLayer","setMeasurementPointDepth","isLowestLayerDepthUpdated","alterTableRowForServer","LaID","layerGuid","updatedTable","getOptionsForPropertyFrom","measurementpointGuid","alterTableRowsForDisplay","alteredTableColumns","alterMedianCodeTableColumn","alterFromTableColumn","setMedianCodeValueOnSoilTypeCodeValueChange","soilTypeCodeTableColumn","alterTableColumn","MedianUtils","_arguments2","MpDepth","dateFormatter","generateDateLastChangedValue","fieldKey","DDElement","dd_resizable_1","dd_draggable_1","dd_droppable_1","ddElement","ddDraggable","ddDroppable","ddResizable","updateOption","DDDraggable","DDDroppable","conversions","buildGraph","graph","models","deriveBFS","fromModel","adjacents","adjacent","wrapConversion","toModel","conversion","RESOLUTION","ROTATION","createExtent","onlyCenter","smooth","opt_centerShift","viewWidth","viewHeight","getViewportClampedResolution","viewportSize","showFullExtent","xResolution","yResolution","getSmoothClampedResolution","createSnapToResolutions","opt_smooth","opt_maxExtent","opt_showFullExtent","cappedMaxRes","capped","createSnapToPower","opt_minResolution","minZoomLevel","cappedZoomLevel","zoomLevel","createMinMaxResolution","DEFAULT_MIN_ZOOM","hints_","animations_","updateAnimationKey_","projection_","viewportSize_","targetCenter_","targetResolution_","targetRotation_","nextCenter_","nextResolution_","nextRotation_","cancelAnchor_","applyOptions_","ViewProperty","resolutionConstraintInfo","createResolutionConstraint","maxResolution_","minResolution_","minZoom_","centerConstraint","createCenterConstraint","resolutionConstraint","rotationConstraint","createRotationConstraint","constraints_","setCenterInternal","setResolution","oldPadding","newPadding","getUpdatedOptions_","animationCount","sourceRotation","targetRotation","isNoopAnimation","setHint","updateAnimations_","animationCallback","getInteracting","more","seriesComplete","elapsed","getViewportSize_","constrainedResolution","calculateCenterZoom","applyTargetState_","constrainedRotation","calculateCenterRotate","opt_rotation","opt_hints","calculateExtent","calculateExtentInternal","getViewportSizeMinusPadding_","getZoomForResolution","setConstrainResolution","getResolutionForExtent","getResolutionForValueFunction","opt_power","getConstrainedResolution","getValueForResolutionFunction","logPower","reducedSize","calculateCenterOn","nearest","baseLevel","geometryOrExtent","cosAngle","sinAngle","minRotX","minRotY","maxRotX","maxRotY","rotX","rotY","centerRot","centerOn","centerOnInternal","calculateCenterShift","centerShift","shiftedCenter","adjustCenter","deltaCoordinates","adjustResolution","adjustRotation","newRotation","opt_doNotCancelAnims","opt_forceMoving","newCenter","opt_resolutionDirection","endInteractionInternal","opt_targetResolution","targetZoom","targetRes","returnValue","smoothExtentConstraint","constrainOnlyCenter","defaultMaxZoom","defaultZoomFactor","smoothResolutionConstraint","projExtent","defaultMaxResolution","defaultMinResolution","enableRotation","constrainRotation","showTable","tableDataIdentifier","enableKeyboardNavigation","onSavingData","onSelectedRowsChanged","editModusEnabled","editorPreparing","tableAmount","getColumnGroupHeaderTitle","getClassNameForCell","shouldPersistState","loadSettings","saveSettings","excelExportSettings","tableUpdateAction","disabledForEditing","_vm$tableGroupingActi","tableGroupingAction","customizeColumnText","_len2","_key2","formatCellValue","checkForFieldDataType","dxStringLengthRule","minStringLength","maxStringLength","dxNumberRangeRule","minNumberValue","maxNumberValue","dxRequireRule","tableDeleteAction","tableCreateAction","editMode","rowSelectionType","searchPanelWidth","tableMultiUpdateAction","confirmMultiDeleteHeader","showConfirmMultiDeleteDialog","onConfirmMultiDelete","controlId","languageCode","fieldDataChanged","changedData","listsOptions","sublocation","getEditor","configEditors","convert2To3LetterLanguageCode","screenName","parseMultiEditFields","formName","use","orderGUIListAlphabetically","allowedControls","inputControlOptions","AllowMultiEdit","tempfield","typeFields","typefields","generatedTypeField","raws","raw","checkbox","span","hasMapButton","useMultiSelect","showWarning","forceShowTable","shouldUpdateStateOnDelete","selectedRowKeyFromParent","isDoubleClick","onShowWarning","editButtonInstance","createButtonInstance","deleteButtonInstance","columnPickerButtonInstance","exportButtonInstance","hiddenColumnsThroughColumnPicker","settingsLoaded","tabKeyAtLastColumnPressed","unselectRowOnContentReady","tableGrid","multiEditDialog","MultiEditDialog","ConfirmMultiDeleteDialog","onTableColumnsChanged","selectRowsByIndexes","saveEditData","onEditButtonInitialized","onCreateButtonInitialized","onDeleteButtonInitialized","onColumnPickerButtonInitialized","onExportButtonInitialized","evaluateToolBarButtonAvailability","amountSelected","evaluateEditButtonAvailability","evaluateCreateButtonAvailability","evaluateDeleteButtonAvailability","evaluateColumnPickerButtonAvailability","evaluateExportButtonAvailability","evaluateDefaultRowSelection","shouldSelectDefaultRow","hasActiveGrouping","groupingRows","selectedRowKey","_this3$instance$_cont","columnIndex","totalCount","_focusedCellPosition","getRowElement","rowElements","hasEditData","cancelEditData","saveButton","revertButton","cachedFunction","updateButton","deleteButton","_item","mapButton","columnPicker","onSaveButtonClick","onRevertButtonClick","onUpdateButtonClick","onDeleteButtonClick","onInvalidSelection","deleteRowsWithKeys","deleteAction","selectedKey","onConfirmMultiEdit","multiEditDialogData","shouldSendFullDataTableOnMultiEdit","t9","t10","t11","t12","t13","selectionIDs","selectionObjects","guidColumn","dateColumn","changedObject","includeAll","t14","onEditRows","onEditRow","editDataObject","getDataByKeys","settingsString","changedSettings","stripDxGridSettings","isEqual","searchText","columnOption","anotherNaturalSort","cellInfo","groupTitle","valueTitle","lookupItem","ERROR_THRESHOLD","ENABLE_RASTER_REPROJECTION","ImageStyle","displacement_","setDisplacement","opt_radius","setCenterAndRadius","getRadiusSquared_","circleExtent","LINE_STRING","POLYGON","DrawEventType","DRAWSTART","DRAWEND","DRAWABORT","DrawEvent","shouldHandle_","downPx_","downTimeout_","lastDragTime_","pointerType_","freehand_","source_","snapTolerance_","snapTolerance","type_","getMode","stopClick_","stopClick","minPoints_","minPoints","maxPoints_","maxPoints","finishCondition_","finishCondition","geometryLayout_","geometryLayout","geometryFunction","Constructor_1","mode_1","squaredLength","dragVertexDelay_","dragVertexDelay","finishCoordinate_","sketchFeature_","sketchPoint_","sketchCoords_","sketchLine_","sketchLineCoords_","squaredClickTolerance_","clickTolerance","overlay_","Vector","freehandCondition_","freehand","freehandCondition","updateState_","getOverlay","addToDrawing_","startDrawing_","startingToDraw","finishDrawing","atFinish_","downPx","clickPx","modifyDrawing_","createOrUpdateSketchPoint_","potentiallyDone","potentiallyFinishCoordinates","sketchCoords","finishCoordinate","finishPixel","sketchPointGeom","updateSketchFeatures_","createOrUpdateCustomSketchLine_","ring","sketchLineGeom","removeLastPoint","sketchFeature","abortDrawing_","appendCoordinates","newDrawing","ending","sketchFeatures","overlaySource","obsolete","oldName","rev","obsoleteOpts","obsoleteOptsDel","obsoleteAttr","oldAttr","els","isIntercepted","nonce","styleSheet","cssText","getElementsByTagName","sheet","rules","addRule","insertRule","doMinMax","removeEl","autoPosition","noResize","noMove","locked","isWaiting","removeProperty","scrollingElement","overflowRegex","overflowY","innerHeightOrClientHeight","innerHeight","offsetDiffDown","offsetDiffUp","prevScroll","offsetTop","pointerPosY","scrollBy","skipFields","ret","cloneDeep","which","dataTransfer","interpolatePoint","opt_dimension","cumulativeLengths","lineStringCoordinateAtM","lo","hi","mid","m0","m1","lineStringsCoordinateAtM","twiceArea","cssKeywords","reverseKeywords","channels","hwb","cmyk","xyz","lab","lch","keyword","ansi16","ansi256","hcg","apple","comparativeDistance","rdif","gdif","bdif","diffc","reversed","currentClosestKeyword","currentClosestDistance","sv","smin","lmin","vmin","wh","bl","z2","hr","ansi","mult","rem","integer","grayscale","hue","chroma","pure","mg","wrapRaw","wrappedFn","wrapRounded","routes","routeModels","inflateCoordinates","opt_coordinates","inflateCoordinatesArray","opt_coordinatess","coordinatess","inflateMultiCoordinatesArray","opt_coordinatesss","coordinatesss","restArguments","rest","isObject","isNull","isUndefined","isBoolean","isElement","tagTester","isFunction","nodelist","Int8Array","hasStringTagBug","isIE11","isDataView","ie10IsDataView","getInt8","isArrayBuffer","isArguments","isSymbol","isNumber","constant","createSizePropertyCheck","getSizeProperty","sizeProperty","shallowProperty","typedArrayPattern","isTypedArray","emulatedSet","collectNonEnumProps","nonEnumIdx","isString","_keys","toBufferView","bufferSource","byteOffset","tagDataView","eq","aStack","bStack","deepEq","areArrays","aCtor","bCtor","allKeys","ie11fingerprint","weakMapMethods","forEachName","hasName","commonInit","mapTail","mapMethods","setMethods","pairs","createAssigner","keysFunc","baseCreate","Ctor","extendOwn","tap","interceptor","toPath","deepGet","identity","optimizeCb","argCount","baseIteratee","cb","iteratee","mapObject","results","propertyOf","times","accum","createEscaper","escaper","testRegexp","replaceRegexp","templateSettings","evaluate","escape","noMatch","escapes","escapeRegExp","escapeChar","bareIdentifier","oldSettings","matcher","variable","idCounter","uniqueId","chain","executeBound","sourceFunc","boundFunc","callingContext","partial","boundArgs","callArgs","flatten","depth","strict","output","hasher","memoize","address","wait","throttle","previous","later","leading","throttled","_now","remaining","trailing","passed","debounced","_args","negate","compose","before","memo","findKey","createPredicateIndexFinder","createIndexFinder","predicateFind","sortedIndex","findLastIndex","keyFinder","findWhere","each","createReduce","initial","fromIndex","guard","contextPath","pluck","where","lastComputed","reStrSymbol","rand","shuffle","sortBy","partition","keyInObj","pick","otherArrays","difference","uniq","isSorted","seen","arrays","intersection","argsLength","unzip","chunk","chainResult","mixin","intersectsLineString","coordinatesExtent","point1","point2","intersectsLineStringArray","intersectsLinearRing","intersectsLinearRingArray","intersectsLinearRingMultiArray","dataws","_BaseService","_inherits","_createSuper","_classCallCheck","_createClass","authorisation","getAuthorizationObject","getLangCodeLongFromShort","Language","Authorisation","LanguageCode","WebserviceVersion","ArchiveID","pinOrUnPin","ProjectID","BaseService","easeIn","easeOut","inAndOut","CLASS_HIDDEN","CLASS_UNSELECTABLE","CLASS_UNSUPPORTED","CLASS_CONTROL","CLASS_COLLAPSED","fontRegEx","fontRegExMatchIndex","getFontParameters","fontSpec","variant","TranslateEventType","TRANSLATESTART","TRANSLATING","TRANSLATEEND","TranslateEvent","startCoordinate","Translate","lastCoordinate_","startCoordinate_","lastFeature_","handleActiveChanged_","featuresAtPixel_","newCoordinate","deltaX_1","deltaY_1","oldMap","ATTRIBUTION","GridStackEngine","addedNodes","removedNodes","maxRow","_float","flag","batchMode","_prevFloat","saveInitial","_packNodes","nn","_hasLocked","_moving","_skipDown","collide","sortNodes","nested","_useEntireRowArea","skip","didMove","newOpt","pack","moved","moveNode","copyPos","skip2","r0","yOver","MAX_VALUE","xOver","overMax","over","_doSwap","_dirty","touching","isTouching","batchUpdate","copyNodes","addNode","_updating","_orig","canBeMoved","_idSeq","nodeBoundFix","saveOrig","_inColumnResize","findCacheLayout","cacheOneLayout","samePos","verify","dirtyNodes","getDirtyNodes","_lastTried","nodeList","triggerAddEvent","dup","prepareNode","_temporaryRemoved","_removeDOM","findEmptyPosition","_fixCollisions","removeDOM","_layouts","changedPosConstrain","clonedNode","canMove","getRow","gridstackNode","_willFitPos","cleanupNode","_b","wasUndefinedPack","prevPos","collideAll","needToMove","activeDrag","directionCollideCoverage","subGridDynamic","_isTemp","areaIntercept","a1","a2","perc","makeSubGrid","saveElement","wl","removeInternalForSave","prevColumn","cacheLayout","newNodes","domOrder","cacheNodes","cacheNode","containsTileRange","equals","defaultFont","defaultFillStyle","defaultLineCap","defaultLineDash","defaultLineDashOffset","defaultLineJoin","defaultMiterLimit","defaultStrokeStyle","defaultTextAlign","defaultTextBaseline","defaultPadding","defaultLineWidth","checkedFonts","labelCache","measureFont","measureContext","textHeights","registerFont","referenceWidth","retries","referenceFonts","isAvailable","available","referenceFont","measureTextWidth","fonts","clearInterval","setInterval","measureTextHeight","measureElement","metrics","actualBoundingBoxAscent","actualBoundingBoxDescent","curr","getTextDimensions","currentWidth","currentHeight","drawImageOrLabel","labelOrImage","executeLabelInstructions","LENGTH","CollectionEvent","opt_element","opt_index","unique_","array_","assertUnique_","updateLength_","insertAt","removeAt","setAt","opt_except","jsonp","opt_errback","opt_callbackParam","timer","ResponseError","ClientError","client","LANGUAGE_CODES","ar","bg","ca","cs","fi","he","hu","ja","ko","no","pl","ro","ru","sk","sq","th","ur","uk","be","et","lv","lt","tg","fa","vi","hy","az","eu","hsb","mk","tn","xh","zu","af","ka","fo","mt","se","ga","ms","ky","tk","uz","tt","bn","pa","gu","ta","te","kn","ml","as","mr","sa","mn","bo","km","gl","kok","syr","si","iu","am","tzm","ne","fy","ps","fil","dv","ha","yo","quz","nso","ba","lb","ig","arn","moh","ug","mi","oc","gsw","sah","qut","rw","wo","prs","gd","smn","sms","zh","bs","sma","nb","dsb","smj","getLanguageId","ARABIC_ZERO_CODE","DEFINED_NUMBER_FORMTATS","thousands","millions","billions","trillions","fixedpoint","exponential","PERIOD_REGEXP","DAY_REGEXP","DO_REGEXP","STANDALONE_MONTH_REGEXP","HOUR_REGEXP","ANY_REGEXP","_applyPrecision","_hasArabicDigits","_convertDateFormat","formattedValue","_convertDateFormatToOpenXml","_getLanguageInfo","defaultPattern","languageID","languageIDStr","languageInfo","datePart","_convertNumberFormat","excelFormat","getOpenXmlCurrencyFormat","_hasCSVInjection","_includesCSVExpression","_hasCSVQuotedInjection","textQualifier","ExportFormat","escaped","escapedTextQualifier","EXPORT_LOAD_PANEL_CLASS","_$targetElement","_loadPanel","getDefaultOptions","calculateLoadPanelPosition","MAX_DIGIT_WIDTH_IN_PIXELS","MAX_EXCEL_COLUMN_WIDTH","Export","fullOptions","topLeftCell","getCell","keepColumnWidths","encodeExecutableContent","convertDateForExcelJS","UTC","getMilliseconds","excelCell","numberFormat","numFmt","dataProvider","getStyles","tryConvertToExcelNumberFormat","newFormat","formatObjectConverter","convertFormat","wrapText","_excelCell$alignment","startColumnIndex","getColumn","Helpers","getLoadPanelTargetElement","getLoadPanelContainer","_component$_getIntern","exportLoadPanel","getDataProvider","internalComponent","_getInternalInstance","initialLoadPanelEnabledOption","outlineProperties","summaryBelow","summaryRight","cellRange","getColumns","dataRowsCount","getRowsCount","helpers","setColumnsWidth","getColumnsWidths","_exportAllFieldHeaders","setAlignment","fieldHeaderRowsCount","_getFieldHeaderRowsCount","getCellStyles","currentRowIndex","_isRowFieldHeadersRow","getRowAreaColCount","_exportFieldHeaders","_trySetOutlineLevel","exportRow","mergedRangesManager","applyMergedRages","worksheetViewSettings","rightToLeft","_isFrozenZone","_getWorksheetFrozenState","_trySetAutoFilter","columnsCount","cellIndex","cellData","getCellData","_getFirstColumnIndex","updateMergedRanges","findMergedCellInfo","_isHeaderCell","masterCell","bold","getStyleId","setNumberFormat","_trySetFont","_customizeCell","cellSourceData","MergedRangesManager","mergedCells","mergedRanges","isCellInMergedRanges","rowspan","colspan","getCellMerging","isMasterCellOfMergedRange","allowToMergeRange","_allowToMergeRange","updateMergedCells","shouldReduceInfoRange","_isInfoCell","_allowExportRowFieldHeaders","isHeaderCell","startRowIndex","fullAddress","endRowIndex","endColumnIndex","mergeCells","customizeCell","autoFilterEnabled","autoFilter","getHeaderRowCount","ySplit","getFrozenArea","outlineLevel","getGroupLevel","gridCell","_getFullOptions","_getLoadPanelTargetElement","_getLoadPanelContainer","getFullOptions","exists","true","false","regeneratorRuntime","createReadStream","sheetName","dateFormats","parserOptions","emit","pipe","getWorksheet","sheetId","formatterOptions","dateFormat","dateUTC","hyperlink","includeEmptyRows","eachRow","encoding","createWriteStream","dayjs","2","decodeAddress","nativeCol","nativeColOff","nativeRow","nativeRowOff","colWidth","rowHeight","isCustomWidth","3","slideFormula","_row","_column","validateAddress","_address","Types","Null","_mergeStyle","_mergeCount","protection","toCsvString","Merge","isMergedTo","Hyperlink","definedNames","addEx","removeEx","removeAllNames","letter","effectiveType","master","_comment","note","escapeHtml","formulaType","getNamesEx","dataValidations","_dataValidations","comment","ValueType","richText","RichText","_master","addMergeRef","releaseMergeRef","Formula","shareType","sharedFormula","_translatedFormula","findCell","_copyModel","cells","_getTranslatedFormula","FormulaType","Master","Shared","None","SharedString","rawValue","sharedString","4","_worksheet","defn","equivalentTo","eachCell","n2l","_header","_hidden","getColumnKey","deleteColumnKey","setColumnKey","_outlineLevel","outlineLevelCol","5","6","matrixMap","decodeEx","getMatrix","addCellEx","removeCellEx","findCellEx","findCellAt","_explore","$shortRange","forEachInSheet","spliceRows","normaliseMatrix","spliceColumns","getRanges","addCell","7","RelationshipType","OfficeDocument","Worksheet","CalcChain","SharedStrings","Styles","Theme","DocumentType","Xlsx","ReadingOrder","LeftToRight","RightToLeft","ErrorValue","NotApplicable","Ref","Name","DivZero","Value","Num","8","imageId","hyperlinks","tl","ext","editAs","9","deepMerge","DEFAULT_CONFIGS","insetmode","inset","lockText","10","setTLBR","containsEx","encodeAddress","_serialisedSheetName","$t$l","$b$r","$range","11","_cells","_commitRow","l2n","getCellEx","includeEmpty","man","rowBreaks","eachColumnKey","outlineLevelRow","$col$row","12","table","cacheState","_set","filterButton","totalsRowLabel","totalsRowFunction","totalsRowResult","totalsRowFormula","filterHeight","tableHeight","autoFilterRef","tableRef","getFormula","headerRow","totalsRow","_assign","displyName","showFirstColumn","showLastColumn","showRowStripes","showColumnStripes","13","company","keywords","manager","modified","calcProperties","_worksheets","subject","media","_definedNames","trace","tabColor","argb","indexed","orderNo","worksheets","_themes","_xlsx","_csv","lastModifiedBy","lastPrinted","sheets","revision","contentStatus","themes","14","getOwnPropertySymbols","getOwnPropertyDescriptor","getOwnPropertyDescriptors","defineProperties","_rows","_columns","_merges","_workbook","defaultRowHeight","dyDescent","pageSetup","footer","horizontalDpi","verticalDpi","fitToPage","fitToWidth","fitToHeight","pageOrder","blackAndWhite","draft","cellComments","paperSize","showRowColHeaders","showGridLines","firstPageNumber","horizontalCentered","verticalCentered","colBreaks","headerFooter","differentFirst","differentOddEven","oddHeader","oddFooter","evenHeader","evenFooter","firstHeader","firstFooter","_media","sheetProtection","tables","conditionalFormattings","removeWorksheetEx","_nextRow","_setStyleOption","findRow","_copyStyle","getRows","freeze","merge","hasValues","getAddress","_mergeCellsInternal","unmerge","_unMergeMaster","spinCount","algorithmName","saltValue","randomBytes","hashValue","convertPasswordToHash","mergeCellsWithoutStyle","_headerRowCount","cellCount","_lastRowNumber","cols","merges","_parseRows","_parseMergeCells","15","16","TextDecoder","bufferToString","17","TextEncoder","Buffer","stringToBuffer","18","getCellAt","findSheet","findSheetRow","findRowCell","19","_dictionary","_l2nFill","_l2n","_n2l","_level","_fill","_hash","inRange","20","createHash","digest","getHashes","alloc","writeUInt32LE","crypto","21","wrapped","throw","SaxesParser","PassThrough","saxes","22","23","_encoding","toBuffer","_buffer","_buf","iRead","iWrite","bufSize","buffers","batch","corked","inPos","outPos","pipes","paused","Duplex","_getWritableBuffer","_pipe","_writeToBuffers","nop","cork","_flush","uncork","eod","setEncoding","pause","resume","isPaused","unpipe","_process","24","_inPos","_grow","capacity","25","keyBy","strcmp","26","promiseImmediate","setImmediate","super_","dateToExcel","excelToDate","parsePath","getRelsPath","xmlEncode","xmlDecode","validInt","isDateFmt","access","constants","F_OK","toIsoDateString","toIsoString","subsstr","timers","27","_xml","_stack","_rollbacks","tos","openNode","writeText","closeNode","closeAll","StdDocAttributes","standalone","28","Reflect","construct","sham","Proxy","ReferenceError","compression","zip","stream","base64","browser","generateAsync","EventEmitter","ZipWriter","jszip","29","30","31","32","33","34","35","36","37","38","39","40","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","67","68","69","70","81","CoreProperties","ExtenderProperties","Comments","VmlDrawing","Table","xform","parseOpen","parseText","parseClose","toXml","toAttribute","localSheetId","_parsedName","_parsedLocalSheetId","_parsedText","leafNode","rId","calcId","fullCalcOnLoad","date1904","defaultThemeVersion","filterPrivacy","xWindow","yWindow","windowWidth","windowHeight","firstSheet","activeTab","fileVersion","STATIC_XFORMS","workbookPr","bookViews","childXform","calcPr","printArea","printTitlesRow","printTitlesColumn","openXml","WORKBOOK_ATTRIBUTES","workbookRels","Id","worksheetHash","appName","lastEdited","lowestEdited","rupBuild","_richTextXform","authorId","richTextXform","COMMENTS_ATTRIBUTES","comments","_model","41","42","getAnchorRect","getDefaultRect","refAddress","43","ObjectType","normalizeModel","44","DRAWING_ATTRIBUTES","coordsize","joinstyle","gradientshapeok","anchors","reconcile","V_SHAPE_ATTRIBUTES","obscured","fillcolor","strokecolor","conversionUnit","reverseConversionUnit","createNewModel","onParserClose","baseType","Company","Manager","HeadingPairs","TitleOfParts","PROPERTY_ATTRIBUTES","DateFormat","DateAttrs","extension","Extension","ContentType","PartName","sharedStrings","drawings","commentRefs","commentName","CORE_PROPERTY_ATTRIBUTES","identifier","contentType","_values","RELATIONSHIPS_ATTRIBUTES","rels","mediaIndex","cstate","noChangeAspect","zero","anchorType","prepare","63","addAttribute","64","65","66","picture","medium","reconcilePicture","mergeModel","prst","$count","maxItems","71","72","richTextXForm","addStyleModel","styleId","ssId","siFormulae","formulae","expandToAddress","renderFormula","currentNode","getStyleModel","getString","hyperlinkMap","commentsMap","73","iconSet","iconId","toIntValue","74","v4","databarXform","iconSetXform","isExt","custom","x14Id","renderDataBar","renderIconSet","uuid","75","fExtXform","76","sqRef","cfRule","77","cfXform","hasExtContent","hasContent","78","cfvoXform","borderColorXform","negativeBorderColorXform","negativeFillColorXform","axisColorXform","minLength","toIntAttribute","toBoolAttribute","negativeBarColorSameAsPositive","negativeBarBorderColorSameAsPositive","cfvo","negativeBorderColor","negativeFillColor","toBoolValue","toStringValue","79","80","cfIconXform","toStringAttribute","showValue","icons","82","dataBar","extLst","extLstRefXform","formulaXform","colorScale","colorScaleXform","renderExpression","renderCellIs","renderTop10","renderAboveAverage","renderColorScale","renderText","renderTimePeriod","dxfId","rank","aboveAverage","isPrimitive","timePeriod","83","toFloatValue","84","colorXform","85","sqref","86","addDxfStyle","getDxfStyle","87","88","idXform","89","90","91","bestFit","92","dataValidation","marked","allowBlank","showInputMessage","promptTitle","prompt","showErrorMessage","errorStyle","errorTitle","_dataValidation","_formula","forEachAddress","93","94","95","96","addRollback","rollback","97","98","99","100","101","102","103","104","useFirstPageNumber","usePrinterDefaults","105","106","gridLines","107","108","numRowsSeen","spans","ht","109","defaultColWidth","customHeight","110","pageSetUpPr","outlinePr","111","selectLockedCells","selectUnlockedCells","formatCells","formatColumns","formatRows","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","pivotTables","scenarios","112","frozen","frozenSplit","workbookViewId","tabSelected","showRuler","zoomScale","zoomScaleNormal","xSplit","activePane","activeCell","sheetView","selections","113","114","O","E","R","T","C","P","A","I","N","D","B","maxRows","maxCols","sheetPr","sheetViews","sheetFormatPr","sheetData","pageMargins","printOptions","drawing","tableParts","conditionalFormatting","Type","TargetMode","vmlDrawing","drawingsCount","preImageId","WORKSHEET_ATTRIBUTES","relationships","vmlDrawings","115","116","addAttributes","117","118","119","writeXml","120","eb","121","fontXform","textXform","_textXform","_fontXform","FONT_OPTIONS","fontNameTag","122","rPh","123","rich","addRichText","addText","sharedStringXform","uniqueCount","_sharedStringXform","124","125","horizontalValues","verticalValues","shrinkToFit","readingOrder","126","validStyleValues","diagonal","diagonalUp","diagonalDown","127","tint","128","129","fgColor","bgColor","patternType","degree","patternFill","gradientFill","validPatternValues","StopXform","PatternFillXform","GradientFillXform","130","OPTIONS","charset","condense","vertAlign","strike","sz","131","formatCode","numFmtId","getDefaultFmtId","getDefaultFmtCode","132","133","xfId","fontId","borderId","134","numFmts","fills","borders","cellStyleXfs","cellXfs","dxfs","cellStyles","tableStyles","numFmtNextId","initIndex","_addBorder","_addStyle","_addFill","weakMap","WeakMap","STYLESHEET_ATTRIBUTES","_addFont","_addNumFmtStr","builtinId","defaultTableStyle","defaultPivotStyle","defaultSlicerStyle","defaultTimelineStyle","autodrain","dateStyleId","_dateStyleId","Mock","135","Attributes","single","double","singleAccounting","doubleAccounting","136","filterColumn","137","colId","hiddenButton","138","139","140","tableStyleInfo","TABLE_ATTRIBUTES","totalsRowCount","totalsRowShown","headerRowCount","141","readFile","L","U","W","X","K","Y","G","J","Q","parseStream","drawingRels","worksheetRels","sheetNo","globalRels","sheetDefs","loadAsync","writableObjectMode","readableObjectMode","parseRels","parseWorkbook","_processWorksheetEntry","_processWorksheetRelsEntry","_processThemeEntry","_processMediaEntry","_processDrawingEntry","_processCommentEntry","_processTableEntry","_processDrawingRelsEntry","_processVmlDrawingEntry","filename","theme1","RelType","finalize","useSharedStrings","useStyles","prepareModel","addContentTypes","addOfficeRels","addWorkbookRels","addWorksheets","addSharedStrings","addDrawings","addTables","addThemes","addStyles","addMedia","addApp","addCore","addWorkbook","_finalize","142","143","CsvFormatterStream","objectMode","hasWrittenBOM","rowFormatter","RowFormatter","writeBOM","rowTransform","BOM","Transform","144","FormatterOptions","delimiter","rowDelimiter","quote","quoteColumns","quoteHeaders","includeEndRowDelimiter","alwaysWriteHeaders","shouldWriteHeaders","writeHeaders","escapedQuote","145","FieldFormatter","_headers","REPLACE_REGEXP","ESCAPE_REGEXP","quoteField","shouldQuote","146","fieldFormatter","hasWrittenHeaders","isHashArray","isSyncTransform","callTransformer","checkHeaders","shouldFormatColumns","gatherColumns","gatherHeaders","_rowTransform","createTransform","147","148","writeToPath","writeToString","writeToBuffer","writeToStream","promisify","Writable","util","149","150","CsvParserStream","parsedRowCount","parsedLineCount","endEmitted","headersEmitted","headerTransformer","HeaderTransformer","decoder","StringDecoder","rowTransformerValidator","RowTransformerValidator","rowValidator","hasHitRowLimit","processRows","checkAndEmitHeaders","shouldSkipLine","transformRow","pushRow","shouldEmitRows","transformAndValidate","skipRow","limitRows","skipRows","skipLines","string_decoder","151","ParserOptions","ignoreEmpty","supportsComments","ltrim","rtrim","renameHeaders","strictColumnHandling","discardUnmappedColumns","carriageReturn","escapedDelimiter","NEXT_TOKEN_REGEXP","152","parseString","parseFile","Readable","153","rowParser","RowParser","Scanner","removeBOM","hasMoreData","parseWithComments","parseWithoutComments","parseRow","nextCharacterToken","Token","isTokenComment","advancePastLine","lineFromCursor","hasMoreCharacters","truncateToCursor","nextNonSpaceToken","154","isTokenRowDelimiter","isTokenCarriageReturn","isTokenDelimiter","columnParser","ColumnParser","getStartToken","advancePastToken","shouldSkipColumnParse","155","startCursor","endCursor","156","157","ColumnFormatter","trimLeft","trimRight","158","quotedColumnParser","QuotedColumnParser","nonQuotedColumnParser","NonQuotedColumnParser","isTokenQuote","advanceToToken","159","columnFormatter","160","isTokenEscapeCharacter","gatherDataBetweenQuotes","foundClosingQuote","advanceTo","checkForMalformedColumn","161","162","163","receivedHeaders","shouldUseFirstRow","processedFirstRow","headersLength","setHeaders","headersTransform","shouldMapRow","processRow","mapHeaders","164","_rowValidator","isSyncValidate","callValidator","createValidator","165","166","167","bignum","decoders","encoders","168","_createNamed","_initNamed","_getDecoder","_getEncoder","169","Reporter","isBuffer","isEncoderBuffer","DecoderBuffer","isDecoderBuffer","readUInt8","reporter","_reporterState","EncoderBuffer","170","171","_baseState","reverseArgs","choice","optional","any","useDecoder","explicit","implicit","_wrap","_useArgs","_decode","wrapResult","enterKey","_peekTag","isError","_decodeGeneric","_decodeChoice","enterObject","_decodeTag","track","_getUse","leaveObject","exitKey","leaveKey","_decodeList","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeBool","_decodeInt","_use","_createEncoderBuffer","_encode","_encodeValue","_skipDefault","_encodeChoice","_encodePrimitive","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool","_isNumstr","_isPrintstr","172","rethrow","pathLen","captureStackTrace","173","tagClass","tagClassByName","tagByName","174","_reverse","der","175","entity","tree","cls","primitive","tagStr","_skipUntilEnd","unused","readUInt16BE","176","pem","177","178","writeUInt16BE","defaultBuffer","179","180","181","isBN","words","BN","wordSize","cmp","_initNumber","_initArray","_parseHex","_parseBase","imuln","_iaddn","_expand","_normSign","inspect","isZero","modn","idivn","toNumber","toArrayLike","andln","iushrn","clz32","_countBits","_zeroBits","bitLength","zeroBits","toTwos","inotn","iaddn","fromTwos","testn","notn","ineg","isNeg","neg","iuor","ior","uor","iuand","iand","uand","iuxor","ixor","xor","uxor","setn","iadd","isub","sub","rt","nt","ot","st","ut","ct","ft","dt","imul","bt","vt","gt","wt","kt","xt","St","Ot","jt","Et","Rt","Tt","Ct","Pt","Mt","At","It","mulp","mulTo","makeRBT","revBin","permute","guessLen13b","conjugate","normalize13b","convert13b","stub","mul","mulf","muln","sqr","isqr","iushln","ishln","ishrn","shln","ushln","shrn","ushrn","imaskn","maskn","isubn","addn","subn","iabs","_ishlnsubmul","_wordDiv","divmod","divn","umod","divRound","egcd","isEven","isOdd","gcd","_invmp","cmpn","invm","bincn","ucmp","gtn","gten","gte","ltn","lten","lte","eqn","toRed","convertTo","_forceRed","fromRed","convertFrom","forceRed","redAdd","redIAdd","redSub","redISub","redShl","shl","redMul","_verify2","redIMul","redSqr","_verify1","redISqr","redSqrt","redInvm","redNeg","redPow","k256","p224","p192","p25519","_tmp","_prime","prime","imod","rinv","minv","ireduce","imulK","_strip","mont","182","toByteArray","fromByteArray","183","_move","for","modrn","allocUnsafe","_toArrayLikeLE","_toArrayLikeBE","184","generate","Rand","_rand","getBytes","getByte","getRandomValues","msCrypto","185","186","readUInt32BE","SBOX","INV_SBOX","SUB_MIX","INV_SUB_MIX","blockSize","keySize","_nRounds","_keySchedule","_invKeySchedule","encryptBlockRaw","encryptBlock","writeUInt32BE","decryptBlock","scrub","AES","187","_cipher","_ghash","_finID","writeUIntBE","_prev","_secCache","_decrypt","_alen","_mode","_authTag","_called","_update","encrypt","_final","final","getAuthTag","setAuthTag","setAAD","188","createCipher","Cipher","createCipheriv","Cipheriv","createDecipher","Decipher","createDecipheriv","Decipheriv","listCiphers","getCiphers","189","_last","_autopadding","iv","decrypt","flush","setAutoPadding","evp_bytestokey","190","writeUInt8","191","ghash","_multiply","192","193","194","195","196","197","198","199","ECB","CBC","CFB","CFB8","CFB1","OFB","CTR","GCM","200","cipher","aes128","aes192","aes256","201","202","203","204","instantiate","EDE","DES","_des","des","des3","205","206","blinder","modulus","publicExponent","unblinder","prime1","prime2","coefficient","exponent1","exponent2","getr","randombytes","207","208","209","sha224WithRSAEncryption","sha256WithRSAEncryption","sha384WithRSAEncryption","sha512WithRSAEncryption","sha256","sha224","sha384","sha512","DSA","ripemd160WithRSA","md5WithRSAEncryption","210","211","_hashType","_tag","_signType","_write","Sign","Verify","createSign","createVerify","212","ec","curve","keyFromPrivate","privateKey","toDER","priv_key","makeKey","elliptic","213","subjectPrivateKey","pub_key","signature","214","allocUnsafeSlow","SlowBuffer","215","216","RangeError","isEncoding","INSPECT_MAX_BYTES","kMaxLength","TYPED_ARRAY_SUPPORT","foo","species","poolSize","_isBuffer","swap16","swap32","swap64","_arr","subarray","readUIntLE","readUIntBE","readUInt16LE","readUInt32LE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUInt16LE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","copyWithin","ieee754","217","218","hashMode","_finalOrDigest","__final","_decoder","_toString","_transform","219","220","221","222","223","224","225","226","ACCESSORS","227","228","229","230","231","callee","232","233","234","235","236","237","238","BUGGY_SAFARI_ITERATORS","entries","forced","239","240","241","242","243","244","versions","v8","245","246","stat","noTargetGet","247","248","249","250","251","globalThis","252","253","254","255","256","257","258","inspectSource","259","enforce","getterFor","260","261","262","NATIVE","POLYFILL","263","264","265","266","stopped","267","268","269","MutationObserver","WebKitMutationObserver","domain","exit","characterData","270","271","272","273","274","275","276","ActiveXObject","parentWindow","277","278","279","280","getOwnPropertyNames","281","282","283","284","285","286","287","288","289","290","291","292","293","294","unsafe","295","296","297","298","299","300","301","copyright","302","303","clearImmediate","MessageChannel","Dispatch","postMessage","port2","port1","onmessage","importScripts","onreadystatechange","304","305","306","307","308","309","310","311","312","313","314","withoutSetter","315","316","317","318","kind","Arguments","319","320","321","322","323","PromiseRejectionEvent","finally","notified","reactions","rejection","race","324","fromCodePoint","325","326","327","QObject","findChild","keyFor","useSetter","useSimple","328","isNullOrUndefined","isRegExp","isDate","329","secp256k1","secp224r1","prime256v1","prime192v1","ed25519","secp384r1","secp521r1","curveType","p256","secp256r1","secp192r1","p384","p521","generateKeys","genKeyPair","getPublicKey","computeSecret","keyFromPublic","getPublic","getPrivate","getX","getPrivateKey","setPublicKey","_importPublic","setPrivateKey","_importPrivate","330","331","ripemd160","332","333","_alg","_ipad","_opad","334","335","rng","pseudoRandomBytes","prng","Hash","createHmac","Hmac","pbkdf2","pbkdf2Sync","DiffieHellmanGroup","createDiffieHellmanGroup","getDiffieHellman","createDiffieHellman","DiffieHellman","createECDH","publicEncrypt","privateEncrypt","publicDecrypt","privateDecrypt","randomFill","randomFillSync","createCredentials","DH_CHECK_P_NOT_SAFE_PRIME","DH_CHECK_P_NOT_PRIME","DH_UNABLE_TO_CHECK_GENERATOR","DH_NOT_SUITABLE_GENERATOR","NPN_ENABLED","ALPN_ENABLED","RSA_PKCS1_PADDING","RSA_SSLV23_PADDING","RSA_NO_PADDING","RSA_PKCS1_OAEP_PADDING","RSA_X931_PADDING","RSA_PKCS1_PSS_PADDING","POINT_CONVERSION_COMPRESSED","POINT_CONVERSION_UNCOMPRESSED","POINT_CONVERSION_HYBRID","randomfill","336","utcOffset","weekdays","$L","$u","$offset","$d","$y","$M","$D","$W","$H","$m","$s","$ms","$utils","isSame","startOf","endOf","isAfter","isBefore","$g","unix","$locale","weekStart","daysInMonth","subtract","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","weekdaysMin","ddd","weekdaysShort","dddd","HH","hh","mm","ss","SSS","toUTCString","isDayjs","Ls","337","dayjs_plugin_customParseFormat","zone","afternoon","SS","Do","ordinal","ZZ","regex","338","local","getUTCDay","getUTCMilliseconds","isUTC","dayjs_plugin_utc","339","utils","340","_cbcInit","_cbcState","341","bufferOff","_updateDecrypt","_updateEncrypt","_flushBuffer","_finalEncrypt","_finalDecrypt","_pad","_unpad","342","_desState","deriveKeys","pc1","r28shl","pc2","ip","_encrypt","substitute","rip","343","ciphers","_edeState","344","padSplit","345","346","_pub","_priv","setGenerator","__prime","_primeLen","_primeCode","simpleSieve","fermatTest","__gen","_gen","getPrime","getGenerator","347","348","modp1","modp2","modp5","modp14","modp15","modp16","modp17","modp18","349","350","curves","eddsa","brorand","351","getNAF","getJSF","assert","one","two","pointFromJSON","gRed","_wnafT1","_wnafT2","_wnafT3","_wnafT4","_bitLength","redN","_maxwellTrick","precomputed","_fixedNafMul","_getDoubles","jpoint","mixedAdd","toP","_wnafMul","_getNAFPoints","wnd","dblp","_wnafMulAdd","toJ","BasePoint","decodePoint","pointFromX","encodeCompressed","getY","precompute","doubles","naf","beta","_getBeta","_hasDoubles","dbl","352","twisted","mOneA","extended","oneC","zOne","_mulA","_mulC","pointFromY","isInfinity","_extDbl","_projDbl","_extAdd","_projAdd","mulAdd","jmulAdd","eqXToP","353","edwards","354","i4","a24","diffAdd","jumlAdd","355","tinv","zeroA","threeA","endo","_getEndomorphism","_endoWnafT1","_endoWnafT2","inf","_getEndoRoots","lambda","_getEndoBasis","_endoSplit","_endoWnafMulAdd","_zeroDbl","_threeDbl","_dbl","trpl","356","PresetCurve","357","nh","keyPair","fromPrivate","fromPublic","pers","persEnc","entropy","hmacStrength","entropyEnc","_truncateToN","canonical","recoveryParam","recoverPubKey","getKeyRecoveryParam","358","priv","pub","privEnc","pubEnc","derive","359","_importDER","place","LN2","360","parseBytes","pointClass","encodingLength","keyFromSecret","hashInt","messagePrefix","encodePoint","pubBytes","makeSignature","Rencoded","intFromLE","fromSecret","encodeInt","decodeInt","isPoint","361","cachedProperty","_secret","secret","_pubBytes","privBytes","getSecret","362","_R","_S","_Rencoded","_Sencoded","Sencoded","toBytes","363","364","zero2","365","366","_from","_inBundle","_integrity","_location","_phantomChildren","_requested","registry","escapedName","rawSpec","saveSpec","fetchSpec","_requiredBy","_resolved","_shasum","_spec","_where","author","email","bugs","bundleDependencies","dependencies","deprecated","devDependencies","brfs","coveralls","grunt","istanbul","jscs","jshint","mocha","homepage","license","main","repository","scripts","lint","367","_events","_eventsCount","_maxListeners","defaultMaxListeners","newListener","warned","fired","removeListener","wrapFn","setMaxListeners","getMaxListeners","addListener","prependListener","prependOnceListener","removeAllListeners","listeners","rawListeners","listenerCount","ownKeys","368","369","370","_block","_blockSize","_blockOffset","_length","_finalized","_digest","371","372","sha","ripemd","hmac","sha1","373","pending","pendingTotal","outSize","padLength","endian","_delta8","_delta32","BlockHash","join32","374","inner","outer","375","rotl32","sum32","sum32_3","sum32_4","toHex32","split32","376","377","sum32_5","ft_1","378","379","ch32","maj32","s0_256","s1_256","g0_256","g1_256","380","381","rotr64_hi","rotr64_lo","shr64_hi","shr64_lo","sum64","sum64_hi","sum64_lo","sum64_4_hi","sum64_4_lo","sum64_5_hi","sum64_5_lo","_prepareBlock","382","rotr32","p32","383","htonl","zero8","384","predResist","outLen","minEntropy","_reseed","reseedInterval","nonceEnc","_hmac","reseed","385","386","387","388","389","390","getTypeOf","uint8array","391","compressedSize","uncompressedSize","crc32","compressedContent","getContentWorker","uncompressWorker","streamInfo","data_length","getCompressedWorker","withStreamInfo","createWorkerFrom","compressWorker","392","STORE","magic","DEFLATE","393","394","createFolders","compressionOptions","unixPermissions","dosPermissions","395","lie","396","Uint16Array","Uint32Array","_pako","_pakoAction","_pakoOptions","meta","processChunk","_createPako","cleanUp","onData","pako","397","utf8encode","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","DATA_DESCRIPTOR","bytesWritten","zipComment","zipPlatform","encodeFileName","streamFiles","contentBuffer","dirRecords","currentSourceOffset","entriesCount","currentFile","_sources","openedSource","closedSource","CENTRAL_DIRECTORY_END","prepareNextSource","registerPrevious","generatedError","398","generateWorker","_compressWorker","399","support","external","400","decompressed","checkCRC32","optimizedBinaryString","decodeFileName","utf8decode","isStream","prepareContent","fileNameStr","fileCommentStr","401","_upstreamEnded","_bindStream","_stream","402","_helper","_read","403","newBufferFrom","allocBuffer","404","folder","generateInternalStream","checkSupport","generateNodeStream","toNodejsStream","405","406","byteAt","lastIndexOfSignature","readAndCheckSignature","readData","checkOffset","407","checkIndex","setIndex","readInt","readDate","408","409","410","411","412","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","413","destType","414","415","416","dataIsReady","_tickScheduled","_tickAndRepeat","isFinished","_tick","417","extraStreamInfo","isLocked","_listeners","mergeStreamInfo","418","nodestream","_internalType","_outputType","_mimeType","newBlob","_worker","419","arraybuffer","nodebuffer","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","420","leftOver","applyFromCharCode","Utf8DecodeWorker","Utf8EncodeWorker","421","stringifyByChunk","stringifyByChar","applyCanBeUsed","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","readAsArrayBuffer","422","checkSignature","reader","isSignature","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","zip64ExtensibleData","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","processAttributes","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","423","isEncrypted","bitFlag","useUTF8","fileNameLength","compressionMethod","versionMadeBy","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","fileComment","extraFields","findExtraFieldUnicodePath","findExtraFieldUnicodeComment","424","_dataBinary","internalStream","_decompressWorker","nodeStream","425","outcome","onFulfilled","callFulfilled","otherCallFulfilled","onRejected","callRejected","otherCallRejected","426","427","binding","IE_PROTO","Nt","__data__","Ht","Ut","zt","Yt","Vt","Xt","Zt","qt","Gt","Wt","Kt","Lt","Dt","Bt","Ft","Cache","428","429","430","431","432","433","434","_d","435","_randbelow","_randrange","getDivisor","436","437","438","439","440","chunkSize","windowBits","memLevel","gzip","msg","ended","strm","avail_out","deflateInit2","deflateSetHeader","string2buf","deflateSetDictionary","_dict_set","next_in","avail_in","Buf8","next_out","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","Deflate","deflateRaw","441","inflateInit2","Z_OK","inflateGetHeader","inflateSetDictionary","Z_FINISH","Z_NO_FLUSH","binstring2buf","Z_NEED_DICT","Z_BUF_ERROR","Z_STREAM_END","Z_SYNC_FLUSH","utf8border","buf2string","arraySet","inflateEnd","Inflate","inflateRaw","ungzip","442","Int32Array","setTyped","Buf16","Buf32","443","444","445","Z_PARTIAL_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_DEFAULT_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","Z_BINARY","Z_TEXT","Z_UNKNOWN","Z_DEFLATED","446","447","pending_buf","pending_out","total_out","_tr_flush_block","block_start","strstart","max_chain_length","prev_length","nice_match","w_size","w_mask","good_match","lookahead","match_start","window_size","hash_size","adler","total_in","ins_h","hash_shift","hash_mask","match_length","_tr_tally","max_lazy_match","last_lit","prev_match","match_available","good_length","max_lazy","nice_length","max_chain","pending_buf_size","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","heap","heap_len","heap_max","l_buf","lit_bufsize","d_buf","opt_len","static_len","bi_buf","bi_valid","data_type","_tr_init","deflateInit","deflateReset","deflateResetKeep","hcrc","os","_tr_align","_tr_stored_block","deflateInfo","448","xflags","extra_len","449","dmax","wsize","whave","wnext","hold","bits","lencode","distcode","lenbits","distbits","sane","450","havedict","wbits","ncode","nlen","ndist","have","lens","work","lendyn","distdyn","back","was","inflateReset","inflateReset2","inflateResetKeep","inflateInit","inflateInfo","451","452","453","static_tree","extra_bits","extra_base","elems","max_length","has_stree","dyn_tree","max_code","stat_desc","454","455","456","certificate","seq","int","RSAPrivateKey","RSAPublicKey","bitstr","PublicKey","objid","null_","octstr","PrivateKey","EncryptedPrivateKey","DSAPrivateKey","DSAparam","ECPrivateKey","namedCurve","457","utcTime","utctime","generalTime","gentime","setof","seqof","rdnSequence","458","459","passphrase","tbsCertificate","subjectPublicKeyInfo","subjectPublicKey","kde","kdeparams","salt","iters","algo","460","461","subtle","importKey","deriveBits","iterations","462","463","464","md5","rmd160","ipad1","ipad2","opad","alg","blocksize","run","465","466","467","fun","env","argv","cwd","chdir","umask","468","469","470","471","472","473","474","475","476","477","478","allowHalfOpen","readable","_writableState","getBuffer","_readableState","destroyed","479","480","ReadableState","debuglog","getHighWaterMark","ERR_INVALID_ARG_TYPE","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","pipesCount","flowing","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","emitClose","autoDestroy","defaultEncoding","awaitDrain","readingMore","_destroy","consume","finished","_undestroy","undestroy","stdout","stderr","hasUnpiped","needDrain","_fromList","481","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","_transformState","transforming","writecb","writechunk","afterTransform","needTransform","writeencoding","482","pendingcb","corkedRequestsFree","WritableState","deprecate","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","finalCalled","decodeStrings","writing","bufferProcessing","onwrite","writelen","errorEmitted","bufferedRequest","lastBufferedRequest","prefinished","bufferedRequestCount","writev","_writev","isBuf","allBuffers","hasInstance","setDefaultEncoding","483","484","tail","_getString","_getBuffer","customInspect","485","486","ERR_STREAM_PREMATURE_CLOSE","req","setHeader","abort","487","488","ERR_MISSING_ARGS","489","ERR_INVALID_OPT_VALUE","490","491","Stream","pipeline","492","493","494","495","kStringMaxLength","MAX_LENGTH","MAX_STRING_LENGTH","496","isS","isChar","isNameStartChar","isNameChar","S_LIST","NAME_RE","isNCNameStartChar","isNCNameChar","NC_NAME_RE","amp","quot","apos","EVENTS","xmldecl","processinginstruction","doctype","opentagstart","opentag","closetag","cdata","fragmentOpt","fragment","xmlnsOpt","trackPosition","nameStartCheck","nameCheck","isName","processAttribs","processAttribsNS","pushAttrib","pushAttribNS","ns","additionalNamespaces","processAttribsPlain","pushAttribPlain","stateTable","sBegin","sBeginWhitespace","sDoctype","sDoctypeQuote","sDTD","sDTDQuoted","sDTDOpenWaka","sDTDOpenWakaBang","sDTDComment","sDTDCommentEnding","sDTDCommentEnded","sDTDPI","sDTDPIEnding","sText","sEntity","sOpenWaka","sOpenWakaBang","sComment","sCommentEnding","sCommentEnded","sCData","sCDataEnding","sCDataEnding2","sPIFirstChar","sPIRest","sPIBody","sPIEnding","sXMLDeclNameStart","sXMLDeclName","sXMLDeclEq","sXMLDeclValueStart","sXMLDeclValue","sXMLDeclSeparator","sXMLDeclEnding","sOpenTag","sOpenTagSlash","sAttrib","sAttribName","sAttribNameSawWhite","sAttribValue","sAttribValueQuoted","sAttribValueClosed","sAttribValueUnquoted","sCloseTag","sCloseTagSawWhite","openWakaBang","piTarget","tags","topNS","chunkPosition","prevI","carriedFromPrevious","forbiddenState","attribList","reportedTextBeforeRoot","reportedTextAfterRoot","closedRoot","sawRoot","xmlDeclPossible","xmlDeclExpects","entityReturnState","defaultXMLVersion","forceXMLVersion","setXMLVersion","positionAtNewLine","_closed","xmlDecl","ENTITIES","readyHandler","makeError","getCodeNorm","currentXMLVersion","getCode10","getCode11","skipSpaces","unget","captureTo","doctypeHandler","captureToChar","handleTextInRoot","handleTextOutsideRoot","parseEntity","textHandler","commentHandler","cdataHandler","piHandler","xmldeclHandler","captureNameChars","openTagStartHandler","openTag","openSelfClosingTag","closeTag","qname","attributeHandler","endHandler","resolvePrefix","isSelfClosing","openTagHandler","closeTagHandler","497","498","_finalSize","499","500","_w","501","502","_f","_g","_h","503","504","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","505","506","_isStdio","507","508","509","510","readableHighWaterMark","isarray","511","512","writableHighWaterMark","513","514","515","516","517","518","519","520","fillLast","lastNeed","lastTotal","lastChar","521","_clearFn","unref","enroll","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","522","523","524","525","noDeprecation","throwDeprecation","traceDeprecation","stylize","showHidden","NODE_DEBUG","pid","italic","underline","inverse","special","boolean","null","regexp","526","527","unescape","528","529","530","531","532","533","534","clockseq","msecs","nsecs","535","536","DNS","537","538","539","540","541","CHAR","NAME_START_CHAR","NAME_CHAR","CHAR_RE","S_RE","NAME_START_CHAR_RE","NAME_CHAR_RE","NMTOKEN_RE","542","RESTRICTED_CHAR","RESTRICTED_CHAR_RE","isRestrictedChar","isCharAndNotRestricted","543","NC_NAME_START_CHAR","NC_NAME_CHAR","NC_NAME_START_CHAR_RE","NC_NAME_CHAR_RE","DxDisplayFormat","DxCalendarOptions","date_box_1","adaptivityEnabled","applyButtonText","applyValueMode","calendarOptions","cancelButtonText","dateOutOfRangeMessage","disabledDates","invalidDateMessage","pickerType","showAnalogClock","todayButtonText","useMaskBehavior","validator","maxZoomLevel","showTodayButton","showWeekNumbers","weekNumberRule","asColorLike","DDGridStack","dd_element_1","_getDDElements","dEl","cleanResizable","setupResizable","resizable","alwaysShowResizeHandle","cleanDraggable","setupDraggable","draggable","accept","cleanDroppable","setupDroppable","helper","hosts","getElements","handleName","dragEl","forDestroy","dragTimeout","mouseHandled","skipMouseDown","dropElement","ui","_dragFollow","pauseDrag","isInteger","_callDrag","_createHelper","_setupHelperContainmentStyle","dragOffset","_getDragOffset","helperContainment","_setupHelperStyle","_removeHelperStyle","drop","dragElementOriginStyle","originStyleProp","willChange","_isAboutToRemove","offsetLeft","xformOffsetX","xformOffsetY","testEl","addElStyles","testElPosition","_mouseEnter","_mouseLeave","_setupAccept","_canDrop","parentDrop","__createBinding","__exportStar","gridstack_engine_1","types_1","dd_gridstack_1","_gsEventHandler","_extraDragRow","minRow","rowAttr","anyOpts","oneColumnSize","_alwaysShowResizeHandle","gridDefaults","staticGrid","toBool","handleClass","removableOptions","itemClass","_initMargin","disableOneColumnMode","_widthOrContainer","_prevColumn","parentGridItem","closestUpByClass","subGrid","_isAutoCellHeight","cellHeightUnit","_styleSheetClass","_setStaticClass","engineClass","cbNodes","_writePosAttr","_updateStyles","getGridItems","_prepareElement","setAnimation","dragIn","setupDragIn","dragInOptions","_setupRemoveDrop","_setupAcceptWidget","_updateWindowResizeEvent","elOrString","getGridElement","gridstack","grids","getGridElements","parentIsGrid","addRemoveCB","createHTMLDocument","_placeholder","placeholderChild","placeholderText","placeholderClass","isGridStackWidget","domAttr","_readAttr","_writeAttr","_insertNotAppend","prepend","_updateContainerHeight","_ignoreLayoutsNodeChange","_triggerAddEvent","_triggerChangeEvent","ops","nodeToAdd","saveContent","subGridTemplate","autoColumn","newItem","newItemOpt","_removeDD","_prepareDragDropByNode","addGrid","_autoColumn","_event","nodeThatRemoved","pGrid","saveGridOpt","listOrOpt","marginBottom","marginTop","marginRight","marginLeft","origShow","removeInternalAndSame","addRemove","prevCB","_triggerRemoveEvent","forcePixel","marginDiff","cellWidth","parseHeight","innerWidth","domNodes","oldColumn","oneColumnModeDomSort","updateNodeWidths","setStatic","_removeStylesheet","useDocRelative","containerPos","relativeLeft","relativeTop","isAreaEmpty","getElement","noData","detail","doAnimate","updateClass","recurse","ddChanged","cleanNodes","isMultiValue","marginUnit","willItFit","layoutsNodesChange","CustomEvent","removeStylesheet","forceUpdate","styleLocation","styleInHead","createStylesheet","addCSSRule","same","classes","changedColumn","oneColumn","cellHeightThrottle","_cellHeightThrottle","onParentResize","forceRemove","workTodo","_windowResizeBind","dragInDefaultOptions","isDraggable","enableMove","enableResize","doEnable","movable","_initDD","acceptWidgets","removable","droppable","onDrag","_onStartMoving","_dragOrResize","canAccept","otherGrid","_leave","getCellHeight","_isExternal","_gridstackNodeOrig","_itemRemoving","removeAsSubGrid","wasAdded","origNode","oGrid","removePositioningStyles","trashEl","isDroppable","onStartMoving","dragOrResize","onEndMoving","gridToNotify","_lastUiPosition","_prevYPix","cacheRects","mLeft","mRight","mTop","mBottom","mHeight","mWidth","scroll","updateScrollPosition","updateScrollResize","moveNodeCheck","restoreInitial","Engine","GDRev","users","toggleSelected","projectUserService","ProjectUserService","tableOptions","formatIfDate","nocheckbox","FirstName","PersonName","columnsDisplay","allUsersUnpinned","table_options","getProjectUsersNotPinned","getProjectUsersNotPinnedWithFilter","usersToShow","searchKeys","searchKeyCount","user","checkedUsers","checkedUser","pinUnpinUser","$parent","addPinnedUser","UserID","attributions_","adaptAttributions","attributionsCollapsible_","wrapX_","interpolate_","viewResolver","viewRejector","viewPromise_","attributionLike"],"mappings":"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AAI,IACJC,GAAI,IACJC,GAAI,IACJxnL,GAAI,IACJynL,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,GAAI,IACJC,GAAI,IACJC,IAAK,IACLC,GAAI,IACJ,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,SAAU,KACV,QAAS,KACT,aAAc,KACd,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,QAAS,KACT,aAAc,KACd,QAAS,KACT,SAAU,KACV,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,SAAU,KACV,SAAU,KACV,QAAS,KACT,QAAS,KACT,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,aAAc,KACd,aAAc,KACd,cAAe,KACf,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,SAAU,KACV,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,MACT,QAAS,MACT,QAAS,MACT,aAAc,MACd,QAAS,MACT,QAAS,MACT,QAAS,MACT,aAAc,MACd,QAAS,MACT,QAAS,MACT,QAAS,MACT,aAAc,MACd,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACXC,IAAK,MACL,UAAW,MACXC,IAAK,MACLC,GAAI,MACJ3O,GAAI,MACJ4O,GAAI,MACJ,UAAW,MACXC,IAAK,MACL,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACXC,GAAI,MAC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GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAIkf,EAAEwhc,WAAW,SAASvgb,EAAE5M,GAAG,IAAI,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AAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,kEAAkE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,sEAAsEmgX,IAAI,CAACX,IAAI,EAAEx/W,OAAO,CAAC,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,iEAAiE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CA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","file":"js/chunk-367513d3.b9b82291.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('TerraIndexDynamicTable',{attrs:{\"table-data\":_vm.tableData,\"table-title\":this.$t('tableTitles.ConcernedContacts'),\"table-data-identifier\":_vm.tableIdentifier,\"table-create-action\":_vm.createTableRowAction,\"table-update-action\":_vm.updateTableRowAction,\"table-delete-action\":_vm.deleteTableRowAction,\"table-columns\":_vm.tableColumns,\"table-name\":_vm.tableName,\"setting-name\":_vm.settingName,\"language\":_vm.language,\"excel-export-settings\":_vm.exportSettings,\"enable-column-chooser\":false,\"search-panel-enabled\":_vm.searchPanelEnabled,\"state-storing\":{},\"default-selected-row-index\":0,\"is-valid-request\":_vm.isValidRequest,\"scrolling-mode\":\"infinite\",\"use-multi-select\":true},on:{\"refresh-table-data\":_vm.refreshTableData}}),_c('ConcernedContactModal',{attrs:{\"functions\":{ add: _vm.newConcernedContactCallback }}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./concernedContactsTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./concernedContactsTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./concernedContactsTable.vue?vue&type=template&id=04b4dcc0\"\nimport script from \"./concernedContactsTable.vue?vue&type=script&lang=js\"\nexport * from \"./concernedContactsTable.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * @module ol/tilegrid/common\n */\n/**\n * Default maximum zoom for default tile grids.\n * @type {number}\n */\nexport var DEFAULT_MAX_ZOOM = 42;\n/**\n * Default tile size.\n * @type {number}\n */\nexport var DEFAULT_TILE_SIZE = 256;\n//# sourceMappingURL=common.js.map","/*!\n * devextreme-vue\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DxToolbarItem = exports.DxTo = exports.DxShow = exports.DxPosition = exports.DxOptions = exports.DxOffset = exports.DxMy = exports.DxItem = exports.DxHide = exports.DxFrom = exports.DxDropDownOptions = exports.DxCollision = exports.DxButton = exports.DxBoundaryOffset = exports.DxAt = exports.DxAnimation = exports.DxSelectBox = void 0;\nvar select_box_1 = __importDefault(require(\"devextreme/ui/select_box\"));\nvar index_1 = require(\"./core/index\");\nvar index_2 = require(\"./core/index\");\nvar DxSelectBox = (0, index_1.createComponent)({\n props: {\n acceptCustomValue: Boolean,\n accessKey: String,\n activeStateEnabled: Boolean,\n buttons: Array,\n customItemCreateEvent: String,\n dataSource: {},\n deferRendering: Boolean,\n disabled: Boolean,\n displayExpr: [Function, String],\n displayValue: String,\n dropDownButtonTemplate: {},\n dropDownOptions: Object,\n elementAttr: Object,\n fieldTemplate: {},\n focusStateEnabled: Boolean,\n grouped: Boolean,\n groupTemplate: {},\n height: [Function, Number, String],\n hint: String,\n hoverStateEnabled: Boolean,\n inputAttr: {},\n isValid: Boolean,\n items: Array,\n itemTemplate: {},\n label: String,\n labelMode: String,\n maxLength: [Number, String],\n minSearchLength: Number,\n name: String,\n noDataText: String,\n onChange: Function,\n onClosed: Function,\n onContentReady: Function,\n onCopy: Function,\n onCustomItemCreating: Function,\n onCut: Function,\n onDisposing: Function,\n onEnterKey: Function,\n onFocusIn: Function,\n onFocusOut: Function,\n onInitialized: Function,\n onInput: Function,\n onItemClick: Function,\n onKeyDown: Function,\n onKeyUp: Function,\n onOpened: Function,\n onOptionChanged: Function,\n onPaste: Function,\n onSelectionChanged: Function,\n onValueChanged: Function,\n opened: Boolean,\n openOnFieldClick: Boolean,\n placeholder: String,\n readOnly: Boolean,\n rtlEnabled: Boolean,\n searchEnabled: Boolean,\n searchExpr: [Array, Function, String],\n searchMode: String,\n searchTimeout: Number,\n selectedItem: {},\n showClearButton: Boolean,\n showDataBeforeSearch: Boolean,\n showDropDownButton: Boolean,\n showSelectionControls: Boolean,\n spellcheck: Boolean,\n stylingMode: String,\n tabIndex: Number,\n text: String,\n useItemTextAsTitle: Boolean,\n validationError: {},\n validationErrors: Array,\n validationMessageMode: String,\n validationMessagePosition: String,\n validationStatus: String,\n value: {},\n valueChangeEvent: String,\n valueExpr: [Function, String],\n visible: Boolean,\n width: [Function, Number, String],\n wrapItemText: Boolean\n },\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:acceptCustomValue\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:buttons\": null,\n \"update:customItemCreateEvent\": null,\n \"update:dataSource\": null,\n \"update:deferRendering\": null,\n \"update:disabled\": null,\n \"update:displayExpr\": null,\n \"update:displayValue\": null,\n \"update:dropDownButtonTemplate\": null,\n \"update:dropDownOptions\": null,\n \"update:elementAttr\": null,\n \"update:fieldTemplate\": null,\n \"update:focusStateEnabled\": null,\n \"update:grouped\": null,\n \"update:groupTemplate\": null,\n \"update:height\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:inputAttr\": null,\n \"update:isValid\": null,\n \"update:items\": null,\n \"update:itemTemplate\": null,\n \"update:label\": null,\n \"update:labelMode\": null,\n \"update:maxLength\": null,\n \"update:minSearchLength\": null,\n \"update:name\": null,\n \"update:noDataText\": null,\n \"update:onChange\": null,\n \"update:onClosed\": null,\n \"update:onContentReady\": null,\n \"update:onCopy\": null,\n \"update:onCustomItemCreating\": null,\n \"update:onCut\": null,\n \"update:onDisposing\": null,\n \"update:onEnterKey\": null,\n \"update:onFocusIn\": null,\n \"update:onFocusOut\": null,\n \"update:onInitialized\": null,\n \"update:onInput\": null,\n \"update:onItemClick\": null,\n \"update:onKeyDown\": null,\n \"update:onKeyUp\": null,\n \"update:onOpened\": null,\n \"update:onOptionChanged\": null,\n \"update:onPaste\": null,\n \"update:onSelectionChanged\": null,\n \"update:onValueChanged\": null,\n \"update:opened\": null,\n \"update:openOnFieldClick\": null,\n \"update:placeholder\": null,\n \"update:readOnly\": null,\n \"update:rtlEnabled\": null,\n \"update:searchEnabled\": null,\n \"update:searchExpr\": null,\n \"update:searchMode\": null,\n \"update:searchTimeout\": null,\n \"update:selectedItem\": null,\n \"update:showClearButton\": null,\n \"update:showDataBeforeSearch\": null,\n \"update:showDropDownButton\": null,\n \"update:showSelectionControls\": null,\n \"update:spellcheck\": null,\n \"update:stylingMode\": null,\n \"update:tabIndex\": null,\n \"update:text\": null,\n \"update:useItemTextAsTitle\": null,\n \"update:validationError\": null,\n \"update:validationErrors\": null,\n \"update:validationMessageMode\": null,\n \"update:validationMessagePosition\": null,\n \"update:validationStatus\": null,\n \"update:value\": null,\n \"update:valueChangeEvent\": null,\n \"update:valueExpr\": null,\n \"update:visible\": null,\n \"update:width\": null,\n \"update:wrapItemText\": null,\n },\n model: { prop: \"value\", event: \"update:value\" },\n computed: {\n instance: function () {\n return this.$_instance;\n }\n },\n beforeCreate: function () {\n this.$_WidgetClass = select_box_1.default;\n this.$_hasAsyncTemplate = true;\n this.$_expectedChildren = {\n button: { isCollectionItem: true, optionName: \"buttons\" },\n dropDownOptions: { isCollectionItem: false, optionName: \"dropDownOptions\" },\n item: { isCollectionItem: true, optionName: \"items\" }\n };\n }\n});\nexports.DxSelectBox = DxSelectBox;\nvar DxAnimation = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:hide\": null,\n \"update:show\": null,\n },\n props: {\n hide: [Object, Number, String],\n show: [Object, Number, String]\n }\n});\nexports.DxAnimation = DxAnimation;\nDxAnimation.$_optionName = \"animation\";\nDxAnimation.$_expectedChildren = {\n hide: { isCollectionItem: false, optionName: \"hide\" },\n show: { isCollectionItem: false, optionName: \"show\" }\n};\nvar DxAt = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: String,\n y: String\n }\n});\nexports.DxAt = DxAt;\nDxAt.$_optionName = \"at\";\nvar DxBoundaryOffset = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: Number,\n y: Number\n }\n});\nexports.DxBoundaryOffset = DxBoundaryOffset;\nDxBoundaryOffset.$_optionName = \"boundaryOffset\";\nvar DxButton = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:location\": null,\n \"update:name\": null,\n \"update:options\": null,\n },\n props: {\n location: String,\n name: String,\n options: Object\n }\n});\nexports.DxButton = DxButton;\nDxButton.$_optionName = \"buttons\";\nDxButton.$_isCollectionItem = true;\nDxButton.$_expectedChildren = {\n options: { isCollectionItem: false, optionName: \"options\" }\n};\nvar DxCollision = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: String,\n y: String\n }\n});\nexports.DxCollision = DxCollision;\nDxCollision.$_optionName = \"collision\";\nvar DxDropDownOptions = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:animation\": null,\n \"update:bindingOptions\": null,\n \"update:closeOnOutsideClick\": null,\n \"update:container\": null,\n \"update:contentTemplate\": null,\n \"update:copyRootClassesToWrapper\": null,\n \"update:deferRendering\": null,\n \"update:disabled\": null,\n \"update:dragAndResizeArea\": null,\n \"update:dragEnabled\": null,\n \"update:dragOutsideBoundary\": null,\n \"update:elementAttr\": null,\n \"update:enableBodyScroll\": null,\n \"update:focusStateEnabled\": null,\n \"update:fullScreen\": null,\n \"update:height\": null,\n \"update:hideOnOutsideClick\": null,\n \"update:hideOnParentScroll\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:maxHeight\": null,\n \"update:maxWidth\": null,\n \"update:minHeight\": null,\n \"update:minWidth\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onHidden\": null,\n \"update:onHiding\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:onResize\": null,\n \"update:onResizeEnd\": null,\n \"update:onResizeStart\": null,\n \"update:onShowing\": null,\n \"update:onShown\": null,\n \"update:onTitleRendered\": null,\n \"update:position\": null,\n \"update:resizeEnabled\": null,\n \"update:restorePosition\": null,\n \"update:rtlEnabled\": null,\n \"update:shading\": null,\n \"update:shadingColor\": null,\n \"update:showCloseButton\": null,\n \"update:showTitle\": null,\n \"update:tabIndex\": null,\n \"update:title\": null,\n \"update:titleTemplate\": null,\n \"update:toolbarItems\": null,\n \"update:visible\": null,\n \"update:width\": null,\n \"update:wrapperAttr\": null,\n },\n props: {\n accessKey: String,\n animation: Object,\n bindingOptions: Object,\n closeOnOutsideClick: [Boolean, Function],\n container: {},\n contentTemplate: {},\n copyRootClassesToWrapper: Boolean,\n deferRendering: Boolean,\n disabled: Boolean,\n dragAndResizeArea: {},\n dragEnabled: Boolean,\n dragOutsideBoundary: Boolean,\n elementAttr: {},\n enableBodyScroll: Boolean,\n focusStateEnabled: Boolean,\n fullScreen: Boolean,\n height: [Function, Number, String],\n hideOnOutsideClick: [Boolean, Function],\n hideOnParentScroll: Boolean,\n hint: String,\n hoverStateEnabled: Boolean,\n maxHeight: [Function, Number, String],\n maxWidth: [Function, Number, String],\n minHeight: [Function, Number, String],\n minWidth: [Function, Number, String],\n onContentReady: Function,\n onDisposing: Function,\n onHidden: Function,\n onHiding: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n onResize: Function,\n onResizeEnd: Function,\n onResizeStart: Function,\n onShowing: Function,\n onShown: Function,\n onTitleRendered: Function,\n position: [Function, Object, String],\n resizeEnabled: Boolean,\n restorePosition: Boolean,\n rtlEnabled: Boolean,\n shading: Boolean,\n shadingColor: String,\n showCloseButton: Boolean,\n showTitle: Boolean,\n tabIndex: Number,\n title: String,\n titleTemplate: {},\n toolbarItems: Array,\n visible: Boolean,\n width: [Function, Number, String],\n wrapperAttr: {}\n }\n});\nexports.DxDropDownOptions = DxDropDownOptions;\nDxDropDownOptions.$_optionName = \"dropDownOptions\";\nDxDropDownOptions.$_expectedChildren = {\n animation: { isCollectionItem: false, optionName: \"animation\" },\n position: { isCollectionItem: false, optionName: \"position\" },\n toolbarItem: { isCollectionItem: true, optionName: \"toolbarItems\" }\n};\nvar DxFrom = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:left\": null,\n \"update:opacity\": null,\n \"update:position\": null,\n \"update:scale\": null,\n \"update:top\": null,\n },\n props: {\n left: Number,\n opacity: Number,\n position: Object,\n scale: Number,\n top: Number\n }\n});\nexports.DxFrom = DxFrom;\nDxFrom.$_optionName = \"from\";\nDxFrom.$_expectedChildren = {\n position: { isCollectionItem: false, optionName: \"position\" }\n};\nvar DxHide = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:complete\": null,\n \"update:delay\": null,\n \"update:direction\": null,\n \"update:duration\": null,\n \"update:easing\": null,\n \"update:from\": null,\n \"update:staggerDelay\": null,\n \"update:start\": null,\n \"update:to\": null,\n \"update:type\": null,\n },\n props: {\n complete: Function,\n delay: Number,\n direction: String,\n duration: Number,\n easing: String,\n from: Object,\n staggerDelay: Number,\n start: Function,\n to: Object,\n type: String\n }\n});\nexports.DxHide = DxHide;\nDxHide.$_optionName = \"hide\";\nDxHide.$_expectedChildren = {\n from: { isCollectionItem: false, optionName: \"from\" },\n to: { isCollectionItem: false, optionName: \"to\" }\n};\nvar DxItem = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:disabled\": null,\n \"update:html\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:visible\": null,\n },\n props: {\n disabled: Boolean,\n html: String,\n template: {},\n text: String,\n visible: Boolean\n }\n});\nexports.DxItem = DxItem;\nDxItem.$_optionName = \"items\";\nDxItem.$_isCollectionItem = true;\nvar DxMy = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: String,\n y: String\n }\n});\nexports.DxMy = DxMy;\nDxMy.$_optionName = \"my\";\nvar DxOffset = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: Number,\n y: Number\n }\n});\nexports.DxOffset = DxOffset;\nDxOffset.$_optionName = \"offset\";\nvar DxOptions = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:bindingOptions\": null,\n \"update:disabled\": null,\n \"update:elementAttr\": null,\n \"update:focusStateEnabled\": null,\n \"update:height\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:icon\": null,\n \"update:onClick\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:rtlEnabled\": null,\n \"update:stylingMode\": null,\n \"update:tabIndex\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:type\": null,\n \"update:useSubmitBehavior\": null,\n \"update:validationGroup\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n accessKey: String,\n activeStateEnabled: Boolean,\n bindingOptions: Object,\n disabled: Boolean,\n elementAttr: Object,\n focusStateEnabled: Boolean,\n height: [Function, Number, String],\n hint: String,\n hoverStateEnabled: Boolean,\n icon: String,\n onClick: Function,\n onContentReady: Function,\n onDisposing: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n rtlEnabled: Boolean,\n stylingMode: String,\n tabIndex: Number,\n template: {},\n text: String,\n type: String,\n useSubmitBehavior: Boolean,\n validationGroup: String,\n visible: Boolean,\n width: [Function, Number, String]\n }\n});\nexports.DxOptions = DxOptions;\nDxOptions.$_optionName = \"options\";\nvar DxPosition = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:at\": null,\n \"update:boundary\": null,\n \"update:boundaryOffset\": null,\n \"update:collision\": null,\n \"update:my\": null,\n \"update:of\": null,\n \"update:offset\": null,\n },\n props: {\n at: [Object, String],\n boundary: {},\n boundaryOffset: [Object, String],\n collision: [Object, String],\n my: [Object, String],\n of: {},\n offset: [Object, String]\n }\n});\nexports.DxPosition = DxPosition;\nDxPosition.$_optionName = \"position\";\nvar DxShow = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:complete\": null,\n \"update:delay\": null,\n \"update:direction\": null,\n \"update:duration\": null,\n \"update:easing\": null,\n \"update:from\": null,\n \"update:staggerDelay\": null,\n \"update:start\": null,\n \"update:to\": null,\n \"update:type\": null,\n },\n props: {\n complete: Function,\n delay: Number,\n direction: String,\n duration: Number,\n easing: String,\n from: Object,\n staggerDelay: Number,\n start: Function,\n to: Object,\n type: String\n }\n});\nexports.DxShow = DxShow;\nDxShow.$_optionName = \"show\";\nvar DxTo = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:left\": null,\n \"update:opacity\": null,\n \"update:position\": null,\n \"update:scale\": null,\n \"update:top\": null,\n },\n props: {\n left: Number,\n opacity: Number,\n position: Object,\n scale: Number,\n top: Number\n }\n});\nexports.DxTo = DxTo;\nDxTo.$_optionName = \"to\";\nvar DxToolbarItem = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:cssClass\": null,\n \"update:disabled\": null,\n \"update:html\": null,\n \"update:locateInMenu\": null,\n \"update:location\": null,\n \"update:menuItemTemplate\": null,\n \"update:options\": null,\n \"update:showText\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:toolbar\": null,\n \"update:visible\": null,\n \"update:widget\": null,\n },\n props: {\n cssClass: String,\n disabled: Boolean,\n html: String,\n locateInMenu: String,\n location: String,\n menuItemTemplate: {},\n options: {},\n showText: String,\n template: {},\n text: String,\n toolbar: String,\n visible: Boolean,\n widget: String\n }\n});\nexports.DxToolbarItem = DxToolbarItem;\nDxToolbarItem.$_optionName = \"toolbarItems\";\nDxToolbarItem.$_isCollectionItem = true;\nexports.default = DxSelectBox;\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardView.vue?vue&type=style&index=0&id=7389b5f5&prod&lang=less&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"soil-data-table-overview\"},[_c('div',{staticClass:\"overview-table-row\"},[_c('div',{staticClass:\"overview-table\"},[_c('MeasurementObjectsSelectTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"projectCode\":_vm.projectCode,\"updateSelectedRows\":() => {},\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled},on:{\"update:selected\":_vm.onUpdateMeasurementObject}})],1),_c('div',{staticClass:\"overview-table\"},[_c('FieldSamplesTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"projectCode\":_vm.projectCode,\"selectedMeasurementObject\":_vm.measurementObject,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1)]),_c('div',{staticClass:\"overview-table-row\"},[_c('div',{staticClass:\"overview-table\"},[_c('LayersTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"projectCode\":_vm.projectCode,\"selectedMeasurementObject\":_vm.measurementObject,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./soilDataTableOverview.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./soilDataTableOverview.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./soilDataTableOverview.vue?vue&type=template&id=26f9be6b\"\nimport script from \"./soilDataTableOverview.vue?vue&type=script&lang=js\"\nexport * from \"./soilDataTableOverview.vue?vue&type=script&lang=js\"\nimport style0 from \"./soilDataTableOverview.vue?vue&type=style&index=0&id=26f9be6b&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createWaterSamplesDialog.vue?vue&type=style&index=0&id=709a96ba&prod&lang=less\"","/**\n * @module ol/events/condition\n */\nimport MapBrowserEventType from '../MapBrowserEventType.js';\nimport { FALSE, TRUE } from '../functions.js';\nimport { MAC, WEBKIT } from '../has.js';\nimport { assert } from '../asserts.js';\n/**\n * A function that takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * `{boolean}`. If the condition is met, true should be returned.\n *\n * @typedef {function(this: ?, import(\"../MapBrowserEvent.js\").default): boolean} Condition\n */\n/**\n * Creates a condition function that passes when all provided conditions pass.\n * @param {...Condition} var_args Conditions to check.\n * @return {Condition} Condition function.\n */\nexport function all(var_args) {\n var conditions = arguments;\n /**\n * @param {import(\"../MapBrowserEvent.js\").default} event Event.\n * @return {boolean} All conditions passed.\n */\n return function (event) {\n var pass = true;\n for (var i = 0, ii = conditions.length; i < ii; ++i) {\n pass = pass && conditions[i](event);\n if (!pass) {\n break;\n }\n }\n return pass;\n };\n}\n/**\n * Return `true` if only the alt-key is pressed, `false` otherwise (e.g. when\n * additionally the shift-key is pressed).\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} True if only the alt key is pressed.\n * @api\n */\nexport var altKeyOnly = function (mapBrowserEvent) {\n var originalEvent = /** @type {KeyboardEvent|MouseEvent|TouchEvent} */ (mapBrowserEvent.originalEvent);\n return (originalEvent.altKey &&\n !(originalEvent.metaKey || originalEvent.ctrlKey) &&\n !originalEvent.shiftKey);\n};\n/**\n * Return `true` if only the alt-key and shift-key is pressed, `false` otherwise\n * (e.g. when additionally the platform-modifier-key is pressed).\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} True if only the alt and shift keys are pressed.\n * @api\n */\nexport var altShiftKeysOnly = function (mapBrowserEvent) {\n var originalEvent = /** @type {KeyboardEvent|MouseEvent|TouchEvent} */ (mapBrowserEvent.originalEvent);\n return (originalEvent.altKey &&\n !(originalEvent.metaKey || originalEvent.ctrlKey) &&\n originalEvent.shiftKey);\n};\n/**\n * Return `true` if the map has the focus. This condition requires a map target\n * element with a `tabindex` attribute, e.g. `
`.\n *\n * @param {import(\"../MapBrowserEvent.js\").default} event Map browser event.\n * @return {boolean} The map has the focus.\n * @api\n */\nexport var focus = function (event) {\n var targetElement = event.map.getTargetElement();\n var activeElement = event.map.getOwnerDocument().activeElement;\n return targetElement.contains(activeElement);\n};\n/**\n * Return `true` if the map has the focus or no 'tabindex' attribute set.\n *\n * @param {import(\"../MapBrowserEvent.js\").default} event Map browser event.\n * @return {boolean} The map container has the focus or no 'tabindex' attribute.\n */\nexport var focusWithTabindex = function (event) {\n return event.map.getTargetElement().hasAttribute('tabindex')\n ? focus(event)\n : true;\n};\n/**\n * Return always true.\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} True.\n * @api\n */\nexport var always = TRUE;\n/**\n * Return `true` if the event is a `click` event, `false` otherwise.\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} True if the event is a map `click` event.\n * @api\n */\nexport var click = function (mapBrowserEvent) {\n return mapBrowserEvent.type == MapBrowserEventType.CLICK;\n};\n/**\n * Return `true` if the event has an \"action\"-producing mouse button.\n *\n * By definition, this includes left-click on windows/linux, and left-click\n * without the ctrl key on Macs.\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} The result.\n */\nexport var mouseActionButton = function (mapBrowserEvent) {\n var originalEvent = /** @type {MouseEvent} */ (mapBrowserEvent.originalEvent);\n return originalEvent.button == 0 && !(WEBKIT && MAC && originalEvent.ctrlKey);\n};\n/**\n * Return always false.\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} False.\n * @api\n */\nexport var never = FALSE;\n/**\n * Return `true` if the browser event is a `pointermove` event, `false`\n * otherwise.\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} True if the browser event is a `pointermove` event.\n * @api\n */\nexport var pointerMove = function (mapBrowserEvent) {\n return mapBrowserEvent.type == 'pointermove';\n};\n/**\n * Return `true` if the event is a map `singleclick` event, `false` otherwise.\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} True if the event is a map `singleclick` event.\n * @api\n */\nexport var singleClick = function (mapBrowserEvent) {\n return mapBrowserEvent.type == MapBrowserEventType.SINGLECLICK;\n};\n/**\n * Return `true` if the event is a map `dblclick` event, `false` otherwise.\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} True if the event is a map `dblclick` event.\n * @api\n */\nexport var doubleClick = function (mapBrowserEvent) {\n return mapBrowserEvent.type == MapBrowserEventType.DBLCLICK;\n};\n/**\n * Return `true` if no modifier key (alt-, shift- or platform-modifier-key) is\n * pressed.\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} True only if there no modifier keys are pressed.\n * @api\n */\nexport var noModifierKeys = function (mapBrowserEvent) {\n var originalEvent = /** @type {KeyboardEvent|MouseEvent|TouchEvent} */ (mapBrowserEvent.originalEvent);\n return (!originalEvent.altKey &&\n !(originalEvent.metaKey || originalEvent.ctrlKey) &&\n !originalEvent.shiftKey);\n};\n/**\n * Return `true` if only the platform-modifier-key (the meta-key on Mac,\n * ctrl-key otherwise) is pressed, `false` otherwise (e.g. when additionally\n * the shift-key is pressed).\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} True if only the platform modifier key is pressed.\n * @api\n */\nexport var platformModifierKeyOnly = function (mapBrowserEvent) {\n var originalEvent = /** @type {KeyboardEvent|MouseEvent|TouchEvent} */ (mapBrowserEvent.originalEvent);\n return (!originalEvent.altKey &&\n (MAC ? originalEvent.metaKey : originalEvent.ctrlKey) &&\n !originalEvent.shiftKey);\n};\n/**\n * Return `true` if only the shift-key is pressed, `false` otherwise (e.g. when\n * additionally the alt-key is pressed).\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} True if only the shift key is pressed.\n * @api\n */\nexport var shiftKeyOnly = function (mapBrowserEvent) {\n var originalEvent = /** @type {KeyboardEvent|MouseEvent|TouchEvent} */ (mapBrowserEvent.originalEvent);\n return (!originalEvent.altKey &&\n !(originalEvent.metaKey || originalEvent.ctrlKey) &&\n originalEvent.shiftKey);\n};\n/**\n * Return `true` if the target element is not editable, i.e. not an `input`,\n * `select`, or `textarea` element and no `contenteditable` attribute is\n * set or inherited, `false` otherwise.\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} True only if the target element is not editable.\n * @api\n */\nexport var targetNotEditable = function (mapBrowserEvent) {\n var originalEvent = /** @type {KeyboardEvent|MouseEvent|TouchEvent} */ (mapBrowserEvent.originalEvent);\n var tagName = /** @type {Element} */ (originalEvent.target).tagName;\n return (tagName !== 'INPUT' &&\n tagName !== 'SELECT' &&\n tagName !== 'TEXTAREA' &&\n // `isContentEditable` is only available on `HTMLElement`, but it may also be a\n // different type like `SVGElement`.\n // @ts-ignore\n !originalEvent.target.isContentEditable);\n};\n/**\n * Return `true` if the event originates from a mouse device.\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} True if the event originates from a mouse device.\n * @api\n */\nexport var mouseOnly = function (mapBrowserEvent) {\n var pointerEvent = /** @type {import(\"../MapBrowserEvent\").default} */ (mapBrowserEvent).originalEvent;\n assert(pointerEvent !== undefined, 56); // mapBrowserEvent must originate from a pointer event\n // see https://www.w3.org/TR/pointerevents/#widl-PointerEvent-pointerType\n return pointerEvent.pointerType == 'mouse';\n};\n/**\n * Return `true` if the event originates from a touchable device.\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} True if the event originates from a touchable device.\n * @api\n */\nexport var touchOnly = function (mapBrowserEvent) {\n var pointerEvt = /** @type {import(\"../MapBrowserEvent\").default} */ (mapBrowserEvent).originalEvent;\n assert(pointerEvt !== undefined, 56); // mapBrowserEvent must originate from a pointer event\n // see https://www.w3.org/TR/pointerevents/#widl-PointerEvent-pointerType\n return pointerEvt.pointerType === 'touch';\n};\n/**\n * Return `true` if the event originates from a digital pen.\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} True if the event originates from a digital pen.\n * @api\n */\nexport var penOnly = function (mapBrowserEvent) {\n var pointerEvt = /** @type {import(\"../MapBrowserEvent\").default} */ (mapBrowserEvent).originalEvent;\n assert(pointerEvt !== undefined, 56); // mapBrowserEvent must originate from a pointer event\n // see https://www.w3.org/TR/pointerevents/#widl-PointerEvent-pointerType\n return pointerEvt.pointerType === 'pen';\n};\n/**\n * Return `true` if the event originates from a primary pointer in\n * contact with the surface or if the left mouse button is pressed.\n * See https://www.w3.org/TR/pointerevents/#button-states.\n *\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} True if the event originates from a primary pointer.\n * @api\n */\nexport var primaryAction = function (mapBrowserEvent) {\n var pointerEvent = /** @type {import(\"../MapBrowserEvent\").default} */ (mapBrowserEvent).originalEvent;\n assert(pointerEvent !== undefined, 56); // mapBrowserEvent must originate from a pointer event\n return pointerEvent.isPrimary && pointerEvent.button === 0;\n};\n//# sourceMappingURL=condition.js.map","/**\n * @module ol/render/EventType\n */\n/**\n * @enum {string}\n */\nexport default {\n /**\n * Triggered before a layer is rendered.\n * @event module:ol/render/Event~RenderEvent#prerender\n * @api\n */\n PRERENDER: 'prerender',\n /**\n * Triggered after a layer is rendered.\n * @event module:ol/render/Event~RenderEvent#postrender\n * @api\n */\n POSTRENDER: 'postrender',\n /**\n * Triggered before layers are composed. When dispatched by the map, the event object will not have\n * a `context` set. When dispatched by a layer, the event object will have a `context` set. Only\n * WebGL layers currently dispatch this event.\n * @event module:ol/render/Event~RenderEvent#precompose\n * @api\n */\n PRECOMPOSE: 'precompose',\n /**\n * Triggered after layers are composed. When dispatched by the map, the event object will not have\n * a `context` set. When dispatched by a layer, the event object will have a `context` set. Only\n * WebGL layers currently dispatch this event.\n * @event module:ol/render/Event~RenderEvent#postcompose\n * @api\n */\n POSTCOMPOSE: 'postcompose',\n /**\n * Triggered when rendering is complete, i.e. all sources and tiles have\n * finished loading for the current viewport, and all tiles are faded in.\n * The event object will not have a `context` set.\n * @event module:ol/render/Event~RenderEvent#rendercomplete\n * @api\n */\n RENDERCOMPLETE: 'rendercomplete',\n};\n/**\n * @typedef {'postrender'|'precompose'|'postcompose'|'rendercomplete'} MapRenderEventTypes\n */\n/**\n * @typedef {'postrender'|'prerender'} LayerRenderEventTypes\n */\n//# sourceMappingURL=EventType.js.map","/**\n * @module ol/tilegrid\n */\nimport TileGrid from './tilegrid/TileGrid.js';\nimport Units from './proj/Units.js';\nimport { DEFAULT_MAX_ZOOM, DEFAULT_TILE_SIZE } from './tilegrid/common.js';\nimport { METERS_PER_UNIT, get as getProjection } from './proj.js';\nimport { containsCoordinate, createOrUpdate, getCorner, getHeight, getWidth, } from './extent.js';\nimport { toSize } from './size.js';\n/**\n * @param {import(\"./proj/Projection.js\").default} projection Projection.\n * @return {!TileGrid} Default tile grid for the\n * passed projection.\n */\nexport function getForProjection(projection) {\n var tileGrid = projection.getDefaultTileGrid();\n if (!tileGrid) {\n tileGrid = createForProjection(projection);\n projection.setDefaultTileGrid(tileGrid);\n }\n return tileGrid;\n}\n/**\n * @param {TileGrid} tileGrid Tile grid.\n * @param {import(\"./tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {import(\"./proj/Projection.js\").default} projection Projection.\n * @return {import(\"./tilecoord.js\").TileCoord} Tile coordinate.\n */\nexport function wrapX(tileGrid, tileCoord, projection) {\n var z = tileCoord[0];\n var center = tileGrid.getTileCoordCenter(tileCoord);\n var projectionExtent = extentFromProjection(projection);\n if (!containsCoordinate(projectionExtent, center)) {\n var worldWidth = getWidth(projectionExtent);\n var worldsAway = Math.ceil((projectionExtent[0] - center[0]) / worldWidth);\n center[0] += worldWidth * worldsAway;\n return tileGrid.getTileCoordForCoordAndZ(center, z);\n }\n else {\n return tileCoord;\n }\n}\n/**\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {number} [opt_maxZoom] Maximum zoom level (default is\n * DEFAULT_MAX_ZOOM).\n * @param {number|import(\"./size.js\").Size} [opt_tileSize] Tile size (default uses\n * DEFAULT_TILE_SIZE).\n * @param {import(\"./extent.js\").Corner} [opt_corner] Extent corner (default is `'top-left'`).\n * @return {!TileGrid} TileGrid instance.\n */\nexport function createForExtent(extent, opt_maxZoom, opt_tileSize, opt_corner) {\n var corner = opt_corner !== undefined ? opt_corner : 'top-left';\n var resolutions = resolutionsFromExtent(extent, opt_maxZoom, opt_tileSize);\n return new TileGrid({\n extent: extent,\n origin: getCorner(extent, corner),\n resolutions: resolutions,\n tileSize: opt_tileSize,\n });\n}\n/**\n * @typedef {Object} XYZOptions\n * @property {import(\"./extent.js\").Extent} [extent] Extent for the tile grid. The origin for an XYZ tile grid is the\n * top-left corner of the extent. If `maxResolution` is not provided the zero level of the grid is defined by the resolution\n * at which one tile fits in the provided extent. If not provided, the extent of the EPSG:3857 projection is used.\n * @property {number} [maxResolution] Resolution at level zero.\n * @property {number} [maxZoom] Maximum zoom. The default is `42`. This determines the number of levels\n * in the grid set. For example, a `maxZoom` of 21 means there are 22 levels in the grid set.\n * @property {number} [minZoom=0] Minimum zoom.\n * @property {number|import(\"./size.js\").Size} [tileSize=[256, 256]] Tile size in pixels.\n */\n/**\n * Creates a tile grid with a standard XYZ tiling scheme.\n * @param {XYZOptions} [opt_options] Tile grid options.\n * @return {!TileGrid} Tile grid instance.\n * @api\n */\nexport function createXYZ(opt_options) {\n var xyzOptions = opt_options || {};\n var extent = xyzOptions.extent || getProjection('EPSG:3857').getExtent();\n var gridOptions = {\n extent: extent,\n minZoom: xyzOptions.minZoom,\n tileSize: xyzOptions.tileSize,\n resolutions: resolutionsFromExtent(extent, xyzOptions.maxZoom, xyzOptions.tileSize, xyzOptions.maxResolution),\n };\n return new TileGrid(gridOptions);\n}\n/**\n * Create a resolutions array from an extent. A zoom factor of 2 is assumed.\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {number} [opt_maxZoom] Maximum zoom level (default is\n * DEFAULT_MAX_ZOOM).\n * @param {number|import(\"./size.js\").Size} [opt_tileSize] Tile size (default uses\n * DEFAULT_TILE_SIZE).\n * @param {number} [opt_maxResolution] Resolution at level zero.\n * @return {!Array} Resolutions array.\n */\nfunction resolutionsFromExtent(extent, opt_maxZoom, opt_tileSize, opt_maxResolution) {\n var maxZoom = opt_maxZoom !== undefined ? opt_maxZoom : DEFAULT_MAX_ZOOM;\n var height = getHeight(extent);\n var width = getWidth(extent);\n var tileSize = toSize(opt_tileSize !== undefined ? opt_tileSize : DEFAULT_TILE_SIZE);\n var maxResolution = opt_maxResolution > 0\n ? opt_maxResolution\n : Math.max(width / tileSize[0], height / tileSize[1]);\n var length = maxZoom + 1;\n var resolutions = new Array(length);\n for (var z = 0; z < length; ++z) {\n resolutions[z] = maxResolution / Math.pow(2, z);\n }\n return resolutions;\n}\n/**\n * @param {import(\"./proj.js\").ProjectionLike} projection Projection.\n * @param {number} [opt_maxZoom] Maximum zoom level (default is\n * DEFAULT_MAX_ZOOM).\n * @param {number|import(\"./size.js\").Size} [opt_tileSize] Tile size (default uses\n * DEFAULT_TILE_SIZE).\n * @param {import(\"./extent.js\").Corner} [opt_corner] Extent corner (default is `'top-left'`).\n * @return {!TileGrid} TileGrid instance.\n */\nexport function createForProjection(projection, opt_maxZoom, opt_tileSize, opt_corner) {\n var extent = extentFromProjection(projection);\n return createForExtent(extent, opt_maxZoom, opt_tileSize, opt_corner);\n}\n/**\n * Generate a tile grid extent from a projection. If the projection has an\n * extent, it is used. If not, a global extent is assumed.\n * @param {import(\"./proj.js\").ProjectionLike} projection Projection.\n * @return {import(\"./extent.js\").Extent} Extent.\n */\nexport function extentFromProjection(projection) {\n projection = getProjection(projection);\n var extent = projection.getExtent();\n if (!extent) {\n var half = (180 * METERS_PER_UNIT[Units.DEGREES]) / projection.getMetersPerUnit();\n extent = createOrUpdate(-half, -half, half, half);\n }\n return extent;\n}\n//# sourceMappingURL=tilegrid.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Widget.vue?vue&type=style&index=0&id=0f4ee782&prod&lang=less&scoped=true\"","import { WORKER_OFFSCREEN_CANVAS } from './has.js';\n/**\n * @module ol/dom\n */\n//FIXME Move this function to the canvas module\n/**\n * Create an html canvas element and returns its 2d context.\n * @param {number} [opt_width] Canvas width.\n * @param {number} [opt_height] Canvas height.\n * @param {Array} [opt_canvasPool] Canvas pool to take existing canvas from.\n * @param {CanvasRenderingContext2DSettings} [opt_Context2DSettings] CanvasRenderingContext2DSettings\n * @return {CanvasRenderingContext2D} The context.\n */\nexport function createCanvasContext2D(opt_width, opt_height, opt_canvasPool, opt_Context2DSettings) {\n /** @type {HTMLCanvasElement|OffscreenCanvas} */\n var canvas;\n if (opt_canvasPool && opt_canvasPool.length) {\n canvas = opt_canvasPool.shift();\n }\n else if (WORKER_OFFSCREEN_CANVAS) {\n canvas = new OffscreenCanvas(opt_width || 300, opt_height || 300);\n }\n else {\n canvas = document.createElement('canvas');\n }\n if (opt_width) {\n canvas.width = opt_width;\n }\n if (opt_height) {\n canvas.height = opt_height;\n }\n //FIXME Allow OffscreenCanvasRenderingContext2D as return type\n return /** @type {CanvasRenderingContext2D} */ (canvas.getContext('2d', opt_Context2DSettings));\n}\n/**\n * Releases canvas memory to avoid exceeding memory limits in Safari.\n * See https://pqina.nl/blog/total-canvas-memory-use-exceeds-the-maximum-limit/\n * @param {CanvasRenderingContext2D} context Context.\n */\nexport function releaseCanvas(context) {\n var canvas = context.canvas;\n canvas.width = 1;\n canvas.height = 1;\n context.clearRect(0, 0, 1, 1);\n}\n/**\n * Get the current computed width for the given element including margin,\n * padding and border.\n * Equivalent to jQuery's `$(el).outerWidth(true)`.\n * @param {!HTMLElement} element Element.\n * @return {number} The width.\n */\nexport function outerWidth(element) {\n var width = element.offsetWidth;\n var style = getComputedStyle(element);\n width += parseInt(style.marginLeft, 10) + parseInt(style.marginRight, 10);\n return width;\n}\n/**\n * Get the current computed height for the given element including margin,\n * padding and border.\n * Equivalent to jQuery's `$(el).outerHeight(true)`.\n * @param {!HTMLElement} element Element.\n * @return {number} The height.\n */\nexport function outerHeight(element) {\n var height = element.offsetHeight;\n var style = getComputedStyle(element);\n height += parseInt(style.marginTop, 10) + parseInt(style.marginBottom, 10);\n return height;\n}\n/**\n * @param {Node} newNode Node to replace old node\n * @param {Node} oldNode The node to be replaced\n */\nexport function replaceNode(newNode, oldNode) {\n var parent = oldNode.parentNode;\n if (parent) {\n parent.replaceChild(newNode, oldNode);\n }\n}\n/**\n * @param {Node} node The node to remove.\n * @return {Node|null} The node that was removed or null.\n */\nexport function removeNode(node) {\n return node && node.parentNode ? node.parentNode.removeChild(node) : null;\n}\n/**\n * @param {Node} node The node to remove the children from.\n */\nexport function removeChildren(node) {\n while (node.lastChild) {\n node.removeChild(node.lastChild);\n }\n}\n/**\n * Transform the children of a parent node so they match the\n * provided list of children. This function aims to efficiently\n * remove, add, and reorder child nodes while maintaining a simple\n * implementation (it is not guaranteed to minimize DOM operations).\n * @param {Node} node The parent node whose children need reworking.\n * @param {Array} children The desired children.\n */\nexport function replaceChildren(node, children) {\n var oldChildren = node.childNodes;\n for (var i = 0; true; ++i) {\n var oldChild = oldChildren[i];\n var newChild = children[i];\n // check if our work is done\n if (!oldChild && !newChild) {\n break;\n }\n // check if children match\n if (oldChild === newChild) {\n continue;\n }\n // check if a new child needs to be added\n if (!oldChild) {\n node.appendChild(newChild);\n continue;\n }\n // check if an old child needs to be removed\n if (!newChild) {\n node.removeChild(oldChild);\n --i;\n continue;\n }\n // reorder\n node.insertBefore(newChild, oldChild);\n }\n}\n//# sourceMappingURL=dom.js.map","/**\n * @module ol/geom/flat/interiorpoint\n */\nimport { linearRingsContainsXY } from './contains.js';\nimport { numberSafeCompareFunction } from '../../array.js';\n/**\n * Calculates a point that is likely to lie in the interior of the linear rings.\n * Inspired by JTS's com.vividsolutions.jts.geom.Geometry#getInteriorPoint.\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {Array} flatCenters Flat centers.\n * @param {number} flatCentersOffset Flat center offset.\n * @param {Array} [opt_dest] Destination.\n * @return {Array} Destination point as XYM coordinate, where M is the\n * length of the horizontal intersection that the point belongs to.\n */\nexport function getInteriorPointOfArray(flatCoordinates, offset, ends, stride, flatCenters, flatCentersOffset, opt_dest) {\n var i, ii, x, x1, x2, y1, y2;\n var y = flatCenters[flatCentersOffset + 1];\n /** @type {Array} */\n var intersections = [];\n // Calculate intersections with the horizontal line\n for (var r = 0, rr = ends.length; r < rr; ++r) {\n var end = ends[r];\n x1 = flatCoordinates[end - stride];\n y1 = flatCoordinates[end - stride + 1];\n for (i = offset; i < end; i += stride) {\n x2 = flatCoordinates[i];\n y2 = flatCoordinates[i + 1];\n if ((y <= y1 && y2 <= y) || (y1 <= y && y <= y2)) {\n x = ((y - y1) / (y2 - y1)) * (x2 - x1) + x1;\n intersections.push(x);\n }\n x1 = x2;\n y1 = y2;\n }\n }\n // Find the longest segment of the horizontal line that has its center point\n // inside the linear ring.\n var pointX = NaN;\n var maxSegmentLength = -Infinity;\n intersections.sort(numberSafeCompareFunction);\n x1 = intersections[0];\n for (i = 1, ii = intersections.length; i < ii; ++i) {\n x2 = intersections[i];\n var segmentLength = Math.abs(x2 - x1);\n if (segmentLength > maxSegmentLength) {\n x = (x1 + x2) / 2;\n if (linearRingsContainsXY(flatCoordinates, offset, ends, stride, x, y)) {\n pointX = x;\n maxSegmentLength = segmentLength;\n }\n }\n x1 = x2;\n }\n if (isNaN(pointX)) {\n // There is no horizontal line that has its center point inside the linear\n // ring. Use the center of the the linear ring's extent.\n pointX = flatCenters[flatCentersOffset];\n }\n if (opt_dest) {\n opt_dest.push(pointX, y, maxSegmentLength);\n return opt_dest;\n }\n else {\n return [pointX, y, maxSegmentLength];\n }\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @param {Array} flatCenters Flat centers.\n * @return {Array} Interior points as XYM coordinates, where M is the\n * length of the horizontal intersection that the point belongs to.\n */\nexport function getInteriorPointsOfMultiArray(flatCoordinates, offset, endss, stride, flatCenters) {\n var interiorPoints = [];\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n interiorPoints = getInteriorPointOfArray(flatCoordinates, offset, ends, stride, flatCenters, 2 * i, interiorPoints);\n offset = ends[ends.length - 1];\n }\n return interiorPoints;\n}\n//# sourceMappingURL=interiorpoint.js.map","/**\n * @module ol/renderer/canvas/common\n */\n/**\n * Context options to disable image smoothing.\n * @type {Object}\n */\nexport var IMAGE_SMOOTHING_DISABLED = {\n imageSmoothingEnabled: false,\n msImageSmoothingEnabled: false,\n};\n/**\n * Context options to enable image smoothing.\n * @type {Object}\n */\nexport var IMAGE_SMOOTHING_ENABLED = {\n imageSmoothingEnabled: true,\n msImageSmoothingEnabled: true,\n};\n//# sourceMappingURL=common.js.map","/**\n * @module ol/MapBrowserEventType\n */\nimport EventType from './events/EventType.js';\n/**\n * Constants for event names.\n * @enum {string}\n */\nexport default {\n /**\n * A true single click with no dragging and no double click. Note that this\n * event is delayed by 250 ms to ensure that it is not a double click.\n * @event module:ol/MapBrowserEvent~MapBrowserEvent#singleclick\n * @api\n */\n SINGLECLICK: 'singleclick',\n /**\n * A click with no dragging. A double click will fire two of this.\n * @event module:ol/MapBrowserEvent~MapBrowserEvent#click\n * @api\n */\n CLICK: EventType.CLICK,\n /**\n * A true double click, with no dragging.\n * @event module:ol/MapBrowserEvent~MapBrowserEvent#dblclick\n * @api\n */\n DBLCLICK: EventType.DBLCLICK,\n /**\n * Triggered when a pointer is dragged.\n * @event module:ol/MapBrowserEvent~MapBrowserEvent#pointerdrag\n * @api\n */\n POINTERDRAG: 'pointerdrag',\n /**\n * Triggered when a pointer is moved. Note that on touch devices this is\n * triggered when the map is panned, so is not the same as mousemove.\n * @event module:ol/MapBrowserEvent~MapBrowserEvent#pointermove\n * @api\n */\n POINTERMOVE: 'pointermove',\n POINTERDOWN: 'pointerdown',\n POINTERUP: 'pointerup',\n POINTEROVER: 'pointerover',\n POINTEROUT: 'pointerout',\n POINTERENTER: 'pointerenter',\n POINTERLEAVE: 'pointerleave',\n POINTERCANCEL: 'pointercancel',\n};\n/***\n * @typedef {'singleclick'|'click'|'dblclick'|'pointerdrag'|'pointermove'} Types\n */\n//# sourceMappingURL=MapBrowserEventType.js.map","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./groundWaterInfoWidget.vue?vue&type=style&index=0&id=873a1a28&prod&lang=less&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./baseProjectTable.vue?vue&type=style&index=0&id=2b0b04aa&prod&scoped=true&lang=css\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./surfaceSampleInfoWidget.vue?vue&type=style&index=0&id=3c5918e5&prod&lang=less&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./soilInfoWidget.vue?vue&type=style&index=0&id=1ca37f53&prod&lang=less&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./deleteAllWidgets.vue?vue&type=style&index=0&id=c9b1129e&prod&lang=less&scoped=true\"","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/renderer/Layer\n */\nimport EventType from '../events/EventType.js';\nimport ImageState from '../ImageState.js';\nimport Observable from '../Observable.js';\nimport { abstract } from '../util.js';\n/**\n * @template {import(\"../layer/Layer.js\").default} LayerType\n */\nvar LayerRenderer = /** @class */ (function (_super) {\n __extends(LayerRenderer, _super);\n /**\n * @param {LayerType} layer Layer.\n */\n function LayerRenderer(layer) {\n var _this = _super.call(this) || this;\n /**\n * The renderer is initialized and ready to render.\n * @type {boolean}\n */\n _this.ready = true;\n /** @private */\n _this.boundHandleImageChange_ = _this.handleImageChange_.bind(_this);\n /**\n * @protected\n * @type {LayerType}\n */\n _this.layer_ = layer;\n /**\n * @type {import(\"../render/canvas/ExecutorGroup\").default}\n */\n _this.declutterExecutorGroup = null;\n return _this;\n }\n /**\n * Asynchronous layer level hit detection.\n * @param {import(\"../pixel.js\").Pixel} pixel Pixel.\n * @return {Promise>} Promise that resolves with\n * an array of features.\n */\n LayerRenderer.prototype.getFeatures = function (pixel) {\n return abstract();\n };\n /**\n * @param {import(\"../pixel.js\").Pixel} pixel Pixel.\n * @return {Uint8ClampedArray|Uint8Array|Float32Array|DataView|null} Pixel data.\n */\n LayerRenderer.prototype.getData = function (pixel) {\n return null;\n };\n /**\n * Determine whether render should be called.\n * @abstract\n * @param {import(\"../PluggableMap.js\").FrameState} frameState Frame state.\n * @return {boolean} Layer is ready to be rendered.\n */\n LayerRenderer.prototype.prepareFrame = function (frameState) {\n return abstract();\n };\n /**\n * Render the layer.\n * @abstract\n * @param {import(\"../PluggableMap.js\").FrameState} frameState Frame state.\n * @param {HTMLElement} target Target that may be used to render content to.\n * @return {HTMLElement} The rendered element.\n */\n LayerRenderer.prototype.renderFrame = function (frameState, target) {\n return abstract();\n };\n /**\n * @param {Object>} tiles Lookup of loaded tiles by zoom level.\n * @param {number} zoom Zoom level.\n * @param {import(\"../Tile.js\").default} tile Tile.\n * @return {boolean|void} If `false`, the tile will not be considered loaded.\n */\n LayerRenderer.prototype.loadedTileCallback = function (tiles, zoom, tile) {\n if (!tiles[zoom]) {\n tiles[zoom] = {};\n }\n tiles[zoom][tile.tileCoord.toString()] = tile;\n return undefined;\n };\n /**\n * Create a function that adds loaded tiles to the tile lookup.\n * @param {import(\"../source/Tile.js\").default} source Tile source.\n * @param {import(\"../proj/Projection.js\").default} projection Projection of the tiles.\n * @param {Object>} tiles Lookup of loaded tiles by zoom level.\n * @return {function(number, import(\"../TileRange.js\").default):boolean} A function that can be\n * called with a zoom level and a tile range to add loaded tiles to the lookup.\n * @protected\n */\n LayerRenderer.prototype.createLoadedTileFinder = function (source, projection, tiles) {\n return (\n /**\n * @param {number} zoom Zoom level.\n * @param {import(\"../TileRange.js\").default} tileRange Tile range.\n * @return {boolean} The tile range is fully loaded.\n * @this {LayerRenderer}\n */\n function (zoom, tileRange) {\n var callback = this.loadedTileCallback.bind(this, tiles, zoom);\n return source.forEachLoadedTile(projection, zoom, tileRange, callback);\n }.bind(this));\n };\n /**\n * @abstract\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {import(\"../PluggableMap.js\").FrameState} frameState Frame state.\n * @param {number} hitTolerance Hit tolerance in pixels.\n * @param {import(\"./vector.js\").FeatureCallback} callback Feature callback.\n * @param {Array>} matches The hit detected matches with tolerance.\n * @return {T|undefined} Callback result.\n * @template T\n */\n LayerRenderer.prototype.forEachFeatureAtCoordinate = function (coordinate, frameState, hitTolerance, callback, matches) {\n return undefined;\n };\n /**\n * @abstract\n * @param {import(\"../pixel.js\").Pixel} pixel Pixel.\n * @param {import(\"../PluggableMap.js\").FrameState} frameState FrameState.\n * @param {number} hitTolerance Hit tolerance in pixels.\n * @return {Uint8ClampedArray|Uint8Array} The result. If there is no data at the pixel\n * location, null will be returned. If there is data, but pixel values cannot be\n * returned, and empty array will be returned.\n */\n LayerRenderer.prototype.getDataAtPixel = function (pixel, frameState, hitTolerance) {\n return null;\n };\n /**\n * @return {LayerType} Layer.\n */\n LayerRenderer.prototype.getLayer = function () {\n return this.layer_;\n };\n /**\n * Perform action necessary to get the layer rendered after new fonts have loaded\n * @abstract\n */\n LayerRenderer.prototype.handleFontsChanged = function () { };\n /**\n * Handle changes in image state.\n * @param {import(\"../events/Event.js\").default} event Image change event.\n * @private\n */\n LayerRenderer.prototype.handleImageChange_ = function (event) {\n var image = /** @type {import(\"../Image.js\").default} */ (event.target);\n if (image.getState() === ImageState.LOADED) {\n this.renderIfReadyAndVisible();\n }\n };\n /**\n * Load the image if not already loaded, and register the image change\n * listener if needed.\n * @param {import(\"../ImageBase.js\").default} image Image.\n * @return {boolean} `true` if the image is already loaded, `false` otherwise.\n * @protected\n */\n LayerRenderer.prototype.loadImage = function (image) {\n var imageState = image.getState();\n if (imageState != ImageState.LOADED && imageState != ImageState.ERROR) {\n image.addEventListener(EventType.CHANGE, this.boundHandleImageChange_);\n }\n if (imageState == ImageState.IDLE) {\n image.load();\n imageState = image.getState();\n }\n return imageState == ImageState.LOADED;\n };\n /**\n * @protected\n */\n LayerRenderer.prototype.renderIfReadyAndVisible = function () {\n var layer = this.getLayer();\n if (layer && layer.getVisible() && layer.getSourceState() === 'ready') {\n layer.changed();\n }\n };\n /**\n * Clean up.\n */\n LayerRenderer.prototype.disposeInternal = function () {\n delete this.layer_;\n _super.prototype.disposeInternal.call(this);\n };\n return LayerRenderer;\n}(Observable));\nexport default LayerRenderer;\n//# sourceMappingURL=Layer.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/renderer/canvas/Layer\n */\nimport LayerRenderer from '../Layer.js';\nimport RenderEvent from '../../render/Event.js';\nimport RenderEventType from '../../render/EventType.js';\nimport { apply as applyTransform, compose as composeTransform, create as createTransform, } from '../../transform.js';\nimport { asArray } from '../../color.js';\nimport { containsCoordinate, getBottomLeft, getBottomRight, getTopLeft, getTopRight, } from '../../extent.js';\nimport { createCanvasContext2D } from '../../dom.js';\nimport { equals } from '../../array.js';\n/**\n * @type {Array}\n */\nexport var canvasPool = [];\n/**\n * @type {CanvasRenderingContext2D}\n */\nvar pixelContext = null;\nfunction createPixelContext() {\n var canvas = document.createElement('canvas');\n canvas.width = 1;\n canvas.height = 1;\n pixelContext = canvas.getContext('2d');\n}\n/**\n * @abstract\n * @template {import(\"../../layer/Layer.js\").default} LayerType\n * @extends {LayerRenderer}\n */\nvar CanvasLayerRenderer = /** @class */ (function (_super) {\n __extends(CanvasLayerRenderer, _super);\n /**\n * @param {LayerType} layer Layer.\n */\n function CanvasLayerRenderer(layer) {\n var _this = _super.call(this, layer) || this;\n /**\n * @protected\n * @type {HTMLElement}\n */\n _this.container = null;\n /**\n * @protected\n * @type {number}\n */\n _this.renderedResolution;\n /**\n * A temporary transform. The values in this transform should only be used in a\n * function that sets the values.\n * @protected\n * @type {import(\"../../transform.js\").Transform}\n */\n _this.tempTransform = createTransform();\n /**\n * The transform for rendered pixels to viewport CSS pixels. This transform must\n * be set when rendering a frame and may be used by other functions after rendering.\n * @protected\n * @type {import(\"../../transform.js\").Transform}\n */\n _this.pixelTransform = createTransform();\n /**\n * The transform for viewport CSS pixels to rendered pixels. This transform must\n * be set when rendering a frame and may be used by other functions after rendering.\n * @protected\n * @type {import(\"../../transform.js\").Transform}\n */\n _this.inversePixelTransform = createTransform();\n /**\n * @type {CanvasRenderingContext2D}\n */\n _this.context = null;\n /**\n * @type {boolean}\n */\n _this.containerReused = false;\n /**\n * @private\n * @type {CanvasRenderingContext2D}\n */\n _this.pixelContext_ = null;\n /**\n * @protected\n * @type {import(\"../../PluggableMap.js\").FrameState|null}\n */\n _this.frameState = null;\n return _this;\n }\n /**\n * @param {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} image Image.\n * @param {number} col The column index.\n * @param {number} row The row index.\n * @return {Uint8ClampedArray|null} The image data.\n */\n CanvasLayerRenderer.prototype.getImageData = function (image, col, row) {\n if (!pixelContext) {\n createPixelContext();\n }\n pixelContext.clearRect(0, 0, 1, 1);\n var data;\n try {\n pixelContext.drawImage(image, col, row, 1, 1, 0, 0, 1, 1);\n data = pixelContext.getImageData(0, 0, 1, 1).data;\n }\n catch (err) {\n pixelContext = null;\n return null;\n }\n return data;\n };\n /**\n * @param {import('../../PluggableMap.js').FrameState} frameState Frame state.\n * @return {string} Background color.\n */\n CanvasLayerRenderer.prototype.getBackground = function (frameState) {\n var layer = this.getLayer();\n var background = layer.getBackground();\n if (typeof background === 'function') {\n background = background(frameState.viewState.resolution);\n }\n return background || undefined;\n };\n /**\n * Get a rendering container from an existing target, if compatible.\n * @param {HTMLElement} target Potential render target.\n * @param {string} transform CSS Transform.\n * @param {string} [opt_backgroundColor] Background color.\n */\n CanvasLayerRenderer.prototype.useContainer = function (target, transform, opt_backgroundColor) {\n var layerClassName = this.getLayer().getClassName();\n var container, context;\n if (target &&\n target.className === layerClassName &&\n (!opt_backgroundColor ||\n (target &&\n target.style.backgroundColor &&\n equals(asArray(target.style.backgroundColor), asArray(opt_backgroundColor))))) {\n var canvas = target.firstElementChild;\n if (canvas instanceof HTMLCanvasElement) {\n context = canvas.getContext('2d');\n }\n }\n if (context && context.canvas.style.transform === transform) {\n // Container of the previous layer renderer can be used.\n this.container = target;\n this.context = context;\n this.containerReused = true;\n }\n else if (this.containerReused) {\n // Previously reused container cannot be used any more.\n this.container = null;\n this.context = null;\n this.containerReused = false;\n }\n if (!this.container) {\n container = document.createElement('div');\n container.className = layerClassName;\n var style = container.style;\n style.position = 'absolute';\n style.width = '100%';\n style.height = '100%';\n context = createCanvasContext2D();\n var canvas = context.canvas;\n container.appendChild(canvas);\n style = canvas.style;\n style.position = 'absolute';\n style.left = '0';\n style.transformOrigin = 'top left';\n this.container = container;\n this.context = context;\n }\n if (!this.containerReused &&\n opt_backgroundColor &&\n !this.container.style.backgroundColor) {\n this.container.style.backgroundColor = opt_backgroundColor;\n }\n };\n /**\n * @param {CanvasRenderingContext2D} context Context.\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n * @param {import(\"../../extent.js\").Extent} extent Clip extent.\n * @protected\n */\n CanvasLayerRenderer.prototype.clipUnrotated = function (context, frameState, extent) {\n var topLeft = getTopLeft(extent);\n var topRight = getTopRight(extent);\n var bottomRight = getBottomRight(extent);\n var bottomLeft = getBottomLeft(extent);\n applyTransform(frameState.coordinateToPixelTransform, topLeft);\n applyTransform(frameState.coordinateToPixelTransform, topRight);\n applyTransform(frameState.coordinateToPixelTransform, bottomRight);\n applyTransform(frameState.coordinateToPixelTransform, bottomLeft);\n var inverted = this.inversePixelTransform;\n applyTransform(inverted, topLeft);\n applyTransform(inverted, topRight);\n applyTransform(inverted, bottomRight);\n applyTransform(inverted, bottomLeft);\n context.save();\n context.beginPath();\n context.moveTo(Math.round(topLeft[0]), Math.round(topLeft[1]));\n context.lineTo(Math.round(topRight[0]), Math.round(topRight[1]));\n context.lineTo(Math.round(bottomRight[0]), Math.round(bottomRight[1]));\n context.lineTo(Math.round(bottomLeft[0]), Math.round(bottomLeft[1]));\n context.clip();\n };\n /**\n * @param {import(\"../../render/EventType.js\").default} type Event type.\n * @param {CanvasRenderingContext2D} context Context.\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n * @private\n */\n CanvasLayerRenderer.prototype.dispatchRenderEvent_ = function (type, context, frameState) {\n var layer = this.getLayer();\n if (layer.hasListener(type)) {\n var event_1 = new RenderEvent(type, this.inversePixelTransform, frameState, context);\n layer.dispatchEvent(event_1);\n }\n };\n /**\n * @param {CanvasRenderingContext2D} context Context.\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n * @protected\n */\n CanvasLayerRenderer.prototype.preRender = function (context, frameState) {\n this.frameState = frameState;\n this.dispatchRenderEvent_(RenderEventType.PRERENDER, context, frameState);\n };\n /**\n * @param {CanvasRenderingContext2D} context Context.\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n * @protected\n */\n CanvasLayerRenderer.prototype.postRender = function (context, frameState) {\n this.dispatchRenderEvent_(RenderEventType.POSTRENDER, context, frameState);\n };\n /**\n * Creates a transform for rendering to an element that will be rotated after rendering.\n * @param {import(\"../../coordinate.js\").Coordinate} center Center.\n * @param {number} resolution Resolution.\n * @param {number} rotation Rotation.\n * @param {number} pixelRatio Pixel ratio.\n * @param {number} width Width of the rendered element (in pixels).\n * @param {number} height Height of the rendered element (in pixels).\n * @param {number} offsetX Offset on the x-axis in view coordinates.\n * @protected\n * @return {!import(\"../../transform.js\").Transform} Transform.\n */\n CanvasLayerRenderer.prototype.getRenderTransform = function (center, resolution, rotation, pixelRatio, width, height, offsetX) {\n var dx1 = width / 2;\n var dy1 = height / 2;\n var sx = pixelRatio / resolution;\n var sy = -sx;\n var dx2 = -center[0] + offsetX;\n var dy2 = -center[1];\n return composeTransform(this.tempTransform, dx1, dy1, sx, sy, -rotation, dx2, dy2);\n };\n /**\n * @param {import(\"../../pixel.js\").Pixel} pixel Pixel.\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState FrameState.\n * @param {number} hitTolerance Hit tolerance in pixels.\n * @return {Uint8ClampedArray|Uint8Array} The result. If there is no data at the pixel\n * location, null will be returned. If there is data, but pixel values cannot be\n * returned, and empty array will be returned.\n */\n CanvasLayerRenderer.prototype.getDataAtPixel = function (pixel, frameState, hitTolerance) {\n var renderPixel = applyTransform(this.inversePixelTransform, pixel.slice());\n var context = this.context;\n var layer = this.getLayer();\n var layerExtent = layer.getExtent();\n if (layerExtent) {\n var renderCoordinate = applyTransform(frameState.pixelToCoordinateTransform, pixel.slice());\n /** get only data inside of the layer extent */\n if (!containsCoordinate(layerExtent, renderCoordinate)) {\n return null;\n }\n }\n var x = Math.round(renderPixel[0]);\n var y = Math.round(renderPixel[1]);\n var pixelContext = this.pixelContext_;\n if (!pixelContext) {\n var pixelCanvas = document.createElement('canvas');\n pixelCanvas.width = 1;\n pixelCanvas.height = 1;\n pixelContext = pixelCanvas.getContext('2d');\n this.pixelContext_ = pixelContext;\n }\n pixelContext.clearRect(0, 0, 1, 1);\n var data;\n try {\n pixelContext.drawImage(context.canvas, x, y, 1, 1, 0, 0, 1, 1);\n data = pixelContext.getImageData(0, 0, 1, 1).data;\n }\n catch (err) {\n if (err.name === 'SecurityError') {\n // tainted canvas, we assume there is data at the given pixel (although there might not be)\n this.pixelContext_ = null;\n return new Uint8Array();\n }\n return data;\n }\n if (data[3] === 0) {\n return null;\n }\n return data;\n };\n /**\n * Clean up.\n */\n CanvasLayerRenderer.prototype.disposeInternal = function () {\n delete this.frameState;\n _super.prototype.disposeInternal.call(this);\n };\n return CanvasLayerRenderer;\n}(LayerRenderer));\nexport default CanvasLayerRenderer;\n//# sourceMappingURL=Layer.js.map","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modalAddConcernedContact\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('button',{staticClass:\"close\",attrs:{\"data-dismiss\":\"modal\"}},[_vm._v(\"×\")]),_c('h4',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t('project.AddConcernedContactTitle')))])]),_c('div',{staticClass:\"modal-body\"},[_c('p',[_vm._v(_vm._s(_vm.$t('project.AddConcernedContactHelp')))]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-6\"},[_c('span',[_vm._v(_vm._s(_vm.$t('concernedCompany.CompanyType')))]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentConcernedContact.CcTypeConcerned),expression:\"currentConcernedContact.CcTypeConcerned\"}],staticClass:\"form-control\",attrs:{\"id\":\"new-CcTypeConcerned\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.currentConcernedContact, \"CcTypeConcerned\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_vm._l((_vm.concernedCompanyTypes),function(obj){return _c('option',{key:obj.GcCode,domProps:{\"value\":obj.GcCode}},[_vm._v(_vm._s(obj.GcDescription)+\" \")])}),_c('option',{domProps:{\"value\":null}})],2),(!_vm.validCcTypeConcerned)?_c('p',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.errorMessageCcTypeConcerned))]):_vm._e()]),_c('div',{staticClass:\"col-md-6\"},[_c('span',[_vm._v(_vm._s(_vm.$t('concernedCompany.PersonType')))]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentConcernedContact.CcTypeFunctionContactPerson),expression:\"currentConcernedContact.CcTypeFunctionContactPerson\"}],staticClass:\"form-control\",attrs:{\"id\":\"new-CcTypeFunctionContactPerson\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.currentConcernedContact, \"CcTypeFunctionContactPerson\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_vm._l((_vm.contactPersonFunctions),function(obj){return _c('option',{key:obj.GcCode,domProps:{\"value\":obj.GcCode}},[_vm._v(_vm._s(obj.GcDescription)+\" \")])}),_c('option',{domProps:{\"value\":null}})],2)])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-6\"},[_c('span',[_vm._v(_vm._s(_vm.$t('concernedCompany.CompanyName')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentConcernedContact.CcCompanyName),expression:\"currentConcernedContact.CcCompanyName\"}],staticClass:\"form-control\",attrs:{\"id\":\"new-CcCompanyName\",\"type\":\"text\"},domProps:{\"value\":(_vm.currentConcernedContact.CcCompanyName)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.currentConcernedContact, \"CcCompanyName\", $event.target.value)}}}),(!_vm.validCcCompanyName)?_c('p',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.errorMessageCcCompanyName))]):_vm._e()]),_c('div',{staticClass:\"col-md-6\"},[_c('span',[_vm._v(_vm._s(_vm.$t('concernedCompany.PersonName')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentConcernedContact.CcContactPerson),expression:\"currentConcernedContact.CcContactPerson\"}],staticClass:\"form-control\",attrs:{\"id\":\"new-CcContactPerson\",\"type\":\"text\"},domProps:{\"value\":(_vm.currentConcernedContact.CcContactPerson)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.currentConcernedContact, \"CcContactPerson\", $event.target.value)}}})])]),_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-xs-9 concerned-contact-pagecount\"},[_c('span',[_vm._v(_vm._s(_vm.$t('concernedCompany.SelectFromExistingContacts')))])]),_c('div',{staticClass:\"col-xs-3 concerned-contact-pagecount\"},[_c('span',[_vm._v(_vm._s(_vm.$t(\"label.resultCount\")))]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.resultCount),expression:\"resultCount\"}],staticClass:\"form-control mb-1\",attrs:{\"id\":\"new-CcContactResultCount\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.resultCount=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"25\"}},[_vm._v(\"25\")]),_c('option',{attrs:{\"value\":\"50\"}},[_vm._v(\"50\")]),_c('option',{attrs:{\"value\":\"100\"}},[_vm._v(\"100\")]),_c('option',{attrs:{\"value\":\"250\"}},[_vm._v(\"250\")])])])]),_c('div',{staticClass:\"clearfix\"}),_c('div',{staticClass:\"concerned-contact-table\",class:{ 'displayNone': !_vm.query}},[_c('v-client-table',{staticClass:\"selectableTable\",attrs:{\"data\":_vm.concernedContactsDisplay,\"columns\":_vm.columns,\"options\":_vm.options},on:{\"row-click\":_vm.select},scopedSlots:_vm._u([{key:\"CcTypeConcerned\",fn:function(props){return _c('span',{},[_c('small',{staticClass:\"dimmed typeDisplay\"},[_vm._v(_vm._s(_vm.findTextInListFromValue(props.row.CcTypeConcerned, _vm.concernedCompanyTypes)))])])}},{key:\"CcTypeFunctionContactPerson\",fn:function(props){return _c('span',{},[_c('small',{staticClass:\"dimmed typeDisplay\"},[_vm._v(_vm._s(_vm.findTextInListFromValue(props.row.CcTypeFunctionContactPerson, _vm.contactPersonFunctions)))])])}}])})],1)]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"btn\",class:{ disabled: !(_vm.validCcTypeConcerned && _vm.validCcCompanyName) },on:{\"click\":_vm.add}},[_vm._v(\" \"+_vm._s(_vm.$t('label.add'))+\" \")])])])]),_c('nv-loading',{attrs:{\"show\":_vm.loading}})],1),_c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modalDeleteConcernedContact\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(\"× \")]),_c('h4',{staticClass:\"modal-title\",attrs:{\"id\":\"modalDeleteConcernedContactTitle\"}},[_vm._v(_vm._s(_vm.$t('project.DeleteConcernedContactTitle')))])]),_c('div',{staticClass:\"modal-body\"},[_c('p',[_vm._v(_vm._s(_vm.$t('project.DeleteConcernedContactHelp')))])]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"btn\",attrs:{\"id\":\"btnDeleteConcernedContact\"},on:{\"click\":_vm.deleteConcernedContact}},[_vm._v(_vm._s(_vm.$t('project.DeleteButton'))+\" \")])])])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./concernedContactModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./concernedContactModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./concernedContactModal.vue?vue&type=template&id=41096d8c&scoped=true\"\nimport script from \"./concernedContactModal.vue?vue&type=script&lang=js\"\nexport * from \"./concernedContactModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./concernedContactModal.vue?vue&type=style&index=0&id=41096d8c&prod&lang=less&scoped=true\"\nimport style1 from \"./concernedContactModal.vue?vue&type=style&index=1&id=41096d8c&prod&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"41096d8c\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./userModal.vue?vue&type=style&index=0&id=78f98c58&prod&lang=less&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./copyMoveSettingsDialog.vue?vue&type=style&index=0&id=06af68e4&prod&scoped=true&lang=css\"","/**\n * @module ol/CollectionEventType\n */\n/**\n * @enum {string}\n */\nexport default {\n /**\n * Triggered when an item is added to the collection.\n * @event module:ol/Collection.CollectionEvent#add\n * @api\n */\n ADD: 'add',\n /**\n * Triggered when an item is removed from the collection.\n * @event module:ol/Collection.CollectionEvent#remove\n * @api\n */\n REMOVE: 'remove',\n};\n//# sourceMappingURL=CollectionEventType.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/layer/Layer\n */\nimport BaseLayer from './Base.js';\nimport EventType from '../events/EventType.js';\nimport LayerProperty from './Property.js';\nimport RenderEventType from '../render/EventType.js';\nimport { assert } from '../asserts.js';\nimport { assign } from '../obj.js';\nimport { listen, unlistenByKey } from '../events.js';\n/**\n * @typedef {function(import(\"../PluggableMap.js\").FrameState):HTMLElement} RenderFunction\n */\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").CombinedOnSignature} LayerOnSignature\n */\n/**\n * @template {import(\"../source/Source.js\").default} [SourceType=import(\"../source/Source.js\").default]\n * @typedef {Object} Options\n * @property {string} [className='ol-layer'] A CSS class name to set to the layer element.\n * @property {number} [opacity=1] Opacity (0, 1).\n * @property {boolean} [visible=true] Visibility.\n * @property {import(\"../extent.js\").Extent} [extent] The bounding extent for layer rendering. The layer will not be\n * rendered outside of this extent.\n * @property {number} [zIndex] The z-index for layer rendering. At rendering time, the layers\n * will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed\n * for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()`\n * method was used.\n * @property {number} [minResolution] The minimum resolution (inclusive) at which this layer will be\n * visible.\n * @property {number} [maxResolution] The maximum resolution (exclusive) below which this layer will\n * be visible.\n * @property {number} [minZoom] The minimum view zoom level (exclusive) above which this layer will be\n * visible.\n * @property {number} [maxZoom] The maximum view zoom level (inclusive) at which this layer will\n * be visible.\n * @property {SourceType} [source] Source for this layer. If not provided to the constructor,\n * the source can be set by calling {@link module:ol/layer/Layer~Layer#setSource layer.setSource(source)} after\n * construction.\n * @property {import(\"../PluggableMap.js\").default|null} [map] Map.\n * @property {RenderFunction} [render] Render function. Takes the frame state as input and is expected to return an\n * HTML element. Will overwrite the default rendering for the layer.\n * @property {Object} [properties] Arbitrary observable properties. Can be accessed with `#get()` and `#set()`.\n */\n/**\n * @typedef {Object} State\n * @property {import(\"./Layer.js\").default} layer Layer.\n * @property {number} opacity Opacity, the value is rounded to two digits to appear after the decimal point.\n * @property {boolean} visible Visible.\n * @property {boolean} managed Managed.\n * @property {import(\"../extent.js\").Extent} [extent] Extent.\n * @property {number} zIndex ZIndex.\n * @property {number} maxResolution Maximum resolution.\n * @property {number} minResolution Minimum resolution.\n * @property {number} minZoom Minimum zoom.\n * @property {number} maxZoom Maximum zoom.\n */\n/**\n * @classdesc\n * Base class from which all layer types are derived. This should only be instantiated\n * in the case where a custom layer is added to the map with a custom `render` function.\n * Such a function can be specified in the `options` object, and is expected to return an HTML element.\n *\n * A visual representation of raster or vector map data.\n * Layers group together those properties that pertain to how the data is to be\n * displayed, irrespective of the source of that data.\n *\n * Layers are usually added to a map with {@link import(\"../PluggableMap.js\").default#addLayer map.addLayer()}. Components\n * like {@link module:ol/interaction/Draw~Draw} use unmanaged layers\n * internally. These unmanaged layers are associated with the map using\n * {@link module:ol/layer/Layer~Layer#setMap} instead.\n *\n * A generic `change` event is fired when the state of the source changes.\n *\n * Please note that for performance reasons several layers might get rendered to\n * the same HTML element, which will cause {@link import(\"../PluggableMap.js\").default#forEachLayerAtPixel map.forEachLayerAtPixel()} to\n * give false positives. To avoid this, apply different `className` properties to the\n * layers at creation time.\n *\n * @fires import(\"../render/Event.js\").RenderEvent#prerender\n * @fires import(\"../render/Event.js\").RenderEvent#postrender\n *\n * @template {import(\"../source/Source.js\").default} [SourceType=import(\"../source/Source.js\").default]\n * @template {import(\"../renderer/Layer.js\").default} [RendererType=import(\"../renderer/Layer.js\").default]\n * @api\n */\nvar Layer = /** @class */ (function (_super) {\n __extends(Layer, _super);\n /**\n * @param {Options} options Layer options.\n */\n function Layer(options) {\n var _this = this;\n var baseOptions = assign({}, options);\n delete baseOptions.source;\n _this = _super.call(this, baseOptions) || this;\n /***\n * @type {LayerOnSignature}\n */\n _this.on;\n /***\n * @type {LayerOnSignature}\n */\n _this.once;\n /***\n * @type {LayerOnSignature}\n */\n _this.un;\n /**\n * @private\n * @type {?import(\"../events.js\").EventsKey}\n */\n _this.mapPrecomposeKey_ = null;\n /**\n * @private\n * @type {?import(\"../events.js\").EventsKey}\n */\n _this.mapRenderKey_ = null;\n /**\n * @private\n * @type {?import(\"../events.js\").EventsKey}\n */\n _this.sourceChangeKey_ = null;\n /**\n * @private\n * @type {RendererType}\n */\n _this.renderer_ = null;\n /**\n * @protected\n * @type {boolean}\n */\n _this.rendered = false;\n // Overwrite default render method with a custom one\n if (options.render) {\n _this.render = options.render;\n }\n if (options.map) {\n _this.setMap(options.map);\n }\n _this.addChangeListener(LayerProperty.SOURCE, _this.handleSourcePropertyChange_);\n var source = options.source\n ? /** @type {SourceType} */ (options.source)\n : null;\n _this.setSource(source);\n return _this;\n }\n /**\n * @param {Array} [opt_array] Array of layers (to be modified in place).\n * @return {Array} Array of layers.\n */\n Layer.prototype.getLayersArray = function (opt_array) {\n var array = opt_array ? opt_array : [];\n array.push(this);\n return array;\n };\n /**\n * @param {Array} [opt_states] Optional list of layer states (to be modified in place).\n * @return {Array} List of layer states.\n */\n Layer.prototype.getLayerStatesArray = function (opt_states) {\n var states = opt_states ? opt_states : [];\n states.push(this.getLayerState());\n return states;\n };\n /**\n * Get the layer source.\n * @return {SourceType|null} The layer source (or `null` if not yet set).\n * @observable\n * @api\n */\n Layer.prototype.getSource = function () {\n return /** @type {SourceType} */ (this.get(LayerProperty.SOURCE)) || null;\n };\n /**\n * @return {SourceType|null} The source being rendered.\n */\n Layer.prototype.getRenderSource = function () {\n return this.getSource();\n };\n /**\n * @return {import(\"../source/Source.js\").State} Source state.\n */\n Layer.prototype.getSourceState = function () {\n var source = this.getSource();\n return !source ? 'undefined' : source.getState();\n };\n /**\n * @private\n */\n Layer.prototype.handleSourceChange_ = function () {\n this.changed();\n };\n /**\n * @private\n */\n Layer.prototype.handleSourcePropertyChange_ = function () {\n if (this.sourceChangeKey_) {\n unlistenByKey(this.sourceChangeKey_);\n this.sourceChangeKey_ = null;\n }\n var source = this.getSource();\n if (source) {\n this.sourceChangeKey_ = listen(source, EventType.CHANGE, this.handleSourceChange_, this);\n }\n this.changed();\n };\n /**\n * @param {import(\"../pixel\").Pixel} pixel Pixel.\n * @return {Promise>} Promise that resolves with\n * an array of features.\n */\n Layer.prototype.getFeatures = function (pixel) {\n if (!this.renderer_) {\n return new Promise(function (resolve) { return resolve([]); });\n }\n return this.renderer_.getFeatures(pixel);\n };\n /**\n * @param {import(\"../pixel\").Pixel} pixel Pixel.\n * @return {Uint8ClampedArray|Uint8Array|Float32Array|DataView|null} Pixel data.\n */\n Layer.prototype.getData = function (pixel) {\n if (!this.renderer_ || !this.rendered) {\n return null;\n }\n return this.renderer_.getData(pixel);\n };\n /**\n * In charge to manage the rendering of the layer. One layer type is\n * bounded with one layer renderer.\n * @param {?import(\"../PluggableMap.js\").FrameState} frameState Frame state.\n * @param {HTMLElement} target Target which the renderer may (but need not) use\n * for rendering its content.\n * @return {HTMLElement} The rendered element.\n */\n Layer.prototype.render = function (frameState, target) {\n var layerRenderer = this.getRenderer();\n if (layerRenderer.prepareFrame(frameState)) {\n this.rendered = true;\n return layerRenderer.renderFrame(frameState, target);\n }\n };\n /**\n * Called when a layer is not visible during a map render.\n */\n Layer.prototype.unrender = function () {\n this.rendered = false;\n };\n /**\n * For use inside the library only.\n * @param {import(\"../PluggableMap.js\").default|null} map Map.\n */\n Layer.prototype.setMapInternal = function (map) {\n if (!map) {\n this.unrender();\n }\n this.set(LayerProperty.MAP, map);\n };\n /**\n * For use inside the library only.\n * @return {import(\"../PluggableMap.js\").default|null} Map.\n */\n Layer.prototype.getMapInternal = function () {\n return this.get(LayerProperty.MAP);\n };\n /**\n * Sets the layer to be rendered on top of other layers on a map. The map will\n * not manage this layer in its layers collection, and the callback in\n * {@link module:ol/Map~Map#forEachLayerAtPixel} will receive `null` as layer. This\n * is useful for temporary layers. To remove an unmanaged layer from the map,\n * use `#setMap(null)`.\n *\n * To add the layer to a map and have it managed by the map, use\n * {@link module:ol/Map~Map#addLayer} instead.\n * @param {import(\"../PluggableMap.js\").default|null} map Map.\n * @api\n */\n Layer.prototype.setMap = function (map) {\n if (this.mapPrecomposeKey_) {\n unlistenByKey(this.mapPrecomposeKey_);\n this.mapPrecomposeKey_ = null;\n }\n if (!map) {\n this.changed();\n }\n if (this.mapRenderKey_) {\n unlistenByKey(this.mapRenderKey_);\n this.mapRenderKey_ = null;\n }\n if (map) {\n this.mapPrecomposeKey_ = listen(map, RenderEventType.PRECOMPOSE, function (evt) {\n var renderEvent = \n /** @type {import(\"../render/Event.js\").default} */ (evt);\n var layerStatesArray = renderEvent.frameState.layerStatesArray;\n var layerState = this.getLayerState(false);\n // A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both.\n assert(!layerStatesArray.some(function (arrayLayerState) {\n return arrayLayerState.layer === layerState.layer;\n }), 67);\n layerStatesArray.push(layerState);\n }, this);\n this.mapRenderKey_ = listen(this, EventType.CHANGE, map.render, map);\n this.changed();\n }\n };\n /**\n * Set the layer source.\n * @param {SourceType|null} source The layer source.\n * @observable\n * @api\n */\n Layer.prototype.setSource = function (source) {\n this.set(LayerProperty.SOURCE, source);\n };\n /**\n * Get the renderer for this layer.\n * @return {RendererType|null} The layer renderer.\n */\n Layer.prototype.getRenderer = function () {\n if (!this.renderer_) {\n this.renderer_ = this.createRenderer();\n }\n return this.renderer_;\n };\n /**\n * @return {boolean} The layer has a renderer.\n */\n Layer.prototype.hasRenderer = function () {\n return !!this.renderer_;\n };\n /**\n * Create a renderer for this layer.\n * @return {RendererType} A layer renderer.\n * @protected\n */\n Layer.prototype.createRenderer = function () {\n return null;\n };\n /**\n * Clean up.\n */\n Layer.prototype.disposeInternal = function () {\n if (this.renderer_) {\n this.renderer_.dispose();\n delete this.renderer_;\n }\n this.setSource(null);\n _super.prototype.disposeInternal.call(this);\n };\n return Layer;\n}(BaseLayer));\n/**\n * Return `true` if the layer is visible and if the provided view state\n * has resolution and zoom levels that are in range of the layer's min/max.\n * @param {State} layerState Layer state.\n * @param {import(\"../View.js\").State} viewState View state.\n * @return {boolean} The layer is visible at the given view state.\n */\nexport function inView(layerState, viewState) {\n if (!layerState.visible) {\n return false;\n }\n var resolution = viewState.resolution;\n if (resolution < layerState.minResolution ||\n resolution >= layerState.maxResolution) {\n return false;\n }\n var zoom = viewState.zoom;\n return zoom > layerState.minZoom && zoom <= layerState.maxZoom;\n}\nexport default Layer;\n//# sourceMappingURL=Layer.js.map","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./addDashboard.vue?vue&type=style&index=0&id=0c29b9fa&prod&lang=less&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"all-lab-assignments-data-table-overview\"},[_c('div',{staticClass:\"overview-table-row\"},[_c('div',{staticClass:\"overview-table\"},[_c('DxDataGrid',{attrs:{\"key-expr\":\"LbID\",\"data-source\":_vm.tableData,\"focusedRowEnabled\":true,\"row-alternation-enabled\":true,\"columnRenderingMode\":\"virtual\"},on:{\"exporting\":_vm.onExporting,\"toolbar-preparing\":_vm.onToolbarPreparing,\"row-dbl-click\":_vm.onRowDoubleClick},scopedSlots:_vm._u([{key:\"tableTitleTemplate\",fn:function(){return [_c('h2',[_vm._v(_vm._s(_vm.tableTitle))])]},proxy:true},{key:\"dateRangePickerTemplate\",fn:function(){return [_c('div',{staticStyle:{\"display\":\"flex\",\"min-width\":\"250px\",\"padding-right\":\"50px\"}},[_c('div',{staticClass:\"dx-field-label\"},[_vm._v(\" \"+_vm._s(_vm.$t('label.from')))]),_c('DxDateBox',{attrs:{\"display-format\":\"dd-MM-yyyy\",\"width\":100},model:{value:(_vm.fromDate),callback:function ($$v) {_vm.fromDate=$$v},expression:\"fromDate\"}}),_c('div',{staticClass:\"dx-field-label\"},[_vm._v(\" \"+_vm._s(_vm.$t('label.to')))]),_c('DxDateBox',{attrs:{\"display-format\":\"dd-MM-yyyy\",\"width\":100},model:{value:(_vm.toDate),callback:function ($$v) {_vm.toDate=$$v},expression:\"toDate\"}})],1)]},proxy:true},{key:\"lab-status-codes-cell\",fn:function({data}){return [_c('td',{class:_vm.getClassNameForLabStatusCode(data)},[_vm._v(_vm._s(data.value))])]}}])},[_c('DxScrolling',{attrs:{\"mode\":\"virtual\",\"row-rendering-mode\":\"standard\"}}),_c('DxColumn',{attrs:{\"caption\":this.$t('columnTitles.ProjectCode'),\"data-type\":\"string\",\"data-field\":\"PrCode\"}}),_c('DxColumn',{attrs:{\"caption\":this.$t('columnTitles.labAssignments.ID'),\"data-type\":\"string\",\"data-field\":\"LbID\"}}),_c('DxColumn',{attrs:{\"caption\":this.$t('columnTitles.labAssignments.SikbLabCode'),\"data-type\":\"string\",\"calculate-cell-value\":_vm.calculateCellValueForLbSikbLabCode,\"data-field\":\"LbSikbLabCode\"}}),_c('DxColumn',{attrs:{\"caption\":this.$t('columnTitles.labAssignments.Date'),\"display-format\":\"dd-MM-yyyy\",\"data-type\":\"date\",\"data-field\":\"LbDate\"}}),_c('DxColumn',{attrs:{\"caption\":this.$t('columnTitles.labAssignments.SikbLabMatrixCode'),\"data-type\":\"string\",\"data-field\":\"AnMatrix\"}}),_c('DxColumn',{attrs:{\"caption\":this.$t('SuggestedSamples.NumberOfSamples'),\"data-type\":\"string\",\"data-field\":\"AMAmount\"}}),_c('DxColumn',{attrs:{\"caption\":this.$t('columnTitles.labAssignments.LabStatusCode'),\"data-type\":\"string\",\"data-field\":\"LbLabStatusCode\",\"cell-template\":\"lab-status-codes-cell\"}}),_c('DxColumn',{attrs:{\"caption\":this.$t('columnTitles.labAssignments.CustomerCode'),\"data-type\":\"string\",\"data-field\":\"LbCustomerCode\"}}),_c('DxColumn',{attrs:{\"caption\":this.$t('columnTitles.labAssignments.ProjectLeader'),\"data-type\":\"string\",\"data-field\":\"LbProjectLeader\"}}),_c('DxColumn',{attrs:{\"caption\":this.$t('columnTitles.labAssignments.ProjectLeaderEmail'),\"data-type\":\"string\",\"data-field\":\"LbProjectLeaderEmail\"}}),_c('DxColumn',{attrs:{\"caption\":this.$t('columnTitles.labAssignments.OrderNr'),\"data-type\":\"string\",\"data-field\":\"LbOrderNr\"}}),_c('DxColumn',{attrs:{\"caption\":this.$t('columnTitles.labAssignments.Remarks'),\"data-type\":\"string\",\"data-field\":\"LbRemarkt\"}}),_c('DxColumn',{attrs:{\"caption\":this.$t('columnTitles.labAssignments.LabCertificateNumber'),\"data-type\":\"string\",\"data-field\":\"LbLabCertificateNumber\"}}),_c('DxSearchPanel',{attrs:{\"visible\":true,\"width\":160}}),_c('DxGrouping',{attrs:{\"auto-expand-all\":true,\"expand-mode\":\"buttonClick\"}}),_c('DxGroupPanel',{attrs:{\"visible\":true}}),_c('DxHeaderFilter',{attrs:{\"visible\":true}}),_c('DxExport',{attrs:{\"enabled\":true}})],1)],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./allLabAssignmentsOverview.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./allLabAssignmentsOverview.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./allLabAssignmentsOverview.vue?vue&type=template&id=3a6c6c10&scoped=true\"\nimport script from \"./allLabAssignmentsOverview.vue?vue&type=script&lang=js\"\nexport * from \"./allLabAssignmentsOverview.vue?vue&type=script&lang=js\"\nimport style0 from \"./allLabAssignmentsOverview.vue?vue&type=style&index=0&id=3a6c6c10&prod&scoped=true&lang=css\"\nimport style1 from \"./allLabAssignmentsOverview.vue?vue&type=style&index=1&id=3a6c6c10&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3a6c6c10\",\n null\n \n)\n\nexport default component.exports","/**\n * @module ol/geom/flat/simplify\n */\n// Based on simplify-js https://github.com/mourner/simplify-js\n// Copyright (c) 2012, Vladimir Agafonkin\n// All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are met:\n//\n// 1. Redistributions of source code must retain the above copyright notice,\n// this list of conditions and the following disclaimer.\n//\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n// POSSIBILITY OF SUCH DAMAGE.\nimport { squaredDistance, squaredSegmentDistance } from '../../math.js';\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} squaredTolerance Squared tolerance.\n * @param {boolean} highQuality Highest quality.\n * @param {Array} [opt_simplifiedFlatCoordinates] Simplified flat\n * coordinates.\n * @return {Array} Simplified line string.\n */\nexport function simplifyLineString(flatCoordinates, offset, end, stride, squaredTolerance, highQuality, opt_simplifiedFlatCoordinates) {\n var simplifiedFlatCoordinates = opt_simplifiedFlatCoordinates !== undefined\n ? opt_simplifiedFlatCoordinates\n : [];\n if (!highQuality) {\n end = radialDistance(flatCoordinates, offset, end, stride, squaredTolerance, simplifiedFlatCoordinates, 0);\n flatCoordinates = simplifiedFlatCoordinates;\n offset = 0;\n stride = 2;\n }\n simplifiedFlatCoordinates.length = douglasPeucker(flatCoordinates, offset, end, stride, squaredTolerance, simplifiedFlatCoordinates, 0);\n return simplifiedFlatCoordinates;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} squaredTolerance Squared tolerance.\n * @param {Array} simplifiedFlatCoordinates Simplified flat\n * coordinates.\n * @param {number} simplifiedOffset Simplified offset.\n * @return {number} Simplified offset.\n */\nexport function douglasPeucker(flatCoordinates, offset, end, stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset) {\n var n = (end - offset) / stride;\n if (n < 3) {\n for (; offset < end; offset += stride) {\n simplifiedFlatCoordinates[simplifiedOffset++] = flatCoordinates[offset];\n simplifiedFlatCoordinates[simplifiedOffset++] =\n flatCoordinates[offset + 1];\n }\n return simplifiedOffset;\n }\n /** @type {Array} */\n var markers = new Array(n);\n markers[0] = 1;\n markers[n - 1] = 1;\n /** @type {Array} */\n var stack = [offset, end - stride];\n var index = 0;\n while (stack.length > 0) {\n var last = stack.pop();\n var first = stack.pop();\n var maxSquaredDistance = 0;\n var x1 = flatCoordinates[first];\n var y1 = flatCoordinates[first + 1];\n var x2 = flatCoordinates[last];\n var y2 = flatCoordinates[last + 1];\n for (var i = first + stride; i < last; i += stride) {\n var x = flatCoordinates[i];\n var y = flatCoordinates[i + 1];\n var squaredDistance_1 = squaredSegmentDistance(x, y, x1, y1, x2, y2);\n if (squaredDistance_1 > maxSquaredDistance) {\n index = i;\n maxSquaredDistance = squaredDistance_1;\n }\n }\n if (maxSquaredDistance > squaredTolerance) {\n markers[(index - offset) / stride] = 1;\n if (first + stride < index) {\n stack.push(first, index);\n }\n if (index + stride < last) {\n stack.push(index, last);\n }\n }\n }\n for (var i = 0; i < n; ++i) {\n if (markers[i]) {\n simplifiedFlatCoordinates[simplifiedOffset++] =\n flatCoordinates[offset + i * stride];\n simplifiedFlatCoordinates[simplifiedOffset++] =\n flatCoordinates[offset + i * stride + 1];\n }\n }\n return simplifiedOffset;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {number} squaredTolerance Squared tolerance.\n * @param {Array} simplifiedFlatCoordinates Simplified flat\n * coordinates.\n * @param {number} simplifiedOffset Simplified offset.\n * @param {Array} simplifiedEnds Simplified ends.\n * @return {number} Simplified offset.\n */\nexport function douglasPeuckerArray(flatCoordinates, offset, ends, stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds) {\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n simplifiedOffset = douglasPeucker(flatCoordinates, offset, end, stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset);\n simplifiedEnds.push(simplifiedOffset);\n offset = end;\n }\n return simplifiedOffset;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @param {number} squaredTolerance Squared tolerance.\n * @param {Array} simplifiedFlatCoordinates Simplified flat\n * coordinates.\n * @param {number} simplifiedOffset Simplified offset.\n * @param {Array>} simplifiedEndss Simplified endss.\n * @return {number} Simplified offset.\n */\nexport function douglasPeuckerMultiArray(flatCoordinates, offset, endss, stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset, simplifiedEndss) {\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n var simplifiedEnds = [];\n simplifiedOffset = douglasPeuckerArray(flatCoordinates, offset, ends, stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds);\n simplifiedEndss.push(simplifiedEnds);\n offset = ends[ends.length - 1];\n }\n return simplifiedOffset;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} squaredTolerance Squared tolerance.\n * @param {Array} simplifiedFlatCoordinates Simplified flat\n * coordinates.\n * @param {number} simplifiedOffset Simplified offset.\n * @return {number} Simplified offset.\n */\nexport function radialDistance(flatCoordinates, offset, end, stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset) {\n if (end <= offset + stride) {\n // zero or one point, no simplification possible, so copy and return\n for (; offset < end; offset += stride) {\n simplifiedFlatCoordinates[simplifiedOffset++] = flatCoordinates[offset];\n simplifiedFlatCoordinates[simplifiedOffset++] =\n flatCoordinates[offset + 1];\n }\n return simplifiedOffset;\n }\n var x1 = flatCoordinates[offset];\n var y1 = flatCoordinates[offset + 1];\n // copy first point\n simplifiedFlatCoordinates[simplifiedOffset++] = x1;\n simplifiedFlatCoordinates[simplifiedOffset++] = y1;\n var x2 = x1;\n var y2 = y1;\n for (offset += stride; offset < end; offset += stride) {\n x2 = flatCoordinates[offset];\n y2 = flatCoordinates[offset + 1];\n if (squaredDistance(x1, y1, x2, y2) > squaredTolerance) {\n // copy point at offset\n simplifiedFlatCoordinates[simplifiedOffset++] = x2;\n simplifiedFlatCoordinates[simplifiedOffset++] = y2;\n x1 = x2;\n y1 = y2;\n }\n }\n if (x2 != x1 || y2 != y1) {\n // copy last point\n simplifiedFlatCoordinates[simplifiedOffset++] = x2;\n simplifiedFlatCoordinates[simplifiedOffset++] = y2;\n }\n return simplifiedOffset;\n}\n/**\n * @param {number} value Value.\n * @param {number} tolerance Tolerance.\n * @return {number} Rounded value.\n */\nexport function snap(value, tolerance) {\n return tolerance * Math.round(value / tolerance);\n}\n/**\n * Simplifies a line string using an algorithm designed by Tim Schaub.\n * Coordinates are snapped to the nearest value in a virtual grid and\n * consecutive duplicate coordinates are discarded. This effectively preserves\n * topology as the simplification of any subsection of a line string is\n * independent of the rest of the line string. This means that, for examples,\n * the common edge between two polygons will be simplified to the same line\n * string independently in both polygons. This implementation uses a single\n * pass over the coordinates and eliminates intermediate collinear points.\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} tolerance Tolerance.\n * @param {Array} simplifiedFlatCoordinates Simplified flat\n * coordinates.\n * @param {number} simplifiedOffset Simplified offset.\n * @return {number} Simplified offset.\n */\nexport function quantize(flatCoordinates, offset, end, stride, tolerance, simplifiedFlatCoordinates, simplifiedOffset) {\n // do nothing if the line is empty\n if (offset == end) {\n return simplifiedOffset;\n }\n // snap the first coordinate (P1)\n var x1 = snap(flatCoordinates[offset], tolerance);\n var y1 = snap(flatCoordinates[offset + 1], tolerance);\n offset += stride;\n // add the first coordinate to the output\n simplifiedFlatCoordinates[simplifiedOffset++] = x1;\n simplifiedFlatCoordinates[simplifiedOffset++] = y1;\n // find the next coordinate that does not snap to the same value as the first\n // coordinate (P2)\n var x2, y2;\n do {\n x2 = snap(flatCoordinates[offset], tolerance);\n y2 = snap(flatCoordinates[offset + 1], tolerance);\n offset += stride;\n if (offset == end) {\n // all coordinates snap to the same value, the line collapses to a point\n // push the last snapped value anyway to ensure that the output contains\n // at least two points\n // FIXME should we really return at least two points anyway?\n simplifiedFlatCoordinates[simplifiedOffset++] = x2;\n simplifiedFlatCoordinates[simplifiedOffset++] = y2;\n return simplifiedOffset;\n }\n } while (x2 == x1 && y2 == y1);\n while (offset < end) {\n // snap the next coordinate (P3)\n var x3 = snap(flatCoordinates[offset], tolerance);\n var y3 = snap(flatCoordinates[offset + 1], tolerance);\n offset += stride;\n // skip P3 if it is equal to P2\n if (x3 == x2 && y3 == y2) {\n continue;\n }\n // calculate the delta between P1 and P2\n var dx1 = x2 - x1;\n var dy1 = y2 - y1;\n // calculate the delta between P3 and P1\n var dx2 = x3 - x1;\n var dy2 = y3 - y1;\n // if P1, P2, and P3 are colinear and P3 is further from P1 than P2 is from\n // P1 in the same direction then P2 is on the straight line between P1 and\n // P3\n if (dx1 * dy2 == dy1 * dx2 &&\n ((dx1 < 0 && dx2 < dx1) || dx1 == dx2 || (dx1 > 0 && dx2 > dx1)) &&\n ((dy1 < 0 && dy2 < dy1) || dy1 == dy2 || (dy1 > 0 && dy2 > dy1))) {\n // discard P2 and set P2 = P3\n x2 = x3;\n y2 = y3;\n continue;\n }\n // either P1, P2, and P3 are not colinear, or they are colinear but P3 is\n // between P3 and P1 or on the opposite half of the line to P2. add P2,\n // and continue with P1 = P2 and P2 = P3\n simplifiedFlatCoordinates[simplifiedOffset++] = x2;\n simplifiedFlatCoordinates[simplifiedOffset++] = y2;\n x1 = x2;\n y1 = y2;\n x2 = x3;\n y2 = y3;\n }\n // add the last point (P2)\n simplifiedFlatCoordinates[simplifiedOffset++] = x2;\n simplifiedFlatCoordinates[simplifiedOffset++] = y2;\n return simplifiedOffset;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {number} tolerance Tolerance.\n * @param {Array} simplifiedFlatCoordinates Simplified flat\n * coordinates.\n * @param {number} simplifiedOffset Simplified offset.\n * @param {Array} simplifiedEnds Simplified ends.\n * @return {number} Simplified offset.\n */\nexport function quantizeArray(flatCoordinates, offset, ends, stride, tolerance, simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds) {\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n simplifiedOffset = quantize(flatCoordinates, offset, end, stride, tolerance, simplifiedFlatCoordinates, simplifiedOffset);\n simplifiedEnds.push(simplifiedOffset);\n offset = end;\n }\n return simplifiedOffset;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @param {number} tolerance Tolerance.\n * @param {Array} simplifiedFlatCoordinates Simplified flat\n * coordinates.\n * @param {number} simplifiedOffset Simplified offset.\n * @param {Array>} simplifiedEndss Simplified endss.\n * @return {number} Simplified offset.\n */\nexport function quantizeMultiArray(flatCoordinates, offset, endss, stride, tolerance, simplifiedFlatCoordinates, simplifiedOffset, simplifiedEndss) {\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n var simplifiedEnds = [];\n simplifiedOffset = quantizeArray(flatCoordinates, offset, ends, stride, tolerance, simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds);\n simplifiedEndss.push(simplifiedEnds);\n offset = ends[ends.length - 1];\n }\n return simplifiedOffset;\n}\n//# sourceMappingURL=simplify.js.map","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./todoListWidget.vue?vue&type=style&index=0&id=03f0073f&prod&lang=less&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('TerraIndexDynamicTable',{attrs:{\"scrollingMode\":\"infinite\",\"tableData\":_vm.tableData,\"tableTitle\":_vm.$t('tableTitles.ProjectParticipants'),\"tableDataIdentifier\":_vm.tableIdentifier,\"tableCreateAction\":_vm.createTableRowAction,\"tableUpdateAction\":_vm.updateTableRowAction,\"tableDeleteAction\":_vm.deleteTableRowAction,\"tableColumns\":_vm.tableColumns,\"tableName\":_vm.tableName,\"settingName\":_vm.settingName,\"language\":_vm.language,\"excelExportSettings\":_vm.exportSettings,\"search-panel-enabled\":_vm.searchPanelEnabled,\"enableColumnChooser\":false,\"state-storing\":{},\"defaultSelectedRowIndex\":0,\"isValidRequest\":_vm.isValidRequest,\"hasSaveAndRevertButtons\":false,\"useMultiSelect\":true},on:{\"refreshTableData\":_vm.refreshTableData}}),_c('UserModal',{attrs:{\"option\":_vm.wrappedProjectId},on:{\"pinnedUsersUpdated\":_vm.refreshTableData}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectParticipantsTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectParticipantsTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./projectParticipantsTable.vue?vue&type=template&id=26784b29\"\nimport script from \"./projectParticipantsTable.vue?vue&type=script&lang=js\"\nexport * from \"./projectParticipantsTable.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/control/Attribution\n */\nimport Control from './Control.js';\nimport EventType from '../events/EventType.js';\nimport { CLASS_COLLAPSED, CLASS_CONTROL, CLASS_UNSELECTABLE } from '../css.js';\nimport { equals } from '../array.js';\nimport { inView } from '../layer/Layer.js';\nimport { removeChildren, replaceNode } from '../dom.js';\n/**\n * @typedef {Object} Options\n * @property {string} [className='ol-attribution'] CSS class name.\n * @property {HTMLElement|string} [target] Specify a target if you\n * want the control to be rendered outside of the map's\n * viewport.\n * @property {boolean} [collapsible] Specify if attributions can\n * be collapsed. If not specified, sources control this behavior with their\n * `attributionsCollapsible` setting.\n * @property {boolean} [collapsed=true] Specify if attributions should\n * be collapsed at startup.\n * @property {string} [tipLabel='Attributions'] Text label to use for the button tip.\n * @property {string|HTMLElement} [label='i'] Text label to use for the\n * collapsed attributions button.\n * Instead of text, also an element (e.g. a `span` element) can be used.\n * @property {string} [expandClassName=className + '-expand'] CSS class name for the\n * collapsed attributions button.\n * @property {string|HTMLElement} [collapseLabel='›'] Text label to use\n * for the expanded attributions button.\n * Instead of text, also an element (e.g. a `span` element) can be used.\n * @property {string} [collapseClassName=className + '-collapse'] CSS class name for the\n * expanded attributions button.\n * @property {function(import(\"../MapEvent.js\").default):void} [render] Function called when\n * the control should be re-rendered. This is called in a `requestAnimationFrame`\n * callback.\n */\n/**\n * @classdesc\n * Control to show all the attributions associated with the layer sources\n * in the map. This control is one of the default controls included in maps.\n * By default it will show in the bottom right portion of the map, but this can\n * be changed by using a css selector for `.ol-attribution`.\n *\n * @api\n */\nvar Attribution = /** @class */ (function (_super) {\n __extends(Attribution, _super);\n /**\n * @param {Options} [opt_options] Attribution options.\n */\n function Attribution(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n _this = _super.call(this, {\n element: document.createElement('div'),\n render: options.render,\n target: options.target,\n }) || this;\n /**\n * @private\n * @type {HTMLElement}\n */\n _this.ulElement_ = document.createElement('ul');\n /**\n * @private\n * @type {boolean}\n */\n _this.collapsed_ =\n options.collapsed !== undefined ? options.collapsed : true;\n /**\n * @private\n * @type {boolean}\n */\n _this.userCollapsed_ = _this.collapsed_;\n /**\n * @private\n * @type {boolean}\n */\n _this.overrideCollapsible_ = options.collapsible !== undefined;\n /**\n * @private\n * @type {boolean}\n */\n _this.collapsible_ =\n options.collapsible !== undefined ? options.collapsible : true;\n if (!_this.collapsible_) {\n _this.collapsed_ = false;\n }\n var className = options.className !== undefined ? options.className : 'ol-attribution';\n var tipLabel = options.tipLabel !== undefined ? options.tipLabel : 'Attributions';\n var expandClassName = options.expandClassName !== undefined\n ? options.expandClassName\n : className + '-expand';\n var collapseLabel = options.collapseLabel !== undefined ? options.collapseLabel : '\\u203A';\n var collapseClassName = options.collapseClassName !== undefined\n ? options.collapseClassName\n : className + '-collapse';\n if (typeof collapseLabel === 'string') {\n /**\n * @private\n * @type {HTMLElement}\n */\n _this.collapseLabel_ = document.createElement('span');\n _this.collapseLabel_.textContent = collapseLabel;\n _this.collapseLabel_.className = collapseClassName;\n }\n else {\n _this.collapseLabel_ = collapseLabel;\n }\n var label = options.label !== undefined ? options.label : 'i';\n if (typeof label === 'string') {\n /**\n * @private\n * @type {HTMLElement}\n */\n _this.label_ = document.createElement('span');\n _this.label_.textContent = label;\n _this.label_.className = expandClassName;\n }\n else {\n _this.label_ = label;\n }\n var activeLabel = _this.collapsible_ && !_this.collapsed_ ? _this.collapseLabel_ : _this.label_;\n /**\n * @private\n * @type {HTMLElement}\n */\n _this.toggleButton_ = document.createElement('button');\n _this.toggleButton_.setAttribute('type', 'button');\n _this.toggleButton_.setAttribute('aria-expanded', String(!_this.collapsed_));\n _this.toggleButton_.title = tipLabel;\n _this.toggleButton_.appendChild(activeLabel);\n _this.toggleButton_.addEventListener(EventType.CLICK, _this.handleClick_.bind(_this), false);\n var cssClasses = className +\n ' ' +\n CLASS_UNSELECTABLE +\n ' ' +\n CLASS_CONTROL +\n (_this.collapsed_ && _this.collapsible_ ? ' ' + CLASS_COLLAPSED : '') +\n (_this.collapsible_ ? '' : ' ol-uncollapsible');\n var element = _this.element;\n element.className = cssClasses;\n element.appendChild(_this.toggleButton_);\n element.appendChild(_this.ulElement_);\n /**\n * A list of currently rendered resolutions.\n * @type {Array}\n * @private\n */\n _this.renderedAttributions_ = [];\n /**\n * @private\n * @type {boolean}\n */\n _this.renderedVisible_ = true;\n return _this;\n }\n /**\n * Collect a list of visible attributions and set the collapsible state.\n * @param {import(\"../PluggableMap.js\").FrameState} frameState Frame state.\n * @return {Array} Attributions.\n * @private\n */\n Attribution.prototype.collectSourceAttributions_ = function (frameState) {\n /**\n * Used to determine if an attribution already exists.\n * @type {!Object}\n */\n var lookup = {};\n /**\n * A list of visible attributions.\n * @type {Array}\n */\n var visibleAttributions = [];\n var collapsible = true;\n var layerStatesArray = frameState.layerStatesArray;\n for (var i = 0, ii = layerStatesArray.length; i < ii; ++i) {\n var layerState = layerStatesArray[i];\n if (!inView(layerState, frameState.viewState)) {\n continue;\n }\n var source = /** @type {import(\"../layer/Layer.js\").default} */ (layerState.layer).getSource();\n if (!source) {\n continue;\n }\n var attributionGetter = source.getAttributions();\n if (!attributionGetter) {\n continue;\n }\n var attributions = attributionGetter(frameState);\n if (!attributions) {\n continue;\n }\n collapsible =\n collapsible && source.getAttributionsCollapsible() !== false;\n if (Array.isArray(attributions)) {\n for (var j = 0, jj = attributions.length; j < jj; ++j) {\n if (!(attributions[j] in lookup)) {\n visibleAttributions.push(attributions[j]);\n lookup[attributions[j]] = true;\n }\n }\n }\n else {\n if (!(attributions in lookup)) {\n visibleAttributions.push(attributions);\n lookup[attributions] = true;\n }\n }\n }\n if (!this.overrideCollapsible_) {\n this.setCollapsible(collapsible);\n }\n return visibleAttributions;\n };\n /**\n * @private\n * @param {?import(\"../PluggableMap.js\").FrameState} frameState Frame state.\n */\n Attribution.prototype.updateElement_ = function (frameState) {\n if (!frameState) {\n if (this.renderedVisible_) {\n this.element.style.display = 'none';\n this.renderedVisible_ = false;\n }\n return;\n }\n var attributions = this.collectSourceAttributions_(frameState);\n var visible = attributions.length > 0;\n if (this.renderedVisible_ != visible) {\n this.element.style.display = visible ? '' : 'none';\n this.renderedVisible_ = visible;\n }\n if (equals(attributions, this.renderedAttributions_)) {\n return;\n }\n removeChildren(this.ulElement_);\n // append the attributions\n for (var i = 0, ii = attributions.length; i < ii; ++i) {\n var element = document.createElement('li');\n element.innerHTML = attributions[i];\n this.ulElement_.appendChild(element);\n }\n this.renderedAttributions_ = attributions;\n };\n /**\n * @param {MouseEvent} event The event to handle\n * @private\n */\n Attribution.prototype.handleClick_ = function (event) {\n event.preventDefault();\n this.handleToggle_();\n this.userCollapsed_ = this.collapsed_;\n };\n /**\n * @private\n */\n Attribution.prototype.handleToggle_ = function () {\n this.element.classList.toggle(CLASS_COLLAPSED);\n if (this.collapsed_) {\n replaceNode(this.collapseLabel_, this.label_);\n }\n else {\n replaceNode(this.label_, this.collapseLabel_);\n }\n this.collapsed_ = !this.collapsed_;\n this.toggleButton_.setAttribute('aria-expanded', String(!this.collapsed_));\n };\n /**\n * Return `true` if the attribution is collapsible, `false` otherwise.\n * @return {boolean} True if the widget is collapsible.\n * @api\n */\n Attribution.prototype.getCollapsible = function () {\n return this.collapsible_;\n };\n /**\n * Set whether the attribution should be collapsible.\n * @param {boolean} collapsible True if the widget is collapsible.\n * @api\n */\n Attribution.prototype.setCollapsible = function (collapsible) {\n if (this.collapsible_ === collapsible) {\n return;\n }\n this.collapsible_ = collapsible;\n this.element.classList.toggle('ol-uncollapsible');\n if (this.userCollapsed_) {\n this.handleToggle_();\n }\n };\n /**\n * Collapse or expand the attribution according to the passed parameter. Will\n * not do anything if the attribution isn't collapsible or if the current\n * collapsed state is already the one requested.\n * @param {boolean} collapsed True if the widget is collapsed.\n * @api\n */\n Attribution.prototype.setCollapsed = function (collapsed) {\n this.userCollapsed_ = collapsed;\n if (!this.collapsible_ || this.collapsed_ === collapsed) {\n return;\n }\n this.handleToggle_();\n };\n /**\n * Return `true` when the attribution is currently collapsed or `false`\n * otherwise.\n * @return {boolean} True if the widget is collapsed.\n * @api\n */\n Attribution.prototype.getCollapsed = function () {\n return this.collapsed_;\n };\n /**\n * Update the attribution element.\n * @param {import(\"../MapEvent.js\").default} mapEvent Map event.\n * @override\n */\n Attribution.prototype.render = function (mapEvent) {\n this.updateElement_(mapEvent.frameState);\n };\n return Attribution;\n}(Control));\nexport default Attribution;\n//# sourceMappingURL=Attribution.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/control/Rotate\n */\nimport Control from './Control.js';\nimport EventType from '../events/EventType.js';\nimport { CLASS_CONTROL, CLASS_HIDDEN, CLASS_UNSELECTABLE } from '../css.js';\nimport { easeOut } from '../easing.js';\n/**\n * @typedef {Object} Options\n * @property {string} [className='ol-rotate'] CSS class name.\n * @property {string|HTMLElement} [label='⇧'] Text label to use for the rotate button.\n * Instead of text, also an element (e.g. a `span` element) can be used.\n * @property {string} [tipLabel='Reset rotation'] Text label to use for the rotate tip.\n * @property {string} [compassClassName='ol-compass'] CSS class name for the compass.\n * @property {number} [duration=250] Animation duration in milliseconds.\n * @property {boolean} [autoHide=true] Hide the control when rotation is 0.\n * @property {function(import(\"../MapEvent.js\").default):void} [render] Function called when the control should\n * be re-rendered. This is called in a `requestAnimationFrame` callback.\n * @property {function():void} [resetNorth] Function called when the control is clicked.\n * This will override the default `resetNorth`.\n * @property {HTMLElement|string} [target] Specify a target if you want the control to be\n * rendered outside of the map's viewport.\n */\n/**\n * @classdesc\n * A button control to reset rotation to 0.\n * To style this control use css selector `.ol-rotate`. A `.ol-hidden` css\n * selector is added to the button when the rotation is 0.\n *\n * @api\n */\nvar Rotate = /** @class */ (function (_super) {\n __extends(Rotate, _super);\n /**\n * @param {Options} [opt_options] Rotate options.\n */\n function Rotate(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n _this = _super.call(this, {\n element: document.createElement('div'),\n render: options.render,\n target: options.target,\n }) || this;\n var className = options.className !== undefined ? options.className : 'ol-rotate';\n var label = options.label !== undefined ? options.label : '\\u21E7';\n var compassClassName = options.compassClassName !== undefined\n ? options.compassClassName\n : 'ol-compass';\n /**\n * @type {HTMLElement}\n * @private\n */\n _this.label_ = null;\n if (typeof label === 'string') {\n _this.label_ = document.createElement('span');\n _this.label_.className = compassClassName;\n _this.label_.textContent = label;\n }\n else {\n _this.label_ = label;\n _this.label_.classList.add(compassClassName);\n }\n var tipLabel = options.tipLabel ? options.tipLabel : 'Reset rotation';\n var button = document.createElement('button');\n button.className = className + '-reset';\n button.setAttribute('type', 'button');\n button.title = tipLabel;\n button.appendChild(_this.label_);\n button.addEventListener(EventType.CLICK, _this.handleClick_.bind(_this), false);\n var cssClasses = className + ' ' + CLASS_UNSELECTABLE + ' ' + CLASS_CONTROL;\n var element = _this.element;\n element.className = cssClasses;\n element.appendChild(button);\n _this.callResetNorth_ = options.resetNorth ? options.resetNorth : undefined;\n /**\n * @type {number}\n * @private\n */\n _this.duration_ = options.duration !== undefined ? options.duration : 250;\n /**\n * @type {boolean}\n * @private\n */\n _this.autoHide_ = options.autoHide !== undefined ? options.autoHide : true;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.rotation_ = undefined;\n if (_this.autoHide_) {\n _this.element.classList.add(CLASS_HIDDEN);\n }\n return _this;\n }\n /**\n * @param {MouseEvent} event The event to handle\n * @private\n */\n Rotate.prototype.handleClick_ = function (event) {\n event.preventDefault();\n if (this.callResetNorth_ !== undefined) {\n this.callResetNorth_();\n }\n else {\n this.resetNorth_();\n }\n };\n /**\n * @private\n */\n Rotate.prototype.resetNorth_ = function () {\n var map = this.getMap();\n var view = map.getView();\n if (!view) {\n // the map does not have a view, so we can't act\n // upon it\n return;\n }\n var rotation = view.getRotation();\n if (rotation !== undefined) {\n if (this.duration_ > 0 && rotation % (2 * Math.PI) !== 0) {\n view.animate({\n rotation: 0,\n duration: this.duration_,\n easing: easeOut,\n });\n }\n else {\n view.setRotation(0);\n }\n }\n };\n /**\n * Update the rotate control element.\n * @param {import(\"../MapEvent.js\").default} mapEvent Map event.\n * @override\n */\n Rotate.prototype.render = function (mapEvent) {\n var frameState = mapEvent.frameState;\n if (!frameState) {\n return;\n }\n var rotation = frameState.viewState.rotation;\n if (rotation != this.rotation_) {\n var transform = 'rotate(' + rotation + 'rad)';\n if (this.autoHide_) {\n var contains = this.element.classList.contains(CLASS_HIDDEN);\n if (!contains && rotation === 0) {\n this.element.classList.add(CLASS_HIDDEN);\n }\n else if (contains && rotation !== 0) {\n this.element.classList.remove(CLASS_HIDDEN);\n }\n }\n this.label_.style.transform = transform;\n }\n this.rotation_ = rotation;\n };\n return Rotate;\n}(Control));\nexport default Rotate;\n//# sourceMappingURL=Rotate.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/control/Zoom\n */\nimport Control from './Control.js';\nimport EventType from '../events/EventType.js';\nimport { CLASS_CONTROL, CLASS_UNSELECTABLE } from '../css.js';\nimport { easeOut } from '../easing.js';\n/**\n * @typedef {Object} Options\n * @property {number} [duration=250] Animation duration in milliseconds.\n * @property {string} [className='ol-zoom'] CSS class name.\n * @property {string} [zoomInClassName=className + '-in'] CSS class name for the zoom-in button.\n * @property {string} [zoomOutClassName=className + '-out'] CSS class name for the zoom-out button.\n * @property {string|HTMLElement} [zoomInLabel='+'] Text label to use for the zoom-in\n * button. Instead of text, also an element (e.g. a `span` element) can be used.\n * @property {string|HTMLElement} [zoomOutLabel='–'] Text label to use for the zoom-out button.\n * Instead of text, also an element (e.g. a `span` element) can be used.\n * @property {string} [zoomInTipLabel='Zoom in'] Text label to use for the button tip.\n * @property {string} [zoomOutTipLabel='Zoom out'] Text label to use for the button tip.\n * @property {number} [delta=1] The zoom delta applied on each click.\n * @property {HTMLElement|string} [target] Specify a target if you want the control to be\n * rendered outside of the map's viewport.\n */\n/**\n * @classdesc\n * A control with 2 buttons, one for zoom in and one for zoom out.\n * This control is one of the default controls of a map. To style this control\n * use css selectors `.ol-zoom-in` and `.ol-zoom-out`.\n *\n * @api\n */\nvar Zoom = /** @class */ (function (_super) {\n __extends(Zoom, _super);\n /**\n * @param {Options} [opt_options] Zoom options.\n */\n function Zoom(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n _this = _super.call(this, {\n element: document.createElement('div'),\n target: options.target,\n }) || this;\n var className = options.className !== undefined ? options.className : 'ol-zoom';\n var delta = options.delta !== undefined ? options.delta : 1;\n var zoomInClassName = options.zoomInClassName !== undefined\n ? options.zoomInClassName\n : className + '-in';\n var zoomOutClassName = options.zoomOutClassName !== undefined\n ? options.zoomOutClassName\n : className + '-out';\n var zoomInLabel = options.zoomInLabel !== undefined ? options.zoomInLabel : '+';\n var zoomOutLabel = options.zoomOutLabel !== undefined ? options.zoomOutLabel : '\\u2013';\n var zoomInTipLabel = options.zoomInTipLabel !== undefined ? options.zoomInTipLabel : 'Zoom in';\n var zoomOutTipLabel = options.zoomOutTipLabel !== undefined\n ? options.zoomOutTipLabel\n : 'Zoom out';\n var inElement = document.createElement('button');\n inElement.className = zoomInClassName;\n inElement.setAttribute('type', 'button');\n inElement.title = zoomInTipLabel;\n inElement.appendChild(typeof zoomInLabel === 'string'\n ? document.createTextNode(zoomInLabel)\n : zoomInLabel);\n inElement.addEventListener(EventType.CLICK, _this.handleClick_.bind(_this, delta), false);\n var outElement = document.createElement('button');\n outElement.className = zoomOutClassName;\n outElement.setAttribute('type', 'button');\n outElement.title = zoomOutTipLabel;\n outElement.appendChild(typeof zoomOutLabel === 'string'\n ? document.createTextNode(zoomOutLabel)\n : zoomOutLabel);\n outElement.addEventListener(EventType.CLICK, _this.handleClick_.bind(_this, -delta), false);\n var cssClasses = className + ' ' + CLASS_UNSELECTABLE + ' ' + CLASS_CONTROL;\n var element = _this.element;\n element.className = cssClasses;\n element.appendChild(inElement);\n element.appendChild(outElement);\n /**\n * @type {number}\n * @private\n */\n _this.duration_ = options.duration !== undefined ? options.duration : 250;\n return _this;\n }\n /**\n * @param {number} delta Zoom delta.\n * @param {MouseEvent} event The event to handle\n * @private\n */\n Zoom.prototype.handleClick_ = function (delta, event) {\n event.preventDefault();\n this.zoomByDelta_(delta);\n };\n /**\n * @param {number} delta Zoom delta.\n * @private\n */\n Zoom.prototype.zoomByDelta_ = function (delta) {\n var map = this.getMap();\n var view = map.getView();\n if (!view) {\n // the map does not have a view, so we can't act\n // upon it\n return;\n }\n var currentZoom = view.getZoom();\n if (currentZoom !== undefined) {\n var newZoom = view.getConstrainedZoom(currentZoom + delta);\n if (this.duration_ > 0) {\n if (view.getAnimating()) {\n view.cancelAnimations();\n }\n view.animate({\n zoom: newZoom,\n duration: this.duration_,\n easing: easeOut,\n });\n }\n else {\n view.setZoom(newZoom);\n }\n }\n };\n return Zoom;\n}(Control));\nexport default Zoom;\n//# sourceMappingURL=Zoom.js.map","/**\n * @module ol/control\n */\nimport Attribution from './control/Attribution.js';\nimport Collection from './Collection.js';\nimport Rotate from './control/Rotate.js';\nimport Zoom from './control/Zoom.js';\nexport { default as Attribution } from './control/Attribution.js';\nexport { default as Control } from './control/Control.js';\nexport { default as FullScreen } from './control/FullScreen.js';\nexport { default as MousePosition } from './control/MousePosition.js';\nexport { default as OverviewMap } from './control/OverviewMap.js';\nexport { default as Rotate } from './control/Rotate.js';\nexport { default as ScaleLine } from './control/ScaleLine.js';\nexport { default as Zoom } from './control/Zoom.js';\nexport { default as ZoomSlider } from './control/ZoomSlider.js';\nexport { default as ZoomToExtent } from './control/ZoomToExtent.js';\n/**\n * @typedef {Object} DefaultsOptions\n * @property {boolean} [attribution=true] Include\n * {@link module:ol/control/Attribution~Attribution}.\n * @property {import(\"./control/Attribution.js\").Options} [attributionOptions]\n * Options for {@link module:ol/control/Attribution~Attribution}.\n * @property {boolean} [rotate=true] Include\n * {@link module:ol/control/Rotate~Rotate}.\n * @property {import(\"./control/Rotate.js\").Options} [rotateOptions] Options\n * for {@link module:ol/control/Rotate~Rotate}.\n * @property {boolean} [zoom] Include {@link module:ol/control/Zoom~Zoom}.\n * @property {import(\"./control/Zoom.js\").Options} [zoomOptions] Options for\n * {@link module:ol/control/Zoom~Zoom}.\n * @api\n */\n/**\n * Set of controls included in maps by default. Unless configured otherwise,\n * this returns a collection containing an instance of each of the following\n * controls:\n * * {@link module:ol/control/Zoom~Zoom}\n * * {@link module:ol/control/Rotate~Rotate}\n * * {@link module:ol/control/Attribution~Attribution}\n *\n * @param {DefaultsOptions} [opt_options]\n * Defaults options.\n * @return {Collection}\n * Controls.\n * @api\n */\nexport function defaults(opt_options) {\n var options = opt_options ? opt_options : {};\n var controls = new Collection();\n var zoomControl = options.zoom !== undefined ? options.zoom : true;\n if (zoomControl) {\n controls.push(new Zoom(options.zoomOptions));\n }\n var rotateControl = options.rotate !== undefined ? options.rotate : true;\n if (rotateControl) {\n controls.push(new Rotate(options.rotateOptions));\n }\n var attributionControl = options.attribution !== undefined ? options.attribution : true;\n if (attributionControl) {\n controls.push(new Attribution(options.attributionOptions));\n }\n return controls;\n}\n//# sourceMappingURL=control.js.map","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=t||self).RBush=i()}(this,function(){\"use strict\";function t(t,r,e,a,h){!function t(n,r,e,a,h){for(;a>e;){if(a-e>600){var o=a-e+1,s=r-e+1,l=Math.log(o),f=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*f*(o-f)/o)*(s-o/2<0?-1:1),m=Math.max(e,Math.floor(r-s*f/o+u)),c=Math.min(a,Math.floor(r+(o-s)*f/o+u));t(n,r,m,c,h)}var p=n[r],d=e,x=a;for(i(n,e,r),h(n[a],p)>0&&i(n,e,a);d0;)x--}0===h(n[e],p)?i(n,e,x):i(n,++x,a),x<=r&&(e=x+1),r<=x&&(a=x-1)}}(t,r,e||0,a||t.length-1,h||n)}function i(t,i,n){var r=t[i];t[i]=t[n],t[n]=r}function n(t,i){return ti?1:0}var r=function(t){void 0===t&&(t=9),this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function e(t,i,n){if(!n)return i.indexOf(t);for(var r=0;r=t.minX&&i.maxY>=t.minY}function p(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function d(i,n,r,e,a){for(var h=[n,r];h.length;)if(!((r=h.pop())-(n=h.pop())<=e)){var o=n+Math.ceil((r-n)/e/2)*e;t(i,o,n,r,a),h.push(n,o,o,r)}}return r.prototype.all=function(){return this._all(this.data,[])},r.prototype.search=function(t){var i=this.data,n=[];if(!c(t,i))return n;for(var r=this.toBBox,e=[];i;){for(var a=0;a=0&&e[i].children.length>this._maxEntries;)this._split(e,i),i--;this._adjustParentBBoxes(r,e,i)},r.prototype._split=function(t,i){var n=t[i],r=n.children.length,e=this._minEntries;this._chooseSplitAxis(n,e,r);var h=this._chooseSplitIndex(n,e,r),o=p(n.children.splice(h,n.children.length-h));o.height=n.height,o.leaf=n.leaf,a(n,this.toBBox),a(o,this.toBBox),i?t[i-1].children.push(o):this._splitRoot(n,o)},r.prototype._splitRoot=function(t,i){this.data=p([t,i]),this.data.height=t.height+1,this.data.leaf=!1,a(this.data,this.toBBox)},r.prototype._chooseSplitIndex=function(t,i,n){for(var r,e,a,o,s,l,u,m=1/0,c=1/0,p=i;p<=n-i;p++){var d=h(t,0,p,this.toBBox),x=h(t,p,n,this.toBBox),v=(e=d,a=x,o=void 0,s=void 0,l=void 0,u=void 0,o=Math.max(e.minX,a.minX),s=Math.max(e.minY,a.minY),l=Math.min(e.maxX,a.maxX),u=Math.min(e.maxY,a.maxY),Math.max(0,l-o)*Math.max(0,u-s)),M=f(d)+f(x);v=i;c--){var p=t.children[c];o(s,t.leaf?e(p):p),l+=u(s)}return l},r.prototype._adjustParentBBoxes=function(t,i,n){for(var r=n;r>=0;r--)o(i[r],t)},r.prototype._condense=function(t){for(var i=t.length-1,n=void 0;i>=0;i--)0===t[i].children.length?i>0?(n=t[i-1].children).splice(n.indexOf(t[i]),1):this.clear():a(t[i],this.toBBox)},r});\n","/**\n * @module ol/geom/flat/contains\n */\nimport { forEachCorner } from '../../extent.js';\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {import(\"../../extent.js\").Extent} extent Extent.\n * @return {boolean} Contains extent.\n */\nexport function linearRingContainsExtent(flatCoordinates, offset, end, stride, extent) {\n var outside = forEachCorner(extent, \n /**\n * @param {import(\"../../coordinate.js\").Coordinate} coordinate Coordinate.\n * @return {boolean} Contains (x, y).\n */\n function (coordinate) {\n return !linearRingContainsXY(flatCoordinates, offset, end, stride, coordinate[0], coordinate[1]);\n });\n return !outside;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\nexport function linearRingContainsXY(flatCoordinates, offset, end, stride, x, y) {\n // https://geomalgorithms.com/a03-_inclusion.html\n // Copyright 2000 softSurfer, 2012 Dan Sunday\n // This code may be freely used and modified for any purpose\n // providing that this copyright notice is included with it.\n // SoftSurfer makes no warranty for this code, and cannot be held\n // liable for any real or imagined damage resulting from its use.\n // Users of this code must verify correctness for their application.\n var wn = 0;\n var x1 = flatCoordinates[end - stride];\n var y1 = flatCoordinates[end - stride + 1];\n for (; offset < end; offset += stride) {\n var x2 = flatCoordinates[offset];\n var y2 = flatCoordinates[offset + 1];\n if (y1 <= y) {\n if (y2 > y && (x2 - x1) * (y - y1) - (x - x1) * (y2 - y1) > 0) {\n wn++;\n }\n }\n else if (y2 <= y && (x2 - x1) * (y - y1) - (x - x1) * (y2 - y1) < 0) {\n wn--;\n }\n x1 = x2;\n y1 = y2;\n }\n return wn !== 0;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\nexport function linearRingsContainsXY(flatCoordinates, offset, ends, stride, x, y) {\n if (ends.length === 0) {\n return false;\n }\n if (!linearRingContainsXY(flatCoordinates, offset, ends[0], stride, x, y)) {\n return false;\n }\n for (var i = 1, ii = ends.length; i < ii; ++i) {\n if (linearRingContainsXY(flatCoordinates, ends[i - 1], ends[i], stride, x, y)) {\n return false;\n }\n }\n return true;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\nexport function linearRingssContainsXY(flatCoordinates, offset, endss, stride, x, y) {\n if (endss.length === 0) {\n return false;\n }\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n if (linearRingsContainsXY(flatCoordinates, offset, ends, stride, x, y)) {\n return true;\n }\n offset = ends[ends.length - 1];\n }\n return false;\n}\n//# sourceMappingURL=contains.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardHeader.vue?vue&type=style&index=0&id=b5ec40da&prod&lang=less&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirmDeleteModal.vue?vue&type=style&index=0&id=661121c2&prod&lang=less&scoped=true\"","/**\n * @module ol/style/TextPlacement\n */\n/**\n * Text placement. One of `'point'`, `'line'`. Default is `'point'`. Note that\n * `'line'` requires the underlying geometry to be a {@link module:ol/geom/LineString~LineString},\n * {@link module:ol/geom/Polygon~Polygon}, {@link module:ol/geom/MultiLineString~MultiLineString} or\n * {@link module:ol/geom/MultiPolygon~MultiPolygon}.\n * @enum {string}\n */\nexport default {\n POINT: 'point',\n LINE: 'line',\n};\n//# sourceMappingURL=TextPlacement.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./actionButtons.vue?vue&type=style&index=0&id=3c13881f&prod&lang=less\"","/**\n * @module ol/tilecoord\n */\n/**\n * An array of three numbers representing the location of a tile in a tile\n * grid. The order is `z` (zoom level), `x` (column), and `y` (row).\n * @typedef {Array} TileCoord\n * @api\n */\n/**\n * @param {number} z Z.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {TileCoord} [opt_tileCoord] Tile coordinate.\n * @return {TileCoord} Tile coordinate.\n */\nexport function createOrUpdate(z, x, y, opt_tileCoord) {\n if (opt_tileCoord !== undefined) {\n opt_tileCoord[0] = z;\n opt_tileCoord[1] = x;\n opt_tileCoord[2] = y;\n return opt_tileCoord;\n }\n else {\n return [z, x, y];\n }\n}\n/**\n * @param {number} z Z.\n * @param {number} x X.\n * @param {number} y Y.\n * @return {string} Key.\n */\nexport function getKeyZXY(z, x, y) {\n return z + '/' + x + '/' + y;\n}\n/**\n * Get the key for a tile coord.\n * @param {TileCoord} tileCoord The tile coord.\n * @return {string} Key.\n */\nexport function getKey(tileCoord) {\n return getKeyZXY(tileCoord[0], tileCoord[1], tileCoord[2]);\n}\n/**\n * Get the tile cache key for a tile key obtained through `tile.getKey()`.\n * @param {string} tileKey The tile key.\n * @return {string} The cache key.\n */\nexport function getCacheKeyForTileKey(tileKey) {\n var _a = tileKey\n .substring(tileKey.lastIndexOf('/') + 1, tileKey.length)\n .split(',')\n .map(Number), z = _a[0], x = _a[1], y = _a[2];\n return getKeyZXY(z, x, y);\n}\n/**\n * Get a tile coord given a key.\n * @param {string} key The tile coord key.\n * @return {TileCoord} The tile coord.\n */\nexport function fromKey(key) {\n return key.split('/').map(Number);\n}\n/**\n * @param {TileCoord} tileCoord Tile coord.\n * @return {number} Hash.\n */\nexport function hash(tileCoord) {\n return (tileCoord[1] << tileCoord[0]) + tileCoord[2];\n}\n/**\n * @param {TileCoord} tileCoord Tile coordinate.\n * @param {!import(\"./tilegrid/TileGrid.js\").default} tileGrid Tile grid.\n * @return {boolean} Tile coordinate is within extent and zoom level range.\n */\nexport function withinExtentAndZ(tileCoord, tileGrid) {\n var z = tileCoord[0];\n var x = tileCoord[1];\n var y = tileCoord[2];\n if (tileGrid.getMinZoom() > z || z > tileGrid.getMaxZoom()) {\n return false;\n }\n var tileRange = tileGrid.getFullTileRange(z);\n if (!tileRange) {\n return true;\n }\n else {\n return tileRange.containsXY(x, y);\n }\n}\n//# sourceMappingURL=tilecoord.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/interaction/Select\n */\nimport Collection from '../Collection.js';\nimport CollectionEventType from '../CollectionEventType.js';\nimport Event from '../events/Event.js';\nimport Interaction from './Interaction.js';\nimport VectorLayer from '../layer/Vector.js';\nimport { TRUE } from '../functions.js';\nimport { clear } from '../obj.js';\nimport { createEditingStyle } from '../style/Style.js';\nimport { extend, includes } from '../array.js';\nimport { getUid } from '../util.js';\nimport { never, shiftKeyOnly, singleClick } from '../events/condition.js';\n/**\n * @enum {string}\n */\nvar SelectEventType = {\n /**\n * Triggered when feature(s) has been (de)selected.\n * @event SelectEvent#select\n * @api\n */\n SELECT: 'select',\n};\n/**\n * A function that takes an {@link module:ol/Feature~Feature} or\n * {@link module:ol/render/Feature~RenderFeature} and an\n * {@link module:ol/layer/Layer~Layer} and returns `true` if the feature may be\n * selected or `false` otherwise.\n * @typedef {function(import(\"../Feature.js\").FeatureLike, import(\"../layer/Layer.js\").default):boolean} FilterFunction\n */\n/**\n * @typedef {Object} Options\n * @property {import(\"../events/condition.js\").Condition} [addCondition] A function\n * that takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled.\n * By default, this is {@link module:ol/events/condition.never}. Use this if you\n * want to use different events for add and remove instead of `toggle`.\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that\n * takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled. This is the event\n * for the selected features as a whole. By default, this is\n * {@link module:ol/events/condition.singleClick}. Clicking on a feature selects that\n * feature and removes any that were in the selection. Clicking outside any\n * feature removes all from the selection.\n * See `toggle`, `add`, `remove` options for adding/removing extra features to/\n * from the selection.\n * @property {Array|function(import(\"../layer/Layer.js\").default): boolean} [layers]\n * A list of layers from which features should be selected. Alternatively, a\n * filter function can be provided. The function will be called for each layer\n * in the map and should return `true` for layers that you want to be\n * selectable. If the option is absent, all visible layers will be considered\n * selectable.\n * @property {import(\"../style/Style.js\").StyleLike|null} [style]\n * Style for the selected features. By default the default edit style is used\n * (see {@link module:ol/style/Style~Style}). Set to `null` if this interaction should not apply\n * any style changes for selected features.\n * If set to a falsey value, the selected feature's style will not change.\n * @property {import(\"../events/condition.js\").Condition} [removeCondition] A function\n * that takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled.\n * By default, this is {@link module:ol/events/condition.never}. Use this if you\n * want to use different events for add and remove instead of `toggle`.\n * @property {import(\"../events/condition.js\").Condition} [toggleCondition] A function\n * that takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled. This is in addition\n * to the `condition` event. By default,\n * {@link module:ol/events/condition.shiftKeyOnly}, i.e. pressing `shift` as\n * well as the `condition` event, adds that feature to the current selection if\n * it is not currently selected, and removes it if it is. See `add` and `remove`\n * if you want to use different events instead of a toggle.\n * @property {boolean} [multi=false] A boolean that determines if the default\n * behaviour should select only single features or all (overlapping) features at\n * the clicked map position. The default of `false` means single select.\n * @property {import(\"../Collection.js\").default} [features]\n * Collection where the interaction will place selected features. Optional. If\n * not set the interaction will create a collection. In any case the collection\n * used by the interaction is returned by\n * {@link module:ol/interaction/Select~Select#getFeatures}.\n * @property {FilterFunction} [filter] A function\n * that takes an {@link module:ol/Feature~Feature} and an\n * {@link module:ol/layer/Layer~Layer} and returns `true` if the feature may be\n * selected or `false` otherwise.\n * @property {number} [hitTolerance=0] Hit-detection tolerance. Pixels inside\n * the radius around the given position will be checked for features.\n */\n/**\n * @classdesc\n * Events emitted by {@link module:ol/interaction/Select~Select} instances are instances of\n * this type.\n */\nvar SelectEvent = /** @class */ (function (_super) {\n __extends(SelectEvent, _super);\n /**\n * @param {SelectEventType} type The event type.\n * @param {Array} selected Selected features.\n * @param {Array} deselected Deselected features.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Associated\n * {@link module:ol/MapBrowserEvent~MapBrowserEvent}.\n */\n function SelectEvent(type, selected, deselected, mapBrowserEvent) {\n var _this = _super.call(this, type) || this;\n /**\n * Selected features array.\n * @type {Array}\n * @api\n */\n _this.selected = selected;\n /**\n * Deselected features array.\n * @type {Array}\n * @api\n */\n _this.deselected = deselected;\n /**\n * Associated {@link module:ol/MapBrowserEvent~MapBrowserEvent}.\n * @type {import(\"../MapBrowserEvent.js\").default}\n * @api\n */\n _this.mapBrowserEvent = mapBrowserEvent;\n return _this;\n }\n return SelectEvent;\n}(Event));\nexport { SelectEvent };\n/**\n * Original feature styles to reset to when features are no longer selected.\n * @type {Object|import(\"../style/Style.js\").StyleFunction>}\n */\nvar originalFeatureStyles = {};\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature<'select', SelectEvent, Return> &\n * import(\"../Observable\").CombinedOnSignature} SelectOnSignature\n */\n/**\n * @classdesc\n * Interaction for selecting vector features. By default, selected features are\n * styled differently, so this interaction can be used for visual highlighting,\n * as well as selecting features for other actions, such as modification or\n * output. There are three ways of controlling which features are selected:\n * using the browser event as defined by the `condition` and optionally the\n * `toggle`, `add`/`remove`, and `multi` options; a `layers` filter; and a\n * further feature filter using the `filter` option.\n *\n * @fires SelectEvent\n * @api\n */\nvar Select = /** @class */ (function (_super) {\n __extends(Select, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function Select(opt_options) {\n var _this = _super.call(this) || this;\n /***\n * @type {SelectOnSignature}\n */\n _this.on;\n /***\n * @type {SelectOnSignature}\n */\n _this.once;\n /***\n * @type {SelectOnSignature}\n */\n _this.un;\n var options = opt_options ? opt_options : {};\n /**\n * @private\n */\n _this.boundAddFeature_ = _this.addFeature_.bind(_this);\n /**\n * @private\n */\n _this.boundRemoveFeature_ = _this.removeFeature_.bind(_this);\n /**\n * @private\n * @type {import(\"../events/condition.js\").Condition}\n */\n _this.condition_ = options.condition ? options.condition : singleClick;\n /**\n * @private\n * @type {import(\"../events/condition.js\").Condition}\n */\n _this.addCondition_ = options.addCondition ? options.addCondition : never;\n /**\n * @private\n * @type {import(\"../events/condition.js\").Condition}\n */\n _this.removeCondition_ = options.removeCondition\n ? options.removeCondition\n : never;\n /**\n * @private\n * @type {import(\"../events/condition.js\").Condition}\n */\n _this.toggleCondition_ = options.toggleCondition\n ? options.toggleCondition\n : shiftKeyOnly;\n /**\n * @private\n * @type {boolean}\n */\n _this.multi_ = options.multi ? options.multi : false;\n /**\n * @private\n * @type {FilterFunction}\n */\n _this.filter_ = options.filter ? options.filter : TRUE;\n /**\n * @private\n * @type {number}\n */\n _this.hitTolerance_ = options.hitTolerance ? options.hitTolerance : 0;\n /**\n * @private\n * @type {import(\"../style/Style.js\").default|Array|import(\"../style/Style.js\").StyleFunction|null}\n */\n _this.style_ =\n options.style !== undefined ? options.style : getDefaultStyleFunction();\n /**\n * @private\n * @type {import(\"../Collection.js\").default}\n */\n _this.features_ = options.features || new Collection();\n /** @type {function(import(\"../layer/Layer.js\").default): boolean} */\n var layerFilter;\n if (options.layers) {\n if (typeof options.layers === 'function') {\n layerFilter = options.layers;\n }\n else {\n var layers_1 = options.layers;\n layerFilter = function (layer) {\n return includes(layers_1, layer);\n };\n }\n }\n else {\n layerFilter = TRUE;\n }\n /**\n * @private\n * @type {function(import(\"../layer/Layer.js\").default): boolean}\n */\n _this.layerFilter_ = layerFilter;\n /**\n * An association between selected feature (key)\n * and layer (value)\n * @private\n * @type {Object}\n */\n _this.featureLayerAssociation_ = {};\n return _this;\n }\n /**\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n * @param {import(\"../layer/Layer.js\").default} layer Layer.\n * @private\n */\n Select.prototype.addFeatureLayerAssociation_ = function (feature, layer) {\n this.featureLayerAssociation_[getUid(feature)] = layer;\n };\n /**\n * Get the selected features.\n * @return {import(\"../Collection.js\").default} Features collection.\n * @api\n */\n Select.prototype.getFeatures = function () {\n return this.features_;\n };\n /**\n * Returns the Hit-detection tolerance.\n * @return {number} Hit tolerance in pixels.\n * @api\n */\n Select.prototype.getHitTolerance = function () {\n return this.hitTolerance_;\n };\n /**\n * Returns the associated {@link module:ol/layer/Vector~VectorLayer vector layer} of\n * a selected feature.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature\n * @return {import('../layer/Vector.js').default} Layer.\n * @api\n */\n Select.prototype.getLayer = function (feature) {\n return /** @type {import('../layer/Vector.js').default} */ (this.featureLayerAssociation_[getUid(feature)]);\n };\n /**\n * Hit-detection tolerance. Pixels inside the radius around the given position\n * will be checked for features.\n * @param {number} hitTolerance Hit tolerance in pixels.\n * @api\n */\n Select.prototype.setHitTolerance = function (hitTolerance) {\n this.hitTolerance_ = hitTolerance;\n };\n /**\n * Remove the interaction from its current map, if any, and attach it to a new\n * map, if any. Pass `null` to just remove the interaction from the current map.\n * @param {import(\"../PluggableMap.js\").default|null} map Map.\n * @api\n */\n Select.prototype.setMap = function (map) {\n var currentMap = this.getMap();\n if (currentMap && this.style_) {\n this.features_.forEach(this.restorePreviousStyle_.bind(this));\n }\n _super.prototype.setMap.call(this, map);\n if (map) {\n this.features_.addEventListener(CollectionEventType.ADD, this.boundAddFeature_);\n this.features_.addEventListener(CollectionEventType.REMOVE, this.boundRemoveFeature_);\n if (this.style_) {\n this.features_.forEach(this.applySelectedStyle_.bind(this));\n }\n }\n else {\n this.features_.removeEventListener(CollectionEventType.ADD, this.boundAddFeature_);\n this.features_.removeEventListener(CollectionEventType.REMOVE, this.boundRemoveFeature_);\n }\n };\n /**\n * @param {import(\"../Collection.js\").CollectionEvent} evt Event.\n * @private\n */\n Select.prototype.addFeature_ = function (evt) {\n var feature = evt.element;\n if (this.style_) {\n this.applySelectedStyle_(feature);\n }\n if (!this.getLayer(feature)) {\n var layer = /** @type {VectorLayer} */ (this.getMap()\n .getAllLayers()\n .find(function (layer) {\n if (layer instanceof VectorLayer &&\n layer.getSource() &&\n layer.getSource().hasFeature(feature)) {\n return layer;\n }\n }));\n if (layer) {\n this.addFeatureLayerAssociation_(feature, layer);\n }\n }\n };\n /**\n * @param {import(\"../Collection.js\").CollectionEvent} evt Event.\n * @private\n */\n Select.prototype.removeFeature_ = function (evt) {\n var feature = evt.element;\n if (this.style_) {\n this.restorePreviousStyle_(feature);\n }\n };\n /**\n * @return {import(\"../style/Style.js\").StyleLike|null} Select style.\n */\n Select.prototype.getStyle = function () {\n return this.style_;\n };\n /**\n * @param {import(\"../Feature.js\").default} feature Feature\n * @private\n */\n Select.prototype.applySelectedStyle_ = function (feature) {\n var key = getUid(feature);\n if (!(key in originalFeatureStyles)) {\n originalFeatureStyles[key] = feature.getStyle();\n }\n feature.setStyle(this.style_);\n };\n /**\n * @param {import(\"../Feature.js\").default} feature Feature\n * @private\n */\n Select.prototype.restorePreviousStyle_ = function (feature) {\n var interactions = this.getMap().getInteractions().getArray();\n for (var i = interactions.length - 1; i >= 0; --i) {\n var interaction = interactions[i];\n if (interaction !== this &&\n interaction instanceof Select &&\n interaction.getStyle() &&\n interaction.getFeatures().getArray().lastIndexOf(feature) !== -1) {\n feature.setStyle(interaction.getStyle());\n return;\n }\n }\n var key = getUid(feature);\n feature.setStyle(originalFeatureStyles[key]);\n delete originalFeatureStyles[key];\n };\n /**\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n * @private\n */\n Select.prototype.removeFeatureLayerAssociation_ = function (feature) {\n delete this.featureLayerAssociation_[getUid(feature)];\n };\n /**\n * Handles the {@link module:ol/MapBrowserEvent~MapBrowserEvent map browser event} and may change the\n * selected state of features.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} `false` to stop event propagation.\n * @this {Select}\n */\n Select.prototype.handleEvent = function (mapBrowserEvent) {\n if (!this.condition_(mapBrowserEvent)) {\n return true;\n }\n var add = this.addCondition_(mapBrowserEvent);\n var remove = this.removeCondition_(mapBrowserEvent);\n var toggle = this.toggleCondition_(mapBrowserEvent);\n var set = !add && !remove && !toggle;\n var map = mapBrowserEvent.map;\n var features = this.getFeatures();\n var deselected = [];\n var selected = [];\n if (set) {\n // Replace the currently selected feature(s) with the feature(s) at the\n // pixel, or clear the selected feature(s) if there is no feature at\n // the pixel.\n clear(this.featureLayerAssociation_);\n map.forEachFeatureAtPixel(mapBrowserEvent.pixel, \n /**\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n * @param {import(\"../layer/Layer.js\").default} layer Layer.\n * @return {boolean|undefined} Continue to iterate over the features.\n */\n function (feature, layer) {\n if (this.filter_(feature, layer)) {\n this.addFeatureLayerAssociation_(feature, layer);\n selected.push(feature);\n return !this.multi_;\n }\n }.bind(this), {\n layerFilter: this.layerFilter_,\n hitTolerance: this.hitTolerance_,\n });\n for (var i = features.getLength() - 1; i >= 0; --i) {\n var feature = features.item(i);\n var index = selected.indexOf(feature);\n if (index > -1) {\n // feature is already selected\n selected.splice(index, 1);\n }\n else {\n features.remove(feature);\n deselected.push(feature);\n }\n }\n if (selected.length !== 0) {\n features.extend(selected);\n }\n }\n else {\n // Modify the currently selected feature(s).\n map.forEachFeatureAtPixel(mapBrowserEvent.pixel, \n /**\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n * @param {import(\"../layer/Layer.js\").default} layer Layer.\n * @return {boolean|undefined} Continue to iterate over the features.\n */\n function (feature, layer) {\n if (this.filter_(feature, layer)) {\n if ((add || toggle) && !includes(features.getArray(), feature)) {\n this.addFeatureLayerAssociation_(feature, layer);\n selected.push(feature);\n }\n else if ((remove || toggle) &&\n includes(features.getArray(), feature)) {\n deselected.push(feature);\n this.removeFeatureLayerAssociation_(feature);\n }\n return !this.multi_;\n }\n }.bind(this), {\n layerFilter: this.layerFilter_,\n hitTolerance: this.hitTolerance_,\n });\n for (var j = deselected.length - 1; j >= 0; --j) {\n features.remove(deselected[j]);\n }\n features.extend(selected);\n }\n if (selected.length > 0 || deselected.length > 0) {\n this.dispatchEvent(new SelectEvent(SelectEventType.SELECT, selected, deselected, mapBrowserEvent));\n }\n return true;\n };\n return Select;\n}(Interaction));\n/**\n * @return {import(\"../style/Style.js\").StyleFunction} Styles.\n */\nfunction getDefaultStyleFunction() {\n var styles = createEditingStyle();\n extend(styles['Polygon'], styles['LineString']);\n extend(styles['GeometryCollection'], styles['LineString']);\n return function (feature) {\n if (!feature.getGeometry()) {\n return null;\n }\n return styles[feature.getGeometry().getType()];\n };\n}\nexport default Select;\n//# sourceMappingURL=Select.js.map","/**\n * @module ol/source/XYZ\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport TileImage from './TileImage.js';\nimport { createXYZ, extentFromProjection } from '../tilegrid.js';\n/**\n * @typedef {Object} Options\n * @property {import(\"./Source.js\").AttributionLike} [attributions] Attributions.\n * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible.\n * @property {number} [cacheSize] Initial tile cache size. Will auto-grow to hold at least the number of tiles in the viewport.\n * @property {null|string} [crossOrigin] The `crossOrigin` attribute for loaded images. Note that\n * you must provide a `crossOrigin` value if you want to access pixel data with the Canvas renderer.\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.\n * @property {boolean} [imageSmoothing=true] Deprecated. Use the `interpolate` option instead.\n * @property {boolean} [interpolate=true] Use interpolated values when resampling. By default,\n * linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.\n * @property {boolean} [opaque=false] Whether the layer is opaque.\n * @property {import(\"../proj.js\").ProjectionLike} [projection='EPSG:3857'] Projection.\n * @property {number} [reprojectionErrorThreshold=0.5] Maximum allowed reprojection error (in pixels).\n * Higher values can increase reprojection performance, but decrease precision.\n * @property {number} [maxZoom=42] Optional max zoom level. Not used if `tileGrid` is provided.\n * @property {number} [minZoom=0] Optional min zoom level. Not used if `tileGrid` is provided.\n * @property {number} [maxResolution] Optional tile grid resolution at level zero. Not used if `tileGrid` is provided.\n * @property {import(\"../tilegrid/TileGrid.js\").default} [tileGrid] Tile grid.\n * @property {import(\"../Tile.js\").LoadFunction} [tileLoadFunction] Optional function to load a tile given a URL. The default is\n * ```js\n * function(imageTile, src) {\n * imageTile.getImage().src = src;\n * };\n * ```\n * @property {number} [tilePixelRatio=1] The pixel ratio used by the tile service.\n * For example, if the tile service advertizes 256px by 256px tiles but actually sends 512px\n * by 512px images (for retina/hidpi devices) then `tilePixelRatio`\n * should be set to `2`.\n * @property {number|import(\"../size.js\").Size} [tileSize=[256, 256]] The tile size used by the tile service.\n * Not used if `tileGrid` is provided.\n * @property {number} [gutter=0] The size in pixels of the gutter around image tiles to ignore.\n * This allows artifacts of rendering at tile edges to be ignored.\n * Supported images should be wider and taller than the tile size by a value of `2 x gutter`.\n * @property {import(\"../Tile.js\").UrlFunction} [tileUrlFunction] Optional function to get\n * tile URL given a tile coordinate and the projection.\n * Required if `url` or `urls` are not provided.\n * @property {string} [url] URL template. Must include `{x}`, `{y}` or `{-y}`,\n * and `{z}` placeholders. A `{?-?}` template pattern, for example `subdomain{a-f}.domain.com`,\n * may be used instead of defining each one separately in the `urls` option.\n * @property {Array} [urls] An array of URL templates.\n * @property {boolean} [wrapX=true] Whether to wrap the world horizontally.\n * @property {number} [transition=250] Duration of the opacity transition for rendering.\n * To disable the opacity transition, pass `transition: 0`.\n * @property {number|import(\"../array.js\").NearestDirectionFunction} [zDirection=0]\n * Choose whether to use tiles with a higher or lower zoom level when between integer\n * zoom levels. See {@link module:ol/tilegrid/TileGrid~TileGrid#getZForResolution}.\n */\n/**\n * @classdesc\n * Layer source for tile data with URLs in a set XYZ format that are\n * defined in a URL template. By default, this follows the widely-used\n * Google grid where `x` 0 and `y` 0 are in the top left. Grids like\n * TMS where `x` 0 and `y` 0 are in the bottom left can be used by\n * using the `{-y}` placeholder in the URL template, so long as the\n * source does not have a custom tile grid. In this case\n * a `tileUrlFunction` can be used, such as:\n * ```js\n * tileUrlFunction: function(coordinate) {\n * return 'http://mapserver.com/' + coordinate[0] + '/' +\n * coordinate[1] + '/' + (-coordinate[2] - 1) + '.png';\n * }\n * ```\n * @api\n */\nvar XYZ = /** @class */ (function (_super) {\n __extends(XYZ, _super);\n /**\n * @param {Options} [opt_options] XYZ options.\n */\n function XYZ(opt_options) {\n var _this = this;\n var options = opt_options || {};\n var interpolate = options.imageSmoothing !== undefined ? options.imageSmoothing : true;\n if (options.interpolate !== undefined) {\n interpolate = options.interpolate;\n }\n var projection = options.projection !== undefined ? options.projection : 'EPSG:3857';\n var tileGrid = options.tileGrid !== undefined\n ? options.tileGrid\n : createXYZ({\n extent: extentFromProjection(projection),\n maxResolution: options.maxResolution,\n maxZoom: options.maxZoom,\n minZoom: options.minZoom,\n tileSize: options.tileSize,\n });\n _this = _super.call(this, {\n attributions: options.attributions,\n cacheSize: options.cacheSize,\n crossOrigin: options.crossOrigin,\n interpolate: interpolate,\n opaque: options.opaque,\n projection: projection,\n reprojectionErrorThreshold: options.reprojectionErrorThreshold,\n tileGrid: tileGrid,\n tileLoadFunction: options.tileLoadFunction,\n tilePixelRatio: options.tilePixelRatio,\n tileUrlFunction: options.tileUrlFunction,\n url: options.url,\n urls: options.urls,\n wrapX: options.wrapX !== undefined ? options.wrapX : true,\n transition: options.transition,\n attributionsCollapsible: options.attributionsCollapsible,\n zDirection: options.zDirection,\n }) || this;\n /**\n * @private\n * @type {number}\n */\n _this.gutter_ = options.gutter !== undefined ? options.gutter : 0;\n return _this;\n }\n /**\n * @return {number} Gutter.\n */\n XYZ.prototype.getGutter = function () {\n return this.gutter_;\n };\n return XYZ;\n}(TileImage));\nexport default XYZ;\n//# sourceMappingURL=XYZ.js.map","/**\n * @module ol/reproj/Triangulation\n */\nimport { boundingExtent, createEmpty, extendCoordinate, getArea, getBottomLeft, getBottomRight, getTopLeft, getTopRight, getWidth, intersects, } from '../extent.js';\nimport { getTransform } from '../proj.js';\nimport { log2, modulo } from '../math.js';\n/**\n * Single triangle; consists of 3 source points and 3 target points.\n * @typedef {Object} Triangle\n * @property {Array} source Source.\n * @property {Array} target Target.\n */\n/**\n * Maximum number of subdivision steps during raster reprojection triangulation.\n * Prevents high memory usage and large number of proj4 calls (for certain\n * transformations and areas). At most `2*(2^this)` triangles are created for\n * each triangulated extent (tile/image).\n * @type {number}\n */\nvar MAX_SUBDIVISION = 10;\n/**\n * Maximum allowed size of triangle relative to world width. When transforming\n * corners of world extent between certain projections, the resulting\n * triangulation seems to have zero error and no subdivision is performed. If\n * the triangle width is more than this (relative to world width; 0-1),\n * subdivison is forced (up to `MAX_SUBDIVISION`). Default is `0.25`.\n * @type {number}\n */\nvar MAX_TRIANGLE_WIDTH = 0.25;\n/**\n * @classdesc\n * Class containing triangulation of the given target extent.\n * Used for determining source data and the reprojection itself.\n */\nvar Triangulation = /** @class */ (function () {\n /**\n * @param {import(\"../proj/Projection.js\").default} sourceProj Source projection.\n * @param {import(\"../proj/Projection.js\").default} targetProj Target projection.\n * @param {import(\"../extent.js\").Extent} targetExtent Target extent to triangulate.\n * @param {import(\"../extent.js\").Extent} maxSourceExtent Maximal source extent that can be used.\n * @param {number} errorThreshold Acceptable error (in source units).\n * @param {?number} opt_destinationResolution The (optional) resolution of the destination.\n */\n function Triangulation(sourceProj, targetProj, targetExtent, maxSourceExtent, errorThreshold, opt_destinationResolution) {\n /**\n * @type {import(\"../proj/Projection.js\").default}\n * @private\n */\n this.sourceProj_ = sourceProj;\n /**\n * @type {import(\"../proj/Projection.js\").default}\n * @private\n */\n this.targetProj_ = targetProj;\n /** @type {!Object} */\n var transformInvCache = {};\n var transformInv = getTransform(this.targetProj_, this.sourceProj_);\n /**\n * @param {import(\"../coordinate.js\").Coordinate} c A coordinate.\n * @return {import(\"../coordinate.js\").Coordinate} Transformed coordinate.\n * @private\n */\n this.transformInv_ = function (c) {\n var key = c[0] + '/' + c[1];\n if (!transformInvCache[key]) {\n transformInvCache[key] = transformInv(c);\n }\n return transformInvCache[key];\n };\n /**\n * @type {import(\"../extent.js\").Extent}\n * @private\n */\n this.maxSourceExtent_ = maxSourceExtent;\n /**\n * @type {number}\n * @private\n */\n this.errorThresholdSquared_ = errorThreshold * errorThreshold;\n /**\n * @type {Array}\n * @private\n */\n this.triangles_ = [];\n /**\n * Indicates that the triangulation crosses edge of the source projection.\n * @type {boolean}\n * @private\n */\n this.wrapsXInSource_ = false;\n /**\n * @type {boolean}\n * @private\n */\n this.canWrapXInSource_ =\n this.sourceProj_.canWrapX() &&\n !!maxSourceExtent &&\n !!this.sourceProj_.getExtent() &&\n getWidth(maxSourceExtent) == getWidth(this.sourceProj_.getExtent());\n /**\n * @type {?number}\n * @private\n */\n this.sourceWorldWidth_ = this.sourceProj_.getExtent()\n ? getWidth(this.sourceProj_.getExtent())\n : null;\n /**\n * @type {?number}\n * @private\n */\n this.targetWorldWidth_ = this.targetProj_.getExtent()\n ? getWidth(this.targetProj_.getExtent())\n : null;\n var destinationTopLeft = getTopLeft(targetExtent);\n var destinationTopRight = getTopRight(targetExtent);\n var destinationBottomRight = getBottomRight(targetExtent);\n var destinationBottomLeft = getBottomLeft(targetExtent);\n var sourceTopLeft = this.transformInv_(destinationTopLeft);\n var sourceTopRight = this.transformInv_(destinationTopRight);\n var sourceBottomRight = this.transformInv_(destinationBottomRight);\n var sourceBottomLeft = this.transformInv_(destinationBottomLeft);\n /*\n * The maxSubdivision controls how many splittings of the target area can\n * be done. The idea here is to do a linear mapping of the target areas\n * but the actual overal reprojection (can be) extremely non-linear. The\n * default value of MAX_SUBDIVISION was chosen based on mapping a 256x256\n * tile size. However this function is also called to remap canvas rendered\n * layers which can be much larger. This calculation increases the maxSubdivision\n * value by the right factor so that each 256x256 pixel area has\n * MAX_SUBDIVISION divisions.\n */\n var maxSubdivision = MAX_SUBDIVISION +\n (opt_destinationResolution\n ? Math.max(0, Math.ceil(log2(getArea(targetExtent) /\n (opt_destinationResolution *\n opt_destinationResolution *\n 256 *\n 256))))\n : 0);\n this.addQuad_(destinationTopLeft, destinationTopRight, destinationBottomRight, destinationBottomLeft, sourceTopLeft, sourceTopRight, sourceBottomRight, sourceBottomLeft, maxSubdivision);\n if (this.wrapsXInSource_) {\n var leftBound_1 = Infinity;\n this.triangles_.forEach(function (triangle, i, arr) {\n leftBound_1 = Math.min(leftBound_1, triangle.source[0][0], triangle.source[1][0], triangle.source[2][0]);\n });\n // Shift triangles to be as close to `leftBound` as possible\n // (if the distance is more than `worldWidth / 2` it can be closer.\n this.triangles_.forEach(function (triangle) {\n if (Math.max(triangle.source[0][0], triangle.source[1][0], triangle.source[2][0]) -\n leftBound_1 >\n this.sourceWorldWidth_ / 2) {\n var newTriangle = [\n [triangle.source[0][0], triangle.source[0][1]],\n [triangle.source[1][0], triangle.source[1][1]],\n [triangle.source[2][0], triangle.source[2][1]],\n ];\n if (newTriangle[0][0] - leftBound_1 > this.sourceWorldWidth_ / 2) {\n newTriangle[0][0] -= this.sourceWorldWidth_;\n }\n if (newTriangle[1][0] - leftBound_1 > this.sourceWorldWidth_ / 2) {\n newTriangle[1][0] -= this.sourceWorldWidth_;\n }\n if (newTriangle[2][0] - leftBound_1 > this.sourceWorldWidth_ / 2) {\n newTriangle[2][0] -= this.sourceWorldWidth_;\n }\n // Rarely (if the extent contains both the dateline and prime meridian)\n // the shift can in turn break some triangles.\n // Detect this here and don't shift in such cases.\n var minX = Math.min(newTriangle[0][0], newTriangle[1][0], newTriangle[2][0]);\n var maxX = Math.max(newTriangle[0][0], newTriangle[1][0], newTriangle[2][0]);\n if (maxX - minX < this.sourceWorldWidth_ / 2) {\n triangle.source = newTriangle;\n }\n }\n }.bind(this));\n }\n transformInvCache = {};\n }\n /**\n * Adds triangle to the triangulation.\n * @param {import(\"../coordinate.js\").Coordinate} a The target a coordinate.\n * @param {import(\"../coordinate.js\").Coordinate} b The target b coordinate.\n * @param {import(\"../coordinate.js\").Coordinate} c The target c coordinate.\n * @param {import(\"../coordinate.js\").Coordinate} aSrc The source a coordinate.\n * @param {import(\"../coordinate.js\").Coordinate} bSrc The source b coordinate.\n * @param {import(\"../coordinate.js\").Coordinate} cSrc The source c coordinate.\n * @private\n */\n Triangulation.prototype.addTriangle_ = function (a, b, c, aSrc, bSrc, cSrc) {\n this.triangles_.push({\n source: [aSrc, bSrc, cSrc],\n target: [a, b, c],\n });\n };\n /**\n * Adds quad (points in clock-wise order) to the triangulation\n * (and reprojects the vertices) if valid.\n * Performs quad subdivision if needed to increase precision.\n *\n * @param {import(\"../coordinate.js\").Coordinate} a The target a coordinate.\n * @param {import(\"../coordinate.js\").Coordinate} b The target b coordinate.\n * @param {import(\"../coordinate.js\").Coordinate} c The target c coordinate.\n * @param {import(\"../coordinate.js\").Coordinate} d The target d coordinate.\n * @param {import(\"../coordinate.js\").Coordinate} aSrc The source a coordinate.\n * @param {import(\"../coordinate.js\").Coordinate} bSrc The source b coordinate.\n * @param {import(\"../coordinate.js\").Coordinate} cSrc The source c coordinate.\n * @param {import(\"../coordinate.js\").Coordinate} dSrc The source d coordinate.\n * @param {number} maxSubdivision Maximal allowed subdivision of the quad.\n * @private\n */\n Triangulation.prototype.addQuad_ = function (a, b, c, d, aSrc, bSrc, cSrc, dSrc, maxSubdivision) {\n var sourceQuadExtent = boundingExtent([aSrc, bSrc, cSrc, dSrc]);\n var sourceCoverageX = this.sourceWorldWidth_\n ? getWidth(sourceQuadExtent) / this.sourceWorldWidth_\n : null;\n var sourceWorldWidth = /** @type {number} */ (this.sourceWorldWidth_);\n // when the quad is wrapped in the source projection\n // it covers most of the projection extent, but not fully\n var wrapsX = this.sourceProj_.canWrapX() &&\n sourceCoverageX > 0.5 &&\n sourceCoverageX < 1;\n var needsSubdivision = false;\n if (maxSubdivision > 0) {\n if (this.targetProj_.isGlobal() && this.targetWorldWidth_) {\n var targetQuadExtent = boundingExtent([a, b, c, d]);\n var targetCoverageX = getWidth(targetQuadExtent) / this.targetWorldWidth_;\n needsSubdivision =\n targetCoverageX > MAX_TRIANGLE_WIDTH || needsSubdivision;\n }\n if (!wrapsX && this.sourceProj_.isGlobal() && sourceCoverageX) {\n needsSubdivision =\n sourceCoverageX > MAX_TRIANGLE_WIDTH || needsSubdivision;\n }\n }\n if (!needsSubdivision && this.maxSourceExtent_) {\n if (isFinite(sourceQuadExtent[0]) &&\n isFinite(sourceQuadExtent[1]) &&\n isFinite(sourceQuadExtent[2]) &&\n isFinite(sourceQuadExtent[3])) {\n if (!intersects(sourceQuadExtent, this.maxSourceExtent_)) {\n // whole quad outside source projection extent -> ignore\n return;\n }\n }\n }\n var isNotFinite = 0;\n if (!needsSubdivision) {\n if (!isFinite(aSrc[0]) ||\n !isFinite(aSrc[1]) ||\n !isFinite(bSrc[0]) ||\n !isFinite(bSrc[1]) ||\n !isFinite(cSrc[0]) ||\n !isFinite(cSrc[1]) ||\n !isFinite(dSrc[0]) ||\n !isFinite(dSrc[1])) {\n if (maxSubdivision > 0) {\n needsSubdivision = true;\n }\n else {\n // It might be the case that only 1 of the points is infinite. In this case\n // we can draw a single triangle with the other three points\n isNotFinite =\n (!isFinite(aSrc[0]) || !isFinite(aSrc[1]) ? 8 : 0) +\n (!isFinite(bSrc[0]) || !isFinite(bSrc[1]) ? 4 : 0) +\n (!isFinite(cSrc[0]) || !isFinite(cSrc[1]) ? 2 : 0) +\n (!isFinite(dSrc[0]) || !isFinite(dSrc[1]) ? 1 : 0);\n if (isNotFinite != 1 &&\n isNotFinite != 2 &&\n isNotFinite != 4 &&\n isNotFinite != 8) {\n return;\n }\n }\n }\n }\n if (maxSubdivision > 0) {\n if (!needsSubdivision) {\n var center = [(a[0] + c[0]) / 2, (a[1] + c[1]) / 2];\n var centerSrc = this.transformInv_(center);\n var dx = void 0;\n if (wrapsX) {\n var centerSrcEstimX = (modulo(aSrc[0], sourceWorldWidth) +\n modulo(cSrc[0], sourceWorldWidth)) /\n 2;\n dx = centerSrcEstimX - modulo(centerSrc[0], sourceWorldWidth);\n }\n else {\n dx = (aSrc[0] + cSrc[0]) / 2 - centerSrc[0];\n }\n var dy = (aSrc[1] + cSrc[1]) / 2 - centerSrc[1];\n var centerSrcErrorSquared = dx * dx + dy * dy;\n needsSubdivision = centerSrcErrorSquared > this.errorThresholdSquared_;\n }\n if (needsSubdivision) {\n if (Math.abs(a[0] - c[0]) <= Math.abs(a[1] - c[1])) {\n // split horizontally (top & bottom)\n var bc = [(b[0] + c[0]) / 2, (b[1] + c[1]) / 2];\n var bcSrc = this.transformInv_(bc);\n var da = [(d[0] + a[0]) / 2, (d[1] + a[1]) / 2];\n var daSrc = this.transformInv_(da);\n this.addQuad_(a, b, bc, da, aSrc, bSrc, bcSrc, daSrc, maxSubdivision - 1);\n this.addQuad_(da, bc, c, d, daSrc, bcSrc, cSrc, dSrc, maxSubdivision - 1);\n }\n else {\n // split vertically (left & right)\n var ab = [(a[0] + b[0]) / 2, (a[1] + b[1]) / 2];\n var abSrc = this.transformInv_(ab);\n var cd = [(c[0] + d[0]) / 2, (c[1] + d[1]) / 2];\n var cdSrc = this.transformInv_(cd);\n this.addQuad_(a, ab, cd, d, aSrc, abSrc, cdSrc, dSrc, maxSubdivision - 1);\n this.addQuad_(ab, b, c, cd, abSrc, bSrc, cSrc, cdSrc, maxSubdivision - 1);\n }\n return;\n }\n }\n if (wrapsX) {\n if (!this.canWrapXInSource_) {\n return;\n }\n this.wrapsXInSource_ = true;\n }\n // Exactly zero or one of *Src is not finite\n // The triangles must have the diagonal line as the first side\n // This is to allow easy code in reproj.s to make it straight for broken\n // browsers that can't handle diagonal clipping\n if ((isNotFinite & 0xb) == 0) {\n this.addTriangle_(a, c, d, aSrc, cSrc, dSrc);\n }\n if ((isNotFinite & 0xe) == 0) {\n this.addTriangle_(a, c, b, aSrc, cSrc, bSrc);\n }\n if (isNotFinite) {\n // Try the other two triangles\n if ((isNotFinite & 0xd) == 0) {\n this.addTriangle_(b, d, a, bSrc, dSrc, aSrc);\n }\n if ((isNotFinite & 0x7) == 0) {\n this.addTriangle_(b, d, c, bSrc, dSrc, cSrc);\n }\n }\n };\n /**\n * Calculates extent of the `source` coordinates from all the triangles.\n *\n * @return {import(\"../extent.js\").Extent} Calculated extent.\n */\n Triangulation.prototype.calculateSourceExtent = function () {\n var extent = createEmpty();\n this.triangles_.forEach(function (triangle, i, arr) {\n var src = triangle.source;\n extendCoordinate(extent, src[0]);\n extendCoordinate(extent, src[1]);\n extendCoordinate(extent, src[2]);\n });\n return extent;\n };\n /**\n * @return {Array} Array of the calculated triangles.\n */\n Triangulation.prototype.getTriangles = function () {\n return this.triangles_;\n };\n return Triangulation;\n}());\nexport default Triangulation;\n//# sourceMappingURL=Triangulation.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/reproj/Tile\n */\nimport { ERROR_THRESHOLD } from './common.js';\nimport EventType from '../events/EventType.js';\nimport Tile from '../Tile.js';\nimport TileState from '../TileState.js';\nimport Triangulation from './Triangulation.js';\nimport { calculateSourceExtentResolution, canvasPool, render as renderReprojected, } from '../reproj.js';\nimport { clamp } from '../math.js';\nimport { getArea, getIntersection } from '../extent.js';\nimport { listen, unlistenByKey } from '../events.js';\nimport { releaseCanvas } from '../dom.js';\n/**\n * @typedef {function(number, number, number, number) : import(\"../Tile.js\").default} FunctionType\n */\n/**\n * @classdesc\n * Class encapsulating single reprojected tile.\n * See {@link module:ol/source/TileImage~TileImage}.\n *\n */\nvar ReprojTile = /** @class */ (function (_super) {\n __extends(ReprojTile, _super);\n /**\n * @param {import(\"../proj/Projection.js\").default} sourceProj Source projection.\n * @param {import(\"../tilegrid/TileGrid.js\").default} sourceTileGrid Source tile grid.\n * @param {import(\"../proj/Projection.js\").default} targetProj Target projection.\n * @param {import(\"../tilegrid/TileGrid.js\").default} targetTileGrid Target tile grid.\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Coordinate of the tile.\n * @param {import(\"../tilecoord.js\").TileCoord} wrappedTileCoord Coordinate of the tile wrapped in X.\n * @param {number} pixelRatio Pixel ratio.\n * @param {number} gutter Gutter of the source tiles.\n * @param {FunctionType} getTileFunction\n * Function returning source tiles (z, x, y, pixelRatio).\n * @param {number} [opt_errorThreshold] Acceptable reprojection error (in px).\n * @param {boolean} [opt_renderEdges] Render reprojection edges.\n * @param {boolean} [opt_interpolate] Use linear interpolation when resampling.\n */\n function ReprojTile(sourceProj, sourceTileGrid, targetProj, targetTileGrid, tileCoord, wrappedTileCoord, pixelRatio, gutter, getTileFunction, opt_errorThreshold, opt_renderEdges, opt_interpolate) {\n var _this = _super.call(this, tileCoord, TileState.IDLE, { interpolate: !!opt_interpolate }) || this;\n /**\n * @private\n * @type {boolean}\n */\n _this.renderEdges_ = opt_renderEdges !== undefined ? opt_renderEdges : false;\n /**\n * @private\n * @type {number}\n */\n _this.pixelRatio_ = pixelRatio;\n /**\n * @private\n * @type {number}\n */\n _this.gutter_ = gutter;\n /**\n * @private\n * @type {HTMLCanvasElement}\n */\n _this.canvas_ = null;\n /**\n * @private\n * @type {import(\"../tilegrid/TileGrid.js\").default}\n */\n _this.sourceTileGrid_ = sourceTileGrid;\n /**\n * @private\n * @type {import(\"../tilegrid/TileGrid.js\").default}\n */\n _this.targetTileGrid_ = targetTileGrid;\n /**\n * @private\n * @type {import(\"../tilecoord.js\").TileCoord}\n */\n _this.wrappedTileCoord_ = wrappedTileCoord ? wrappedTileCoord : tileCoord;\n /**\n * @private\n * @type {!Array}\n */\n _this.sourceTiles_ = [];\n /**\n * @private\n * @type {?Array}\n */\n _this.sourcesListenerKeys_ = null;\n /**\n * @private\n * @type {number}\n */\n _this.sourceZ_ = 0;\n var targetExtent = targetTileGrid.getTileCoordExtent(_this.wrappedTileCoord_);\n var maxTargetExtent = _this.targetTileGrid_.getExtent();\n var maxSourceExtent = _this.sourceTileGrid_.getExtent();\n var limitedTargetExtent = maxTargetExtent\n ? getIntersection(targetExtent, maxTargetExtent)\n : targetExtent;\n if (getArea(limitedTargetExtent) === 0) {\n // Tile is completely outside range -> EMPTY\n // TODO: is it actually correct that the source even creates the tile ?\n _this.state = TileState.EMPTY;\n return _this;\n }\n var sourceProjExtent = sourceProj.getExtent();\n if (sourceProjExtent) {\n if (!maxSourceExtent) {\n maxSourceExtent = sourceProjExtent;\n }\n else {\n maxSourceExtent = getIntersection(maxSourceExtent, sourceProjExtent);\n }\n }\n var targetResolution = targetTileGrid.getResolution(_this.wrappedTileCoord_[0]);\n var sourceResolution = calculateSourceExtentResolution(sourceProj, targetProj, limitedTargetExtent, targetResolution);\n if (!isFinite(sourceResolution) || sourceResolution <= 0) {\n // invalid sourceResolution -> EMPTY\n // probably edges of the projections when no extent is defined\n _this.state = TileState.EMPTY;\n return _this;\n }\n var errorThresholdInPixels = opt_errorThreshold !== undefined ? opt_errorThreshold : ERROR_THRESHOLD;\n /**\n * @private\n * @type {!import(\"./Triangulation.js\").default}\n */\n _this.triangulation_ = new Triangulation(sourceProj, targetProj, limitedTargetExtent, maxSourceExtent, sourceResolution * errorThresholdInPixels, targetResolution);\n if (_this.triangulation_.getTriangles().length === 0) {\n // no valid triangles -> EMPTY\n _this.state = TileState.EMPTY;\n return _this;\n }\n _this.sourceZ_ = sourceTileGrid.getZForResolution(sourceResolution);\n var sourceExtent = _this.triangulation_.calculateSourceExtent();\n if (maxSourceExtent) {\n if (sourceProj.canWrapX()) {\n sourceExtent[1] = clamp(sourceExtent[1], maxSourceExtent[1], maxSourceExtent[3]);\n sourceExtent[3] = clamp(sourceExtent[3], maxSourceExtent[1], maxSourceExtent[3]);\n }\n else {\n sourceExtent = getIntersection(sourceExtent, maxSourceExtent);\n }\n }\n if (!getArea(sourceExtent)) {\n _this.state = TileState.EMPTY;\n }\n else {\n var sourceRange = sourceTileGrid.getTileRangeForExtentAndZ(sourceExtent, _this.sourceZ_);\n for (var srcX = sourceRange.minX; srcX <= sourceRange.maxX; srcX++) {\n for (var srcY = sourceRange.minY; srcY <= sourceRange.maxY; srcY++) {\n var tile = getTileFunction(_this.sourceZ_, srcX, srcY, pixelRatio);\n if (tile) {\n _this.sourceTiles_.push(tile);\n }\n }\n }\n if (_this.sourceTiles_.length === 0) {\n _this.state = TileState.EMPTY;\n }\n }\n return _this;\n }\n /**\n * Get the HTML Canvas element for this tile.\n * @return {HTMLCanvasElement} Canvas.\n */\n ReprojTile.prototype.getImage = function () {\n return this.canvas_;\n };\n /**\n * @private\n */\n ReprojTile.prototype.reproject_ = function () {\n var sources = [];\n this.sourceTiles_.forEach(function (tile, i, arr) {\n if (tile && tile.getState() == TileState.LOADED) {\n sources.push({\n extent: this.sourceTileGrid_.getTileCoordExtent(tile.tileCoord),\n image: tile.getImage(),\n });\n }\n }.bind(this));\n this.sourceTiles_.length = 0;\n if (sources.length === 0) {\n this.state = TileState.ERROR;\n }\n else {\n var z = this.wrappedTileCoord_[0];\n var size = this.targetTileGrid_.getTileSize(z);\n var width = typeof size === 'number' ? size : size[0];\n var height = typeof size === 'number' ? size : size[1];\n var targetResolution = this.targetTileGrid_.getResolution(z);\n var sourceResolution = this.sourceTileGrid_.getResolution(this.sourceZ_);\n var targetExtent = this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);\n this.canvas_ = renderReprojected(width, height, this.pixelRatio_, sourceResolution, this.sourceTileGrid_.getExtent(), targetResolution, targetExtent, this.triangulation_, sources, this.gutter_, this.renderEdges_, this.interpolate);\n this.state = TileState.LOADED;\n }\n this.changed();\n };\n /**\n * Load not yet loaded URI.\n */\n ReprojTile.prototype.load = function () {\n if (this.state == TileState.IDLE) {\n this.state = TileState.LOADING;\n this.changed();\n var leftToLoad_1 = 0;\n this.sourcesListenerKeys_ = [];\n this.sourceTiles_.forEach(function (tile, i, arr) {\n var state = tile.getState();\n if (state == TileState.IDLE || state == TileState.LOADING) {\n leftToLoad_1++;\n var sourceListenKey_1 = listen(tile, EventType.CHANGE, function (e) {\n var state = tile.getState();\n if (state == TileState.LOADED ||\n state == TileState.ERROR ||\n state == TileState.EMPTY) {\n unlistenByKey(sourceListenKey_1);\n leftToLoad_1--;\n if (leftToLoad_1 === 0) {\n this.unlistenSources_();\n this.reproject_();\n }\n }\n }, this);\n this.sourcesListenerKeys_.push(sourceListenKey_1);\n }\n }.bind(this));\n if (leftToLoad_1 === 0) {\n setTimeout(this.reproject_.bind(this), 0);\n }\n else {\n this.sourceTiles_.forEach(function (tile, i, arr) {\n var state = tile.getState();\n if (state == TileState.IDLE) {\n tile.load();\n }\n });\n }\n }\n };\n /**\n * @private\n */\n ReprojTile.prototype.unlistenSources_ = function () {\n this.sourcesListenerKeys_.forEach(unlistenByKey);\n this.sourcesListenerKeys_ = null;\n };\n /**\n * Remove from the cache due to expiry\n */\n ReprojTile.prototype.release = function () {\n if (this.canvas_) {\n releaseCanvas(this.canvas_.getContext('2d'));\n canvasPool.push(this.canvas_);\n this.canvas_ = null;\n }\n _super.prototype.release.call(this);\n };\n return ReprojTile;\n}(Tile));\nexport default ReprojTile;\n//# sourceMappingURL=Tile.js.map","// Current version.\nexport var VERSION = '1.13.6';\n\n// Establish the root object, `window` (`self`) in the browser, `global`\n// on the server, or `this` in some virtual machines. We use `self`\n// instead of `window` for `WebWorker` support.\nexport var root = (typeof self == 'object' && self.self === self && self) ||\n (typeof global == 'object' && global.global === global && global) ||\n Function('return this')() ||\n {};\n\n// Save bytes in the minified (but not gzipped) version:\nexport var ArrayProto = Array.prototype, ObjProto = Object.prototype;\nexport var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;\n\n// Create quick reference variables for speed access to core prototypes.\nexport var push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n// Modern feature detection.\nexport var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined',\n supportsDataView = typeof DataView !== 'undefined';\n\n// All **ECMAScript 5+** native function implementations that we hope to use\n// are declared here.\nexport var nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeCreate = Object.create,\n nativeIsView = supportsArrayBuffer && ArrayBuffer.isView;\n\n// Create references to these builtin functions because we override them.\nexport var _isNaN = isNaN,\n _isFinite = isFinite;\n\n// Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\nexport var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\nexport var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n// The largest integer that can be represented exactly.\nexport var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n","\"use strict\";\r\n/**\r\n * dd-resizable-handle.ts 7.3.0\r\n * Copyright (c) 2021-2022 Alain Dumesny - see GridStack root license\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DDResizableHandle = void 0;\r\nconst dd_touch_1 = require(\"./dd-touch\");\r\nclass DDResizableHandle {\r\n constructor(host, direction, option) {\r\n /** @internal true after we've moved enough pixels to start a resize */\r\n this.moving = false;\r\n this.host = host;\r\n this.dir = direction;\r\n this.option = option;\r\n // create var event binding so we can easily remove and still look like TS methods (unlike anonymous functions)\r\n this._mouseDown = this._mouseDown.bind(this);\r\n this._mouseMove = this._mouseMove.bind(this);\r\n this._mouseUp = this._mouseUp.bind(this);\r\n this._init();\r\n }\r\n /** @internal */\r\n _init() {\r\n const el = document.createElement('div');\r\n el.classList.add('ui-resizable-handle');\r\n el.classList.add(`${DDResizableHandle.prefix}${this.dir}`);\r\n el.style.zIndex = '100';\r\n el.style.userSelect = 'none';\r\n this.el = el;\r\n this.host.appendChild(this.el);\r\n this.el.addEventListener('mousedown', this._mouseDown);\r\n if (dd_touch_1.isTouch) {\r\n this.el.addEventListener('touchstart', dd_touch_1.touchstart);\r\n this.el.addEventListener('pointerdown', dd_touch_1.pointerdown);\r\n // this.el.style.touchAction = 'none'; // not needed unlike pointerdown doc comment\r\n }\r\n return this;\r\n }\r\n /** call this when resize handle needs to be removed and cleaned up */\r\n destroy() {\r\n if (this.moving)\r\n this._mouseUp(this.mouseDownEvent);\r\n this.el.removeEventListener('mousedown', this._mouseDown);\r\n if (dd_touch_1.isTouch) {\r\n this.el.removeEventListener('touchstart', dd_touch_1.touchstart);\r\n this.el.removeEventListener('pointerdown', dd_touch_1.pointerdown);\r\n }\r\n this.host.removeChild(this.el);\r\n delete this.el;\r\n delete this.host;\r\n return this;\r\n }\r\n /** @internal called on mouse down on us: capture move on the entire document (mouse might not stay on us) until we release the mouse */\r\n _mouseDown(e) {\r\n this.mouseDownEvent = e;\r\n document.addEventListener('mousemove', this._mouseMove, true); // capture, not bubble\r\n document.addEventListener('mouseup', this._mouseUp, true);\r\n if (dd_touch_1.isTouch) {\r\n this.el.addEventListener('touchmove', dd_touch_1.touchmove);\r\n this.el.addEventListener('touchend', dd_touch_1.touchend);\r\n }\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n /** @internal */\r\n _mouseMove(e) {\r\n let s = this.mouseDownEvent;\r\n if (this.moving) {\r\n this._triggerEvent('move', e);\r\n }\r\n else if (Math.abs(e.x - s.x) + Math.abs(e.y - s.y) > 2) {\r\n // don't start unless we've moved at least 3 pixels\r\n this.moving = true;\r\n this._triggerEvent('start', this.mouseDownEvent);\r\n this._triggerEvent('move', e);\r\n }\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n /** @internal */\r\n _mouseUp(e) {\r\n if (this.moving) {\r\n this._triggerEvent('stop', e);\r\n }\r\n document.removeEventListener('mousemove', this._mouseMove, true);\r\n document.removeEventListener('mouseup', this._mouseUp, true);\r\n if (dd_touch_1.isTouch) {\r\n this.el.removeEventListener('touchmove', dd_touch_1.touchmove);\r\n this.el.removeEventListener('touchend', dd_touch_1.touchend);\r\n }\r\n delete this.moving;\r\n delete this.mouseDownEvent;\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n /** @internal */\r\n _triggerEvent(name, event) {\r\n if (this.option[name])\r\n this.option[name](event);\r\n return this;\r\n }\r\n}\r\nexports.DDResizableHandle = DDResizableHandle;\r\n/** @internal */\r\nDDResizableHandle.prefix = 'ui-resizable-';\r\n//# sourceMappingURL=dd-resizable-handle.js.map","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport modules from \"../../grids/grid_core/m_modules\";\r\nexport default extend({}, modules, {\r\n modules: [],\r\n foreachNodes(nodes, callBack, ignoreHasChildren) {\r\n for (var i = 0; i < nodes.length; i++) {\r\n if (false !== callBack(nodes[i]) && (ignoreHasChildren || nodes[i].hasChildren) && nodes[i].children.length) {\r\n this.foreachNodes(nodes[i].children, callBack, ignoreHasChildren)\r\n }\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/column_headers.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnHeadersModule\r\n} from \"../../../grids/grid_core/column_headers/m_column_headers\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"columnHeaders\", columnHeadersModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_columns_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n columnsControllerModule\r\n} from \"../../grids/grid_core/columns_controller/m_columns_controller\";\r\nimport treeListCore from \"./m_core\";\r\nexport var ColumnsController = columnsControllerModule.controllers.columns.inherit({\r\n _getFirstItems(dataSourceAdapter) {\r\n return this.callBase(dataSourceAdapter).map(node => node.data)\r\n },\r\n getFirstDataColumnIndex() {\r\n var visibleColumns = this.getVisibleColumns();\r\n var visibleColumnsLength = visibleColumns.length;\r\n var firstDataColumnIndex = 0;\r\n for (var i = 0; i <= visibleColumnsLength - 1; i++) {\r\n if (!isDefined(visibleColumns[i].command)) {\r\n firstDataColumnIndex = visibleColumns[i].index;\r\n break\r\n }\r\n }\r\n return firstDataColumnIndex\r\n }\r\n});\r\ntreeListCore.registerModule(\"columns\", {\r\n defaultOptions: columnsControllerModule.defaultOptions,\r\n controllers: {\r\n columns: ColumnsController\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/data_source_adapter/m_data_source_adapter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n compileGetter,\r\n compileSetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../../../core/utils/type\";\r\nimport ArrayStore from \"../../../../data/array_store\";\r\nimport {\r\n createObjectWithChanges\r\n} from \"../../../../data/array_utils\";\r\nimport query from \"../../../../data/query\";\r\nimport storeHelper from \"../../../../data/store_helper\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport DataSourceAdapter from \"../../../grids/grid_core/data_source_adapter/m_data_source_adapter\";\r\nimport gridCoreUtils from \"../../../grids/grid_core/m_utils\";\r\nimport treeListCore from \"../m_core\";\r\nvar {\r\n queryByOptions: queryByOptions\r\n} = storeHelper;\r\nvar DEFAULT_KEY_EXPRESSION = \"id\";\r\nvar isFullBranchFilterMode = that => \"fullBranch\" === that.option(\"filterMode\");\r\nvar DataSourceAdapterTreeList = DataSourceAdapter.inherit({\r\n _createKeyGetter() {\r\n var keyExpr = this.getKeyExpr();\r\n return compileGetter(keyExpr)\r\n },\r\n _createKeySetter() {\r\n var keyExpr = this.getKeyExpr();\r\n if (isFunction(keyExpr)) {\r\n return keyExpr\r\n }\r\n return compileSetter(keyExpr)\r\n },\r\n createParentIdGetter() {\r\n return compileGetter(this.option(\"parentIdExpr\"))\r\n },\r\n createParentIdSetter() {\r\n var parentIdExpr = this.option(\"parentIdExpr\");\r\n if (isFunction(parentIdExpr)) {\r\n return parentIdExpr\r\n }\r\n return compileSetter(parentIdExpr)\r\n },\r\n _createItemsGetter() {\r\n return compileGetter(this.option(\"itemsExpr\"))\r\n },\r\n _createHasItemsGetter() {\r\n var hasItemsExpr = this.option(\"hasItemsExpr\");\r\n return hasItemsExpr && compileGetter(hasItemsExpr)\r\n },\r\n _createHasItemsSetter() {\r\n var hasItemsExpr = this.option(\"hasItemsExpr\");\r\n if (isFunction(hasItemsExpr)) {\r\n return hasItemsExpr\r\n }\r\n return hasItemsExpr && compileSetter(hasItemsExpr)\r\n },\r\n _updateIndexByKeyObject(items) {\r\n var that = this;\r\n that._indexByKey = {};\r\n each(items, (index, item) => {\r\n that._indexByKey[item.key] = index\r\n })\r\n },\r\n _calculateHasItems(node, options) {\r\n var {\r\n parentIds: parentIds\r\n } = options.storeLoadOptions;\r\n var hasItems;\r\n var isFullBranch = isFullBranchFilterMode(this);\r\n if (this._hasItemsGetter && (parentIds || !options.storeLoadOptions.filter || isFullBranch)) {\r\n hasItems = this._hasItemsGetter(node.data)\r\n }\r\n if (void 0 === hasItems) {\r\n if (!this._isChildrenLoaded[node.key] && options.remoteOperations.filtering && (parentIds || isFullBranch)) {\r\n hasItems = true\r\n } else if (options.loadOptions.filter && !options.remoteOperations.filtering && isFullBranch) {\r\n hasItems = node.children.length\r\n } else {\r\n hasItems = node.hasChildren\r\n }\r\n }\r\n return !!hasItems\r\n },\r\n _fillVisibleItemsByNodes(nodes, options, result) {\r\n for (var i = 0; i < nodes.length; i++) {\r\n if (nodes[i].visible) {\r\n result.push(nodes[i])\r\n }\r\n if ((this.isRowExpanded(nodes[i].key, options) || !nodes[i].visible) && nodes[i].hasChildren && nodes[i].children.length) {\r\n this._fillVisibleItemsByNodes(nodes[i].children, options, result)\r\n }\r\n }\r\n },\r\n _convertItemToNode(item, rootValue, nodeByKey) {\r\n var key = this._keyGetter(item);\r\n var parentId = this._parentIdGetter(item);\r\n parentId = isDefined(parentId) ? parentId : rootValue;\r\n var parentNode = nodeByKey[parentId] = nodeByKey[parentId] || {\r\n key: parentId,\r\n children: []\r\n };\r\n var node = nodeByKey[key] = nodeByKey[key] || {\r\n key: key,\r\n children: []\r\n };\r\n node.data = item;\r\n node.parent = parentNode;\r\n return node\r\n },\r\n _createNodesByItems(items, visibleItems) {\r\n var rootValue = this.option(\"rootValue\");\r\n var visibleByKey = {};\r\n var nodeByKey = this._nodeByKey = {};\r\n var i;\r\n if (visibleItems) {\r\n for (i = 0; i < visibleItems.length; i++) {\r\n visibleByKey[this._keyGetter(visibleItems[i])] = true\r\n }\r\n }\r\n for (i = 0; i < items.length; i++) {\r\n var node = this._convertItemToNode(items[i], rootValue, nodeByKey);\r\n if (void 0 === node.key) {\r\n return\r\n }\r\n node.visible = !visibleItems || !!visibleByKey[node.key];\r\n if (node.parent) {\r\n node.parent.children.push(node)\r\n }\r\n }\r\n var rootNode = nodeByKey[rootValue] || {\r\n key: rootValue,\r\n children: []\r\n };\r\n rootNode.level = -1;\r\n return rootNode\r\n },\r\n _convertDataToPlainStructure(data, parentId, result) {\r\n var key;\r\n if (this._itemsGetter && !data.isConverted) {\r\n result = result || [];\r\n for (var i = 0; i < data.length; i++) {\r\n var item = createObjectWithChanges(data[i]);\r\n key = this._keyGetter(item);\r\n if (void 0 === key) {\r\n key = result.length + 1;\r\n this._keySetter(item, key)\r\n }\r\n this._parentIdSetter(item, void 0 === parentId ? this.option(\"rootValue\") : parentId);\r\n result.push(item);\r\n var childItems = this._itemsGetter(item);\r\n if (childItems && childItems.length) {\r\n this._convertDataToPlainStructure(childItems, key, result);\r\n var itemsExpr = this.option(\"itemsExpr\");\r\n if (!isFunction(itemsExpr)) {\r\n delete item[itemsExpr]\r\n }\r\n }\r\n }\r\n result.isConverted = true;\r\n return result\r\n }\r\n return data\r\n },\r\n _createIdFilter(field, keys) {\r\n var parentIdFilters = [];\r\n for (var i = 0; i < keys.length; i++) {\r\n parentIdFilters.push([field, \"=\", keys[i]])\r\n }\r\n return gridCoreUtils.combineFilters(parentIdFilters, \"or\")\r\n },\r\n _customizeRemoteOperations(options, operationTypes) {\r\n this.callBase.apply(this, arguments);\r\n options.remoteOperations.paging = false;\r\n var expandVisibleNodes = false;\r\n if (this.option(\"autoExpandAll\")) {\r\n options.remoteOperations.sorting = false;\r\n options.remoteOperations.filtering = false;\r\n if ((!this._lastLoadOptions || operationTypes.filtering && !options.storeLoadOptions.filter) && !options.isCustomLoading) {\r\n expandVisibleNodes = true\r\n }\r\n }\r\n if (!options.isCustomLoading) {\r\n this._isReload = this._isReload || operationTypes.reload;\r\n if (!options.cachedStoreData) {\r\n this._isChildrenLoaded = {};\r\n if (this._isReload) {\r\n this._nodeByKey = {}\r\n }\r\n }\r\n if (this.option(\"expandNodesOnFiltering\") && (operationTypes.filtering || this._isReload && options.storeLoadOptions.filter)) {\r\n if (options.storeLoadOptions.filter) {\r\n expandVisibleNodes = true\r\n } else {\r\n options.collapseVisibleNodes = true\r\n }\r\n }\r\n }\r\n options.expandVisibleNodes = expandVisibleNodes\r\n },\r\n _getParentIdsToLoad(parentIds) {\r\n var parentIdsToLoad = [];\r\n for (var i = 0; i < parentIds.length; i++) {\r\n var node = this.getNodeByKey(parentIds[i]);\r\n if (!node || node.hasChildren && !node.children.length) {\r\n parentIdsToLoad.push(parentIds[i])\r\n }\r\n }\r\n return parentIdsToLoad\r\n },\r\n _handleCustomizeStoreLoadOptions(options) {\r\n var rootValue = this.option(\"rootValue\");\r\n var parentIdExpr = this.option(\"parentIdExpr\");\r\n var {\r\n parentIds: parentIds\r\n } = options.storeLoadOptions;\r\n if (parentIds) {\r\n options.isCustomLoading = false\r\n }\r\n this.callBase.apply(this, arguments);\r\n if (options.remoteOperations.filtering && !options.isCustomLoading) {\r\n if (isFullBranchFilterMode(this) && options.cachedStoreData || !options.storeLoadOptions.filter) {\r\n var expandedRowKeys = options.collapseVisibleNodes ? [] : this.option(\"expandedRowKeys\");\r\n parentIds = [rootValue].concat(expandedRowKeys).concat(parentIds || []);\r\n var parentIdsToLoad = options.data ? this._getParentIdsToLoad(parentIds) : parentIds;\r\n if (parentIdsToLoad.length) {\r\n options.cachedPagingData = void 0;\r\n options.data = void 0;\r\n options.mergeStoreLoadData = true;\r\n options.delay = this.option(\"loadingTimeout\")\r\n }\r\n options.storeLoadOptions.parentIds = parentIdsToLoad;\r\n options.storeLoadOptions.filter = this._createIdFilter(parentIdExpr, parentIdsToLoad)\r\n }\r\n }\r\n },\r\n _generateInfoToLoad(data, needChildren) {\r\n var key;\r\n var keyMap = {};\r\n var resultKeyMap = {};\r\n var resultKeys = [];\r\n var rootValue = this.option(\"rootValue\");\r\n var i;\r\n for (i = 0; i < data.length; i++) {\r\n key = needChildren ? this._parentIdGetter(data[i]) : this._keyGetter(data[i]);\r\n keyMap[key] = true\r\n }\r\n for (i = 0; i < data.length; i++) {\r\n key = needChildren ? this._keyGetter(data[i]) : this._parentIdGetter(data[i]);\r\n var needToLoad = needChildren ? this.isRowExpanded(key) : key !== rootValue;\r\n if (!keyMap[key] && !resultKeyMap[key] && needToLoad) {\r\n resultKeyMap[key] = true;\r\n resultKeys.push(key)\r\n }\r\n }\r\n return {\r\n keyMap: resultKeyMap,\r\n keys: resultKeys\r\n }\r\n },\r\n _loadParentsOrChildren(data, options, needChildren) {\r\n var that = this;\r\n var filter;\r\n var needLocalFiltering;\r\n var {\r\n keys: keys,\r\n keyMap: keyMap\r\n } = that._generateInfoToLoad(data, needChildren);\r\n var d = new Deferred;\r\n var isRemoteFiltering = options.remoteOperations.filtering;\r\n var maxFilterLengthInRequest = that.option(\"maxFilterLengthInRequest\");\r\n var loadOptions = isRemoteFiltering ? options.storeLoadOptions : options.loadOptions;\r\n\r\n function concatLoadedData(loadedData) {\r\n if (isRemoteFiltering) {\r\n that._cachedStoreData = that._cachedStoreData.concat(loadedData)\r\n }\r\n return data.concat(loadedData)\r\n }\r\n if (!keys.length) {\r\n return d.resolve(data)\r\n }\r\n var cachedNodes = keys.map(id => this.getNodeByKey(id)).filter(node => node && node.data);\r\n if (cachedNodes.length === keys.length) {\r\n if (needChildren) {\r\n cachedNodes = cachedNodes.reduce((result, node) => result.concat(node.children), [])\r\n }\r\n if (cachedNodes.length) {\r\n return that._loadParentsOrChildren(concatLoadedData(cachedNodes.map(node => node.data)), options, needChildren)\r\n }\r\n }\r\n var keyExpr = needChildren ? that.option(\"parentIdExpr\") : that.getKeyExpr();\r\n filter = that._createIdFilter(keyExpr, keys);\r\n var filterLength = encodeURI(JSON.stringify(filter)).length;\r\n if (filterLength > maxFilterLengthInRequest) {\r\n filter = function(itemData) {\r\n return keyMap[needChildren ? that._parentIdGetter(itemData) : that._keyGetter(itemData)]\r\n };\r\n needLocalFiltering = isRemoteFiltering\r\n }\r\n loadOptions = extend({}, loadOptions, {\r\n filter: !needLocalFiltering ? filter : null\r\n });\r\n var store = options.fullData ? new ArrayStore(options.fullData) : that._dataSource.store();\r\n that.loadFromStore(loadOptions, store).done(loadedData => {\r\n if (loadedData.length) {\r\n if (needLocalFiltering) {\r\n loadedData = query(loadedData).filter(filter).toArray()\r\n }\r\n that._loadParentsOrChildren(concatLoadedData(loadedData), options, needChildren).done(d.resolve).fail(d.reject)\r\n } else {\r\n d.resolve(data)\r\n }\r\n }).fail(d.reject);\r\n return d\r\n },\r\n _loadParents(data, options) {\r\n return this._loadParentsOrChildren(data, options)\r\n },\r\n _loadChildrenIfNeed(data, options) {\r\n if (isFullBranchFilterMode(this)) {\r\n return this._loadParentsOrChildren(data, options, true)\r\n }\r\n return when(data)\r\n },\r\n _updateHasItemsMap(options) {\r\n var {\r\n parentIds: parentIds\r\n } = options.storeLoadOptions;\r\n if (parentIds) {\r\n for (var i = 0; i < parentIds.length; i++) {\r\n this._isChildrenLoaded[parentIds[i]] = true\r\n }\r\n }\r\n },\r\n _getKeyInfo: () => ({\r\n key: () => \"key\",\r\n keyOf: data => data.key\r\n }),\r\n _processChanges(changes) {\r\n var processedChanges = [];\r\n changes.forEach(change => {\r\n if (\"insert\" === change.type) {\r\n processedChanges = processedChanges.concat(this._applyInsert(change))\r\n } else if (\"remove\" === change.type) {\r\n processedChanges = processedChanges.concat(this._applyRemove(change))\r\n } else if (\"update\" === change.type) {\r\n processedChanges.push({\r\n type: change.type,\r\n key: change.key,\r\n data: {\r\n data: change.data\r\n }\r\n })\r\n }\r\n });\r\n return processedChanges\r\n },\r\n _handleChanging(e) {\r\n this.callBase.apply(this, arguments);\r\n e.postProcessChanges = changes => {\r\n var changesToProcess = changes.filter(item => \"update\" === item.type);\r\n return this._processChanges(changesToProcess)\r\n }\r\n },\r\n _applyBatch(changes) {\r\n var processedChanges = this._processChanges(changes);\r\n this.callBase(processedChanges)\r\n },\r\n _setHasItems(node, value) {\r\n var hasItemsSetter = this._hasItemsSetter;\r\n node.hasChildren = value;\r\n if (hasItemsSetter && node.data) {\r\n hasItemsSetter(node.data, value)\r\n }\r\n },\r\n _applyInsert(change) {\r\n var baseChanges = [];\r\n var parentId = this.parentKeyOf(change.data);\r\n var parentNode = this.getNodeByKey(parentId);\r\n if (parentNode) {\r\n var rootValue = this.option(\"rootValue\");\r\n var node = this._convertItemToNode(change.data, rootValue, this._nodeByKey);\r\n node.hasChildren = false;\r\n node.level = parentNode.level + 1;\r\n node.visible = true;\r\n parentNode.children.push(node);\r\n this._isChildrenLoaded[node.key] = true;\r\n this._setHasItems(parentNode, true);\r\n if ((!parentNode.parent || this.isRowExpanded(parentNode.key)) && void 0 !== change.index) {\r\n var index = this.items().indexOf(parentNode) + 1;\r\n index += change.index >= 0 ? Math.min(change.index, parentNode.children.length) : parentNode.children.length;\r\n baseChanges.push({\r\n type: change.type,\r\n data: node,\r\n index: index\r\n })\r\n }\r\n }\r\n return baseChanges\r\n },\r\n _needToCopyDataObject: () => false,\r\n _applyRemove(change) {\r\n var baseChanges = [];\r\n var node = this.getNodeByKey(change.key);\r\n var parentNode = node && node.parent;\r\n if (parentNode) {\r\n var index = parentNode.children.indexOf(node);\r\n if (index >= 0) {\r\n parentNode.children.splice(index, 1);\r\n if (!parentNode.children.length) {\r\n this._setHasItems(parentNode, false)\r\n }\r\n baseChanges.push(change);\r\n baseChanges = baseChanges.concat(this.getChildNodeKeys(change.key).map(key => ({\r\n type: change.type,\r\n key: key\r\n })))\r\n }\r\n }\r\n return baseChanges\r\n },\r\n _handleDataLoaded(options) {\r\n var data = options.data = this._convertDataToPlainStructure(options.data);\r\n if (!options.remoteOperations.filtering && options.loadOptions.filter) {\r\n options.fullData = queryByOptions(query(options.data), {\r\n sort: options.loadOptions && options.loadOptions.sort\r\n }).toArray()\r\n }\r\n this._updateHasItemsMap(options);\r\n this.callBase(options);\r\n if (data.isConverted && this._cachedStoreData) {\r\n this._cachedStoreData.isConverted = true\r\n }\r\n },\r\n _fillNodes(nodes, options, expandedRowKeys, level) {\r\n var isFullBranch = isFullBranchFilterMode(this);\r\n level = level || 0;\r\n for (var i = 0; i < nodes.length; i++) {\r\n var node = nodes[i];\r\n var needToExpand = false;\r\n this._fillNodes(nodes[i].children, options, expandedRowKeys, level + 1);\r\n node.level = level;\r\n node.hasChildren = this._calculateHasItems(node, options);\r\n if (node.visible && node.hasChildren) {\r\n if (isFullBranch) {\r\n if (node.children.filter(node => node.visible).length) {\r\n needToExpand = true\r\n } else if (node.children.length) {\r\n treeListCore.foreachNodes(node.children, node => {\r\n node.visible = true\r\n })\r\n }\r\n } else {\r\n needToExpand = true\r\n }\r\n if (options.expandVisibleNodes && needToExpand) {\r\n expandedRowKeys.push(node.key)\r\n }\r\n }\r\n if (node.visible || node.hasChildren) {\r\n node.parent.hasChildren = true\r\n }\r\n }\r\n },\r\n _processTreeStructure(options, visibleItems) {\r\n var {\r\n data: data\r\n } = options;\r\n var {\r\n parentIds: parentIds\r\n } = options.storeLoadOptions;\r\n var expandedRowKeys = [];\r\n if (parentIds && parentIds.length || this._isReload) {\r\n if (options.fullData && options.fullData.length > options.data.length) {\r\n data = options.fullData;\r\n visibleItems = visibleItems || options.data\r\n }\r\n this._rootNode = this._createNodesByItems(data, visibleItems);\r\n if (!this._rootNode) {\r\n options.data = (new Deferred).reject(errors.Error(\"E1046\", this.getKeyExpr()));\r\n return\r\n }\r\n this._fillNodes(this._rootNode.children, options, expandedRowKeys);\r\n this._isNodesInitializing = true;\r\n if (options.collapseVisibleNodes || expandedRowKeys.length) {\r\n this.option(\"expandedRowKeys\", expandedRowKeys)\r\n }\r\n this._isReload = false;\r\n this.executeAction(\"onNodesInitialized\", {\r\n root: this._rootNode\r\n });\r\n this._isNodesInitializing = false\r\n }\r\n var resultData = [];\r\n this._fillVisibleItemsByNodes(this._rootNode.children, options, resultData);\r\n options.data = resultData;\r\n this._totalItemsCount = resultData.length\r\n },\r\n _handleDataLoadedCore(options) {\r\n var that = this;\r\n var {\r\n data: data\r\n } = options;\r\n var {\r\n callBase: callBase\r\n } = that;\r\n var filter = options.storeLoadOptions.filter || options.loadOptions.filter;\r\n var filterMode = that.option(\"filterMode\");\r\n var visibleItems;\r\n var {\r\n parentIds: parentIds\r\n } = options.storeLoadOptions;\r\n var needLoadParents = filter && (!parentIds || !parentIds.length) && \"standard\" !== filterMode;\r\n if (!options.isCustomLoading) {\r\n if (needLoadParents) {\r\n var d = options.data = new Deferred;\r\n if (\"matchOnly\" === filterMode) {\r\n visibleItems = data\r\n }\r\n return that._loadParents(data, options).done(data => {\r\n that._loadChildrenIfNeed(data, options).done(data => {\r\n options.data = data;\r\n that._processTreeStructure(options, visibleItems);\r\n callBase.call(that, options);\r\n d.resolve(options.data)\r\n })\r\n }).fail(d.reject)\r\n }\r\n that._processTreeStructure(options)\r\n }\r\n that.callBase(options)\r\n },\r\n _handlePush(_ref) {\r\n var {\r\n changes: changes\r\n } = _ref;\r\n var reshapeOnPush = this._dataSource._reshapeOnPush;\r\n var isNeedReshape = reshapeOnPush && !!changes.length;\r\n if (isNeedReshape) {\r\n this._isReload = true\r\n }\r\n changes.forEach(change => {\r\n var _a;\r\n null !== (_a = change.index) && void 0 !== _a ? _a : change.index = -1\r\n });\r\n this.callBase.apply(this, arguments)\r\n },\r\n init(dataSource, remoteOperations) {\r\n this.callBase.apply(this, arguments);\r\n var dataStructure = this.option(\"dataStructure\");\r\n this._keyGetter = this._createKeyGetter();\r\n this._parentIdGetter = this.createParentIdGetter();\r\n this._hasItemsGetter = this._createHasItemsGetter();\r\n this._hasItemsSetter = this._createHasItemsSetter();\r\n if (\"tree\" === dataStructure) {\r\n this._itemsGetter = this._createItemsGetter();\r\n this._keySetter = this._createKeySetter();\r\n this._parentIdSetter = this.createParentIdSetter()\r\n }\r\n this._nodeByKey = {};\r\n this._isChildrenLoaded = {};\r\n this._totalItemsCount = 0;\r\n this.createAction(\"onNodesInitialized\")\r\n },\r\n getKeyExpr() {\r\n var store = this.store();\r\n var key = store && store.key();\r\n var keyExpr = this.option(\"keyExpr\");\r\n if (isDefined(key) && isDefined(keyExpr)) {\r\n if (!equalByValue(key, keyExpr)) {\r\n throw errors.Error(\"E1044\")\r\n }\r\n }\r\n return key || keyExpr || DEFAULT_KEY_EXPRESSION\r\n },\r\n keyOf(data) {\r\n return this._keyGetter && this._keyGetter(data)\r\n },\r\n parentKeyOf(data) {\r\n return this._parentIdGetter && this._parentIdGetter(data)\r\n },\r\n getRootNode() {\r\n return this._rootNode\r\n },\r\n totalItemsCount() {\r\n return this._totalItemsCount + this._totalCountCorrection\r\n },\r\n isRowExpanded(key, cache) {\r\n if (cache) {\r\n var {\r\n isExpandedByKey: isExpandedByKey\r\n } = cache;\r\n if (!isExpandedByKey) {\r\n isExpandedByKey = cache.isExpandedByKey = {};\r\n this.option(\"expandedRowKeys\").forEach(key => {\r\n isExpandedByKey[key] = true\r\n })\r\n }\r\n return !!isExpandedByKey[key]\r\n }\r\n var indexExpandedNodeKey = gridCoreUtils.getIndexByKey(key, this.option(\"expandedRowKeys\"), null);\r\n return indexExpandedNodeKey >= 0\r\n },\r\n _changeRowExpandCore(key) {\r\n var expandedRowKeys = this.option(\"expandedRowKeys\").slice();\r\n var indexExpandedNodeKey = gridCoreUtils.getIndexByKey(key, expandedRowKeys, null);\r\n if (indexExpandedNodeKey < 0) {\r\n expandedRowKeys.push(key)\r\n } else {\r\n expandedRowKeys.splice(indexExpandedNodeKey, 1)\r\n }\r\n this.option(\"expandedRowKeys\", expandedRowKeys)\r\n },\r\n changeRowExpand(key) {\r\n this._changeRowExpandCore(key);\r\n return this._isNodesInitializing ? (new Deferred).resolve() : this.load()\r\n },\r\n getNodeByKey(key) {\r\n if (this._nodeByKey) {\r\n return this._nodeByKey[key]\r\n }\r\n },\r\n getNodeLeafKeys() {\r\n var that = this;\r\n var result = [];\r\n var keys = that._rootNode ? [that._rootNode.key] : [];\r\n keys.forEach(key => {\r\n var node = that.getNodeByKey(key);\r\n node && treeListCore.foreachNodes([node], childNode => {\r\n !childNode.children.length && result.push(childNode.key)\r\n })\r\n });\r\n return result\r\n },\r\n getChildNodeKeys(parentKey) {\r\n var node = this.getNodeByKey(parentKey);\r\n var childrenKeys = [];\r\n node && treeListCore.foreachNodes(node.children, childNode => {\r\n childrenKeys.push(childNode.key)\r\n });\r\n return childrenKeys\r\n },\r\n loadDescendants(keys, childrenOnly) {\r\n var that = this;\r\n var d = new Deferred;\r\n var remoteOperations = that.remoteOperations();\r\n if (isDefined(keys)) {\r\n keys = Array.isArray(keys) ? keys : [keys]\r\n } else {\r\n keys = that.getNodeLeafKeys()\r\n }\r\n if (!remoteOperations.filtering || !keys.length) {\r\n return d.resolve()\r\n }\r\n var loadOptions = that._dataSource._createStoreLoadOptions();\r\n loadOptions.parentIds = keys;\r\n that.load(loadOptions).done(() => {\r\n if (!childrenOnly) {\r\n var childKeys = function(that, keys) {\r\n var childKeys = [];\r\n keys.forEach(key => {\r\n var node = that.getNodeByKey(key);\r\n node && node.children.forEach(child => {\r\n childKeys.push(child.key)\r\n })\r\n });\r\n return childKeys\r\n }(that, keys);\r\n if (childKeys.length) {\r\n that.loadDescendants(childKeys, childrenOnly).done(d.resolve).fail(d.reject);\r\n return\r\n }\r\n }\r\n d.resolve()\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n forEachNode() {\r\n var nodes = [];\r\n var callback;\r\n if (1 === arguments.length) {\r\n callback = arguments[0];\r\n var rootNode = this.getRootNode();\r\n nodes = rootNode && rootNode.children || []\r\n } else if (2 === arguments.length) {\r\n callback = arguments[1];\r\n nodes = arguments[0];\r\n nodes = Array.isArray(nodes) ? nodes : [nodes]\r\n }\r\n treeListCore.foreachNodes(nodes, callback)\r\n }\r\n});\r\nexport default {\r\n extend(extender) {\r\n DataSourceAdapterTreeList = DataSourceAdapterTreeList.inherit(extender)\r\n },\r\n create: component => new DataSourceAdapterTreeList(component)\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/data_controller/m_data_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n dataControllerModule\r\n} from \"../../../grids/grid_core/data_controller/m_data_controller\";\r\nimport dataSourceAdapterProvider from \"../data_source_adapter/m_data_source_adapter\";\r\nimport treeListCore from \"../m_core\";\r\nexport var DataController = dataControllerModule.controllers.data.inherit({\r\n _getDataSourceAdapter: () => dataSourceAdapterProvider,\r\n _getNodeLevel(node) {\r\n var level = -1;\r\n while (node.parent) {\r\n if (node.visible) {\r\n level++\r\n }\r\n node = node.parent\r\n }\r\n return level\r\n },\r\n _generateDataItem(node, options) {\r\n return {\r\n rowType: \"data\",\r\n node: node,\r\n key: node.key,\r\n data: node.data,\r\n isExpanded: this.isRowExpanded(node.key, options),\r\n level: this._getNodeLevel(node)\r\n }\r\n },\r\n _loadOnOptionChange() {\r\n this._dataSource.load()\r\n },\r\n _isItemEquals(item1, item2) {\r\n if (!this.callBase.apply(this, arguments)) {\r\n return false\r\n }\r\n if (item1.node && item2.node && item1.node.hasChildren !== item2.node.hasChildren) {\r\n return false\r\n }\r\n if (item1.level !== item2.level || item1.isExpanded !== item2.isExpanded) {\r\n return false\r\n }\r\n return true\r\n },\r\n init() {\r\n this.createAction(\"onRowExpanding\");\r\n this.createAction(\"onRowExpanded\");\r\n this.createAction(\"onRowCollapsing\");\r\n this.createAction(\"onRowCollapsed\");\r\n this.callBase.apply(this, arguments)\r\n },\r\n keyOf(data) {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n return dataSource.keyOf(data)\r\n }\r\n },\r\n key() {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n return dataSource.getKeyExpr()\r\n }\r\n },\r\n publicMethods() {\r\n return this.callBase().concat([\"expandRow\", \"collapseRow\", \"isRowExpanded\", \"getRootNode\", \"getNodeByKey\", \"loadDescendants\", \"forEachNode\"])\r\n },\r\n changeRowExpand(key) {\r\n if (this._dataSource) {\r\n var args = {\r\n key: key\r\n };\r\n var isExpanded = this.isRowExpanded(key);\r\n this.executeAction(isExpanded ? \"onRowCollapsing\" : \"onRowExpanding\", args);\r\n if (!args.cancel) {\r\n return this._dataSource.changeRowExpand(key).done(() => {\r\n this.executeAction(isExpanded ? \"onRowCollapsed\" : \"onRowExpanded\", args)\r\n })\r\n }\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n isRowExpanded(key, cache) {\r\n return this._dataSource && this._dataSource.isRowExpanded(key, cache)\r\n },\r\n expandRow(key) {\r\n if (!this.isRowExpanded(key)) {\r\n return this.changeRowExpand(key)\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n collapseRow(key) {\r\n if (this.isRowExpanded(key)) {\r\n return this.changeRowExpand(key)\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n getRootNode() {\r\n return this._dataSource && this._dataSource.getRootNode()\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"rootValue\":\r\n case \"parentIdExpr\":\r\n case \"itemsExpr\":\r\n case \"filterMode\":\r\n case \"expandNodesOnFiltering\":\r\n case \"autoExpandAll\":\r\n case \"hasItemsExpr\":\r\n case \"dataStructure\":\r\n this._columnsController.reset();\r\n this._items = [];\r\n this._refreshDataSource();\r\n args.handled = true;\r\n break;\r\n case \"expandedRowKeys\":\r\n case \"onNodesInitialized\":\r\n if (this._dataSource && !this._dataSource._isNodesInitializing && !equalByValue(args.value, args.previousValue)) {\r\n this._loadOnOptionChange()\r\n }\r\n args.handled = true;\r\n break;\r\n case \"maxFilterLengthInRequest\":\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n getNodeByKey(key) {\r\n if (!this._dataSource) {\r\n return\r\n }\r\n return this._dataSource.getNodeByKey(key)\r\n },\r\n getChildNodeKeys(parentKey) {\r\n if (!this._dataSource) {\r\n return\r\n }\r\n return this._dataSource.getChildNodeKeys(parentKey)\r\n },\r\n loadDescendants(keys, childrenOnly) {\r\n if (!this._dataSource) {\r\n return\r\n }\r\n return this._dataSource.loadDescendants(keys, childrenOnly)\r\n },\r\n forEachNode() {\r\n this._dataSource.forEachNode.apply(this, arguments)\r\n }\r\n});\r\ntreeListCore.registerModule(\"data\", {\r\n defaultOptions: () => extend({}, dataControllerModule.defaultOptions(), {\r\n itemsExpr: \"items\",\r\n parentIdExpr: \"parentId\",\r\n rootValue: 0,\r\n dataStructure: \"plain\",\r\n expandedRowKeys: [],\r\n filterMode: \"withAncestors\",\r\n expandNodesOnFiltering: true,\r\n autoExpandAll: false,\r\n onNodesInitialized: null,\r\n maxFilterLengthInRequest: 1500,\r\n paging: {\r\n enabled: false\r\n }\r\n }),\r\n controllers: {\r\n data: DataController\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/sorting.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n sortingModule\r\n} from \"../../../grids/grid_core/sorting/m_sorting\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"sorting\", sortingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/rows/m_rows.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n rowsModule\r\n} from \"../../../grids/grid_core/views/m_rows_view\";\r\nimport treeListCore from \"../m_core\";\r\nvar TREELIST_TEXT_CONTENT = \"dx-treelist-text-content\";\r\nvar TREELIST_EXPAND_ICON_CONTAINER_CLASS = \"dx-treelist-icon-container\";\r\nvar TREELIST_CELL_EXPANDABLE_CLASS = \"dx-treelist-cell-expandable\";\r\nvar TREELIST_EMPTY_SPACE = \"dx-treelist-empty-space\";\r\nvar TREELIST_EXPANDED_CLASS = \"dx-treelist-expanded\";\r\nvar TREELIST_COLLAPSED_CLASS = \"dx-treelist-collapsed\";\r\nexport var RowsView = rowsModule.views.rowsView.inherit(function() {\r\n var createIcon = function(hasIcon, isExpanded) {\r\n var $iconElement = $(\"
\").addClass(TREELIST_EMPTY_SPACE);\r\n if (hasIcon) {\r\n $iconElement.toggleClass(TREELIST_EXPANDED_CLASS, isExpanded).toggleClass(TREELIST_COLLAPSED_CLASS, !isExpanded).append($(\"\"))\r\n }\r\n return $iconElement\r\n };\r\n return {\r\n _renderIconContainer($container, options) {\r\n var $iconContainer = $(\"
\").addClass(TREELIST_EXPAND_ICON_CONTAINER_CLASS).appendTo($container);\r\n options.watch && options.watch(() => [options.row.level, options.row.isExpanded, options.row.node.hasChildren], () => {\r\n $iconContainer.empty();\r\n this._renderIcons($iconContainer, options)\r\n });\r\n $container.addClass(TREELIST_CELL_EXPANDABLE_CLASS);\r\n return this._renderIcons($iconContainer, options)\r\n },\r\n _renderIcons($iconContainer, options) {\r\n var {\r\n row: row\r\n } = options;\r\n var {\r\n level: level\r\n } = row;\r\n for (var i = 0; i <= level; i++) {\r\n $iconContainer.append(createIcon(i === level && row.node.hasChildren, row.isExpanded))\r\n }\r\n return $iconContainer\r\n },\r\n _renderCellCommandContent(container, model) {\r\n this._renderIconContainer(container, model);\r\n return true\r\n },\r\n _processTemplate(template, options) {\r\n var _a;\r\n var that = this;\r\n var resultTemplate;\r\n var renderingTemplate = this.callBase(template);\r\n var firstDataColumnIndex = that._columnsController.getFirstDataColumnIndex();\r\n if (renderingTemplate && (null === (_a = options.column) || void 0 === _a ? void 0 : _a.index) === firstDataColumnIndex) {\r\n resultTemplate = {\r\n render(options) {\r\n var $container = options.container;\r\n if (that._renderCellCommandContent($container, options.model)) {\r\n options.container = function($container) {\r\n return $(\"
\").addClass(TREELIST_TEXT_CONTENT).appendTo($container)\r\n }($container)\r\n }\r\n renderingTemplate.render(options)\r\n }\r\n }\r\n } else {\r\n resultTemplate = renderingTemplate\r\n }\r\n return resultTemplate\r\n },\r\n _updateCell($cell, options) {\r\n $cell = $cell.hasClass(TREELIST_TEXT_CONTENT) ? $cell.parent() : $cell;\r\n this.callBase($cell, options)\r\n },\r\n _rowClick(e) {\r\n var dataController = this._dataController;\r\n var $targetElement = $(e.event.target);\r\n var isExpandIcon = this.isExpandIcon($targetElement);\r\n var item = dataController && dataController.items()[e.rowIndex];\r\n if (isExpandIcon && item) {\r\n dataController.changeRowExpand(item.key)\r\n }\r\n this.callBase(e)\r\n },\r\n _createRow(row) {\r\n var node = row && row.node;\r\n var $rowElement = this.callBase.apply(this, arguments);\r\n if (node) {\r\n this.setAria(\"level\", row.level + 1, $rowElement);\r\n if (node.hasChildren) {\r\n this.setAria(\"expanded\", row.isExpanded, $rowElement)\r\n }\r\n }\r\n return $rowElement\r\n },\r\n isExpandIcon: $targetElement => !!$targetElement.closest(\".\".concat(TREELIST_EXPANDED_CLASS, \", .\").concat(TREELIST_COLLAPSED_CLASS)).length\r\n }\r\n}());\r\ntreeListCore.registerModule(\"rows\", {\r\n defaultOptions: rowsModule.defaultOptions,\r\n views: {\r\n rowsView: RowsView\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/context_menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n contextMenuModule\r\n} from \"../../../grids/grid_core/context_menu/m_context_menu\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"contextMenu\", contextMenuModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/error_handling.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n errorHandlingModule\r\n} from \"../../../grids/grid_core/error_handling/m_error_handling\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"errorHandling\", errorHandlingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_grid_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n gridViewModule\r\n} from \"../../grids/grid_core/views/m_grid_view\";\r\nimport treeListCore from \"./m_core\";\r\nvar GridView = gridViewModule.views.gridView.inherit({\r\n _getWidgetAriaLabel: () => \"dxTreeList-ariaTreeList\",\r\n _getTableRoleName: () => \"treegrid\"\r\n});\r\ntreeListCore.registerModule(\"gridView\", {\r\n defaultOptions: gridViewModule.defaultOptions,\r\n controllers: gridViewModule.controllers,\r\n views: {\r\n gridView: GridView\r\n },\r\n extenders: {\r\n controllers: {\r\n resizing: {\r\n _toggleBestFitMode(isBestFit) {\r\n this.callBase(isBestFit);\r\n var $rowsTable = this._rowsView.getTableElement();\r\n $rowsTable.find(\".dx-treelist-cell-expandable\").toggleClass(this.addWidgetPrefix(\"best-fit\"), isBestFit)\r\n }\r\n }\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/header_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n headerPanelModule\r\n} from \"../../../grids/grid_core/header_panel/m_header_panel\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"headerPanel\", headerPanelModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_widget_base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"./module_not_extended/column_headers\";\r\nimport \"./m_columns_controller\";\r\nimport \"./data_controller/m_data_controller\";\r\nimport \"./module_not_extended/sorting\";\r\nimport \"./rows/m_rows\";\r\nimport \"./module_not_extended/context_menu\";\r\nimport \"./module_not_extended/error_handling\";\r\nimport \"./m_grid_view\";\r\nimport \"./module_not_extended/header_panel\";\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport {\r\n deferRender,\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n isMaterial\r\n} from \"../../../ui/themes\";\r\nimport Widget from \"../../../ui/widget/ui.widget\";\r\nimport gridCoreUtils from \"../../grids/grid_core/m_utils\";\r\nimport treeListCore from \"./m_core\";\r\nvar {\r\n callModuleItemsMethod: callModuleItemsMethod\r\n} = treeListCore;\r\nvar DATAGRID_ROW_SELECTOR = \".dx-row\";\r\nvar TREELIST_CLASS = \"dx-treelist\";\r\ntreeListCore.registerModulesOrder([\"stateStoring\", \"columns\", \"selection\", \"editorFactory\", \"columnChooser\", \"editingRowBased\", \"editingFormBased\", \"editingCellBased\", \"editing\", \"grouping\", \"masterDetail\", \"validating\", \"adaptivity\", \"data\", \"virtualScrolling\", \"columnHeaders\", \"filterRow\", \"headerPanel\", \"headerFilter\", \"sorting\", \"search\", \"rows\", \"pager\", \"columnsResizingReordering\", \"contextMenu\", \"keyboardNavigation\", \"errorHandling\", \"summary\", \"columnFixing\", \"export\", \"gridView\"]);\r\nvar TreeList = Widget.inherit({\r\n _activeStateUnit: DATAGRID_ROW_SELECTOR,\r\n _getDefaultOptions() {\r\n var result = this.callBase();\r\n each(treeListCore.modules, (function() {\r\n if (isFunction(this.defaultOptions)) {\r\n extend(true, result, this.defaultOptions())\r\n }\r\n }));\r\n return result\r\n },\r\n _setDeprecatedOptions() {\r\n this.callBase();\r\n extend(this._deprecatedOptions, {\r\n \"columnChooser.allowSearch\": {\r\n since: \"23.1\",\r\n message: 'Use the \"columnChooser.search.enabled\" option instead'\r\n },\r\n \"columnChooser.searchTimeout\": {\r\n since: \"23.1\",\r\n message: 'Use the \"columnChooser.search.timeout\" option instead'\r\n }\r\n })\r\n },\r\n _defaultOptionsRules() {\r\n return this.callBase().concat([{\r\n device: () => isMaterial(),\r\n options: {\r\n showRowLines: true,\r\n showColumnLines: false,\r\n headerFilter: {\r\n height: 315\r\n },\r\n editing: {\r\n useIcons: true\r\n }\r\n }\r\n }])\r\n },\r\n _init() {\r\n this.callBase();\r\n if (!this.option(\"_disableDeprecationWarnings\")) {\r\n gridCoreUtils.logHeaderFilterDeprecatedWarningIfNeed(this)\r\n }\r\n treeListCore.processModules(this, treeListCore);\r\n callModuleItemsMethod(this, \"init\")\r\n },\r\n _clean: noop,\r\n _optionChanged(args) {\r\n callModuleItemsMethod(this, \"optionChanged\", [args]);\r\n if (!args.handled) {\r\n this.callBase(args)\r\n }\r\n },\r\n _dimensionChanged() {\r\n this.updateDimensions(true)\r\n },\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this.updateDimensions()\r\n }\r\n },\r\n _initMarkup() {\r\n this.callBase.apply(this, arguments);\r\n this.$element().addClass(TREELIST_CLASS);\r\n this.getView(\"gridView\").render(this.$element())\r\n },\r\n _renderContentImpl() {\r\n this.getView(\"gridView\").update()\r\n },\r\n _renderContent() {\r\n var that = this;\r\n deferRender(() => {\r\n that._renderContentImpl()\r\n })\r\n },\r\n _dispose() {\r\n this.callBase();\r\n callModuleItemsMethod(this, \"dispose\")\r\n },\r\n isReady() {\r\n return this.getController(\"data\").isReady()\r\n },\r\n beginUpdate() {\r\n this.callBase();\r\n callModuleItemsMethod(this, \"beginUpdate\")\r\n },\r\n endUpdate() {\r\n callModuleItemsMethod(this, \"endUpdate\");\r\n this.callBase()\r\n },\r\n getController(name) {\r\n return this._controllers[name]\r\n },\r\n getView(name) {\r\n return this._views[name]\r\n },\r\n focus(element) {\r\n this.callBase();\r\n if (isDefined(element)) {\r\n this.getController(\"keyboardNavigation\").focus(element)\r\n }\r\n }\r\n});\r\nTreeList.registerModule = treeListCore.registerModule.bind(treeListCore);\r\nregisterComponent(\"dxTreeList\", TreeList);\r\nexport default TreeList;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_state_storing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n stateStoringModule\r\n} from \"../../grids/grid_core/state_storing/m_state_storing\";\r\nimport treeListCore from \"./m_core\";\r\nvar origApplyState = stateStoringModule.extenders.controllers.stateStoring.applyState;\r\ntreeListCore.registerModule(\"stateStoring\", extend(true, {}, stateStoringModule, {\r\n extenders: {\r\n controllers: {\r\n stateStoring: {\r\n applyState(state) {\r\n origApplyState.apply(this, arguments);\r\n this.option(\"expandedRowKeys\", state.expandedRowKeys ? state.expandedRowKeys.slice() : [])\r\n }\r\n },\r\n data: {\r\n getUserState() {\r\n var state = this.callBase.apply(this, arguments);\r\n if (!this.option(\"autoExpandAll\")) {\r\n state.expandedRowKeys = this.option(\"expandedRowKeys\")\r\n }\r\n return state\r\n }\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/column_chooser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnChooserModule\r\n} from \"../../../grids/grid_core/column_chooser/m_column_chooser\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"columnChooser\", columnChooserModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_master_detail.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n masterDetailModule\r\n} from \"../../grids/grid_core/master_detail/m_master_detail\";\r\nimport treeListCore from \"./m_core\";\r\ntreeListCore.registerModule(\"masterDetail\", extend(true, {}, masterDetailModule, {\r\n extenders: {\r\n controllers: {\r\n data: {\r\n isRowExpanded() {\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _processItems() {\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _processDataItem() {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/editor_factory.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editorFactoryModule\r\n} from \"../../../grids/grid_core/editor_factory/m_editor_factory\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"editorFactory\", editorFactoryModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/editing/m_editing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"../module_not_extended/editor_factory\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport {\r\n editingModule\r\n} from \"../../../grids/grid_core/editing/m_editing\";\r\nimport gridCoreUtils from \"../../../grids/grid_core/m_utils\";\r\nimport treeListCore from \"../m_core\";\r\nvar TREELIST_EXPAND_ICON_CONTAINER_CLASS = \"dx-treelist-icon-container\";\r\nvar SELECT_CHECKBOX_CLASS = \"dx-select-checkbox\";\r\nvar DATA_EDIT_DATA_INSERT_TYPE = \"insert\";\r\nvar EditingController = editingModule.controllers.editing.inherit({\r\n _generateNewItem(key) {\r\n var item = this.callBase(key);\r\n item.data = {\r\n key: key\r\n };\r\n item.children = [];\r\n item.level = 0;\r\n item.parentKey = this.option(\"rootValue\");\r\n return item\r\n },\r\n _isProcessedItem: () => true,\r\n _setInsertAfterOrBeforeKey(change, parentKey) {\r\n if (void 0 !== parentKey && parentKey !== this.option(\"rootValue\")) {\r\n change.insertAfterKey = parentKey\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _getLoadedRowIndex(items, change) {\r\n var dataController = this.getController(\"data\");\r\n var dataSourceAdapter = dataController.dataSource();\r\n var parentKey = null === dataSourceAdapter || void 0 === dataSourceAdapter ? void 0 : dataSourceAdapter.parentKeyOf(change.data);\r\n if (void 0 !== parentKey && parentKey !== this.option(\"rootValue\")) {\r\n var rowIndex = gridCoreUtils.getIndexByKey(parentKey, items);\r\n if (rowIndex >= 0 && this._dataController.isRowExpanded(parentKey)) {\r\n return rowIndex + 1\r\n }\r\n return -1\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _isEditColumnVisible() {\r\n var result = this.callBase.apply(this, arguments);\r\n var editingOptions = this.option(\"editing\");\r\n return result || editingOptions.allowAdding\r\n },\r\n _isDefaultButtonVisible(button, options) {\r\n var result = this.callBase.apply(this, arguments);\r\n var {\r\n row: row\r\n } = options;\r\n if (\"add\" === button.name) {\r\n return this.allowAdding(options) && row.rowIndex !== this._getVisibleEditRowIndex() && !(row.removed || row.isNewRow)\r\n }\r\n return result\r\n },\r\n _getEditingButtons(options) {\r\n var buttons = this.callBase.apply(this, arguments);\r\n if (!options.column.buttons) {\r\n buttons.unshift(this._getButtonConfig(\"add\", options))\r\n }\r\n return buttons\r\n },\r\n _beforeSaveEditData(change) {\r\n var dataController = this._dataController;\r\n var result = this.callBase.apply(this, arguments);\r\n if (change && change.type !== DATA_EDIT_DATA_INSERT_TYPE) {\r\n var store = null === dataController || void 0 === dataController ? void 0 : dataController.store();\r\n var key = null === store || void 0 === store ? void 0 : store.key();\r\n if (!isDefined(key)) {\r\n throw errors.Error(\"E1045\")\r\n }\r\n }\r\n return result\r\n },\r\n addRowByRowIndex(rowIndex) {\r\n var dataController = this.getController(\"data\");\r\n var row = dataController.getVisibleRows()[rowIndex];\r\n return this.addRow(row ? row.key : void 0)\r\n },\r\n addRow(key) {\r\n if (void 0 === key) {\r\n key = this.option(\"rootValue\")\r\n }\r\n return this.callBase.call(this, key)\r\n },\r\n _addRowCore(data, parentKey, oldEditRowIndex) {\r\n var {\r\n callBase: callBase\r\n } = this;\r\n var rootValue = this.option(\"rootValue\");\r\n var dataController = this.getController(\"data\");\r\n var dataSourceAdapter = dataController.dataSource();\r\n var parentKeyGetter = dataSourceAdapter.createParentIdGetter();\r\n parentKey = parentKeyGetter(data);\r\n if (void 0 !== parentKey && parentKey !== rootValue && !dataController.isRowExpanded(parentKey)) {\r\n var deferred = new Deferred;\r\n dataController.expandRow(parentKey).done(() => {\r\n setTimeout(() => {\r\n callBase.call(this, data, parentKey, oldEditRowIndex).done(deferred.resolve).fail(deferred.reject)\r\n })\r\n }).fail(deferred.reject);\r\n return deferred.promise()\r\n }\r\n return callBase.call(this, data, parentKey, oldEditRowIndex)\r\n },\r\n _initNewRow(options, parentKey) {\r\n var dataController = this.getController(\"data\");\r\n var dataSourceAdapter = dataController.dataSource();\r\n var parentIdSetter = dataSourceAdapter.createParentIdSetter();\r\n parentIdSetter(options.data, parentKey);\r\n return this.callBase.apply(this, arguments)\r\n },\r\n allowAdding(options) {\r\n return this._allowEditAction(\"allowAdding\", options)\r\n },\r\n _needToCloseEditableCell($targetElement) {\r\n return this.callBase.apply(this, arguments) || $targetElement.closest(\".\".concat(TREELIST_EXPAND_ICON_CONTAINER_CLASS)).length && this.isEditing()\r\n },\r\n getButtonLocalizationNames() {\r\n var names = this.callBase.apply(this);\r\n names.add = \"dxTreeList-editingAddRowToNode\";\r\n return names\r\n }\r\n});\r\nvar originalRowClick = editingModule.extenders.views.rowsView._rowClick;\r\nvar originalRowDblClick = editingModule.extenders.views.rowsView._rowDblClick;\r\nvar validateClick = function(e) {\r\n var $targetElement = $(e.event.target);\r\n var originalClickHandler = \"dxdblclick\" === e.event.type ? originalRowDblClick : originalRowClick;\r\n if ($targetElement.closest(\".\".concat(SELECT_CHECKBOX_CLASS)).length) {\r\n return false\r\n }\r\n return !needToCallOriginalClickHandler.call(this, e, originalClickHandler)\r\n};\r\n\r\nfunction needToCallOriginalClickHandler(e, originalClickHandler) {\r\n var $targetElement = $(e.event.target);\r\n if (!$targetElement.closest(\".\".concat(TREELIST_EXPAND_ICON_CONTAINER_CLASS)).length) {\r\n originalClickHandler.call(this, e);\r\n return true\r\n }\r\n return false\r\n}\r\nvar RowsViewExtender = extend({}, editingModule.extenders.views.rowsView, {\r\n _renderCellCommandContent($container, options) {\r\n var editingController = this._editingController;\r\n var isEditRow = options.row && editingController.isEditRow(options.row.rowIndex);\r\n var isEditing = options.isEditing || isEditRow;\r\n if (!isEditing) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return false\r\n },\r\n _rowClick(e) {\r\n if (validateClick.call(this, e)) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _rowDblClick(e) {\r\n if (validateClick.call(this, e)) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n }\r\n});\r\ntreeListCore.registerModule(\"editing\", {\r\n defaultOptions: () => extend(true, editingModule.defaultOptions(), {\r\n editing: {\r\n texts: {\r\n addRowToNode: messageLocalization.format(\"dxTreeList-editingAddRowToNode\")\r\n }\r\n }\r\n }),\r\n controllers: {\r\n editing: EditingController\r\n },\r\n extenders: {\r\n controllers: extend(true, {}, editingModule.extenders.controllers, {\r\n data: {\r\n changeRowExpand() {\r\n this._editingController.refresh();\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n }),\r\n views: {\r\n rowsView: RowsViewExtender,\r\n headerPanel: editingModule.extenders.views.headerPanel\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/editing_row_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editingRowBasedModule\r\n} from \"../../../grids/grid_core/editing/m_editing_row_based\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"editingRowBased\", editingRowBasedModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/editing_form_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editingFormBasedModule\r\n} from \"../../../grids/grid_core/editing/m_editing_form_based\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"editingFormBased\", editingFormBasedModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/editing_cell_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editingCellBasedModule\r\n} from \"../../../grids/grid_core/editing/m_editing_cell_based\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"editingCellBased\", editingCellBasedModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_validating.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n validatingModule\r\n} from \"../../grids/grid_core/validating/m_validating\";\r\nimport treeListCore from \"./m_core\";\r\nvar EditingControllerExtender = extend({}, validatingModule.extenders.controllers.editing);\r\ndelete EditingControllerExtender.processItems;\r\ndelete EditingControllerExtender.processDataItem;\r\ntreeListCore.registerModule(\"validating\", {\r\n defaultOptions: validatingModule.defaultOptions,\r\n controllers: validatingModule.controllers,\r\n extenders: {\r\n controllers: {\r\n editing: EditingControllerExtender,\r\n editorFactory: validatingModule.extenders.controllers.editorFactory\r\n },\r\n views: validatingModule.extenders.views\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_virtual_scrolling.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n virtualScrollingModule\r\n} from \"../../grids/grid_core/virtual_scrolling/m_virtual_scrolling\";\r\nimport dataSourceAdapter from \"./data_source_adapter/m_data_source_adapter\";\r\nimport gridCore from \"./m_core\";\r\nvar oldDefaultOptions = virtualScrollingModule.defaultOptions;\r\nvar originalDataControllerExtender = virtualScrollingModule.extenders.controllers.data;\r\nvar originalDataSourceAdapterExtender = virtualScrollingModule.extenders.dataSourceAdapter;\r\nvirtualScrollingModule.extenders.controllers.data = extend({}, originalDataControllerExtender, {\r\n _loadOnOptionChange() {\r\n var virtualScrollController = this._dataSource && this._dataSource._virtualScrollController;\r\n virtualScrollController && virtualScrollController.reset();\r\n this.callBase()\r\n }\r\n});\r\nvirtualScrollingModule.extenders.dataSourceAdapter = extend({}, originalDataSourceAdapterExtender, {\r\n changeRowExpand() {\r\n return this.callBase.apply(this, arguments).done(() => {\r\n var viewportItemIndex = this.getViewportItemIndex();\r\n viewportItemIndex >= 0 && this.setViewportItemIndex(viewportItemIndex)\r\n })\r\n }\r\n});\r\ngridCore.registerModule(\"virtualScrolling\", extend({}, virtualScrollingModule, {\r\n defaultOptions: () => extend(true, oldDefaultOptions(), {\r\n scrolling: {\r\n mode: \"virtual\"\r\n }\r\n })\r\n}));\r\ndataSourceAdapter.extend(virtualScrollingModule.extenders.dataSourceAdapter);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/filter_row.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterRowModule\r\n} from \"../../../grids/grid_core/filter/m_filter_row\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterRow\", filterRowModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/header_filter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n headerFilterModule\r\n} from \"../../../grids/grid_core/header_filter/m_header_filter\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"headerFilter\", headerFilterModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/filter_sync.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterSyncModule\r\n} from \"../../../grids/grid_core/filter/m_filter_sync\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"filterSync\", filterSyncModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/filter_builder.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterBuilderModule\r\n} from \"../../../grids/grid_core/filter/m_filter_builder\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterBuilder\", filterBuilderModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/filter_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterPanelModule\r\n} from \"../../../grids/grid_core/filter/m_filter_panel\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterPanel\", filterPanelModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/pager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n pagerModule\r\n} from \"../../../grids/grid_core/pager/m_pager\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"pager\", pagerModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/columns_resizing_reordering.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnsResizingReorderingModule\r\n} from \"../../../grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"columnsResizingReordering\", columnsResizingReorderingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/column_fixing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnFixingModule\r\n} from \"../../../grids/grid_core/column_fixing/m_column_fixing\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"columnFixing\", columnFixingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/adaptivity.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n adaptivityModule\r\n} from \"../../../grids/grid_core/adaptivity/m_adaptivity\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"adaptivity\", adaptivityModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/selection/m_selection.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue,\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n selectionModule\r\n} from \"../../../grids/grid_core/selection/m_selection\";\r\nimport treeListCore from \"../m_core\";\r\nvar TREELIST_SELECT_ALL_CLASS = \"dx-treelist-select-all\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar SELECT_CHECKBOX_CLASS = \"dx-select-checkbox\";\r\nvar originalRowClick = selectionModule.extenders.views.rowsView._rowClick;\r\nvar originalHandleDataChanged = selectionModule.extenders.controllers.data._handleDataChanged;\r\nvar nodeExists = function(array, currentKey) {\r\n return !!array.filter(key => key === currentKey).length\r\n};\r\ntreeListCore.registerModule(\"selection\", extend(true, {}, selectionModule, {\r\n defaultOptions: () => extend(true, selectionModule.defaultOptions(), {\r\n selection: {\r\n showCheckBoxesMode: \"always\",\r\n recursive: false\r\n }\r\n }),\r\n extenders: {\r\n controllers: {\r\n data: {\r\n _handleDataChanged(e) {\r\n var selectionController = this.getController(\"selection\");\r\n var isRecursiveSelection = selectionController.isRecursiveSelection();\r\n if (isRecursiveSelection && (!e || \"updateSelectionState\" !== e.changeType)) {\r\n selectionController.updateSelectionState({\r\n selectedItemKeys: this.option(\"selectedRowKeys\")\r\n })\r\n }\r\n originalHandleDataChanged.apply(this, arguments)\r\n },\r\n loadDescendants() {\r\n var that = this;\r\n var d = that.callBase.apply(that, arguments);\r\n var selectionController = that.getController(\"selection\");\r\n var isRecursiveSelection = selectionController.isRecursiveSelection();\r\n if (isRecursiveSelection) {\r\n d.done(() => {\r\n selectionController.updateSelectionState({\r\n selectedItemKeys: that.option(\"selectedRowKeys\")\r\n })\r\n })\r\n }\r\n return d\r\n }\r\n },\r\n selection: {\r\n init() {\r\n this.callBase.apply(this, arguments);\r\n this._selectionStateByKey = {}\r\n },\r\n _getSelectionConfig() {\r\n var config = this.callBase.apply(this, arguments);\r\n var {\r\n plainItems: plainItems\r\n } = config;\r\n config.plainItems = cached => {\r\n var result;\r\n if (cached) {\r\n result = this._dataController.getCachedStoreData()\r\n }\r\n result || (result = plainItems.apply(this, arguments).map(item => item.data));\r\n return result || []\r\n };\r\n config.isItemSelected = item => {\r\n var key = this._dataController.keyOf(item);\r\n return this.isRowSelected(key)\r\n };\r\n config.isSelectableItem = item => !!item;\r\n config.getItemData = item => item;\r\n config.allowLoadByRange = () => false;\r\n return config\r\n },\r\n renderSelectCheckBoxContainer($container, model) {\r\n var rowsView = this.component.getView(\"rowsView\");\r\n $container.addClass(CELL_FOCUS_DISABLED_CLASS);\r\n var $checkbox = rowsView._renderSelectCheckBox($container, {\r\n value: model.row.isSelected,\r\n row: model.row,\r\n column: model.column\r\n });\r\n rowsView._attachCheckBoxClickEvent($checkbox)\r\n },\r\n _updateSelectColumn: noop,\r\n _getSelectAllNodeKeys() {\r\n var {\r\n component: component\r\n } = this;\r\n var root = component.getRootNode();\r\n var cache = {};\r\n var keys = [];\r\n var isRecursiveSelection = this.isRecursiveSelection();\r\n root && treeListCore.foreachNodes(root.children, node => {\r\n if (void 0 !== node.key && (node.visible || isRecursiveSelection)) {\r\n keys.push(node.key)\r\n }\r\n if (!node.visible) {\r\n return true\r\n }\r\n return isRecursiveSelection ? false : component.isRowExpanded(node.key, cache)\r\n });\r\n return keys\r\n },\r\n isSelectAll() {\r\n var selectedRowKeys = this.option(\"selectedRowKeys\") || [];\r\n if (0 === selectedRowKeys.length) {\r\n return false\r\n }\r\n var {\r\n component: component\r\n } = this;\r\n var visibleKeys = this._getSelectAllNodeKeys();\r\n var isRecursiveSelection = this.isRecursiveSelection();\r\n var hasIndeterminateState = false;\r\n var selectedVisibleKeys = visibleKeys.filter(key => {\r\n var isRowSelected = component.isRowSelected(key, isRecursiveSelection);\r\n if (void 0 === isRowSelected) {\r\n hasIndeterminateState = true\r\n }\r\n return isRowSelected\r\n });\r\n if (!selectedVisibleKeys.length) {\r\n return hasIndeterminateState ? void 0 : false\r\n }\r\n if (selectedVisibleKeys.length === visibleKeys.length) {\r\n return true\r\n }\r\n return\r\n },\r\n selectAll() {\r\n var visibleKeys = this._getSelectAllNodeKeys().filter(key => !this.isRowSelected(key));\r\n this.focusedItemIndex(-1);\r\n return this.selectRows(visibleKeys, true)\r\n },\r\n deselectAll() {\r\n var visibleKeys = this._getSelectAllNodeKeys();\r\n this.focusedItemIndex(-1);\r\n return this.deselectRows(visibleKeys)\r\n },\r\n selectedItemKeys(value, preserve, isDeselect, isSelectAll) {\r\n var that = this;\r\n var selectedRowKeys = that.option(\"selectedRowKeys\");\r\n var isRecursiveSelection = this.isRecursiveSelection();\r\n var normalizedArgs = isRecursiveSelection && that._normalizeSelectionArgs({\r\n keys: isDefined(value) ? value : []\r\n }, preserve, !isDeselect);\r\n if (normalizedArgs && !equalByValue(normalizedArgs.selectedRowKeys, selectedRowKeys)) {\r\n that._isSelectionNormalizing = true;\r\n return this.callBase(normalizedArgs.selectedRowKeys, false, false, false).always(() => {\r\n that._isSelectionNormalizing = false\r\n }).done(items => {\r\n normalizedArgs.selectedRowsData = items;\r\n that._fireSelectionChanged(normalizedArgs)\r\n })\r\n }\r\n return this.callBase(value, preserve, isDeselect, isSelectAll)\r\n },\r\n changeItemSelection(itemIndex, keyboardKeys) {\r\n var isRecursiveSelection = this.isRecursiveSelection();\r\n if (isRecursiveSelection && !keyboardKeys.shift) {\r\n var key = this._dataController.getKeyByRowIndex(itemIndex);\r\n return this.selectedItemKeys(key, true, this.isRowSelected(key)).done(() => {\r\n this.isRowSelected(key) && this.callBase(itemIndex, keyboardKeys, true)\r\n })\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _updateParentSelectionState(node, isSelected) {\r\n var that = this;\r\n var state = isSelected;\r\n var parentNode = node.parent;\r\n if (parentNode) {\r\n if (parentNode.children.length > 1) {\r\n if (false === isSelected) {\r\n var hasSelectedState = parentNode.children.some(childNode => that._selectionStateByKey[childNode.key]);\r\n state = hasSelectedState ? void 0 : false\r\n } else if (true === isSelected) {\r\n var hasNonSelectedState = parentNode.children.some(childNode => !that._selectionStateByKey[childNode.key]);\r\n state = hasNonSelectedState ? void 0 : true\r\n }\r\n }\r\n this._selectionStateByKey[parentNode.key] = state;\r\n if (parentNode.parent && parentNode.parent.level >= 0) {\r\n this._updateParentSelectionState(parentNode, state)\r\n }\r\n }\r\n },\r\n _updateChildrenSelectionState(node, isSelected) {\r\n var that = this;\r\n var {\r\n children: children\r\n } = node;\r\n children && children.forEach(childNode => {\r\n that._selectionStateByKey[childNode.key] = isSelected;\r\n if (childNode.children.length > 0) {\r\n that._updateChildrenSelectionState(childNode, isSelected)\r\n }\r\n })\r\n },\r\n _updateSelectionStateCore(keys, isSelected) {\r\n var dataController = this._dataController;\r\n for (var i = 0; i < keys.length; i++) {\r\n this._selectionStateByKey[keys[i]] = isSelected;\r\n var node = dataController.getNodeByKey(keys[i]);\r\n if (node) {\r\n this._updateParentSelectionState(node, isSelected);\r\n this._updateChildrenSelectionState(node, isSelected)\r\n }\r\n }\r\n },\r\n _getSelectedParentKeys(key, selectedItemKeys, useCash) {\r\n var selectedParentNode;\r\n var node = this._dataController.getNodeByKey(key);\r\n var parentNode = node && node.parent;\r\n var result = [];\r\n while (parentNode && parentNode.level >= 0) {\r\n result.unshift(parentNode.key);\r\n var isSelected = useCash ? !nodeExists(selectedItemKeys, parentNode.key) && this.isRowSelected(parentNode.key) : selectedItemKeys.indexOf(parentNode.key) >= 0;\r\n if (isSelected) {\r\n selectedParentNode = parentNode;\r\n result = this._getSelectedParentKeys(selectedParentNode.key, selectedItemKeys, useCash).concat(result);\r\n break\r\n } else if (useCash) {\r\n break\r\n }\r\n parentNode = parentNode.parent\r\n }\r\n return selectedParentNode && result || []\r\n },\r\n _getSelectedChildKeys(key, keysToIgnore) {\r\n var childKeys = [];\r\n var node = this._dataController.getNodeByKey(key);\r\n node && treeListCore.foreachNodes(node.children, childNode => {\r\n var ignoreKeyIndex = keysToIgnore.indexOf(childNode.key);\r\n if (ignoreKeyIndex < 0) {\r\n childKeys.push(childNode.key)\r\n }\r\n return ignoreKeyIndex > 0 || ignoreKeyIndex < 0 && void 0 === this._selectionStateByKey[childNode.key]\r\n });\r\n return childKeys\r\n },\r\n _normalizeParentKeys(key, args) {\r\n var keysToIgnore = [key];\r\n var parentNodeKeys = this._getSelectedParentKeys(key, args.selectedRowKeys);\r\n if (parentNodeKeys.length) {\r\n keysToIgnore = keysToIgnore.concat(parentNodeKeys);\r\n keysToIgnore.forEach(key => {\r\n var index = args.selectedRowKeys.indexOf(key);\r\n if (index >= 0) {\r\n args.selectedRowKeys.splice(index, 1)\r\n }\r\n });\r\n var childKeys = this._getSelectedChildKeys(parentNodeKeys[0], keysToIgnore);\r\n args.selectedRowKeys = args.selectedRowKeys.concat(childKeys)\r\n }\r\n },\r\n _normalizeChildrenKeys(key, args) {\r\n var node = this._dataController.getNodeByKey(key);\r\n node && node.children.forEach(childNode => {\r\n var index = args.selectedRowKeys.indexOf(childNode.key);\r\n if (index >= 0) {\r\n args.selectedRowKeys.splice(index, 1)\r\n }\r\n this._normalizeChildrenKeys(childNode.key, args)\r\n })\r\n },\r\n _normalizeSelectedRowKeysCore(keys, args, preserve, isSelect) {\r\n var that = this;\r\n keys.forEach(key => {\r\n if (preserve && that.isRowSelected(key) === isSelect) {\r\n return\r\n }\r\n that._normalizeChildrenKeys(key, args);\r\n var index = args.selectedRowKeys.indexOf(key);\r\n if (isSelect) {\r\n if (index < 0) {\r\n args.selectedRowKeys.push(key)\r\n }\r\n args.currentSelectedRowKeys.push(key)\r\n } else {\r\n if (index >= 0) {\r\n args.selectedRowKeys.splice(index, 1)\r\n }\r\n args.currentDeselectedRowKeys.push(key);\r\n that._normalizeParentKeys(key, args)\r\n }\r\n })\r\n },\r\n _normalizeSelectionArgs(args, preserve, isSelect) {\r\n var result;\r\n var keys = Array.isArray(args.keys) ? args.keys : [args.keys];\r\n var selectedRowKeys = this.option(\"selectedRowKeys\") || [];\r\n if (keys.length) {\r\n result = {\r\n currentSelectedRowKeys: [],\r\n currentDeselectedRowKeys: [],\r\n selectedRowKeys: preserve ? selectedRowKeys.slice(0) : []\r\n };\r\n this._normalizeSelectedRowKeysCore(keys, result, preserve, isSelect)\r\n }\r\n return result\r\n },\r\n _updateSelectedItems(args) {\r\n this.updateSelectionState(args);\r\n this.callBase(args)\r\n },\r\n _fireSelectionChanged() {\r\n if (!this._isSelectionNormalizing) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _isModeLeavesOnly: mode => \"leavesOnly\" === mode,\r\n _removeDuplicatedKeys(keys) {\r\n var result = [];\r\n var processedKeys = {};\r\n keys.forEach(key => {\r\n if (!processedKeys[key]) {\r\n processedKeys[key] = true;\r\n result.push(key)\r\n }\r\n });\r\n return result\r\n },\r\n _getAllChildKeys(key) {\r\n var childKeys = [];\r\n var node = this._dataController.getNodeByKey(key);\r\n node && treeListCore.foreachNodes(node.children, childNode => {\r\n childKeys.push(childNode.key)\r\n }, true);\r\n return childKeys\r\n },\r\n _getAllSelectedRowKeys(keys) {\r\n var result = [];\r\n keys.forEach(key => {\r\n var parentKeys = this._getSelectedParentKeys(key, [], true);\r\n var childKeys = this._getAllChildKeys(key);\r\n result.push.apply(result, parentKeys.concat([key], childKeys))\r\n });\r\n result = this._removeDuplicatedKeys(result);\r\n return result\r\n },\r\n _getParentSelectedRowKeys(keys) {\r\n var that = this;\r\n var result = [];\r\n keys.forEach(key => {\r\n var parentKeys = that._getSelectedParentKeys(key, keys);\r\n !parentKeys.length && result.push(key)\r\n });\r\n return result\r\n },\r\n _getLeafSelectedRowKeys(keys) {\r\n var result = [];\r\n var dataController = this._dataController;\r\n keys.forEach(key => {\r\n var node = dataController.getNodeByKey(key);\r\n node && !node.hasChildren && result.push(key)\r\n });\r\n return result\r\n },\r\n isRecursiveSelection() {\r\n var selectionMode = this.option(\"selection.mode\");\r\n var isRecursive = this.option(\"selection.recursive\");\r\n return \"multiple\" === selectionMode && isRecursive\r\n },\r\n updateSelectionState(options) {\r\n var removedItemKeys = options.removedItemKeys || [];\r\n var selectedItemKeys = options.selectedItemKeys || [];\r\n if (this.isRecursiveSelection()) {\r\n this._updateSelectionStateCore(removedItemKeys, false);\r\n this._updateSelectionStateCore(selectedItemKeys, true)\r\n }\r\n },\r\n isRowSelected(key, isRecursiveSelection) {\r\n var result = this.callBase.apply(this, arguments);\r\n isRecursiveSelection = null !== isRecursiveSelection && void 0 !== isRecursiveSelection ? isRecursiveSelection : this.isRecursiveSelection();\r\n if (!result && isRecursiveSelection) {\r\n if (key in this._selectionStateByKey) {\r\n return this._selectionStateByKey[key]\r\n }\r\n return false\r\n }\r\n return result\r\n },\r\n getSelectedRowKeys(mode) {\r\n if (!this._dataController) {\r\n return []\r\n }\r\n var selectedRowKeys = this.callBase.apply(this, arguments);\r\n if (mode) {\r\n if (this.isRecursiveSelection()) {\r\n selectedRowKeys = this._getAllSelectedRowKeys(selectedRowKeys)\r\n }\r\n if (\"all\" !== mode) {\r\n if (\"excludeRecursive\" === mode) {\r\n selectedRowKeys = this._getParentSelectedRowKeys(selectedRowKeys)\r\n } else if (this._isModeLeavesOnly(mode)) {\r\n selectedRowKeys = this._getLeafSelectedRowKeys(selectedRowKeys)\r\n }\r\n }\r\n }\r\n return selectedRowKeys\r\n },\r\n getSelectedRowsData(mode) {\r\n var dataController = this._dataController;\r\n var selectedKeys = this.getSelectedRowKeys(mode) || [];\r\n var selectedRowsData = [];\r\n selectedKeys.forEach(key => {\r\n var node = dataController.getNodeByKey(key);\r\n node && selectedRowsData.push(node.data)\r\n });\r\n return selectedRowsData\r\n },\r\n refresh() {\r\n this._selectionStateByKey = {};\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n },\r\n views: {\r\n columnHeadersView: {\r\n _processTemplate(template, options) {\r\n var that = this;\r\n var resultTemplate;\r\n var renderingTemplate = this.callBase(template, options);\r\n var firstDataColumnIndex = that._columnsController.getFirstDataColumnIndex();\r\n if (renderingTemplate && \"header\" === options.rowType && options.column.index === firstDataColumnIndex) {\r\n resultTemplate = {\r\n render(options) {\r\n if (\"multiple\" === that.option(\"selection.mode\")) {\r\n that.renderSelectAll(options.container, options.model)\r\n }\r\n renderingTemplate.render(options)\r\n }\r\n }\r\n } else {\r\n resultTemplate = renderingTemplate\r\n }\r\n return resultTemplate\r\n },\r\n renderSelectAll($cell, options) {\r\n $cell.addClass(TREELIST_SELECT_ALL_CLASS);\r\n this._renderSelectAllCheckBox($cell)\r\n },\r\n _isSortableElement($target) {\r\n return this.callBase($target) && !$target.closest(\".\".concat(SELECT_CHECKBOX_CLASS)).length\r\n }\r\n },\r\n rowsView: {\r\n _renderIcons($iconContainer, options) {\r\n this.callBase.apply(this, arguments);\r\n if (!options.row.isNewRow && \"multiple\" === this.option(\"selection.mode\")) {\r\n this.getController(\"selection\").renderSelectCheckBoxContainer($iconContainer, options)\r\n }\r\n return $iconContainer\r\n },\r\n _rowClick(e) {\r\n var $targetElement = $(e.event.target);\r\n if (this.isExpandIcon($targetElement)) {\r\n this.callBase.apply(this, arguments)\r\n } else {\r\n originalRowClick.apply(this, arguments)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/search.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n searchModule\r\n} from \"../../../grids/grid_core/search/m_search\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"search\", searchModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_keyboard_navigation.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n keyboardNavigationModule\r\n} from \"../../grids/grid_core/keyboard_navigation/m_keyboard_navigation\";\r\nimport core from \"./m_core\";\r\ncore.registerModule(\"keyboardNavigation\", extend(true, {}, keyboardNavigationModule, {\r\n extenders: {\r\n controllers: {\r\n keyboardNavigation: {\r\n _leftRightKeysHandler(eventArgs, isEditing) {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var dataController = this._dataController;\r\n if (eventArgs.ctrl) {\r\n var directionCode = this._getDirectionCodeByKey(eventArgs.keyName);\r\n var key = dataController.getKeyByRowIndex(rowIndex);\r\n if (\"nextInRow\" === directionCode) {\r\n dataController.expandRow(key)\r\n } else {\r\n dataController.collapseRow(key)\r\n }\r\n } else {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/virtual_columns.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n virtualColumnsModule\r\n} from \"../../../grids/grid_core/virtual_columns/m_virtual_columns\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"virtualColumns\", virtualColumnsModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_focus.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred\r\n} from \"../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n focusModule\r\n} from \"../../grids/grid_core/focus/m_focus\";\r\nimport core from \"./m_core\";\r\n\r\nfunction findIndex(items, callback) {\r\n var result = -1;\r\n items.forEach((node, index) => {\r\n if (callback(node)) {\r\n result = index\r\n }\r\n });\r\n return result\r\n}\r\ncore.registerModule(\"focus\", extend(true, {}, focusModule, {\r\n extenders: {\r\n controllers: {\r\n data: {\r\n changeRowExpand(key) {\r\n if (this.option(\"focusedRowEnabled\") && this.isRowExpanded(key)) {\r\n if (this._isFocusedRowInside(key)) {\r\n this.option(\"focusedRowKey\", key)\r\n }\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _isFocusedRowInside(parentKey) {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var rowIndex = this.getRowIndexByKey(focusedRowKey);\r\n var focusedRow = rowIndex >= 0 && this.getVisibleRows()[rowIndex];\r\n var parent = focusedRow && focusedRow.node.parent;\r\n while (parent) {\r\n if (parent.key === parentKey) {\r\n return true\r\n }\r\n parent = parent.parent\r\n }\r\n return false\r\n },\r\n getParentKey(key) {\r\n var dataSource = this._dataSource;\r\n var node = this.getNodeByKey(key);\r\n var d = new Deferred;\r\n if (node) {\r\n d.resolve(node.parent ? node.parent.key : void 0)\r\n } else {\r\n dataSource.load({\r\n filter: [dataSource.getKeyExpr(), \"=\", key]\r\n }).done(items => {\r\n var parentData = items[0];\r\n if (parentData) {\r\n d.resolve(dataSource.parentKeyOf(parentData))\r\n } else {\r\n d.reject()\r\n }\r\n }).fail(d.reject)\r\n }\r\n return d.promise()\r\n },\r\n expandAscendants(key) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var d = new Deferred;\r\n that.getParentKey(key).done(parentKey => {\r\n if (dataSource && void 0 !== parentKey && parentKey !== that.option(\"rootValue\")) {\r\n dataSource._isNodesInitializing = true;\r\n that.expandRow(parentKey);\r\n dataSource._isNodesInitializing = false;\r\n that.expandAscendants(parentKey).done(d.resolve).fail(d.reject)\r\n } else {\r\n d.resolve()\r\n }\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n getPageIndexByKey(key) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var d = new Deferred;\r\n that.expandAscendants(key).done(() => {\r\n dataSource.load({\r\n parentIds: []\r\n }).done(nodes => {\r\n var offset = findIndex(nodes, node => that.keyOf(node.data) === key);\r\n var pageIndex = -1;\r\n if (offset >= 0) {\r\n pageIndex = Math.floor(offset / that.pageSize())\r\n }\r\n d.resolve(pageIndex)\r\n }).fail(d.reject)\r\n }).fail(d.reject);\r\n return d.promise()\r\n }\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/module_not_extended/row_dragging.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n rowDraggingModule\r\n} from \"../../../grids/grid_core/row_dragging/m_row_dragging\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"rowDragging\", rowDraggingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/tree_list/m_widget.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TreeList from \"./m_widget_base\";\r\nimport \"./m_state_storing\";\r\nimport \"./module_not_extended/column_chooser\";\r\nimport \"./m_master_detail\";\r\nimport \"./editing/m_editing\";\r\nimport \"./module_not_extended/editing_row_based\";\r\nimport \"./module_not_extended/editing_form_based\";\r\nimport \"./module_not_extended/editing_cell_based\";\r\nimport \"./m_validating\";\r\nimport \"./m_virtual_scrolling\";\r\nimport \"./module_not_extended/filter_row\";\r\nimport \"./module_not_extended/header_filter\";\r\nimport \"./module_not_extended/filter_sync\";\r\nimport \"./module_not_extended/filter_builder\";\r\nimport \"./module_not_extended/filter_panel\";\r\nimport \"./module_not_extended/pager\";\r\nimport \"./module_not_extended/columns_resizing_reordering\";\r\nimport \"./module_not_extended/column_fixing\";\r\nimport \"./module_not_extended/adaptivity\";\r\nimport \"./selection/m_selection\";\r\nimport \"./module_not_extended/search\";\r\nimport \"./m_keyboard_navigation\";\r\nimport \"./module_not_extended/virtual_columns\";\r\nimport \"./m_focus\";\r\nimport \"./module_not_extended/row_dragging\";\r\nexport default TreeList;\r\n","/**\r\n * DevExtreme (esm/ui/tree_list.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TreeList from \"../__internal/grids/tree_list/m_widget\";\r\nimport \"./tree_list/ui.tree_list.base\";\r\nexport default TreeList;\r\n","/**\n * @module ol/render/Event\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Event from '../events/Event.js';\nvar RenderEvent = /** @class */ (function (_super) {\n __extends(RenderEvent, _super);\n /**\n * @param {import(\"./EventType.js\").default} type Type.\n * @param {import(\"../transform.js\").Transform} [opt_inversePixelTransform] Transform for\n * CSS pixels to rendered pixels.\n * @param {import(\"../PluggableMap.js\").FrameState} [opt_frameState] Frame state.\n * @param {?(CanvasRenderingContext2D|WebGLRenderingContext)} [opt_context] Context.\n */\n function RenderEvent(type, opt_inversePixelTransform, opt_frameState, opt_context) {\n var _this = _super.call(this, type) || this;\n /**\n * Transform from CSS pixels (relative to the top-left corner of the map viewport)\n * to rendered pixels on this event's `context`. Only available when a Canvas renderer is used, null otherwise.\n * @type {import(\"../transform.js\").Transform|undefined}\n * @api\n */\n _this.inversePixelTransform = opt_inversePixelTransform;\n /**\n * An object representing the current render frame state.\n * @type {import(\"../PluggableMap.js\").FrameState|undefined}\n * @api\n */\n _this.frameState = opt_frameState;\n /**\n * Canvas context. Not available when the event is dispatched by the map. For Canvas 2D layers,\n * the context will be the 2D rendering context. For WebGL layers, the context will be the WebGL\n * context.\n * @type {CanvasRenderingContext2D|WebGLRenderingContext|undefined}\n * @api\n */\n _this.context = opt_context;\n return _this;\n }\n return RenderEvent;\n}(Event));\nexport default RenderEvent;\n//# sourceMappingURL=Event.js.map","module.exports = \"data:image/png;base64,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\"","/**\n * @module ol/size\n */\n/**\n * An array of numbers representing a size: `[width, height]`.\n * @typedef {Array} Size\n * @api\n */\n/**\n * Returns a buffered size.\n * @param {Size} size Size.\n * @param {number} num The amount by which to buffer.\n * @param {Size} [opt_size] Optional reusable size array.\n * @return {Size} The buffered size.\n */\nexport function buffer(size, num, opt_size) {\n if (opt_size === undefined) {\n opt_size = [0, 0];\n }\n opt_size[0] = size[0] + 2 * num;\n opt_size[1] = size[1] + 2 * num;\n return opt_size;\n}\n/**\n * Determines if a size has a positive area.\n * @param {Size} size The size to test.\n * @return {boolean} The size has a positive area.\n */\nexport function hasArea(size) {\n return size[0] > 0 && size[1] > 0;\n}\n/**\n * Returns a size scaled by a ratio. The result will be an array of integers.\n * @param {Size} size Size.\n * @param {number} ratio Ratio.\n * @param {Size} [opt_size] Optional reusable size array.\n * @return {Size} The scaled size.\n */\nexport function scale(size, ratio, opt_size) {\n if (opt_size === undefined) {\n opt_size = [0, 0];\n }\n opt_size[0] = (size[0] * ratio + 0.5) | 0;\n opt_size[1] = (size[1] * ratio + 0.5) | 0;\n return opt_size;\n}\n/**\n * Returns an `Size` array for the passed in number (meaning: square) or\n * `Size` array.\n * (meaning: non-square),\n * @param {number|Size} size Width and height.\n * @param {Size} [opt_size] Optional reusable size array.\n * @return {Size} Size.\n * @api\n */\nexport function toSize(size, opt_size) {\n if (Array.isArray(size)) {\n return size;\n }\n else {\n if (opt_size === undefined) {\n opt_size = [size, size];\n }\n else {\n opt_size[0] = size;\n opt_size[1] = size;\n }\n return opt_size;\n }\n}\n//# sourceMappingURL=size.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerraIndexDynamicTable.vue?vue&type=style&index=0&id=90a82c22&prod&lang=less\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectDetailsTable.vue?vue&type=style&index=0&id=7af8d6bc&prod&lang=css\"","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/control/Control\n */\nimport BaseObject from '../Object.js';\nimport MapEventType from '../MapEventType.js';\nimport { VOID } from '../functions.js';\nimport { listen, unlistenByKey } from '../events.js';\nimport { removeNode } from '../dom.js';\n/**\n * @typedef {Object} Options\n * @property {HTMLElement} [element] The element is the control's\n * container element. This only needs to be specified if you're developing\n * a custom control.\n * @property {function(import(\"../MapEvent.js\").default):void} [render] Function called when\n * the control should be re-rendered. This is called in a `requestAnimationFrame`\n * callback.\n * @property {HTMLElement|string} [target] Specify a target if you want\n * the control to be rendered outside of the map's viewport.\n */\n/**\n * @classdesc\n * A control is a visible widget with a DOM element in a fixed position on the\n * screen. They can involve user input (buttons), or be informational only;\n * the position is determined using CSS. By default these are placed in the\n * container with CSS class name `ol-overlaycontainer-stopevent`, but can use\n * any outside DOM element.\n *\n * This is the base class for controls. You can use it for simple custom\n * controls by creating the element with listeners, creating an instance:\n * ```js\n * var myControl = new Control({element: myElement});\n * ```\n * and then adding this to the map.\n *\n * The main advantage of having this as a control rather than a simple separate\n * DOM element is that preventing propagation is handled for you. Controls\n * will also be objects in a {@link module:ol/Collection~Collection}, so you can use their methods.\n *\n * You can also extend this base for your own control class. See\n * examples/custom-controls for an example of how to do this.\n *\n * @api\n */\nvar Control = /** @class */ (function (_super) {\n __extends(Control, _super);\n /**\n * @param {Options} options Control options.\n */\n function Control(options) {\n var _this = _super.call(this) || this;\n var element = options.element;\n if (element && !options.target && !element.style.pointerEvents) {\n element.style.pointerEvents = 'auto';\n }\n /**\n * @protected\n * @type {HTMLElement}\n */\n _this.element = element ? element : null;\n /**\n * @private\n * @type {HTMLElement}\n */\n _this.target_ = null;\n /**\n * @private\n * @type {import(\"../PluggableMap.js\").default|null}\n */\n _this.map_ = null;\n /**\n * @protected\n * @type {!Array}\n */\n _this.listenerKeys = [];\n if (options.render) {\n _this.render = options.render;\n }\n if (options.target) {\n _this.setTarget(options.target);\n }\n return _this;\n }\n /**\n * Clean up.\n */\n Control.prototype.disposeInternal = function () {\n removeNode(this.element);\n _super.prototype.disposeInternal.call(this);\n };\n /**\n * Get the map associated with this control.\n * @return {import(\"../PluggableMap.js\").default|null} Map.\n * @api\n */\n Control.prototype.getMap = function () {\n return this.map_;\n };\n /**\n * Remove the control from its current map and attach it to the new map.\n * Pass `null` to just remove the control from the current map.\n * Subclasses may set up event handlers to get notified about changes to\n * the map here.\n * @param {import(\"../PluggableMap.js\").default|null} map Map.\n * @api\n */\n Control.prototype.setMap = function (map) {\n if (this.map_) {\n removeNode(this.element);\n }\n for (var i = 0, ii = this.listenerKeys.length; i < ii; ++i) {\n unlistenByKey(this.listenerKeys[i]);\n }\n this.listenerKeys.length = 0;\n this.map_ = map;\n if (map) {\n var target = this.target_\n ? this.target_\n : map.getOverlayContainerStopEvent();\n target.appendChild(this.element);\n if (this.render !== VOID) {\n this.listenerKeys.push(listen(map, MapEventType.POSTRENDER, this.render, this));\n }\n map.render();\n }\n };\n /**\n * Renders the control.\n * @param {import(\"../MapEvent.js\").default} mapEvent Map event.\n * @api\n */\n Control.prototype.render = function (mapEvent) { };\n /**\n * This function is used to set a target element for the control. It has no\n * effect if it is called after the control has been added to the map (i.e.\n * after `setMap` is called on the control). If no `target` is set in the\n * options passed to the control constructor and if `setTarget` is not called\n * then the control is added to the map's overlay container.\n * @param {HTMLElement|string} target Target.\n * @api\n */\n Control.prototype.setTarget = function (target) {\n this.target_ =\n typeof target === 'string' ? document.getElementById(target) : target;\n };\n return Control;\n}(BaseObject));\nexport default Control;\n//# sourceMappingURL=Control.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/interaction/DoubleClickZoom\n */\nimport Interaction, { zoomByDelta } from './Interaction.js';\nimport MapBrowserEventType from '../MapBrowserEventType.js';\n/**\n * @typedef {Object} Options\n * @property {number} [duration=250] Animation duration in milliseconds.\n * @property {number} [delta=1] The zoom delta applied on each double click.\n */\n/**\n * @classdesc\n * Allows the user to zoom by double-clicking on the map.\n * @api\n */\nvar DoubleClickZoom = /** @class */ (function (_super) {\n __extends(DoubleClickZoom, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function DoubleClickZoom(opt_options) {\n var _this = _super.call(this) || this;\n var options = opt_options ? opt_options : {};\n /**\n * @private\n * @type {number}\n */\n _this.delta_ = options.delta ? options.delta : 1;\n /**\n * @private\n * @type {number}\n */\n _this.duration_ = options.duration !== undefined ? options.duration : 250;\n return _this;\n }\n /**\n * Handles the {@link module:ol/MapBrowserEvent~MapBrowserEvent map browser event} (if it was a\n * doubleclick) and eventually zooms the map.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} `false` to stop event propagation.\n */\n DoubleClickZoom.prototype.handleEvent = function (mapBrowserEvent) {\n var stopEvent = false;\n if (mapBrowserEvent.type == MapBrowserEventType.DBLCLICK) {\n var browserEvent = /** @type {MouseEvent} */ (mapBrowserEvent.originalEvent);\n var map = mapBrowserEvent.map;\n var anchor = mapBrowserEvent.coordinate;\n var delta = browserEvent.shiftKey ? -this.delta_ : this.delta_;\n var view = map.getView();\n zoomByDelta(view, delta, anchor, this.duration_);\n browserEvent.preventDefault();\n stopEvent = true;\n }\n return !stopEvent;\n };\n return DoubleClickZoom;\n}(Interaction));\nexport default DoubleClickZoom;\n//# sourceMappingURL=DoubleClickZoom.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/interaction/DragPan\n */\nimport PointerInteraction, { centroid as centroidFromPointers, } from './Pointer.js';\nimport { FALSE } from '../functions.js';\nimport { all, focusWithTabindex, noModifierKeys, primaryAction, } from '../events/condition.js';\nimport { easeOut } from '../easing.js';\nimport { rotate as rotateCoordinate, scale as scaleCoordinate, } from '../coordinate.js';\n/**\n * @typedef {Object} Options\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a boolean\n * to indicate whether that event should be handled.\n * Default is {@link module:ol/events/condition.noModifierKeys} and {@link module:ol/events/condition.primaryAction}.\n * @property {boolean} [onFocusOnly=false] When the map's target has a `tabindex` attribute set,\n * the interaction will only handle events when the map has the focus.\n * @property {import(\"../Kinetic.js\").default} [kinetic] Kinetic inertia to apply to the pan.\n */\n/**\n * @classdesc\n * Allows the user to pan the map by dragging the map.\n * @api\n */\nvar DragPan = /** @class */ (function (_super) {\n __extends(DragPan, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function DragPan(opt_options) {\n var _this = _super.call(this, {\n stopDown: FALSE,\n }) || this;\n var options = opt_options ? opt_options : {};\n /**\n * @private\n * @type {import(\"../Kinetic.js\").default|undefined}\n */\n _this.kinetic_ = options.kinetic;\n /**\n * @type {import(\"../pixel.js\").Pixel}\n */\n _this.lastCentroid = null;\n /**\n * @type {number}\n */\n _this.lastPointersCount_;\n /**\n * @type {boolean}\n */\n _this.panning_ = false;\n var condition = options.condition\n ? options.condition\n : all(noModifierKeys, primaryAction);\n /**\n * @private\n * @type {import(\"../events/condition.js\").Condition}\n */\n _this.condition_ = options.onFocusOnly\n ? all(focusWithTabindex, condition)\n : condition;\n /**\n * @private\n * @type {boolean}\n */\n _this.noKinetic_ = false;\n return _this;\n }\n /**\n * Handle pointer drag events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n */\n DragPan.prototype.handleDragEvent = function (mapBrowserEvent) {\n if (!this.panning_) {\n this.panning_ = true;\n this.getMap().getView().beginInteraction();\n }\n var targetPointers = this.targetPointers;\n var centroid = centroidFromPointers(targetPointers);\n if (targetPointers.length == this.lastPointersCount_) {\n if (this.kinetic_) {\n this.kinetic_.update(centroid[0], centroid[1]);\n }\n if (this.lastCentroid) {\n var delta = [\n this.lastCentroid[0] - centroid[0],\n centroid[1] - this.lastCentroid[1],\n ];\n var map = mapBrowserEvent.map;\n var view = map.getView();\n scaleCoordinate(delta, view.getResolution());\n rotateCoordinate(delta, view.getRotation());\n view.adjustCenterInternal(delta);\n }\n }\n else if (this.kinetic_) {\n // reset so we don't overestimate the kinetic energy after\n // after one finger down, tiny drag, second finger down\n this.kinetic_.begin();\n }\n this.lastCentroid = centroid;\n this.lastPointersCount_ = targetPointers.length;\n mapBrowserEvent.originalEvent.preventDefault();\n };\n /**\n * Handle pointer up events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n DragPan.prototype.handleUpEvent = function (mapBrowserEvent) {\n var map = mapBrowserEvent.map;\n var view = map.getView();\n if (this.targetPointers.length === 0) {\n if (!this.noKinetic_ && this.kinetic_ && this.kinetic_.end()) {\n var distance = this.kinetic_.getDistance();\n var angle = this.kinetic_.getAngle();\n var center = view.getCenterInternal();\n var centerpx = map.getPixelFromCoordinateInternal(center);\n var dest = map.getCoordinateFromPixelInternal([\n centerpx[0] - distance * Math.cos(angle),\n centerpx[1] - distance * Math.sin(angle),\n ]);\n view.animateInternal({\n center: view.getConstrainedCenter(dest),\n duration: 500,\n easing: easeOut,\n });\n }\n if (this.panning_) {\n this.panning_ = false;\n view.endInteraction();\n }\n return false;\n }\n else {\n if (this.kinetic_) {\n // reset so we don't overestimate the kinetic energy after\n // after one finger up, tiny drag, second finger up\n this.kinetic_.begin();\n }\n this.lastCentroid = null;\n return true;\n }\n };\n /**\n * Handle pointer down events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n DragPan.prototype.handleDownEvent = function (mapBrowserEvent) {\n if (this.targetPointers.length > 0 && this.condition_(mapBrowserEvent)) {\n var map = mapBrowserEvent.map;\n var view = map.getView();\n this.lastCentroid = null;\n // stop any current animation\n if (view.getAnimating()) {\n view.cancelAnimations();\n }\n if (this.kinetic_) {\n this.kinetic_.begin();\n }\n // No kinetic as soon as more than one pointer on the screen is\n // detected. This is to prevent nasty pans after pinch.\n this.noKinetic_ = this.targetPointers.length > 1;\n return true;\n }\n else {\n return false;\n }\n };\n return DragPan;\n}(PointerInteraction));\nexport default DragPan;\n//# sourceMappingURL=DragPan.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/interaction/DragRotate\n */\nimport PointerInteraction from './Pointer.js';\nimport { FALSE } from '../functions.js';\nimport { altShiftKeysOnly, mouseActionButton, mouseOnly, } from '../events/condition.js';\nimport { disable } from '../rotationconstraint.js';\n/**\n * @typedef {Object} Options\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that takes an\n * {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a boolean\n * to indicate whether that event should be handled.\n * Default is {@link module:ol/events/condition.altShiftKeysOnly}.\n * @property {number} [duration=250] Animation duration in milliseconds.\n */\n/**\n * @classdesc\n * Allows the user to rotate the map by clicking and dragging on the map,\n * normally combined with an {@link module:ol/events/condition} that limits\n * it to when the alt and shift keys are held down.\n *\n * This interaction is only supported for mouse devices.\n * @api\n */\nvar DragRotate = /** @class */ (function (_super) {\n __extends(DragRotate, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function DragRotate(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n _this = _super.call(this, {\n stopDown: FALSE,\n }) || this;\n /**\n * @private\n * @type {import(\"../events/condition.js\").Condition}\n */\n _this.condition_ = options.condition ? options.condition : altShiftKeysOnly;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.lastAngle_ = undefined;\n /**\n * @private\n * @type {number}\n */\n _this.duration_ = options.duration !== undefined ? options.duration : 250;\n return _this;\n }\n /**\n * Handle pointer drag events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n */\n DragRotate.prototype.handleDragEvent = function (mapBrowserEvent) {\n if (!mouseOnly(mapBrowserEvent)) {\n return;\n }\n var map = mapBrowserEvent.map;\n var view = map.getView();\n if (view.getConstraints().rotation === disable) {\n return;\n }\n var size = map.getSize();\n var offset = mapBrowserEvent.pixel;\n var theta = Math.atan2(size[1] / 2 - offset[1], offset[0] - size[0] / 2);\n if (this.lastAngle_ !== undefined) {\n var delta = theta - this.lastAngle_;\n view.adjustRotationInternal(-delta);\n }\n this.lastAngle_ = theta;\n };\n /**\n * Handle pointer up events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n DragRotate.prototype.handleUpEvent = function (mapBrowserEvent) {\n if (!mouseOnly(mapBrowserEvent)) {\n return true;\n }\n var map = mapBrowserEvent.map;\n var view = map.getView();\n view.endInteraction(this.duration_);\n return false;\n };\n /**\n * Handle pointer down events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n DragRotate.prototype.handleDownEvent = function (mapBrowserEvent) {\n if (!mouseOnly(mapBrowserEvent)) {\n return false;\n }\n if (mouseActionButton(mapBrowserEvent) &&\n this.condition_(mapBrowserEvent)) {\n var map = mapBrowserEvent.map;\n map.getView().beginInteraction();\n this.lastAngle_ = undefined;\n return true;\n }\n else {\n return false;\n }\n };\n return DragRotate;\n}(PointerInteraction));\nexport default DragRotate;\n//# sourceMappingURL=DragRotate.js.map","/**\n * @module ol/render/Box\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Disposable from '../Disposable.js';\nimport Polygon from '../geom/Polygon.js';\nvar RenderBox = /** @class */ (function (_super) {\n __extends(RenderBox, _super);\n /**\n * @param {string} className CSS class name.\n */\n function RenderBox(className) {\n var _this = _super.call(this) || this;\n /**\n * @type {import(\"../geom/Polygon.js\").default}\n * @private\n */\n _this.geometry_ = null;\n /**\n * @type {HTMLDivElement}\n * @private\n */\n _this.element_ = document.createElement('div');\n _this.element_.style.position = 'absolute';\n _this.element_.style.pointerEvents = 'auto';\n _this.element_.className = 'ol-box ' + className;\n /**\n * @private\n * @type {import(\"../PluggableMap.js\").default|null}\n */\n _this.map_ = null;\n /**\n * @private\n * @type {import(\"../pixel.js\").Pixel}\n */\n _this.startPixel_ = null;\n /**\n * @private\n * @type {import(\"../pixel.js\").Pixel}\n */\n _this.endPixel_ = null;\n return _this;\n }\n /**\n * Clean up.\n */\n RenderBox.prototype.disposeInternal = function () {\n this.setMap(null);\n };\n /**\n * @private\n */\n RenderBox.prototype.render_ = function () {\n var startPixel = this.startPixel_;\n var endPixel = this.endPixel_;\n var px = 'px';\n var style = this.element_.style;\n style.left = Math.min(startPixel[0], endPixel[0]) + px;\n style.top = Math.min(startPixel[1], endPixel[1]) + px;\n style.width = Math.abs(endPixel[0] - startPixel[0]) + px;\n style.height = Math.abs(endPixel[1] - startPixel[1]) + px;\n };\n /**\n * @param {import(\"../PluggableMap.js\").default|null} map Map.\n */\n RenderBox.prototype.setMap = function (map) {\n if (this.map_) {\n this.map_.getOverlayContainer().removeChild(this.element_);\n var style = this.element_.style;\n style.left = 'inherit';\n style.top = 'inherit';\n style.width = 'inherit';\n style.height = 'inherit';\n }\n this.map_ = map;\n if (this.map_) {\n this.map_.getOverlayContainer().appendChild(this.element_);\n }\n };\n /**\n * @param {import(\"../pixel.js\").Pixel} startPixel Start pixel.\n * @param {import(\"../pixel.js\").Pixel} endPixel End pixel.\n */\n RenderBox.prototype.setPixels = function (startPixel, endPixel) {\n this.startPixel_ = startPixel;\n this.endPixel_ = endPixel;\n this.createOrUpdateGeometry();\n this.render_();\n };\n /**\n * Creates or updates the cached geometry.\n */\n RenderBox.prototype.createOrUpdateGeometry = function () {\n var startPixel = this.startPixel_;\n var endPixel = this.endPixel_;\n var pixels = [\n startPixel,\n [startPixel[0], endPixel[1]],\n endPixel,\n [endPixel[0], startPixel[1]],\n ];\n var coordinates = pixels.map(this.map_.getCoordinateFromPixelInternal, this.map_);\n // close the polygon\n coordinates[4] = coordinates[0].slice();\n if (!this.geometry_) {\n this.geometry_ = new Polygon([coordinates]);\n }\n else {\n this.geometry_.setCoordinates([coordinates]);\n }\n };\n /**\n * @return {import(\"../geom/Polygon.js\").default} Geometry.\n */\n RenderBox.prototype.getGeometry = function () {\n return this.geometry_;\n };\n return RenderBox;\n}(Disposable));\nexport default RenderBox;\n//# sourceMappingURL=Box.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/interaction/DragBox\n */\n// FIXME draw drag box\nimport Event from '../events/Event.js';\nimport PointerInteraction from './Pointer.js';\nimport RenderBox from '../render/Box.js';\nimport { mouseActionButton } from '../events/condition.js';\n/**\n * A function that takes a {@link module:ol/MapBrowserEvent~MapBrowserEvent} and two\n * {@link module:ol/pixel~Pixel}s and returns a `{boolean}`. If the condition is met,\n * true should be returned.\n * @typedef {function(this: ?, import(\"../MapBrowserEvent.js\").default, import(\"../pixel.js\").Pixel, import(\"../pixel.js\").Pixel):boolean} EndCondition\n */\n/**\n * @typedef {Object} Options\n * @property {string} [className='ol-dragbox'] CSS class name for styling the box.\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a boolean\n * to indicate whether that event should be handled.\n * Default is {@link ol/events/condition~mouseActionButton}.\n * @property {number} [minArea=64] The minimum area of the box in pixel, this value is used by the default\n * `boxEndCondition` function.\n * @property {EndCondition} [boxEndCondition] A function that takes a {@link module:ol/MapBrowserEvent~MapBrowserEvent} and two\n * {@link module:ol/pixel~Pixel}s to indicate whether a `boxend` event should be fired.\n * Default is `true` if the area of the box is bigger than the `minArea` option.\n * @property {function(this:DragBox, import(\"../MapBrowserEvent.js\").default):void} [onBoxEnd] Code to execute just\n * before `boxend` is fired.\n */\n/**\n * @enum {string}\n */\nvar DragBoxEventType = {\n /**\n * Triggered upon drag box start.\n * @event DragBoxEvent#boxstart\n * @api\n */\n BOXSTART: 'boxstart',\n /**\n * Triggered on drag when box is active.\n * @event DragBoxEvent#boxdrag\n * @api\n */\n BOXDRAG: 'boxdrag',\n /**\n * Triggered upon drag box end.\n * @event DragBoxEvent#boxend\n * @api\n */\n BOXEND: 'boxend',\n /**\n * Triggered upon drag box canceled.\n * @event DragBoxEvent#boxcancel\n * @api\n */\n BOXCANCEL: 'boxcancel',\n};\n/**\n * @classdesc\n * Events emitted by {@link module:ol/interaction/DragBox~DragBox} instances are instances of\n * this type.\n */\nvar DragBoxEvent = /** @class */ (function (_super) {\n __extends(DragBoxEvent, _super);\n /**\n * @param {string} type The event type.\n * @param {import(\"../coordinate.js\").Coordinate} coordinate The event coordinate.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Originating event.\n */\n function DragBoxEvent(type, coordinate, mapBrowserEvent) {\n var _this = _super.call(this, type) || this;\n /**\n * The coordinate of the drag event.\n * @const\n * @type {import(\"../coordinate.js\").Coordinate}\n * @api\n */\n _this.coordinate = coordinate;\n /**\n * @const\n * @type {import(\"../MapBrowserEvent.js\").default}\n * @api\n */\n _this.mapBrowserEvent = mapBrowserEvent;\n return _this;\n }\n return DragBoxEvent;\n}(Event));\nexport { DragBoxEvent };\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature<'boxcancel'|'boxdrag'|'boxend'|'boxstart', DragBoxEvent, Return> &\n * import(\"../Observable\").CombinedOnSignature} DragBoxOnSignature\n */\n/**\n * @classdesc\n * Allows the user to draw a vector box by clicking and dragging on the map,\n * normally combined with an {@link module:ol/events/condition} that limits\n * it to when the shift or other key is held down. This is used, for example,\n * for zooming to a specific area of the map\n * (see {@link module:ol/interaction/DragZoom~DragZoom} and\n * {@link module:ol/interaction/DragRotateAndZoom~DragRotateAndZoom}).\n *\n * @fires DragBoxEvent\n * @api\n */\nvar DragBox = /** @class */ (function (_super) {\n __extends(DragBox, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function DragBox(opt_options) {\n var _this = _super.call(this) || this;\n /***\n * @type {DragBoxOnSignature}\n */\n _this.on;\n /***\n * @type {DragBoxOnSignature}\n */\n _this.once;\n /***\n * @type {DragBoxOnSignature}\n */\n _this.un;\n var options = opt_options ? opt_options : {};\n /**\n * @type {import(\"../render/Box.js\").default}\n * @private\n */\n _this.box_ = new RenderBox(options.className || 'ol-dragbox');\n /**\n * @type {number}\n * @private\n */\n _this.minArea_ = options.minArea !== undefined ? options.minArea : 64;\n if (options.onBoxEnd) {\n _this.onBoxEnd = options.onBoxEnd;\n }\n /**\n * @type {import(\"../pixel.js\").Pixel}\n * @private\n */\n _this.startPixel_ = null;\n /**\n * @private\n * @type {import(\"../events/condition.js\").Condition}\n */\n _this.condition_ = options.condition ? options.condition : mouseActionButton;\n /**\n * @private\n * @type {EndCondition}\n */\n _this.boxEndCondition_ = options.boxEndCondition\n ? options.boxEndCondition\n : _this.defaultBoxEndCondition;\n return _this;\n }\n /**\n * The default condition for determining whether the boxend event\n * should fire.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent The originating MapBrowserEvent\n * leading to the box end.\n * @param {import(\"../pixel.js\").Pixel} startPixel The starting pixel of the box.\n * @param {import(\"../pixel.js\").Pixel} endPixel The end pixel of the box.\n * @return {boolean} Whether or not the boxend condition should be fired.\n */\n DragBox.prototype.defaultBoxEndCondition = function (mapBrowserEvent, startPixel, endPixel) {\n var width = endPixel[0] - startPixel[0];\n var height = endPixel[1] - startPixel[1];\n return width * width + height * height >= this.minArea_;\n };\n /**\n * Returns geometry of last drawn box.\n * @return {import(\"../geom/Polygon.js\").default} Geometry.\n * @api\n */\n DragBox.prototype.getGeometry = function () {\n return this.box_.getGeometry();\n };\n /**\n * Handle pointer drag events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n */\n DragBox.prototype.handleDragEvent = function (mapBrowserEvent) {\n this.box_.setPixels(this.startPixel_, mapBrowserEvent.pixel);\n this.dispatchEvent(new DragBoxEvent(DragBoxEventType.BOXDRAG, mapBrowserEvent.coordinate, mapBrowserEvent));\n };\n /**\n * Handle pointer up events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n DragBox.prototype.handleUpEvent = function (mapBrowserEvent) {\n this.box_.setMap(null);\n var completeBox = this.boxEndCondition_(mapBrowserEvent, this.startPixel_, mapBrowserEvent.pixel);\n if (completeBox) {\n this.onBoxEnd(mapBrowserEvent);\n }\n this.dispatchEvent(new DragBoxEvent(completeBox ? DragBoxEventType.BOXEND : DragBoxEventType.BOXCANCEL, mapBrowserEvent.coordinate, mapBrowserEvent));\n return false;\n };\n /**\n * Handle pointer down events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n DragBox.prototype.handleDownEvent = function (mapBrowserEvent) {\n if (this.condition_(mapBrowserEvent)) {\n this.startPixel_ = mapBrowserEvent.pixel;\n this.box_.setMap(mapBrowserEvent.map);\n this.box_.setPixels(this.startPixel_, this.startPixel_);\n this.dispatchEvent(new DragBoxEvent(DragBoxEventType.BOXSTART, mapBrowserEvent.coordinate, mapBrowserEvent));\n return true;\n }\n else {\n return false;\n }\n };\n /**\n * Function to execute just before `onboxend` is fired\n * @param {import(\"../MapBrowserEvent.js\").default} event Event.\n */\n DragBox.prototype.onBoxEnd = function (event) { };\n return DragBox;\n}(PointerInteraction));\nexport default DragBox;\n//# sourceMappingURL=DragBox.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/interaction/DragZoom\n */\nimport DragBox from './DragBox.js';\nimport { easeOut } from '../easing.js';\nimport { shiftKeyOnly } from '../events/condition.js';\n/**\n * @typedef {Object} Options\n * @property {string} [className='ol-dragzoom'] CSS class name for styling the\n * box.\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that\n * takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled.\n * Default is {@link module:ol/events/condition.shiftKeyOnly}.\n * @property {number} [duration=200] Animation duration in milliseconds.\n * @property {boolean} [out=false] Use interaction for zooming out.\n * @property {number} [minArea=64] The minimum area of the box in pixel, this value is used by the parent default\n * `boxEndCondition` function.\n */\n/**\n * @classdesc\n * Allows the user to zoom the map by clicking and dragging on the map,\n * normally combined with an {@link module:ol/events/condition} that limits\n * it to when a key, shift by default, is held down.\n *\n * To change the style of the box, use CSS and the `.ol-dragzoom` selector, or\n * your custom one configured with `className`.\n * @api\n */\nvar DragZoom = /** @class */ (function (_super) {\n __extends(DragZoom, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function DragZoom(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n var condition = options.condition ? options.condition : shiftKeyOnly;\n _this = _super.call(this, {\n condition: condition,\n className: options.className || 'ol-dragzoom',\n minArea: options.minArea,\n }) || this;\n /**\n * @private\n * @type {number}\n */\n _this.duration_ = options.duration !== undefined ? options.duration : 200;\n /**\n * @private\n * @type {boolean}\n */\n _this.out_ = options.out !== undefined ? options.out : false;\n return _this;\n }\n /**\n * Function to execute just before `onboxend` is fired\n * @param {import(\"../MapBrowserEvent.js\").default} event Event.\n */\n DragZoom.prototype.onBoxEnd = function (event) {\n var map = this.getMap();\n var view = /** @type {!import(\"../View.js\").default} */ (map.getView());\n var geometry = this.getGeometry();\n if (this.out_) {\n var rotatedExtent = view.rotatedExtentForGeometry(geometry);\n var resolution = view.getResolutionForExtentInternal(rotatedExtent);\n var factor = view.getResolution() / resolution;\n geometry = geometry.clone();\n geometry.scale(factor * factor);\n }\n view.fitInternal(geometry, {\n duration: this.duration_,\n easing: easeOut,\n });\n };\n return DragZoom;\n}(DragBox));\nexport default DragZoom;\n//# sourceMappingURL=DragZoom.js.map","/**\n * @module ol/events/KeyCode\n */\n/**\n * @enum {number}\n * @const\n */\nexport default {\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n};\n//# sourceMappingURL=KeyCode.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/interaction/KeyboardPan\n */\nimport EventType from '../events/EventType.js';\nimport Interaction, { pan } from './Interaction.js';\nimport KeyCode from '../events/KeyCode.js';\nimport { noModifierKeys, targetNotEditable } from '../events/condition.js';\nimport { rotate as rotateCoordinate } from '../coordinate.js';\n/**\n * @typedef {Object} Options\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that\n * takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled. Default is\n * {@link module:ol/events/condition.noModifierKeys} and\n * {@link module:ol/events/condition.targetNotEditable}.\n * @property {number} [duration=100] Animation duration in milliseconds.\n * @property {number} [pixelDelta=128] The amount of pixels to pan on each key\n * press.\n */\n/**\n * @classdesc\n * Allows the user to pan the map using keyboard arrows.\n * Note that, although this interaction is by default included in maps,\n * the keys can only be used when browser focus is on the element to which\n * the keyboard events are attached. By default, this is the map div,\n * though you can change this with the `keyboardEventTarget` in\n * {@link module:ol/Map~Map}. `document` never loses focus but, for any other\n * element, focus will have to be on, and returned to, this element if the keys\n * are to function.\n * See also {@link module:ol/interaction/KeyboardZoom~KeyboardZoom}.\n * @api\n */\nvar KeyboardPan = /** @class */ (function (_super) {\n __extends(KeyboardPan, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function KeyboardPan(opt_options) {\n var _this = _super.call(this) || this;\n var options = opt_options || {};\n /**\n * @private\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Browser event.\n * @return {boolean} Combined condition result.\n */\n _this.defaultCondition_ = function (mapBrowserEvent) {\n return (noModifierKeys(mapBrowserEvent) && targetNotEditable(mapBrowserEvent));\n };\n /**\n * @private\n * @type {import(\"../events/condition.js\").Condition}\n */\n _this.condition_ =\n options.condition !== undefined\n ? options.condition\n : _this.defaultCondition_;\n /**\n * @private\n * @type {number}\n */\n _this.duration_ = options.duration !== undefined ? options.duration : 100;\n /**\n * @private\n * @type {number}\n */\n _this.pixelDelta_ =\n options.pixelDelta !== undefined ? options.pixelDelta : 128;\n return _this;\n }\n /**\n * Handles the {@link module:ol/MapBrowserEvent~MapBrowserEvent map browser event} if it was a\n * `KeyEvent`, and decides the direction to pan to (if an arrow key was\n * pressed).\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} `false` to stop event propagation.\n * @this {KeyboardPan}\n */\n KeyboardPan.prototype.handleEvent = function (mapBrowserEvent) {\n var stopEvent = false;\n if (mapBrowserEvent.type == EventType.KEYDOWN) {\n var keyEvent = /** @type {KeyboardEvent} */ (mapBrowserEvent.originalEvent);\n var keyCode = keyEvent.keyCode;\n if (this.condition_(mapBrowserEvent) &&\n (keyCode == KeyCode.DOWN ||\n keyCode == KeyCode.LEFT ||\n keyCode == KeyCode.RIGHT ||\n keyCode == KeyCode.UP)) {\n var map = mapBrowserEvent.map;\n var view = map.getView();\n var mapUnitsDelta = view.getResolution() * this.pixelDelta_;\n var deltaX = 0, deltaY = 0;\n if (keyCode == KeyCode.DOWN) {\n deltaY = -mapUnitsDelta;\n }\n else if (keyCode == KeyCode.LEFT) {\n deltaX = -mapUnitsDelta;\n }\n else if (keyCode == KeyCode.RIGHT) {\n deltaX = mapUnitsDelta;\n }\n else {\n deltaY = mapUnitsDelta;\n }\n var delta = [deltaX, deltaY];\n rotateCoordinate(delta, view.getRotation());\n pan(view, delta, this.duration_);\n keyEvent.preventDefault();\n stopEvent = true;\n }\n }\n return !stopEvent;\n };\n return KeyboardPan;\n}(Interaction));\nexport default KeyboardPan;\n//# sourceMappingURL=KeyboardPan.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/interaction/KeyboardZoom\n */\nimport EventType from '../events/EventType.js';\nimport Interaction, { zoomByDelta } from './Interaction.js';\nimport { targetNotEditable } from '../events/condition.js';\n/**\n * @typedef {Object} Options\n * @property {number} [duration=100] Animation duration in milliseconds.\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that\n * takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled. Default is\n * {@link module:ol/events/condition.targetNotEditable}.\n * @property {number} [delta=1] The zoom level delta on each key press.\n */\n/**\n * @classdesc\n * Allows the user to zoom the map using keyboard + and -.\n * Note that, although this interaction is by default included in maps,\n * the keys can only be used when browser focus is on the element to which\n * the keyboard events are attached. By default, this is the map div,\n * though you can change this with the `keyboardEventTarget` in\n * {@link module:ol/Map~Map}. `document` never loses focus but, for any other\n * element, focus will have to be on, and returned to, this element if the keys\n * are to function.\n * See also {@link module:ol/interaction/KeyboardPan~KeyboardPan}.\n * @api\n */\nvar KeyboardZoom = /** @class */ (function (_super) {\n __extends(KeyboardZoom, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function KeyboardZoom(opt_options) {\n var _this = _super.call(this) || this;\n var options = opt_options ? opt_options : {};\n /**\n * @private\n * @type {import(\"../events/condition.js\").Condition}\n */\n _this.condition_ = options.condition ? options.condition : targetNotEditable;\n /**\n * @private\n * @type {number}\n */\n _this.delta_ = options.delta ? options.delta : 1;\n /**\n * @private\n * @type {number}\n */\n _this.duration_ = options.duration !== undefined ? options.duration : 100;\n return _this;\n }\n /**\n * Handles the {@link module:ol/MapBrowserEvent~MapBrowserEvent map browser event} if it was a\n * `KeyEvent`, and decides whether to zoom in or out (depending on whether the\n * key pressed was '+' or '-').\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} `false` to stop event propagation.\n * @this {KeyboardZoom}\n */\n KeyboardZoom.prototype.handleEvent = function (mapBrowserEvent) {\n var stopEvent = false;\n if (mapBrowserEvent.type == EventType.KEYDOWN ||\n mapBrowserEvent.type == EventType.KEYPRESS) {\n var keyEvent = /** @type {KeyboardEvent} */ (mapBrowserEvent.originalEvent);\n var charCode = keyEvent.charCode;\n if (this.condition_(mapBrowserEvent) &&\n (charCode == '+'.charCodeAt(0) || charCode == '-'.charCodeAt(0))) {\n var map = mapBrowserEvent.map;\n var delta = charCode == '+'.charCodeAt(0) ? this.delta_ : -this.delta_;\n var view = map.getView();\n zoomByDelta(view, delta, undefined, this.duration_);\n keyEvent.preventDefault();\n stopEvent = true;\n }\n }\n return !stopEvent;\n };\n return KeyboardZoom;\n}(Interaction));\nexport default KeyboardZoom;\n//# sourceMappingURL=KeyboardZoom.js.map","/**\n * @module ol/Kinetic\n */\n/**\n * @classdesc\n * Implementation of inertial deceleration for map movement.\n *\n * @api\n */\nvar Kinetic = /** @class */ (function () {\n /**\n * @param {number} decay Rate of decay (must be negative).\n * @param {number} minVelocity Minimum velocity (pixels/millisecond).\n * @param {number} delay Delay to consider to calculate the kinetic\n * initial values (milliseconds).\n */\n function Kinetic(decay, minVelocity, delay) {\n /**\n * @private\n * @type {number}\n */\n this.decay_ = decay;\n /**\n * @private\n * @type {number}\n */\n this.minVelocity_ = minVelocity;\n /**\n * @private\n * @type {number}\n */\n this.delay_ = delay;\n /**\n * @private\n * @type {Array}\n */\n this.points_ = [];\n /**\n * @private\n * @type {number}\n */\n this.angle_ = 0;\n /**\n * @private\n * @type {number}\n */\n this.initialVelocity_ = 0;\n }\n /**\n * FIXME empty description for jsdoc\n */\n Kinetic.prototype.begin = function () {\n this.points_.length = 0;\n this.angle_ = 0;\n this.initialVelocity_ = 0;\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n */\n Kinetic.prototype.update = function (x, y) {\n this.points_.push(x, y, Date.now());\n };\n /**\n * @return {boolean} Whether we should do kinetic animation.\n */\n Kinetic.prototype.end = function () {\n if (this.points_.length < 6) {\n // at least 2 points are required (i.e. there must be at least 6 elements\n // in the array)\n return false;\n }\n var delay = Date.now() - this.delay_;\n var lastIndex = this.points_.length - 3;\n if (this.points_[lastIndex + 2] < delay) {\n // the last tracked point is too old, which means that the user stopped\n // panning before releasing the map\n return false;\n }\n // get the first point which still falls into the delay time\n var firstIndex = lastIndex - 3;\n while (firstIndex > 0 && this.points_[firstIndex + 2] > delay) {\n firstIndex -= 3;\n }\n var duration = this.points_[lastIndex + 2] - this.points_[firstIndex + 2];\n // we don't want a duration of 0 (divide by zero)\n // we also make sure the user panned for a duration of at least one frame\n // (1/60s) to compute sane displacement values\n if (duration < 1000 / 60) {\n return false;\n }\n var dx = this.points_[lastIndex] - this.points_[firstIndex];\n var dy = this.points_[lastIndex + 1] - this.points_[firstIndex + 1];\n this.angle_ = Math.atan2(dy, dx);\n this.initialVelocity_ = Math.sqrt(dx * dx + dy * dy) / duration;\n return this.initialVelocity_ > this.minVelocity_;\n };\n /**\n * @return {number} Total distance travelled (pixels).\n */\n Kinetic.prototype.getDistance = function () {\n return (this.minVelocity_ - this.initialVelocity_) / this.decay_;\n };\n /**\n * @return {number} Angle of the kinetic panning animation (radians).\n */\n Kinetic.prototype.getAngle = function () {\n return this.angle_;\n };\n return Kinetic;\n}());\nexport default Kinetic;\n//# sourceMappingURL=Kinetic.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/interaction/MouseWheelZoom\n */\nimport EventType from '../events/EventType.js';\nimport Interaction, { zoomByDelta } from './Interaction.js';\nimport { DEVICE_PIXEL_RATIO, FIREFOX } from '../has.js';\nimport { all, always, focusWithTabindex } from '../events/condition.js';\nimport { clamp } from '../math.js';\n/**\n * @enum {string}\n */\nexport var Mode = {\n TRACKPAD: 'trackpad',\n WHEEL: 'wheel',\n};\n/**\n * @typedef {Object} Options\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that\n * takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled. Default is\n * {@link module:ol/events/condition.always}.\n * @property {boolean} [onFocusOnly=false] When the map's target has a `tabindex` attribute set,\n * the interaction will only handle events when the map has the focus.\n * @property {number} [maxDelta=1] Maximum mouse wheel delta.\n * @property {number} [duration=250] Animation duration in milliseconds.\n * @property {number} [timeout=80] Mouse wheel timeout duration in milliseconds.\n * @property {boolean} [useAnchor=true] Enable zooming using the mouse's\n * location as the anchor. When set to `false`, zooming in and out will zoom to\n * the center of the screen instead of zooming on the mouse's location.\n * @property {boolean} [constrainResolution=false] If true, the mouse wheel zoom\n * event will always animate to the closest zoom level after an interaction;\n * false means intermediary zoom levels are allowed.\n */\n/**\n * @classdesc\n * Allows the user to zoom the map by scrolling the mouse wheel.\n * @api\n */\nvar MouseWheelZoom = /** @class */ (function (_super) {\n __extends(MouseWheelZoom, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function MouseWheelZoom(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n _this = _super.call(this, \n /** @type {import(\"./Interaction.js\").InteractionOptions} */ (options)) || this;\n /**\n * @private\n * @type {number}\n */\n _this.totalDelta_ = 0;\n /**\n * @private\n * @type {number}\n */\n _this.lastDelta_ = 0;\n /**\n * @private\n * @type {number}\n */\n _this.maxDelta_ = options.maxDelta !== undefined ? options.maxDelta : 1;\n /**\n * @private\n * @type {number}\n */\n _this.duration_ = options.duration !== undefined ? options.duration : 250;\n /**\n * @private\n * @type {number}\n */\n _this.timeout_ = options.timeout !== undefined ? options.timeout : 80;\n /**\n * @private\n * @type {boolean}\n */\n _this.useAnchor_ =\n options.useAnchor !== undefined ? options.useAnchor : true;\n /**\n * @private\n * @type {boolean}\n */\n _this.constrainResolution_ =\n options.constrainResolution !== undefined\n ? options.constrainResolution\n : false;\n var condition = options.condition ? options.condition : always;\n /**\n * @private\n * @type {import(\"../events/condition.js\").Condition}\n */\n _this.condition_ = options.onFocusOnly\n ? all(focusWithTabindex, condition)\n : condition;\n /**\n * @private\n * @type {?import(\"../coordinate.js\").Coordinate}\n */\n _this.lastAnchor_ = null;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.startTime_ = undefined;\n /**\n * @private\n * @type {?}\n */\n _this.timeoutId_;\n /**\n * @private\n * @type {Mode|undefined}\n */\n _this.mode_ = undefined;\n /**\n * Trackpad events separated by this delay will be considered separate\n * interactions.\n * @type {number}\n */\n _this.trackpadEventGap_ = 400;\n /**\n * @type {?}\n */\n _this.trackpadTimeoutId_;\n /**\n * The number of delta values per zoom level\n * @private\n * @type {number}\n */\n _this.deltaPerZoom_ = 300;\n return _this;\n }\n /**\n * @private\n */\n MouseWheelZoom.prototype.endInteraction_ = function () {\n this.trackpadTimeoutId_ = undefined;\n var map = this.getMap();\n if (!map) {\n return;\n }\n var view = map.getView();\n view.endInteraction(undefined, this.lastDelta_ ? (this.lastDelta_ > 0 ? 1 : -1) : 0, this.lastAnchor_);\n };\n /**\n * Handles the {@link module:ol/MapBrowserEvent~MapBrowserEvent map browser event} (if it was a mousewheel-event) and eventually\n * zooms the map.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} `false` to stop event propagation.\n */\n MouseWheelZoom.prototype.handleEvent = function (mapBrowserEvent) {\n if (!this.condition_(mapBrowserEvent)) {\n return true;\n }\n var type = mapBrowserEvent.type;\n if (type !== EventType.WHEEL) {\n return true;\n }\n var map = mapBrowserEvent.map;\n var wheelEvent = /** @type {WheelEvent} */ (mapBrowserEvent.originalEvent);\n wheelEvent.preventDefault();\n if (this.useAnchor_) {\n this.lastAnchor_ = mapBrowserEvent.coordinate;\n }\n // Delta normalisation inspired by\n // https://github.com/mapbox/mapbox-gl-js/blob/001c7b9/js/ui/handler/scroll_zoom.js\n var delta;\n if (mapBrowserEvent.type == EventType.WHEEL) {\n delta = wheelEvent.deltaY;\n if (FIREFOX && wheelEvent.deltaMode === WheelEvent.DOM_DELTA_PIXEL) {\n delta /= DEVICE_PIXEL_RATIO;\n }\n if (wheelEvent.deltaMode === WheelEvent.DOM_DELTA_LINE) {\n delta *= 40;\n }\n }\n if (delta === 0) {\n return false;\n }\n else {\n this.lastDelta_ = delta;\n }\n var now = Date.now();\n if (this.startTime_ === undefined) {\n this.startTime_ = now;\n }\n if (!this.mode_ || now - this.startTime_ > this.trackpadEventGap_) {\n this.mode_ = Math.abs(delta) < 4 ? Mode.TRACKPAD : Mode.WHEEL;\n }\n var view = map.getView();\n if (this.mode_ === Mode.TRACKPAD &&\n !(view.getConstrainResolution() || this.constrainResolution_)) {\n if (this.trackpadTimeoutId_) {\n clearTimeout(this.trackpadTimeoutId_);\n }\n else {\n if (view.getAnimating()) {\n view.cancelAnimations();\n }\n view.beginInteraction();\n }\n this.trackpadTimeoutId_ = setTimeout(this.endInteraction_.bind(this), this.timeout_);\n view.adjustZoom(-delta / this.deltaPerZoom_, this.lastAnchor_);\n this.startTime_ = now;\n return false;\n }\n this.totalDelta_ += delta;\n var timeLeft = Math.max(this.timeout_ - (now - this.startTime_), 0);\n clearTimeout(this.timeoutId_);\n this.timeoutId_ = setTimeout(this.handleWheelZoom_.bind(this, map), timeLeft);\n return false;\n };\n /**\n * @private\n * @param {import(\"../PluggableMap.js\").default} map Map.\n */\n MouseWheelZoom.prototype.handleWheelZoom_ = function (map) {\n var view = map.getView();\n if (view.getAnimating()) {\n view.cancelAnimations();\n }\n var delta = -clamp(this.totalDelta_, -this.maxDelta_ * this.deltaPerZoom_, this.maxDelta_ * this.deltaPerZoom_) / this.deltaPerZoom_;\n if (view.getConstrainResolution() || this.constrainResolution_) {\n // view has a zoom constraint, zoom by 1\n delta = delta ? (delta > 0 ? 1 : -1) : 0;\n }\n zoomByDelta(view, delta, this.lastAnchor_, this.duration_);\n this.mode_ = undefined;\n this.totalDelta_ = 0;\n this.lastAnchor_ = null;\n this.startTime_ = undefined;\n this.timeoutId_ = undefined;\n };\n /**\n * Enable or disable using the mouse's location as an anchor when zooming\n * @param {boolean} useAnchor true to zoom to the mouse's location, false\n * to zoom to the center of the map\n * @api\n */\n MouseWheelZoom.prototype.setMouseAnchor = function (useAnchor) {\n this.useAnchor_ = useAnchor;\n if (!useAnchor) {\n this.lastAnchor_ = null;\n }\n };\n return MouseWheelZoom;\n}(Interaction));\nexport default MouseWheelZoom;\n//# sourceMappingURL=MouseWheelZoom.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/interaction/PinchRotate\n */\nimport PointerInteraction, { centroid as centroidFromPointers, } from './Pointer.js';\nimport { FALSE } from '../functions.js';\nimport { disable } from '../rotationconstraint.js';\n/**\n * @typedef {Object} Options\n * @property {number} [duration=250] The duration of the animation in\n * milliseconds.\n * @property {number} [threshold=0.3] Minimal angle in radians to start a rotation.\n */\n/**\n * @classdesc\n * Allows the user to rotate the map by twisting with two fingers\n * on a touch screen.\n * @api\n */\nvar PinchRotate = /** @class */ (function (_super) {\n __extends(PinchRotate, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function PinchRotate(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n var pointerOptions = /** @type {import(\"./Pointer.js\").Options} */ (options);\n if (!pointerOptions.stopDown) {\n pointerOptions.stopDown = FALSE;\n }\n _this = _super.call(this, pointerOptions) || this;\n /**\n * @private\n * @type {import(\"../coordinate.js\").Coordinate}\n */\n _this.anchor_ = null;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.lastAngle_ = undefined;\n /**\n * @private\n * @type {boolean}\n */\n _this.rotating_ = false;\n /**\n * @private\n * @type {number}\n */\n _this.rotationDelta_ = 0.0;\n /**\n * @private\n * @type {number}\n */\n _this.threshold_ = options.threshold !== undefined ? options.threshold : 0.3;\n /**\n * @private\n * @type {number}\n */\n _this.duration_ = options.duration !== undefined ? options.duration : 250;\n return _this;\n }\n /**\n * Handle pointer drag events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n */\n PinchRotate.prototype.handleDragEvent = function (mapBrowserEvent) {\n var rotationDelta = 0.0;\n var touch0 = this.targetPointers[0];\n var touch1 = this.targetPointers[1];\n // angle between touches\n var angle = Math.atan2(touch1.clientY - touch0.clientY, touch1.clientX - touch0.clientX);\n if (this.lastAngle_ !== undefined) {\n var delta = angle - this.lastAngle_;\n this.rotationDelta_ += delta;\n if (!this.rotating_ && Math.abs(this.rotationDelta_) > this.threshold_) {\n this.rotating_ = true;\n }\n rotationDelta = delta;\n }\n this.lastAngle_ = angle;\n var map = mapBrowserEvent.map;\n var view = map.getView();\n if (view.getConstraints().rotation === disable) {\n return;\n }\n // rotate anchor point.\n // FIXME: should be the intersection point between the lines:\n // touch0,touch1 and previousTouch0,previousTouch1\n var viewportPosition = map.getViewport().getBoundingClientRect();\n var centroid = centroidFromPointers(this.targetPointers);\n centroid[0] -= viewportPosition.left;\n centroid[1] -= viewportPosition.top;\n this.anchor_ = map.getCoordinateFromPixelInternal(centroid);\n // rotate\n if (this.rotating_) {\n map.render();\n view.adjustRotationInternal(rotationDelta, this.anchor_);\n }\n };\n /**\n * Handle pointer up events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n PinchRotate.prototype.handleUpEvent = function (mapBrowserEvent) {\n if (this.targetPointers.length < 2) {\n var map = mapBrowserEvent.map;\n var view = map.getView();\n view.endInteraction(this.duration_);\n return false;\n }\n else {\n return true;\n }\n };\n /**\n * Handle pointer down events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n PinchRotate.prototype.handleDownEvent = function (mapBrowserEvent) {\n if (this.targetPointers.length >= 2) {\n var map = mapBrowserEvent.map;\n this.anchor_ = null;\n this.lastAngle_ = undefined;\n this.rotating_ = false;\n this.rotationDelta_ = 0.0;\n if (!this.handlingDownUpSequence) {\n map.getView().beginInteraction();\n }\n return true;\n }\n else {\n return false;\n }\n };\n return PinchRotate;\n}(PointerInteraction));\nexport default PinchRotate;\n//# sourceMappingURL=PinchRotate.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/interaction/PinchZoom\n */\nimport PointerInteraction, { centroid as centroidFromPointers, } from './Pointer.js';\nimport { FALSE } from '../functions.js';\n/**\n * @typedef {Object} Options\n * @property {number} [duration=400] Animation duration in milliseconds.\n */\n/**\n * @classdesc\n * Allows the user to zoom the map by pinching with two fingers\n * on a touch screen.\n * @api\n */\nvar PinchZoom = /** @class */ (function (_super) {\n __extends(PinchZoom, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function PinchZoom(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n var pointerOptions = /** @type {import(\"./Pointer.js\").Options} */ (options);\n if (!pointerOptions.stopDown) {\n pointerOptions.stopDown = FALSE;\n }\n _this = _super.call(this, pointerOptions) || this;\n /**\n * @private\n * @type {import(\"../coordinate.js\").Coordinate}\n */\n _this.anchor_ = null;\n /**\n * @private\n * @type {number}\n */\n _this.duration_ = options.duration !== undefined ? options.duration : 400;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.lastDistance_ = undefined;\n /**\n * @private\n * @type {number}\n */\n _this.lastScaleDelta_ = 1;\n return _this;\n }\n /**\n * Handle pointer drag events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n */\n PinchZoom.prototype.handleDragEvent = function (mapBrowserEvent) {\n var scaleDelta = 1.0;\n var touch0 = this.targetPointers[0];\n var touch1 = this.targetPointers[1];\n var dx = touch0.clientX - touch1.clientX;\n var dy = touch0.clientY - touch1.clientY;\n // distance between touches\n var distance = Math.sqrt(dx * dx + dy * dy);\n if (this.lastDistance_ !== undefined) {\n scaleDelta = this.lastDistance_ / distance;\n }\n this.lastDistance_ = distance;\n var map = mapBrowserEvent.map;\n var view = map.getView();\n if (scaleDelta != 1.0) {\n this.lastScaleDelta_ = scaleDelta;\n }\n // scale anchor point.\n var viewportPosition = map.getViewport().getBoundingClientRect();\n var centroid = centroidFromPointers(this.targetPointers);\n centroid[0] -= viewportPosition.left;\n centroid[1] -= viewportPosition.top;\n this.anchor_ = map.getCoordinateFromPixelInternal(centroid);\n // scale, bypass the resolution constraint\n map.render();\n view.adjustResolutionInternal(scaleDelta, this.anchor_);\n };\n /**\n * Handle pointer up events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n PinchZoom.prototype.handleUpEvent = function (mapBrowserEvent) {\n if (this.targetPointers.length < 2) {\n var map = mapBrowserEvent.map;\n var view = map.getView();\n var direction = this.lastScaleDelta_ > 1 ? 1 : -1;\n view.endInteraction(this.duration_, direction);\n return false;\n }\n else {\n return true;\n }\n };\n /**\n * Handle pointer down events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n */\n PinchZoom.prototype.handleDownEvent = function (mapBrowserEvent) {\n if (this.targetPointers.length >= 2) {\n var map = mapBrowserEvent.map;\n this.anchor_ = null;\n this.lastDistance_ = undefined;\n this.lastScaleDelta_ = 1;\n if (!this.handlingDownUpSequence) {\n map.getView().beginInteraction();\n }\n return true;\n }\n else {\n return false;\n }\n };\n return PinchZoom;\n}(PointerInteraction));\nexport default PinchZoom;\n//# sourceMappingURL=PinchZoom.js.map","/**\n * @module ol/interaction\n */\nimport Collection from './Collection.js';\nimport DoubleClickZoom from './interaction/DoubleClickZoom.js';\nimport DragPan from './interaction/DragPan.js';\nimport DragRotate from './interaction/DragRotate.js';\nimport DragZoom from './interaction/DragZoom.js';\nimport KeyboardPan from './interaction/KeyboardPan.js';\nimport KeyboardZoom from './interaction/KeyboardZoom.js';\nimport Kinetic from './Kinetic.js';\nimport MouseWheelZoom from './interaction/MouseWheelZoom.js';\nimport PinchRotate from './interaction/PinchRotate.js';\nimport PinchZoom from './interaction/PinchZoom.js';\nexport { default as DoubleClickZoom } from './interaction/DoubleClickZoom.js';\nexport { default as DragAndDrop } from './interaction/DragAndDrop.js';\nexport { default as DragBox } from './interaction/DragBox.js';\nexport { default as DragPan } from './interaction/DragPan.js';\nexport { default as DragRotate } from './interaction/DragRotate.js';\nexport { default as DragRotateAndZoom } from './interaction/DragRotateAndZoom.js';\nexport { default as DragZoom } from './interaction/DragZoom.js';\nexport { default as Draw } from './interaction/Draw.js';\nexport { default as Extent } from './interaction/Extent.js';\nexport { default as Interaction } from './interaction/Interaction.js';\nexport { default as KeyboardPan } from './interaction/KeyboardPan.js';\nexport { default as KeyboardZoom } from './interaction/KeyboardZoom.js';\nexport { default as Modify } from './interaction/Modify.js';\nexport { default as MouseWheelZoom } from './interaction/MouseWheelZoom.js';\nexport { default as PinchRotate } from './interaction/PinchRotate.js';\nexport { default as PinchZoom } from './interaction/PinchZoom.js';\nexport { default as Pointer } from './interaction/Pointer.js';\nexport { default as Select } from './interaction/Select.js';\nexport { default as Snap } from './interaction/Snap.js';\nexport { default as Translate } from './interaction/Translate.js';\n/**\n * @typedef {Object} DefaultsOptions\n * @property {boolean} [altShiftDragRotate=true] Whether Alt-Shift-drag rotate is\n * desired.\n * @property {boolean} [onFocusOnly=false] Interact only when the map has the\n * focus. This affects the `MouseWheelZoom` and `DragPan` interactions and is\n * useful when page scroll is desired for maps that do not have the browser's\n * focus.\n * @property {boolean} [doubleClickZoom=true] Whether double click zoom is\n * desired.\n * @property {boolean} [keyboard=true] Whether keyboard interaction is desired.\n * @property {boolean} [mouseWheelZoom=true] Whether mousewheel zoom is desired.\n * @property {boolean} [shiftDragZoom=true] Whether Shift-drag zoom is desired.\n * @property {boolean} [dragPan=true] Whether drag pan is desired.\n * @property {boolean} [pinchRotate=true] Whether pinch rotate is desired.\n * @property {boolean} [pinchZoom=true] Whether pinch zoom is desired.\n * @property {number} [zoomDelta] Zoom level delta when using keyboard or double click zoom.\n * @property {number} [zoomDuration] Duration of the zoom animation in\n * milliseconds.\n */\n/**\n * Set of interactions included in maps by default. Specific interactions can be\n * excluded by setting the appropriate option to false in the constructor\n * options, but the order of the interactions is fixed. If you want to specify\n * a different order for interactions, you will need to create your own\n * {@link module:ol/interaction/Interaction~Interaction} instances and insert\n * them into a {@link module:ol/Collection~Collection} in the order you want\n * before creating your {@link module:ol/Map~Map} instance. Changing the order can\n * be of interest if the event propagation needs to be stopped at a point.\n * The default set of interactions, in sequence, is:\n * * {@link module:ol/interaction/DragRotate~DragRotate}\n * * {@link module:ol/interaction/DoubleClickZoom~DoubleClickZoom}\n * * {@link module:ol/interaction/DragPan~DragPan}\n * * {@link module:ol/interaction/PinchRotate~PinchRotate}\n * * {@link module:ol/interaction/PinchZoom~PinchZoom}\n * * {@link module:ol/interaction/KeyboardPan~KeyboardPan}\n * * {@link module:ol/interaction/KeyboardZoom~KeyboardZoom}\n * * {@link module:ol/interaction/MouseWheelZoom~MouseWheelZoom}\n * * {@link module:ol/interaction/DragZoom~DragZoom}\n *\n * @param {DefaultsOptions} [opt_options] Defaults options.\n * @return {import(\"./Collection.js\").default}\n * A collection of interactions to be used with the {@link module:ol/Map~Map}\n * constructor's `interactions` option.\n * @api\n */\nexport function defaults(opt_options) {\n var options = opt_options ? opt_options : {};\n var interactions = new Collection();\n var kinetic = new Kinetic(-0.005, 0.05, 100);\n var altShiftDragRotate = options.altShiftDragRotate !== undefined\n ? options.altShiftDragRotate\n : true;\n if (altShiftDragRotate) {\n interactions.push(new DragRotate());\n }\n var doubleClickZoom = options.doubleClickZoom !== undefined ? options.doubleClickZoom : true;\n if (doubleClickZoom) {\n interactions.push(new DoubleClickZoom({\n delta: options.zoomDelta,\n duration: options.zoomDuration,\n }));\n }\n var dragPan = options.dragPan !== undefined ? options.dragPan : true;\n if (dragPan) {\n interactions.push(new DragPan({\n onFocusOnly: options.onFocusOnly,\n kinetic: kinetic,\n }));\n }\n var pinchRotate = options.pinchRotate !== undefined ? options.pinchRotate : true;\n if (pinchRotate) {\n interactions.push(new PinchRotate());\n }\n var pinchZoom = options.pinchZoom !== undefined ? options.pinchZoom : true;\n if (pinchZoom) {\n interactions.push(new PinchZoom({\n duration: options.zoomDuration,\n }));\n }\n var keyboard = options.keyboard !== undefined ? options.keyboard : true;\n if (keyboard) {\n interactions.push(new KeyboardPan());\n interactions.push(new KeyboardZoom({\n delta: options.zoomDelta,\n duration: options.zoomDuration,\n }));\n }\n var mouseWheelZoom = options.mouseWheelZoom !== undefined ? options.mouseWheelZoom : true;\n if (mouseWheelZoom) {\n interactions.push(new MouseWheelZoom({\n onFocusOnly: options.onFocusOnly,\n duration: options.zoomDuration,\n }));\n }\n var shiftDragZoom = options.shiftDragZoom !== undefined ? options.shiftDragZoom : true;\n if (shiftDragZoom) {\n interactions.push(new DragZoom({\n duration: options.zoomDuration,\n }));\n }\n return interactions;\n}\n//# sourceMappingURL=interaction.js.map","/**\n * @module ol/style/IconImageCache\n */\nimport { asString } from '../color.js';\n/**\n * @classdesc\n * Singleton class. Available through {@link module:ol/style/IconImageCache.shared}.\n */\nvar IconImageCache = /** @class */ (function () {\n function IconImageCache() {\n /**\n * @type {!Object}\n * @private\n */\n this.cache_ = {};\n /**\n * @type {number}\n * @private\n */\n this.cacheSize_ = 0;\n /**\n * @type {number}\n * @private\n */\n this.maxCacheSize_ = 32;\n }\n /**\n * FIXME empty description for jsdoc\n */\n IconImageCache.prototype.clear = function () {\n this.cache_ = {};\n this.cacheSize_ = 0;\n };\n /**\n * @return {boolean} Can expire cache.\n */\n IconImageCache.prototype.canExpireCache = function () {\n return this.cacheSize_ > this.maxCacheSize_;\n };\n /**\n * FIXME empty description for jsdoc\n */\n IconImageCache.prototype.expire = function () {\n if (this.canExpireCache()) {\n var i = 0;\n for (var key in this.cache_) {\n var iconImage = this.cache_[key];\n if ((i++ & 3) === 0 && !iconImage.hasListener()) {\n delete this.cache_[key];\n --this.cacheSize_;\n }\n }\n }\n };\n /**\n * @param {string} src Src.\n * @param {?string} crossOrigin Cross origin.\n * @param {import(\"../color.js\").Color} color Color.\n * @return {import(\"./IconImage.js\").default} Icon image.\n */\n IconImageCache.prototype.get = function (src, crossOrigin, color) {\n var key = getKey(src, crossOrigin, color);\n return key in this.cache_ ? this.cache_[key] : null;\n };\n /**\n * @param {string} src Src.\n * @param {?string} crossOrigin Cross origin.\n * @param {import(\"../color.js\").Color} color Color.\n * @param {import(\"./IconImage.js\").default} iconImage Icon image.\n */\n IconImageCache.prototype.set = function (src, crossOrigin, color, iconImage) {\n var key = getKey(src, crossOrigin, color);\n this.cache_[key] = iconImage;\n ++this.cacheSize_;\n };\n /**\n * Set the cache size of the icon cache. Default is `32`. Change this value when\n * your map uses more than 32 different icon images and you are not caching icon\n * styles on the application level.\n * @param {number} maxCacheSize Cache max size.\n * @api\n */\n IconImageCache.prototype.setSize = function (maxCacheSize) {\n this.maxCacheSize_ = maxCacheSize;\n this.expire();\n };\n return IconImageCache;\n}());\n/**\n * @param {string} src Src.\n * @param {?string} crossOrigin Cross origin.\n * @param {import(\"../color.js\").Color} color Color.\n * @return {string} Cache key.\n */\nfunction getKey(src, crossOrigin, color) {\n var colorString = color ? asString(color) : 'null';\n return crossOrigin + ':' + src + ':' + colorString;\n}\nexport default IconImageCache;\n/**\n * The {@link module:ol/style/IconImageCache~IconImageCache} for\n * {@link module:ol/style/Icon~Icon} images.\n * @api\n */\nexport var shared = new IconImageCache();\n//# sourceMappingURL=IconImageCache.js.map","/**\n * @module ol/reproj\n */\nimport { IMAGE_SMOOTHING_DISABLED } from './renderer/canvas/common.js';\nimport { assign } from './obj.js';\nimport { containsCoordinate, createEmpty, extend, forEachCorner, getCenter, getHeight, getTopLeft, getWidth, } from './extent.js';\nimport { createCanvasContext2D } from './dom.js';\nimport { getPointResolution, transform } from './proj.js';\nimport { solveLinearSystem } from './math.js';\nvar brokenDiagonalRendering_;\n/**\n * @type {Array}\n */\nexport var canvasPool = [];\n/**\n * This draws a small triangle into a canvas by setting the triangle as the clip region\n * and then drawing a (too large) rectangle\n *\n * @param {CanvasRenderingContext2D} ctx The context in which to draw the triangle\n * @param {number} u1 The x-coordinate of the second point. The first point is 0,0.\n * @param {number} v1 The y-coordinate of the second point.\n * @param {number} u2 The x-coordinate of the third point.\n * @param {number} v2 The y-coordinate of the third point.\n */\nfunction drawTestTriangle(ctx, u1, v1, u2, v2) {\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(u1, v1);\n ctx.lineTo(u2, v2);\n ctx.closePath();\n ctx.save();\n ctx.clip();\n ctx.fillRect(0, 0, Math.max(u1, u2) + 1, Math.max(v1, v2));\n ctx.restore();\n}\n/**\n * Given the data from getImageData, see if the right values appear at the provided offset.\n * Returns true if either the color or transparency is off\n *\n * @param {Uint8ClampedArray} data The data returned from getImageData\n * @param {number} offset The pixel offset from the start of data.\n * @return {boolean} true if the diagonal rendering is broken\n */\nfunction verifyBrokenDiagonalRendering(data, offset) {\n // the values ought to be close to the rgba(210, 0, 0, 0.75)\n return (Math.abs(data[offset * 4] - 210) > 2 ||\n Math.abs(data[offset * 4 + 3] - 0.75 * 255) > 2);\n}\n/**\n * Determines if the current browser configuration can render triangular clip regions correctly.\n * This value is cached so the function is only expensive the first time called.\n * Firefox on Windows (as of now) does not if HWA is enabled. See https://bugzilla.mozilla.org/show_bug.cgi?id=1606976\n * IE also doesn't. Chrome works, and everything seems to work on OSX and Android. This function caches the\n * result. I suppose that it is conceivably possible that a browser might flip modes while the app is\n * running, but lets hope not.\n *\n * @return {boolean} true if the Diagonal Rendering is broken.\n */\nfunction isBrokenDiagonalRendering() {\n if (brokenDiagonalRendering_ === undefined) {\n var ctx = document.createElement('canvas').getContext('2d');\n ctx.globalCompositeOperation = 'lighter';\n ctx.fillStyle = 'rgba(210, 0, 0, 0.75)';\n drawTestTriangle(ctx, 4, 5, 4, 0);\n drawTestTriangle(ctx, 4, 5, 0, 5);\n var data = ctx.getImageData(0, 0, 3, 3).data;\n brokenDiagonalRendering_ =\n verifyBrokenDiagonalRendering(data, 0) ||\n verifyBrokenDiagonalRendering(data, 4) ||\n verifyBrokenDiagonalRendering(data, 8);\n }\n return brokenDiagonalRendering_;\n}\n/**\n * Calculates ideal resolution to use from the source in order to achieve\n * pixel mapping as close as possible to 1:1 during reprojection.\n * The resolution is calculated regardless of what resolutions\n * are actually available in the dataset (TileGrid, Image, ...).\n *\n * @param {import(\"./proj/Projection.js\").default} sourceProj Source projection.\n * @param {import(\"./proj/Projection.js\").default} targetProj Target projection.\n * @param {import(\"./coordinate.js\").Coordinate} targetCenter Target center.\n * @param {number} targetResolution Target resolution.\n * @return {number} The best resolution to use. Can be +-Infinity, NaN or 0.\n */\nexport function calculateSourceResolution(sourceProj, targetProj, targetCenter, targetResolution) {\n var sourceCenter = transform(targetCenter, targetProj, sourceProj);\n // calculate the ideal resolution of the source data\n var sourceResolution = getPointResolution(targetProj, targetResolution, targetCenter);\n var targetMetersPerUnit = targetProj.getMetersPerUnit();\n if (targetMetersPerUnit !== undefined) {\n sourceResolution *= targetMetersPerUnit;\n }\n var sourceMetersPerUnit = sourceProj.getMetersPerUnit();\n if (sourceMetersPerUnit !== undefined) {\n sourceResolution /= sourceMetersPerUnit;\n }\n // Based on the projection properties, the point resolution at the specified\n // coordinates may be slightly different. We need to reverse-compensate this\n // in order to achieve optimal results.\n var sourceExtent = sourceProj.getExtent();\n if (!sourceExtent || containsCoordinate(sourceExtent, sourceCenter)) {\n var compensationFactor = getPointResolution(sourceProj, sourceResolution, sourceCenter) /\n sourceResolution;\n if (isFinite(compensationFactor) && compensationFactor > 0) {\n sourceResolution /= compensationFactor;\n }\n }\n return sourceResolution;\n}\n/**\n * Calculates ideal resolution to use from the source in order to achieve\n * pixel mapping as close as possible to 1:1 during reprojection.\n * The resolution is calculated regardless of what resolutions\n * are actually available in the dataset (TileGrid, Image, ...).\n *\n * @param {import(\"./proj/Projection.js\").default} sourceProj Source projection.\n * @param {import(\"./proj/Projection.js\").default} targetProj Target projection.\n * @param {import(\"./extent.js\").Extent} targetExtent Target extent\n * @param {number} targetResolution Target resolution.\n * @return {number} The best resolution to use. Can be +-Infinity, NaN or 0.\n */\nexport function calculateSourceExtentResolution(sourceProj, targetProj, targetExtent, targetResolution) {\n var targetCenter = getCenter(targetExtent);\n var sourceResolution = calculateSourceResolution(sourceProj, targetProj, targetCenter, targetResolution);\n if (!isFinite(sourceResolution) || sourceResolution <= 0) {\n forEachCorner(targetExtent, function (corner) {\n sourceResolution = calculateSourceResolution(sourceProj, targetProj, corner, targetResolution);\n return isFinite(sourceResolution) && sourceResolution > 0;\n });\n }\n return sourceResolution;\n}\n/**\n * @typedef {Object} ImageExtent\n * @property {import(\"./extent.js\").Extent} extent Extent.\n * @property {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} image Image.\n */\n/**\n * Renders the source data into new canvas based on the triangulation.\n *\n * @param {number} width Width of the canvas.\n * @param {number} height Height of the canvas.\n * @param {number} pixelRatio Pixel ratio.\n * @param {number} sourceResolution Source resolution.\n * @param {import(\"./extent.js\").Extent} sourceExtent Extent of the data source.\n * @param {number} targetResolution Target resolution.\n * @param {import(\"./extent.js\").Extent} targetExtent Target extent.\n * @param {import(\"./reproj/Triangulation.js\").default} triangulation Calculated triangulation.\n * @param {Array} sources Array of sources.\n * @param {number} gutter Gutter of the sources.\n * @param {boolean} [opt_renderEdges] Render reprojection edges.\n * @param {boolean} [opt_interpolate] Use linear interpolation when resampling.\n * @return {HTMLCanvasElement} Canvas with reprojected data.\n */\nexport function render(width, height, pixelRatio, sourceResolution, sourceExtent, targetResolution, targetExtent, triangulation, sources, gutter, opt_renderEdges, opt_interpolate) {\n var context = createCanvasContext2D(Math.round(pixelRatio * width), Math.round(pixelRatio * height), canvasPool);\n if (!opt_interpolate) {\n assign(context, IMAGE_SMOOTHING_DISABLED);\n }\n if (sources.length === 0) {\n return context.canvas;\n }\n context.scale(pixelRatio, pixelRatio);\n function pixelRound(value) {\n return Math.round(value * pixelRatio) / pixelRatio;\n }\n context.globalCompositeOperation = 'lighter';\n var sourceDataExtent = createEmpty();\n sources.forEach(function (src, i, arr) {\n extend(sourceDataExtent, src.extent);\n });\n var canvasWidthInUnits = getWidth(sourceDataExtent);\n var canvasHeightInUnits = getHeight(sourceDataExtent);\n var stitchContext = createCanvasContext2D(Math.round((pixelRatio * canvasWidthInUnits) / sourceResolution), Math.round((pixelRatio * canvasHeightInUnits) / sourceResolution));\n if (!opt_interpolate) {\n assign(stitchContext, IMAGE_SMOOTHING_DISABLED);\n }\n var stitchScale = pixelRatio / sourceResolution;\n sources.forEach(function (src, i, arr) {\n var xPos = src.extent[0] - sourceDataExtent[0];\n var yPos = -(src.extent[3] - sourceDataExtent[3]);\n var srcWidth = getWidth(src.extent);\n var srcHeight = getHeight(src.extent);\n // This test should never fail -- but it does. Need to find a fix the upstream condition\n if (src.image.width > 0 && src.image.height > 0) {\n stitchContext.drawImage(src.image, gutter, gutter, src.image.width - 2 * gutter, src.image.height - 2 * gutter, xPos * stitchScale, yPos * stitchScale, srcWidth * stitchScale, srcHeight * stitchScale);\n }\n });\n var targetTopLeft = getTopLeft(targetExtent);\n triangulation.getTriangles().forEach(function (triangle, i, arr) {\n /* Calculate affine transform (src -> dst)\n * Resulting matrix can be used to transform coordinate\n * from `sourceProjection` to destination pixels.\n *\n * To optimize number of context calls and increase numerical stability,\n * we also do the following operations:\n * trans(-topLeftExtentCorner), scale(1 / targetResolution), scale(1, -1)\n * here before solving the linear system so [ui, vi] are pixel coordinates.\n *\n * Src points: xi, yi\n * Dst points: ui, vi\n * Affine coefficients: aij\n *\n * | x0 y0 1 0 0 0 | |a00| |u0|\n * | x1 y1 1 0 0 0 | |a01| |u1|\n * | x2 y2 1 0 0 0 | x |a02| = |u2|\n * | 0 0 0 x0 y0 1 | |a10| |v0|\n * | 0 0 0 x1 y1 1 | |a11| |v1|\n * | 0 0 0 x2 y2 1 | |a12| |v2|\n */\n var source = triangle.source;\n var target = triangle.target;\n var x0 = source[0][0], y0 = source[0][1];\n var x1 = source[1][0], y1 = source[1][1];\n var x2 = source[2][0], y2 = source[2][1];\n // Make sure that everything is on pixel boundaries\n var u0 = pixelRound((target[0][0] - targetTopLeft[0]) / targetResolution);\n var v0 = pixelRound(-(target[0][1] - targetTopLeft[1]) / targetResolution);\n var u1 = pixelRound((target[1][0] - targetTopLeft[0]) / targetResolution);\n var v1 = pixelRound(-(target[1][1] - targetTopLeft[1]) / targetResolution);\n var u2 = pixelRound((target[2][0] - targetTopLeft[0]) / targetResolution);\n var v2 = pixelRound(-(target[2][1] - targetTopLeft[1]) / targetResolution);\n // Shift all the source points to improve numerical stability\n // of all the subsequent calculations. The [x0, y0] is used here.\n // This is also used to simplify the linear system.\n var sourceNumericalShiftX = x0;\n var sourceNumericalShiftY = y0;\n x0 = 0;\n y0 = 0;\n x1 -= sourceNumericalShiftX;\n y1 -= sourceNumericalShiftY;\n x2 -= sourceNumericalShiftX;\n y2 -= sourceNumericalShiftY;\n var augmentedMatrix = [\n [x1, y1, 0, 0, u1 - u0],\n [x2, y2, 0, 0, u2 - u0],\n [0, 0, x1, y1, v1 - v0],\n [0, 0, x2, y2, v2 - v0],\n ];\n var affineCoefs = solveLinearSystem(augmentedMatrix);\n if (!affineCoefs) {\n return;\n }\n context.save();\n context.beginPath();\n if (isBrokenDiagonalRendering() || !opt_interpolate) {\n // Make sure that all lines are horizontal or vertical\n context.moveTo(u1, v1);\n // This is the diagonal line. Do it in 4 steps\n var steps = 4;\n var ud = u0 - u1;\n var vd = v0 - v1;\n for (var step = 0; step < steps; step++) {\n // Go horizontally\n context.lineTo(u1 + pixelRound(((step + 1) * ud) / steps), v1 + pixelRound((step * vd) / (steps - 1)));\n // Go vertically\n if (step != steps - 1) {\n context.lineTo(u1 + pixelRound(((step + 1) * ud) / steps), v1 + pixelRound(((step + 1) * vd) / (steps - 1)));\n }\n }\n // We are almost at u0r, v0r\n context.lineTo(u2, v2);\n }\n else {\n context.moveTo(u1, v1);\n context.lineTo(u0, v0);\n context.lineTo(u2, v2);\n }\n context.clip();\n context.transform(affineCoefs[0], affineCoefs[2], affineCoefs[1], affineCoefs[3], u0, v0);\n context.translate(sourceDataExtent[0] - sourceNumericalShiftX, sourceDataExtent[3] - sourceNumericalShiftY);\n context.scale(sourceResolution / pixelRatio, -sourceResolution / pixelRatio);\n context.drawImage(stitchContext.canvas, 0, 0);\n context.restore();\n });\n if (opt_renderEdges) {\n context.save();\n context.globalCompositeOperation = 'source-over';\n context.strokeStyle = 'black';\n context.lineWidth = 1;\n triangulation.getTriangles().forEach(function (triangle, i, arr) {\n var target = triangle.target;\n var u0 = (target[0][0] - targetTopLeft[0]) / targetResolution;\n var v0 = -(target[0][1] - targetTopLeft[1]) / targetResolution;\n var u1 = (target[1][0] - targetTopLeft[0]) / targetResolution;\n var v1 = -(target[1][1] - targetTopLeft[1]) / targetResolution;\n var u2 = (target[2][0] - targetTopLeft[0]) / targetResolution;\n var v2 = -(target[2][1] - targetTopLeft[1]) / targetResolution;\n context.beginPath();\n context.moveTo(u1, v1);\n context.lineTo(u0, v0);\n context.lineTo(u2, v2);\n context.closePath();\n context.stroke();\n });\n context.restore();\n }\n return context.canvas;\n}\n//# sourceMappingURL=reproj.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/layer/BaseVector\n */\nimport Layer from './Layer.js';\nimport RBush from 'rbush';\nimport { assign } from '../obj.js';\nimport { createDefaultStyle, toFunction as toStyleFunction, } from '../style/Style.js';\n/**\n * @template {import(\"../source/Vector.js\").default|import(\"../source/VectorTile.js\").default} VectorSourceType\n * @typedef {Object} Options\n * @property {string} [className='ol-layer'] A CSS class name to set to the layer element.\n * @property {number} [opacity=1] Opacity (0, 1).\n * @property {boolean} [visible=true] Visibility.\n * @property {import(\"../extent.js\").Extent} [extent] The bounding extent for layer rendering. The layer will not be\n * rendered outside of this extent.\n * @property {number} [zIndex] The z-index for layer rendering. At rendering time, the layers\n * will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed\n * for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()`\n * method was used.\n * @property {number} [minResolution] The minimum resolution (inclusive) at which this layer will be\n * visible.\n * @property {number} [maxResolution] The maximum resolution (exclusive) below which this layer will\n * be visible.\n * @property {number} [minZoom] The minimum view zoom level (exclusive) above which this layer will be\n * visible.\n * @property {number} [maxZoom] The maximum view zoom level (inclusive) at which this layer will\n * be visible.\n * @property {import(\"../render.js\").OrderFunction} [renderOrder] Render order. Function to be used when sorting\n * features before rendering. By default features are drawn in the order that they are created. Use\n * `null` to avoid the sort, but get an undefined draw order.\n * @property {number} [renderBuffer=100] The buffer in pixels around the viewport extent used by the\n * renderer when getting features from the vector source for the rendering or hit-detection.\n * Recommended value: the size of the largest symbol, line width or label.\n * @property {VectorSourceType} [source] Source.\n * @property {import(\"../PluggableMap.js\").default} [map] Sets the layer as overlay on a map. The map will not manage\n * this layer in its layers collection, and the layer will be rendered on top. This is useful for\n * temporary layers. The standard way to add a layer to a map and have it managed by the map is to\n * use {@link import(\"../PluggableMap.js\").default#addLayer map.addLayer()}.\n * @property {boolean} [declutter=false] Declutter images and text. Decluttering is applied to all\n * image and text styles of all Vector and VectorTile layers that have set this to `true`. The priority\n * is defined by the z-index of the layer, the `zIndex` of the style and the render order of features.\n * Higher z-index means higher priority. Within the same z-index, a feature rendered before another has\n * higher priority.\n *\n * As an optimization decluttered features from layers with the same `className` are rendered above\n * the fill and stroke styles of all of those layers regardless of z-index. To opt out of this\n * behavior and place declutterd features with their own layer configure the layer with a `className`\n * other than `ol-layer`.\n * @property {import(\"../style/Style.js\").StyleLike|null} [style] Layer style. When set to `null`, only\n * features that have their own style will be rendered. See {@link module:ol/style/Style~Style} for the default style\n * which will be used if this is not set.\n * @property {import(\"./Base.js\").BackgroundColor} [background] Background color for the layer. If not specified, no background\n * will be rendered.\n * @property {boolean} [updateWhileAnimating=false] When set to `true`, feature batches will\n * be recreated during animations. This means that no vectors will be shown clipped, but the\n * setting will have a performance impact for large amounts of vector data. When set to `false`,\n * batches will be recreated when no animation is active.\n * @property {boolean} [updateWhileInteracting=false] When set to `true`, feature batches will\n * be recreated during interactions. See also `updateWhileAnimating`.\n * @property {Object} [properties] Arbitrary observable properties. Can be accessed with `#get()` and `#set()`.\n */\n/**\n * @enum {string}\n * @private\n */\nvar Property = {\n RENDER_ORDER: 'renderOrder',\n};\n/**\n * @classdesc\n * Vector data that is rendered client-side.\n * Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}\n * property on the layer object; for example, setting `title: 'My Title'` in the\n * options means that `title` is observable, and has get/set accessors.\n *\n * @template {import(\"../source/Vector.js\").default|import(\"../source/VectorTile.js\").default} VectorSourceType\n * @template {import(\"../renderer/canvas/VectorLayer.js\").default|import(\"../renderer/canvas/VectorTileLayer.js\").default|import(\"../renderer/canvas/VectorImageLayer.js\").default|import(\"../renderer/webgl/PointsLayer.js\").default} RendererType\n * @extends {Layer}\n * @api\n */\nvar BaseVectorLayer = /** @class */ (function (_super) {\n __extends(BaseVectorLayer, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function BaseVectorLayer(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n var baseOptions = assign({}, options);\n delete baseOptions.style;\n delete baseOptions.renderBuffer;\n delete baseOptions.updateWhileAnimating;\n delete baseOptions.updateWhileInteracting;\n _this = _super.call(this, baseOptions) || this;\n /**\n * @private\n * @type {boolean}\n */\n _this.declutter_ =\n options.declutter !== undefined ? options.declutter : false;\n /**\n * @type {number}\n * @private\n */\n _this.renderBuffer_ =\n options.renderBuffer !== undefined ? options.renderBuffer : 100;\n /**\n * User provided style.\n * @type {import(\"../style/Style.js\").StyleLike}\n * @private\n */\n _this.style_ = null;\n /**\n * Style function for use within the library.\n * @type {import(\"../style/Style.js\").StyleFunction|undefined}\n * @private\n */\n _this.styleFunction_ = undefined;\n _this.setStyle(options.style);\n /**\n * @type {boolean}\n * @private\n */\n _this.updateWhileAnimating_ =\n options.updateWhileAnimating !== undefined\n ? options.updateWhileAnimating\n : false;\n /**\n * @type {boolean}\n * @private\n */\n _this.updateWhileInteracting_ =\n options.updateWhileInteracting !== undefined\n ? options.updateWhileInteracting\n : false;\n return _this;\n }\n /**\n * @return {boolean} Declutter.\n */\n BaseVectorLayer.prototype.getDeclutter = function () {\n return this.declutter_;\n };\n /**\n * Get the topmost feature that intersects the given pixel on the viewport. Returns a promise\n * that resolves with an array of features. The array will either contain the topmost feature\n * when a hit was detected, or it will be empty.\n *\n * The hit detection algorithm used for this method is optimized for performance, but is less\n * accurate than the one used in {@link import(\"../PluggableMap.js\").default#getFeaturesAtPixel}: Text\n * is not considered, and icons are only represented by their bounding box instead of the exact\n * image.\n *\n * @param {import(\"../pixel.js\").Pixel} pixel Pixel.\n * @return {Promise>} Promise that resolves with an array of features.\n * @api\n */\n BaseVectorLayer.prototype.getFeatures = function (pixel) {\n return _super.prototype.getFeatures.call(this, pixel);\n };\n /**\n * @return {number|undefined} Render buffer.\n */\n BaseVectorLayer.prototype.getRenderBuffer = function () {\n return this.renderBuffer_;\n };\n /**\n * @return {function(import(\"../Feature.js\").default, import(\"../Feature.js\").default): number|null|undefined} Render\n * order.\n */\n BaseVectorLayer.prototype.getRenderOrder = function () {\n return /** @type {import(\"../render.js\").OrderFunction|null|undefined} */ (this.get(Property.RENDER_ORDER));\n };\n /**\n * Get the style for features. This returns whatever was passed to the `style`\n * option at construction or to the `setStyle` method.\n * @return {import(\"../style/Style.js\").StyleLike|null|undefined} Layer style.\n * @api\n */\n BaseVectorLayer.prototype.getStyle = function () {\n return this.style_;\n };\n /**\n * Get the style function.\n * @return {import(\"../style/Style.js\").StyleFunction|undefined} Layer style function.\n * @api\n */\n BaseVectorLayer.prototype.getStyleFunction = function () {\n return this.styleFunction_;\n };\n /**\n * @return {boolean} Whether the rendered layer should be updated while\n * animating.\n */\n BaseVectorLayer.prototype.getUpdateWhileAnimating = function () {\n return this.updateWhileAnimating_;\n };\n /**\n * @return {boolean} Whether the rendered layer should be updated while\n * interacting.\n */\n BaseVectorLayer.prototype.getUpdateWhileInteracting = function () {\n return this.updateWhileInteracting_;\n };\n /**\n * Render declutter items for this layer\n * @param {import(\"../PluggableMap.js\").FrameState} frameState Frame state.\n */\n BaseVectorLayer.prototype.renderDeclutter = function (frameState) {\n if (!frameState.declutterTree) {\n frameState.declutterTree = new RBush(9);\n }\n /** @type {*} */ (this.getRenderer()).renderDeclutter(frameState);\n };\n /**\n * @param {import(\"../render.js\").OrderFunction|null|undefined} renderOrder\n * Render order.\n */\n BaseVectorLayer.prototype.setRenderOrder = function (renderOrder) {\n this.set(Property.RENDER_ORDER, renderOrder);\n };\n /**\n * Set the style for features. This can be a single style object, an array\n * of styles, or a function that takes a feature and resolution and returns\n * an array of styles. If set to `null`, the layer has no style (a `null` style),\n * so only features that have their own styles will be rendered in the layer. Call\n * `setStyle()` without arguments to reset to the default style. See\n * {@link module:ol/style/Style~Style} for information on the default style.\n * @param {import(\"../style/Style.js\").StyleLike|null} [opt_style] Layer style.\n * @api\n */\n BaseVectorLayer.prototype.setStyle = function (opt_style) {\n this.style_ = opt_style !== undefined ? opt_style : createDefaultStyle;\n this.styleFunction_ =\n opt_style === null ? undefined : toStyleFunction(this.style_);\n this.changed();\n };\n return BaseVectorLayer;\n}(Layer));\nexport default BaseVectorLayer;\n//# sourceMappingURL=BaseVector.js.map","/**\n * @module ol/render/canvas/Instruction\n */\n/**\n * @enum {number}\n */\nvar Instruction = {\n BEGIN_GEOMETRY: 0,\n BEGIN_PATH: 1,\n CIRCLE: 2,\n CLOSE_PATH: 3,\n CUSTOM: 4,\n DRAW_CHARS: 5,\n DRAW_IMAGE: 6,\n END_GEOMETRY: 7,\n FILL: 8,\n MOVE_TO_LINE_TO: 9,\n SET_FILL_STYLE: 10,\n SET_STROKE_STYLE: 11,\n STROKE: 12,\n};\n/**\n * @type {Array}\n */\nexport var fillInstruction = [Instruction.FILL];\n/**\n * @type {Array}\n */\nexport var strokeInstruction = [Instruction.STROKE];\n/**\n * @type {Array}\n */\nexport var beginPathInstruction = [Instruction.BEGIN_PATH];\n/**\n * @type {Array}\n */\nexport var closePathInstruction = [Instruction.CLOSE_PATH];\nexport default Instruction;\n//# sourceMappingURL=Instruction.js.map","/**\n * @module ol/render/VectorContext\n */\n/**\n * @classdesc\n * Context for drawing geometries. A vector context is available on render\n * events and does not need to be constructed directly.\n * @api\n */\nvar VectorContext = /** @class */ (function () {\n function VectorContext() {\n }\n /**\n * Render a geometry with a custom renderer.\n *\n * @param {import(\"../geom/SimpleGeometry.js\").default} geometry Geometry.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n * @param {Function} renderer Renderer.\n * @param {Function} hitDetectionRenderer Renderer.\n */\n VectorContext.prototype.drawCustom = function (geometry, feature, renderer, hitDetectionRenderer) { };\n /**\n * Render a geometry.\n *\n * @param {import(\"../geom/Geometry.js\").default} geometry The geometry to render.\n */\n VectorContext.prototype.drawGeometry = function (geometry) { };\n /**\n * Set the rendering style.\n *\n * @param {import(\"../style/Style.js\").default} style The rendering style.\n */\n VectorContext.prototype.setStyle = function (style) { };\n /**\n * @param {import(\"../geom/Circle.js\").default} circleGeometry Circle geometry.\n * @param {import(\"../Feature.js\").default} feature Feature.\n */\n VectorContext.prototype.drawCircle = function (circleGeometry, feature) { };\n /**\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @param {import(\"../style/Style.js\").default} style Style.\n */\n VectorContext.prototype.drawFeature = function (feature, style) { };\n /**\n * @param {import(\"../geom/GeometryCollection.js\").default} geometryCollectionGeometry Geometry collection.\n * @param {import(\"../Feature.js\").default} feature Feature.\n */\n VectorContext.prototype.drawGeometryCollection = function (geometryCollectionGeometry, feature) { };\n /**\n * @param {import(\"../geom/LineString.js\").default|import(\"./Feature.js\").default} lineStringGeometry Line string geometry.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n */\n VectorContext.prototype.drawLineString = function (lineStringGeometry, feature) { };\n /**\n * @param {import(\"../geom/MultiLineString.js\").default|import(\"./Feature.js\").default} multiLineStringGeometry MultiLineString geometry.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n */\n VectorContext.prototype.drawMultiLineString = function (multiLineStringGeometry, feature) { };\n /**\n * @param {import(\"../geom/MultiPoint.js\").default|import(\"./Feature.js\").default} multiPointGeometry MultiPoint geometry.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n */\n VectorContext.prototype.drawMultiPoint = function (multiPointGeometry, feature) { };\n /**\n * @param {import(\"../geom/MultiPolygon.js\").default} multiPolygonGeometry MultiPolygon geometry.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n */\n VectorContext.prototype.drawMultiPolygon = function (multiPolygonGeometry, feature) { };\n /**\n * @param {import(\"../geom/Point.js\").default|import(\"./Feature.js\").default} pointGeometry Point geometry.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n */\n VectorContext.prototype.drawPoint = function (pointGeometry, feature) { };\n /**\n * @param {import(\"../geom/Polygon.js\").default|import(\"./Feature.js\").default} polygonGeometry Polygon geometry.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n */\n VectorContext.prototype.drawPolygon = function (polygonGeometry, feature) { };\n /**\n * @param {import(\"../geom/SimpleGeometry.js\").default|import(\"./Feature.js\").default} geometry Geometry.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n */\n VectorContext.prototype.drawText = function (geometry, feature) { };\n /**\n * @param {import(\"../style/Fill.js\").default} fillStyle Fill style.\n * @param {import(\"../style/Stroke.js\").default} strokeStyle Stroke style.\n */\n VectorContext.prototype.setFillStrokeStyle = function (fillStyle, strokeStyle) { };\n /**\n * @param {import(\"../style/Image.js\").default} imageStyle Image style.\n * @param {import(\"../render/canvas.js\").DeclutterImageWithText} [opt_declutterImageWithText] Shared data for combined decluttering with a text style.\n */\n VectorContext.prototype.setImageStyle = function (imageStyle, opt_declutterImageWithText) { };\n /**\n * @param {import(\"../style/Text.js\").default} textStyle Text style.\n * @param {import(\"../render/canvas.js\").DeclutterImageWithText} [opt_declutterImageWithText] Shared data for combined decluttering with an image style.\n */\n VectorContext.prototype.setTextStyle = function (textStyle, opt_declutterImageWithText) { };\n return VectorContext;\n}());\nexport default VectorContext;\n//# sourceMappingURL=VectorContext.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/render/canvas/Builder\n */\nimport CanvasInstruction from './Instruction.js';\nimport Relationship from '../../extent/Relationship.js';\nimport VectorContext from '../VectorContext.js';\nimport { asColorLike } from '../../colorlike.js';\nimport { buffer, clone, containsCoordinate, coordinateRelationship, } from '../../extent.js';\nimport { defaultFillStyle, defaultLineCap, defaultLineDash, defaultLineDashOffset, defaultLineJoin, defaultLineWidth, defaultMiterLimit, defaultStrokeStyle, } from '../canvas.js';\nimport { equals, reverseSubArray } from '../../array.js';\nimport { inflateCoordinates, inflateCoordinatesArray, inflateMultiCoordinatesArray, } from '../../geom/flat/inflate.js';\nvar CanvasBuilder = /** @class */ (function (_super) {\n __extends(CanvasBuilder, _super);\n /**\n * @param {number} tolerance Tolerance.\n * @param {import(\"../../extent.js\").Extent} maxExtent Maximum extent.\n * @param {number} resolution Resolution.\n * @param {number} pixelRatio Pixel ratio.\n */\n function CanvasBuilder(tolerance, maxExtent, resolution, pixelRatio) {\n var _this = _super.call(this) || this;\n /**\n * @protected\n * @type {number}\n */\n _this.tolerance = tolerance;\n /**\n * @protected\n * @const\n * @type {import(\"../../extent.js\").Extent}\n */\n _this.maxExtent = maxExtent;\n /**\n * @protected\n * @type {number}\n */\n _this.pixelRatio = pixelRatio;\n /**\n * @protected\n * @type {number}\n */\n _this.maxLineWidth = 0;\n /**\n * @protected\n * @const\n * @type {number}\n */\n _this.resolution = resolution;\n /**\n * @private\n * @type {Array<*>}\n */\n _this.beginGeometryInstruction1_ = null;\n /**\n * @private\n * @type {Array<*>}\n */\n _this.beginGeometryInstruction2_ = null;\n /**\n * @private\n * @type {import(\"../../extent.js\").Extent}\n */\n _this.bufferedMaxExtent_ = null;\n /**\n * @protected\n * @type {Array<*>}\n */\n _this.instructions = [];\n /**\n * @protected\n * @type {Array}\n */\n _this.coordinates = [];\n /**\n * @private\n * @type {import(\"../../coordinate.js\").Coordinate}\n */\n _this.tmpCoordinate_ = [];\n /**\n * @protected\n * @type {Array<*>}\n */\n _this.hitDetectionInstructions = [];\n /**\n * @protected\n * @type {import(\"../canvas.js\").FillStrokeState}\n */\n _this.state = /** @type {import(\"../canvas.js\").FillStrokeState} */ ({});\n return _this;\n }\n /**\n * @protected\n * @param {Array} dashArray Dash array.\n * @return {Array} Dash array with pixel ratio applied\n */\n CanvasBuilder.prototype.applyPixelRatio = function (dashArray) {\n var pixelRatio = this.pixelRatio;\n return pixelRatio == 1\n ? dashArray\n : dashArray.map(function (dash) {\n return dash * pixelRatio;\n });\n };\n /**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} stride Stride.\n * @protected\n * @return {number} My end\n */\n CanvasBuilder.prototype.appendFlatPointCoordinates = function (flatCoordinates, stride) {\n var extent = this.getBufferedMaxExtent();\n var tmpCoord = this.tmpCoordinate_;\n var coordinates = this.coordinates;\n var myEnd = coordinates.length;\n for (var i = 0, ii = flatCoordinates.length; i < ii; i += stride) {\n tmpCoord[0] = flatCoordinates[i];\n tmpCoord[1] = flatCoordinates[i + 1];\n if (containsCoordinate(extent, tmpCoord)) {\n coordinates[myEnd++] = tmpCoord[0];\n coordinates[myEnd++] = tmpCoord[1];\n }\n }\n return myEnd;\n };\n /**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {boolean} closed Last input coordinate equals first.\n * @param {boolean} skipFirst Skip first coordinate.\n * @protected\n * @return {number} My end.\n */\n CanvasBuilder.prototype.appendFlatLineCoordinates = function (flatCoordinates, offset, end, stride, closed, skipFirst) {\n var coordinates = this.coordinates;\n var myEnd = coordinates.length;\n var extent = this.getBufferedMaxExtent();\n if (skipFirst) {\n offset += stride;\n }\n var lastXCoord = flatCoordinates[offset];\n var lastYCoord = flatCoordinates[offset + 1];\n var nextCoord = this.tmpCoordinate_;\n var skipped = true;\n var i, lastRel, nextRel;\n for (i = offset + stride; i < end; i += stride) {\n nextCoord[0] = flatCoordinates[i];\n nextCoord[1] = flatCoordinates[i + 1];\n nextRel = coordinateRelationship(extent, nextCoord);\n if (nextRel !== lastRel) {\n if (skipped) {\n coordinates[myEnd++] = lastXCoord;\n coordinates[myEnd++] = lastYCoord;\n skipped = false;\n }\n coordinates[myEnd++] = nextCoord[0];\n coordinates[myEnd++] = nextCoord[1];\n }\n else if (nextRel === Relationship.INTERSECTING) {\n coordinates[myEnd++] = nextCoord[0];\n coordinates[myEnd++] = nextCoord[1];\n skipped = false;\n }\n else {\n skipped = true;\n }\n lastXCoord = nextCoord[0];\n lastYCoord = nextCoord[1];\n lastRel = nextRel;\n }\n // Last coordinate equals first or only one point to append:\n if ((closed && skipped) || i === offset + stride) {\n coordinates[myEnd++] = lastXCoord;\n coordinates[myEnd++] = lastYCoord;\n }\n return myEnd;\n };\n /**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {Array} builderEnds Builder ends.\n * @return {number} Offset.\n */\n CanvasBuilder.prototype.drawCustomCoordinates_ = function (flatCoordinates, offset, ends, stride, builderEnds) {\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n var builderEnd = this.appendFlatLineCoordinates(flatCoordinates, offset, end, stride, false, false);\n builderEnds.push(builderEnd);\n offset = end;\n }\n return offset;\n };\n /**\n * @param {import(\"../../geom/SimpleGeometry.js\").default} geometry Geometry.\n * @param {import(\"../../Feature.js\").FeatureLike} feature Feature.\n * @param {Function} renderer Renderer.\n * @param {Function} hitDetectionRenderer Renderer.\n */\n CanvasBuilder.prototype.drawCustom = function (geometry, feature, renderer, hitDetectionRenderer) {\n this.beginGeometry(geometry, feature);\n var type = geometry.getType();\n var stride = geometry.getStride();\n var builderBegin = this.coordinates.length;\n var flatCoordinates, builderEnd, builderEnds, builderEndss;\n var offset;\n switch (type) {\n case 'MultiPolygon':\n flatCoordinates =\n /** @type {import(\"../../geom/MultiPolygon.js\").default} */ (geometry).getOrientedFlatCoordinates();\n builderEndss = [];\n var endss = \n /** @type {import(\"../../geom/MultiPolygon.js\").default} */ (geometry).getEndss();\n offset = 0;\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var myEnds = [];\n offset = this.drawCustomCoordinates_(flatCoordinates, offset, endss[i], stride, myEnds);\n builderEndss.push(myEnds);\n }\n this.instructions.push([\n CanvasInstruction.CUSTOM,\n builderBegin,\n builderEndss,\n geometry,\n renderer,\n inflateMultiCoordinatesArray,\n ]);\n this.hitDetectionInstructions.push([\n CanvasInstruction.CUSTOM,\n builderBegin,\n builderEndss,\n geometry,\n hitDetectionRenderer || renderer,\n inflateMultiCoordinatesArray,\n ]);\n break;\n case 'Polygon':\n case 'MultiLineString':\n builderEnds = [];\n flatCoordinates =\n type == 'Polygon'\n ? /** @type {import(\"../../geom/Polygon.js\").default} */ (geometry).getOrientedFlatCoordinates()\n : geometry.getFlatCoordinates();\n offset = this.drawCustomCoordinates_(flatCoordinates, 0, \n /** @type {import(\"../../geom/Polygon.js\").default|import(\"../../geom/MultiLineString.js\").default} */ (geometry).getEnds(), stride, builderEnds);\n this.instructions.push([\n CanvasInstruction.CUSTOM,\n builderBegin,\n builderEnds,\n geometry,\n renderer,\n inflateCoordinatesArray,\n ]);\n this.hitDetectionInstructions.push([\n CanvasInstruction.CUSTOM,\n builderBegin,\n builderEnds,\n geometry,\n hitDetectionRenderer || renderer,\n inflateCoordinatesArray,\n ]);\n break;\n case 'LineString':\n case 'Circle':\n flatCoordinates = geometry.getFlatCoordinates();\n builderEnd = this.appendFlatLineCoordinates(flatCoordinates, 0, flatCoordinates.length, stride, false, false);\n this.instructions.push([\n CanvasInstruction.CUSTOM,\n builderBegin,\n builderEnd,\n geometry,\n renderer,\n inflateCoordinates,\n ]);\n this.hitDetectionInstructions.push([\n CanvasInstruction.CUSTOM,\n builderBegin,\n builderEnd,\n geometry,\n hitDetectionRenderer || renderer,\n inflateCoordinates,\n ]);\n break;\n case 'MultiPoint':\n flatCoordinates = geometry.getFlatCoordinates();\n builderEnd = this.appendFlatPointCoordinates(flatCoordinates, stride);\n if (builderEnd > builderBegin) {\n this.instructions.push([\n CanvasInstruction.CUSTOM,\n builderBegin,\n builderEnd,\n geometry,\n renderer,\n inflateCoordinates,\n ]);\n this.hitDetectionInstructions.push([\n CanvasInstruction.CUSTOM,\n builderBegin,\n builderEnd,\n geometry,\n hitDetectionRenderer || renderer,\n inflateCoordinates,\n ]);\n }\n break;\n case 'Point':\n flatCoordinates = geometry.getFlatCoordinates();\n this.coordinates.push(flatCoordinates[0], flatCoordinates[1]);\n builderEnd = this.coordinates.length;\n this.instructions.push([\n CanvasInstruction.CUSTOM,\n builderBegin,\n builderEnd,\n geometry,\n renderer,\n ]);\n this.hitDetectionInstructions.push([\n CanvasInstruction.CUSTOM,\n builderBegin,\n builderEnd,\n geometry,\n hitDetectionRenderer || renderer,\n ]);\n break;\n default:\n }\n this.endGeometry(feature);\n };\n /**\n * @protected\n * @param {import(\"../../geom/Geometry\").default|import(\"../Feature.js\").default} geometry The geometry.\n * @param {import(\"../../Feature.js\").FeatureLike} feature Feature.\n */\n CanvasBuilder.prototype.beginGeometry = function (geometry, feature) {\n this.beginGeometryInstruction1_ = [\n CanvasInstruction.BEGIN_GEOMETRY,\n feature,\n 0,\n geometry,\n ];\n this.instructions.push(this.beginGeometryInstruction1_);\n this.beginGeometryInstruction2_ = [\n CanvasInstruction.BEGIN_GEOMETRY,\n feature,\n 0,\n geometry,\n ];\n this.hitDetectionInstructions.push(this.beginGeometryInstruction2_);\n };\n /**\n * @return {import(\"../canvas.js\").SerializableInstructions} the serializable instructions.\n */\n CanvasBuilder.prototype.finish = function () {\n return {\n instructions: this.instructions,\n hitDetectionInstructions: this.hitDetectionInstructions,\n coordinates: this.coordinates,\n };\n };\n /**\n * Reverse the hit detection instructions.\n */\n CanvasBuilder.prototype.reverseHitDetectionInstructions = function () {\n var hitDetectionInstructions = this.hitDetectionInstructions;\n // step 1 - reverse array\n hitDetectionInstructions.reverse();\n // step 2 - reverse instructions within geometry blocks\n var i;\n var n = hitDetectionInstructions.length;\n var instruction;\n var type;\n var begin = -1;\n for (i = 0; i < n; ++i) {\n instruction = hitDetectionInstructions[i];\n type = /** @type {import(\"./Instruction.js\").default} */ (instruction[0]);\n if (type == CanvasInstruction.END_GEOMETRY) {\n begin = i;\n }\n else if (type == CanvasInstruction.BEGIN_GEOMETRY) {\n instruction[2] = i;\n reverseSubArray(this.hitDetectionInstructions, begin, i);\n begin = -1;\n }\n }\n };\n /**\n * @param {import(\"../../style/Fill.js\").default} fillStyle Fill style.\n * @param {import(\"../../style/Stroke.js\").default} strokeStyle Stroke style.\n */\n CanvasBuilder.prototype.setFillStrokeStyle = function (fillStyle, strokeStyle) {\n var state = this.state;\n if (fillStyle) {\n var fillStyleColor = fillStyle.getColor();\n state.fillStyle = asColorLike(fillStyleColor ? fillStyleColor : defaultFillStyle);\n }\n else {\n state.fillStyle = undefined;\n }\n if (strokeStyle) {\n var strokeStyleColor = strokeStyle.getColor();\n state.strokeStyle = asColorLike(strokeStyleColor ? strokeStyleColor : defaultStrokeStyle);\n var strokeStyleLineCap = strokeStyle.getLineCap();\n state.lineCap =\n strokeStyleLineCap !== undefined ? strokeStyleLineCap : defaultLineCap;\n var strokeStyleLineDash = strokeStyle.getLineDash();\n state.lineDash = strokeStyleLineDash\n ? strokeStyleLineDash.slice()\n : defaultLineDash;\n var strokeStyleLineDashOffset = strokeStyle.getLineDashOffset();\n state.lineDashOffset = strokeStyleLineDashOffset\n ? strokeStyleLineDashOffset\n : defaultLineDashOffset;\n var strokeStyleLineJoin = strokeStyle.getLineJoin();\n state.lineJoin =\n strokeStyleLineJoin !== undefined\n ? strokeStyleLineJoin\n : defaultLineJoin;\n var strokeStyleWidth = strokeStyle.getWidth();\n state.lineWidth =\n strokeStyleWidth !== undefined ? strokeStyleWidth : defaultLineWidth;\n var strokeStyleMiterLimit = strokeStyle.getMiterLimit();\n state.miterLimit =\n strokeStyleMiterLimit !== undefined\n ? strokeStyleMiterLimit\n : defaultMiterLimit;\n if (state.lineWidth > this.maxLineWidth) {\n this.maxLineWidth = state.lineWidth;\n // invalidate the buffered max extent cache\n this.bufferedMaxExtent_ = null;\n }\n }\n else {\n state.strokeStyle = undefined;\n state.lineCap = undefined;\n state.lineDash = null;\n state.lineDashOffset = undefined;\n state.lineJoin = undefined;\n state.lineWidth = undefined;\n state.miterLimit = undefined;\n }\n };\n /**\n * @param {import(\"../canvas.js\").FillStrokeState} state State.\n * @return {Array<*>} Fill instruction.\n */\n CanvasBuilder.prototype.createFill = function (state) {\n var fillStyle = state.fillStyle;\n /** @type {Array<*>} */\n var fillInstruction = [CanvasInstruction.SET_FILL_STYLE, fillStyle];\n if (typeof fillStyle !== 'string') {\n // Fill is a pattern or gradient - align it!\n fillInstruction.push(true);\n }\n return fillInstruction;\n };\n /**\n * @param {import(\"../canvas.js\").FillStrokeState} state State.\n */\n CanvasBuilder.prototype.applyStroke = function (state) {\n this.instructions.push(this.createStroke(state));\n };\n /**\n * @param {import(\"../canvas.js\").FillStrokeState} state State.\n * @return {Array<*>} Stroke instruction.\n */\n CanvasBuilder.prototype.createStroke = function (state) {\n return [\n CanvasInstruction.SET_STROKE_STYLE,\n state.strokeStyle,\n state.lineWidth * this.pixelRatio,\n state.lineCap,\n state.lineJoin,\n state.miterLimit,\n this.applyPixelRatio(state.lineDash),\n state.lineDashOffset * this.pixelRatio,\n ];\n };\n /**\n * @param {import(\"../canvas.js\").FillStrokeState} state State.\n * @param {function(this:CanvasBuilder, import(\"../canvas.js\").FillStrokeState):Array<*>} createFill Create fill.\n */\n CanvasBuilder.prototype.updateFillStyle = function (state, createFill) {\n var fillStyle = state.fillStyle;\n if (typeof fillStyle !== 'string' || state.currentFillStyle != fillStyle) {\n if (fillStyle !== undefined) {\n this.instructions.push(createFill.call(this, state));\n }\n state.currentFillStyle = fillStyle;\n }\n };\n /**\n * @param {import(\"../canvas.js\").FillStrokeState} state State.\n * @param {function(this:CanvasBuilder, import(\"../canvas.js\").FillStrokeState): void} applyStroke Apply stroke.\n */\n CanvasBuilder.prototype.updateStrokeStyle = function (state, applyStroke) {\n var strokeStyle = state.strokeStyle;\n var lineCap = state.lineCap;\n var lineDash = state.lineDash;\n var lineDashOffset = state.lineDashOffset;\n var lineJoin = state.lineJoin;\n var lineWidth = state.lineWidth;\n var miterLimit = state.miterLimit;\n if (state.currentStrokeStyle != strokeStyle ||\n state.currentLineCap != lineCap ||\n (lineDash != state.currentLineDash &&\n !equals(state.currentLineDash, lineDash)) ||\n state.currentLineDashOffset != lineDashOffset ||\n state.currentLineJoin != lineJoin ||\n state.currentLineWidth != lineWidth ||\n state.currentMiterLimit != miterLimit) {\n if (strokeStyle !== undefined) {\n applyStroke.call(this, state);\n }\n state.currentStrokeStyle = strokeStyle;\n state.currentLineCap = lineCap;\n state.currentLineDash = lineDash;\n state.currentLineDashOffset = lineDashOffset;\n state.currentLineJoin = lineJoin;\n state.currentLineWidth = lineWidth;\n state.currentMiterLimit = miterLimit;\n }\n };\n /**\n * @param {import(\"../../Feature.js\").FeatureLike} feature Feature.\n */\n CanvasBuilder.prototype.endGeometry = function (feature) {\n this.beginGeometryInstruction1_[2] = this.instructions.length;\n this.beginGeometryInstruction1_ = null;\n this.beginGeometryInstruction2_[2] = this.hitDetectionInstructions.length;\n this.beginGeometryInstruction2_ = null;\n var endGeometryInstruction = [CanvasInstruction.END_GEOMETRY, feature];\n this.instructions.push(endGeometryInstruction);\n this.hitDetectionInstructions.push(endGeometryInstruction);\n };\n /**\n * Get the buffered rendering extent. Rendering will be clipped to the extent\n * provided to the constructor. To account for symbolizers that may intersect\n * this extent, we calculate a buffered extent (e.g. based on stroke width).\n * @return {import(\"../../extent.js\").Extent} The buffered rendering extent.\n * @protected\n */\n CanvasBuilder.prototype.getBufferedMaxExtent = function () {\n if (!this.bufferedMaxExtent_) {\n this.bufferedMaxExtent_ = clone(this.maxExtent);\n if (this.maxLineWidth > 0) {\n var width = (this.resolution * (this.maxLineWidth + 1)) / 2;\n buffer(this.bufferedMaxExtent_, width, this.bufferedMaxExtent_);\n }\n }\n return this.bufferedMaxExtent_;\n };\n return CanvasBuilder;\n}(VectorContext));\nexport default CanvasBuilder;\n//# sourceMappingURL=Builder.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/render/canvas/ImageBuilder\n */\nimport CanvasBuilder from './Builder.js';\nimport CanvasInstruction from './Instruction.js';\nvar CanvasImageBuilder = /** @class */ (function (_super) {\n __extends(CanvasImageBuilder, _super);\n /**\n * @param {number} tolerance Tolerance.\n * @param {import(\"../../extent.js\").Extent} maxExtent Maximum extent.\n * @param {number} resolution Resolution.\n * @param {number} pixelRatio Pixel ratio.\n */\n function CanvasImageBuilder(tolerance, maxExtent, resolution, pixelRatio) {\n var _this = _super.call(this, tolerance, maxExtent, resolution, pixelRatio) || this;\n /**\n * @private\n * @type {HTMLCanvasElement|HTMLVideoElement|HTMLImageElement}\n */\n _this.hitDetectionImage_ = null;\n /**\n * @private\n * @type {HTMLCanvasElement|HTMLVideoElement|HTMLImageElement}\n */\n _this.image_ = null;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.imagePixelRatio_ = undefined;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.anchorX_ = undefined;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.anchorY_ = undefined;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.height_ = undefined;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.opacity_ = undefined;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.originX_ = undefined;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.originY_ = undefined;\n /**\n * @private\n * @type {boolean|undefined}\n */\n _this.rotateWithView_ = undefined;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.rotation_ = undefined;\n /**\n * @private\n * @type {import(\"../../size.js\").Size|undefined}\n */\n _this.scale_ = undefined;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.width_ = undefined;\n /**\n * @private\n * @type {\"declutter\"|\"obstacle\"|\"none\"|undefined}\n */\n _this.declutterMode_ = undefined;\n /**\n * Data shared with a text builder for combined decluttering.\n * @private\n * @type {import(\"../canvas.js\").DeclutterImageWithText}\n */\n _this.declutterImageWithText_ = undefined;\n return _this;\n }\n /**\n * @param {import(\"../../geom/Point.js\").default|import(\"../Feature.js\").default} pointGeometry Point geometry.\n * @param {import(\"../../Feature.js\").FeatureLike} feature Feature.\n */\n CanvasImageBuilder.prototype.drawPoint = function (pointGeometry, feature) {\n if (!this.image_) {\n return;\n }\n this.beginGeometry(pointGeometry, feature);\n var flatCoordinates = pointGeometry.getFlatCoordinates();\n var stride = pointGeometry.getStride();\n var myBegin = this.coordinates.length;\n var myEnd = this.appendFlatPointCoordinates(flatCoordinates, stride);\n this.instructions.push([\n CanvasInstruction.DRAW_IMAGE,\n myBegin,\n myEnd,\n this.image_,\n // Remaining arguments to DRAW_IMAGE are in alphabetical order\n this.anchorX_ * this.imagePixelRatio_,\n this.anchorY_ * this.imagePixelRatio_,\n Math.ceil(this.height_ * this.imagePixelRatio_),\n this.opacity_,\n this.originX_ * this.imagePixelRatio_,\n this.originY_ * this.imagePixelRatio_,\n this.rotateWithView_,\n this.rotation_,\n [\n (this.scale_[0] * this.pixelRatio) / this.imagePixelRatio_,\n (this.scale_[1] * this.pixelRatio) / this.imagePixelRatio_,\n ],\n Math.ceil(this.width_ * this.imagePixelRatio_),\n this.declutterMode_,\n this.declutterImageWithText_,\n ]);\n this.hitDetectionInstructions.push([\n CanvasInstruction.DRAW_IMAGE,\n myBegin,\n myEnd,\n this.hitDetectionImage_,\n // Remaining arguments to DRAW_IMAGE are in alphabetical order\n this.anchorX_,\n this.anchorY_,\n this.height_,\n this.opacity_,\n this.originX_,\n this.originY_,\n this.rotateWithView_,\n this.rotation_,\n this.scale_,\n this.width_,\n this.declutterMode_,\n this.declutterImageWithText_,\n ]);\n this.endGeometry(feature);\n };\n /**\n * @param {import(\"../../geom/MultiPoint.js\").default|import(\"../Feature.js\").default} multiPointGeometry MultiPoint geometry.\n * @param {import(\"../../Feature.js\").FeatureLike} feature Feature.\n */\n CanvasImageBuilder.prototype.drawMultiPoint = function (multiPointGeometry, feature) {\n if (!this.image_) {\n return;\n }\n this.beginGeometry(multiPointGeometry, feature);\n var flatCoordinates = multiPointGeometry.getFlatCoordinates();\n var stride = multiPointGeometry.getStride();\n var myBegin = this.coordinates.length;\n var myEnd = this.appendFlatPointCoordinates(flatCoordinates, stride);\n this.instructions.push([\n CanvasInstruction.DRAW_IMAGE,\n myBegin,\n myEnd,\n this.image_,\n // Remaining arguments to DRAW_IMAGE are in alphabetical order\n this.anchorX_ * this.imagePixelRatio_,\n this.anchorY_ * this.imagePixelRatio_,\n Math.ceil(this.height_ * this.imagePixelRatio_),\n this.opacity_,\n this.originX_ * this.imagePixelRatio_,\n this.originY_ * this.imagePixelRatio_,\n this.rotateWithView_,\n this.rotation_,\n [\n (this.scale_[0] * this.pixelRatio) / this.imagePixelRatio_,\n (this.scale_[1] * this.pixelRatio) / this.imagePixelRatio_,\n ],\n Math.ceil(this.width_ * this.imagePixelRatio_),\n this.declutterMode_,\n this.declutterImageWithText_,\n ]);\n this.hitDetectionInstructions.push([\n CanvasInstruction.DRAW_IMAGE,\n myBegin,\n myEnd,\n this.hitDetectionImage_,\n // Remaining arguments to DRAW_IMAGE are in alphabetical order\n this.anchorX_,\n this.anchorY_,\n this.height_,\n this.opacity_,\n this.originX_,\n this.originY_,\n this.rotateWithView_,\n this.rotation_,\n this.scale_,\n this.width_,\n this.declutterMode_,\n this.declutterImageWithText_,\n ]);\n this.endGeometry(feature);\n };\n /**\n * @return {import(\"../canvas.js\").SerializableInstructions} the serializable instructions.\n */\n CanvasImageBuilder.prototype.finish = function () {\n this.reverseHitDetectionInstructions();\n // FIXME this doesn't really protect us against further calls to draw*Geometry\n this.anchorX_ = undefined;\n this.anchorY_ = undefined;\n this.hitDetectionImage_ = null;\n this.image_ = null;\n this.imagePixelRatio_ = undefined;\n this.height_ = undefined;\n this.scale_ = undefined;\n this.opacity_ = undefined;\n this.originX_ = undefined;\n this.originY_ = undefined;\n this.rotateWithView_ = undefined;\n this.rotation_ = undefined;\n this.width_ = undefined;\n return _super.prototype.finish.call(this);\n };\n /**\n * @param {import(\"../../style/Image.js\").default} imageStyle Image style.\n * @param {Object} [opt_sharedData] Shared data.\n */\n CanvasImageBuilder.prototype.setImageStyle = function (imageStyle, opt_sharedData) {\n var anchor = imageStyle.getAnchor();\n var size = imageStyle.getSize();\n var origin = imageStyle.getOrigin();\n this.imagePixelRatio_ = imageStyle.getPixelRatio(this.pixelRatio);\n this.anchorX_ = anchor[0];\n this.anchorY_ = anchor[1];\n this.hitDetectionImage_ = imageStyle.getHitDetectionImage();\n this.image_ = imageStyle.getImage(this.pixelRatio);\n this.height_ = size[1];\n this.opacity_ = imageStyle.getOpacity();\n this.originX_ = origin[0];\n this.originY_ = origin[1];\n this.rotateWithView_ = imageStyle.getRotateWithView();\n this.rotation_ = imageStyle.getRotation();\n this.scale_ = imageStyle.getScaleArray();\n this.width_ = size[0];\n this.declutterMode_ = imageStyle.getDeclutterMode();\n this.declutterImageWithText_ = opt_sharedData;\n };\n return CanvasImageBuilder;\n}(CanvasBuilder));\nexport default CanvasImageBuilder;\n//# sourceMappingURL=ImageBuilder.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/render/canvas/LineStringBuilder\n */\nimport CanvasBuilder from './Builder.js';\nimport CanvasInstruction, { beginPathInstruction, strokeInstruction, } from './Instruction.js';\nimport { defaultLineDash, defaultLineDashOffset } from '../canvas.js';\nvar CanvasLineStringBuilder = /** @class */ (function (_super) {\n __extends(CanvasLineStringBuilder, _super);\n /**\n * @param {number} tolerance Tolerance.\n * @param {import(\"../../extent.js\").Extent} maxExtent Maximum extent.\n * @param {number} resolution Resolution.\n * @param {number} pixelRatio Pixel ratio.\n */\n function CanvasLineStringBuilder(tolerance, maxExtent, resolution, pixelRatio) {\n return _super.call(this, tolerance, maxExtent, resolution, pixelRatio) || this;\n }\n /**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @private\n * @return {number} end.\n */\n CanvasLineStringBuilder.prototype.drawFlatCoordinates_ = function (flatCoordinates, offset, end, stride) {\n var myBegin = this.coordinates.length;\n var myEnd = this.appendFlatLineCoordinates(flatCoordinates, offset, end, stride, false, false);\n var moveToLineToInstruction = [\n CanvasInstruction.MOVE_TO_LINE_TO,\n myBegin,\n myEnd,\n ];\n this.instructions.push(moveToLineToInstruction);\n this.hitDetectionInstructions.push(moveToLineToInstruction);\n return end;\n };\n /**\n * @param {import(\"../../geom/LineString.js\").default|import(\"../Feature.js\").default} lineStringGeometry Line string geometry.\n * @param {import(\"../../Feature.js\").FeatureLike} feature Feature.\n */\n CanvasLineStringBuilder.prototype.drawLineString = function (lineStringGeometry, feature) {\n var state = this.state;\n var strokeStyle = state.strokeStyle;\n var lineWidth = state.lineWidth;\n if (strokeStyle === undefined || lineWidth === undefined) {\n return;\n }\n this.updateStrokeStyle(state, this.applyStroke);\n this.beginGeometry(lineStringGeometry, feature);\n this.hitDetectionInstructions.push([\n CanvasInstruction.SET_STROKE_STYLE,\n state.strokeStyle,\n state.lineWidth,\n state.lineCap,\n state.lineJoin,\n state.miterLimit,\n defaultLineDash,\n defaultLineDashOffset,\n ], beginPathInstruction);\n var flatCoordinates = lineStringGeometry.getFlatCoordinates();\n var stride = lineStringGeometry.getStride();\n this.drawFlatCoordinates_(flatCoordinates, 0, flatCoordinates.length, stride);\n this.hitDetectionInstructions.push(strokeInstruction);\n this.endGeometry(feature);\n };\n /**\n * @param {import(\"../../geom/MultiLineString.js\").default|import(\"../Feature.js\").default} multiLineStringGeometry MultiLineString geometry.\n * @param {import(\"../../Feature.js\").FeatureLike} feature Feature.\n */\n CanvasLineStringBuilder.prototype.drawMultiLineString = function (multiLineStringGeometry, feature) {\n var state = this.state;\n var strokeStyle = state.strokeStyle;\n var lineWidth = state.lineWidth;\n if (strokeStyle === undefined || lineWidth === undefined) {\n return;\n }\n this.updateStrokeStyle(state, this.applyStroke);\n this.beginGeometry(multiLineStringGeometry, feature);\n this.hitDetectionInstructions.push([\n CanvasInstruction.SET_STROKE_STYLE,\n state.strokeStyle,\n state.lineWidth,\n state.lineCap,\n state.lineJoin,\n state.miterLimit,\n state.lineDash,\n state.lineDashOffset,\n ], beginPathInstruction);\n var ends = multiLineStringGeometry.getEnds();\n var flatCoordinates = multiLineStringGeometry.getFlatCoordinates();\n var stride = multiLineStringGeometry.getStride();\n var offset = 0;\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n offset = this.drawFlatCoordinates_(flatCoordinates, offset, \n /** @type {number} */ (ends[i]), stride);\n }\n this.hitDetectionInstructions.push(strokeInstruction);\n this.endGeometry(feature);\n };\n /**\n * @return {import(\"../canvas.js\").SerializableInstructions} the serializable instructions.\n */\n CanvasLineStringBuilder.prototype.finish = function () {\n var state = this.state;\n if (state.lastStroke != undefined &&\n state.lastStroke != this.coordinates.length) {\n this.instructions.push(strokeInstruction);\n }\n this.reverseHitDetectionInstructions();\n this.state = null;\n return _super.prototype.finish.call(this);\n };\n /**\n * @param {import(\"../canvas.js\").FillStrokeState} state State.\n */\n CanvasLineStringBuilder.prototype.applyStroke = function (state) {\n if (state.lastStroke != undefined &&\n state.lastStroke != this.coordinates.length) {\n this.instructions.push(strokeInstruction);\n state.lastStroke = this.coordinates.length;\n }\n state.lastStroke = 0;\n _super.prototype.applyStroke.call(this, state);\n this.instructions.push(beginPathInstruction);\n };\n return CanvasLineStringBuilder;\n}(CanvasBuilder));\nexport default CanvasLineStringBuilder;\n//# sourceMappingURL=LineStringBuilder.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/render/canvas/PolygonBuilder\n */\nimport CanvasBuilder from './Builder.js';\nimport CanvasInstruction, { beginPathInstruction, closePathInstruction, fillInstruction, strokeInstruction, } from './Instruction.js';\nimport { defaultFillStyle } from '../canvas.js';\nimport { snap } from '../../geom/flat/simplify.js';\nvar CanvasPolygonBuilder = /** @class */ (function (_super) {\n __extends(CanvasPolygonBuilder, _super);\n /**\n * @param {number} tolerance Tolerance.\n * @param {import(\"../../extent.js\").Extent} maxExtent Maximum extent.\n * @param {number} resolution Resolution.\n * @param {number} pixelRatio Pixel ratio.\n */\n function CanvasPolygonBuilder(tolerance, maxExtent, resolution, pixelRatio) {\n return _super.call(this, tolerance, maxExtent, resolution, pixelRatio) || this;\n }\n /**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @private\n * @return {number} End.\n */\n CanvasPolygonBuilder.prototype.drawFlatCoordinatess_ = function (flatCoordinates, offset, ends, stride) {\n var state = this.state;\n var fill = state.fillStyle !== undefined;\n var stroke = state.strokeStyle !== undefined;\n var numEnds = ends.length;\n this.instructions.push(beginPathInstruction);\n this.hitDetectionInstructions.push(beginPathInstruction);\n for (var i = 0; i < numEnds; ++i) {\n var end = ends[i];\n var myBegin = this.coordinates.length;\n var myEnd = this.appendFlatLineCoordinates(flatCoordinates, offset, end, stride, true, !stroke);\n var moveToLineToInstruction = [\n CanvasInstruction.MOVE_TO_LINE_TO,\n myBegin,\n myEnd,\n ];\n this.instructions.push(moveToLineToInstruction);\n this.hitDetectionInstructions.push(moveToLineToInstruction);\n if (stroke) {\n // Performance optimization: only call closePath() when we have a stroke.\n // Otherwise the ring is closed already (see appendFlatLineCoordinates above).\n this.instructions.push(closePathInstruction);\n this.hitDetectionInstructions.push(closePathInstruction);\n }\n offset = end;\n }\n if (fill) {\n this.instructions.push(fillInstruction);\n this.hitDetectionInstructions.push(fillInstruction);\n }\n if (stroke) {\n this.instructions.push(strokeInstruction);\n this.hitDetectionInstructions.push(strokeInstruction);\n }\n return offset;\n };\n /**\n * @param {import(\"../../geom/Circle.js\").default} circleGeometry Circle geometry.\n * @param {import(\"../../Feature.js\").default} feature Feature.\n */\n CanvasPolygonBuilder.prototype.drawCircle = function (circleGeometry, feature) {\n var state = this.state;\n var fillStyle = state.fillStyle;\n var strokeStyle = state.strokeStyle;\n if (fillStyle === undefined && strokeStyle === undefined) {\n return;\n }\n this.setFillStrokeStyles_();\n this.beginGeometry(circleGeometry, feature);\n if (state.fillStyle !== undefined) {\n this.hitDetectionInstructions.push([\n CanvasInstruction.SET_FILL_STYLE,\n defaultFillStyle,\n ]);\n }\n if (state.strokeStyle !== undefined) {\n this.hitDetectionInstructions.push([\n CanvasInstruction.SET_STROKE_STYLE,\n state.strokeStyle,\n state.lineWidth,\n state.lineCap,\n state.lineJoin,\n state.miterLimit,\n state.lineDash,\n state.lineDashOffset,\n ]);\n }\n var flatCoordinates = circleGeometry.getFlatCoordinates();\n var stride = circleGeometry.getStride();\n var myBegin = this.coordinates.length;\n this.appendFlatLineCoordinates(flatCoordinates, 0, flatCoordinates.length, stride, false, false);\n var circleInstruction = [CanvasInstruction.CIRCLE, myBegin];\n this.instructions.push(beginPathInstruction, circleInstruction);\n this.hitDetectionInstructions.push(beginPathInstruction, circleInstruction);\n if (state.fillStyle !== undefined) {\n this.instructions.push(fillInstruction);\n this.hitDetectionInstructions.push(fillInstruction);\n }\n if (state.strokeStyle !== undefined) {\n this.instructions.push(strokeInstruction);\n this.hitDetectionInstructions.push(strokeInstruction);\n }\n this.endGeometry(feature);\n };\n /**\n * @param {import(\"../../geom/Polygon.js\").default|import(\"../Feature.js\").default} polygonGeometry Polygon geometry.\n * @param {import(\"../../Feature.js\").FeatureLike} feature Feature.\n */\n CanvasPolygonBuilder.prototype.drawPolygon = function (polygonGeometry, feature) {\n var state = this.state;\n var fillStyle = state.fillStyle;\n var strokeStyle = state.strokeStyle;\n if (fillStyle === undefined && strokeStyle === undefined) {\n return;\n }\n this.setFillStrokeStyles_();\n this.beginGeometry(polygonGeometry, feature);\n if (state.fillStyle !== undefined) {\n this.hitDetectionInstructions.push([\n CanvasInstruction.SET_FILL_STYLE,\n defaultFillStyle,\n ]);\n }\n if (state.strokeStyle !== undefined) {\n this.hitDetectionInstructions.push([\n CanvasInstruction.SET_STROKE_STYLE,\n state.strokeStyle,\n state.lineWidth,\n state.lineCap,\n state.lineJoin,\n state.miterLimit,\n state.lineDash,\n state.lineDashOffset,\n ]);\n }\n var ends = polygonGeometry.getEnds();\n var flatCoordinates = polygonGeometry.getOrientedFlatCoordinates();\n var stride = polygonGeometry.getStride();\n this.drawFlatCoordinatess_(flatCoordinates, 0, \n /** @type {Array} */ (ends), stride);\n this.endGeometry(feature);\n };\n /**\n * @param {import(\"../../geom/MultiPolygon.js\").default} multiPolygonGeometry MultiPolygon geometry.\n * @param {import(\"../../Feature.js\").FeatureLike} feature Feature.\n */\n CanvasPolygonBuilder.prototype.drawMultiPolygon = function (multiPolygonGeometry, feature) {\n var state = this.state;\n var fillStyle = state.fillStyle;\n var strokeStyle = state.strokeStyle;\n if (fillStyle === undefined && strokeStyle === undefined) {\n return;\n }\n this.setFillStrokeStyles_();\n this.beginGeometry(multiPolygonGeometry, feature);\n if (state.fillStyle !== undefined) {\n this.hitDetectionInstructions.push([\n CanvasInstruction.SET_FILL_STYLE,\n defaultFillStyle,\n ]);\n }\n if (state.strokeStyle !== undefined) {\n this.hitDetectionInstructions.push([\n CanvasInstruction.SET_STROKE_STYLE,\n state.strokeStyle,\n state.lineWidth,\n state.lineCap,\n state.lineJoin,\n state.miterLimit,\n state.lineDash,\n state.lineDashOffset,\n ]);\n }\n var endss = multiPolygonGeometry.getEndss();\n var flatCoordinates = multiPolygonGeometry.getOrientedFlatCoordinates();\n var stride = multiPolygonGeometry.getStride();\n var offset = 0;\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n offset = this.drawFlatCoordinatess_(flatCoordinates, offset, endss[i], stride);\n }\n this.endGeometry(feature);\n };\n /**\n * @return {import(\"../canvas.js\").SerializableInstructions} the serializable instructions.\n */\n CanvasPolygonBuilder.prototype.finish = function () {\n this.reverseHitDetectionInstructions();\n this.state = null;\n // We want to preserve topology when drawing polygons. Polygons are\n // simplified using quantization and point elimination. However, we might\n // have received a mix of quantized and non-quantized geometries, so ensure\n // that all are quantized by quantizing all coordinates in the batch.\n var tolerance = this.tolerance;\n if (tolerance !== 0) {\n var coordinates = this.coordinates;\n for (var i = 0, ii = coordinates.length; i < ii; ++i) {\n coordinates[i] = snap(coordinates[i], tolerance);\n }\n }\n return _super.prototype.finish.call(this);\n };\n /**\n * @private\n */\n CanvasPolygonBuilder.prototype.setFillStrokeStyles_ = function () {\n var state = this.state;\n var fillStyle = state.fillStyle;\n if (fillStyle !== undefined) {\n this.updateFillStyle(state, this.createFill);\n }\n if (state.strokeStyle !== undefined) {\n this.updateStrokeStyle(state, this.applyStroke);\n }\n };\n return CanvasPolygonBuilder;\n}(CanvasBuilder));\nexport default CanvasPolygonBuilder;\n//# sourceMappingURL=PolygonBuilder.js.map","/**\n * @module ol/geom/flat/straightchunk\n */\n/**\n * @param {number} maxAngle Maximum acceptable angle delta between segments.\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @return {Array} Start and end of the first suitable chunk of the\n * given `flatCoordinates`.\n */\nexport function matchingChunk(maxAngle, flatCoordinates, offset, end, stride) {\n var chunkStart = offset;\n var chunkEnd = offset;\n var chunkM = 0;\n var m = 0;\n var start = offset;\n var acos, i, m12, m23, x1, y1, x12, y12, x23, y23;\n for (i = offset; i < end; i += stride) {\n var x2 = flatCoordinates[i];\n var y2 = flatCoordinates[i + 1];\n if (x1 !== undefined) {\n x23 = x2 - x1;\n y23 = y2 - y1;\n m23 = Math.sqrt(x23 * x23 + y23 * y23);\n if (x12 !== undefined) {\n m += m12;\n acos = Math.acos((x12 * x23 + y12 * y23) / (m12 * m23));\n if (acos > maxAngle) {\n if (m > chunkM) {\n chunkM = m;\n chunkStart = start;\n chunkEnd = i;\n }\n m = 0;\n start = i - stride;\n }\n }\n m12 = m23;\n x12 = x23;\n y12 = y23;\n }\n x1 = x2;\n y1 = y2;\n }\n m += m23;\n return m > chunkM ? [start, i] : [chunkStart, chunkEnd];\n}\n//# sourceMappingURL=straightchunk.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/render/canvas/TextBuilder\n */\nimport CanvasBuilder from './Builder.js';\nimport CanvasInstruction from './Instruction.js';\nimport TextPlacement from '../../style/TextPlacement.js';\nimport { asColorLike } from '../../colorlike.js';\nimport { defaultFillStyle, defaultFont, defaultLineCap, defaultLineDash, defaultLineDashOffset, defaultLineJoin, defaultLineWidth, defaultMiterLimit, defaultPadding, defaultStrokeStyle, defaultTextAlign, defaultTextBaseline, registerFont, } from '../canvas.js';\nimport { getUid } from '../../util.js';\nimport { intersects } from '../../extent.js';\nimport { matchingChunk } from '../../geom/flat/straightchunk.js';\n/**\n * @const\n * @enum {number}\n */\nexport var TEXT_ALIGN = {\n 'left': 0,\n 'end': 0,\n 'center': 0.5,\n 'right': 1,\n 'start': 1,\n 'top': 0,\n 'middle': 0.5,\n 'hanging': 0.2,\n 'alphabetic': 0.8,\n 'ideographic': 0.8,\n 'bottom': 1,\n};\nvar CanvasTextBuilder = /** @class */ (function (_super) {\n __extends(CanvasTextBuilder, _super);\n /**\n * @param {number} tolerance Tolerance.\n * @param {import(\"../../extent.js\").Extent} maxExtent Maximum extent.\n * @param {number} resolution Resolution.\n * @param {number} pixelRatio Pixel ratio.\n */\n function CanvasTextBuilder(tolerance, maxExtent, resolution, pixelRatio) {\n var _this = _super.call(this, tolerance, maxExtent, resolution, pixelRatio) || this;\n /**\n * @private\n * @type {Array}\n */\n _this.labels_ = null;\n /**\n * @private\n * @type {string|Array}\n */\n _this.text_ = '';\n /**\n * @private\n * @type {number}\n */\n _this.textOffsetX_ = 0;\n /**\n * @private\n * @type {number}\n */\n _this.textOffsetY_ = 0;\n /**\n * @private\n * @type {boolean|undefined}\n */\n _this.textRotateWithView_ = undefined;\n /**\n * @private\n * @type {number}\n */\n _this.textRotation_ = 0;\n /**\n * @private\n * @type {?import(\"../canvas.js\").FillState}\n */\n _this.textFillState_ = null;\n /**\n * @type {!Object}\n */\n _this.fillStates = {};\n /**\n * @private\n * @type {?import(\"../canvas.js\").StrokeState}\n */\n _this.textStrokeState_ = null;\n /**\n * @type {!Object}\n */\n _this.strokeStates = {};\n /**\n * @private\n * @type {import(\"../canvas.js\").TextState}\n */\n _this.textState_ = /** @type {import(\"../canvas.js\").TextState} */ ({});\n /**\n * @type {!Object}\n */\n _this.textStates = {};\n /**\n * @private\n * @type {string}\n */\n _this.textKey_ = '';\n /**\n * @private\n * @type {string}\n */\n _this.fillKey_ = '';\n /**\n * @private\n * @type {string}\n */\n _this.strokeKey_ = '';\n /**\n * Data shared with an image builder for combined decluttering.\n * @private\n * @type {import(\"../canvas.js\").DeclutterImageWithText}\n */\n _this.declutterImageWithText_ = undefined;\n return _this;\n }\n /**\n * @return {import(\"../canvas.js\").SerializableInstructions} the serializable instructions.\n */\n CanvasTextBuilder.prototype.finish = function () {\n var instructions = _super.prototype.finish.call(this);\n instructions.textStates = this.textStates;\n instructions.fillStates = this.fillStates;\n instructions.strokeStates = this.strokeStates;\n return instructions;\n };\n /**\n * @param {import(\"../../geom/SimpleGeometry.js\").default|import(\"../Feature.js\").default} geometry Geometry.\n * @param {import(\"../../Feature.js\").FeatureLike} feature Feature.\n */\n CanvasTextBuilder.prototype.drawText = function (geometry, feature) {\n var fillState = this.textFillState_;\n var strokeState = this.textStrokeState_;\n var textState = this.textState_;\n if (this.text_ === '' || !textState || (!fillState && !strokeState)) {\n return;\n }\n var coordinates = this.coordinates;\n var begin = coordinates.length;\n var geometryType = geometry.getType();\n var flatCoordinates = null;\n var stride = geometry.getStride();\n if (textState.placement === TextPlacement.LINE &&\n (geometryType == 'LineString' ||\n geometryType == 'MultiLineString' ||\n geometryType == 'Polygon' ||\n geometryType == 'MultiPolygon')) {\n if (!intersects(this.getBufferedMaxExtent(), geometry.getExtent())) {\n return;\n }\n var ends = void 0;\n flatCoordinates = geometry.getFlatCoordinates();\n if (geometryType == 'LineString') {\n ends = [flatCoordinates.length];\n }\n else if (geometryType == 'MultiLineString') {\n ends = /** @type {import(\"../../geom/MultiLineString.js\").default} */ (geometry).getEnds();\n }\n else if (geometryType == 'Polygon') {\n ends = /** @type {import(\"../../geom/Polygon.js\").default} */ (geometry)\n .getEnds()\n .slice(0, 1);\n }\n else if (geometryType == 'MultiPolygon') {\n var endss = \n /** @type {import(\"../../geom/MultiPolygon.js\").default} */ (geometry).getEndss();\n ends = [];\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n ends.push(endss[i][0]);\n }\n }\n this.beginGeometry(geometry, feature);\n var textAlign = textState.textAlign;\n // No `justify` support for line placement.\n var flatOffset = 0;\n var flatEnd = void 0;\n for (var o = 0, oo = ends.length; o < oo; ++o) {\n if (textAlign == undefined) {\n var range = matchingChunk(textState.maxAngle, flatCoordinates, flatOffset, ends[o], stride);\n flatOffset = range[0];\n flatEnd = range[1];\n }\n else {\n flatEnd = ends[o];\n }\n for (var i = flatOffset; i < flatEnd; i += stride) {\n coordinates.push(flatCoordinates[i], flatCoordinates[i + 1]);\n }\n var end = coordinates.length;\n flatOffset = ends[o];\n this.drawChars_(begin, end);\n begin = end;\n }\n this.endGeometry(feature);\n }\n else {\n var geometryWidths = textState.overflow ? null : [];\n switch (geometryType) {\n case 'Point':\n case 'MultiPoint':\n flatCoordinates =\n /** @type {import(\"../../geom/MultiPoint.js\").default} */ (geometry).getFlatCoordinates();\n break;\n case 'LineString':\n flatCoordinates =\n /** @type {import(\"../../geom/LineString.js\").default} */ (geometry).getFlatMidpoint();\n break;\n case 'Circle':\n flatCoordinates =\n /** @type {import(\"../../geom/Circle.js\").default} */ (geometry).getCenter();\n break;\n case 'MultiLineString':\n flatCoordinates =\n /** @type {import(\"../../geom/MultiLineString.js\").default} */ (geometry).getFlatMidpoints();\n stride = 2;\n break;\n case 'Polygon':\n flatCoordinates =\n /** @type {import(\"../../geom/Polygon.js\").default} */ (geometry).getFlatInteriorPoint();\n if (!textState.overflow) {\n geometryWidths.push(flatCoordinates[2] / this.resolution);\n }\n stride = 3;\n break;\n case 'MultiPolygon':\n var interiorPoints = \n /** @type {import(\"../../geom/MultiPolygon.js\").default} */ (geometry).getFlatInteriorPoints();\n flatCoordinates = [];\n for (var i = 0, ii = interiorPoints.length; i < ii; i += 3) {\n if (!textState.overflow) {\n geometryWidths.push(interiorPoints[i + 2] / this.resolution);\n }\n flatCoordinates.push(interiorPoints[i], interiorPoints[i + 1]);\n }\n if (flatCoordinates.length === 0) {\n return;\n }\n stride = 2;\n break;\n default:\n }\n var end = this.appendFlatPointCoordinates(flatCoordinates, stride);\n if (end === begin) {\n return;\n }\n if (geometryWidths &&\n (end - begin) / 2 !== flatCoordinates.length / stride) {\n var beg_1 = begin / 2;\n geometryWidths = geometryWidths.filter(function (w, i) {\n var keep = coordinates[(beg_1 + i) * 2] === flatCoordinates[i * stride] &&\n coordinates[(beg_1 + i) * 2 + 1] === flatCoordinates[i * stride + 1];\n if (!keep) {\n --beg_1;\n }\n return keep;\n });\n }\n this.saveTextStates_();\n if (textState.backgroundFill || textState.backgroundStroke) {\n this.setFillStrokeStyle(textState.backgroundFill, textState.backgroundStroke);\n if (textState.backgroundFill) {\n this.updateFillStyle(this.state, this.createFill);\n this.hitDetectionInstructions.push(this.createFill(this.state));\n }\n if (textState.backgroundStroke) {\n this.updateStrokeStyle(this.state, this.applyStroke);\n this.hitDetectionInstructions.push(this.createStroke(this.state));\n }\n }\n this.beginGeometry(geometry, feature);\n // adjust padding for negative scale\n var padding = textState.padding;\n if (padding != defaultPadding &&\n (textState.scale[0] < 0 || textState.scale[1] < 0)) {\n var p0 = textState.padding[0];\n var p1 = textState.padding[1];\n var p2 = textState.padding[2];\n var p3 = textState.padding[3];\n if (textState.scale[0] < 0) {\n p1 = -p1;\n p3 = -p3;\n }\n if (textState.scale[1] < 0) {\n p0 = -p0;\n p2 = -p2;\n }\n padding = [p0, p1, p2, p3];\n }\n // The image is unknown at this stage so we pass null; it will be computed at render time.\n // For clarity, we pass NaN for offsetX, offsetY, width and height, which will be computed at\n // render time.\n var pixelRatio_1 = this.pixelRatio;\n this.instructions.push([\n CanvasInstruction.DRAW_IMAGE,\n begin,\n end,\n null,\n NaN,\n NaN,\n NaN,\n 1,\n 0,\n 0,\n this.textRotateWithView_,\n this.textRotation_,\n [1, 1],\n NaN,\n undefined,\n this.declutterImageWithText_,\n padding == defaultPadding\n ? defaultPadding\n : padding.map(function (p) {\n return p * pixelRatio_1;\n }),\n !!textState.backgroundFill,\n !!textState.backgroundStroke,\n this.text_,\n this.textKey_,\n this.strokeKey_,\n this.fillKey_,\n this.textOffsetX_,\n this.textOffsetY_,\n geometryWidths,\n ]);\n var scale = 1 / pixelRatio_1;\n this.hitDetectionInstructions.push([\n CanvasInstruction.DRAW_IMAGE,\n begin,\n end,\n null,\n NaN,\n NaN,\n NaN,\n 1,\n 0,\n 0,\n this.textRotateWithView_,\n this.textRotation_,\n [scale, scale],\n NaN,\n undefined,\n this.declutterImageWithText_,\n padding,\n !!textState.backgroundFill,\n !!textState.backgroundStroke,\n this.text_,\n this.textKey_,\n this.strokeKey_,\n this.fillKey_,\n this.textOffsetX_,\n this.textOffsetY_,\n geometryWidths,\n ]);\n this.endGeometry(feature);\n }\n };\n /**\n * @private\n */\n CanvasTextBuilder.prototype.saveTextStates_ = function () {\n var strokeState = this.textStrokeState_;\n var textState = this.textState_;\n var fillState = this.textFillState_;\n var strokeKey = this.strokeKey_;\n if (strokeState) {\n if (!(strokeKey in this.strokeStates)) {\n this.strokeStates[strokeKey] = {\n strokeStyle: strokeState.strokeStyle,\n lineCap: strokeState.lineCap,\n lineDashOffset: strokeState.lineDashOffset,\n lineWidth: strokeState.lineWidth,\n lineJoin: strokeState.lineJoin,\n miterLimit: strokeState.miterLimit,\n lineDash: strokeState.lineDash,\n };\n }\n }\n var textKey = this.textKey_;\n if (!(textKey in this.textStates)) {\n this.textStates[textKey] = {\n font: textState.font,\n textAlign: textState.textAlign || defaultTextAlign,\n justify: textState.justify,\n textBaseline: textState.textBaseline || defaultTextBaseline,\n scale: textState.scale,\n };\n }\n var fillKey = this.fillKey_;\n if (fillState) {\n if (!(fillKey in this.fillStates)) {\n this.fillStates[fillKey] = {\n fillStyle: fillState.fillStyle,\n };\n }\n }\n };\n /**\n * @private\n * @param {number} begin Begin.\n * @param {number} end End.\n */\n CanvasTextBuilder.prototype.drawChars_ = function (begin, end) {\n var strokeState = this.textStrokeState_;\n var textState = this.textState_;\n var strokeKey = this.strokeKey_;\n var textKey = this.textKey_;\n var fillKey = this.fillKey_;\n this.saveTextStates_();\n var pixelRatio = this.pixelRatio;\n var baseline = TEXT_ALIGN[textState.textBaseline];\n var offsetY = this.textOffsetY_ * pixelRatio;\n var text = this.text_;\n var strokeWidth = strokeState\n ? (strokeState.lineWidth * Math.abs(textState.scale[0])) / 2\n : 0;\n this.instructions.push([\n CanvasInstruction.DRAW_CHARS,\n begin,\n end,\n baseline,\n textState.overflow,\n fillKey,\n textState.maxAngle,\n pixelRatio,\n offsetY,\n strokeKey,\n strokeWidth * pixelRatio,\n text,\n textKey,\n 1,\n ]);\n this.hitDetectionInstructions.push([\n CanvasInstruction.DRAW_CHARS,\n begin,\n end,\n baseline,\n textState.overflow,\n fillKey,\n textState.maxAngle,\n 1,\n offsetY,\n strokeKey,\n strokeWidth,\n text,\n textKey,\n 1 / pixelRatio,\n ]);\n };\n /**\n * @param {import(\"../../style/Text.js\").default} textStyle Text style.\n * @param {Object} [opt_sharedData] Shared data.\n */\n CanvasTextBuilder.prototype.setTextStyle = function (textStyle, opt_sharedData) {\n var textState, fillState, strokeState;\n if (!textStyle) {\n this.text_ = '';\n }\n else {\n var textFillStyle = textStyle.getFill();\n if (!textFillStyle) {\n fillState = null;\n this.textFillState_ = fillState;\n }\n else {\n fillState = this.textFillState_;\n if (!fillState) {\n fillState = /** @type {import(\"../canvas.js\").FillState} */ ({});\n this.textFillState_ = fillState;\n }\n fillState.fillStyle = asColorLike(textFillStyle.getColor() || defaultFillStyle);\n }\n var textStrokeStyle = textStyle.getStroke();\n if (!textStrokeStyle) {\n strokeState = null;\n this.textStrokeState_ = strokeState;\n }\n else {\n strokeState = this.textStrokeState_;\n if (!strokeState) {\n strokeState = /** @type {import(\"../canvas.js\").StrokeState} */ ({});\n this.textStrokeState_ = strokeState;\n }\n var lineDash = textStrokeStyle.getLineDash();\n var lineDashOffset = textStrokeStyle.getLineDashOffset();\n var lineWidth = textStrokeStyle.getWidth();\n var miterLimit = textStrokeStyle.getMiterLimit();\n strokeState.lineCap = textStrokeStyle.getLineCap() || defaultLineCap;\n strokeState.lineDash = lineDash ? lineDash.slice() : defaultLineDash;\n strokeState.lineDashOffset =\n lineDashOffset === undefined ? defaultLineDashOffset : lineDashOffset;\n strokeState.lineJoin = textStrokeStyle.getLineJoin() || defaultLineJoin;\n strokeState.lineWidth =\n lineWidth === undefined ? defaultLineWidth : lineWidth;\n strokeState.miterLimit =\n miterLimit === undefined ? defaultMiterLimit : miterLimit;\n strokeState.strokeStyle = asColorLike(textStrokeStyle.getColor() || defaultStrokeStyle);\n }\n textState = this.textState_;\n var font = textStyle.getFont() || defaultFont;\n registerFont(font);\n var textScale = textStyle.getScaleArray();\n textState.overflow = textStyle.getOverflow();\n textState.font = font;\n textState.maxAngle = textStyle.getMaxAngle();\n textState.placement = textStyle.getPlacement();\n textState.textAlign = textStyle.getTextAlign();\n textState.justify = textStyle.getJustify();\n textState.textBaseline =\n textStyle.getTextBaseline() || defaultTextBaseline;\n textState.backgroundFill = textStyle.getBackgroundFill();\n textState.backgroundStroke = textStyle.getBackgroundStroke();\n textState.padding = textStyle.getPadding() || defaultPadding;\n textState.scale = textScale === undefined ? [1, 1] : textScale;\n var textOffsetX = textStyle.getOffsetX();\n var textOffsetY = textStyle.getOffsetY();\n var textRotateWithView = textStyle.getRotateWithView();\n var textRotation = textStyle.getRotation();\n this.text_ = textStyle.getText() || '';\n this.textOffsetX_ = textOffsetX === undefined ? 0 : textOffsetX;\n this.textOffsetY_ = textOffsetY === undefined ? 0 : textOffsetY;\n this.textRotateWithView_ =\n textRotateWithView === undefined ? false : textRotateWithView;\n this.textRotation_ = textRotation === undefined ? 0 : textRotation;\n this.strokeKey_ = strokeState\n ? (typeof strokeState.strokeStyle == 'string'\n ? strokeState.strokeStyle\n : getUid(strokeState.strokeStyle)) +\n strokeState.lineCap +\n strokeState.lineDashOffset +\n '|' +\n strokeState.lineWidth +\n strokeState.lineJoin +\n strokeState.miterLimit +\n '[' +\n strokeState.lineDash.join() +\n ']'\n : '';\n this.textKey_ =\n textState.font +\n textState.scale +\n (textState.textAlign || '?') +\n (textState.justify || '?') +\n (textState.textBaseline || '?');\n this.fillKey_ = fillState\n ? typeof fillState.fillStyle == 'string'\n ? fillState.fillStyle\n : '|' + getUid(fillState.fillStyle)\n : '';\n }\n this.declutterImageWithText_ = opt_sharedData;\n };\n return CanvasTextBuilder;\n}(CanvasBuilder));\nexport default CanvasTextBuilder;\n//# sourceMappingURL=TextBuilder.js.map","/**\n * @module ol/render/canvas/BuilderGroup\n */\nimport Builder from './Builder.js';\nimport ImageBuilder from './ImageBuilder.js';\nimport LineStringBuilder from './LineStringBuilder.js';\nimport PolygonBuilder from './PolygonBuilder.js';\nimport TextBuilder from './TextBuilder.js';\n/**\n * @type {Object}\n */\nvar BATCH_CONSTRUCTORS = {\n 'Circle': PolygonBuilder,\n 'Default': Builder,\n 'Image': ImageBuilder,\n 'LineString': LineStringBuilder,\n 'Polygon': PolygonBuilder,\n 'Text': TextBuilder,\n};\nvar BuilderGroup = /** @class */ (function () {\n /**\n * @param {number} tolerance Tolerance.\n * @param {import(\"../../extent.js\").Extent} maxExtent Max extent.\n * @param {number} resolution Resolution.\n * @param {number} pixelRatio Pixel ratio.\n */\n function BuilderGroup(tolerance, maxExtent, resolution, pixelRatio) {\n /**\n * @private\n * @type {number}\n */\n this.tolerance_ = tolerance;\n /**\n * @private\n * @type {import(\"../../extent.js\").Extent}\n */\n this.maxExtent_ = maxExtent;\n /**\n * @private\n * @type {number}\n */\n this.pixelRatio_ = pixelRatio;\n /**\n * @private\n * @type {number}\n */\n this.resolution_ = resolution;\n /**\n * @private\n * @type {!Object>}\n */\n this.buildersByZIndex_ = {};\n }\n /**\n * @return {!Object>} The serializable instructions\n */\n BuilderGroup.prototype.finish = function () {\n var builderInstructions = {};\n for (var zKey in this.buildersByZIndex_) {\n builderInstructions[zKey] = builderInstructions[zKey] || {};\n var builders = this.buildersByZIndex_[zKey];\n for (var builderKey in builders) {\n var builderInstruction = builders[builderKey].finish();\n builderInstructions[zKey][builderKey] = builderInstruction;\n }\n }\n return builderInstructions;\n };\n /**\n * @param {number|undefined} zIndex Z index.\n * @param {import(\"../canvas.js\").BuilderType} builderType Replay type.\n * @return {import(\"../VectorContext.js\").default} Replay.\n */\n BuilderGroup.prototype.getBuilder = function (zIndex, builderType) {\n var zIndexKey = zIndex !== undefined ? zIndex.toString() : '0';\n var replays = this.buildersByZIndex_[zIndexKey];\n if (replays === undefined) {\n replays = {};\n this.buildersByZIndex_[zIndexKey] = replays;\n }\n var replay = replays[builderType];\n if (replay === undefined) {\n var Constructor = BATCH_CONSTRUCTORS[builderType];\n replay = new Constructor(this.tolerance_, this.maxExtent_, this.resolution_, this.pixelRatio_);\n replays[builderType] = replay;\n }\n return replay;\n };\n return BuilderGroup;\n}());\nexport default BuilderGroup;\n//# sourceMappingURL=BuilderGroup.js.map","/**\n * @module ol/geom/flat/textpath\n */\nimport { lerp } from '../../math.js';\nimport { rotate } from './transform.js';\n/**\n * @param {Array} flatCoordinates Path to put text on.\n * @param {number} offset Start offset of the `flatCoordinates`.\n * @param {number} end End offset of the `flatCoordinates`.\n * @param {number} stride Stride.\n * @param {string} text Text to place on the path.\n * @param {number} startM m along the path where the text starts.\n * @param {number} maxAngle Max angle between adjacent chars in radians.\n * @param {number} scale The product of the text scale and the device pixel ratio.\n * @param {function(string, string, Object):number} measureAndCacheTextWidth Measure and cache text width.\n * @param {string} font The font.\n * @param {Object} cache A cache of measured widths.\n * @param {number} rotation Rotation to apply to the flatCoordinates to determine whether text needs to be reversed.\n * @return {Array>|null} The result array (or null if `maxAngle` was\n * exceeded). Entries of the array are x, y, anchorX, angle, chunk.\n */\nexport function drawTextOnPath(flatCoordinates, offset, end, stride, text, startM, maxAngle, scale, measureAndCacheTextWidth, font, cache, rotation) {\n var x2 = flatCoordinates[offset];\n var y2 = flatCoordinates[offset + 1];\n var x1 = 0;\n var y1 = 0;\n var segmentLength = 0;\n var segmentM = 0;\n function advance() {\n x1 = x2;\n y1 = y2;\n offset += stride;\n x2 = flatCoordinates[offset];\n y2 = flatCoordinates[offset + 1];\n segmentM += segmentLength;\n segmentLength = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n }\n do {\n advance();\n } while (offset < end - stride && segmentM + segmentLength < startM);\n var interpolate = segmentLength === 0 ? 0 : (startM - segmentM) / segmentLength;\n var beginX = lerp(x1, x2, interpolate);\n var beginY = lerp(y1, y2, interpolate);\n var startOffset = offset - stride;\n var startLength = segmentM;\n var endM = startM + scale * measureAndCacheTextWidth(font, text, cache);\n while (offset < end - stride && segmentM + segmentLength < endM) {\n advance();\n }\n interpolate = segmentLength === 0 ? 0 : (endM - segmentM) / segmentLength;\n var endX = lerp(x1, x2, interpolate);\n var endY = lerp(y1, y2, interpolate);\n // Keep text upright\n var reverse;\n if (rotation) {\n var flat = [beginX, beginY, endX, endY];\n rotate(flat, 0, 4, 2, rotation, flat, flat);\n reverse = flat[0] > flat[2];\n }\n else {\n reverse = beginX > endX;\n }\n var PI = Math.PI;\n var result = [];\n var singleSegment = startOffset + stride === offset;\n offset = startOffset;\n segmentLength = 0;\n segmentM = startLength;\n x2 = flatCoordinates[offset];\n y2 = flatCoordinates[offset + 1];\n var previousAngle;\n // All on the same segment\n if (singleSegment) {\n advance();\n previousAngle = Math.atan2(y2 - y1, x2 - x1);\n if (reverse) {\n previousAngle += previousAngle > 0 ? -PI : PI;\n }\n var x = (endX + beginX) / 2;\n var y = (endY + beginY) / 2;\n result[0] = [x, y, (endM - startM) / 2, previousAngle, text];\n return result;\n }\n // rendering across line segments\n text = text.replace(/\\n/g, ' '); // ensure rendering in single-line as all calculations below don't handle multi-lines\n for (var i = 0, ii = text.length; i < ii;) {\n advance();\n var angle = Math.atan2(y2 - y1, x2 - x1);\n if (reverse) {\n angle += angle > 0 ? -PI : PI;\n }\n if (previousAngle !== undefined) {\n var delta = angle - previousAngle;\n delta += delta > PI ? -2 * PI : delta < -PI ? 2 * PI : 0;\n if (Math.abs(delta) > maxAngle) {\n return null;\n }\n }\n previousAngle = angle;\n var iStart = i;\n var charLength = 0;\n for (; i < ii; ++i) {\n var index = reverse ? ii - i - 1 : i;\n var len = scale * measureAndCacheTextWidth(font, text[index], cache);\n if (offset + stride < end &&\n segmentM + segmentLength < startM + charLength + len / 2) {\n break;\n }\n charLength += len;\n }\n if (i === iStart) {\n continue;\n }\n var chars = reverse\n ? text.substring(ii - iStart, ii - i)\n : text.substring(iStart, i);\n interpolate =\n segmentLength === 0\n ? 0\n : (startM + charLength / 2 - segmentM) / segmentLength;\n var x = lerp(x1, x2, interpolate);\n var y = lerp(y1, y2, interpolate);\n result.push([x, y, charLength / 2, angle, chars]);\n startM += charLength;\n }\n return result;\n}\n//# sourceMappingURL=textpath.js.map","/**\n * @module ol/render/canvas/Executor\n */\nimport CanvasInstruction from './Instruction.js';\nimport { TEXT_ALIGN } from './TextBuilder.js';\nimport { WORKER_OFFSCREEN_CANVAS } from '../../has.js';\nimport { apply as applyTransform, compose as composeTransform, create as createTransform, setFromArray as transformSetFromArray, } from '../../transform.js';\nimport { createEmpty, createOrUpdate, intersects } from '../../extent.js';\nimport { defaultPadding, defaultTextAlign, defaultTextBaseline, drawImageOrLabel, getTextDimensions, measureAndCacheTextWidth, } from '../canvas.js';\nimport { drawTextOnPath } from '../../geom/flat/textpath.js';\nimport { equals } from '../../array.js';\nimport { lineStringLength } from '../../geom/flat/length.js';\nimport { transform2D } from '../../geom/flat/transform.js';\n/**\n * @typedef {Object} BBox\n * @property {number} minX Minimal x.\n * @property {number} minY Minimal y.\n * @property {number} maxX Maximal x.\n * @property {number} maxY Maximal y\n * @property {*} value Value.\n */\n/**\n * @typedef {Object} ImageOrLabelDimensions\n * @property {number} drawImageX DrawImageX.\n * @property {number} drawImageY DrawImageY.\n * @property {number} drawImageW DrawImageW.\n * @property {number} drawImageH DrawImageH.\n * @property {number} originX OriginX.\n * @property {number} originY OriginY.\n * @property {Array} scale Scale.\n * @property {BBox} declutterBox DeclutterBox.\n * @property {import(\"../../transform.js\").Transform} canvasTransform CanvasTransform.\n */\n/**\n * @typedef {{0: CanvasRenderingContext2D, 1: number, 2: import(\"../canvas.js\").Label|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement, 3: ImageOrLabelDimensions, 4: number, 5: Array<*>, 6: Array<*>}} ReplayImageOrLabelArgs\n */\n/**\n * @template T\n * @typedef {function(import(\"../../Feature.js\").FeatureLike, import(\"../../geom/SimpleGeometry.js\").default): T} FeatureCallback\n */\n/**\n * @type {import(\"../../extent.js\").Extent}\n */\nvar tmpExtent = createEmpty();\n/** @type {import(\"../../coordinate.js\").Coordinate} */\nvar p1 = [];\n/** @type {import(\"../../coordinate.js\").Coordinate} */\nvar p2 = [];\n/** @type {import(\"../../coordinate.js\").Coordinate} */\nvar p3 = [];\n/** @type {import(\"../../coordinate.js\").Coordinate} */\nvar p4 = [];\n/**\n * @param {ReplayImageOrLabelArgs} replayImageOrLabelArgs Arguments to replayImageOrLabel\n * @return {BBox} Declutter bbox.\n */\nfunction getDeclutterBox(replayImageOrLabelArgs) {\n return replayImageOrLabelArgs[3].declutterBox;\n}\nvar rtlRegEx = new RegExp(\n/* eslint-disable prettier/prettier */\n'[' +\n String.fromCharCode(0x00591) + '-' + String.fromCharCode(0x008ff) +\n String.fromCharCode(0x0fb1d) + '-' + String.fromCharCode(0x0fdff) +\n String.fromCharCode(0x0fe70) + '-' + String.fromCharCode(0x0fefc) +\n String.fromCharCode(0x10800) + '-' + String.fromCharCode(0x10fff) +\n String.fromCharCode(0x1e800) + '-' + String.fromCharCode(0x1efff) +\n ']'\n/* eslint-enable prettier/prettier */\n);\n/**\n * @param {string} text Text.\n * @param {string} align Alignment.\n * @return {number} Text alignment.\n */\nfunction horizontalTextAlign(text, align) {\n if ((align === 'start' || align === 'end') && !rtlRegEx.test(text)) {\n align = align === 'start' ? 'left' : 'right';\n }\n return TEXT_ALIGN[align];\n}\n/**\n * @param {Array} acc Accumulator.\n * @param {string} line Line of text.\n * @param {number} i Index\n * @return {Array} Accumulator.\n */\nfunction createTextChunks(acc, line, i) {\n if (i > 0) {\n acc.push('\\n', '');\n }\n acc.push(line, '');\n return acc;\n}\nvar Executor = /** @class */ (function () {\n /**\n * @param {number} resolution Resolution.\n * @param {number} pixelRatio Pixel ratio.\n * @param {boolean} overlaps The replay can have overlapping geometries.\n * @param {import(\"../canvas.js\").SerializableInstructions} instructions The serializable instructions\n */\n function Executor(resolution, pixelRatio, overlaps, instructions) {\n /**\n * @protected\n * @type {boolean}\n */\n this.overlaps = overlaps;\n /**\n * @protected\n * @type {number}\n */\n this.pixelRatio = pixelRatio;\n /**\n * @protected\n * @const\n * @type {number}\n */\n this.resolution = resolution;\n /**\n * @private\n * @type {boolean}\n */\n this.alignFill_;\n /**\n * @protected\n * @type {Array<*>}\n */\n this.instructions = instructions.instructions;\n /**\n * @protected\n * @type {Array}\n */\n this.coordinates = instructions.coordinates;\n /**\n * @private\n * @type {!Object|Array>>}\n */\n this.coordinateCache_ = {};\n /**\n * @private\n * @type {!import(\"../../transform.js\").Transform}\n */\n this.renderedTransform_ = createTransform();\n /**\n * @protected\n * @type {Array<*>}\n */\n this.hitDetectionInstructions = instructions.hitDetectionInstructions;\n /**\n * @private\n * @type {Array}\n */\n this.pixelCoordinates_ = null;\n /**\n * @private\n * @type {number}\n */\n this.viewRotation_ = 0;\n /**\n * @type {!Object}\n */\n this.fillStates = instructions.fillStates || {};\n /**\n * @type {!Object}\n */\n this.strokeStates = instructions.strokeStates || {};\n /**\n * @type {!Object}\n */\n this.textStates = instructions.textStates || {};\n /**\n * @private\n * @type {Object>}\n */\n this.widths_ = {};\n /**\n * @private\n * @type {Object}\n */\n this.labels_ = {};\n }\n /**\n * @param {string|Array} text Text.\n * @param {string} textKey Text style key.\n * @param {string} fillKey Fill style key.\n * @param {string} strokeKey Stroke style key.\n * @return {import(\"../canvas.js\").Label} Label.\n */\n Executor.prototype.createLabel = function (text, textKey, fillKey, strokeKey) {\n var key = text + textKey + fillKey + strokeKey;\n if (this.labels_[key]) {\n return this.labels_[key];\n }\n var strokeState = strokeKey ? this.strokeStates[strokeKey] : null;\n var fillState = fillKey ? this.fillStates[fillKey] : null;\n var textState = this.textStates[textKey];\n var pixelRatio = this.pixelRatio;\n var scale = [\n textState.scale[0] * pixelRatio,\n textState.scale[1] * pixelRatio,\n ];\n var textIsArray = Array.isArray(text);\n var align = textState.justify\n ? TEXT_ALIGN[textState.justify]\n : horizontalTextAlign(Array.isArray(text) ? text[0] : text, textState.textAlign || defaultTextAlign);\n var strokeWidth = strokeKey && strokeState.lineWidth ? strokeState.lineWidth : 0;\n var chunks = textIsArray\n ? text\n : text.split('\\n').reduce(createTextChunks, []);\n var _a = getTextDimensions(textState, chunks), width = _a.width, height = _a.height, widths = _a.widths, heights = _a.heights, lineWidths = _a.lineWidths;\n var renderWidth = width + strokeWidth;\n var contextInstructions = [];\n // make canvas 2 pixels wider to account for italic text width measurement errors\n var w = (renderWidth + 2) * scale[0];\n var h = (height + strokeWidth) * scale[1];\n /** @type {import(\"../canvas.js\").Label} */\n var label = {\n width: w < 0 ? Math.floor(w) : Math.ceil(w),\n height: h < 0 ? Math.floor(h) : Math.ceil(h),\n contextInstructions: contextInstructions,\n };\n if (scale[0] != 1 || scale[1] != 1) {\n contextInstructions.push('scale', scale);\n }\n if (strokeKey) {\n contextInstructions.push('strokeStyle', strokeState.strokeStyle);\n contextInstructions.push('lineWidth', strokeWidth);\n contextInstructions.push('lineCap', strokeState.lineCap);\n contextInstructions.push('lineJoin', strokeState.lineJoin);\n contextInstructions.push('miterLimit', strokeState.miterLimit);\n // eslint-disable-next-line\n var Context = WORKER_OFFSCREEN_CANVAS ? OffscreenCanvasRenderingContext2D : CanvasRenderingContext2D;\n if (Context.prototype.setLineDash) {\n contextInstructions.push('setLineDash', [strokeState.lineDash]);\n contextInstructions.push('lineDashOffset', strokeState.lineDashOffset);\n }\n }\n if (fillKey) {\n contextInstructions.push('fillStyle', fillState.fillStyle);\n }\n contextInstructions.push('textBaseline', 'middle');\n contextInstructions.push('textAlign', 'center');\n var leftRight = 0.5 - align;\n var x = align * renderWidth + leftRight * strokeWidth;\n var strokeInstructions = [];\n var fillInstructions = [];\n var lineHeight = 0;\n var lineOffset = 0;\n var widthHeightIndex = 0;\n var lineWidthIndex = 0;\n var previousFont;\n for (var i = 0, ii = chunks.length; i < ii; i += 2) {\n var text_1 = chunks[i];\n if (text_1 === '\\n') {\n lineOffset += lineHeight;\n lineHeight = 0;\n x = align * renderWidth + leftRight * strokeWidth;\n ++lineWidthIndex;\n continue;\n }\n var font = chunks[i + 1] || textState.font;\n if (font !== previousFont) {\n if (strokeKey) {\n strokeInstructions.push('font', font);\n }\n if (fillKey) {\n fillInstructions.push('font', font);\n }\n previousFont = font;\n }\n lineHeight = Math.max(lineHeight, heights[widthHeightIndex]);\n var fillStrokeArgs = [\n text_1,\n x +\n leftRight * widths[widthHeightIndex] +\n align * (widths[widthHeightIndex] - lineWidths[lineWidthIndex]),\n 0.5 * (strokeWidth + lineHeight) + lineOffset,\n ];\n x += widths[widthHeightIndex];\n if (strokeKey) {\n strokeInstructions.push('strokeText', fillStrokeArgs);\n }\n if (fillKey) {\n fillInstructions.push('fillText', fillStrokeArgs);\n }\n ++widthHeightIndex;\n }\n Array.prototype.push.apply(contextInstructions, strokeInstructions);\n Array.prototype.push.apply(contextInstructions, fillInstructions);\n this.labels_[key] = label;\n return label;\n };\n /**\n * @param {CanvasRenderingContext2D} context Context.\n * @param {import(\"../../coordinate.js\").Coordinate} p1 1st point of the background box.\n * @param {import(\"../../coordinate.js\").Coordinate} p2 2nd point of the background box.\n * @param {import(\"../../coordinate.js\").Coordinate} p3 3rd point of the background box.\n * @param {import(\"../../coordinate.js\").Coordinate} p4 4th point of the background box.\n * @param {Array<*>} fillInstruction Fill instruction.\n * @param {Array<*>} strokeInstruction Stroke instruction.\n */\n Executor.prototype.replayTextBackground_ = function (context, p1, p2, p3, p4, fillInstruction, strokeInstruction) {\n context.beginPath();\n context.moveTo.apply(context, p1);\n context.lineTo.apply(context, p2);\n context.lineTo.apply(context, p3);\n context.lineTo.apply(context, p4);\n context.lineTo.apply(context, p1);\n if (fillInstruction) {\n this.alignFill_ = /** @type {boolean} */ (fillInstruction[2]);\n this.fill_(context);\n }\n if (strokeInstruction) {\n this.setStrokeStyle_(context, \n /** @type {Array<*>} */ (strokeInstruction));\n context.stroke();\n }\n };\n /**\n * @private\n * @param {number} sheetWidth Width of the sprite sheet.\n * @param {number} sheetHeight Height of the sprite sheet.\n * @param {number} centerX X.\n * @param {number} centerY Y.\n * @param {number} width Width.\n * @param {number} height Height.\n * @param {number} anchorX Anchor X.\n * @param {number} anchorY Anchor Y.\n * @param {number} originX Origin X.\n * @param {number} originY Origin Y.\n * @param {number} rotation Rotation.\n * @param {import(\"../../size.js\").Size} scale Scale.\n * @param {boolean} snapToPixel Snap to pixel.\n * @param {Array} padding Padding.\n * @param {boolean} fillStroke Background fill or stroke.\n * @param {import(\"../../Feature.js\").FeatureLike} feature Feature.\n * @return {ImageOrLabelDimensions} Dimensions for positioning and decluttering the image or label.\n */\n Executor.prototype.calculateImageOrLabelDimensions_ = function (sheetWidth, sheetHeight, centerX, centerY, width, height, anchorX, anchorY, originX, originY, rotation, scale, snapToPixel, padding, fillStroke, feature) {\n anchorX *= scale[0];\n anchorY *= scale[1];\n var x = centerX - anchorX;\n var y = centerY - anchorY;\n var w = width + originX > sheetWidth ? sheetWidth - originX : width;\n var h = height + originY > sheetHeight ? sheetHeight - originY : height;\n var boxW = padding[3] + w * scale[0] + padding[1];\n var boxH = padding[0] + h * scale[1] + padding[2];\n var boxX = x - padding[3];\n var boxY = y - padding[0];\n if (fillStroke || rotation !== 0) {\n p1[0] = boxX;\n p4[0] = boxX;\n p1[1] = boxY;\n p2[1] = boxY;\n p2[0] = boxX + boxW;\n p3[0] = p2[0];\n p3[1] = boxY + boxH;\n p4[1] = p3[1];\n }\n var transform;\n if (rotation !== 0) {\n transform = composeTransform(createTransform(), centerX, centerY, 1, 1, rotation, -centerX, -centerY);\n applyTransform(transform, p1);\n applyTransform(transform, p2);\n applyTransform(transform, p3);\n applyTransform(transform, p4);\n createOrUpdate(Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1]), tmpExtent);\n }\n else {\n createOrUpdate(Math.min(boxX, boxX + boxW), Math.min(boxY, boxY + boxH), Math.max(boxX, boxX + boxW), Math.max(boxY, boxY + boxH), tmpExtent);\n }\n if (snapToPixel) {\n x = Math.round(x);\n y = Math.round(y);\n }\n return {\n drawImageX: x,\n drawImageY: y,\n drawImageW: w,\n drawImageH: h,\n originX: originX,\n originY: originY,\n declutterBox: {\n minX: tmpExtent[0],\n minY: tmpExtent[1],\n maxX: tmpExtent[2],\n maxY: tmpExtent[3],\n value: feature,\n },\n canvasTransform: transform,\n scale: scale,\n };\n };\n /**\n * @private\n * @param {CanvasRenderingContext2D} context Context.\n * @param {number} contextScale Scale of the context.\n * @param {import(\"../canvas.js\").Label|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement} imageOrLabel Image.\n * @param {ImageOrLabelDimensions} dimensions Dimensions.\n * @param {number} opacity Opacity.\n * @param {Array<*>} fillInstruction Fill instruction.\n * @param {Array<*>} strokeInstruction Stroke instruction.\n * @return {boolean} The image or label was rendered.\n */\n Executor.prototype.replayImageOrLabel_ = function (context, contextScale, imageOrLabel, dimensions, opacity, fillInstruction, strokeInstruction) {\n var fillStroke = !!(fillInstruction || strokeInstruction);\n var box = dimensions.declutterBox;\n var canvas = context.canvas;\n var strokePadding = strokeInstruction\n ? (strokeInstruction[2] * dimensions.scale[0]) / 2\n : 0;\n var intersects = box.minX - strokePadding <= canvas.width / contextScale &&\n box.maxX + strokePadding >= 0 &&\n box.minY - strokePadding <= canvas.height / contextScale &&\n box.maxY + strokePadding >= 0;\n if (intersects) {\n if (fillStroke) {\n this.replayTextBackground_(context, p1, p2, p3, p4, \n /** @type {Array<*>} */ (fillInstruction), \n /** @type {Array<*>} */ (strokeInstruction));\n }\n drawImageOrLabel(context, dimensions.canvasTransform, opacity, imageOrLabel, dimensions.originX, dimensions.originY, dimensions.drawImageW, dimensions.drawImageH, dimensions.drawImageX, dimensions.drawImageY, dimensions.scale);\n }\n return true;\n };\n /**\n * @private\n * @param {CanvasRenderingContext2D} context Context.\n */\n Executor.prototype.fill_ = function (context) {\n if (this.alignFill_) {\n var origin_1 = applyTransform(this.renderedTransform_, [0, 0]);\n var repeatSize = 512 * this.pixelRatio;\n context.save();\n context.translate(origin_1[0] % repeatSize, origin_1[1] % repeatSize);\n context.rotate(this.viewRotation_);\n }\n context.fill();\n if (this.alignFill_) {\n context.restore();\n }\n };\n /**\n * @private\n * @param {CanvasRenderingContext2D} context Context.\n * @param {Array<*>} instruction Instruction.\n */\n Executor.prototype.setStrokeStyle_ = function (context, instruction) {\n context['strokeStyle'] =\n /** @type {import(\"../../colorlike.js\").ColorLike} */ (instruction[1]);\n context.lineWidth = /** @type {number} */ (instruction[2]);\n context.lineCap = /** @type {CanvasLineCap} */ (instruction[3]);\n context.lineJoin = /** @type {CanvasLineJoin} */ (instruction[4]);\n context.miterLimit = /** @type {number} */ (instruction[5]);\n if (context.setLineDash) {\n context.lineDashOffset = /** @type {number} */ (instruction[7]);\n context.setLineDash(/** @type {Array} */ (instruction[6]));\n }\n };\n /**\n * @private\n * @param {string|Array} text The text to draw.\n * @param {string} textKey The key of the text state.\n * @param {string} strokeKey The key for the stroke state.\n * @param {string} fillKey The key for the fill state.\n * @return {{label: import(\"../canvas.js\").Label, anchorX: number, anchorY: number}} The text image and its anchor.\n */\n Executor.prototype.drawLabelWithPointPlacement_ = function (text, textKey, strokeKey, fillKey) {\n var textState = this.textStates[textKey];\n var label = this.createLabel(text, textKey, fillKey, strokeKey);\n var strokeState = this.strokeStates[strokeKey];\n var pixelRatio = this.pixelRatio;\n var align = horizontalTextAlign(Array.isArray(text) ? text[0] : text, textState.textAlign || defaultTextAlign);\n var baseline = TEXT_ALIGN[textState.textBaseline || defaultTextBaseline];\n var strokeWidth = strokeState && strokeState.lineWidth ? strokeState.lineWidth : 0;\n // Remove the 2 pixels we added in createLabel() for the anchor\n var width = label.width / pixelRatio - 2 * textState.scale[0];\n var anchorX = align * width + 2 * (0.5 - align) * strokeWidth;\n var anchorY = (baseline * label.height) / pixelRatio +\n 2 * (0.5 - baseline) * strokeWidth;\n return {\n label: label,\n anchorX: anchorX,\n anchorY: anchorY,\n };\n };\n /**\n * @private\n * @param {CanvasRenderingContext2D} context Context.\n * @param {number} contextScale Scale of the context.\n * @param {import(\"../../transform.js\").Transform} transform Transform.\n * @param {Array<*>} instructions Instructions array.\n * @param {boolean} snapToPixel Snap point symbols and text to integer pixels.\n * @param {FeatureCallback} [opt_featureCallback] Feature callback.\n * @param {import(\"../../extent.js\").Extent} [opt_hitExtent] Only check\n * features that intersect this extent.\n * @param {import(\"rbush\").default} [opt_declutterTree] Declutter tree.\n * @return {T|undefined} Callback result.\n * @template T\n */\n Executor.prototype.execute_ = function (context, contextScale, transform, instructions, snapToPixel, opt_featureCallback, opt_hitExtent, opt_declutterTree) {\n /** @type {Array} */\n var pixelCoordinates;\n if (this.pixelCoordinates_ && equals(transform, this.renderedTransform_)) {\n pixelCoordinates = this.pixelCoordinates_;\n }\n else {\n if (!this.pixelCoordinates_) {\n this.pixelCoordinates_ = [];\n }\n pixelCoordinates = transform2D(this.coordinates, 0, this.coordinates.length, 2, transform, this.pixelCoordinates_);\n transformSetFromArray(this.renderedTransform_, transform);\n }\n var i = 0; // instruction index\n var ii = instructions.length; // end of instructions\n var d = 0; // data index\n var dd; // end of per-instruction data\n var anchorX, anchorY, prevX, prevY, roundX, roundY, image, text, textKey, strokeKey, fillKey;\n var pendingFill = 0;\n var pendingStroke = 0;\n var lastFillInstruction = null;\n var lastStrokeInstruction = null;\n var coordinateCache = this.coordinateCache_;\n var viewRotation = this.viewRotation_;\n var viewRotationFromTransform = Math.round(Math.atan2(-transform[1], transform[0]) * 1e12) / 1e12;\n var state = /** @type {import(\"../../render.js\").State} */ ({\n context: context,\n pixelRatio: this.pixelRatio,\n resolution: this.resolution,\n rotation: viewRotation,\n });\n // When the batch size gets too big, performance decreases. 200 is a good\n // balance between batch size and number of fill/stroke instructions.\n var batchSize = this.instructions != instructions || this.overlaps ? 0 : 200;\n var /** @type {import(\"../../Feature.js\").FeatureLike} */ feature;\n var x, y, currentGeometry;\n while (i < ii) {\n var instruction = instructions[i];\n var type = /** @type {import(\"./Instruction.js\").default} */ (instruction[0]);\n switch (type) {\n case CanvasInstruction.BEGIN_GEOMETRY:\n feature = /** @type {import(\"../../Feature.js\").FeatureLike} */ (instruction[1]);\n currentGeometry = instruction[3];\n if (!feature.getGeometry()) {\n i = /** @type {number} */ (instruction[2]);\n }\n else if (opt_hitExtent !== undefined &&\n !intersects(opt_hitExtent, currentGeometry.getExtent())) {\n i = /** @type {number} */ (instruction[2]) + 1;\n }\n else {\n ++i;\n }\n break;\n case CanvasInstruction.BEGIN_PATH:\n if (pendingFill > batchSize) {\n this.fill_(context);\n pendingFill = 0;\n }\n if (pendingStroke > batchSize) {\n context.stroke();\n pendingStroke = 0;\n }\n if (!pendingFill && !pendingStroke) {\n context.beginPath();\n prevX = NaN;\n prevY = NaN;\n }\n ++i;\n break;\n case CanvasInstruction.CIRCLE:\n d = /** @type {number} */ (instruction[1]);\n var x1 = pixelCoordinates[d];\n var y1 = pixelCoordinates[d + 1];\n var x2 = pixelCoordinates[d + 2];\n var y2 = pixelCoordinates[d + 3];\n var dx = x2 - x1;\n var dy = y2 - y1;\n var r = Math.sqrt(dx * dx + dy * dy);\n context.moveTo(x1 + r, y1);\n context.arc(x1, y1, r, 0, 2 * Math.PI, true);\n ++i;\n break;\n case CanvasInstruction.CLOSE_PATH:\n context.closePath();\n ++i;\n break;\n case CanvasInstruction.CUSTOM:\n d = /** @type {number} */ (instruction[1]);\n dd = instruction[2];\n var geometry = \n /** @type {import(\"../../geom/SimpleGeometry.js\").default} */ (instruction[3]);\n var renderer = instruction[4];\n var fn = instruction.length == 6 ? instruction[5] : undefined;\n state.geometry = geometry;\n state.feature = feature;\n if (!(i in coordinateCache)) {\n coordinateCache[i] = [];\n }\n var coords = coordinateCache[i];\n if (fn) {\n fn(pixelCoordinates, d, dd, 2, coords);\n }\n else {\n coords[0] = pixelCoordinates[d];\n coords[1] = pixelCoordinates[d + 1];\n coords.length = 2;\n }\n renderer(coords, state);\n ++i;\n break;\n case CanvasInstruction.DRAW_IMAGE:\n d = /** @type {number} */ (instruction[1]);\n dd = /** @type {number} */ (instruction[2]);\n image =\n /** @type {HTMLCanvasElement|HTMLVideoElement|HTMLImageElement} */ (instruction[3]);\n // Remaining arguments in DRAW_IMAGE are in alphabetical order\n anchorX = /** @type {number} */ (instruction[4]);\n anchorY = /** @type {number} */ (instruction[5]);\n var height = /** @type {number} */ (instruction[6]);\n var opacity = /** @type {number} */ (instruction[7]);\n var originX = /** @type {number} */ (instruction[8]);\n var originY = /** @type {number} */ (instruction[9]);\n var rotateWithView = /** @type {boolean} */ (instruction[10]);\n var rotation = /** @type {number} */ (instruction[11]);\n var scale = /** @type {import(\"../../size.js\").Size} */ (instruction[12]);\n var width = /** @type {number} */ (instruction[13]);\n var declutterMode = \n /** @type {\"declutter\"|\"obstacle\"|\"none\"|undefined} */ (instruction[14]);\n var declutterImageWithText = \n /** @type {import(\"../canvas.js\").DeclutterImageWithText} */ (instruction[15]);\n if (!image && instruction.length >= 20) {\n // create label images\n text = /** @type {string} */ (instruction[19]);\n textKey = /** @type {string} */ (instruction[20]);\n strokeKey = /** @type {string} */ (instruction[21]);\n fillKey = /** @type {string} */ (instruction[22]);\n var labelWithAnchor = this.drawLabelWithPointPlacement_(text, textKey, strokeKey, fillKey);\n image = labelWithAnchor.label;\n instruction[3] = image;\n var textOffsetX = /** @type {number} */ (instruction[23]);\n anchorX = (labelWithAnchor.anchorX - textOffsetX) * this.pixelRatio;\n instruction[4] = anchorX;\n var textOffsetY = /** @type {number} */ (instruction[24]);\n anchorY = (labelWithAnchor.anchorY - textOffsetY) * this.pixelRatio;\n instruction[5] = anchorY;\n height = image.height;\n instruction[6] = height;\n width = image.width;\n instruction[13] = width;\n }\n var geometryWidths = void 0;\n if (instruction.length > 25) {\n geometryWidths = /** @type {number} */ (instruction[25]);\n }\n var padding = void 0, backgroundFill = void 0, backgroundStroke = void 0;\n if (instruction.length > 17) {\n padding = /** @type {Array} */ (instruction[16]);\n backgroundFill = /** @type {boolean} */ (instruction[17]);\n backgroundStroke = /** @type {boolean} */ (instruction[18]);\n }\n else {\n padding = defaultPadding;\n backgroundFill = false;\n backgroundStroke = false;\n }\n if (rotateWithView && viewRotationFromTransform) {\n // Canvas is expected to be rotated to reverse view rotation.\n rotation += viewRotation;\n }\n else if (!rotateWithView && !viewRotationFromTransform) {\n // Canvas is not rotated, images need to be rotated back to be north-up.\n rotation -= viewRotation;\n }\n var widthIndex = 0;\n for (; d < dd; d += 2) {\n if (geometryWidths &&\n geometryWidths[widthIndex++] < width / this.pixelRatio) {\n continue;\n }\n var dimensions = this.calculateImageOrLabelDimensions_(image.width, image.height, pixelCoordinates[d], pixelCoordinates[d + 1], width, height, anchorX, anchorY, originX, originY, rotation, scale, snapToPixel, padding, backgroundFill || backgroundStroke, feature);\n /** @type {ReplayImageOrLabelArgs} */\n var args = [\n context,\n contextScale,\n image,\n dimensions,\n opacity,\n backgroundFill\n ? /** @type {Array<*>} */ (lastFillInstruction)\n : null,\n backgroundStroke\n ? /** @type {Array<*>} */ (lastStrokeInstruction)\n : null,\n ];\n if (opt_declutterTree) {\n if (declutterMode === 'none') {\n // not rendered in declutter group\n continue;\n }\n else if (declutterMode === 'obstacle') {\n // will always be drawn, thus no collision detection, but insert as obstacle\n opt_declutterTree.insert(dimensions.declutterBox);\n continue;\n }\n else {\n var imageArgs = void 0;\n var imageDeclutterBox = void 0;\n if (declutterImageWithText) {\n var index = dd - d;\n if (!declutterImageWithText[index]) {\n // We now have the image for an image+text combination.\n declutterImageWithText[index] = args;\n // Don't render anything for now, wait for the text.\n continue;\n }\n imageArgs = declutterImageWithText[index];\n delete declutterImageWithText[index];\n imageDeclutterBox = getDeclutterBox(imageArgs);\n if (opt_declutterTree.collides(imageDeclutterBox)) {\n continue;\n }\n }\n if (opt_declutterTree.collides(dimensions.declutterBox)) {\n continue;\n }\n if (imageArgs) {\n // We now have image and text for an image+text combination.\n opt_declutterTree.insert(imageDeclutterBox);\n // Render the image before we render the text.\n this.replayImageOrLabel_.apply(this, imageArgs);\n }\n opt_declutterTree.insert(dimensions.declutterBox);\n }\n }\n this.replayImageOrLabel_.apply(this, args);\n }\n ++i;\n break;\n case CanvasInstruction.DRAW_CHARS:\n var begin = /** @type {number} */ (instruction[1]);\n var end = /** @type {number} */ (instruction[2]);\n var baseline = /** @type {number} */ (instruction[3]);\n var overflow = /** @type {number} */ (instruction[4]);\n fillKey = /** @type {string} */ (instruction[5]);\n var maxAngle = /** @type {number} */ (instruction[6]);\n var measurePixelRatio = /** @type {number} */ (instruction[7]);\n var offsetY = /** @type {number} */ (instruction[8]);\n strokeKey = /** @type {string} */ (instruction[9]);\n var strokeWidth = /** @type {number} */ (instruction[10]);\n text = /** @type {string} */ (instruction[11]);\n textKey = /** @type {string} */ (instruction[12]);\n var pixelRatioScale = [\n /** @type {number} */ (instruction[13]),\n /** @type {number} */ (instruction[13]),\n ];\n var textState = this.textStates[textKey];\n var font = textState.font;\n var textScale = [\n textState.scale[0] * measurePixelRatio,\n textState.scale[1] * measurePixelRatio,\n ];\n var cachedWidths = void 0;\n if (font in this.widths_) {\n cachedWidths = this.widths_[font];\n }\n else {\n cachedWidths = {};\n this.widths_[font] = cachedWidths;\n }\n var pathLength = lineStringLength(pixelCoordinates, begin, end, 2);\n var textLength = Math.abs(textScale[0]) *\n measureAndCacheTextWidth(font, text, cachedWidths);\n if (overflow || textLength <= pathLength) {\n var textAlign = this.textStates[textKey].textAlign;\n var startM = (pathLength - textLength) * TEXT_ALIGN[textAlign];\n var parts = drawTextOnPath(pixelCoordinates, begin, end, 2, text, startM, maxAngle, Math.abs(textScale[0]), measureAndCacheTextWidth, font, cachedWidths, viewRotationFromTransform ? 0 : this.viewRotation_);\n drawChars: if (parts) {\n /** @type {Array} */\n var replayImageOrLabelArgs = [];\n var c = void 0, cc = void 0, chars = void 0, label = void 0, part = void 0;\n if (strokeKey) {\n for (c = 0, cc = parts.length; c < cc; ++c) {\n part = parts[c]; // x, y, anchorX, rotation, chunk\n chars = /** @type {string} */ (part[4]);\n label = this.createLabel(chars, textKey, '', strokeKey);\n anchorX =\n /** @type {number} */ (part[2]) +\n (textScale[0] < 0 ? -strokeWidth : strokeWidth);\n anchorY =\n baseline * label.height +\n ((0.5 - baseline) * 2 * strokeWidth * textScale[1]) /\n textScale[0] -\n offsetY;\n var dimensions = this.calculateImageOrLabelDimensions_(label.width, label.height, part[0], part[1], label.width, label.height, anchorX, anchorY, 0, 0, part[3], pixelRatioScale, false, defaultPadding, false, feature);\n if (opt_declutterTree &&\n opt_declutterTree.collides(dimensions.declutterBox)) {\n break drawChars;\n }\n replayImageOrLabelArgs.push([\n context,\n contextScale,\n label,\n dimensions,\n 1,\n null,\n null,\n ]);\n }\n }\n if (fillKey) {\n for (c = 0, cc = parts.length; c < cc; ++c) {\n part = parts[c]; // x, y, anchorX, rotation, chunk\n chars = /** @type {string} */ (part[4]);\n label = this.createLabel(chars, textKey, fillKey, '');\n anchorX = /** @type {number} */ (part[2]);\n anchorY = baseline * label.height - offsetY;\n var dimensions = this.calculateImageOrLabelDimensions_(label.width, label.height, part[0], part[1], label.width, label.height, anchorX, anchorY, 0, 0, part[3], pixelRatioScale, false, defaultPadding, false, feature);\n if (opt_declutterTree &&\n opt_declutterTree.collides(dimensions.declutterBox)) {\n break drawChars;\n }\n replayImageOrLabelArgs.push([\n context,\n contextScale,\n label,\n dimensions,\n 1,\n null,\n null,\n ]);\n }\n }\n if (opt_declutterTree) {\n opt_declutterTree.load(replayImageOrLabelArgs.map(getDeclutterBox));\n }\n for (var i_1 = 0, ii_1 = replayImageOrLabelArgs.length; i_1 < ii_1; ++i_1) {\n this.replayImageOrLabel_.apply(this, replayImageOrLabelArgs[i_1]);\n }\n }\n }\n ++i;\n break;\n case CanvasInstruction.END_GEOMETRY:\n if (opt_featureCallback !== undefined) {\n feature = /** @type {import(\"../../Feature.js\").FeatureLike} */ (instruction[1]);\n var result = opt_featureCallback(feature, currentGeometry);\n if (result) {\n return result;\n }\n }\n ++i;\n break;\n case CanvasInstruction.FILL:\n if (batchSize) {\n pendingFill++;\n }\n else {\n this.fill_(context);\n }\n ++i;\n break;\n case CanvasInstruction.MOVE_TO_LINE_TO:\n d = /** @type {number} */ (instruction[1]);\n dd = /** @type {number} */ (instruction[2]);\n x = pixelCoordinates[d];\n y = pixelCoordinates[d + 1];\n roundX = (x + 0.5) | 0;\n roundY = (y + 0.5) | 0;\n if (roundX !== prevX || roundY !== prevY) {\n context.moveTo(x, y);\n prevX = roundX;\n prevY = roundY;\n }\n for (d += 2; d < dd; d += 2) {\n x = pixelCoordinates[d];\n y = pixelCoordinates[d + 1];\n roundX = (x + 0.5) | 0;\n roundY = (y + 0.5) | 0;\n if (d == dd - 2 || roundX !== prevX || roundY !== prevY) {\n context.lineTo(x, y);\n prevX = roundX;\n prevY = roundY;\n }\n }\n ++i;\n break;\n case CanvasInstruction.SET_FILL_STYLE:\n lastFillInstruction = instruction;\n this.alignFill_ = instruction[2];\n if (pendingFill) {\n this.fill_(context);\n pendingFill = 0;\n if (pendingStroke) {\n context.stroke();\n pendingStroke = 0;\n }\n }\n context.fillStyle =\n /** @type {import(\"../../colorlike.js\").ColorLike} */ (instruction[1]);\n ++i;\n break;\n case CanvasInstruction.SET_STROKE_STYLE:\n lastStrokeInstruction = instruction;\n if (pendingStroke) {\n context.stroke();\n pendingStroke = 0;\n }\n this.setStrokeStyle_(context, /** @type {Array<*>} */ (instruction));\n ++i;\n break;\n case CanvasInstruction.STROKE:\n if (batchSize) {\n pendingStroke++;\n }\n else {\n context.stroke();\n }\n ++i;\n break;\n default: // consume the instruction anyway, to avoid an infinite loop\n ++i;\n break;\n }\n }\n if (pendingFill) {\n this.fill_(context);\n }\n if (pendingStroke) {\n context.stroke();\n }\n return undefined;\n };\n /**\n * @param {CanvasRenderingContext2D} context Context.\n * @param {number} contextScale Scale of the context.\n * @param {import(\"../../transform.js\").Transform} transform Transform.\n * @param {number} viewRotation View rotation.\n * @param {boolean} snapToPixel Snap point symbols and text to integer pixels.\n * @param {import(\"rbush\").default} [opt_declutterTree] Declutter tree.\n */\n Executor.prototype.execute = function (context, contextScale, transform, viewRotation, snapToPixel, opt_declutterTree) {\n this.viewRotation_ = viewRotation;\n this.execute_(context, contextScale, transform, this.instructions, snapToPixel, undefined, undefined, opt_declutterTree);\n };\n /**\n * @param {CanvasRenderingContext2D} context Context.\n * @param {import(\"../../transform.js\").Transform} transform Transform.\n * @param {number} viewRotation View rotation.\n * @param {FeatureCallback} [opt_featureCallback] Feature callback.\n * @param {import(\"../../extent.js\").Extent} [opt_hitExtent] Only check\n * features that intersect this extent.\n * @return {T|undefined} Callback result.\n * @template T\n */\n Executor.prototype.executeHitDetection = function (context, transform, viewRotation, opt_featureCallback, opt_hitExtent) {\n this.viewRotation_ = viewRotation;\n return this.execute_(context, 1, transform, this.hitDetectionInstructions, true, opt_featureCallback, opt_hitExtent);\n };\n return Executor;\n}());\nexport default Executor;\n//# sourceMappingURL=Executor.js.map","/**\n * @module ol/render/canvas/ExecutorGroup\n */\nimport Executor from './Executor.js';\nimport { buffer, createEmpty, extendCoordinate } from '../../extent.js';\nimport { compose as composeTransform, create as createTransform, } from '../../transform.js';\nimport { createCanvasContext2D } from '../../dom.js';\nimport { isEmpty } from '../../obj.js';\nimport { numberSafeCompareFunction } from '../../array.js';\nimport { transform2D } from '../../geom/flat/transform.js';\n/**\n * @const\n * @type {Array}\n */\nvar ORDER = ['Polygon', 'Circle', 'LineString', 'Image', 'Text', 'Default'];\nvar ExecutorGroup = /** @class */ (function () {\n /**\n * @param {import(\"../../extent.js\").Extent} maxExtent Max extent for clipping. When a\n * `maxExtent` was set on the Builder for this executor group, the same `maxExtent`\n * should be set here, unless the target context does not exceed that extent (which\n * can be the case when rendering to tiles).\n * @param {number} resolution Resolution.\n * @param {number} pixelRatio Pixel ratio.\n * @param {boolean} overlaps The executor group can have overlapping geometries.\n * @param {!Object>} allInstructions\n * The serializable instructions.\n * @param {number} [opt_renderBuffer] Optional rendering buffer.\n */\n function ExecutorGroup(maxExtent, resolution, pixelRatio, overlaps, allInstructions, opt_renderBuffer) {\n /**\n * @private\n * @type {import(\"../../extent.js\").Extent}\n */\n this.maxExtent_ = maxExtent;\n /**\n * @private\n * @type {boolean}\n */\n this.overlaps_ = overlaps;\n /**\n * @private\n * @type {number}\n */\n this.pixelRatio_ = pixelRatio;\n /**\n * @private\n * @type {number}\n */\n this.resolution_ = resolution;\n /**\n * @private\n * @type {number|undefined}\n */\n this.renderBuffer_ = opt_renderBuffer;\n /**\n * @private\n * @type {!Object>}\n */\n this.executorsByZIndex_ = {};\n /**\n * @private\n * @type {CanvasRenderingContext2D}\n */\n this.hitDetectionContext_ = null;\n /**\n * @private\n * @type {import(\"../../transform.js\").Transform}\n */\n this.hitDetectionTransform_ = createTransform();\n this.createExecutors_(allInstructions);\n }\n /**\n * @param {CanvasRenderingContext2D} context Context.\n * @param {import(\"../../transform.js\").Transform} transform Transform.\n */\n ExecutorGroup.prototype.clip = function (context, transform) {\n var flatClipCoords = this.getClipCoords(transform);\n context.beginPath();\n context.moveTo(flatClipCoords[0], flatClipCoords[1]);\n context.lineTo(flatClipCoords[2], flatClipCoords[3]);\n context.lineTo(flatClipCoords[4], flatClipCoords[5]);\n context.lineTo(flatClipCoords[6], flatClipCoords[7]);\n context.clip();\n };\n /**\n * Create executors and populate them using the provided instructions.\n * @private\n * @param {!Object>} allInstructions The serializable instructions\n */\n ExecutorGroup.prototype.createExecutors_ = function (allInstructions) {\n for (var zIndex in allInstructions) {\n var executors = this.executorsByZIndex_[zIndex];\n if (executors === undefined) {\n executors = {};\n this.executorsByZIndex_[zIndex] = executors;\n }\n var instructionByZindex = allInstructions[zIndex];\n for (var builderType in instructionByZindex) {\n var instructions = instructionByZindex[builderType];\n executors[builderType] = new Executor(this.resolution_, this.pixelRatio_, this.overlaps_, instructions);\n }\n }\n };\n /**\n * @param {Array} executors Executors.\n * @return {boolean} Has executors of the provided types.\n */\n ExecutorGroup.prototype.hasExecutors = function (executors) {\n for (var zIndex in this.executorsByZIndex_) {\n var candidates = this.executorsByZIndex_[zIndex];\n for (var i = 0, ii = executors.length; i < ii; ++i) {\n if (executors[i] in candidates) {\n return true;\n }\n }\n }\n return false;\n };\n /**\n * @param {import(\"../../coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {number} resolution Resolution.\n * @param {number} rotation Rotation.\n * @param {number} hitTolerance Hit tolerance in pixels.\n * @param {function(import(\"../../Feature.js\").FeatureLike, import(\"../../geom/SimpleGeometry.js\").default, number): T} callback Feature callback.\n * @param {Array} declutteredFeatures Decluttered features.\n * @return {T|undefined} Callback result.\n * @template T\n */\n ExecutorGroup.prototype.forEachFeatureAtCoordinate = function (coordinate, resolution, rotation, hitTolerance, callback, declutteredFeatures) {\n hitTolerance = Math.round(hitTolerance);\n var contextSize = hitTolerance * 2 + 1;\n var transform = composeTransform(this.hitDetectionTransform_, hitTolerance + 0.5, hitTolerance + 0.5, 1 / resolution, -1 / resolution, -rotation, -coordinate[0], -coordinate[1]);\n var newContext = !this.hitDetectionContext_;\n if (newContext) {\n this.hitDetectionContext_ = createCanvasContext2D(contextSize, contextSize);\n }\n var context = this.hitDetectionContext_;\n if (context.canvas.width !== contextSize ||\n context.canvas.height !== contextSize) {\n context.canvas.width = contextSize;\n context.canvas.height = contextSize;\n }\n else if (!newContext) {\n context.clearRect(0, 0, contextSize, contextSize);\n }\n /**\n * @type {import(\"../../extent.js\").Extent}\n */\n var hitExtent;\n if (this.renderBuffer_ !== undefined) {\n hitExtent = createEmpty();\n extendCoordinate(hitExtent, coordinate);\n buffer(hitExtent, resolution * (this.renderBuffer_ + hitTolerance), hitExtent);\n }\n var indexes = getPixelIndexArray(hitTolerance);\n var builderType;\n /**\n * @param {import(\"../../Feature.js\").FeatureLike} feature Feature.\n * @param {import(\"../../geom/SimpleGeometry.js\").default} geometry Geometry.\n * @return {T|undefined} Callback result.\n */\n function featureCallback(feature, geometry) {\n var imageData = context.getImageData(0, 0, contextSize, contextSize).data;\n for (var i_1 = 0, ii = indexes.length; i_1 < ii; i_1++) {\n if (imageData[indexes[i_1]] > 0) {\n if (!declutteredFeatures ||\n (builderType !== 'Image' && builderType !== 'Text') ||\n declutteredFeatures.indexOf(feature) !== -1) {\n var idx = (indexes[i_1] - 3) / 4;\n var x = hitTolerance - (idx % contextSize);\n var y = hitTolerance - ((idx / contextSize) | 0);\n var result_1 = callback(feature, geometry, x * x + y * y);\n if (result_1) {\n return result_1;\n }\n }\n context.clearRect(0, 0, contextSize, contextSize);\n break;\n }\n }\n return undefined;\n }\n /** @type {Array} */\n var zs = Object.keys(this.executorsByZIndex_).map(Number);\n zs.sort(numberSafeCompareFunction);\n var i, j, executors, executor, result;\n for (i = zs.length - 1; i >= 0; --i) {\n var zIndexKey = zs[i].toString();\n executors = this.executorsByZIndex_[zIndexKey];\n for (j = ORDER.length - 1; j >= 0; --j) {\n builderType = ORDER[j];\n executor = executors[builderType];\n if (executor !== undefined) {\n result = executor.executeHitDetection(context, transform, rotation, featureCallback, hitExtent);\n if (result) {\n return result;\n }\n }\n }\n }\n return undefined;\n };\n /**\n * @param {import(\"../../transform.js\").Transform} transform Transform.\n * @return {Array|null} Clip coordinates.\n */\n ExecutorGroup.prototype.getClipCoords = function (transform) {\n var maxExtent = this.maxExtent_;\n if (!maxExtent) {\n return null;\n }\n var minX = maxExtent[0];\n var minY = maxExtent[1];\n var maxX = maxExtent[2];\n var maxY = maxExtent[3];\n var flatClipCoords = [minX, minY, minX, maxY, maxX, maxY, maxX, minY];\n transform2D(flatClipCoords, 0, 8, 2, transform, flatClipCoords);\n return flatClipCoords;\n };\n /**\n * @return {boolean} Is empty.\n */\n ExecutorGroup.prototype.isEmpty = function () {\n return isEmpty(this.executorsByZIndex_);\n };\n /**\n * @param {CanvasRenderingContext2D} context Context.\n * @param {number} contextScale Scale of the context.\n * @param {import(\"../../transform.js\").Transform} transform Transform.\n * @param {number} viewRotation View rotation.\n * @param {boolean} snapToPixel Snap point symbols and test to integer pixel.\n * @param {Array} [opt_builderTypes] Ordered replay types to replay.\n * Default is {@link module:ol/render/replay~ORDER}\n * @param {import(\"rbush\").default} [opt_declutterTree] Declutter tree.\n */\n ExecutorGroup.prototype.execute = function (context, contextScale, transform, viewRotation, snapToPixel, opt_builderTypes, opt_declutterTree) {\n /** @type {Array} */\n var zs = Object.keys(this.executorsByZIndex_).map(Number);\n zs.sort(numberSafeCompareFunction);\n // setup clipping so that the parts of over-simplified geometries are not\n // visible outside the current extent when panning\n if (this.maxExtent_) {\n context.save();\n this.clip(context, transform);\n }\n var builderTypes = opt_builderTypes ? opt_builderTypes : ORDER;\n var i, ii, j, jj, replays, replay;\n if (opt_declutterTree) {\n zs.reverse();\n }\n for (i = 0, ii = zs.length; i < ii; ++i) {\n var zIndexKey = zs[i].toString();\n replays = this.executorsByZIndex_[zIndexKey];\n for (j = 0, jj = builderTypes.length; j < jj; ++j) {\n var builderType = builderTypes[j];\n replay = replays[builderType];\n if (replay !== undefined) {\n replay.execute(context, contextScale, transform, viewRotation, snapToPixel, opt_declutterTree);\n }\n }\n }\n if (this.maxExtent_) {\n context.restore();\n }\n };\n return ExecutorGroup;\n}());\n/**\n * This cache is used to store arrays of indexes for calculated pixel circles\n * to increase performance.\n * It is a static property to allow each Replaygroup to access it.\n * @type {Object>}\n */\nvar circlePixelIndexArrayCache = {};\n/**\n * This methods creates an array with indexes of all pixels within a circle,\n * ordered by how close they are to the center.\n * A cache is used to increase performance.\n * @param {number} radius Radius.\n * @return {Array} An array with indexes within a circle.\n */\nexport function getPixelIndexArray(radius) {\n if (circlePixelIndexArrayCache[radius] !== undefined) {\n return circlePixelIndexArrayCache[radius];\n }\n var size = radius * 2 + 1;\n var maxDistanceSq = radius * radius;\n var distances = new Array(maxDistanceSq + 1);\n for (var i = 0; i <= radius; ++i) {\n for (var j = 0; j <= radius; ++j) {\n var distanceSq = i * i + j * j;\n if (distanceSq > maxDistanceSq) {\n break;\n }\n var distance = distances[distanceSq];\n if (!distance) {\n distance = [];\n distances[distanceSq] = distance;\n }\n distance.push(((radius + i) * size + (radius + j)) * 4 + 3);\n if (i > 0) {\n distance.push(((radius - i) * size + (radius + j)) * 4 + 3);\n }\n if (j > 0) {\n distance.push(((radius + i) * size + (radius - j)) * 4 + 3);\n if (i > 0) {\n distance.push(((radius - i) * size + (radius - j)) * 4 + 3);\n }\n }\n }\n }\n var pixelIndex = [];\n for (var i = 0, ii = distances.length; i < ii; ++i) {\n if (distances[i]) {\n pixelIndex.push.apply(pixelIndex, distances[i]);\n }\n }\n circlePixelIndexArrayCache[radius] = pixelIndex;\n return pixelIndex;\n}\nexport default ExecutorGroup;\n//# sourceMappingURL=ExecutorGroup.js.map","/**\n * @module ol/render/canvas/Immediate\n */\n// FIXME test, especially polygons with holes and multipolygons\n// FIXME need to handle large thick features (where pixel size matters)\n// FIXME add offset and end to ol/geom/flat/transform~transform2D?\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport VectorContext from '../VectorContext.js';\nimport { asColorLike } from '../../colorlike.js';\nimport { compose as composeTransform, create as createTransform, } from '../../transform.js';\nimport { defaultFillStyle, defaultFont, defaultLineCap, defaultLineDash, defaultLineDashOffset, defaultLineJoin, defaultLineWidth, defaultMiterLimit, defaultStrokeStyle, defaultTextAlign, defaultTextBaseline, } from '../canvas.js';\nimport { equals } from '../../array.js';\nimport { intersects } from '../../extent.js';\nimport { transform2D } from '../../geom/flat/transform.js';\nimport { transformGeom2D } from '../../geom/SimpleGeometry.js';\n/**\n * @classdesc\n * A concrete subclass of {@link module:ol/render/VectorContext~VectorContext VectorContext} that implements\n * direct rendering of features and geometries to an HTML5 Canvas context.\n * Instances of this class are created internally by the library and\n * provided to application code as vectorContext member of the\n * {@link module:ol/render/Event~RenderEvent RenderEvent} object associated with postcompose, precompose and\n * render events emitted by layers and maps.\n */\nvar CanvasImmediateRenderer = /** @class */ (function (_super) {\n __extends(CanvasImmediateRenderer, _super);\n /**\n * @param {CanvasRenderingContext2D} context Context.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"../../extent.js\").Extent} extent Extent.\n * @param {import(\"../../transform.js\").Transform} transform Transform.\n * @param {number} viewRotation View rotation.\n * @param {number} [opt_squaredTolerance] Optional squared tolerance for simplification.\n * @param {import(\"../../proj.js\").TransformFunction} [opt_userTransform] Transform from user to view projection.\n */\n function CanvasImmediateRenderer(context, pixelRatio, extent, transform, viewRotation, opt_squaredTolerance, opt_userTransform) {\n var _this = _super.call(this) || this;\n /**\n * @private\n * @type {CanvasRenderingContext2D}\n */\n _this.context_ = context;\n /**\n * @private\n * @type {number}\n */\n _this.pixelRatio_ = pixelRatio;\n /**\n * @private\n * @type {import(\"../../extent.js\").Extent}\n */\n _this.extent_ = extent;\n /**\n * @private\n * @type {import(\"../../transform.js\").Transform}\n */\n _this.transform_ = transform;\n /**\n * @private\n * @type {number}\n */\n _this.viewRotation_ = viewRotation;\n /**\n * @private\n * @type {number}\n */\n _this.squaredTolerance_ = opt_squaredTolerance;\n /**\n * @private\n * @type {import(\"../../proj.js\").TransformFunction}\n */\n _this.userTransform_ = opt_userTransform;\n /**\n * @private\n * @type {?import(\"../canvas.js\").FillState}\n */\n _this.contextFillState_ = null;\n /**\n * @private\n * @type {?import(\"../canvas.js\").StrokeState}\n */\n _this.contextStrokeState_ = null;\n /**\n * @private\n * @type {?import(\"../canvas.js\").TextState}\n */\n _this.contextTextState_ = null;\n /**\n * @private\n * @type {?import(\"../canvas.js\").FillState}\n */\n _this.fillState_ = null;\n /**\n * @private\n * @type {?import(\"../canvas.js\").StrokeState}\n */\n _this.strokeState_ = null;\n /**\n * @private\n * @type {HTMLCanvasElement|HTMLVideoElement|HTMLImageElement}\n */\n _this.image_ = null;\n /**\n * @private\n * @type {number}\n */\n _this.imageAnchorX_ = 0;\n /**\n * @private\n * @type {number}\n */\n _this.imageAnchorY_ = 0;\n /**\n * @private\n * @type {number}\n */\n _this.imageHeight_ = 0;\n /**\n * @private\n * @type {number}\n */\n _this.imageOpacity_ = 0;\n /**\n * @private\n * @type {number}\n */\n _this.imageOriginX_ = 0;\n /**\n * @private\n * @type {number}\n */\n _this.imageOriginY_ = 0;\n /**\n * @private\n * @type {boolean}\n */\n _this.imageRotateWithView_ = false;\n /**\n * @private\n * @type {number}\n */\n _this.imageRotation_ = 0;\n /**\n * @private\n * @type {import(\"../../size.js\").Size}\n */\n _this.imageScale_ = [0, 0];\n /**\n * @private\n * @type {number}\n */\n _this.imageWidth_ = 0;\n /**\n * @private\n * @type {string}\n */\n _this.text_ = '';\n /**\n * @private\n * @type {number}\n */\n _this.textOffsetX_ = 0;\n /**\n * @private\n * @type {number}\n */\n _this.textOffsetY_ = 0;\n /**\n * @private\n * @type {boolean}\n */\n _this.textRotateWithView_ = false;\n /**\n * @private\n * @type {number}\n */\n _this.textRotation_ = 0;\n /**\n * @private\n * @type {import(\"../../size.js\").Size}\n */\n _this.textScale_ = [0, 0];\n /**\n * @private\n * @type {?import(\"../canvas.js\").FillState}\n */\n _this.textFillState_ = null;\n /**\n * @private\n * @type {?import(\"../canvas.js\").StrokeState}\n */\n _this.textStrokeState_ = null;\n /**\n * @private\n * @type {?import(\"../canvas.js\").TextState}\n */\n _this.textState_ = null;\n /**\n * @private\n * @type {Array}\n */\n _this.pixelCoordinates_ = [];\n /**\n * @private\n * @type {import(\"../../transform.js\").Transform}\n */\n _this.tmpLocalTransform_ = createTransform();\n return _this;\n }\n /**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @private\n */\n CanvasImmediateRenderer.prototype.drawImages_ = function (flatCoordinates, offset, end, stride) {\n if (!this.image_) {\n return;\n }\n var pixelCoordinates = transform2D(flatCoordinates, offset, end, stride, this.transform_, this.pixelCoordinates_);\n var context = this.context_;\n var localTransform = this.tmpLocalTransform_;\n var alpha = context.globalAlpha;\n if (this.imageOpacity_ != 1) {\n context.globalAlpha = alpha * this.imageOpacity_;\n }\n var rotation = this.imageRotation_;\n if (this.imageRotateWithView_) {\n rotation += this.viewRotation_;\n }\n for (var i = 0, ii = pixelCoordinates.length; i < ii; i += 2) {\n var x = pixelCoordinates[i] - this.imageAnchorX_;\n var y = pixelCoordinates[i + 1] - this.imageAnchorY_;\n if (rotation !== 0 ||\n this.imageScale_[0] != 1 ||\n this.imageScale_[1] != 1) {\n var centerX = x + this.imageAnchorX_;\n var centerY = y + this.imageAnchorY_;\n composeTransform(localTransform, centerX, centerY, 1, 1, rotation, -centerX, -centerY);\n context.setTransform.apply(context, localTransform);\n context.translate(centerX, centerY);\n context.scale(this.imageScale_[0], this.imageScale_[1]);\n context.drawImage(this.image_, this.imageOriginX_, this.imageOriginY_, this.imageWidth_, this.imageHeight_, -this.imageAnchorX_, -this.imageAnchorY_, this.imageWidth_, this.imageHeight_);\n context.setTransform(1, 0, 0, 1, 0, 0);\n }\n else {\n context.drawImage(this.image_, this.imageOriginX_, this.imageOriginY_, this.imageWidth_, this.imageHeight_, x, y, this.imageWidth_, this.imageHeight_);\n }\n }\n if (this.imageOpacity_ != 1) {\n context.globalAlpha = alpha;\n }\n };\n /**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @private\n */\n CanvasImmediateRenderer.prototype.drawText_ = function (flatCoordinates, offset, end, stride) {\n if (!this.textState_ || this.text_ === '') {\n return;\n }\n if (this.textFillState_) {\n this.setContextFillState_(this.textFillState_);\n }\n if (this.textStrokeState_) {\n this.setContextStrokeState_(this.textStrokeState_);\n }\n this.setContextTextState_(this.textState_);\n var pixelCoordinates = transform2D(flatCoordinates, offset, end, stride, this.transform_, this.pixelCoordinates_);\n var context = this.context_;\n var rotation = this.textRotation_;\n if (this.textRotateWithView_) {\n rotation += this.viewRotation_;\n }\n for (; offset < end; offset += stride) {\n var x = pixelCoordinates[offset] + this.textOffsetX_;\n var y = pixelCoordinates[offset + 1] + this.textOffsetY_;\n if (rotation !== 0 ||\n this.textScale_[0] != 1 ||\n this.textScale_[1] != 1) {\n var localTransform = composeTransform(this.tmpLocalTransform_, x, y, 1, 1, rotation, -x, -y);\n context.setTransform.apply(context, localTransform);\n context.translate(x, y);\n context.scale(this.textScale_[0], this.textScale_[1]);\n if (this.textStrokeState_) {\n context.strokeText(this.text_, 0, 0);\n }\n if (this.textFillState_) {\n context.fillText(this.text_, 0, 0);\n }\n context.setTransform(1, 0, 0, 1, 0, 0);\n }\n else {\n if (this.textStrokeState_) {\n context.strokeText(this.text_, x, y);\n }\n if (this.textFillState_) {\n context.fillText(this.text_, x, y);\n }\n }\n }\n };\n /**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {boolean} close Close.\n * @private\n * @return {number} end End.\n */\n CanvasImmediateRenderer.prototype.moveToLineTo_ = function (flatCoordinates, offset, end, stride, close) {\n var context = this.context_;\n var pixelCoordinates = transform2D(flatCoordinates, offset, end, stride, this.transform_, this.pixelCoordinates_);\n context.moveTo(pixelCoordinates[0], pixelCoordinates[1]);\n var length = pixelCoordinates.length;\n if (close) {\n length -= 2;\n }\n for (var i = 2; i < length; i += 2) {\n context.lineTo(pixelCoordinates[i], pixelCoordinates[i + 1]);\n }\n if (close) {\n context.closePath();\n }\n return end;\n };\n /**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @private\n * @return {number} End.\n */\n CanvasImmediateRenderer.prototype.drawRings_ = function (flatCoordinates, offset, ends, stride) {\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n offset = this.moveToLineTo_(flatCoordinates, offset, ends[i], stride, true);\n }\n return offset;\n };\n /**\n * Render a circle geometry into the canvas. Rendering is immediate and uses\n * the current fill and stroke styles.\n *\n * @param {import(\"../../geom/Circle.js\").default} geometry Circle geometry.\n * @api\n */\n CanvasImmediateRenderer.prototype.drawCircle = function (geometry) {\n if (!intersects(this.extent_, geometry.getExtent())) {\n return;\n }\n if (this.fillState_ || this.strokeState_) {\n if (this.fillState_) {\n this.setContextFillState_(this.fillState_);\n }\n if (this.strokeState_) {\n this.setContextStrokeState_(this.strokeState_);\n }\n var pixelCoordinates = transformGeom2D(geometry, this.transform_, this.pixelCoordinates_);\n var dx = pixelCoordinates[2] - pixelCoordinates[0];\n var dy = pixelCoordinates[3] - pixelCoordinates[1];\n var radius = Math.sqrt(dx * dx + dy * dy);\n var context = this.context_;\n context.beginPath();\n context.arc(pixelCoordinates[0], pixelCoordinates[1], radius, 0, 2 * Math.PI);\n if (this.fillState_) {\n context.fill();\n }\n if (this.strokeState_) {\n context.stroke();\n }\n }\n if (this.text_ !== '') {\n this.drawText_(geometry.getCenter(), 0, 2, 2);\n }\n };\n /**\n * Set the rendering style. Note that since this is an immediate rendering API,\n * any `zIndex` on the provided style will be ignored.\n *\n * @param {import(\"../../style/Style.js\").default} style The rendering style.\n * @api\n */\n CanvasImmediateRenderer.prototype.setStyle = function (style) {\n this.setFillStrokeStyle(style.getFill(), style.getStroke());\n this.setImageStyle(style.getImage());\n this.setTextStyle(style.getText());\n };\n /**\n * @param {import(\"../../transform.js\").Transform} transform Transform.\n */\n CanvasImmediateRenderer.prototype.setTransform = function (transform) {\n this.transform_ = transform;\n };\n /**\n * Render a geometry into the canvas. Call\n * {@link module:ol/render/canvas/Immediate~CanvasImmediateRenderer#setStyle renderer.setStyle()} first to set the rendering style.\n *\n * @param {import(\"../../geom/Geometry.js\").default|import(\"../Feature.js\").default} geometry The geometry to render.\n * @api\n */\n CanvasImmediateRenderer.prototype.drawGeometry = function (geometry) {\n var type = geometry.getType();\n switch (type) {\n case 'Point':\n this.drawPoint(\n /** @type {import(\"../../geom/Point.js\").default} */ (geometry));\n break;\n case 'LineString':\n this.drawLineString(\n /** @type {import(\"../../geom/LineString.js\").default} */ (geometry));\n break;\n case 'Polygon':\n this.drawPolygon(\n /** @type {import(\"../../geom/Polygon.js\").default} */ (geometry));\n break;\n case 'MultiPoint':\n this.drawMultiPoint(\n /** @type {import(\"../../geom/MultiPoint.js\").default} */ (geometry));\n break;\n case 'MultiLineString':\n this.drawMultiLineString(\n /** @type {import(\"../../geom/MultiLineString.js\").default} */ (geometry));\n break;\n case 'MultiPolygon':\n this.drawMultiPolygon(\n /** @type {import(\"../../geom/MultiPolygon.js\").default} */ (geometry));\n break;\n case 'GeometryCollection':\n this.drawGeometryCollection(\n /** @type {import(\"../../geom/GeometryCollection.js\").default} */ (geometry));\n break;\n case 'Circle':\n this.drawCircle(\n /** @type {import(\"../../geom/Circle.js\").default} */ (geometry));\n break;\n default:\n }\n };\n /**\n * Render a feature into the canvas. Note that any `zIndex` on the provided\n * style will be ignored - features are rendered immediately in the order that\n * this method is called. If you need `zIndex` support, you should be using an\n * {@link module:ol/layer/Vector~VectorLayer VectorLayer} instead.\n *\n * @param {import(\"../../Feature.js\").default} feature Feature.\n * @param {import(\"../../style/Style.js\").default} style Style.\n * @api\n */\n CanvasImmediateRenderer.prototype.drawFeature = function (feature, style) {\n var geometry = style.getGeometryFunction()(feature);\n if (!geometry || !intersects(this.extent_, geometry.getExtent())) {\n return;\n }\n this.setStyle(style);\n this.drawGeometry(geometry);\n };\n /**\n * Render a GeometryCollection to the canvas. Rendering is immediate and\n * uses the current styles appropriate for each geometry in the collection.\n *\n * @param {import(\"../../geom/GeometryCollection.js\").default} geometry Geometry collection.\n */\n CanvasImmediateRenderer.prototype.drawGeometryCollection = function (geometry) {\n var geometries = geometry.getGeometriesArray();\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n this.drawGeometry(geometries[i]);\n }\n };\n /**\n * Render a Point geometry into the canvas. Rendering is immediate and uses\n * the current style.\n *\n * @param {import(\"../../geom/Point.js\").default|import(\"../Feature.js\").default} geometry Point geometry.\n */\n CanvasImmediateRenderer.prototype.drawPoint = function (geometry) {\n if (this.squaredTolerance_) {\n geometry = /** @type {import(\"../../geom/Point.js\").default} */ (geometry.simplifyTransformed(this.squaredTolerance_, this.userTransform_));\n }\n var flatCoordinates = geometry.getFlatCoordinates();\n var stride = geometry.getStride();\n if (this.image_) {\n this.drawImages_(flatCoordinates, 0, flatCoordinates.length, stride);\n }\n if (this.text_ !== '') {\n this.drawText_(flatCoordinates, 0, flatCoordinates.length, stride);\n }\n };\n /**\n * Render a MultiPoint geometry into the canvas. Rendering is immediate and\n * uses the current style.\n *\n * @param {import(\"../../geom/MultiPoint.js\").default|import(\"../Feature.js\").default} geometry MultiPoint geometry.\n */\n CanvasImmediateRenderer.prototype.drawMultiPoint = function (geometry) {\n if (this.squaredTolerance_) {\n geometry = /** @type {import(\"../../geom/MultiPoint.js\").default} */ (geometry.simplifyTransformed(this.squaredTolerance_, this.userTransform_));\n }\n var flatCoordinates = geometry.getFlatCoordinates();\n var stride = geometry.getStride();\n if (this.image_) {\n this.drawImages_(flatCoordinates, 0, flatCoordinates.length, stride);\n }\n if (this.text_ !== '') {\n this.drawText_(flatCoordinates, 0, flatCoordinates.length, stride);\n }\n };\n /**\n * Render a LineString into the canvas. Rendering is immediate and uses\n * the current style.\n *\n * @param {import(\"../../geom/LineString.js\").default|import(\"../Feature.js\").default} geometry LineString geometry.\n */\n CanvasImmediateRenderer.prototype.drawLineString = function (geometry) {\n if (this.squaredTolerance_) {\n geometry = /** @type {import(\"../../geom/LineString.js\").default} */ (geometry.simplifyTransformed(this.squaredTolerance_, this.userTransform_));\n }\n if (!intersects(this.extent_, geometry.getExtent())) {\n return;\n }\n if (this.strokeState_) {\n this.setContextStrokeState_(this.strokeState_);\n var context = this.context_;\n var flatCoordinates = geometry.getFlatCoordinates();\n context.beginPath();\n this.moveToLineTo_(flatCoordinates, 0, flatCoordinates.length, geometry.getStride(), false);\n context.stroke();\n }\n if (this.text_ !== '') {\n var flatMidpoint = geometry.getFlatMidpoint();\n this.drawText_(flatMidpoint, 0, 2, 2);\n }\n };\n /**\n * Render a MultiLineString geometry into the canvas. Rendering is immediate\n * and uses the current style.\n *\n * @param {import(\"../../geom/MultiLineString.js\").default|import(\"../Feature.js\").default} geometry MultiLineString geometry.\n */\n CanvasImmediateRenderer.prototype.drawMultiLineString = function (geometry) {\n if (this.squaredTolerance_) {\n geometry =\n /** @type {import(\"../../geom/MultiLineString.js\").default} */ (geometry.simplifyTransformed(this.squaredTolerance_, this.userTransform_));\n }\n var geometryExtent = geometry.getExtent();\n if (!intersects(this.extent_, geometryExtent)) {\n return;\n }\n if (this.strokeState_) {\n this.setContextStrokeState_(this.strokeState_);\n var context = this.context_;\n var flatCoordinates = geometry.getFlatCoordinates();\n var offset = 0;\n var ends = /** @type {Array} */ (geometry.getEnds());\n var stride = geometry.getStride();\n context.beginPath();\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n offset = this.moveToLineTo_(flatCoordinates, offset, ends[i], stride, false);\n }\n context.stroke();\n }\n if (this.text_ !== '') {\n var flatMidpoints = geometry.getFlatMidpoints();\n this.drawText_(flatMidpoints, 0, flatMidpoints.length, 2);\n }\n };\n /**\n * Render a Polygon geometry into the canvas. Rendering is immediate and uses\n * the current style.\n *\n * @param {import(\"../../geom/Polygon.js\").default|import(\"../Feature.js\").default} geometry Polygon geometry.\n */\n CanvasImmediateRenderer.prototype.drawPolygon = function (geometry) {\n if (this.squaredTolerance_) {\n geometry = /** @type {import(\"../../geom/Polygon.js\").default} */ (geometry.simplifyTransformed(this.squaredTolerance_, this.userTransform_));\n }\n if (!intersects(this.extent_, geometry.getExtent())) {\n return;\n }\n if (this.strokeState_ || this.fillState_) {\n if (this.fillState_) {\n this.setContextFillState_(this.fillState_);\n }\n if (this.strokeState_) {\n this.setContextStrokeState_(this.strokeState_);\n }\n var context = this.context_;\n context.beginPath();\n this.drawRings_(geometry.getOrientedFlatCoordinates(), 0, \n /** @type {Array} */ (geometry.getEnds()), geometry.getStride());\n if (this.fillState_) {\n context.fill();\n }\n if (this.strokeState_) {\n context.stroke();\n }\n }\n if (this.text_ !== '') {\n var flatInteriorPoint = geometry.getFlatInteriorPoint();\n this.drawText_(flatInteriorPoint, 0, 2, 2);\n }\n };\n /**\n * Render MultiPolygon geometry into the canvas. Rendering is immediate and\n * uses the current style.\n * @param {import(\"../../geom/MultiPolygon.js\").default} geometry MultiPolygon geometry.\n */\n CanvasImmediateRenderer.prototype.drawMultiPolygon = function (geometry) {\n if (this.squaredTolerance_) {\n geometry = /** @type {import(\"../../geom/MultiPolygon.js\").default} */ (geometry.simplifyTransformed(this.squaredTolerance_, this.userTransform_));\n }\n if (!intersects(this.extent_, geometry.getExtent())) {\n return;\n }\n if (this.strokeState_ || this.fillState_) {\n if (this.fillState_) {\n this.setContextFillState_(this.fillState_);\n }\n if (this.strokeState_) {\n this.setContextStrokeState_(this.strokeState_);\n }\n var context = this.context_;\n var flatCoordinates = geometry.getOrientedFlatCoordinates();\n var offset = 0;\n var endss = geometry.getEndss();\n var stride = geometry.getStride();\n context.beginPath();\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n offset = this.drawRings_(flatCoordinates, offset, ends, stride);\n }\n if (this.fillState_) {\n context.fill();\n }\n if (this.strokeState_) {\n context.stroke();\n }\n }\n if (this.text_ !== '') {\n var flatInteriorPoints = geometry.getFlatInteriorPoints();\n this.drawText_(flatInteriorPoints, 0, flatInteriorPoints.length, 2);\n }\n };\n /**\n * @param {import(\"../canvas.js\").FillState} fillState Fill state.\n * @private\n */\n CanvasImmediateRenderer.prototype.setContextFillState_ = function (fillState) {\n var context = this.context_;\n var contextFillState = this.contextFillState_;\n if (!contextFillState) {\n context.fillStyle = fillState.fillStyle;\n this.contextFillState_ = {\n fillStyle: fillState.fillStyle,\n };\n }\n else {\n if (contextFillState.fillStyle != fillState.fillStyle) {\n contextFillState.fillStyle = fillState.fillStyle;\n context.fillStyle = fillState.fillStyle;\n }\n }\n };\n /**\n * @param {import(\"../canvas.js\").StrokeState} strokeState Stroke state.\n * @private\n */\n CanvasImmediateRenderer.prototype.setContextStrokeState_ = function (strokeState) {\n var context = this.context_;\n var contextStrokeState = this.contextStrokeState_;\n if (!contextStrokeState) {\n context.lineCap = strokeState.lineCap;\n if (context.setLineDash) {\n context.setLineDash(strokeState.lineDash);\n context.lineDashOffset = strokeState.lineDashOffset;\n }\n context.lineJoin = strokeState.lineJoin;\n context.lineWidth = strokeState.lineWidth;\n context.miterLimit = strokeState.miterLimit;\n context.strokeStyle = strokeState.strokeStyle;\n this.contextStrokeState_ = {\n lineCap: strokeState.lineCap,\n lineDash: strokeState.lineDash,\n lineDashOffset: strokeState.lineDashOffset,\n lineJoin: strokeState.lineJoin,\n lineWidth: strokeState.lineWidth,\n miterLimit: strokeState.miterLimit,\n strokeStyle: strokeState.strokeStyle,\n };\n }\n else {\n if (contextStrokeState.lineCap != strokeState.lineCap) {\n contextStrokeState.lineCap = strokeState.lineCap;\n context.lineCap = strokeState.lineCap;\n }\n if (context.setLineDash) {\n if (!equals(contextStrokeState.lineDash, strokeState.lineDash)) {\n context.setLineDash((contextStrokeState.lineDash = strokeState.lineDash));\n }\n if (contextStrokeState.lineDashOffset != strokeState.lineDashOffset) {\n contextStrokeState.lineDashOffset = strokeState.lineDashOffset;\n context.lineDashOffset = strokeState.lineDashOffset;\n }\n }\n if (contextStrokeState.lineJoin != strokeState.lineJoin) {\n contextStrokeState.lineJoin = strokeState.lineJoin;\n context.lineJoin = strokeState.lineJoin;\n }\n if (contextStrokeState.lineWidth != strokeState.lineWidth) {\n contextStrokeState.lineWidth = strokeState.lineWidth;\n context.lineWidth = strokeState.lineWidth;\n }\n if (contextStrokeState.miterLimit != strokeState.miterLimit) {\n contextStrokeState.miterLimit = strokeState.miterLimit;\n context.miterLimit = strokeState.miterLimit;\n }\n if (contextStrokeState.strokeStyle != strokeState.strokeStyle) {\n contextStrokeState.strokeStyle = strokeState.strokeStyle;\n context.strokeStyle = strokeState.strokeStyle;\n }\n }\n };\n /**\n * @param {import(\"../canvas.js\").TextState} textState Text state.\n * @private\n */\n CanvasImmediateRenderer.prototype.setContextTextState_ = function (textState) {\n var context = this.context_;\n var contextTextState = this.contextTextState_;\n var textAlign = textState.textAlign\n ? textState.textAlign\n : defaultTextAlign;\n if (!contextTextState) {\n context.font = textState.font;\n context.textAlign = /** @type {CanvasTextAlign} */ (textAlign);\n context.textBaseline = /** @type {CanvasTextBaseline} */ (textState.textBaseline);\n this.contextTextState_ = {\n font: textState.font,\n textAlign: textAlign,\n textBaseline: textState.textBaseline,\n };\n }\n else {\n if (contextTextState.font != textState.font) {\n contextTextState.font = textState.font;\n context.font = textState.font;\n }\n if (contextTextState.textAlign != textAlign) {\n contextTextState.textAlign = /** @type {CanvasTextAlign} */ (textAlign);\n context.textAlign = /** @type {CanvasTextAlign} */ (textAlign);\n }\n if (contextTextState.textBaseline != textState.textBaseline) {\n contextTextState.textBaseline = /** @type {CanvasTextBaseline} */ (textState.textBaseline);\n context.textBaseline = /** @type {CanvasTextBaseline} */ (textState.textBaseline);\n }\n }\n };\n /**\n * Set the fill and stroke style for subsequent draw operations. To clear\n * either fill or stroke styles, pass null for the appropriate parameter.\n *\n * @param {import(\"../../style/Fill.js\").default} fillStyle Fill style.\n * @param {import(\"../../style/Stroke.js\").default} strokeStyle Stroke style.\n */\n CanvasImmediateRenderer.prototype.setFillStrokeStyle = function (fillStyle, strokeStyle) {\n var _this = this;\n if (!fillStyle) {\n this.fillState_ = null;\n }\n else {\n var fillStyleColor = fillStyle.getColor();\n this.fillState_ = {\n fillStyle: asColorLike(fillStyleColor ? fillStyleColor : defaultFillStyle),\n };\n }\n if (!strokeStyle) {\n this.strokeState_ = null;\n }\n else {\n var strokeStyleColor = strokeStyle.getColor();\n var strokeStyleLineCap = strokeStyle.getLineCap();\n var strokeStyleLineDash = strokeStyle.getLineDash();\n var strokeStyleLineDashOffset = strokeStyle.getLineDashOffset();\n var strokeStyleLineJoin = strokeStyle.getLineJoin();\n var strokeStyleWidth = strokeStyle.getWidth();\n var strokeStyleMiterLimit = strokeStyle.getMiterLimit();\n var lineDash = strokeStyleLineDash\n ? strokeStyleLineDash\n : defaultLineDash;\n this.strokeState_ = {\n lineCap: strokeStyleLineCap !== undefined\n ? strokeStyleLineCap\n : defaultLineCap,\n lineDash: this.pixelRatio_ === 1\n ? lineDash\n : lineDash.map(function (n) { return n * _this.pixelRatio_; }),\n lineDashOffset: (strokeStyleLineDashOffset\n ? strokeStyleLineDashOffset\n : defaultLineDashOffset) * this.pixelRatio_,\n lineJoin: strokeStyleLineJoin !== undefined\n ? strokeStyleLineJoin\n : defaultLineJoin,\n lineWidth: (strokeStyleWidth !== undefined\n ? strokeStyleWidth\n : defaultLineWidth) * this.pixelRatio_,\n miterLimit: strokeStyleMiterLimit !== undefined\n ? strokeStyleMiterLimit\n : defaultMiterLimit,\n strokeStyle: asColorLike(strokeStyleColor ? strokeStyleColor : defaultStrokeStyle),\n };\n }\n };\n /**\n * Set the image style for subsequent draw operations. Pass null to remove\n * the image style.\n *\n * @param {import(\"../../style/Image.js\").default} imageStyle Image style.\n */\n CanvasImmediateRenderer.prototype.setImageStyle = function (imageStyle) {\n var imageSize;\n if (!imageStyle || !(imageSize = imageStyle.getSize())) {\n this.image_ = null;\n return;\n }\n var imageAnchor = imageStyle.getAnchor();\n var imageOrigin = imageStyle.getOrigin();\n this.image_ = imageStyle.getImage(this.pixelRatio_);\n this.imageAnchorX_ = imageAnchor[0] * this.pixelRatio_;\n this.imageAnchorY_ = imageAnchor[1] * this.pixelRatio_;\n this.imageHeight_ = imageSize[1] * this.pixelRatio_;\n this.imageOpacity_ = imageStyle.getOpacity();\n this.imageOriginX_ = imageOrigin[0];\n this.imageOriginY_ = imageOrigin[1];\n this.imageRotateWithView_ = imageStyle.getRotateWithView();\n this.imageRotation_ = imageStyle.getRotation();\n this.imageScale_ = imageStyle.getScaleArray();\n this.imageWidth_ = imageSize[0] * this.pixelRatio_;\n };\n /**\n * Set the text style for subsequent draw operations. Pass null to\n * remove the text style.\n *\n * @param {import(\"../../style/Text.js\").default} textStyle Text style.\n */\n CanvasImmediateRenderer.prototype.setTextStyle = function (textStyle) {\n if (!textStyle) {\n this.text_ = '';\n }\n else {\n var textFillStyle = textStyle.getFill();\n if (!textFillStyle) {\n this.textFillState_ = null;\n }\n else {\n var textFillStyleColor = textFillStyle.getColor();\n this.textFillState_ = {\n fillStyle: asColorLike(textFillStyleColor ? textFillStyleColor : defaultFillStyle),\n };\n }\n var textStrokeStyle = textStyle.getStroke();\n if (!textStrokeStyle) {\n this.textStrokeState_ = null;\n }\n else {\n var textStrokeStyleColor = textStrokeStyle.getColor();\n var textStrokeStyleLineCap = textStrokeStyle.getLineCap();\n var textStrokeStyleLineDash = textStrokeStyle.getLineDash();\n var textStrokeStyleLineDashOffset = textStrokeStyle.getLineDashOffset();\n var textStrokeStyleLineJoin = textStrokeStyle.getLineJoin();\n var textStrokeStyleWidth = textStrokeStyle.getWidth();\n var textStrokeStyleMiterLimit = textStrokeStyle.getMiterLimit();\n this.textStrokeState_ = {\n lineCap: textStrokeStyleLineCap !== undefined\n ? textStrokeStyleLineCap\n : defaultLineCap,\n lineDash: textStrokeStyleLineDash\n ? textStrokeStyleLineDash\n : defaultLineDash,\n lineDashOffset: textStrokeStyleLineDashOffset\n ? textStrokeStyleLineDashOffset\n : defaultLineDashOffset,\n lineJoin: textStrokeStyleLineJoin !== undefined\n ? textStrokeStyleLineJoin\n : defaultLineJoin,\n lineWidth: textStrokeStyleWidth !== undefined\n ? textStrokeStyleWidth\n : defaultLineWidth,\n miterLimit: textStrokeStyleMiterLimit !== undefined\n ? textStrokeStyleMiterLimit\n : defaultMiterLimit,\n strokeStyle: asColorLike(textStrokeStyleColor ? textStrokeStyleColor : defaultStrokeStyle),\n };\n }\n var textFont = textStyle.getFont();\n var textOffsetX = textStyle.getOffsetX();\n var textOffsetY = textStyle.getOffsetY();\n var textRotateWithView = textStyle.getRotateWithView();\n var textRotation = textStyle.getRotation();\n var textScale = textStyle.getScaleArray();\n var textText = textStyle.getText();\n var textTextAlign = textStyle.getTextAlign();\n var textTextBaseline = textStyle.getTextBaseline();\n this.textState_ = {\n font: textFont !== undefined ? textFont : defaultFont,\n textAlign: textTextAlign !== undefined ? textTextAlign : defaultTextAlign,\n textBaseline: textTextBaseline !== undefined\n ? textTextBaseline\n : defaultTextBaseline,\n };\n this.text_ =\n textText !== undefined\n ? Array.isArray(textText)\n ? textText.reduce(function (acc, t, i) { return (acc += i % 2 ? ' ' : t); }, '')\n : textText\n : '';\n this.textOffsetX_ =\n textOffsetX !== undefined ? this.pixelRatio_ * textOffsetX : 0;\n this.textOffsetY_ =\n textOffsetY !== undefined ? this.pixelRatio_ * textOffsetY : 0;\n this.textRotateWithView_ =\n textRotateWithView !== undefined ? textRotateWithView : false;\n this.textRotation_ = textRotation !== undefined ? textRotation : 0;\n this.textScale_ = [\n this.pixelRatio_ * textScale[0],\n this.pixelRatio_ * textScale[1],\n ];\n }\n };\n return CanvasImmediateRenderer;\n}(VectorContext));\nexport default CanvasImmediateRenderer;\n//# sourceMappingURL=Immediate.js.map","/**\n * @module ol/render/canvas/hitdetect\n */\nimport CanvasImmediateRenderer from './Immediate.js';\nimport IconAnchorUnits from '../../style/IconAnchorUnits.js';\nimport { Icon } from '../../style.js';\nimport { clamp } from '../../math.js';\nimport { createCanvasContext2D } from '../../dom.js';\nimport { intersects } from '../../extent.js';\nimport { numberSafeCompareFunction } from '../../array.js';\nexport var HIT_DETECT_RESOLUTION = 0.5;\n/**\n * @param {import(\"../../size.js\").Size} size Canvas size in css pixels.\n * @param {Array} transforms Transforms\n * for rendering features to all worlds of the viewport, from coordinates to css\n * pixels.\n * @param {Array} features\n * Features to consider for hit detection.\n * @param {import(\"../../style/Style.js\").StyleFunction|undefined} styleFunction\n * Layer style function.\n * @param {import(\"../../extent.js\").Extent} extent Extent.\n * @param {number} resolution Resolution.\n * @param {number} rotation Rotation.\n * @return {ImageData} Hit detection image data.\n */\nexport function createHitDetectionImageData(size, transforms, features, styleFunction, extent, resolution, rotation) {\n var width = size[0] * HIT_DETECT_RESOLUTION;\n var height = size[1] * HIT_DETECT_RESOLUTION;\n var context = createCanvasContext2D(width, height);\n context.imageSmoothingEnabled = false;\n var canvas = context.canvas;\n var renderer = new CanvasImmediateRenderer(context, HIT_DETECT_RESOLUTION, extent, null, rotation);\n var featureCount = features.length;\n // Stretch hit detection index to use the whole available color range\n var indexFactor = Math.floor((256 * 256 * 256 - 1) / featureCount);\n var featuresByZIndex = {};\n for (var i = 1; i <= featureCount; ++i) {\n var feature = features[i - 1];\n var featureStyleFunction = feature.getStyleFunction() || styleFunction;\n if (!styleFunction) {\n continue;\n }\n var styles = featureStyleFunction(feature, resolution);\n if (!styles) {\n continue;\n }\n if (!Array.isArray(styles)) {\n styles = [styles];\n }\n var index = i * indexFactor;\n var color = '#' + ('000000' + index.toString(16)).slice(-6);\n for (var j = 0, jj = styles.length; j < jj; ++j) {\n var originalStyle = styles[j];\n var geometry = originalStyle.getGeometryFunction()(feature);\n if (!geometry || !intersects(extent, geometry.getExtent())) {\n continue;\n }\n var style = originalStyle.clone();\n var fill = style.getFill();\n if (fill) {\n fill.setColor(color);\n }\n var stroke = style.getStroke();\n if (stroke) {\n stroke.setColor(color);\n stroke.setLineDash(null);\n }\n style.setText(undefined);\n var image = originalStyle.getImage();\n if (image && image.getOpacity() !== 0) {\n var imgSize = image.getImageSize();\n if (!imgSize) {\n continue;\n }\n var imgContext = createCanvasContext2D(imgSize[0], imgSize[1], undefined, { alpha: false });\n var img = imgContext.canvas;\n imgContext.fillStyle = color;\n imgContext.fillRect(0, 0, img.width, img.height);\n style.setImage(new Icon({\n img: img,\n imgSize: imgSize,\n anchor: image.getAnchor(),\n anchorXUnits: IconAnchorUnits.PIXELS,\n anchorYUnits: IconAnchorUnits.PIXELS,\n offset: image.getOrigin(),\n opacity: 1,\n size: image.getSize(),\n scale: image.getScale(),\n rotation: image.getRotation(),\n rotateWithView: image.getRotateWithView(),\n }));\n }\n var zIndex = style.getZIndex() || 0;\n var byGeometryType = featuresByZIndex[zIndex];\n if (!byGeometryType) {\n byGeometryType = {};\n featuresByZIndex[zIndex] = byGeometryType;\n byGeometryType['Polygon'] = [];\n byGeometryType['Circle'] = [];\n byGeometryType['LineString'] = [];\n byGeometryType['Point'] = [];\n }\n byGeometryType[geometry.getType().replace('Multi', '')].push(geometry, style);\n }\n }\n var zIndexKeys = Object.keys(featuresByZIndex)\n .map(Number)\n .sort(numberSafeCompareFunction);\n for (var i = 0, ii = zIndexKeys.length; i < ii; ++i) {\n var byGeometryType = featuresByZIndex[zIndexKeys[i]];\n for (var type in byGeometryType) {\n var geomAndStyle = byGeometryType[type];\n for (var j = 0, jj = geomAndStyle.length; j < jj; j += 2) {\n renderer.setStyle(geomAndStyle[j + 1]);\n for (var k = 0, kk = transforms.length; k < kk; ++k) {\n renderer.setTransform(transforms[k]);\n renderer.drawGeometry(geomAndStyle[j]);\n }\n }\n }\n }\n return context.getImageData(0, 0, canvas.width, canvas.height);\n}\n/**\n * @param {import(\"../../pixel\").Pixel} pixel Pixel coordinate on the hit\n * detection canvas in css pixels.\n * @param {Array} features Features. Has to\n * match the `features` array that was passed to `createHitDetectionImageData()`.\n * @param {ImageData} imageData Hit detection image data generated by\n * `createHitDetectionImageData()`.\n * @return {Array} features Features.\n */\nexport function hitDetect(pixel, features, imageData) {\n var resultFeatures = [];\n if (imageData) {\n var x = Math.floor(Math.round(pixel[0]) * HIT_DETECT_RESOLUTION);\n var y = Math.floor(Math.round(pixel[1]) * HIT_DETECT_RESOLUTION);\n // The pixel coordinate is clamped down to the hit-detect canvas' size to account\n // for browsers returning coordinates slightly larger than the actual canvas size\n // due to a non-integer pixel ratio.\n var index = (clamp(x, 0, imageData.width - 1) +\n clamp(y, 0, imageData.height - 1) * imageData.width) *\n 4;\n var r = imageData.data[index];\n var g = imageData.data[index + 1];\n var b = imageData.data[index + 2];\n var i = b + 256 * (g + 256 * r);\n var indexFactor = Math.floor((256 * 256 * 256 - 1) / features.length);\n if (i && i % indexFactor === 0) {\n resultFeatures.push(features[i / indexFactor - 1]);\n }\n }\n return resultFeatures;\n}\n//# sourceMappingURL=hitdetect.js.map","/**\n * @module ol/renderer/vector\n */\nimport ImageState from '../ImageState.js';\nimport { getUid } from '../util.js';\n/**\n * Feature callback. The callback will be called with three arguments. The first\n * argument is one {@link module:ol/Feature~Feature feature} or {@link module:ol/render/Feature~RenderFeature render feature}\n * at the pixel, the second is the {@link module:ol/layer/Layer~Layer layer} of the feature and will be null for\n * unmanaged layers. The third is the {@link module:ol/geom/SimpleGeometry~SimpleGeometry} of the feature. For features\n * with a GeometryCollection geometry, it will be the first detected geometry from the collection.\n * @template T\n * @typedef {function(import(\"../Feature.js\").FeatureLike, import(\"../layer/Layer.js\").default, import(\"../geom/SimpleGeometry.js\").default): T} FeatureCallback\n */\n/**\n * Tolerance for geometry simplification in device pixels.\n * @type {number}\n */\nvar SIMPLIFY_TOLERANCE = 0.5;\n/**\n * @const\n * @type {Object}\n */\nvar GEOMETRY_RENDERERS = {\n 'Point': renderPointGeometry,\n 'LineString': renderLineStringGeometry,\n 'Polygon': renderPolygonGeometry,\n 'MultiPoint': renderMultiPointGeometry,\n 'MultiLineString': renderMultiLineStringGeometry,\n 'MultiPolygon': renderMultiPolygonGeometry,\n 'GeometryCollection': renderGeometryCollectionGeometry,\n 'Circle': renderCircleGeometry,\n};\n/**\n * @param {import(\"../Feature.js\").FeatureLike} feature1 Feature 1.\n * @param {import(\"../Feature.js\").FeatureLike} feature2 Feature 2.\n * @return {number} Order.\n */\nexport function defaultOrder(feature1, feature2) {\n return parseInt(getUid(feature1), 10) - parseInt(getUid(feature2), 10);\n}\n/**\n * @param {number} resolution Resolution.\n * @param {number} pixelRatio Pixel ratio.\n * @return {number} Squared pixel tolerance.\n */\nexport function getSquaredTolerance(resolution, pixelRatio) {\n var tolerance = getTolerance(resolution, pixelRatio);\n return tolerance * tolerance;\n}\n/**\n * @param {number} resolution Resolution.\n * @param {number} pixelRatio Pixel ratio.\n * @return {number} Pixel tolerance.\n */\nexport function getTolerance(resolution, pixelRatio) {\n return (SIMPLIFY_TOLERANCE * resolution) / pixelRatio;\n}\n/**\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} builderGroup Builder group.\n * @param {import(\"../geom/Circle.js\").default} geometry Geometry.\n * @param {import(\"../style/Style.js\").default} style Style.\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} [opt_declutterBuilderGroup] Builder for decluttering.\n */\nfunction renderCircleGeometry(builderGroup, geometry, style, feature, opt_declutterBuilderGroup) {\n var fillStyle = style.getFill();\n var strokeStyle = style.getStroke();\n if (fillStyle || strokeStyle) {\n var circleReplay = builderGroup.getBuilder(style.getZIndex(), 'Circle');\n circleReplay.setFillStrokeStyle(fillStyle, strokeStyle);\n circleReplay.drawCircle(geometry, feature);\n }\n var textStyle = style.getText();\n if (textStyle && textStyle.getText()) {\n var textReplay = (opt_declutterBuilderGroup || builderGroup).getBuilder(style.getZIndex(), 'Text');\n textReplay.setTextStyle(textStyle);\n textReplay.drawText(geometry, feature);\n }\n}\n/**\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} replayGroup Replay group.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n * @param {import(\"../style/Style.js\").default} style Style.\n * @param {number} squaredTolerance Squared tolerance.\n * @param {function(import(\"../events/Event.js\").default): void} listener Listener function.\n * @param {import(\"../proj.js\").TransformFunction} [opt_transform] Transform from user to view projection.\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} [opt_declutterBuilderGroup] Builder for decluttering.\n * @return {boolean} `true` if style is loading.\n */\nexport function renderFeature(replayGroup, feature, style, squaredTolerance, listener, opt_transform, opt_declutterBuilderGroup) {\n var loading = false;\n var imageStyle = style.getImage();\n if (imageStyle) {\n var imageState = imageStyle.getImageState();\n if (imageState == ImageState.LOADED || imageState == ImageState.ERROR) {\n imageStyle.unlistenImageChange(listener);\n }\n else {\n if (imageState == ImageState.IDLE) {\n imageStyle.load();\n }\n imageStyle.listenImageChange(listener);\n loading = true;\n }\n }\n renderFeatureInternal(replayGroup, feature, style, squaredTolerance, opt_transform, opt_declutterBuilderGroup);\n return loading;\n}\n/**\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} replayGroup Replay group.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n * @param {import(\"../style/Style.js\").default} style Style.\n * @param {number} squaredTolerance Squared tolerance.\n * @param {import(\"../proj.js\").TransformFunction} [opt_transform] Optional transform function.\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} [opt_declutterBuilderGroup] Builder for decluttering.\n */\nfunction renderFeatureInternal(replayGroup, feature, style, squaredTolerance, opt_transform, opt_declutterBuilderGroup) {\n var geometry = style.getGeometryFunction()(feature);\n if (!geometry) {\n return;\n }\n var simplifiedGeometry = geometry.simplifyTransformed(squaredTolerance, opt_transform);\n var renderer = style.getRenderer();\n if (renderer) {\n renderGeometry(replayGroup, simplifiedGeometry, style, feature);\n }\n else {\n var geometryRenderer = GEOMETRY_RENDERERS[simplifiedGeometry.getType()];\n geometryRenderer(replayGroup, simplifiedGeometry, style, feature, opt_declutterBuilderGroup);\n }\n}\n/**\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} replayGroup Replay group.\n * @param {import(\"../geom/Geometry.js\").default|import(\"../render/Feature.js\").default} geometry Geometry.\n * @param {import(\"../style/Style.js\").default} style Style.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n */\nfunction renderGeometry(replayGroup, geometry, style, feature) {\n if (geometry.getType() == 'GeometryCollection') {\n var geometries = \n /** @type {import(\"../geom/GeometryCollection.js\").default} */ (geometry).getGeometries();\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n renderGeometry(replayGroup, geometries[i], style, feature);\n }\n return;\n }\n var replay = replayGroup.getBuilder(style.getZIndex(), 'Default');\n replay.drawCustom(\n /** @type {import(\"../geom/SimpleGeometry.js\").default} */ (geometry), feature, style.getRenderer(), style.getHitDetectionRenderer());\n}\n/**\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} replayGroup Replay group.\n * @param {import(\"../geom/GeometryCollection.js\").default} geometry Geometry.\n * @param {import(\"../style/Style.js\").default} style Style.\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} [opt_declutterBuilderGroup] Builder for decluttering.\n */\nfunction renderGeometryCollectionGeometry(replayGroup, geometry, style, feature, opt_declutterBuilderGroup) {\n var geometries = geometry.getGeometriesArray();\n var i, ii;\n for (i = 0, ii = geometries.length; i < ii; ++i) {\n var geometryRenderer = GEOMETRY_RENDERERS[geometries[i].getType()];\n geometryRenderer(replayGroup, geometries[i], style, feature, opt_declutterBuilderGroup);\n }\n}\n/**\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} builderGroup Replay group.\n * @param {import(\"../geom/LineString.js\").default|import(\"../render/Feature.js\").default} geometry Geometry.\n * @param {import(\"../style/Style.js\").default} style Style.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} [opt_declutterBuilderGroup] Builder for decluttering.\n */\nfunction renderLineStringGeometry(builderGroup, geometry, style, feature, opt_declutterBuilderGroup) {\n var strokeStyle = style.getStroke();\n if (strokeStyle) {\n var lineStringReplay = builderGroup.getBuilder(style.getZIndex(), 'LineString');\n lineStringReplay.setFillStrokeStyle(null, strokeStyle);\n lineStringReplay.drawLineString(geometry, feature);\n }\n var textStyle = style.getText();\n if (textStyle && textStyle.getText()) {\n var textReplay = (opt_declutterBuilderGroup || builderGroup).getBuilder(style.getZIndex(), 'Text');\n textReplay.setTextStyle(textStyle);\n textReplay.drawText(geometry, feature);\n }\n}\n/**\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} builderGroup Replay group.\n * @param {import(\"../geom/MultiLineString.js\").default|import(\"../render/Feature.js\").default} geometry Geometry.\n * @param {import(\"../style/Style.js\").default} style Style.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} [opt_declutterBuilderGroup] Builder for decluttering.\n */\nfunction renderMultiLineStringGeometry(builderGroup, geometry, style, feature, opt_declutterBuilderGroup) {\n var strokeStyle = style.getStroke();\n if (strokeStyle) {\n var lineStringReplay = builderGroup.getBuilder(style.getZIndex(), 'LineString');\n lineStringReplay.setFillStrokeStyle(null, strokeStyle);\n lineStringReplay.drawMultiLineString(geometry, feature);\n }\n var textStyle = style.getText();\n if (textStyle && textStyle.getText()) {\n var textReplay = (opt_declutterBuilderGroup || builderGroup).getBuilder(style.getZIndex(), 'Text');\n textReplay.setTextStyle(textStyle);\n textReplay.drawText(geometry, feature);\n }\n}\n/**\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} builderGroup Replay group.\n * @param {import(\"../geom/MultiPolygon.js\").default} geometry Geometry.\n * @param {import(\"../style/Style.js\").default} style Style.\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} [opt_declutterBuilderGroup] Builder for decluttering.\n */\nfunction renderMultiPolygonGeometry(builderGroup, geometry, style, feature, opt_declutterBuilderGroup) {\n var fillStyle = style.getFill();\n var strokeStyle = style.getStroke();\n if (strokeStyle || fillStyle) {\n var polygonReplay = builderGroup.getBuilder(style.getZIndex(), 'Polygon');\n polygonReplay.setFillStrokeStyle(fillStyle, strokeStyle);\n polygonReplay.drawMultiPolygon(geometry, feature);\n }\n var textStyle = style.getText();\n if (textStyle && textStyle.getText()) {\n var textReplay = (opt_declutterBuilderGroup || builderGroup).getBuilder(style.getZIndex(), 'Text');\n textReplay.setTextStyle(textStyle);\n textReplay.drawText(geometry, feature);\n }\n}\n/**\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} builderGroup Replay group.\n * @param {import(\"../geom/Point.js\").default|import(\"../render/Feature.js\").default} geometry Geometry.\n * @param {import(\"../style/Style.js\").default} style Style.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} [opt_declutterBuilderGroup] Builder for decluttering.\n */\nfunction renderPointGeometry(builderGroup, geometry, style, feature, opt_declutterBuilderGroup) {\n var imageStyle = style.getImage();\n var textStyle = style.getText();\n /** @type {import(\"../render/canvas.js\").DeclutterImageWithText} */\n var declutterImageWithText;\n if (imageStyle) {\n if (imageStyle.getImageState() != ImageState.LOADED) {\n return;\n }\n var imageBuilderGroup = builderGroup;\n if (opt_declutterBuilderGroup) {\n var declutterMode = imageStyle.getDeclutterMode();\n if (declutterMode !== 'none') {\n imageBuilderGroup = opt_declutterBuilderGroup;\n if (declutterMode === 'obstacle') {\n // draw in non-declutter group:\n var imageReplay_1 = builderGroup.getBuilder(style.getZIndex(), 'Image');\n imageReplay_1.setImageStyle(imageStyle, declutterImageWithText);\n imageReplay_1.drawPoint(geometry, feature);\n }\n else if (textStyle && textStyle.getText()) {\n declutterImageWithText = {};\n }\n }\n }\n var imageReplay = imageBuilderGroup.getBuilder(style.getZIndex(), 'Image');\n imageReplay.setImageStyle(imageStyle, declutterImageWithText);\n imageReplay.drawPoint(geometry, feature);\n }\n if (textStyle && textStyle.getText()) {\n var textBuilderGroup = builderGroup;\n if (opt_declutterBuilderGroup) {\n textBuilderGroup = opt_declutterBuilderGroup;\n }\n var textReplay = textBuilderGroup.getBuilder(style.getZIndex(), 'Text');\n textReplay.setTextStyle(textStyle, declutterImageWithText);\n textReplay.drawText(geometry, feature);\n }\n}\n/**\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} builderGroup Replay group.\n * @param {import(\"../geom/MultiPoint.js\").default|import(\"../render/Feature.js\").default} geometry Geometry.\n * @param {import(\"../style/Style.js\").default} style Style.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} [opt_declutterBuilderGroup] Builder for decluttering.\n */\nfunction renderMultiPointGeometry(builderGroup, geometry, style, feature, opt_declutterBuilderGroup) {\n var imageStyle = style.getImage();\n var textStyle = style.getText();\n /** @type {import(\"../render/canvas.js\").DeclutterImageWithText} */\n var declutterImageWithText;\n if (imageStyle) {\n if (imageStyle.getImageState() != ImageState.LOADED) {\n return;\n }\n var imageBuilderGroup = builderGroup;\n if (opt_declutterBuilderGroup) {\n var declutterMode = imageStyle.getDeclutterMode();\n if (declutterMode !== 'none') {\n imageBuilderGroup = opt_declutterBuilderGroup;\n if (declutterMode === 'obstacle') {\n // draw in non-declutter group:\n var imageReplay_2 = builderGroup.getBuilder(style.getZIndex(), 'Image');\n imageReplay_2.setImageStyle(imageStyle, declutterImageWithText);\n imageReplay_2.drawMultiPoint(geometry, feature);\n }\n else if (textStyle && textStyle.getText()) {\n declutterImageWithText = {};\n }\n }\n }\n var imageReplay = imageBuilderGroup.getBuilder(style.getZIndex(), 'Image');\n imageReplay.setImageStyle(imageStyle, declutterImageWithText);\n imageReplay.drawMultiPoint(geometry, feature);\n }\n if (textStyle && textStyle.getText()) {\n var textBuilderGroup = builderGroup;\n if (opt_declutterBuilderGroup) {\n textBuilderGroup = opt_declutterBuilderGroup;\n }\n var textReplay = textBuilderGroup.getBuilder(style.getZIndex(), 'Text');\n textReplay.setTextStyle(textStyle, declutterImageWithText);\n textReplay.drawText(geometry, feature);\n }\n}\n/**\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} builderGroup Replay group.\n * @param {import(\"../geom/Polygon.js\").default|import(\"../render/Feature.js\").default} geometry Geometry.\n * @param {import(\"../style/Style.js\").default} style Style.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n * @param {import(\"../render/canvas/BuilderGroup.js\").default} [opt_declutterBuilderGroup] Builder for decluttering.\n */\nfunction renderPolygonGeometry(builderGroup, geometry, style, feature, opt_declutterBuilderGroup) {\n var fillStyle = style.getFill();\n var strokeStyle = style.getStroke();\n if (fillStyle || strokeStyle) {\n var polygonReplay = builderGroup.getBuilder(style.getZIndex(), 'Polygon');\n polygonReplay.setFillStrokeStyle(fillStyle, strokeStyle);\n polygonReplay.drawPolygon(geometry, feature);\n }\n var textStyle = style.getText();\n if (textStyle && textStyle.getText()) {\n var textReplay = (opt_declutterBuilderGroup || builderGroup).getBuilder(style.getZIndex(), 'Text');\n textReplay.setTextStyle(textStyle);\n textReplay.drawText(geometry, feature);\n }\n}\n//# sourceMappingURL=vector.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/renderer/canvas/VectorLayer\n */\nimport CanvasBuilderGroup from '../../render/canvas/BuilderGroup.js';\nimport CanvasLayerRenderer, { canvasPool } from './Layer.js';\nimport ExecutorGroup from '../../render/canvas/ExecutorGroup.js';\nimport ViewHint from '../../ViewHint.js';\nimport { HIT_DETECT_RESOLUTION, createHitDetectionImageData, hitDetect, } from '../../render/canvas/hitdetect.js';\nimport { apply, makeInverse, makeScale, toString as transformToString, } from '../../transform.js';\nimport { buffer, containsExtent, createEmpty, getWidth, intersects as intersectsExtent, wrapX as wrapExtentX, } from '../../extent.js';\nimport { createCanvasContext2D, releaseCanvas } from '../../dom.js';\nimport { defaultOrder as defaultRenderOrder, getTolerance as getRenderTolerance, getSquaredTolerance as getSquaredRenderTolerance, renderFeature, } from '../vector.js';\nimport { equals } from '../../array.js';\nimport { fromUserExtent, getTransformFromProjections, getUserProjection, toUserExtent, toUserResolution, } from '../../proj.js';\nimport { getUid } from '../../util.js';\nimport { wrapX as wrapCoordinateX } from '../../coordinate.js';\n/**\n * @classdesc\n * Canvas renderer for vector layers.\n * @api\n */\nvar CanvasVectorLayerRenderer = /** @class */ (function (_super) {\n __extends(CanvasVectorLayerRenderer, _super);\n /**\n * @param {import(\"../../layer/BaseVector.js\").default} vectorLayer Vector layer.\n */\n function CanvasVectorLayerRenderer(vectorLayer) {\n var _this = _super.call(this, vectorLayer) || this;\n /** @private */\n _this.boundHandleStyleImageChange_ = _this.handleStyleImageChange_.bind(_this);\n /**\n * @type {boolean}\n */\n _this.animatingOrInteracting_;\n /**\n * @type {ImageData}\n */\n _this.hitDetectionImageData_ = null;\n /**\n * @type {Array}\n */\n _this.renderedFeatures_ = null;\n /**\n * @private\n * @type {number}\n */\n _this.renderedRevision_ = -1;\n /**\n * @private\n * @type {number}\n */\n _this.renderedResolution_ = NaN;\n /**\n * @private\n * @type {import(\"../../extent.js\").Extent}\n */\n _this.renderedExtent_ = createEmpty();\n /**\n * @private\n * @type {import(\"../../extent.js\").Extent}\n */\n _this.wrappedRenderedExtent_ = createEmpty();\n /**\n * @private\n * @type {number}\n */\n _this.renderedRotation_;\n /**\n * @private\n * @type {import(\"../../coordinate\").Coordinate}\n */\n _this.renderedCenter_ = null;\n /**\n * @private\n * @type {import(\"../../proj/Projection\").default}\n */\n _this.renderedProjection_ = null;\n /**\n * @private\n * @type {function(import(\"../../Feature.js\").default, import(\"../../Feature.js\").default): number|null}\n */\n _this.renderedRenderOrder_ = null;\n /**\n * @private\n * @type {import(\"../../render/canvas/ExecutorGroup\").default}\n */\n _this.replayGroup_ = null;\n /**\n * A new replay group had to be created by `prepareFrame()`\n * @type {boolean}\n */\n _this.replayGroupChanged = true;\n /**\n * @type {import(\"../../render/canvas/ExecutorGroup\").default}\n */\n _this.declutterExecutorGroup = null;\n /**\n * Clipping to be performed by `renderFrame()`\n * @type {boolean}\n */\n _this.clipping = true;\n /**\n * @private\n * @type {CanvasRenderingContext2D}\n */\n _this.compositionContext_ = null;\n /**\n * @private\n * @type {number}\n */\n _this.opacity_ = 1;\n return _this;\n }\n /**\n * @param {ExecutorGroup} executorGroup Executor group.\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n * @param {import(\"rbush\").default} [opt_declutterTree] Declutter tree.\n */\n CanvasVectorLayerRenderer.prototype.renderWorlds = function (executorGroup, frameState, opt_declutterTree) {\n var extent = frameState.extent;\n var viewState = frameState.viewState;\n var center = viewState.center;\n var resolution = viewState.resolution;\n var projection = viewState.projection;\n var rotation = viewState.rotation;\n var projectionExtent = projection.getExtent();\n var vectorSource = this.getLayer().getSource();\n var pixelRatio = frameState.pixelRatio;\n var viewHints = frameState.viewHints;\n var snapToPixel = !(viewHints[ViewHint.ANIMATING] || viewHints[ViewHint.INTERACTING]);\n var context = this.compositionContext_;\n var width = Math.round(frameState.size[0] * pixelRatio);\n var height = Math.round(frameState.size[1] * pixelRatio);\n var multiWorld = vectorSource.getWrapX() && projection.canWrapX();\n var worldWidth = multiWorld ? getWidth(projectionExtent) : null;\n var endWorld = multiWorld\n ? Math.ceil((extent[2] - projectionExtent[2]) / worldWidth) + 1\n : 1;\n var world = multiWorld\n ? Math.floor((extent[0] - projectionExtent[0]) / worldWidth)\n : 0;\n do {\n var transform = this.getRenderTransform(center, resolution, rotation, pixelRatio, width, height, world * worldWidth);\n executorGroup.execute(context, 1, transform, rotation, snapToPixel, undefined, opt_declutterTree);\n } while (++world < endWorld);\n };\n CanvasVectorLayerRenderer.prototype.setupCompositionContext_ = function () {\n if (this.opacity_ !== 1) {\n var compositionContext = createCanvasContext2D(this.context.canvas.width, this.context.canvas.height, canvasPool);\n this.compositionContext_ = compositionContext;\n }\n else {\n this.compositionContext_ = this.context;\n }\n };\n CanvasVectorLayerRenderer.prototype.releaseCompositionContext_ = function () {\n if (this.opacity_ !== 1) {\n var alpha = this.context.globalAlpha;\n this.context.globalAlpha = this.opacity_;\n this.context.drawImage(this.compositionContext_.canvas, 0, 0);\n this.context.globalAlpha = alpha;\n releaseCanvas(this.compositionContext_);\n canvasPool.push(this.compositionContext_.canvas);\n this.compositionContext_ = null;\n }\n };\n /**\n * Render declutter items for this layer\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n */\n CanvasVectorLayerRenderer.prototype.renderDeclutter = function (frameState) {\n if (this.declutterExecutorGroup) {\n this.setupCompositionContext_();\n this.renderWorlds(this.declutterExecutorGroup, frameState, frameState.declutterTree);\n this.releaseCompositionContext_();\n }\n };\n /**\n * Render the layer.\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n * @param {HTMLElement} target Target that may be used to render content to.\n * @return {HTMLElement} The rendered element.\n */\n CanvasVectorLayerRenderer.prototype.renderFrame = function (frameState, target) {\n var pixelRatio = frameState.pixelRatio;\n var layerState = frameState.layerStatesArray[frameState.layerIndex];\n // set forward and inverse pixel transforms\n makeScale(this.pixelTransform, 1 / pixelRatio, 1 / pixelRatio);\n makeInverse(this.inversePixelTransform, this.pixelTransform);\n var canvasTransform = transformToString(this.pixelTransform);\n this.useContainer(target, canvasTransform, this.getBackground(frameState));\n var context = this.context;\n var canvas = context.canvas;\n var replayGroup = this.replayGroup_;\n var declutterExecutorGroup = this.declutterExecutorGroup;\n if ((!replayGroup || replayGroup.isEmpty()) &&\n (!declutterExecutorGroup || declutterExecutorGroup.isEmpty())) {\n return null;\n }\n // resize and clear\n var width = Math.round(frameState.size[0] * pixelRatio);\n var height = Math.round(frameState.size[1] * pixelRatio);\n if (canvas.width != width || canvas.height != height) {\n canvas.width = width;\n canvas.height = height;\n if (canvas.style.transform !== canvasTransform) {\n canvas.style.transform = canvasTransform;\n }\n }\n else if (!this.containerReused) {\n context.clearRect(0, 0, width, height);\n }\n this.preRender(context, frameState);\n var viewState = frameState.viewState;\n var projection = viewState.projection;\n this.opacity_ = layerState.opacity;\n this.setupCompositionContext_();\n // clipped rendering if layer extent is set\n var clipped = false;\n var render = true;\n if (layerState.extent && this.clipping) {\n var layerExtent = fromUserExtent(layerState.extent, projection);\n render = intersectsExtent(layerExtent, frameState.extent);\n clipped = render && !containsExtent(layerExtent, frameState.extent);\n if (clipped) {\n this.clipUnrotated(this.compositionContext_, frameState, layerExtent);\n }\n }\n if (render) {\n this.renderWorlds(replayGroup, frameState);\n }\n if (clipped) {\n this.compositionContext_.restore();\n }\n this.releaseCompositionContext_();\n this.postRender(context, frameState);\n if (this.renderedRotation_ !== viewState.rotation) {\n this.renderedRotation_ = viewState.rotation;\n this.hitDetectionImageData_ = null;\n }\n return this.container;\n };\n /**\n * Asynchronous layer level hit detection.\n * @param {import(\"../../pixel.js\").Pixel} pixel Pixel.\n * @return {Promise>} Promise that resolves with an array of features.\n */\n CanvasVectorLayerRenderer.prototype.getFeatures = function (pixel) {\n return new Promise(\n /**\n * @param {function(Array): void} resolve Resolver function.\n * @this {CanvasVectorLayerRenderer}\n */\n function (resolve) {\n if (!this.hitDetectionImageData_ && !this.animatingOrInteracting_) {\n var size = [this.context.canvas.width, this.context.canvas.height];\n apply(this.pixelTransform, size);\n var center = this.renderedCenter_;\n var resolution = this.renderedResolution_;\n var rotation = this.renderedRotation_;\n var projection = this.renderedProjection_;\n var extent = this.wrappedRenderedExtent_;\n var layer = this.getLayer();\n var transforms = [];\n var width = size[0] * HIT_DETECT_RESOLUTION;\n var height = size[1] * HIT_DETECT_RESOLUTION;\n transforms.push(this.getRenderTransform(center, resolution, rotation, HIT_DETECT_RESOLUTION, width, height, 0).slice());\n var source = layer.getSource();\n var projectionExtent = projection.getExtent();\n if (source.getWrapX() &&\n projection.canWrapX() &&\n !containsExtent(projectionExtent, extent)) {\n var startX = extent[0];\n var worldWidth = getWidth(projectionExtent);\n var world = 0;\n var offsetX = void 0;\n while (startX < projectionExtent[0]) {\n --world;\n offsetX = worldWidth * world;\n transforms.push(this.getRenderTransform(center, resolution, rotation, HIT_DETECT_RESOLUTION, width, height, offsetX).slice());\n startX += worldWidth;\n }\n world = 0;\n startX = extent[2];\n while (startX > projectionExtent[2]) {\n ++world;\n offsetX = worldWidth * world;\n transforms.push(this.getRenderTransform(center, resolution, rotation, HIT_DETECT_RESOLUTION, width, height, offsetX).slice());\n startX -= worldWidth;\n }\n }\n this.hitDetectionImageData_ = createHitDetectionImageData(size, transforms, this.renderedFeatures_, layer.getStyleFunction(), extent, resolution, rotation);\n }\n resolve(hitDetect(pixel, this.renderedFeatures_, this.hitDetectionImageData_));\n }.bind(this));\n };\n /**\n * @param {import(\"../../coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n * @param {number} hitTolerance Hit tolerance in pixels.\n * @param {import(\"../vector.js\").FeatureCallback} callback Feature callback.\n * @param {Array>} matches The hit detected matches with tolerance.\n * @return {T|undefined} Callback result.\n * @template T\n */\n CanvasVectorLayerRenderer.prototype.forEachFeatureAtCoordinate = function (coordinate, frameState, hitTolerance, callback, matches) {\n var _this = this;\n if (!this.replayGroup_) {\n return undefined;\n }\n var resolution = frameState.viewState.resolution;\n var rotation = frameState.viewState.rotation;\n var layer = this.getLayer();\n /** @type {!Object|true>} */\n var features = {};\n /**\n * @param {import(\"../../Feature.js\").FeatureLike} feature Feature.\n * @param {import(\"../../geom/SimpleGeometry.js\").default} geometry Geometry.\n * @param {number} distanceSq The squared distance to the click position\n * @return {T|undefined} Callback result.\n */\n var featureCallback = function (feature, geometry, distanceSq) {\n var key = getUid(feature);\n var match = features[key];\n if (!match) {\n if (distanceSq === 0) {\n features[key] = true;\n return callback(feature, layer, geometry);\n }\n matches.push((features[key] = {\n feature: feature,\n layer: layer,\n geometry: geometry,\n distanceSq: distanceSq,\n callback: callback,\n }));\n }\n else if (match !== true && distanceSq < match.distanceSq) {\n if (distanceSq === 0) {\n features[key] = true;\n matches.splice(matches.lastIndexOf(match), 1);\n return callback(feature, layer, geometry);\n }\n match.geometry = geometry;\n match.distanceSq = distanceSq;\n }\n return undefined;\n };\n var result;\n var executorGroups = [this.replayGroup_];\n if (this.declutterExecutorGroup) {\n executorGroups.push(this.declutterExecutorGroup);\n }\n executorGroups.some(function (executorGroup) {\n return (result = executorGroup.forEachFeatureAtCoordinate(coordinate, resolution, rotation, hitTolerance, featureCallback, executorGroup === _this.declutterExecutorGroup &&\n frameState.declutterTree\n ? frameState.declutterTree.all().map(function (item) { return item.value; })\n : null));\n });\n return result;\n };\n /**\n * Perform action necessary to get the layer rendered after new fonts have loaded\n */\n CanvasVectorLayerRenderer.prototype.handleFontsChanged = function () {\n var layer = this.getLayer();\n if (layer.getVisible() && this.replayGroup_) {\n layer.changed();\n }\n };\n /**\n * Handle changes in image style state.\n * @param {import(\"../../events/Event.js\").default} event Image style change event.\n * @private\n */\n CanvasVectorLayerRenderer.prototype.handleStyleImageChange_ = function (event) {\n this.renderIfReadyAndVisible();\n };\n /**\n * Determine whether render should be called.\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n * @return {boolean} Layer is ready to be rendered.\n */\n CanvasVectorLayerRenderer.prototype.prepareFrame = function (frameState) {\n var vectorLayer = this.getLayer();\n var vectorSource = vectorLayer.getSource();\n if (!vectorSource) {\n return false;\n }\n var animating = frameState.viewHints[ViewHint.ANIMATING];\n var interacting = frameState.viewHints[ViewHint.INTERACTING];\n var updateWhileAnimating = vectorLayer.getUpdateWhileAnimating();\n var updateWhileInteracting = vectorLayer.getUpdateWhileInteracting();\n if ((this.ready && !updateWhileAnimating && animating) ||\n (!updateWhileInteracting && interacting)) {\n this.animatingOrInteracting_ = true;\n return true;\n }\n this.animatingOrInteracting_ = false;\n var frameStateExtent = frameState.extent;\n var viewState = frameState.viewState;\n var projection = viewState.projection;\n var resolution = viewState.resolution;\n var pixelRatio = frameState.pixelRatio;\n var vectorLayerRevision = vectorLayer.getRevision();\n var vectorLayerRenderBuffer = vectorLayer.getRenderBuffer();\n var vectorLayerRenderOrder = vectorLayer.getRenderOrder();\n if (vectorLayerRenderOrder === undefined) {\n vectorLayerRenderOrder = defaultRenderOrder;\n }\n var center = viewState.center.slice();\n var extent = buffer(frameStateExtent, vectorLayerRenderBuffer * resolution);\n var renderedExtent = extent.slice();\n var loadExtents = [extent.slice()];\n var projectionExtent = projection.getExtent();\n if (vectorSource.getWrapX() &&\n projection.canWrapX() &&\n !containsExtent(projectionExtent, frameState.extent)) {\n // For the replay group, we need an extent that intersects the real world\n // (-180° to +180°). To support geometries in a coordinate range from -540°\n // to +540°, we add at least 1 world width on each side of the projection\n // extent. If the viewport is wider than the world, we need to add half of\n // the viewport width to make sure we cover the whole viewport.\n var worldWidth = getWidth(projectionExtent);\n var gutter = Math.max(getWidth(extent) / 2, worldWidth);\n extent[0] = projectionExtent[0] - gutter;\n extent[2] = projectionExtent[2] + gutter;\n wrapCoordinateX(center, projection);\n var loadExtent = wrapExtentX(loadExtents[0], projection);\n // If the extent crosses the date line, we load data for both edges of the worlds\n if (loadExtent[0] < projectionExtent[0] &&\n loadExtent[2] < projectionExtent[2]) {\n loadExtents.push([\n loadExtent[0] + worldWidth,\n loadExtent[1],\n loadExtent[2] + worldWidth,\n loadExtent[3],\n ]);\n }\n else if (loadExtent[0] > projectionExtent[0] &&\n loadExtent[2] > projectionExtent[2]) {\n loadExtents.push([\n loadExtent[0] - worldWidth,\n loadExtent[1],\n loadExtent[2] - worldWidth,\n loadExtent[3],\n ]);\n }\n }\n if (this.ready &&\n this.renderedResolution_ == resolution &&\n this.renderedRevision_ == vectorLayerRevision &&\n this.renderedRenderOrder_ == vectorLayerRenderOrder &&\n containsExtent(this.wrappedRenderedExtent_, extent)) {\n if (!equals(this.renderedExtent_, renderedExtent)) {\n this.hitDetectionImageData_ = null;\n this.renderedExtent_ = renderedExtent;\n }\n this.renderedCenter_ = center;\n this.replayGroupChanged = false;\n return true;\n }\n this.replayGroup_ = null;\n var replayGroup = new CanvasBuilderGroup(getRenderTolerance(resolution, pixelRatio), extent, resolution, pixelRatio);\n var declutterBuilderGroup;\n if (this.getLayer().getDeclutter()) {\n declutterBuilderGroup = new CanvasBuilderGroup(getRenderTolerance(resolution, pixelRatio), extent, resolution, pixelRatio);\n }\n var userProjection = getUserProjection();\n var userTransform;\n if (userProjection) {\n for (var i = 0, ii = loadExtents.length; i < ii; ++i) {\n var extent_1 = loadExtents[i];\n var userExtent_1 = toUserExtent(extent_1, projection);\n vectorSource.loadFeatures(userExtent_1, toUserResolution(resolution, projection), userProjection);\n }\n userTransform = getTransformFromProjections(userProjection, projection);\n }\n else {\n for (var i = 0, ii = loadExtents.length; i < ii; ++i) {\n vectorSource.loadFeatures(loadExtents[i], resolution, projection);\n }\n }\n var squaredTolerance = getSquaredRenderTolerance(resolution, pixelRatio);\n var ready = true;\n var render = \n /**\n * @param {import(\"../../Feature.js\").default} feature Feature.\n * @this {CanvasVectorLayerRenderer}\n */\n function (feature) {\n var styles;\n var styleFunction = feature.getStyleFunction() || vectorLayer.getStyleFunction();\n if (styleFunction) {\n styles = styleFunction(feature, resolution);\n }\n if (styles) {\n var dirty = this.renderFeature(feature, squaredTolerance, styles, replayGroup, userTransform, declutterBuilderGroup);\n ready = ready && !dirty;\n }\n }.bind(this);\n var userExtent = toUserExtent(extent, projection);\n /** @type {Array} */\n var features = vectorSource.getFeaturesInExtent(userExtent);\n if (vectorLayerRenderOrder) {\n features.sort(vectorLayerRenderOrder);\n }\n for (var i = 0, ii = features.length; i < ii; ++i) {\n render(features[i]);\n }\n this.renderedFeatures_ = features;\n this.ready = ready;\n var replayGroupInstructions = replayGroup.finish();\n var executorGroup = new ExecutorGroup(extent, resolution, pixelRatio, vectorSource.getOverlaps(), replayGroupInstructions, vectorLayer.getRenderBuffer());\n if (declutterBuilderGroup) {\n this.declutterExecutorGroup = new ExecutorGroup(extent, resolution, pixelRatio, vectorSource.getOverlaps(), declutterBuilderGroup.finish(), vectorLayer.getRenderBuffer());\n }\n this.renderedResolution_ = resolution;\n this.renderedRevision_ = vectorLayerRevision;\n this.renderedRenderOrder_ = vectorLayerRenderOrder;\n this.renderedExtent_ = renderedExtent;\n this.wrappedRenderedExtent_ = extent;\n this.renderedCenter_ = center;\n this.renderedProjection_ = projection;\n this.replayGroup_ = executorGroup;\n this.hitDetectionImageData_ = null;\n this.replayGroupChanged = true;\n return true;\n };\n /**\n * @param {import(\"../../Feature.js\").default} feature Feature.\n * @param {number} squaredTolerance Squared render tolerance.\n * @param {import(\"../../style/Style.js\").default|Array} styles The style or array of styles.\n * @param {import(\"../../render/canvas/BuilderGroup.js\").default} builderGroup Builder group.\n * @param {import(\"../../proj.js\").TransformFunction} [opt_transform] Transform from user to view projection.\n * @param {import(\"../../render/canvas/BuilderGroup.js\").default} [opt_declutterBuilderGroup] Builder for decluttering.\n * @return {boolean} `true` if an image is loading.\n */\n CanvasVectorLayerRenderer.prototype.renderFeature = function (feature, squaredTolerance, styles, builderGroup, opt_transform, opt_declutterBuilderGroup) {\n if (!styles) {\n return false;\n }\n var loading = false;\n if (Array.isArray(styles)) {\n for (var i = 0, ii = styles.length; i < ii; ++i) {\n loading =\n renderFeature(builderGroup, feature, styles[i], squaredTolerance, this.boundHandleStyleImageChange_, opt_transform, opt_declutterBuilderGroup) || loading;\n }\n }\n else {\n loading = renderFeature(builderGroup, feature, styles, squaredTolerance, this.boundHandleStyleImageChange_, opt_transform, opt_declutterBuilderGroup);\n }\n return loading;\n };\n return CanvasVectorLayerRenderer;\n}(CanvasLayerRenderer));\nexport default CanvasVectorLayerRenderer;\n//# sourceMappingURL=VectorLayer.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/layer/Vector\n */\nimport BaseVectorLayer from './BaseVector.js';\nimport CanvasVectorLayerRenderer from '../renderer/canvas/VectorLayer.js';\n/**\n * @classdesc\n * Vector data is rendered client-side, as vectors. This layer type provides most accurate rendering\n * even during animations. Points and labels stay upright on rotated views. For very large\n * amounts of vector data, performance may suffer during pan and zoom animations. In this case,\n * try {@link module:ol/layer/VectorImage~VectorImageLayer}.\n *\n * Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}\n * property on the layer object; for example, setting `title: 'My Title'` in the\n * options means that `title` is observable, and has get/set accessors.\n *\n * @template {import(\"../source/Vector.js\").default} VectorSourceType\n * @extends {BaseVectorLayer}\n * @api\n */\nvar VectorLayer = /** @class */ (function (_super) {\n __extends(VectorLayer, _super);\n /**\n * @param {import(\"./BaseVector.js\").Options} [opt_options] Options.\n */\n function VectorLayer(opt_options) {\n return _super.call(this, opt_options) || this;\n }\n VectorLayer.prototype.createRenderer = function () {\n return new CanvasVectorLayerRenderer(this);\n };\n return VectorLayer;\n}(BaseVectorLayer));\nexport default VectorLayer;\n//# sourceMappingURL=Vector.js.map","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./transferSamplesDialog.vue?vue&type=style&index=0&id=1fc44df5&prod&lang=less\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiEditDialog.vue?vue&type=style&index=0&id=084fe1f6&prod&scoped=true&lang=css\"","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/interaction/Pointer\n */\nimport Interaction from './Interaction.js';\nimport MapBrowserEventType from '../MapBrowserEventType.js';\n/**\n * @typedef {Object} Options\n * @property {function(import(\"../MapBrowserEvent.js\").default):boolean} [handleDownEvent]\n * Function handling \"down\" events. If the function returns `true` then a drag\n * sequence is started.\n * @property {function(import(\"../MapBrowserEvent.js\").default):void} [handleDragEvent]\n * Function handling \"drag\" events. This function is called on \"move\" events\n * during a drag sequence.\n * @property {function(import(\"../MapBrowserEvent.js\").default):boolean} [handleEvent]\n * Method called by the map to notify the interaction that a browser event was\n * dispatched to the map. The function may return `false` to prevent the\n * propagation of the event to other interactions in the map's interactions\n * chain.\n * @property {function(import(\"../MapBrowserEvent.js\").default):void} [handleMoveEvent]\n * Function handling \"move\" events. This function is called on \"move\" events.\n * This functions is also called during a drag sequence, so during a drag\n * sequence both the `handleDragEvent` function and this function are called.\n * If `handleDownEvent` is defined and it returns true this function will not\n * be called during a drag sequence.\n * @property {function(import(\"../MapBrowserEvent.js\").default):boolean} [handleUpEvent]\n * Function handling \"up\" events. If the function returns `false` then the\n * current drag sequence is stopped.\n * @property {function(boolean):boolean} [stopDown]\n * Should the down event be propagated to other interactions, or should be\n * stopped?\n */\n/**\n * @classdesc\n * Base class that calls user-defined functions on `down`, `move` and `up`\n * events. This class also manages \"drag sequences\".\n *\n * When the `handleDownEvent` user function returns `true` a drag sequence is\n * started. During a drag sequence the `handleDragEvent` user function is\n * called on `move` events. The drag sequence ends when the `handleUpEvent`\n * user function is called and returns `false`.\n * @api\n */\nvar PointerInteraction = /** @class */ (function (_super) {\n __extends(PointerInteraction, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function PointerInteraction(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n _this = _super.call(this, \n /** @type {import(\"./Interaction.js\").InteractionOptions} */ (options)) || this;\n if (options.handleDownEvent) {\n _this.handleDownEvent = options.handleDownEvent;\n }\n if (options.handleDragEvent) {\n _this.handleDragEvent = options.handleDragEvent;\n }\n if (options.handleMoveEvent) {\n _this.handleMoveEvent = options.handleMoveEvent;\n }\n if (options.handleUpEvent) {\n _this.handleUpEvent = options.handleUpEvent;\n }\n if (options.stopDown) {\n _this.stopDown = options.stopDown;\n }\n /**\n * @type {boolean}\n * @protected\n */\n _this.handlingDownUpSequence = false;\n /**\n * @type {Array}\n * @protected\n */\n _this.targetPointers = [];\n return _this;\n }\n /**\n * Returns the current number of pointers involved in the interaction,\n * e.g. `2` when two fingers are used.\n * @return {number} The number of pointers.\n * @api\n */\n PointerInteraction.prototype.getPointerCount = function () {\n return this.targetPointers.length;\n };\n /**\n * Handle pointer down events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n * @protected\n */\n PointerInteraction.prototype.handleDownEvent = function (mapBrowserEvent) {\n return false;\n };\n /**\n * Handle pointer drag events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @protected\n */\n PointerInteraction.prototype.handleDragEvent = function (mapBrowserEvent) { };\n /**\n * Handles the {@link module:ol/MapBrowserEvent~MapBrowserEvent map browser event} and may call into\n * other functions, if event sequences like e.g. 'drag' or 'down-up' etc. are\n * detected.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} `false` to stop event propagation.\n * @api\n */\n PointerInteraction.prototype.handleEvent = function (mapBrowserEvent) {\n if (!mapBrowserEvent.originalEvent) {\n return true;\n }\n var stopEvent = false;\n this.updateTrackedPointers_(mapBrowserEvent);\n if (this.handlingDownUpSequence) {\n if (mapBrowserEvent.type == MapBrowserEventType.POINTERDRAG) {\n this.handleDragEvent(mapBrowserEvent);\n // prevent page scrolling during dragging\n mapBrowserEvent.originalEvent.preventDefault();\n }\n else if (mapBrowserEvent.type == MapBrowserEventType.POINTERUP) {\n var handledUp = this.handleUpEvent(mapBrowserEvent);\n this.handlingDownUpSequence =\n handledUp && this.targetPointers.length > 0;\n }\n }\n else {\n if (mapBrowserEvent.type == MapBrowserEventType.POINTERDOWN) {\n var handled = this.handleDownEvent(mapBrowserEvent);\n this.handlingDownUpSequence = handled;\n stopEvent = this.stopDown(handled);\n }\n else if (mapBrowserEvent.type == MapBrowserEventType.POINTERMOVE) {\n this.handleMoveEvent(mapBrowserEvent);\n }\n }\n return !stopEvent;\n };\n /**\n * Handle pointer move events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @protected\n */\n PointerInteraction.prototype.handleMoveEvent = function (mapBrowserEvent) { };\n /**\n * Handle pointer up events.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @return {boolean} If the event was consumed.\n * @protected\n */\n PointerInteraction.prototype.handleUpEvent = function (mapBrowserEvent) {\n return false;\n };\n /**\n * This function is used to determine if \"down\" events should be propagated\n * to other interactions or should be stopped.\n * @param {boolean} handled Was the event handled by the interaction?\n * @return {boolean} Should the `down` event be stopped?\n */\n PointerInteraction.prototype.stopDown = function (handled) {\n return handled;\n };\n /**\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Event.\n * @private\n */\n PointerInteraction.prototype.updateTrackedPointers_ = function (mapBrowserEvent) {\n if (mapBrowserEvent.activePointers) {\n this.targetPointers = mapBrowserEvent.activePointers;\n }\n };\n return PointerInteraction;\n}(Interaction));\n/**\n * @param {Array} pointerEvents List of events.\n * @return {import(\"../pixel.js\").Pixel} Centroid pixel.\n */\nexport function centroid(pointerEvents) {\n var length = pointerEvents.length;\n var clientX = 0;\n var clientY = 0;\n for (var i = 0; i < length; i++) {\n clientX += pointerEvents[i].clientX;\n clientY += pointerEvents[i].clientY;\n }\n return [clientX / length, clientY / length];\n}\nexport default PointerInteraction;\n//# sourceMappingURL=Pointer.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/interaction/Interaction\n */\nimport BaseObject from '../Object.js';\nimport InteractionProperty from './Property.js';\nimport { easeOut, linear } from '../easing.js';\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").CombinedOnSignature} InteractionOnSignature\n */\n/**\n * Object literal with config options for interactions.\n * @typedef {Object} InteractionOptions\n * @property {function(import(\"../MapBrowserEvent.js\").default):boolean} handleEvent\n * Method called by the map to notify the interaction that a browser event was\n * dispatched to the map. If the function returns a falsy value, propagation of\n * the event to other interactions in the map's interactions chain will be\n * prevented (this includes functions with no explicit return). The interactions\n * are traversed in reverse order of the interactions collection of the map.\n */\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * User actions that change the state of the map. Some are similar to controls,\n * but are not associated with a DOM element.\n * For example, {@link module:ol/interaction/KeyboardZoom~KeyboardZoom} is\n * functionally the same as {@link module:ol/control/Zoom~Zoom}, but triggered\n * by a keyboard event not a button element event.\n * Although interactions do not have a DOM element, some of them do render\n * vectors and so are visible on the screen.\n * @api\n */\nvar Interaction = /** @class */ (function (_super) {\n __extends(Interaction, _super);\n /**\n * @param {InteractionOptions} [opt_options] Options.\n */\n function Interaction(opt_options) {\n var _this = _super.call(this) || this;\n /***\n * @type {InteractionOnSignature}\n */\n _this.on;\n /***\n * @type {InteractionOnSignature}\n */\n _this.once;\n /***\n * @type {InteractionOnSignature}\n */\n _this.un;\n if (opt_options && opt_options.handleEvent) {\n _this.handleEvent = opt_options.handleEvent;\n }\n /**\n * @private\n * @type {import(\"../PluggableMap.js\").default|null}\n */\n _this.map_ = null;\n _this.setActive(true);\n return _this;\n }\n /**\n * Return whether the interaction is currently active.\n * @return {boolean} `true` if the interaction is active, `false` otherwise.\n * @observable\n * @api\n */\n Interaction.prototype.getActive = function () {\n return /** @type {boolean} */ (this.get(InteractionProperty.ACTIVE));\n };\n /**\n * Get the map associated with this interaction.\n * @return {import(\"../PluggableMap.js\").default|null} Map.\n * @api\n */\n Interaction.prototype.getMap = function () {\n return this.map_;\n };\n /**\n * Handles the {@link module:ol/MapBrowserEvent~MapBrowserEvent map browser event}.\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n * @return {boolean} `false` to stop event propagation.\n * @api\n */\n Interaction.prototype.handleEvent = function (mapBrowserEvent) {\n return true;\n };\n /**\n * Activate or deactivate the interaction.\n * @param {boolean} active Active.\n * @observable\n * @api\n */\n Interaction.prototype.setActive = function (active) {\n this.set(InteractionProperty.ACTIVE, active);\n };\n /**\n * Remove the interaction from its current map and attach it to the new map.\n * Subclasses may set up event handlers to get notified about changes to\n * the map here.\n * @param {import(\"../PluggableMap.js\").default|null} map Map.\n */\n Interaction.prototype.setMap = function (map) {\n this.map_ = map;\n };\n return Interaction;\n}(BaseObject));\n/**\n * @param {import(\"../View.js\").default} view View.\n * @param {import(\"../coordinate.js\").Coordinate} delta Delta.\n * @param {number} [opt_duration] Duration.\n */\nexport function pan(view, delta, opt_duration) {\n var currentCenter = view.getCenterInternal();\n if (currentCenter) {\n var center = [currentCenter[0] + delta[0], currentCenter[1] + delta[1]];\n view.animateInternal({\n duration: opt_duration !== undefined ? opt_duration : 250,\n easing: linear,\n center: view.getConstrainedCenter(center),\n });\n }\n}\n/**\n * @param {import(\"../View.js\").default} view View.\n * @param {number} delta Delta from previous zoom level.\n * @param {import(\"../coordinate.js\").Coordinate} [opt_anchor] Anchor coordinate in the user projection.\n * @param {number} [opt_duration] Duration.\n */\nexport function zoomByDelta(view, delta, opt_anchor, opt_duration) {\n var currentZoom = view.getZoom();\n if (currentZoom === undefined) {\n return;\n }\n var newZoom = view.getConstrainedZoom(currentZoom + delta);\n var newResolution = view.getResolutionForZoom(newZoom);\n if (view.getAnimating()) {\n view.cancelAnimations();\n }\n view.animate({\n resolution: newResolution,\n anchor: opt_anchor,\n duration: opt_duration !== undefined ? opt_duration : 250,\n easing: easeOut,\n });\n}\nexport default Interaction;\n//# sourceMappingURL=Interaction.js.map","/**\r\n * DevExtreme (esm/core/utils/svg.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"./window\";\r\nimport $ from \"../../core/renderer\";\r\nvar window = getWindow();\r\n\r\nfunction getMarkup(element, backgroundColor) {\r\n var temp = domAdapter.createElement(\"div\");\r\n var clone = element.cloneNode(true);\r\n if (backgroundColor) {\r\n $(clone).css(\"backgroundColor\", backgroundColor)\r\n }\r\n temp.appendChild(clone);\r\n return temp.innerHTML\r\n}\r\n\r\nfunction fixNamespaces(markup) {\r\n var first = true;\r\n if (-1 === markup.indexOf(\"xmlns:xlink\")) {\r\n markup = markup.replace(\" 1) {\r\n for (j = 1; j < curSeg.length; j++) {\r\n seg.push(easing(progress, curSeg[j], to[i][j]))\r\n }\r\n }\r\n segments.push(seg)\r\n }\r\n currentParams.segments = params.end && 1 === progress ? params.end : segments;\r\n elem.attr({\r\n segments: segments\r\n })\r\n },\r\n arc: function(elem, params, progress, easing) {\r\n var from = params.from;\r\n var to = params.to;\r\n var current = {};\r\n for (var i in from) {\r\n current[i] = easing(progress, from[i], to[i])\r\n }\r\n elem.attr(current)\r\n },\r\n transform: function(elem, params, progress, easing, currentParams) {\r\n var from = params.from;\r\n var to = params.to;\r\n var current = {};\r\n for (var i in from) {\r\n current[i] = currentParams[i] = easing(progress, from[i], to[i])\r\n }\r\n elem.attr(current)\r\n },\r\n base: function(elem, params, progress, easing, currentParams, attributeName) {\r\n var obj = {};\r\n obj[attributeName] = currentParams[attributeName] = easing(progress, params.from, params.to);\r\n elem.attr(obj)\r\n },\r\n _: noop,\r\n complete: function(element, currentSettings) {\r\n element.attr(currentSettings)\r\n }\r\n};\r\n\r\nfunction step(now) {\r\n var animateStep = this._animateStep;\r\n var attrName;\r\n this._progress = this._calcProgress(now);\r\n for (attrName in this.params) {\r\n var anim = animateStep[attrName] || animateStep.base;\r\n anim(this.element, this.params[attrName], this._progress, this._easing, this._currentParams, attrName)\r\n }\r\n this.options.step && this.options.step(this._easing(this._progress, 0, 1), this._progress);\r\n if (1 === this._progress) {\r\n return this.stop()\r\n }\r\n return true\r\n}\r\n\r\nfunction delayTick(now) {\r\n if (now - this._startTime >= this.delay) {\r\n this.tick = step\r\n }\r\n return true\r\n}\r\n\r\nfunction start(now) {\r\n this._startTime = now;\r\n this.tick = this.delay ? delayTick : step;\r\n return true\r\n}\r\n\r\nfunction Animation(element, params, options) {\r\n this._progress = 0;\r\n this.element = element;\r\n this.params = params;\r\n this.options = options;\r\n this.duration = options.partitionDuration ? options.duration * options.partitionDuration : options.duration;\r\n this.delay = options.delay && options.duration * options.delay || 0;\r\n this._animateStep = options.animateStep || animationSvgStep;\r\n this._easing = easingFunctions[options.easing] || easingFunctions.easeOutCubic;\r\n this._currentParams = {};\r\n this.tick = start\r\n}\r\nAnimation.prototype = {\r\n _calcProgress: function(now) {\r\n return Math.min(1, (now - this.delay - this._startTime) / this.duration)\r\n },\r\n stop: function(disableComplete) {\r\n var options = this.options;\r\n var animateStep = this._animateStep;\r\n this.stop = this.tick = noop;\r\n animateStep.complete && animateStep.complete(this.element, this._currentParams);\r\n options.complete && !disableComplete && options.complete()\r\n }\r\n};\r\nexport function AnimationController(element) {\r\n this._animationCount = 0;\r\n this._timerId = null;\r\n this._animations = {};\r\n this.element = element\r\n}\r\nAnimationController.prototype = {\r\n _loop: function() {\r\n var that = this;\r\n var animations = that._animations;\r\n var activeAnimation = 0;\r\n var now = (new Date).getTime();\r\n var an;\r\n var endAnimation = that._endAnimation;\r\n for (an in animations) {\r\n if (!animations[an].tick(now)) {\r\n delete animations[an]\r\n }\r\n activeAnimation++\r\n }\r\n if (0 === activeAnimation) {\r\n that.stop();\r\n that._endAnimationTimer = endAnimation && setTimeout((function() {\r\n if (0 === that._animationCount) {\r\n endAnimation();\r\n that._endAnimation = null\r\n }\r\n }));\r\n return\r\n }\r\n that._timerId = requestAnimationFrame.call(null, (function() {\r\n that._loop()\r\n }), that.element)\r\n },\r\n addAnimation: function(animation) {\r\n var that = this;\r\n that._animations[that._animationCount++] = animation;\r\n clearTimeout(that._endAnimationTimer);\r\n if (!that._timerId) {\r\n clearTimeout(that._startDelay);\r\n that._startDelay = setTimeout((function() {\r\n that._timerId = 1;\r\n that._loop()\r\n }), 0)\r\n }\r\n },\r\n animateElement: function(elem, params, options) {\r\n if (elem && params && options) {\r\n elem.animation && elem.animation.stop();\r\n this.addAnimation(elem.animation = new Animation(elem, params, options))\r\n }\r\n },\r\n onEndAnimation: function(endAnimation) {\r\n this._animationCount ? this._endAnimation = endAnimation : endAnimation()\r\n },\r\n dispose: function() {\r\n this.stop();\r\n this.element = null\r\n },\r\n stop: function() {\r\n this._animations = {};\r\n this._animationCount = 0;\r\n cancelAnimationFrame(this._timerId);\r\n clearTimeout(this._startDelay);\r\n clearTimeout(this._endAnimationTimer);\r\n this._timerId = null\r\n },\r\n lock: function() {\r\n var an;\r\n var animations = this._animations;\r\n var unstoppable;\r\n var hasUnstoppableInAnimations;\r\n for (an in animations) {\r\n unstoppable = animations[an].options.unstoppable;\r\n hasUnstoppableInAnimations = hasUnstoppableInAnimations || unstoppable;\r\n if (!unstoppable) {\r\n animations[an].stop(true);\r\n delete animations[an]\r\n }\r\n }!hasUnstoppableInAnimations && this.stop()\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/color.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar standardColorNames = {\r\n aliceblue: \"f0f8ff\",\r\n antiquewhite: \"faebd7\",\r\n aqua: \"00ffff\",\r\n aquamarine: \"7fffd4\",\r\n azure: \"f0ffff\",\r\n beige: \"f5f5dc\",\r\n bisque: \"ffe4c4\",\r\n black: \"000000\",\r\n blanchedalmond: \"ffebcd\",\r\n blue: \"0000ff\",\r\n blueviolet: \"8a2be2\",\r\n brown: \"a52a2a\",\r\n burlywood: \"deb887\",\r\n cadetblue: \"5f9ea0\",\r\n chartreuse: \"7fff00\",\r\n chocolate: \"d2691e\",\r\n coral: \"ff7f50\",\r\n cornflowerblue: \"6495ed\",\r\n cornsilk: \"fff8dc\",\r\n crimson: \"dc143c\",\r\n cyan: \"00ffff\",\r\n darkblue: \"00008b\",\r\n darkcyan: \"008b8b\",\r\n darkgoldenrod: \"b8860b\",\r\n darkgray: \"a9a9a9\",\r\n darkgreen: \"006400\",\r\n darkgrey: \"a9a9a9\",\r\n darkkhaki: \"bdb76b\",\r\n darkmagenta: \"8b008b\",\r\n darkolivegreen: \"556b2f\",\r\n darkorange: \"ff8c00\",\r\n darkorchid: \"9932cc\",\r\n darkred: \"8b0000\",\r\n darksalmon: \"e9967a\",\r\n darkseagreen: \"8fbc8f\",\r\n darkslateblue: \"483d8b\",\r\n darkslategray: \"2f4f4f\",\r\n darkslategrey: \"2f4f4f\",\r\n darkturquoise: \"00ced1\",\r\n darkviolet: \"9400d3\",\r\n deeppink: \"ff1493\",\r\n deepskyblue: \"00bfff\",\r\n dimgray: \"696969\",\r\n dimgrey: \"696969\",\r\n dodgerblue: \"1e90ff\",\r\n feldspar: \"d19275\",\r\n firebrick: \"b22222\",\r\n floralwhite: \"fffaf0\",\r\n forestgreen: \"228b22\",\r\n fuchsia: \"ff00ff\",\r\n gainsboro: \"dcdcdc\",\r\n ghostwhite: \"f8f8ff\",\r\n gold: \"ffd700\",\r\n goldenrod: \"daa520\",\r\n gray: \"808080\",\r\n green: \"008000\",\r\n greenyellow: \"adff2f\",\r\n grey: \"808080\",\r\n honeydew: \"f0fff0\",\r\n hotpink: \"ff69b4\",\r\n indianred: \"cd5c5c\",\r\n indigo: \"4b0082\",\r\n ivory: \"fffff0\",\r\n khaki: \"f0e68c\",\r\n lavender: \"e6e6fa\",\r\n lavenderblush: \"fff0f5\",\r\n lawngreen: \"7cfc00\",\r\n lemonchiffon: \"fffacd\",\r\n lightblue: \"add8e6\",\r\n lightcoral: \"f08080\",\r\n lightcyan: \"e0ffff\",\r\n lightgoldenrodyellow: \"fafad2\",\r\n lightgray: \"d3d3d3\",\r\n lightgreen: \"90ee90\",\r\n lightgrey: \"d3d3d3\",\r\n lightpink: \"ffb6c1\",\r\n lightsalmon: \"ffa07a\",\r\n lightseagreen: \"20b2aa\",\r\n lightskyblue: \"87cefa\",\r\n lightslateblue: \"8470ff\",\r\n lightslategray: \"778899\",\r\n lightslategrey: \"778899\",\r\n lightsteelblue: \"b0c4de\",\r\n lightyellow: \"ffffe0\",\r\n lime: \"00ff00\",\r\n limegreen: \"32cd32\",\r\n linen: \"faf0e6\",\r\n magenta: \"ff00ff\",\r\n maroon: \"800000\",\r\n mediumaquamarine: \"66cdaa\",\r\n mediumblue: \"0000cd\",\r\n mediumorchid: \"ba55d3\",\r\n mediumpurple: \"9370d8\",\r\n mediumseagreen: \"3cb371\",\r\n mediumslateblue: \"7b68ee\",\r\n mediumspringgreen: \"00fa9a\",\r\n mediumturquoise: \"48d1cc\",\r\n mediumvioletred: \"c71585\",\r\n midnightblue: \"191970\",\r\n mintcream: \"f5fffa\",\r\n mistyrose: \"ffe4e1\",\r\n moccasin: \"ffe4b5\",\r\n navajowhite: \"ffdead\",\r\n navy: \"000080\",\r\n oldlace: \"fdf5e6\",\r\n olive: \"808000\",\r\n olivedrab: \"6b8e23\",\r\n orange: \"ffa500\",\r\n orangered: \"ff4500\",\r\n orchid: \"da70d6\",\r\n palegoldenrod: \"eee8aa\",\r\n palegreen: \"98fb98\",\r\n paleturquoise: \"afeeee\",\r\n palevioletred: \"d87093\",\r\n papayawhip: \"ffefd5\",\r\n peachpuff: \"ffdab9\",\r\n peru: \"cd853f\",\r\n pink: \"ffc0cb\",\r\n plum: \"dda0dd\",\r\n powderblue: \"b0e0e6\",\r\n purple: \"800080\",\r\n rebeccapurple: \"663399\",\r\n red: \"ff0000\",\r\n rosybrown: \"bc8f8f\",\r\n royalblue: \"4169e1\",\r\n saddlebrown: \"8b4513\",\r\n salmon: \"fa8072\",\r\n sandybrown: \"f4a460\",\r\n seagreen: \"2e8b57\",\r\n seashell: \"fff5ee\",\r\n sienna: \"a0522d\",\r\n silver: \"c0c0c0\",\r\n skyblue: \"87ceeb\",\r\n slateblue: \"6a5acd\",\r\n slategray: \"708090\",\r\n slategrey: \"708090\",\r\n snow: \"fffafa\",\r\n springgreen: \"00ff7f\",\r\n steelblue: \"4682b4\",\r\n tan: \"d2b48c\",\r\n teal: \"008080\",\r\n thistle: \"d8bfd8\",\r\n tomato: \"ff6347\",\r\n turquoise: \"40e0d0\",\r\n violet: \"ee82ee\",\r\n violetred: \"d02090\",\r\n wheat: \"f5deb3\",\r\n white: \"ffffff\",\r\n whitesmoke: \"f5f5f5\",\r\n yellow: \"ffff00\",\r\n yellowgreen: \"9acd32\"\r\n};\r\nvar standardColorTypes = [{\r\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 10), parseInt(colorString[2], 10), parseInt(colorString[3], 10)]\r\n }\r\n}, {\r\n re: /^rgba\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d*\\.*\\d+)\\)$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 10), parseInt(colorString[2], 10), parseInt(colorString[3], 10), parseFloat(colorString[4])]\r\n }\r\n}, {\r\n re: /^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 16), parseInt(colorString[2], 16), parseInt(colorString[3], 16)]\r\n }\r\n}, {\r\n re: /^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1], 16), parseInt(colorString[2], 16), parseInt(colorString[3], 16), Number((parseInt(colorString[4], 16) / 255).toFixed(2))]\r\n }\r\n}, {\r\n re: /^#([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1] + colorString[1], 16), parseInt(colorString[2] + colorString[2], 16), parseInt(colorString[3] + colorString[3], 16), Number((parseInt(colorString[4] + colorString[4], 16) / 255).toFixed(2))]\r\n }\r\n}, {\r\n re: /^#([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})$/,\r\n process: function(colorString) {\r\n return [parseInt(colorString[1] + colorString[1], 16), parseInt(colorString[2] + colorString[2], 16), parseInt(colorString[3] + colorString[3], 16)]\r\n }\r\n}, {\r\n re: /^hsv\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n process: function(colorString) {\r\n var h = parseInt(colorString[1], 10);\r\n var s = parseInt(colorString[2], 10);\r\n var v = parseInt(colorString[3], 10);\r\n var rgb = hsvToRgb(h, s, v);\r\n return [rgb[0], rgb[1], rgb[2], 1, [h, s, v]]\r\n }\r\n}, {\r\n re: /^hsl\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\r\n process: function(colorString) {\r\n var h = parseInt(colorString[1], 10);\r\n var s = parseInt(colorString[2], 10);\r\n var l = parseInt(colorString[3], 10);\r\n var rgb = hslToRgb(h, s, l);\r\n return [rgb[0], rgb[1], rgb[2], 1, null, [h, s, l]]\r\n }\r\n}];\r\nvar _round = Math.round;\r\n\r\nfunction Color(value) {\r\n this.baseColor = value;\r\n var color;\r\n if (value) {\r\n color = String(value).toLowerCase().replace(/ /g, \"\");\r\n color = standardColorNames[color] ? \"#\" + standardColorNames[color] : color;\r\n color = parseColor(color)\r\n }\r\n if (!color) {\r\n this.colorIsInvalid = true\r\n }\r\n color = color || {};\r\n this.r = normalize(color[0]);\r\n this.g = normalize(color[1]);\r\n this.b = normalize(color[2]);\r\n this.a = normalize(color[3], 1, 1);\r\n if (color[4]) {\r\n this.hsv = {\r\n h: color[4][0],\r\n s: color[4][1],\r\n v: color[4][2]\r\n }\r\n } else {\r\n this.hsv = toHsvFromRgb(this.r, this.g, this.b)\r\n }\r\n if (color[5]) {\r\n this.hsl = {\r\n h: color[5][0],\r\n s: color[5][1],\r\n l: color[5][2]\r\n }\r\n } else {\r\n this.hsl = toHslFromRgb(this.r, this.g, this.b)\r\n }\r\n}\r\n\r\nfunction parseColor(color) {\r\n if (\"transparent\" === color) {\r\n return [0, 0, 0, 0]\r\n }\r\n var i = 0;\r\n var ii = standardColorTypes.length;\r\n var str;\r\n for (; i < ii; ++i) {\r\n str = standardColorTypes[i].re.exec(color);\r\n if (str) {\r\n return standardColorTypes[i].process(str)\r\n }\r\n }\r\n return null\r\n}\r\n\r\nfunction normalize(colorComponent, def, max) {\r\n def = def || 0;\r\n max = max || 255;\r\n return colorComponent < 0 || isNaN(colorComponent) ? def : colorComponent > max ? max : colorComponent\r\n}\r\n\r\nfunction toHexFromRgb(r, g, b) {\r\n return \"#\" + (16777216 | r << 16 | g << 8 | b).toString(16).slice(1)\r\n}\r\n\r\nfunction toHsvFromRgb(r, g, b) {\r\n var max = Math.max(r, g, b);\r\n var min = Math.min(r, g, b);\r\n var delta = max - min;\r\n var H;\r\n var S;\r\n var V = max;\r\n S = 0 === max ? 0 : 1 - min / max;\r\n if (max === min) {\r\n H = 0\r\n } else {\r\n switch (max) {\r\n case r:\r\n H = (g - b) / delta * 60;\r\n if (g < b) {\r\n H += 360\r\n }\r\n break;\r\n case g:\r\n H = (b - r) / delta * 60 + 120;\r\n break;\r\n case b:\r\n H = (r - g) / delta * 60 + 240\r\n }\r\n }\r\n S *= 100;\r\n V *= 100 / 255;\r\n return {\r\n h: Math.round(H),\r\n s: Math.round(S),\r\n v: Math.round(V)\r\n }\r\n}\r\n\r\nfunction hsvToRgb(h, s, v) {\r\n var index = Math.floor(h % 360 / 60);\r\n var vMin = (100 - s) * v / 100;\r\n var a = h % 60 / 60 * (v - vMin);\r\n var vInc = vMin + a;\r\n var vDec = v - a;\r\n var r;\r\n var g;\r\n var b;\r\n switch (index) {\r\n case 0:\r\n r = v;\r\n g = vInc;\r\n b = vMin;\r\n break;\r\n case 1:\r\n r = vDec;\r\n g = v;\r\n b = vMin;\r\n break;\r\n case 2:\r\n r = vMin;\r\n g = v;\r\n b = vInc;\r\n break;\r\n case 3:\r\n r = vMin;\r\n g = vDec;\r\n b = v;\r\n break;\r\n case 4:\r\n r = vInc;\r\n g = vMin;\r\n b = v;\r\n break;\r\n case 5:\r\n r = v;\r\n g = vMin;\r\n b = vDec\r\n }\r\n return [Math.round(2.55 * r), Math.round(2.55 * g), Math.round(2.55 * b)]\r\n}\r\n\r\nfunction calculateHue(r, g, b, delta) {\r\n var max = Math.max(r, g, b);\r\n switch (max) {\r\n case r:\r\n return (g - b) / delta + (g < b ? 6 : 0);\r\n case g:\r\n return (b - r) / delta + 2;\r\n case b:\r\n return (r - g) / delta + 4\r\n }\r\n}\r\n\r\nfunction toHslFromRgb(r, g, b) {\r\n r = convertTo01Bounds(r, 255);\r\n g = convertTo01Bounds(g, 255);\r\n b = convertTo01Bounds(b, 255);\r\n var max = Math.max(r, g, b);\r\n var min = Math.min(r, g, b);\r\n var maxMinSum = max + min;\r\n var h;\r\n var s;\r\n var l = maxMinSum / 2;\r\n if (max === min) {\r\n h = s = 0\r\n } else {\r\n var delta = max - min;\r\n if (l > .5) {\r\n s = delta / (2 - maxMinSum)\r\n } else {\r\n s = delta / maxMinSum\r\n }\r\n h = calculateHue(r, g, b, delta);\r\n h /= 6\r\n }\r\n return {\r\n h: _round(360 * h),\r\n s: _round(100 * s),\r\n l: _round(100 * l)\r\n }\r\n}\r\n\r\nfunction makeColorTint(colorPart, h) {\r\n var colorTint = h;\r\n if (\"r\" === colorPart) {\r\n colorTint = h + 1 / 3\r\n }\r\n if (\"b\" === colorPart) {\r\n colorTint = h - 1 / 3\r\n }\r\n return colorTint\r\n}\r\n\r\nfunction modifyColorTint(colorTint) {\r\n if (colorTint < 0) {\r\n colorTint += 1\r\n }\r\n if (colorTint > 1) {\r\n colorTint -= 1\r\n }\r\n return colorTint\r\n}\r\n\r\nfunction hueToRgb(p, q, colorTint) {\r\n colorTint = modifyColorTint(colorTint);\r\n if (colorTint < 1 / 6) {\r\n return p + 6 * (q - p) * colorTint\r\n }\r\n if (colorTint < .5) {\r\n return q\r\n }\r\n if (colorTint < 2 / 3) {\r\n return p + (q - p) * (2 / 3 - colorTint) * 6\r\n }\r\n return p\r\n}\r\n\r\nfunction hslToRgb(h, s, l) {\r\n var r;\r\n var g;\r\n var b;\r\n h = convertTo01Bounds(h, 360);\r\n s = convertTo01Bounds(s, 100);\r\n l = convertTo01Bounds(l, 100);\r\n if (0 === s) {\r\n r = g = b = l\r\n } else {\r\n var q = l < .5 ? l * (1 + s) : l + s - l * s;\r\n var p = 2 * l - q;\r\n r = hueToRgb(p, q, makeColorTint(\"r\", h));\r\n g = hueToRgb(p, q, makeColorTint(\"g\", h));\r\n b = hueToRgb(p, q, makeColorTint(\"b\", h))\r\n }\r\n return [_round(255 * r), _round(255 * g), _round(255 * b)]\r\n}\r\n\r\nfunction convertTo01Bounds(n, max) {\r\n n = Math.min(max, Math.max(0, parseFloat(n)));\r\n if (Math.abs(n - max) < 1e-6) {\r\n return 1\r\n }\r\n return n % max / parseFloat(max)\r\n}\r\n\r\nfunction isIntegerBetweenMinAndMax(number, min, max) {\r\n min = min || 0;\r\n max = max || 255;\r\n if (number % 1 !== 0 || number < min || number > max || \"number\" !== typeof number || isNaN(number)) {\r\n return false\r\n }\r\n return true\r\n}\r\nColor.prototype = {\r\n constructor: Color,\r\n highlight: function(step) {\r\n step = step || 10;\r\n return this.alter(step).toHex()\r\n },\r\n darken: function(step) {\r\n step = step || 10;\r\n return this.alter(-step).toHex()\r\n },\r\n alter: function(step) {\r\n var result = new Color;\r\n result.r = normalize(this.r + step);\r\n result.g = normalize(this.g + step);\r\n result.b = normalize(this.b + step);\r\n return result\r\n },\r\n blend: function(blendColor, opacity) {\r\n var other = blendColor instanceof Color ? blendColor : new Color(blendColor);\r\n var result = new Color;\r\n result.r = normalize(_round(this.r * (1 - opacity) + other.r * opacity));\r\n result.g = normalize(_round(this.g * (1 - opacity) + other.g * opacity));\r\n result.b = normalize(_round(this.b * (1 - opacity) + other.b * opacity));\r\n return result\r\n },\r\n toHex: function() {\r\n return toHexFromRgb(this.r, this.g, this.b)\r\n },\r\n getPureColor: function() {\r\n var rgb = hsvToRgb(this.hsv.h, 100, 100);\r\n return new Color(\"rgb(\" + rgb.join(\",\") + \")\")\r\n },\r\n isValidHex: function(hex) {\r\n return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(hex)\r\n },\r\n isValidRGB: function(r, g, b) {\r\n if (!isIntegerBetweenMinAndMax(r) || !isIntegerBetweenMinAndMax(g) || !isIntegerBetweenMinAndMax(b)) {\r\n return false\r\n }\r\n return true\r\n },\r\n isValidAlpha: function(a) {\r\n if (isNaN(a) || a < 0 || a > 1 || \"number\" !== typeof a) {\r\n return false\r\n }\r\n return true\r\n },\r\n colorIsInvalid: false,\r\n fromHSL: function(hsl) {\r\n var color = new Color;\r\n var rgb = hslToRgb(hsl.h, hsl.s, hsl.l);\r\n color.r = rgb[0];\r\n color.g = rgb[1];\r\n color.b = rgb[2];\r\n return color\r\n }\r\n};\r\nexport default Color;\r\n","/**\r\n * DevExtreme (esm/viz/core/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isNumeric,\r\n isExponential,\r\n isFunction,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n adjust,\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport Color from \"../../color\";\r\nvar {\r\n PI: PI,\r\n LN10: LN10,\r\n abs: abs,\r\n log: log,\r\n floor: floor,\r\n ceil: ceil,\r\n pow: pow,\r\n sqrt: sqrt,\r\n atan2: atan2\r\n} = Math;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _cos = Math.cos;\r\nvar _sin = Math.sin;\r\nvar _round = Math.round;\r\nvar dateToMilliseconds = dateUtils.dateToMilliseconds;\r\nvar MAX_PIXEL_COUNT = 1e10;\r\nvar PI_DIV_180 = PI / 180;\r\nvar _isNaN = isNaN;\r\nvar _Number = Number;\r\nvar _NaN = NaN;\r\nvar numDefsSvgElements = 1;\r\nexport var PANE_PADDING = 10;\r\nexport var getLog = function(value, base) {\r\n if (!value) {\r\n return _NaN\r\n }\r\n return log(value) / log(base)\r\n};\r\nexport var getAdjustedLog10 = function(value) {\r\n return adjust(getLog(value, 10))\r\n};\r\nexport var raiseTo = function(power, base) {\r\n return pow(base, power)\r\n};\r\nexport var normalizeAngle = function(angle) {\r\n return (angle % 360 + 360) % 360\r\n};\r\nexport var convertAngleToRendererSpace = function(angle) {\r\n return 90 - angle\r\n};\r\nexport var degreesToRadians = function(value) {\r\n return PI * value / 180\r\n};\r\nexport var getCosAndSin = function(angle) {\r\n var angleInRadians = degreesToRadians(angle);\r\n return {\r\n cos: _cos(angleInRadians),\r\n sin: _sin(angleInRadians)\r\n }\r\n};\r\nvar DECIMAL_ORDER_THRESHOLD = 1e-14;\r\nexport var getDistance = function(x1, y1, x2, y2) {\r\n var diffX = x2 - x1;\r\n var diffY = y2 - y1;\r\n return sqrt(diffY * diffY + diffX * diffX)\r\n};\r\nexport var getDecimalOrder = function(number) {\r\n var n = abs(number);\r\n var cn;\r\n if (!_isNaN(n)) {\r\n if (n > 0) {\r\n n = log(n) / LN10;\r\n cn = ceil(n);\r\n return cn - n < DECIMAL_ORDER_THRESHOLD ? cn : floor(n)\r\n }\r\n return 0\r\n }\r\n return _NaN\r\n};\r\nexport var getAppropriateFormat = function(start, end, count) {\r\n var order = _max(getDecimalOrder(start), getDecimalOrder(end));\r\n var precision = -getDecimalOrder(abs(end - start) / count);\r\n var format;\r\n if (!_isNaN(order) && !_isNaN(precision)) {\r\n if (abs(order) <= 4) {\r\n format = \"fixedPoint\";\r\n precision < 0 && (precision = 0);\r\n precision > 4 && (precision = 4)\r\n } else {\r\n format = \"exponential\";\r\n precision += order - 1;\r\n precision > 3 && (precision = 3)\r\n }\r\n return {\r\n type: format,\r\n precision: precision\r\n }\r\n }\r\n return null\r\n};\r\nexport var roundValue = function(value, precision) {\r\n if (precision > 20) {\r\n precision = 20\r\n }\r\n if (isNumeric(value)) {\r\n if (isExponential(value)) {\r\n return _Number(value.toExponential(precision))\r\n } else {\r\n return _Number(value.toFixed(precision))\r\n }\r\n }\r\n};\r\nexport var getPower = function(value) {\r\n return value.toExponential().split(\"e\")[1]\r\n};\r\nexport function map(array, callback) {\r\n var i = 0;\r\n var len = array.length;\r\n var result = [];\r\n var value;\r\n while (i < len) {\r\n value = callback(array[i], i);\r\n if (null !== value) {\r\n result.push(value)\r\n }\r\n i++\r\n }\r\n return result\r\n}\r\n\r\nfunction selectByKeys(object, keys) {\r\n return map(keys, key => object[key] ? object[key] : null)\r\n}\r\n\r\nfunction decreaseFields(object, keys, eachDecrease, decrease) {\r\n var dec = decrease;\r\n each(keys, (_, key) => {\r\n if (object[key]) {\r\n object[key] -= eachDecrease;\r\n dec -= eachDecrease\r\n }\r\n });\r\n return dec\r\n}\r\nexport function normalizeEnum(value) {\r\n return String(value).toLowerCase()\r\n}\r\nexport function setCanvasValues(canvas) {\r\n if (canvas) {\r\n canvas.originalTop = canvas.top;\r\n canvas.originalBottom = canvas.bottom;\r\n canvas.originalLeft = canvas.left;\r\n canvas.originalRight = canvas.right\r\n }\r\n return canvas\r\n}\r\n\r\nfunction normalizeBBoxField(value) {\r\n return -MAX_PIXEL_COUNT < value && value < +MAX_PIXEL_COUNT ? value : 0\r\n}\r\nexport function normalizeBBox(bBox) {\r\n var xl = normalizeBBoxField(floor(bBox.x));\r\n var yt = normalizeBBoxField(floor(bBox.y));\r\n var xr = normalizeBBoxField(ceil(bBox.width + bBox.x));\r\n var yb = normalizeBBoxField(ceil(bBox.height + bBox.y));\r\n var result = {\r\n x: xl,\r\n y: yt,\r\n width: xr - xl,\r\n height: yb - yt\r\n };\r\n result.isEmpty = !result.x && !result.y && !result.width && !result.height;\r\n return result\r\n}\r\nexport function rotateBBox(bBox, center, angle) {\r\n var cos = _Number(_cos(angle * PI_DIV_180).toFixed(3));\r\n var sin = _Number(_sin(angle * PI_DIV_180).toFixed(3));\r\n var w2 = bBox.width / 2;\r\n var h2 = bBox.height / 2;\r\n var centerX = bBox.x + w2;\r\n var centerY = bBox.y + h2;\r\n var w2_ = abs(w2 * cos) + abs(h2 * sin);\r\n var h2_ = abs(w2 * sin) + abs(h2 * cos);\r\n var centerX_ = center[0] + (centerX - center[0]) * cos + (centerY - center[1]) * sin;\r\n var centerY_ = center[1] - (centerX - center[0]) * sin + (centerY - center[1]) * cos;\r\n return normalizeBBox({\r\n x: centerX_ - w2_,\r\n y: centerY_ - h2_,\r\n width: 2 * w2_,\r\n height: 2 * h2_\r\n })\r\n}\r\nexport var decreaseGaps = function(object, keys, decrease) {\r\n var arrayGaps;\r\n do {\r\n arrayGaps = selectByKeys(object, keys);\r\n arrayGaps.push(ceil(decrease / arrayGaps.length));\r\n decrease = decreaseFields(object, keys, _min.apply(null, arrayGaps), decrease)\r\n } while (decrease > 0 && arrayGaps.length > 1);\r\n return decrease\r\n};\r\nexport var parseScalar = function(value, defaultValue) {\r\n return void 0 !== value ? value : defaultValue\r\n};\r\nexport var enumParser = function(values) {\r\n var stored = {};\r\n var i;\r\n var ii;\r\n for (i = 0, ii = values.length; i < ii; ++i) {\r\n stored[normalizeEnum(values[i])] = 1\r\n }\r\n return function(value, defaultValue) {\r\n var _value = normalizeEnum(value);\r\n return stored[_value] ? _value : defaultValue\r\n }\r\n};\r\nexport var patchFontOptions = function(options) {\r\n var fontOptions = {};\r\n each(options || {}, (function(key, value) {\r\n if (/^(cursor)$/i.test(key)) {} else if (\"opacity\" === key) {\r\n value = null\r\n } else if (\"color\" === key) {\r\n key = \"fill\";\r\n if (\"opacity\" in options) {\r\n var color = new Color(value);\r\n value = \"rgba(\".concat(color.r, \",\").concat(color.g, \",\").concat(color.b, \",\").concat(options.opacity, \")\")\r\n }\r\n } else {\r\n key = \"font-\" + key\r\n }\r\n fontOptions[key] = value\r\n }));\r\n return fontOptions\r\n};\r\nexport function convertPolarToXY(centerCoords, startAngle, angle, radius) {\r\n var normalizedRadius = radius > 0 ? radius : 0;\r\n angle = isDefined(angle) ? angle + startAngle - 90 : 0;\r\n var cosSin = getCosAndSin(angle);\r\n return {\r\n x: _round(centerCoords.x + normalizedRadius * cosSin.cos),\r\n y: _round(centerCoords.y + normalizedRadius * cosSin.sin)\r\n }\r\n}\r\nexport var convertXYToPolar = function(centerCoords, x, y) {\r\n var radius = getDistance(centerCoords.x, centerCoords.y, x, y);\r\n var angle = atan2(y - centerCoords.y, x - centerCoords.x);\r\n return {\r\n phi: _round(normalizeAngle(180 * angle / PI)),\r\n r: _round(radius)\r\n }\r\n};\r\nexport var processSeriesTemplate = function(seriesTemplate, items) {\r\n var customizeSeries = isFunction(seriesTemplate.customizeSeries) ? seriesTemplate.customizeSeries : noop;\r\n var nameField = seriesTemplate.nameField;\r\n var generatedSeries = {};\r\n var seriesOrder = [];\r\n var series;\r\n var i = 0;\r\n var length;\r\n var data;\r\n items = items || [];\r\n for (length = items.length; i < length; i++) {\r\n data = items[i];\r\n if (nameField in data) {\r\n series = generatedSeries[data[nameField]];\r\n if (!series) {\r\n series = generatedSeries[data[nameField]] = {\r\n name: data[nameField],\r\n nameFieldValue: data[nameField]\r\n };\r\n seriesOrder.push(series.name)\r\n }\r\n }\r\n }\r\n return map(seriesOrder, (function(orderedName) {\r\n var group = generatedSeries[orderedName];\r\n return extend(group, customizeSeries.call(null, group.name))\r\n }))\r\n};\r\nexport var getCategoriesInfo = function(categories, startValue, endValue) {\r\n if (0 === categories.length) {\r\n return {\r\n categories: []\r\n }\r\n }\r\n startValue = isDefined(startValue) ? startValue : categories[0];\r\n endValue = isDefined(endValue) ? endValue : categories[categories.length - 1];\r\n var categoriesValue = map(categories, category => null === category || void 0 === category ? void 0 : category.valueOf());\r\n var indexStartValue = categoriesValue.indexOf(startValue.valueOf());\r\n var indexEndValue = categoriesValue.indexOf(endValue.valueOf());\r\n var swapBuf;\r\n var inverted = false;\r\n indexStartValue < 0 && (indexStartValue = 0);\r\n indexEndValue < 0 && (indexEndValue = categories.length - 1);\r\n if (indexEndValue < indexStartValue) {\r\n swapBuf = indexEndValue;\r\n indexEndValue = indexStartValue;\r\n indexStartValue = swapBuf;\r\n inverted = true\r\n }\r\n var visibleCategories = categories.slice(indexStartValue, indexEndValue + 1);\r\n var lastIdx = visibleCategories.length - 1;\r\n return {\r\n categories: visibleCategories,\r\n start: visibleCategories[inverted ? lastIdx : 0],\r\n end: visibleCategories[inverted ? 0 : lastIdx],\r\n inverted: inverted\r\n }\r\n};\r\nexport function isRelativeHeightPane(pane) {\r\n return !(pane.unit % 2)\r\n}\r\nexport function normalizePanesHeight(panes) {\r\n panes.forEach(pane => {\r\n var height = pane.height;\r\n var unit = 0;\r\n var parsedHeight = parseFloat(height) || void 0;\r\n if (isString(height) && height.indexOf(\"px\") > -1 || isNumeric(height) && height > 1) {\r\n parsedHeight = _round(parsedHeight);\r\n unit = 1\r\n }\r\n if (!unit && parsedHeight) {\r\n if (isString(height) && height.indexOf(\"%\") > -1) {\r\n parsedHeight /= 100;\r\n unit = 2\r\n } else if (parsedHeight < 0) {\r\n parsedHeight = parsedHeight < -1 ? 1 : abs(parsedHeight)\r\n }\r\n }\r\n pane.height = parsedHeight;\r\n pane.unit = unit\r\n });\r\n var relativeHeightPanes = panes.filter(isRelativeHeightPane);\r\n var weightSum = relativeHeightPanes.reduce((prev, next) => prev + (next.height || 0), 0);\r\n var weightHeightCount = relativeHeightPanes.length;\r\n var emptyHeightPanes = relativeHeightPanes.filter(pane => !pane.height);\r\n var emptyHeightCount = emptyHeightPanes.length;\r\n if (weightSum < 1 && emptyHeightCount) {\r\n emptyHeightPanes.forEach(pane => pane.height = (1 - weightSum) / emptyHeightCount)\r\n } else if (weightSum > 1 || weightSum < 1 && !emptyHeightCount || 1 === weightSum && emptyHeightCount) {\r\n if (emptyHeightCount) {\r\n var weightForEmpty = weightSum / weightHeightCount;\r\n var emptyWeightSum = emptyHeightCount * weightForEmpty;\r\n relativeHeightPanes.filter(pane => pane.height).forEach(pane => pane.height *= (weightSum - emptyWeightSum) / weightSum);\r\n emptyHeightPanes.forEach(pane => pane.height = weightForEmpty)\r\n }\r\n relativeHeightPanes.forEach(pane => pane.height *= 1 / weightSum)\r\n }\r\n}\r\nexport function updatePanesCanvases(panes, canvas, rotated) {\r\n var distributedSpace = 0;\r\n var padding = PANE_PADDING;\r\n var paneSpace = rotated ? canvas.width - canvas.left - canvas.right : canvas.height - canvas.top - canvas.bottom;\r\n var totalCustomSpace = panes.reduce((prev, cur) => prev + (!isRelativeHeightPane(cur) ? cur.height : 0), 0);\r\n var usefulSpace = paneSpace - padding * (panes.length - 1) - totalCustomSpace;\r\n var startName = rotated ? \"left\" : \"top\";\r\n var endName = rotated ? \"right\" : \"bottom\";\r\n panes.forEach(pane => {\r\n var calcLength = !isRelativeHeightPane(pane) ? pane.height : _round(pane.height * usefulSpace);\r\n pane.canvas = pane.canvas || {};\r\n extend(pane.canvas, canvas);\r\n pane.canvas[startName] = canvas[startName] + distributedSpace;\r\n pane.canvas[endName] = canvas[endName] + (paneSpace - calcLength - distributedSpace);\r\n distributedSpace = distributedSpace + calcLength + padding;\r\n setCanvasValues(pane.canvas)\r\n })\r\n}\r\nexport var unique = function(array) {\r\n var values = {};\r\n return map(array, (function(item) {\r\n var result = !values[item] ? item : null;\r\n values[item] = true;\r\n return result\r\n }))\r\n};\r\nexport var getVerticallyShiftedAngularCoords = function(bBox, dy, center) {\r\n var isPositive = bBox.x + bBox.width / 2 >= center.x;\r\n var horizontalOffset1 = (isPositive ? bBox.x : bBox.x + bBox.width) - center.x;\r\n var verticalOffset1 = bBox.y - center.y;\r\n var verticalOffset2 = verticalOffset1 + dy;\r\n var horizontalOffset2 = _round(sqrt(horizontalOffset1 * horizontalOffset1 + verticalOffset1 * verticalOffset1 - verticalOffset2 * verticalOffset2));\r\n var dx = (isPositive ? +horizontalOffset2 : -horizontalOffset2) || horizontalOffset1;\r\n return {\r\n x: center.x + (isPositive ? dx : dx - bBox.width),\r\n y: bBox.y + dy\r\n }\r\n};\r\nexport function mergeMarginOptions(opt1, opt2) {\r\n return {\r\n checkInterval: opt1.checkInterval || opt2.checkInterval,\r\n size: _max(opt1.size || 0, opt2.size || 0),\r\n percentStick: opt1.percentStick || opt2.percentStick,\r\n sizePointNormalState: _max(opt1.sizePointNormalState || 0, opt2.sizePointNormalState || 0)\r\n }\r\n}\r\nexport function getVizRangeObject(value) {\r\n if (Array.isArray(value)) {\r\n return {\r\n startValue: value[0],\r\n endValue: value[1]\r\n }\r\n } else {\r\n return value || {}\r\n }\r\n}\r\nexport function normalizeArcParams(x, y, innerRadius, outerRadius, startAngle, endAngle) {\r\n var isCircle;\r\n var noArc = true;\r\n var angleDiff = roundValue(endAngle, 3) - roundValue(startAngle, 3);\r\n if (angleDiff) {\r\n if (abs(angleDiff) % 360 === 0) {\r\n startAngle = 0;\r\n endAngle = 360;\r\n isCircle = true;\r\n endAngle -= .01\r\n }\r\n if (startAngle > 360) {\r\n startAngle %= 360\r\n }\r\n if (endAngle > 360) {\r\n endAngle %= 360\r\n }\r\n if (startAngle > endAngle) {\r\n startAngle -= 360\r\n }\r\n noArc = false\r\n }\r\n startAngle *= PI_DIV_180;\r\n endAngle *= PI_DIV_180;\r\n return [x, y, Math.min(outerRadius, innerRadius), Math.max(outerRadius, innerRadius), Math.cos(startAngle), Math.sin(startAngle), Math.cos(endAngle), Math.sin(endAngle), isCircle, floor(abs(endAngle - startAngle) / PI) % 2 ? \"1\" : \"0\", noArc]\r\n}\r\nexport function convertVisualRangeObject(visualRange, convertToVisualRange) {\r\n if (convertToVisualRange) {\r\n return visualRange\r\n }\r\n return [visualRange.startValue, visualRange.endValue]\r\n}\r\nexport function getAddFunction(range, correctZeroLevel) {\r\n if (\"datetime\" === range.dataType) {\r\n return function(rangeValue, marginValue) {\r\n var sign = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1;\r\n return new Date(rangeValue.getTime() + sign * marginValue)\r\n }\r\n }\r\n if (\"logarithmic\" === range.axisType) {\r\n return function(rangeValue, marginValue) {\r\n var sign = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1;\r\n var log = getLogExt(rangeValue, range.base) + sign * marginValue;\r\n return raiseToExt(log, range.base)\r\n }\r\n }\r\n return function(rangeValue, marginValue) {\r\n var sign = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1;\r\n var newValue = rangeValue + sign * marginValue;\r\n return correctZeroLevel && newValue * rangeValue <= 0 ? 0 : newValue\r\n }\r\n}\r\nexport function adjustVisualRange(options, visualRange, wholeRange, dataRange) {\r\n var minDefined = isDefined(visualRange.startValue);\r\n var maxDefined = isDefined(visualRange.endValue);\r\n var nonDiscrete = \"discrete\" !== options.axisType;\r\n dataRange = dataRange || wholeRange;\r\n var add = getAddFunction(options, false);\r\n var min = minDefined ? visualRange.startValue : dataRange.min;\r\n var max = maxDefined ? visualRange.endValue : dataRange.max;\r\n var rangeLength = visualRange.length;\r\n var categories = dataRange.categories;\r\n if (nonDiscrete && !isDefined(min) && !isDefined(max)) {\r\n return {\r\n startValue: min,\r\n endValue: max\r\n }\r\n }\r\n if (isDefined(rangeLength)) {\r\n if (nonDiscrete) {\r\n if (\"datetime\" === options.dataType && !isNumeric(rangeLength)) {\r\n rangeLength = dateToMilliseconds(rangeLength)\r\n }\r\n if (maxDefined && !minDefined || !maxDefined && !minDefined) {\r\n isDefined(wholeRange.max) && (max = max > wholeRange.max ? wholeRange.max : max);\r\n min = add(max, rangeLength, -1)\r\n } else if (minDefined && !maxDefined) {\r\n isDefined(wholeRange.min) && (min = min < wholeRange.min ? wholeRange.min : min);\r\n max = add(min, rangeLength)\r\n }\r\n } else {\r\n rangeLength = parseInt(rangeLength);\r\n if (!isNaN(rangeLength) && isFinite(rangeLength)) {\r\n rangeLength--;\r\n if (!maxDefined && !minDefined) {\r\n max = categories[categories.length - 1];\r\n min = categories[categories.length - 1 - rangeLength]\r\n } else if (minDefined && !maxDefined) {\r\n var categoriesInfo = getCategoriesInfo(categories, min, void 0);\r\n max = categoriesInfo.categories[rangeLength]\r\n } else if (!minDefined && maxDefined) {\r\n var _categoriesInfo = getCategoriesInfo(categories, void 0, max);\r\n min = _categoriesInfo.categories[_categoriesInfo.categories.length - 1 - rangeLength]\r\n }\r\n }\r\n }\r\n }\r\n if (nonDiscrete) {\r\n if (isDefined(wholeRange.max) && max > wholeRange.max) {\r\n max = wholeRange.max\r\n }\r\n if (isDefined(wholeRange.min) && min < wholeRange.min) {\r\n min = wholeRange.min\r\n }\r\n }\r\n return {\r\n startValue: min,\r\n endValue: max\r\n }\r\n}\r\nexport function getLogExt(value, base) {\r\n var allowNegatives = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n var linearThreshold = arguments.length > 3 ? arguments[3] : void 0;\r\n if (!allowNegatives) {\r\n return getLog(value, base)\r\n }\r\n if (0 === value) {\r\n return 0\r\n }\r\n var transformValue = getLog(abs(value), base) - (linearThreshold - 1);\r\n if (transformValue < 0) {\r\n return 0\r\n }\r\n return adjust(sign(value) * transformValue, Number(pow(base, linearThreshold - 1).toFixed(abs(linearThreshold))))\r\n}\r\nexport function raiseToExt(value, base) {\r\n var allowNegatives = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n var linearThreshold = arguments.length > 3 ? arguments[3] : void 0;\r\n if (!allowNegatives) {\r\n return raiseTo(value, base)\r\n }\r\n if (0 === value) {\r\n return 0\r\n }\r\n var transformValue = raiseTo(abs(value) + (linearThreshold - 1), base);\r\n if (transformValue < 0) {\r\n return 0\r\n }\r\n return adjust(sign(value) * transformValue, Number(pow(base, linearThreshold).toFixed(abs(linearThreshold))))\r\n}\r\nexport function rangesAreEqual(range, rangeFromOptions) {\r\n if (Array.isArray(rangeFromOptions)) {\r\n return range.length === rangeFromOptions.length && range.every((item, i) => valueOf(item) === valueOf(rangeFromOptions[i]))\r\n } else {\r\n return valueOf(range.startValue) === valueOf(rangeFromOptions.startValue) && valueOf(range.endValue) === valueOf(rangeFromOptions.endValue)\r\n }\r\n}\r\nexport function valueOf(value) {\r\n return value && value.valueOf()\r\n}\r\nexport function pointInCanvas(canvas, x, y) {\r\n return x >= canvas.left && x <= canvas.right && y >= canvas.top && y <= canvas.bottom\r\n}\r\nexport var getNextDefsSvgId = () => \"DevExpress_\".concat(numDefsSvgElements++);\r\nexport function extractColor(color, isBase) {\r\n if (isString(color) || !color) {\r\n return color\r\n } else if (isBase) {\r\n return color.base\r\n } else {\r\n return color.fillId || color.base\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/core/renderers/renderer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"../../../core/utils/window\";\r\nimport callOnce from \"../../../core/utils/call_once\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n getSvgMarkup\r\n} from \"../../../core/utils/svg\";\r\nimport {\r\n AnimationController\r\n} from \"./animation\";\r\nimport {\r\n normalizeBBox,\r\n rotateBBox,\r\n normalizeEnum,\r\n normalizeArcParams,\r\n getNextDefsSvgId\r\n} from \"../utils\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nvar window = getWindow();\r\nvar {\r\n max: max,\r\n round: round\r\n} = Math;\r\nvar SHARPING_CORRECTION = .5;\r\nvar ARC_COORD_PREC = 5;\r\nvar LIGHTENING_HASH = \"@filter::lightening\";\r\nvar pxAddingExceptions = {\r\n \"column-count\": true,\r\n \"fill-opacity\": true,\r\n \"flex-grow\": true,\r\n \"flex-shrink\": true,\r\n \"font-weight\": true,\r\n \"line-height\": true,\r\n opacity: true,\r\n order: true,\r\n orphans: true,\r\n widows: true,\r\n \"z-index\": true,\r\n zoom: true\r\n};\r\nvar KEY_TEXT = \"text\";\r\nvar KEY_STROKE = \"stroke\";\r\nvar KEY_STROKE_WIDTH = \"stroke-width\";\r\nvar KEY_STROKE_OPACITY = \"stroke-opacity\";\r\nvar KEY_FONT_SIZE = \"font-size\";\r\nvar KEY_FONT_STYLE = \"font-style\";\r\nvar KEY_FONT_WEIGHT = \"font-weight\";\r\nvar KEY_TEXT_DECORATION = \"text-decoration\";\r\nvar KEY_TEXTS_ALIGNMENT = \"textsAlignment\";\r\nvar NONE = \"none\";\r\nvar DEFAULT_FONT_SIZE = 12;\r\nvar ELLIPSIS = \"...\";\r\nvar objectCreate = function() {\r\n if (!Object.create) {\r\n return function(proto) {\r\n var F = function() {};\r\n F.prototype = proto;\r\n return new F\r\n }\r\n } else {\r\n return function(proto) {\r\n return Object.create(proto)\r\n }\r\n }\r\n}();\r\nvar DEFAULTS = {\r\n scaleX: 1,\r\n scaleY: 1,\r\n \"pointer-events\": null\r\n};\r\nvar getBackup = callOnce((function() {\r\n var backupContainer = domAdapter.createElement(\"div\");\r\n backupContainer.style.left = \"-9999px\";\r\n backupContainer.style.position = \"absolute\";\r\n return {\r\n backupContainer: backupContainer,\r\n backupCounter: 0\r\n }\r\n}));\r\n\r\nfunction backupRoot(root) {\r\n if (0 === getBackup().backupCounter) {\r\n domAdapter.getBody().appendChild(getBackup().backupContainer)\r\n }++getBackup().backupCounter;\r\n root.append({\r\n element: getBackup().backupContainer\r\n })\r\n}\r\n\r\nfunction restoreRoot(root, container) {\r\n root.append({\r\n element: container\r\n });\r\n --getBackup().backupCounter;\r\n if (0 === getBackup().backupCounter) {\r\n domAdapter.getBody().removeChild(getBackup().backupContainer)\r\n }\r\n}\r\n\r\nfunction isObjectArgument(value) {\r\n return value && \"string\" !== typeof value\r\n}\r\n\r\nfunction createElement(tagName) {\r\n return domAdapter.createElementNS(\"http://www.w3.org/2000/svg\", tagName)\r\n}\r\nexport function getFuncIri(id, pathModified) {\r\n return null !== id ? \"url(\" + (pathModified ? window.location.href.split(\"#\")[0] : \"\") + \"#\" + id + \")\" : id\r\n}\r\n\r\nfunction extend(target, source) {\r\n var key;\r\n for (key in source) {\r\n target[key] = source[key]\r\n }\r\n return target\r\n}\r\nvar preserveAspectRatioMap = {\r\n full: NONE,\r\n lefttop: \"xMinYMin\",\r\n leftcenter: \"xMinYMid\",\r\n leftbottom: \"xMinYMax\",\r\n centertop: \"xMidYMin\",\r\n center: \"xMidYMid\",\r\n centerbottom: \"xMidYMax\",\r\n righttop: \"xMaxYMin\",\r\n rightcenter: \"xMaxYMid\",\r\n rightbottom: \"xMaxYMax\"\r\n};\r\nexport function processHatchingAttrs(element, attrs) {\r\n if (attrs.hatching && \"none\" !== normalizeEnum(attrs.hatching.direction)) {\r\n attrs = extend({}, attrs);\r\n attrs.fill = element._hatching = element.renderer.lockDefsElements({\r\n color: attrs.fill,\r\n hatching: attrs.hatching\r\n }, element._hatching, \"pattern\");\r\n delete attrs.filter\r\n } else if (element._hatching) {\r\n element.renderer.releaseDefsElements(element._hatching);\r\n element._hatching = null;\r\n delete attrs.filter\r\n } else if (attrs.filter) {\r\n attrs = extend({}, attrs);\r\n attrs.filter = element._filter = element.renderer.lockDefsElements({}, element._filter, \"filter\")\r\n } else if (element._filter) {\r\n element.renderer.releaseDefsElements(element._filter);\r\n element._filter = null\r\n }\r\n delete attrs.hatching;\r\n return attrs\r\n}\r\nvar buildArcPath = function(x, y, innerR, outerR, startAngleCos, startAngleSin, endAngleCos, endAngleSin, isCircle, longFlag) {\r\n return [\"M\", (x + outerR * startAngleCos).toFixed(ARC_COORD_PREC), (y - outerR * startAngleSin).toFixed(ARC_COORD_PREC), \"A\", outerR.toFixed(ARC_COORD_PREC), outerR.toFixed(ARC_COORD_PREC), 0, longFlag, 0, (x + outerR * endAngleCos).toFixed(ARC_COORD_PREC), (y - outerR * endAngleSin).toFixed(ARC_COORD_PREC), isCircle ? \"M\" : \"L\", (x + innerR * endAngleCos).toFixed(5), (y - innerR * endAngleSin).toFixed(ARC_COORD_PREC), \"A\", innerR.toFixed(ARC_COORD_PREC), innerR.toFixed(ARC_COORD_PREC), 0, longFlag, 1, (x + innerR * startAngleCos).toFixed(ARC_COORD_PREC), (y - innerR * startAngleSin).toFixed(ARC_COORD_PREC), \"Z\"].join(\" \")\r\n};\r\n\r\nfunction buildPathSegments(points, type) {\r\n var list = [\r\n [\"M\", 0, 0]\r\n ];\r\n switch (type) {\r\n case \"line\":\r\n list = buildLineSegments(points);\r\n break;\r\n case \"area\":\r\n list = buildLineSegments(points, true);\r\n break;\r\n case \"bezier\":\r\n list = buildCurveSegments(points);\r\n break;\r\n case \"bezierarea\":\r\n list = buildCurveSegments(points, true)\r\n }\r\n return list\r\n}\r\n\r\nfunction buildLineSegments(points, close) {\r\n return buildSegments(points, buildSimpleLineSegment, close)\r\n}\r\n\r\nfunction buildCurveSegments(points, close) {\r\n return buildSegments(points, buildSimpleCurveSegment, close)\r\n}\r\n\r\nfunction buildSegments(points, buildSimpleSegment, close) {\r\n var _points$;\r\n var i;\r\n var ii;\r\n var list = [];\r\n if (null !== (_points$ = points[0]) && void 0 !== _points$ && _points$.length) {\r\n for (i = 0, ii = points.length; i < ii; ++i) {\r\n buildSimpleSegment(points[i], close, list)\r\n }\r\n } else {\r\n buildSimpleSegment(points, close, list)\r\n }\r\n return list\r\n}\r\n\r\nfunction buildSimpleLineSegment(points, close, list) {\r\n var i = 0;\r\n var k0 = list.length;\r\n var k = k0;\r\n var ii = (points || []).length;\r\n if (ii) {\r\n if (void 0 !== points[0].x) {\r\n for (; i < ii;) {\r\n list[k++] = [\"L\", points[i].x, points[i++].y]\r\n }\r\n } else {\r\n for (; i < ii;) {\r\n list[k++] = [\"L\", points[i++], points[i++]]\r\n }\r\n }\r\n list[k0][0] = \"M\"\r\n } else {\r\n list[k] = [\"M\", 0, 0]\r\n }\r\n close && list.push([\"Z\"]);\r\n return list\r\n}\r\n\r\nfunction buildSimpleCurveSegment(points, close, list) {\r\n var i;\r\n var k = list.length;\r\n var ii = (points || []).length;\r\n if (ii) {\r\n if (void 0 !== points[0].x) {\r\n list[k++] = [\"M\", points[0].x, points[0].y];\r\n for (i = 1; i < ii;) {\r\n list[k++] = [\"C\", points[i].x, points[i++].y, points[i].x, points[i++].y, points[i].x, points[i++].y]\r\n }\r\n } else {\r\n list[k++] = [\"M\", points[0], points[1]];\r\n for (i = 2; i < ii;) {\r\n list[k++] = [\"C\", points[i++], points[i++], points[i++], points[i++], points[i++], points[i++]]\r\n }\r\n }\r\n } else {\r\n list[k] = [\"M\", 0, 0]\r\n }\r\n close && list.push([\"Z\"]);\r\n return list\r\n}\r\n\r\nfunction combinePathParam(segments) {\r\n var d = [];\r\n var k = 0;\r\n var i;\r\n var ii = segments.length;\r\n var segment;\r\n var j;\r\n var jj;\r\n for (i = 0; i < ii; ++i) {\r\n segment = segments[i];\r\n for (j = 0, jj = segment.length; j < jj; ++j) {\r\n d[k++] = segment[j]\r\n }\r\n }\r\n return d.join(\" \")\r\n}\r\n\r\nfunction compensateSegments(oldSegments, newSegments, type) {\r\n var oldLength = oldSegments.length;\r\n var newLength = newSegments.length;\r\n var i;\r\n var originalNewSegments;\r\n var makeEqualSegments = -1 !== type.indexOf(\"area\") ? makeEqualAreaSegments : makeEqualLineSegments;\r\n if (0 === oldLength) {\r\n for (i = 0; i < newLength; i++) {\r\n oldSegments.push(newSegments[i].slice(0))\r\n }\r\n } else if (oldLength < newLength) {\r\n makeEqualSegments(oldSegments, newSegments, type)\r\n } else if (oldLength > newLength) {\r\n originalNewSegments = newSegments.slice(0);\r\n makeEqualSegments(newSegments, oldSegments, type)\r\n }\r\n return originalNewSegments\r\n}\r\n\r\nfunction prepareConstSegment(constSeg, type) {\r\n var x = constSeg[constSeg.length - 2];\r\n var y = constSeg[constSeg.length - 1];\r\n switch (type) {\r\n case \"line\":\r\n case \"area\":\r\n constSeg[0] = \"L\";\r\n break;\r\n case \"bezier\":\r\n case \"bezierarea\":\r\n constSeg[0] = \"C\";\r\n constSeg[1] = constSeg[3] = constSeg[5] = x;\r\n constSeg[2] = constSeg[4] = constSeg[6] = y\r\n }\r\n}\r\n\r\nfunction makeEqualLineSegments(short, long, type) {\r\n var constSeg = short[short.length - 1].slice();\r\n var i = short.length;\r\n prepareConstSegment(constSeg, type);\r\n for (; i < long.length; i++) {\r\n short[i] = constSeg.slice(0)\r\n }\r\n}\r\n\r\nfunction makeEqualAreaSegments(short, long, type) {\r\n var i;\r\n var head;\r\n var shortLength = short.length;\r\n var longLength = long.length;\r\n var constsSeg1;\r\n var constsSeg2;\r\n if ((shortLength - 1) % 2 === 0 && (longLength - 1) % 2 === 0) {\r\n i = (shortLength - 1) / 2 - 1;\r\n head = short.slice(0, i + 1);\r\n constsSeg1 = head[head.length - 1].slice(0);\r\n constsSeg2 = short.slice(i + 1)[0].slice(0);\r\n prepareConstSegment(constsSeg1, type);\r\n prepareConstSegment(constsSeg2, type);\r\n for (var j = i; j < (longLength - 1) / 2 - 1; j++) {\r\n short.splice(j + 1, 0, constsSeg1);\r\n short.splice(j + 3, 0, constsSeg2)\r\n }\r\n }\r\n}\r\n\r\nfunction baseCss(that, styles) {\r\n var elemStyles = that._styles;\r\n var key;\r\n var value;\r\n styles = styles || {};\r\n for (key in styles) {\r\n value = styles[key];\r\n if (isDefined(value)) {\r\n value += \"number\" === typeof value && !pxAddingExceptions[key] ? \"px\" : \"\";\r\n elemStyles[key] = \"\" !== value ? value : null\r\n }\r\n }\r\n for (key in elemStyles) {\r\n value = elemStyles[key];\r\n if (value) {\r\n that.element.style[key] = value\r\n } else if (null === value) {\r\n that.element.style[key] = \"\"\r\n }\r\n }\r\n return that\r\n}\r\n\r\nfunction fixFuncIri(wrapper, attribute) {\r\n var element = wrapper.element;\r\n var id = wrapper.attr(attribute);\r\n if (id && -1 !== id.indexOf(\"DevExpress\")) {\r\n element.removeAttribute(attribute);\r\n element.setAttribute(attribute, getFuncIri(id, wrapper.renderer.pathModified))\r\n }\r\n}\r\n\r\nfunction baseAttr(that, attrs) {\r\n attrs = attrs || {};\r\n var settings = that._settings;\r\n var attributes = {};\r\n var key;\r\n var value;\r\n var elem = that.element;\r\n var renderer = that.renderer;\r\n var rtl = renderer.rtl;\r\n var hasTransformations;\r\n var recalculateDashStyle;\r\n var sw;\r\n var i;\r\n if (!isObjectArgument(attrs)) {\r\n if (attrs in settings) {\r\n return settings[attrs]\r\n }\r\n if (attrs in DEFAULTS) {\r\n return DEFAULTS[attrs]\r\n }\r\n return 0\r\n }\r\n extend(attributes, attrs);\r\n for (key in attributes) {\r\n value = attributes[key];\r\n if (void 0 === value) {\r\n continue\r\n }\r\n settings[key] = value;\r\n if (\"align\" === key) {\r\n key = \"text-anchor\";\r\n value = {\r\n left: rtl ? \"end\" : \"start\",\r\n center: \"middle\",\r\n right: rtl ? \"start\" : \"end\"\r\n } [value] || null\r\n } else if (\"dashStyle\" === key) {\r\n recalculateDashStyle = true;\r\n continue\r\n } else if (key === KEY_STROKE_WIDTH) {\r\n recalculateDashStyle = true\r\n } else if (value && (\"fill\" === key || \"clip-path\" === key || \"filter\" === key) && 0 === value.indexOf(\"DevExpress\")) {\r\n that._addFixIRICallback();\r\n value = getFuncIri(value, renderer.pathModified)\r\n } else if (/^(translate(X|Y)|rotate[XY]?|scale(X|Y)|sharp|sharpDirection)$/i.test(key)) {\r\n hasTransformations = true;\r\n continue\r\n } else if (/^(x|y|d)$/i.test(key)) {\r\n hasTransformations = true\r\n }\r\n if (null === value) {\r\n elem.removeAttribute(key)\r\n } else {\r\n elem.setAttribute(key, value)\r\n }\r\n }\r\n if (recalculateDashStyle && \"dashStyle\" in settings) {\r\n value = settings.dashStyle;\r\n sw = (\"_originalSW\" in that ? that._originalSW : settings[KEY_STROKE_WIDTH]) || 1;\r\n key = \"stroke-dasharray\";\r\n value = null === value ? \"\" : normalizeEnum(value);\r\n if (\"\" === value || \"solid\" === value || value === NONE) {\r\n that.element.removeAttribute(key)\r\n } else {\r\n value = value.replace(/longdash/g, \"8,3,\").replace(/dash/g, \"4,3,\").replace(/dot/g, \"1,3,\").replace(/,$/, \"\").split(\",\");\r\n i = value.length;\r\n while (i--) {\r\n value[i] = parseInt(value[i]) * sw\r\n }\r\n that.element.setAttribute(key, value.join(\",\"))\r\n }\r\n }\r\n if (hasTransformations) {\r\n that._applyTransformation()\r\n }\r\n return that\r\n}\r\n\r\nfunction pathAttr(attrs) {\r\n var segments;\r\n if (isObjectArgument(attrs)) {\r\n attrs = extend({}, attrs);\r\n segments = attrs.segments;\r\n if (\"points\" in attrs) {\r\n segments = buildPathSegments(attrs.points, this.type);\r\n delete attrs.points\r\n }\r\n if (segments) {\r\n attrs.d = combinePathParam(segments);\r\n this.segments = segments;\r\n delete attrs.segments\r\n }\r\n }\r\n return baseAttr(this, attrs)\r\n}\r\n\r\nfunction arcAttr(attrs) {\r\n var settings = this._settings;\r\n var x;\r\n var y;\r\n var innerRadius;\r\n var outerRadius;\r\n var startAngle;\r\n var endAngle;\r\n if (isObjectArgument(attrs)) {\r\n attrs = extend({}, attrs);\r\n if (\"x\" in attrs || \"y\" in attrs || \"innerRadius\" in attrs || \"outerRadius\" in attrs || \"startAngle\" in attrs || \"endAngle\" in attrs) {\r\n settings.x = x = \"x\" in attrs ? attrs.x : settings.x;\r\n delete attrs.x;\r\n settings.y = y = \"y\" in attrs ? attrs.y : settings.y;\r\n delete attrs.y;\r\n settings.innerRadius = innerRadius = \"innerRadius\" in attrs ? attrs.innerRadius : settings.innerRadius;\r\n delete attrs.innerRadius;\r\n settings.outerRadius = outerRadius = \"outerRadius\" in attrs ? attrs.outerRadius : settings.outerRadius;\r\n delete attrs.outerRadius;\r\n settings.startAngle = startAngle = \"startAngle\" in attrs ? attrs.startAngle : settings.startAngle;\r\n delete attrs.startAngle;\r\n settings.endAngle = endAngle = \"endAngle\" in attrs ? attrs.endAngle : settings.endAngle;\r\n delete attrs.endAngle;\r\n attrs.d = buildArcPath.apply(null, normalizeArcParams(x, y, innerRadius, outerRadius, startAngle, endAngle))\r\n }\r\n }\r\n return baseAttr(this, attrs)\r\n}\r\n\r\nfunction rectAttr(attrs) {\r\n var x;\r\n var y;\r\n var width;\r\n var height;\r\n var sw;\r\n var maxSW;\r\n var newSW;\r\n if (isObjectArgument(attrs)) {\r\n attrs = extend({}, attrs);\r\n if (void 0 !== attrs.x || void 0 !== attrs.y || void 0 !== attrs.width || void 0 !== attrs.height || void 0 !== attrs[KEY_STROKE_WIDTH]) {\r\n void 0 !== attrs.x ? x = this._originalX = attrs.x : x = this._originalX || 0;\r\n void 0 !== attrs.y ? y = this._originalY = attrs.y : y = this._originalY || 0;\r\n void 0 !== attrs.width ? width = this._originalWidth = attrs.width : width = this._originalWidth || 0;\r\n void 0 !== attrs.height ? height = this._originalHeight = attrs.height : height = this._originalHeight || 0;\r\n void 0 !== attrs[KEY_STROKE_WIDTH] ? sw = this._originalSW = attrs[KEY_STROKE_WIDTH] : sw = this._originalSW;\r\n maxSW = ~~((width < height ? width : height) / 2);\r\n newSW = (sw || 0) < maxSW ? sw || 0 : maxSW;\r\n attrs.x = x + newSW / 2;\r\n attrs.y = y + newSW / 2;\r\n attrs.width = width - newSW;\r\n attrs.height = height - newSW;\r\n ((sw || 0) !== newSW || !(0 === newSW && void 0 === sw)) && (attrs[KEY_STROKE_WIDTH] = newSW)\r\n }\r\n if (\"sharp\" in attrs) {\r\n delete attrs.sharp\r\n }\r\n }\r\n return baseAttr(this, attrs)\r\n}\r\n\r\nfunction textAttr(attrs) {\r\n var isResetRequired;\r\n if (!isObjectArgument(attrs)) {\r\n return baseAttr(this, attrs)\r\n }\r\n attrs = extend({}, attrs);\r\n var settings = this._settings;\r\n var wasStroked = isDefined(settings[KEY_STROKE]) && isDefined(settings[KEY_STROKE_WIDTH]);\r\n if (void 0 !== attrs[KEY_TEXT]) {\r\n settings[KEY_TEXT] = attrs[KEY_TEXT];\r\n delete attrs[KEY_TEXT];\r\n isResetRequired = true\r\n }\r\n if (void 0 !== attrs[KEY_STROKE]) {\r\n settings[KEY_STROKE] = attrs[KEY_STROKE];\r\n delete attrs[KEY_STROKE]\r\n }\r\n if (void 0 !== attrs[KEY_STROKE_WIDTH]) {\r\n settings[KEY_STROKE_WIDTH] = attrs[KEY_STROKE_WIDTH];\r\n delete attrs[KEY_STROKE_WIDTH]\r\n }\r\n if (void 0 !== attrs[KEY_STROKE_OPACITY]) {\r\n settings[KEY_STROKE_OPACITY] = attrs[KEY_STROKE_OPACITY];\r\n delete attrs[KEY_STROKE_OPACITY]\r\n }\r\n if (void 0 !== attrs[KEY_TEXTS_ALIGNMENT]) {\r\n alignTextNodes(this, attrs[KEY_TEXTS_ALIGNMENT]);\r\n delete attrs[KEY_TEXTS_ALIGNMENT]\r\n }\r\n var isStroked = isDefined(settings[KEY_STROKE]) && isDefined(settings[KEY_STROKE_WIDTH]);\r\n baseAttr(this, attrs);\r\n isResetRequired = isResetRequired || isStroked !== wasStroked && settings[KEY_TEXT];\r\n if (isResetRequired) {\r\n createTextNodes(this, settings.text, isStroked);\r\n this._hasEllipsis = false\r\n }\r\n if (isResetRequired || void 0 !== attrs.x || void 0 !== attrs.y) {\r\n locateTextNodes(this)\r\n }\r\n if (isStroked) {\r\n strokeTextNodes(this)\r\n }\r\n return this\r\n}\r\n\r\nfunction textCss(styles) {\r\n styles = styles || {};\r\n baseCss(this, styles);\r\n if (KEY_FONT_SIZE in styles) {\r\n locateTextNodes(this)\r\n }\r\n return this\r\n}\r\n\r\nfunction orderHtmlTree(list, line, node, parentStyle, parentClassName) {\r\n var style;\r\n var realStyle;\r\n var i;\r\n var ii;\r\n var nodes;\r\n if (void 0 !== node.wholeText) {\r\n list.push({\r\n value: node.wholeText,\r\n style: parentStyle,\r\n className: parentClassName,\r\n line: line,\r\n height: parentStyle[KEY_FONT_SIZE] || 0\r\n })\r\n } else if (\"BR\" === node.tagName) {\r\n ++line\r\n } else if (domAdapter.isElementNode(node)) {\r\n extend(style = {}, parentStyle);\r\n switch (node.tagName) {\r\n case \"B\":\r\n case \"STRONG\":\r\n style[KEY_FONT_WEIGHT] = \"bold\";\r\n break;\r\n case \"I\":\r\n case \"EM\":\r\n style[KEY_FONT_STYLE] = \"italic\";\r\n break;\r\n case \"U\":\r\n style[KEY_TEXT_DECORATION] = \"underline\"\r\n }\r\n realStyle = node.style;\r\n realStyle.color && (style.fill = realStyle.color);\r\n realStyle.fontSize && (style[KEY_FONT_SIZE] = realStyle.fontSize);\r\n realStyle.fontStyle && (style[KEY_FONT_STYLE] = realStyle.fontStyle);\r\n realStyle.fontWeight && (style[KEY_FONT_WEIGHT] = realStyle.fontWeight);\r\n realStyle.textDecoration && (style[KEY_TEXT_DECORATION] = realStyle.textDecoration);\r\n for (i = 0, nodes = node.childNodes, ii = nodes.length; i < ii; ++i) {\r\n line = orderHtmlTree(list, line, nodes[i], style, node.className || parentClassName)\r\n }\r\n }\r\n return line\r\n}\r\n\r\nfunction adjustLineHeights(items) {\r\n var i;\r\n var ii;\r\n var currentItem = items[0];\r\n var item;\r\n for (i = 1, ii = items.length; i < ii; ++i) {\r\n item = items[i];\r\n if (item.line === currentItem.line) {\r\n currentItem.height = maxLengthFontSize(currentItem.height, item.height);\r\n currentItem.inherits = currentItem.inherits || 0 === parseFloat(item.height);\r\n item.height = NaN\r\n } else {\r\n currentItem = item\r\n }\r\n }\r\n}\r\n\r\nfunction removeExtraAttrs(html) {\r\n var findStyleAndClassAttrs = /(style|class)\\s*=\\s*([\"'])(?:(?!\\2).)*\\2\\s?/gi;\r\n return html.replace(/(?:(<[a-z0-9]+\\s*))([\\s\\S]*?)(>|\\/>)/gi, (function(allTagAttrs, p1, p2, p3) {\r\n p2 = (p2 && p2.match(findStyleAndClassAttrs) || []).map((function(str) {\r\n return str\r\n })).join(\" \");\r\n return p1 + p2 + p3\r\n }))\r\n}\r\n\r\nfunction parseHTML(text) {\r\n var items = [];\r\n var div = domAdapter.createElement(\"div\");\r\n div.innerHTML = text.replace(/\\r/g, \"\").replace(/\\n/g, \"
\").replace(/style=/g, \"data-style=\");\r\n div.querySelectorAll(\"[data-style]\").forEach(element => {\r\n element.style = element.getAttribute(\"data-style\");\r\n element.removeAttribute(\"data-style\")\r\n });\r\n orderHtmlTree(items, 0, div, {}, \"\");\r\n adjustLineHeights(items);\r\n return items\r\n}\r\n\r\nfunction parseMultiline(text) {\r\n var texts = text.replace(/\\r/g, \"\").split(/\\n/g);\r\n var i = 0;\r\n var items = [];\r\n for (; i < texts.length; i++) {\r\n items.push({\r\n value: texts[i].trim(),\r\n height: 0,\r\n line: i\r\n })\r\n }\r\n return items\r\n}\r\n\r\nfunction createTspans(items, element, fieldName) {\r\n var i;\r\n var ii;\r\n var item;\r\n for (i = 0, ii = items.length; i < ii; ++i) {\r\n item = items[i];\r\n item[fieldName] = createElement(\"tspan\");\r\n item[fieldName].appendChild(domAdapter.createTextNode(item.value));\r\n item.style && baseCss({\r\n element: item[fieldName],\r\n _styles: {}\r\n }, item.style);\r\n item.className && item[fieldName].setAttribute(\"class\", item.className);\r\n element.appendChild(item[fieldName])\r\n }\r\n}\r\n\r\nfunction restoreText() {\r\n if (this._hasEllipsis) {\r\n this.attr({\r\n text: this._settings.text\r\n })\r\n }\r\n}\r\n\r\nfunction applyEllipsis(maxWidth) {\r\n var lines;\r\n var hasEllipsis = false;\r\n var i;\r\n var ii;\r\n var lineParts;\r\n var j;\r\n var jj;\r\n var text;\r\n restoreText.call(this);\r\n var ellipsis = this.renderer.text(ELLIPSIS).attr(this._styles).append(this.renderer.root);\r\n var ellipsisWidth = ellipsis.getBBox().width;\r\n if (this._getElementBBox().width > maxWidth) {\r\n if (maxWidth - ellipsisWidth < 0) {\r\n maxWidth = 0\r\n } else {\r\n maxWidth -= ellipsisWidth\r\n }\r\n lines = prepareLines(this.element, this._texts, maxWidth);\r\n for (i = 0, ii = lines.length; i < ii; ++i) {\r\n lineParts = lines[i].parts;\r\n if (1 === lines[i].commonLength) {\r\n continue\r\n }\r\n for (j = 0, jj = lineParts.length; j < jj; ++j) {\r\n text = lineParts[j];\r\n if (isDefined(text.endIndex)) {\r\n setNewText(text, text.endIndex);\r\n hasEllipsis = true\r\n } else if (text.startBox > maxWidth) {\r\n removeTextSpan(text)\r\n }\r\n }\r\n }\r\n }\r\n ellipsis.remove();\r\n this._hasEllipsis = hasEllipsis;\r\n return hasEllipsis\r\n}\r\n\r\nfunction cloneAndRemoveAttrs(node) {\r\n var clone;\r\n if (node) {\r\n clone = node.cloneNode();\r\n clone.removeAttribute(\"y\");\r\n clone.removeAttribute(\"x\")\r\n }\r\n return clone || node\r\n}\r\n\r\nfunction detachTitleElements(element) {\r\n var titleElements = domAdapter.querySelectorAll(element, \"title\");\r\n for (var i = 0; i < titleElements.length; i++) {\r\n element.removeChild(titleElements[i])\r\n }\r\n return titleElements\r\n}\r\n\r\nfunction detachAndStoreTitleElements(element) {\r\n var titleElements = detachTitleElements(element);\r\n return () => {\r\n for (var i = 0; i < titleElements.length; i++) {\r\n element.appendChild(titleElements[i])\r\n }\r\n }\r\n}\r\n\r\nfunction setMaxSize(maxWidth, maxHeight) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var that = this;\r\n var lines = [];\r\n var textChanged = false;\r\n var textIsEmpty = false;\r\n var ellipsisMaxWidth = maxWidth;\r\n restoreText.call(that);\r\n var restoreTitleElement = detachAndStoreTitleElements(this.element);\r\n var ellipsis = that.renderer.text(ELLIPSIS).attr(that._styles).append(that.renderer.root);\r\n var ellipsisWidth = ellipsis.getBBox().width;\r\n var {\r\n width: width,\r\n height: height\r\n } = that._getElementBBox();\r\n if ((width || height) && (width > maxWidth || maxHeight && height > maxHeight)) {\r\n if (maxWidth - ellipsisWidth < 0) {\r\n ellipsisMaxWidth = 0\r\n } else {\r\n ellipsisMaxWidth -= ellipsisWidth\r\n }\r\n lines = applyOverflowRules(that.element, that._texts, maxWidth, ellipsisMaxWidth, options);\r\n lines = setMaxHeight(lines, ellipsisMaxWidth, options, maxHeight, parseFloat(this._getLineHeight()));\r\n this._texts = lines.reduce((texts, line) => texts.concat(line.parts), []).filter(t => \"\" !== t.value).map(t => {\r\n t.stroke && t.tspan.parentNode.appendChild(t.stroke);\r\n return t\r\n }).map(t => {\r\n t.tspan.parentNode.appendChild(t.tspan);\r\n return t\r\n });\r\n !this._texts.length && (this._texts = null);\r\n textChanged = true;\r\n if (this._texts) {\r\n locateTextNodes(this)\r\n } else {\r\n this.element.textContent = \"\";\r\n textIsEmpty = true\r\n }\r\n }\r\n ellipsis.remove();\r\n that._hasEllipsis = textChanged;\r\n restoreTitleElement();\r\n return {\r\n rowCount: lines.length,\r\n textChanged: textChanged,\r\n textIsEmpty: textIsEmpty\r\n }\r\n}\r\n\r\nfunction getIndexForEllipsis(text, maxWidth, startBox, endBox) {\r\n var k;\r\n var kk;\r\n if (startBox <= maxWidth && endBox > maxWidth) {\r\n for (k = 1, kk = text.value.length; k <= kk; ++k) {\r\n if (startBox + text.tspan.getSubStringLength(0, k) > maxWidth) {\r\n return k - 1\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction getTextWidth(text) {\r\n return text.value.length ? text.tspan.getSubStringLength(0, text.value.length) : 0\r\n}\r\n\r\nfunction prepareLines(element, texts, maxWidth) {\r\n var lines = [];\r\n var i;\r\n var ii;\r\n var text;\r\n var startBox;\r\n var endBox;\r\n if (texts) {\r\n for (i = 0, ii = texts.length; i < ii; ++i) {\r\n text = texts[i];\r\n if (!lines[text.line]) {\r\n text.startBox = startBox = 0;\r\n lines.push({\r\n commonLength: text.value.length,\r\n parts: [text]\r\n })\r\n } else {\r\n text.startBox = startBox;\r\n lines[text.line].parts.push(text);\r\n lines[text.line].commonLength += text.value.length\r\n }\r\n endBox = startBox + text.tspan.getSubStringLength(0, text.value.length);\r\n text.endIndex = getIndexForEllipsis(text, maxWidth, startBox, endBox);\r\n startBox = endBox\r\n }\r\n } else {\r\n text = {\r\n value: element.textContent,\r\n tspan: element\r\n };\r\n text.startBox = startBox = 0;\r\n endBox = startBox + getTextWidth(text);\r\n text.endIndex = getIndexForEllipsis(text, maxWidth, startBox, endBox);\r\n lines = [{\r\n commonLength: element.textContent.length,\r\n parts: [text]\r\n }]\r\n }\r\n return lines\r\n}\r\n\r\nfunction getSpaceBreakIndex(text, maxWidth) {\r\n var initialIndices = text.startBox > 0 ? [0] : [];\r\n var spaceIndices = text.value.split(\"\").reduce((indices, char, index) => {\r\n if (\" \" === char) {\r\n indices.push(index)\r\n }\r\n return indices\r\n }, initialIndices);\r\n var spaceIndex = 0;\r\n while (void 0 !== spaceIndices[spaceIndex + 1] && text.startBox + text.tspan.getSubStringLength(0, spaceIndices[spaceIndex + 1]) < maxWidth) {\r\n spaceIndex++\r\n }\r\n return spaceIndices[spaceIndex]\r\n}\r\n\r\nfunction getWordBreakIndex(text, maxWidth) {\r\n for (var i = 0; i < text.value.length - 1; i++) {\r\n if (text.startBox + text.tspan.getSubStringLength(0, i + 1) > maxWidth) {\r\n return i\r\n }\r\n }\r\n}\r\n\r\nfunction getEllipsisString(ellipsisMaxWidth, _ref) {\r\n var {\r\n hideOverflowEllipsis: hideOverflowEllipsis\r\n } = _ref;\r\n return hideOverflowEllipsis && 0 === ellipsisMaxWidth ? \"\" : ELLIPSIS\r\n}\r\n\r\nfunction setEllipsis(text, ellipsisMaxWidth, options) {\r\n var ellipsis = getEllipsisString(ellipsisMaxWidth, options);\r\n if (text.value.length && text.tspan.parentNode) {\r\n for (var i = text.value.length - 1; i >= 1; i--) {\r\n if (text.startBox + text.tspan.getSubStringLength(0, i) < ellipsisMaxWidth) {\r\n setNewText(text, i, ellipsis);\r\n break\r\n } else if (1 === i) {\r\n setNewText(text, 0, ellipsis)\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction wordWrap(text, maxWidth, ellipsisMaxWidth, options, lastStepBreakIndex) {\r\n var wholeText = text.value;\r\n var breakIndex;\r\n if (\"none\" !== options.wordWrap) {\r\n breakIndex = \"normal\" === options.wordWrap ? getSpaceBreakIndex(text, maxWidth) : getWordBreakIndex(text, maxWidth)\r\n }\r\n var restLines = [];\r\n var restText;\r\n if (isFinite(breakIndex) && !(0 === lastStepBreakIndex && 0 === breakIndex)) {\r\n setNewText(text, breakIndex, \"\");\r\n var newTextOffset = \" \" === wholeText[breakIndex] ? 1 : 0;\r\n var restString = wholeText.slice(breakIndex + newTextOffset);\r\n if (restString.length) {\r\n var restTspan = cloneAndRemoveAttrs(text.tspan);\r\n restTspan.textContent = restString;\r\n text.tspan.parentNode.appendChild(restTspan);\r\n restText = extend(extend({}, text), {\r\n value: restString,\r\n startBox: 0,\r\n height: 0,\r\n tspan: restTspan,\r\n stroke: cloneAndRemoveAttrs(text.stroke),\r\n endBox: restTspan.getSubStringLength(0, restString.length)\r\n });\r\n restText.stroke && (restText.stroke.textContent = restString);\r\n if (restText.endBox > maxWidth) {\r\n restLines = wordWrap(restText, maxWidth, ellipsisMaxWidth, options, breakIndex);\r\n if (!restLines.length) {\r\n return []\r\n }\r\n }\r\n }\r\n }\r\n if (text.value.length) {\r\n if (\"ellipsis\" === options.textOverflow && text.tspan.getSubStringLength(0, text.value.length) > maxWidth) {\r\n setEllipsis(text, ellipsisMaxWidth, options)\r\n }\r\n if (\"hide\" === options.textOverflow && text.tspan.getSubStringLength(0, text.value.length) > maxWidth) {\r\n return []\r\n }\r\n } else {\r\n text.tspan.parentNode.removeChild(text.tspan)\r\n }\r\n var parts = [];\r\n if (restText) {\r\n parts.push(restText)\r\n }\r\n return [{\r\n commonLength: wholeText.length,\r\n parts: parts\r\n }].concat(restLines)\r\n}\r\n\r\nfunction calculateLineHeight(line, lineHeight) {\r\n return line.parts.reduce((height, text) => max(height, getItemLineHeight(text, lineHeight)), 0)\r\n}\r\n\r\nfunction setMaxHeight(lines, ellipsisMaxWidth, options, maxHeight, lineHeight) {\r\n var textOverflow = options.textOverflow;\r\n if (!isFinite(maxHeight) || 0 === Number(maxHeight) || \"none\" === textOverflow) {\r\n return lines\r\n }\r\n var result = lines.reduce((_ref2, l, index, arr) => {\r\n var [lines, commonHeight] = _ref2;\r\n var height = calculateLineHeight(l, lineHeight);\r\n commonHeight += height;\r\n if (commonHeight < maxHeight) {\r\n lines.push(l)\r\n } else {\r\n l.parts.forEach(item => {\r\n removeTextSpan(item)\r\n });\r\n if (\"ellipsis\" === textOverflow) {\r\n var prevLine = arr[index - 1];\r\n if (prevLine) {\r\n var text = prevLine.parts[prevLine.parts.length - 1];\r\n if (!text.hasEllipsis) {\r\n if (0 === ellipsisMaxWidth || text.endBox < ellipsisMaxWidth) {\r\n setNewText(text, text.value.length, getEllipsisString(ellipsisMaxWidth, options))\r\n } else {\r\n setEllipsis(text, ellipsisMaxWidth, options)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return [lines, commonHeight]\r\n }, [\r\n [], 0\r\n ]);\r\n if (\"hide\" === textOverflow && result[1] > maxHeight) {\r\n result[0].forEach(l => {\r\n l.parts.forEach(item => {\r\n removeTextSpan(item)\r\n })\r\n });\r\n return []\r\n }\r\n return result[0]\r\n}\r\n\r\nfunction applyOverflowRules(element, texts, maxWidth, ellipsisMaxWidth, options) {\r\n if (!texts) {\r\n var textValue = element.textContent;\r\n var text = {\r\n value: textValue,\r\n height: 0,\r\n line: 0\r\n };\r\n element.textContent = \"\";\r\n createTspans([text], element, \"tspan\");\r\n texts = [text]\r\n }\r\n return texts.reduce((_ref3, text) => {\r\n var [lines, startBox, endBox, stop, lineNumber] = _ref3;\r\n var line = lines[lines.length - 1];\r\n if (stop) {\r\n return [lines, startBox, endBox, stop]\r\n }\r\n if (!line || text.line !== lineNumber) {\r\n text.startBox = startBox = 0;\r\n lines.push({\r\n commonLength: text.value.length,\r\n parts: [text]\r\n })\r\n } else {\r\n text.startBox = startBox;\r\n if (startBox > ellipsisMaxWidth && \"none\" === options.wordWrap && \"ellipsis\" === options.textOverflow) {\r\n removeTextSpan(text);\r\n return [lines, startBox, endBox, stop, lineNumber]\r\n }\r\n line.parts.push(text);\r\n line.commonLength += text.value.length\r\n }\r\n text.endBox = endBox = startBox + getTextWidth(text);\r\n startBox = endBox;\r\n if (isDefined(maxWidth) && endBox > maxWidth) {\r\n var wordWrapLines = wordWrap(text, maxWidth, ellipsisMaxWidth, options);\r\n if (!wordWrapLines.length) {\r\n lines = [];\r\n stop = true\r\n } else {\r\n lines = lines.concat(wordWrapLines.filter(l => l.parts.length > 0))\r\n }\r\n }\r\n return [lines, startBox, endBox, stop, text.line]\r\n }, [\r\n [], 0, 0, false, 0\r\n ])[0]\r\n}\r\n\r\nfunction setNewText(text, index) {\r\n var insertString = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : ELLIPSIS;\r\n var newText = text.value.substr(0, index) + insertString;\r\n text.value = text.tspan.textContent = newText;\r\n text.stroke && (text.stroke.textContent = newText);\r\n if (insertString === ELLIPSIS) {\r\n text.hasEllipsis = true\r\n }\r\n}\r\n\r\nfunction removeTextSpan(text) {\r\n text.tspan.parentNode && text.tspan.parentNode.removeChild(text.tspan);\r\n text.stroke && text.stroke.parentNode && text.stroke.parentNode.removeChild(text.stroke)\r\n}\r\n\r\nfunction createTextNodes(wrapper, text, isStroked) {\r\n var items;\r\n var parsedHtml;\r\n wrapper._texts = null;\r\n wrapper.clear();\r\n if (null === text) {\r\n return\r\n }\r\n text = \"\" + text;\r\n if (!wrapper.renderer.encodeHtml && (/<[a-z][\\s\\S]*>/i.test(text) || -1 !== text.indexOf(\"&\"))) {\r\n parsedHtml = removeExtraAttrs(text);\r\n items = parseHTML(parsedHtml)\r\n } else if (/\\n/g.test(text)) {\r\n items = parseMultiline(text)\r\n } else if (isStroked) {\r\n items = [{\r\n value: text.trim(),\r\n height: 0\r\n }]\r\n }\r\n if (items) {\r\n if (items.length) {\r\n wrapper._texts = items;\r\n if (isStroked) {\r\n createTspans(items, wrapper.element, KEY_STROKE)\r\n }\r\n createTspans(items, wrapper.element, \"tspan\")\r\n }\r\n } else {\r\n wrapper.element.appendChild(domAdapter.createTextNode(text))\r\n }\r\n}\r\n\r\nfunction setTextNodeAttribute(item, name, value) {\r\n item.tspan.setAttribute(name, value);\r\n item.stroke && item.stroke.setAttribute(name, value)\r\n}\r\n\r\nfunction getItemLineHeight(item, defaultValue) {\r\n return item.inherits ? maxLengthFontSize(item.height, defaultValue) : item.height || defaultValue\r\n}\r\n\r\nfunction locateTextNodes(wrapper) {\r\n if (!wrapper._texts) {\r\n return\r\n }\r\n var items = wrapper._texts;\r\n var x = wrapper._settings.x;\r\n var lineHeight = wrapper._getLineHeight();\r\n var i;\r\n var ii;\r\n var item = items[0];\r\n setTextNodeAttribute(item, \"x\", x);\r\n setTextNodeAttribute(item, \"y\", wrapper._settings.y);\r\n for (i = 1, ii = items.length; i < ii; ++i) {\r\n item = items[i];\r\n if (parseFloat(item.height) >= 0) {\r\n setTextNodeAttribute(item, \"x\", x);\r\n var height = getItemLineHeight(item, lineHeight);\r\n setTextNodeAttribute(item, \"dy\", height)\r\n }\r\n }\r\n}\r\n\r\nfunction alignTextNodes(wrapper, alignment) {\r\n if (!wrapper._texts || \"center\" === alignment) {\r\n return\r\n }\r\n var items = wrapper._texts;\r\n var direction = \"left\" === alignment ? -1 : 1;\r\n var maxTextWidth = Math.max.apply(Math, items.map(t => getTextWidth(t)));\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var textWidth = getTextWidth(item);\r\n if (0 !== maxTextWidth && maxTextWidth !== textWidth) {\r\n setTextNodeAttribute(item, \"dx\", direction * round((maxTextWidth - textWidth) / 2 * 10) / 10)\r\n }\r\n }\r\n}\r\n\r\nfunction maxLengthFontSize(fontSize1, fontSize2) {\r\n var parsedHeight1 = parseFloat(fontSize1);\r\n var parsedHeight2 = parseFloat(fontSize2);\r\n var height1 = parsedHeight1 || DEFAULT_FONT_SIZE;\r\n var height2 = parsedHeight2 || DEFAULT_FONT_SIZE;\r\n return height1 > height2 ? !isNaN(parsedHeight1) ? fontSize1 : height1 : !isNaN(parsedHeight2) ? fontSize2 : height2\r\n}\r\n\r\nfunction strokeTextNodes(wrapper) {\r\n if (!wrapper._texts) {\r\n return\r\n }\r\n var items = wrapper._texts;\r\n var stroke = wrapper._settings[KEY_STROKE];\r\n var strokeWidth = wrapper._settings[KEY_STROKE_WIDTH];\r\n var strokeOpacity = wrapper._settings[KEY_STROKE_OPACITY] || 1;\r\n var tspan;\r\n var i;\r\n var ii;\r\n for (i = 0, ii = items.length; i < ii; ++i) {\r\n tspan = items[i].stroke;\r\n tspan.setAttribute(KEY_STROKE, stroke);\r\n tspan.setAttribute(KEY_STROKE_WIDTH, strokeWidth);\r\n tspan.setAttribute(KEY_STROKE_OPACITY, strokeOpacity);\r\n tspan.setAttribute(\"stroke-linejoin\", \"round\")\r\n }\r\n}\r\n\r\nfunction baseAnimate(that, params, options, complete) {\r\n options = options || {};\r\n var key;\r\n var value;\r\n var renderer = that.renderer;\r\n var settings = that._settings;\r\n var animationParams = {};\r\n var defaults = {\r\n translateX: 0,\r\n translateY: 0,\r\n scaleX: 1,\r\n scaleY: 1,\r\n rotate: 0,\r\n rotateX: 0,\r\n rotateY: 0\r\n };\r\n if (complete) {\r\n options.complete = complete\r\n }\r\n if (renderer.animationEnabled()) {\r\n for (key in params) {\r\n value = params[key];\r\n if (/^(translate(X|Y)|rotate[XY]?|scale(X|Y))$/i.test(key)) {\r\n animationParams.transform = animationParams.transform || {\r\n from: {},\r\n to: {}\r\n };\r\n animationParams.transform.from[key] = key in settings ? Number(settings[key].toFixed(3)) : defaults[key];\r\n animationParams.transform.to[key] = value\r\n } else if (\"arc\" === key || \"segments\" === key) {\r\n animationParams[key] = value\r\n } else {\r\n animationParams[key] = {\r\n from: key in settings ? settings[key] : parseFloat(that.element.getAttribute(key) || 0),\r\n to: value\r\n }\r\n }\r\n }\r\n renderer.animateElement(that, animationParams, extend(extend({}, renderer._animation), options))\r\n } else {\r\n options.step && options.step.call(that, 1, 1);\r\n options.complete && options.complete.call(that);\r\n that.attr(params)\r\n }\r\n return that\r\n}\r\n\r\nfunction pathAnimate(params, options, complete) {\r\n var curSegments = this.segments || [];\r\n var newSegments;\r\n var endSegments;\r\n if (this.renderer.animationEnabled() && \"points\" in params) {\r\n newSegments = buildPathSegments(params.points, this.type);\r\n endSegments = compensateSegments(curSegments, newSegments, this.type);\r\n params.segments = {\r\n from: curSegments,\r\n to: newSegments,\r\n end: endSegments\r\n };\r\n delete params.points\r\n }\r\n return baseAnimate(this, params, options, complete)\r\n}\r\n\r\nfunction arcAnimate(params, options, complete) {\r\n var settings = this._settings;\r\n var arcParams = {\r\n from: {},\r\n to: {}\r\n };\r\n if (this.renderer.animationEnabled() && (\"x\" in params || \"y\" in params || \"innerRadius\" in params || \"outerRadius\" in params || \"startAngle\" in params || \"endAngle\" in params)) {\r\n arcParams.from.x = settings.x || 0;\r\n arcParams.from.y = settings.y || 0;\r\n arcParams.from.innerRadius = settings.innerRadius || 0;\r\n arcParams.from.outerRadius = settings.outerRadius || 0;\r\n arcParams.from.startAngle = settings.startAngle || 0;\r\n arcParams.from.endAngle = settings.endAngle || 0;\r\n arcParams.to.x = \"x\" in params ? params.x : settings.x;\r\n delete params.x;\r\n arcParams.to.y = \"y\" in params ? params.y : settings.y;\r\n delete params.y;\r\n arcParams.to.innerRadius = \"innerRadius\" in params ? params.innerRadius : settings.innerRadius;\r\n delete params.innerRadius;\r\n arcParams.to.outerRadius = \"outerRadius\" in params ? params.outerRadius : settings.outerRadius;\r\n delete params.outerRadius;\r\n arcParams.to.startAngle = \"startAngle\" in params ? params.startAngle : settings.startAngle;\r\n delete params.startAngle;\r\n arcParams.to.endAngle = \"endAngle\" in params ? params.endAngle : settings.endAngle;\r\n delete params.endAngle;\r\n params.arc = arcParams\r\n }\r\n return baseAnimate(this, params, options, complete)\r\n}\r\n\r\nfunction buildLink(target, parameters) {\r\n var obj = {\r\n is: false,\r\n name: parameters.name || parameters,\r\n after: parameters.after\r\n };\r\n if (target) {\r\n obj.to = target\r\n } else {\r\n obj.virtual = true\r\n }\r\n return obj\r\n}\r\nexport var SvgElement = function(renderer, tagName, type) {\r\n this.renderer = renderer;\r\n this.element = createElement(tagName);\r\n this._settings = {};\r\n this._styles = {};\r\n if (\"path\" === tagName) {\r\n this.type = type || \"line\"\r\n }\r\n};\r\n\r\nfunction removeFuncIriCallback(callback) {\r\n fixFuncIriCallbacks.remove(callback)\r\n}\r\nSvgElement.prototype = {\r\n constructor: SvgElement,\r\n _getJQElement: function() {\r\n return this._$element || (this._$element = $(this.element))\r\n },\r\n _addFixIRICallback: function() {\r\n var that = this;\r\n var fn = function() {\r\n fixFuncIri(that, \"fill\");\r\n fixFuncIri(that, \"clip-path\");\r\n fixFuncIri(that, \"filter\")\r\n };\r\n that.element._fixFuncIri = fn;\r\n fn.renderer = that.renderer;\r\n fixFuncIriCallbacks.add(fn);\r\n that._addFixIRICallback = function() {}\r\n },\r\n _clearChildrenFuncIri: function() {\r\n ! function clearChildren(element) {\r\n var i;\r\n for (i = 0; i < element.childNodes.length; i++) {\r\n removeFuncIriCallback(element.childNodes[i]._fixFuncIri);\r\n clearChildren(element.childNodes[i])\r\n }\r\n }(this.element)\r\n },\r\n dispose: function() {\r\n removeFuncIriCallback(this.element._fixFuncIri);\r\n this._clearChildrenFuncIri();\r\n this._getJQElement().remove();\r\n return this\r\n },\r\n append: function(parent) {\r\n (parent || this.renderer.root).element.appendChild(this.element);\r\n return this\r\n },\r\n remove: function() {\r\n var element = this.element;\r\n element.parentNode && element.parentNode.removeChild(element);\r\n return this\r\n },\r\n enableLinks: function() {\r\n this._links = [];\r\n return this\r\n },\r\n virtualLink: function(parameters) {\r\n linkItem({\r\n _link: buildLink(null, parameters)\r\n }, this);\r\n return this\r\n },\r\n linkAfter: function(name) {\r\n this._linkAfter = name;\r\n return this\r\n },\r\n linkOn: function(target, parameters) {\r\n this._link = buildLink(target, parameters);\r\n linkItem(this, target);\r\n return this\r\n },\r\n linkOff: function() {\r\n unlinkItem(this);\r\n this._link = null;\r\n return this\r\n },\r\n linkAppend: function() {\r\n var link = this._link;\r\n var items = link.to._links;\r\n var i;\r\n var next;\r\n for (i = link.i + 1;\r\n (next = items[i]) && !next._link.is; ++i) {}\r\n this._insert(link.to, next);\r\n link.is = true;\r\n return this\r\n },\r\n _insert: function(parent, next) {\r\n parent.element.insertBefore(this.element, next ? next.element : null)\r\n },\r\n linkRemove: function() {\r\n this.remove();\r\n this._link.is = false;\r\n return this\r\n },\r\n clear: function() {\r\n this._clearChildrenFuncIri();\r\n this._getJQElement().empty();\r\n return this\r\n },\r\n toBackground: function() {\r\n var elem = this.element;\r\n var parent = elem.parentNode;\r\n parent && parent.insertBefore(elem, parent.firstChild);\r\n return this\r\n },\r\n toForeground: function() {\r\n var elem = this.element;\r\n var parent = elem.parentNode;\r\n parent && parent.appendChild(elem);\r\n return this\r\n },\r\n attr: function(attrs) {\r\n return baseAttr(this, attrs)\r\n },\r\n smartAttr: function(attrs) {\r\n return this.attr(processHatchingAttrs(this, attrs))\r\n },\r\n css: function(styles) {\r\n return baseCss(this, styles)\r\n },\r\n animate: function(params, options, complete) {\r\n return baseAnimate(this, params, options, complete)\r\n },\r\n sharp(pos, sharpDirection) {\r\n return this.attr({\r\n sharp: pos || true,\r\n sharpDirection: sharpDirection\r\n })\r\n },\r\n _applyTransformation() {\r\n var tr = this._settings;\r\n var rotateX;\r\n var rotateY;\r\n var transformations = [];\r\n var sharpMode = tr.sharp;\r\n var trDirection = tr.sharpDirection || 1;\r\n var strokeOdd = tr[KEY_STROKE_WIDTH] % 2;\r\n var correctionX = strokeOdd && (\"h\" === sharpMode || true === sharpMode) ? SHARPING_CORRECTION * trDirection : 0;\r\n var correctionY = strokeOdd && (\"v\" === sharpMode || true === sharpMode) ? SHARPING_CORRECTION * trDirection : 0;\r\n transformations.push(\"translate(\" + ((tr.translateX || 0) + correctionX) + \",\" + ((tr.translateY || 0) + correctionY) + \")\");\r\n if (tr.rotate) {\r\n if (\"rotateX\" in tr) {\r\n rotateX = tr.rotateX\r\n } else {\r\n rotateX = tr.x\r\n }\r\n if (\"rotateY\" in tr) {\r\n rotateY = tr.rotateY\r\n } else {\r\n rotateY = tr.y\r\n }\r\n transformations.push(\"rotate(\" + tr.rotate + \",\" + (rotateX || 0) + \",\" + (rotateY || 0) + \")\")\r\n }\r\n var scaleXDefined = isDefined(tr.scaleX);\r\n var scaleYDefined = isDefined(tr.scaleY);\r\n if (scaleXDefined || scaleYDefined) {\r\n transformations.push(\"scale(\" + (scaleXDefined ? tr.scaleX : 1) + \",\" + (scaleYDefined ? tr.scaleY : 1) + \")\")\r\n }\r\n if (transformations.length) {\r\n this.element.setAttribute(\"transform\", transformations.join(\" \"))\r\n }\r\n },\r\n move: function(x, y, animate, animOptions) {\r\n var obj = {};\r\n isDefined(x) && (obj.translateX = x);\r\n isDefined(y) && (obj.translateY = y);\r\n if (!animate) {\r\n this.attr(obj)\r\n } else {\r\n this.animate(obj, animOptions)\r\n }\r\n return this\r\n },\r\n rotate: function(angle, x, y, animate, animOptions) {\r\n var obj = {\r\n rotate: angle || 0\r\n };\r\n isDefined(x) && (obj.rotateX = x);\r\n isDefined(y) && (obj.rotateY = y);\r\n if (!animate) {\r\n this.attr(obj)\r\n } else {\r\n this.animate(obj, animOptions)\r\n }\r\n return this\r\n },\r\n _getElementBBox: function() {\r\n var elem = this.element;\r\n var bBox;\r\n try {\r\n bBox = elem.getBBox && elem.getBBox()\r\n } catch (e) {}\r\n return bBox || {\r\n x: 0,\r\n y: 0,\r\n width: elem.offsetWidth || 0,\r\n height: elem.offsetHeight || 0\r\n }\r\n },\r\n getBBox: function() {\r\n var transformation = this._settings;\r\n var bBox = this._getElementBBox();\r\n if (transformation.rotate) {\r\n bBox = rotateBBox(bBox, [(\"rotateX\" in transformation ? transformation.rotateX : transformation.x) || 0, (\"rotateY\" in transformation ? transformation.rotateY : transformation.y) || 0], -transformation.rotate)\r\n } else {\r\n bBox = normalizeBBox(bBox)\r\n }\r\n return bBox\r\n },\r\n markup: function() {\r\n return getSvgMarkup(this.element)\r\n },\r\n getOffset: function() {\r\n return this._getJQElement().offset()\r\n },\r\n stopAnimation: function(disableComplete) {\r\n var animation = this.animation;\r\n animation && animation.stop(disableComplete);\r\n return this\r\n },\r\n setTitle: function(text) {\r\n var titleElem = createElement(\"title\");\r\n titleElem.textContent = text || \"\";\r\n this.element.appendChild(titleElem)\r\n },\r\n removeTitle() {\r\n detachTitleElements(this.element)\r\n },\r\n data: function(obj, val) {\r\n var elem = this.element;\r\n var key;\r\n if (void 0 !== val) {\r\n elem[obj] = val\r\n } else {\r\n for (key in obj) {\r\n elem[key] = obj[key]\r\n }\r\n }\r\n return this\r\n },\r\n on: function() {\r\n var args = [this._getJQElement()];\r\n args.push.apply(args, arguments);\r\n eventsEngine.on.apply(eventsEngine, args);\r\n return this\r\n },\r\n off: function() {\r\n var args = [this._getJQElement()];\r\n args.push.apply(args, arguments);\r\n eventsEngine.off.apply(eventsEngine, args);\r\n return this\r\n },\r\n trigger: function() {\r\n var args = [this._getJQElement()];\r\n args.push.apply(args, arguments);\r\n eventsEngine.trigger.apply(eventsEngine, args);\r\n return this\r\n }\r\n};\r\nexport var PathSvgElement = function(renderer, type) {\r\n SvgElement.call(this, renderer, \"path\", type)\r\n};\r\nPathSvgElement.prototype = objectCreate(SvgElement.prototype);\r\nextend(PathSvgElement.prototype, {\r\n constructor: PathSvgElement,\r\n attr: pathAttr,\r\n animate: pathAnimate\r\n});\r\nexport var ArcSvgElement = function(renderer) {\r\n SvgElement.call(this, renderer, \"path\", \"arc\")\r\n};\r\nArcSvgElement.prototype = objectCreate(SvgElement.prototype);\r\nextend(ArcSvgElement.prototype, {\r\n constructor: ArcSvgElement,\r\n attr: arcAttr,\r\n animate: arcAnimate\r\n});\r\nexport var RectSvgElement = function(renderer) {\r\n SvgElement.call(this, renderer, \"rect\")\r\n};\r\nRectSvgElement.prototype = objectCreate(SvgElement.prototype);\r\nextend(RectSvgElement.prototype, {\r\n constructor: RectSvgElement,\r\n attr: rectAttr\r\n});\r\nexport var TextSvgElement = function(renderer) {\r\n SvgElement.call(this, renderer, \"text\");\r\n this.css({\r\n \"white-space\": \"pre\"\r\n })\r\n};\r\nTextSvgElement.prototype = objectCreate(SvgElement.prototype);\r\nextend(TextSvgElement.prototype, {\r\n constructor: TextSvgElement,\r\n attr: textAttr,\r\n css: textCss,\r\n applyEllipsis: applyEllipsis,\r\n setMaxSize: setMaxSize,\r\n restoreText: restoreText,\r\n _getLineHeight() {\r\n return !isNaN(parseFloat(this._styles[KEY_FONT_SIZE])) ? this._styles[KEY_FONT_SIZE] : DEFAULT_FONT_SIZE\r\n }\r\n});\r\n\r\nfunction updateIndexes(items, k) {\r\n var i;\r\n var item;\r\n for (i = k; item = items[i]; ++i) {\r\n item._link.i = i\r\n }\r\n}\r\n\r\nfunction linkItem(target, container) {\r\n var items = container._links;\r\n var key = target._link.after = target._link.after || container._linkAfter;\r\n var i;\r\n var item;\r\n if (key) {\r\n for (i = 0;\r\n (item = items[i]) && item._link.name !== key; ++i) {}\r\n if (item) {\r\n for (++i;\r\n (item = items[i]) && item._link.after === key; ++i) {}\r\n }\r\n } else {\r\n i = items.length\r\n }\r\n items.splice(i, 0, target);\r\n updateIndexes(items, i)\r\n}\r\n\r\nfunction unlinkItem(target) {\r\n var i;\r\n var items = target._link.to._links;\r\n for (i = 0; items[i] !== target; ++i) {}\r\n items.splice(i, 1);\r\n updateIndexes(items, i)\r\n}\r\nexport function Renderer(options) {\r\n this.root = this._createElement(\"svg\", {\r\n xmlns: \"http://www.w3.org/2000/svg\",\r\n version: \"1.1\",\r\n fill: NONE,\r\n stroke: NONE,\r\n \"stroke-width\": 0\r\n }).attr({\r\n class: options.cssClass\r\n }).css({\r\n \"line-height\": \"normal\",\r\n \"-ms-user-select\": NONE,\r\n \"-moz-user-select\": NONE,\r\n \"-webkit-user-select\": NONE,\r\n \"-webkit-tap-highlight-color\": \"rgba(0, 0, 0, 0)\",\r\n display: \"block\",\r\n overflow: \"hidden\"\r\n });\r\n this._init();\r\n this.pathModified = !!options.pathModified;\r\n this._$container = $(options.container);\r\n this.root.append({\r\n element: options.container\r\n });\r\n this._locker = 0;\r\n this._backed = false\r\n}\r\nRenderer.prototype = {\r\n constructor: Renderer,\r\n _init: function() {\r\n this._defs = this._createElement(\"defs\").append(this.root);\r\n this._animationController = new AnimationController(this.root.element);\r\n this._animation = {\r\n enabled: true,\r\n duration: 1e3,\r\n easing: \"easeOutCubic\"\r\n }\r\n },\r\n setOptions: function(options) {\r\n this.rtl = !!options.rtl;\r\n this.encodeHtml = !!options.encodeHtml;\r\n this.updateAnimationOptions(options.animation || {});\r\n this.root.attr({\r\n direction: this.rtl ? \"rtl\" : \"ltr\"\r\n });\r\n return this\r\n },\r\n _createElement: function(tagName, attr, type) {\r\n var elem = new SvgElement(this, tagName, type);\r\n attr && elem.attr(attr);\r\n return elem\r\n },\r\n lock: function() {\r\n if (0 === this._locker) {\r\n this._backed = !this._$container.is(\":visible\");\r\n if (this._backed) {\r\n backupRoot(this.root)\r\n }\r\n }++this._locker;\r\n return this\r\n },\r\n unlock: function() {\r\n --this._locker;\r\n if (0 === this._locker) {\r\n if (this._backed) {\r\n restoreRoot(this.root, this._$container[0])\r\n }\r\n this._backed = false\r\n }\r\n return this\r\n },\r\n resize: function(width, height) {\r\n if (width >= 0 && height >= 0) {\r\n this.root.attr({\r\n width: width,\r\n height: height\r\n })\r\n }\r\n return this\r\n },\r\n dispose: function() {\r\n var key;\r\n this.root.dispose();\r\n this._defs.dispose();\r\n this._animationController.dispose();\r\n fixFuncIriCallbacks.removeByRenderer(this);\r\n for (key in this) {\r\n this[key] = null\r\n }\r\n return this\r\n },\r\n animationEnabled: function() {\r\n return !!this._animation.enabled\r\n },\r\n updateAnimationOptions: function(newOptions) {\r\n extend(this._animation, newOptions);\r\n return this\r\n },\r\n stopAllAnimations: function(lock) {\r\n this._animationController[lock ? \"lock\" : \"stop\"]();\r\n return this\r\n },\r\n animateElement: function(element, params, options) {\r\n this._animationController.animateElement(element, params, options);\r\n return this\r\n },\r\n svg: function() {\r\n return this.root.markup()\r\n },\r\n getRootOffset: function() {\r\n return this.root.getOffset()\r\n },\r\n onEndAnimation: function(endAnimation) {\r\n this._animationController.onEndAnimation(endAnimation)\r\n },\r\n rect: function(x, y, width, height) {\r\n var elem = new RectSvgElement(this);\r\n return elem.attr({\r\n x: x || 0,\r\n y: y || 0,\r\n width: width || 0,\r\n height: height || 0\r\n })\r\n },\r\n simpleRect: function() {\r\n return this._createElement(\"rect\")\r\n },\r\n circle: function(x, y, r) {\r\n return this._createElement(\"circle\", {\r\n cx: x || 0,\r\n cy: y || 0,\r\n r: r || 0\r\n })\r\n },\r\n g: function() {\r\n return this._createElement(\"g\")\r\n },\r\n image: function(x, y, w, h, href, location) {\r\n var image = this._createElement(\"image\", {\r\n x: x || 0,\r\n y: y || 0,\r\n width: w || 0,\r\n height: h || 0,\r\n preserveAspectRatio: preserveAspectRatioMap[normalizeEnum(location)] || NONE\r\n });\r\n image.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", href || \"\");\r\n return image\r\n },\r\n path: function(points, type) {\r\n var elem = new PathSvgElement(this, type);\r\n return elem.attr({\r\n points: points || []\r\n })\r\n },\r\n arc: function(x, y, innerRadius, outerRadius, startAngle, endAngle) {\r\n var elem = new ArcSvgElement(this);\r\n return elem.attr({\r\n x: x || 0,\r\n y: y || 0,\r\n innerRadius: innerRadius || 0,\r\n outerRadius: outerRadius || 0,\r\n startAngle: startAngle || 0,\r\n endAngle: endAngle || 0\r\n })\r\n },\r\n text: function(_text, x, y) {\r\n var elem = new TextSvgElement(this);\r\n return elem.attr({\r\n text: _text,\r\n x: x || 0,\r\n y: y || 0\r\n })\r\n },\r\n linearGradient: function(stops) {\r\n var id = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : getNextDefsSvgId();\r\n var rotationAngle = arguments.length > 2 ? arguments[2] : void 0;\r\n var gradient = this._createElement(\"linearGradient\", {\r\n id: id,\r\n gradientTransform: \"rotate(\".concat(rotationAngle || 0, \")\")\r\n }).append(this._defs);\r\n gradient.id = id;\r\n this._createGradientStops(stops, gradient);\r\n return gradient\r\n },\r\n radialGradient: function(stops, id) {\r\n var gradient = this._createElement(\"radialGradient\", {\r\n id: id\r\n }).append(this._defs);\r\n this._createGradientStops(stops, gradient);\r\n return gradient\r\n },\r\n _createGradientStops: function(stops, group) {\r\n stops.forEach(stop => {\r\n var _stop$stopColor;\r\n this._createElement(\"stop\", {\r\n offset: stop.offset,\r\n \"stop-color\": null !== (_stop$stopColor = stop[\"stop-color\"]) && void 0 !== _stop$stopColor ? _stop$stopColor : stop.color,\r\n \"stop-opacity\": stop.opacity\r\n }).append(group)\r\n })\r\n },\r\n pattern: function(color, hatching, _id) {\r\n hatching = hatching || {};\r\n var step = hatching.step || 6;\r\n var stepTo2 = step / 2;\r\n var stepBy15 = 1.5 * step;\r\n var id = _id || getNextDefsSvgId();\r\n var d = \"right\" === normalizeEnum(hatching.direction) ? \"M \" + stepTo2 + \" \" + -stepTo2 + \" L \" + -stepTo2 + \" \" + stepTo2 + \" M 0 \" + step + \" L \" + step + \" 0 M \" + stepBy15 + \" \" + stepTo2 + \" L \" + stepTo2 + \" \" + stepBy15 : \"M 0 0 L \" + step + \" \" + step + \" M \" + -stepTo2 + \" \" + stepTo2 + \" L \" + stepTo2 + \" \" + stepBy15 + \" M \" + stepTo2 + \" \" + -stepTo2 + \" L \" + stepBy15 + \" \" + stepTo2;\r\n var pattern = this._createElement(\"pattern\", {\r\n id: id,\r\n width: step,\r\n height: step,\r\n patternUnits: \"userSpaceOnUse\"\r\n }).append(this._defs);\r\n pattern.id = id;\r\n this.rect(0, 0, step, step).attr({\r\n fill: color,\r\n opacity: hatching.opacity\r\n }).append(pattern);\r\n new PathSvgElement(this).attr({\r\n d: d,\r\n \"stroke-width\": hatching.width || 1,\r\n stroke: color\r\n }).append(pattern);\r\n return pattern\r\n },\r\n customPattern: function(id, template, width, height) {\r\n var option = {\r\n id: id,\r\n width: width,\r\n height: height,\r\n patternContentUnits: \"userSpaceOnUse\",\r\n patternUnits: this._getPatternUnits(width, height)\r\n };\r\n var pattern = this._createElement(\"pattern\", option).append(this._defs);\r\n template.render({\r\n container: pattern.element\r\n });\r\n return pattern\r\n },\r\n _getPatternUnits: function(width, height) {\r\n if (Number(width) && Number(height)) {\r\n return \"userSpaceOnUse\"\r\n }\r\n },\r\n _getPointsWithYOffset: function(points, offset) {\r\n return points.map((function(point, index) {\r\n if (index % 2 !== 0) {\r\n return point + offset\r\n }\r\n return point\r\n }))\r\n },\r\n clipShape: function(method, methodArgs) {\r\n var id = getNextDefsSvgId();\r\n var clipPath = this._createElement(\"clipPath\", {\r\n id: id\r\n }).append(this._defs);\r\n var shape = method.apply(this, methodArgs).append(clipPath);\r\n shape.id = id;\r\n shape.remove = function() {\r\n throw \"Not implemented\"\r\n };\r\n shape.dispose = function() {\r\n clipPath.dispose();\r\n clipPath = null;\r\n return this\r\n };\r\n return shape\r\n },\r\n clipRect(x, y, width, height) {\r\n return this.clipShape(this.rect, arguments)\r\n },\r\n clipCircle(x, y, radius) {\r\n return this.clipShape(this.circle, arguments)\r\n },\r\n shadowFilter: function(x, y, width, height, offsetX, offsetY, blur, color, opacity) {\r\n var id = getNextDefsSvgId();\r\n var filter = this._createElement(\"filter\", {\r\n id: id,\r\n x: x || 0,\r\n y: y || 0,\r\n width: width || 0,\r\n height: height || 0\r\n }).append(this._defs);\r\n var gaussianBlur = this._createElement(\"feGaussianBlur\", {\r\n in: \"SourceGraphic\",\r\n result: \"gaussianBlurResult\",\r\n stdDeviation: blur || 0\r\n }).append(filter);\r\n var offset = this._createElement(\"feOffset\", {\r\n in: \"gaussianBlurResult\",\r\n result: \"offsetResult\",\r\n dx: offsetX || 0,\r\n dy: offsetY || 0\r\n }).append(filter);\r\n var flood = this._createElement(\"feFlood\", {\r\n result: \"floodResult\",\r\n \"flood-color\": color || \"\",\r\n \"flood-opacity\": opacity\r\n }).append(filter);\r\n var composite = this._createElement(\"feComposite\", {\r\n in: \"floodResult\",\r\n in2: \"offsetResult\",\r\n operator: \"in\",\r\n result: \"compositeResult\"\r\n }).append(filter);\r\n var finalComposite = this._createElement(\"feComposite\", {\r\n in: \"SourceGraphic\",\r\n in2: \"compositeResult\",\r\n operator: \"over\"\r\n }).append(filter);\r\n filter.id = id;\r\n filter.gaussianBlur = gaussianBlur;\r\n filter.offset = offset;\r\n filter.flood = flood;\r\n filter.composite = composite;\r\n filter.finalComposite = finalComposite;\r\n filter.attr = function(attrs) {\r\n var filterAttrs = {};\r\n var offsetAttrs = {};\r\n var floodAttrs = {};\r\n \"x\" in attrs && (filterAttrs.x = attrs.x);\r\n \"y\" in attrs && (filterAttrs.y = attrs.y);\r\n \"width\" in attrs && (filterAttrs.width = attrs.width);\r\n \"height\" in attrs && (filterAttrs.height = attrs.height);\r\n baseAttr(this, filterAttrs);\r\n \"blur\" in attrs && this.gaussianBlur.attr({\r\n stdDeviation: attrs.blur\r\n });\r\n \"offsetX\" in attrs && (offsetAttrs.dx = attrs.offsetX);\r\n \"offsetY\" in attrs && (offsetAttrs.dy = attrs.offsetY);\r\n this.offset.attr(offsetAttrs);\r\n \"color\" in attrs && (floodAttrs[\"flood-color\"] = attrs.color);\r\n \"opacity\" in attrs && (floodAttrs[\"flood-opacity\"] = attrs.opacity);\r\n this.flood.attr(floodAttrs);\r\n return this\r\n };\r\n return filter\r\n },\r\n brightFilter: function(type, slope) {\r\n var id = getNextDefsSvgId();\r\n var filter = this._createElement(\"filter\", {\r\n id: id\r\n }).append(this._defs);\r\n var componentTransferElement = this._createElement(\"feComponentTransfer\").append(filter);\r\n var attrs = {\r\n type: type,\r\n slope: slope\r\n };\r\n filter.id = id;\r\n this._createElement(\"feFuncR\", attrs).append(componentTransferElement);\r\n this._createElement(\"feFuncG\", attrs).append(componentTransferElement);\r\n this._createElement(\"feFuncB\", attrs).append(componentTransferElement);\r\n return filter\r\n },\r\n getGrayScaleFilter: function() {\r\n if (this._grayScaleFilter) {\r\n return this._grayScaleFilter\r\n }\r\n var id = getNextDefsSvgId();\r\n var filter = this._createElement(\"filter\", {\r\n id: id\r\n }).append(this._defs);\r\n this._createElement(\"feColorMatrix\").attr({\r\n type: \"matrix\",\r\n values: \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 0.6 0\"\r\n }).append(filter);\r\n filter.id = id;\r\n this._grayScaleFilter = filter;\r\n return filter\r\n },\r\n lightenFilter: function(id) {\r\n var filter = this._createElement(\"filter\", {\r\n id: id\r\n }).append(this._defs);\r\n this._createElement(\"feColorMatrix\", {\r\n type: \"matrix\",\r\n values: \"\".concat(1.3, \" 0 0 0 0 0 \").concat(1.3, \" 0 0 0 0 0 \").concat(1.3, \" 0 0 0 0 0 1 0\")\r\n }).append(filter);\r\n filter.id = id;\r\n return filter\r\n },\r\n initDefsElements: function() {\r\n var storage = this._defsElementsStorage = this._defsElementsStorage || {\r\n byHash: {},\r\n baseId: getNextDefsSvgId()\r\n };\r\n var byHash = storage.byHash;\r\n var name;\r\n for (name in byHash) {\r\n byHash[name].pattern.dispose()\r\n }\r\n storage.byHash = {};\r\n storage.refToHash = {};\r\n storage.nextId = 0\r\n },\r\n drawPattern: function(_ref4, storageId, nextId) {\r\n var {\r\n color: color,\r\n hatching: hatching\r\n } = _ref4;\r\n return this.pattern(color, hatching, \"\".concat(storageId, \"-hatching-\").concat(nextId++))\r\n },\r\n drawFilter: function(_, storageId, nextId) {\r\n return this.lightenFilter(\"\".concat(storageId, \"-lightening-\").concat(nextId++))\r\n },\r\n lockDefsElements: function(attrs, ref, type) {\r\n var storage = this._defsElementsStorage;\r\n var storageItem;\r\n var hash = \"pattern\" === type ? getHatchingHash(attrs) : LIGHTENING_HASH;\r\n var method = \"pattern\" === type ? this.drawPattern : this.drawFilter;\r\n var pattern;\r\n if (storage.refToHash[ref] !== hash) {\r\n if (ref) {\r\n this.releaseDefsElements(ref)\r\n }\r\n storageItem = storage.byHash[hash];\r\n if (!storageItem) {\r\n pattern = method.call(this, attrs, storage.baseId, storage.nextId++);\r\n storageItem = storage.byHash[hash] = {\r\n pattern: pattern,\r\n count: 0\r\n };\r\n storage.refToHash[pattern.id] = hash\r\n }++storageItem.count;\r\n ref = storageItem.pattern.id\r\n }\r\n return ref\r\n },\r\n releaseDefsElements: function(ref) {\r\n var storage = this._defsElementsStorage;\r\n var hash = storage.refToHash[ref];\r\n var storageItem = storage.byHash[hash];\r\n if (storageItem && 0 === --storageItem.count) {\r\n storageItem.pattern.dispose();\r\n delete storage.byHash[hash];\r\n delete storage.refToHash[ref]\r\n }\r\n }\r\n};\r\n\r\nfunction getHatchingHash(_ref5) {\r\n var {\r\n color: color,\r\n hatching: hatching\r\n } = _ref5;\r\n return \"@\" + color + \"::\" + hatching.step + \":\" + hatching.width + \":\" + hatching.opacity + \":\" + hatching.direction\r\n}\r\nvar fixFuncIriCallbacks = function() {\r\n var callbacks = [];\r\n return {\r\n add: function(fn) {\r\n callbacks.push(fn)\r\n },\r\n remove: function(fn) {\r\n callbacks = callbacks.filter((function(el) {\r\n return el !== fn\r\n }))\r\n },\r\n removeByRenderer: function(renderer) {\r\n callbacks = callbacks.filter((function(el) {\r\n return el.renderer !== renderer\r\n }))\r\n },\r\n fire: function() {\r\n callbacks.forEach((function(fn) {\r\n fn()\r\n }))\r\n }\r\n }\r\n}();\r\nexport var refreshPaths = function() {\r\n fixFuncIriCallbacks.fire()\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/palette.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n normalizeEnum\r\n} from \"./core/utils\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nvar _floor = Math.floor;\r\nvar _ceil = Math.ceil;\r\nimport _Color from \"../color\";\r\nvar _isArray = Array.isArray;\r\nimport {\r\n isString as _isString\r\n} from \"../core/utils/type\";\r\nvar HIGHLIGHTING_STEP = 50;\r\nvar DEFAULT_PALETTE = \"material\";\r\nvar officePalette = {\r\n simpleSet: [\"#5f8b95\", \"#ba4d51\", \"#af8a53\", \"#955f71\", \"#859666\", \"#7e688c\"],\r\n indicatingSet: [\"#a3b97c\", \"#e1b676\", \"#ec7f83\"],\r\n gradientSet: [\"#5f8b95\", \"#ba4d51\"],\r\n accentColor: \"#ba4d51\"\r\n};\r\nvar palettes = {\r\n [DEFAULT_PALETTE]: {\r\n simpleSet: [\"#1db2f5\", \"#f5564a\", \"#97c95c\", \"#ffc720\", \"#eb3573\", \"#a63db8\"],\r\n indicatingSet: [\"#97c95c\", \"#ffc720\", \"#f5564a\"],\r\n gradientSet: [\"#1db2f5\", \"#97c95c\"],\r\n accentColor: \"#1db2f5\"\r\n },\r\n office: officePalette,\r\n \"harmony light\": {\r\n simpleSet: [\"#fcb65e\", \"#679ec5\", \"#ad79ce\", \"#7abd5c\", \"#e18e92\", \"#b6d623\", \"#b7abea\", \"#85dbd5\"],\r\n indicatingSet: [\"#b6d623\", \"#fcb65e\", \"#e18e92\"],\r\n gradientSet: [\"#7abd5c\", \"#fcb65e\"],\r\n accentColor: \"#679ec5\"\r\n },\r\n \"soft pastel\": {\r\n simpleSet: [\"#60a69f\", \"#78b6d9\", \"#6682bb\", \"#a37182\", \"#eeba69\", \"#90ba58\", \"#456c68\", \"#7565a4\"],\r\n indicatingSet: [\"#90ba58\", \"#eeba69\", \"#a37182\"],\r\n gradientSet: [\"#78b6d9\", \"#eeba69\"],\r\n accentColor: \"#60a69f\"\r\n },\r\n pastel: {\r\n simpleSet: [\"#bb7862\", \"#70b3a1\", \"#bb626a\", \"#057d85\", \"#ab394b\", \"#dac599\", \"#153459\", \"#b1d2c6\"],\r\n indicatingSet: [\"#70b3a1\", \"#dac599\", \"#bb626a\"],\r\n gradientSet: [\"#bb7862\", \"#70b3a1\"],\r\n accentColor: \"#bb7862\"\r\n },\r\n bright: {\r\n simpleSet: [\"#70c92f\", \"#f8ca00\", \"#bd1550\", \"#e97f02\", \"#9d419c\", \"#7e4452\", \"#9ab57e\", \"#36a3a6\"],\r\n indicatingSet: [\"#70c92f\", \"#f8ca00\", \"#bd1550\"],\r\n gradientSet: [\"#e97f02\", \"#f8ca00\"],\r\n accentColor: \"#e97f02\"\r\n },\r\n soft: {\r\n simpleSet: [\"#cbc87b\", \"#9ab57e\", \"#e55253\", \"#7e4452\", \"#e8c267\", \"#565077\", \"#6babac\", \"#ad6082\"],\r\n indicatingSet: [\"#9ab57e\", \"#e8c267\", \"#e55253\"],\r\n gradientSet: [\"#9ab57e\", \"#e8c267\"],\r\n accentColor: \"#565077\"\r\n },\r\n ocean: {\r\n simpleSet: [\"#75c099\", \"#acc371\", \"#378a8a\", \"#5fa26a\", \"#064970\", \"#38c5d2\", \"#00a7c6\", \"#6f84bb\"],\r\n indicatingSet: [\"#c8e394\", \"#7bc59d\", \"#397c8b\"],\r\n gradientSet: [\"#acc371\", \"#38c5d2\"],\r\n accentColor: \"#378a8a\"\r\n },\r\n vintage: {\r\n simpleSet: [\"#dea484\", \"#efc59c\", \"#cb715e\", \"#eb9692\", \"#a85c4c\", \"#f2c0b5\", \"#c96374\", \"#dd956c\"],\r\n indicatingSet: [\"#ffe5c6\", \"#f4bb9d\", \"#e57660\"],\r\n gradientSet: [\"#efc59c\", \"#cb715e\"],\r\n accentColor: \"#cb715e\"\r\n },\r\n violet: {\r\n simpleSet: [\"#d1a1d1\", \"#eeacc5\", \"#7b5685\", \"#7e7cad\", \"#a13d73\", \"#5b41ab\", \"#e287e2\", \"#689cc1\"],\r\n indicatingSet: [\"#d8e2f6\", \"#d0b2da\", \"#d56a8a\"],\r\n gradientSet: [\"#eeacc5\", \"#7b5685\"],\r\n accentColor: \"#7b5685\"\r\n },\r\n carmine: {\r\n simpleSet: [\"#fb7764\", \"#73d47f\", \"#fed85e\", \"#d47683\", \"#dde392\", \"#757ab2\"],\r\n indicatingSet: [\"#5cb85c\", \"#f0ad4e\", \"#d9534f\"],\r\n gradientSet: [\"#fb7764\", \"#73d47f\"],\r\n accentColor: \"#f05b41\"\r\n },\r\n \"dark moon\": {\r\n simpleSet: [\"#4ddac1\", \"#f4c99a\", \"#80dd9b\", \"#f998b3\", \"#4aaaa0\", \"#a5aef1\"],\r\n indicatingSet: [\"#59d8a4\", \"#f0ad4e\", \"#f9517e\"],\r\n gradientSet: [\"#4ddac1\", \"#f4c99a\"],\r\n accentColor: \"#3debd3\"\r\n },\r\n \"soft blue\": {\r\n simpleSet: [\"#7ab8eb\", \"#97da97\", \"#facb86\", \"#e78683\", \"#839bda\", \"#4db7be\"],\r\n indicatingSet: [\"#5cb85c\", \"#f0ad4e\", \"#d9534f\"],\r\n gradientSet: [\"#7ab8eb\", \"#97da97\"],\r\n accentColor: \"#7ab8eb\"\r\n },\r\n \"dark violet\": {\r\n simpleSet: [\"#9c63ff\", \"#64c064\", \"#eead51\", \"#d2504b\", \"#4b6bbf\", \"#2da7b0\"],\r\n indicatingSet: [\"#5cb85c\", \"#f0ad4e\", \"#d9534f\"],\r\n gradientSet: [\"#9c63ff\", \"#64c064\"],\r\n accentColor: \"#9c63ff\"\r\n },\r\n \"green mist\": {\r\n simpleSet: [\"#3cbab2\", \"#8ed962\", \"#5b9d95\", \"#efcc7c\", \"#f1929f\", \"#4d8dab\"],\r\n indicatingSet: [\"#72d63c\", \"#ffc852\", \"#f74a5e\"],\r\n gradientSet: [\"#3cbab2\", \"#8ed962\"],\r\n accentColor: \"#3cbab2\"\r\n }\r\n};\r\nvar currentPaletteName;\r\nexport function currentPalette(name) {\r\n if (void 0 === name) {\r\n return currentPaletteName || DEFAULT_PALETTE\r\n } else {\r\n name = normalizeEnum(name);\r\n currentPaletteName = name in palettes ? name : void 0\r\n }\r\n}\r\nexport function generateColors(palette, count) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {\r\n keepLastColorInEnd: false\r\n };\r\n options.type = options.baseColorSet;\r\n options.extensionMode = options.paletteExtensionMode;\r\n return createPalette(palette, options).generateColors(count)\r\n}\r\nexport function getPalette(palette, parameters) {\r\n parameters = parameters || {};\r\n palette = palette || (void 0 === currentPaletteName ? parameters.themeDefault : currentPalette());\r\n var result;\r\n var type = parameters.type;\r\n if (_isArray(palette)) {\r\n return palette.slice(0)\r\n } else {\r\n if (_isString(palette)) {\r\n result = palettes[normalizeEnum(palette)]\r\n }\r\n if (!result) {\r\n result = palettes[currentPalette()]\r\n }\r\n }\r\n return type ? result[type].slice(0) : result\r\n}\r\nexport function registerPalette(name, palette) {\r\n var item = {};\r\n var paletteName;\r\n if (_isArray(palette)) {\r\n item.simpleSet = palette.slice(0)\r\n } else if (palette) {\r\n item.simpleSet = _isArray(palette.simpleSet) ? palette.simpleSet.slice(0) : void 0;\r\n item.indicatingSet = _isArray(palette.indicatingSet) ? palette.indicatingSet.slice(0) : void 0;\r\n item.gradientSet = _isArray(palette.gradientSet) ? palette.gradientSet.slice(0) : void 0;\r\n item.accentColor = palette.accentColor\r\n }\r\n if (!item.accentColor) {\r\n item.accentColor = item.simpleSet && item.simpleSet[0]\r\n }\r\n if (item.simpleSet || item.indicatingSet || item.gradientSet) {\r\n paletteName = normalizeEnum(name);\r\n extend(palettes[paletteName] = palettes[paletteName] || {}, item)\r\n }\r\n}\r\nexport function getAccentColor(palette, themeDefault) {\r\n palette = getPalette(palette, {\r\n themeDefault: themeDefault\r\n });\r\n return palette.accentColor || palette[0]\r\n}\r\n\r\nfunction RingBuf(buf) {\r\n var ind = 0;\r\n this.next = function() {\r\n var res = buf[ind++];\r\n if (ind === buf.length) {\r\n this.reset()\r\n }\r\n return res\r\n };\r\n this.reset = function() {\r\n ind = 0\r\n }\r\n}\r\n\r\nfunction getAlternateColorsStrategy(palette, parameters) {\r\n var stepHighlight = parameters.useHighlight ? HIGHLIGHTING_STEP : 0;\r\n var paletteSteps = new RingBuf([0, stepHighlight, -stepHighlight]);\r\n var currentPalette = [];\r\n\r\n function _reset() {\r\n var step = paletteSteps.next();\r\n currentPalette = step ? getAlteredPalette(palette, step) : palette.slice(0)\r\n }\r\n return {\r\n getColor: function(index) {\r\n var color = currentPalette[index % palette.length];\r\n if (index % palette.length === palette.length - 1) {\r\n _reset()\r\n }\r\n return color\r\n },\r\n generateColors: function(count) {\r\n var colors = [];\r\n count = count || parameters.count;\r\n for (var i = 0; i < count; i++) {\r\n colors.push(this.getColor(i))\r\n }\r\n return colors\r\n },\r\n reset: function() {\r\n paletteSteps.reset();\r\n _reset()\r\n }\r\n }\r\n}\r\n\r\nfunction getExtrapolateColorsStrategy(palette, parameters) {\r\n return {\r\n getColor: function(index, count) {\r\n var paletteCount = palette.length;\r\n var cycles = _floor((count - 1) / paletteCount + 1);\r\n var color = palette[index % paletteCount];\r\n if (cycles > 1) {\r\n return function(color, cycleIndex, cycleCount) {\r\n var hsl = new _Color(color).hsl;\r\n var l = hsl.l / 100;\r\n var diapason = cycleCount - 1 / cycleCount;\r\n var minL = l - .5 * diapason;\r\n var maxL = l + .5 * diapason;\r\n var cycleMiddle = (cycleCount - 1) / 2;\r\n var cycleDiff = cycleIndex - cycleMiddle;\r\n if (minL < Math.min(.5, .9 * l)) {\r\n minL = Math.min(.5, .9 * l)\r\n }\r\n if (maxL > Math.max(.8, l + .15 * (1 - l))) {\r\n maxL = Math.max(.8, l + .15 * (1 - l))\r\n }\r\n if (cycleDiff < 0) {\r\n l -= (minL - l) * cycleDiff / cycleMiddle\r\n } else {\r\n l += cycleDiff / cycleMiddle * (maxL - l)\r\n }\r\n hsl.l = 100 * l;\r\n return _Color.prototype.fromHSL(hsl).toHex()\r\n }(color, _floor(index / paletteCount), cycles)\r\n }\r\n return color\r\n },\r\n generateColors: function(count) {\r\n var colors = [];\r\n count = count || parameters.count;\r\n for (var i = 0; i < count; i++) {\r\n colors.push(this.getColor(i, count))\r\n }\r\n return colors\r\n },\r\n reset: function() {}\r\n }\r\n}\r\n\r\nfunction getColorMixer(palette, parameters) {\r\n var paletteCount = palette.length;\r\n var extendedPalette = [];\r\n\r\n function distributeColors(count, colorsCount, startIndex, distribution) {\r\n var groupSize = Math.floor(count / colorsCount);\r\n var extraItems = count - colorsCount * groupSize;\r\n var i = startIndex;\r\n var middleIndex;\r\n var size;\r\n while (i < startIndex + count) {\r\n size = groupSize;\r\n if (extraItems > 0) {\r\n size += 1;\r\n extraItems--\r\n }\r\n middleIndex = size > 2 ? Math.floor(size / 2) : 0;\r\n distribution.push(i + middleIndex);\r\n i += size\r\n }\r\n return distribution.sort((function(a, b) {\r\n return a - b\r\n }))\r\n }\r\n\r\n function getColorAndDistance(arr, startIndex, count) {\r\n startIndex = (count + startIndex) % count;\r\n var distance = 0;\r\n for (var i = startIndex; i < 2 * count; i += 1) {\r\n var index = (count + i) % count;\r\n if (arr[index]) {\r\n return [arr[index], distance]\r\n }\r\n distance++\r\n }\r\n }\r\n\r\n function extendPalette(count) {\r\n if (count <= paletteCount) {\r\n return palette\r\n }\r\n var result = [];\r\n var colorInGroups = paletteCount - 2;\r\n var currentColorIndex = 0;\r\n var cleanColorIndices = [];\r\n if (parameters.keepLastColorInEnd) {\r\n cleanColorIndices = distributeColors(count - 2, colorInGroups, 1, [0, count - 1])\r\n } else {\r\n cleanColorIndices = distributeColors(count - 1, paletteCount - 1, 1, [0])\r\n }\r\n for (var i = 0; i < count; i++) {\r\n if (cleanColorIndices.indexOf(i) > -1) {\r\n result[i] = palette[currentColorIndex++]\r\n }\r\n }\r\n result = function(paletteWithEmptyColors, paletteLength) {\r\n for (var i = 0; i < paletteLength; i++) {\r\n var color = paletteWithEmptyColors[i];\r\n if (!color) {\r\n var color1 = paletteWithEmptyColors[i - 1];\r\n if (!color1) {\r\n continue\r\n } else {\r\n var c2 = getColorAndDistance(paletteWithEmptyColors, i, paletteLength);\r\n var color2 = new _Color(c2[0]);\r\n color1 = new _Color(color1);\r\n for (var j = 0; j < c2[1]; j++, i++) {\r\n paletteWithEmptyColors[i] = color1.blend(color2, (j + 1) / (c2[1] + 1)).toHex()\r\n }\r\n }\r\n }\r\n }\r\n return paletteWithEmptyColors\r\n }(result, count);\r\n return result\r\n }\r\n return {\r\n getColor: function(index, count) {\r\n count = count || parameters.count || paletteCount;\r\n if (extendedPalette.length !== count) {\r\n extendedPalette = extendPalette(count)\r\n }\r\n return extendedPalette[index % count]\r\n },\r\n generateColors: function(count, repeat) {\r\n count = count || parameters.count || paletteCount;\r\n if (repeat && count > paletteCount) {\r\n var colors = extendPalette(paletteCount);\r\n for (var i = 0; i < count - paletteCount; i++) {\r\n colors.push(colors[i])\r\n }\r\n return colors\r\n } else {\r\n return paletteCount > 0 ? extendPalette(count).slice(0, count) : []\r\n }\r\n },\r\n reset: function() {}\r\n }\r\n}\r\nexport function createPalette(palette, parameters, themeDefaultPalette) {\r\n var paletteObj = {\r\n dispose() {\r\n this._extensionStrategy = null\r\n },\r\n getNextColor(count) {\r\n return this._extensionStrategy.getColor(this._currentColor++, count)\r\n },\r\n generateColors(count, parameters) {\r\n return this._extensionStrategy.generateColors(count, (parameters || {}).repeat)\r\n },\r\n reset() {\r\n this._currentColor = 0;\r\n this._extensionStrategy.reset();\r\n return this\r\n }\r\n };\r\n parameters = parameters || {};\r\n var extensionMode = (parameters.extensionMode || \"\").toLowerCase();\r\n var colors = getPalette(palette, {\r\n type: parameters.type || \"simpleSet\",\r\n themeDefault: themeDefaultPalette\r\n });\r\n if (\"alternate\" === extensionMode) {\r\n paletteObj._extensionStrategy = getAlternateColorsStrategy(colors, parameters)\r\n } else if (\"extrapolate\" === extensionMode) {\r\n paletteObj._extensionStrategy = getExtrapolateColorsStrategy(colors, parameters)\r\n } else {\r\n paletteObj._extensionStrategy = getColorMixer(colors, parameters)\r\n }\r\n paletteObj.reset();\r\n return paletteObj\r\n}\r\n\r\nfunction getAlteredPalette(originalPalette, step) {\r\n var palette = [];\r\n var i;\r\n var ii = originalPalette.length;\r\n for (i = 0; i < ii; ++i) {\r\n palette.push(getNewColor(originalPalette[i], step))\r\n }\r\n return palette\r\n}\r\n\r\nfunction getNewColor(currentColor, step) {\r\n var newColor = new _Color(currentColor).alter(step);\r\n var lightness = getLightness(newColor);\r\n if (lightness > 200 || lightness < 55) {\r\n newColor = new _Color(currentColor).alter(-step / 2)\r\n }\r\n return newColor.toHex()\r\n}\r\n\r\nfunction getLightness(color) {\r\n return .3 * color.r + .59 * color.g + .11 * color.b\r\n}\r\nexport function getDiscretePalette(source, size, themeDefaultPalette) {\r\n var palette = size > 0 ? createDiscreteColors(getPalette(source, {\r\n type: \"gradientSet\",\r\n themeDefault: themeDefaultPalette\r\n }), size) : [];\r\n return {\r\n getColor: function(index) {\r\n return palette[index] || null\r\n }\r\n }\r\n}\r\n\r\nfunction createDiscreteColors(source, count) {\r\n var colorCount = count - 1;\r\n var sourceCount = source.length - 1;\r\n var colors = [];\r\n var gradient = [];\r\n var i;\r\n\r\n function addColor(pos) {\r\n var k = sourceCount * pos;\r\n var kl = _floor(k);\r\n var kr = _ceil(k);\r\n gradient.push(colors[kl].blend(colors[kr], k - kl).toHex())\r\n }\r\n for (i = 0; i <= sourceCount; ++i) {\r\n colors.push(new _Color(source[i]))\r\n }\r\n if (colorCount > 0) {\r\n for (i = 0; i <= colorCount; ++i) {\r\n addColor(i / colorCount)\r\n }\r\n } else {\r\n addColor(.5)\r\n }\r\n return gradient\r\n}\r\nexport function getGradientPalette(source, themeDefaultPalette) {\r\n var palette = getPalette(source, {\r\n type: \"gradientSet\",\r\n themeDefault: themeDefaultPalette\r\n });\r\n var color1 = new _Color(palette[0]);\r\n var color2 = new _Color(palette[1]);\r\n return {\r\n getColor: function(ratio) {\r\n return 0 <= ratio && ratio <= 1 ? color1.blend(color2, ratio).toHex() : null\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n refreshPaths\r\n} from \"./core/renderers/renderer\";\r\nimport {\r\n each as _each\r\n} from \"../core/utils/iterator\";\r\nexport var prepareSegmentRectPoints = function(left, top, width, height, borderOptions) {\r\n var maxSW = ~~((width < height ? width : height) / 2);\r\n var sw = borderOptions.width || 0;\r\n var newSW = sw < maxSW ? sw : maxSW;\r\n left += newSW / 2;\r\n top += newSW / 2;\r\n width -= newSW;\r\n height -= newSW;\r\n var right = left + width;\r\n var bottom = top + height;\r\n var points = [];\r\n var segments = [];\r\n var segmentSequence;\r\n var visiblyOpt = 0;\r\n var prevSegmentVisibility = 0;\r\n var allSegment = {\r\n top: [\r\n [left, top],\r\n [right, top]\r\n ],\r\n right: [\r\n [right, top],\r\n [right, bottom]\r\n ],\r\n bottom: [\r\n [right, bottom],\r\n [left, bottom]\r\n ],\r\n left: [\r\n [left, bottom],\r\n [left, top]\r\n ]\r\n };\r\n _each(allSegment, (function(seg) {\r\n var visibility = !!borderOptions[seg];\r\n visiblyOpt = 2 * visiblyOpt + ~~visibility\r\n }));\r\n switch (visiblyOpt) {\r\n case 13:\r\n case 9:\r\n segmentSequence = [\"left\", \"top\", \"right\", \"bottom\"];\r\n break;\r\n case 11:\r\n segmentSequence = [\"bottom\", \"left\", \"top\", \"right\"];\r\n break;\r\n default:\r\n segmentSequence = [\"top\", \"right\", \"bottom\", \"left\"]\r\n }\r\n _each(segmentSequence, (function(_, seg) {\r\n var segmentVisibility = !!borderOptions[seg];\r\n if (!prevSegmentVisibility && segments.length) {\r\n points.push(segments);\r\n segments = []\r\n }\r\n if (segmentVisibility) {\r\n _each(allSegment[seg].slice(prevSegmentVisibility), (function(_, segment) {\r\n segments = segments.concat(segment)\r\n }))\r\n }\r\n prevSegmentVisibility = ~~segmentVisibility\r\n }));\r\n segments.length && points.push(segments);\r\n 1 === points.length && (points = points[0]);\r\n return {\r\n points: points,\r\n pathType: 15 === visiblyOpt ? \"area\" : \"line\"\r\n }\r\n};\r\nexport {\r\n refreshPaths\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.light.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar WHITE = \"#ffffff\";\r\nvar BLACK = \"#000000\";\r\nvar LIGHT_GREY = \"#d3d3d3\";\r\nvar GREY_GREEN = \"#303030\";\r\nvar SOME_GREY = \"#2b2b2b\";\r\nvar RED = \"#ff0000\";\r\nvar PRIMARY_TITLE_COLOR = \"#232323\";\r\nvar SECONDARY_TITLE_COLOR = \"#767676\";\r\nvar NONE = \"none\";\r\nvar SOLID = \"solid\";\r\nvar TOP = \"top\";\r\nvar RIGHT = \"right\";\r\nvar BOTTOM = \"bottom\";\r\nvar LEFT = \"left\";\r\nvar CENTER = \"center\";\r\nvar INSIDE = \"inside\";\r\nvar OUTSIDE = \"outside\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.light\",\r\n isDefault: true,\r\n font: {\r\n color: SECONDARY_TITLE_COLOR,\r\n family: \"'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana, sans-serif\",\r\n weight: 400,\r\n size: 12,\r\n cursor: \"default\"\r\n },\r\n redrawOnResize: true,\r\n backgroundColor: WHITE,\r\n primaryTitleColor: PRIMARY_TITLE_COLOR,\r\n secondaryTitleColor: SECONDARY_TITLE_COLOR,\r\n gridColor: LIGHT_GREY,\r\n axisColor: SECONDARY_TITLE_COLOR,\r\n title: {\r\n backgroundColor: WHITE,\r\n font: {\r\n size: 28,\r\n family: \"'Segoe UI Light', 'Helvetica Neue Light', 'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana, sans-serif\",\r\n weight: 200\r\n },\r\n subtitle: {\r\n font: {\r\n size: 16\r\n },\r\n offset: 0,\r\n wordWrap: \"normal\",\r\n textOverflow: \"ellipsis\"\r\n },\r\n wordWrap: \"normal\",\r\n textOverflow: \"ellipsis\"\r\n },\r\n loadingIndicator: {\r\n text: \"Loading...\"\r\n },\r\n export: {\r\n backgroundColor: WHITE,\r\n margin: 10,\r\n font: {\r\n size: 14,\r\n color: PRIMARY_TITLE_COLOR,\r\n weight: 400\r\n },\r\n button: {\r\n margin: {\r\n top: 8,\r\n left: 10,\r\n right: 10,\r\n bottom: 8\r\n },\r\n default: {\r\n color: \"#333\",\r\n borderColor: \"#ddd\",\r\n backgroundColor: WHITE\r\n },\r\n hover: {\r\n color: \"#333\",\r\n borderColor: \"#bebebe\",\r\n backgroundColor: \"#e6e6e6\"\r\n },\r\n focus: {\r\n color: BLACK,\r\n borderColor: \"#9d9d9d\",\r\n backgroundColor: \"#e6e6e6\"\r\n },\r\n active: {\r\n color: \"#333\",\r\n borderColor: \"#9d9d9d\",\r\n backgroundColor: \"#d4d4d4\"\r\n }\r\n },\r\n shadowColor: LIGHT_GREY\r\n },\r\n tooltip: {\r\n enabled: false,\r\n border: {\r\n width: 1,\r\n color: LIGHT_GREY,\r\n dashStyle: SOLID,\r\n visible: true\r\n },\r\n font: {\r\n color: PRIMARY_TITLE_COLOR\r\n },\r\n color: WHITE,\r\n arrowLength: 10,\r\n paddingLeftRight: 18,\r\n paddingTopBottom: 15,\r\n textAlignment: \"center\",\r\n shared: false,\r\n location: CENTER,\r\n shadow: {\r\n opacity: .4,\r\n offsetX: 0,\r\n offsetY: 4,\r\n blur: 2,\r\n color: BLACK\r\n },\r\n interactive: false\r\n },\r\n legend: {\r\n hoverMode: \"includePoints\",\r\n verticalAlignment: TOP,\r\n horizontalAlignment: RIGHT,\r\n position: OUTSIDE,\r\n visible: true,\r\n margin: 10,\r\n markerSize: 12,\r\n border: {\r\n visible: false,\r\n width: 1,\r\n cornerRadius: 0,\r\n dashStyle: SOLID\r\n },\r\n paddingLeftRight: 20,\r\n paddingTopBottom: 15,\r\n columnCount: 0,\r\n rowCount: 0,\r\n columnItemSpacing: 20,\r\n rowItemSpacing: 8,\r\n title: {\r\n backgroundColor: WHITE,\r\n margin: {\r\n left: 0,\r\n bottom: 9,\r\n right: 0,\r\n top: 0\r\n },\r\n font: {\r\n size: 18,\r\n weight: 200\r\n },\r\n subtitle: {\r\n offset: 0,\r\n font: {\r\n size: 14\r\n },\r\n wordWrap: \"none\",\r\n textOverflow: \"ellipsis\"\r\n },\r\n wordWrap: \"none\",\r\n textOverflow: \"ellipsis\"\r\n }\r\n },\r\n \"chart:common\": {\r\n animation: {\r\n enabled: true,\r\n duration: 1e3,\r\n easing: \"easeOutCubic\",\r\n maxPointCountSupported: 300\r\n },\r\n commonSeriesSettings: {\r\n border: {\r\n visible: false,\r\n width: 2\r\n },\r\n showInLegend: true,\r\n visible: true,\r\n hoverMode: \"nearestPoint\",\r\n selectionMode: \"includePoints\",\r\n hoverStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 2,\r\n step: 6,\r\n opacity: .75\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 3\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 2,\r\n step: 6,\r\n opacity: .5\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 3\r\n }\r\n },\r\n valueErrorBar: {\r\n displayMode: \"auto\",\r\n value: 1,\r\n color: BLACK,\r\n lineWidth: 2,\r\n edgeLength: 8\r\n },\r\n label: {\r\n visible: false,\r\n alignment: CENTER,\r\n rotationAngle: 0,\r\n horizontalOffset: 0,\r\n verticalOffset: 0,\r\n radialOffset: 0,\r\n showForZeroValues: true,\r\n customizeText: void 0,\r\n maxLabelCount: void 0,\r\n position: OUTSIDE,\r\n font: {\r\n color: WHITE\r\n },\r\n border: {\r\n visible: false,\r\n width: 1,\r\n color: LIGHT_GREY,\r\n dashStyle: SOLID\r\n },\r\n connector: {\r\n visible: false,\r\n width: 1\r\n }\r\n }\r\n },\r\n seriesSelectionMode: \"single\",\r\n pointSelectionMode: \"single\",\r\n equalRowHeight: true,\r\n dataPrepareSettings: {\r\n checkTypeForAllData: false,\r\n convertToAxisDataType: true,\r\n sortingMethod: true\r\n },\r\n title: {\r\n margin: 10\r\n },\r\n adaptiveLayout: {\r\n width: 80,\r\n height: 80,\r\n keepLabels: true\r\n },\r\n _rtl: {\r\n legend: {\r\n itemTextPosition: LEFT\r\n }\r\n },\r\n resolveLabelOverlapping: NONE\r\n },\r\n \"chart:common:axis\": {\r\n visible: true,\r\n valueMarginsEnabled: true,\r\n placeholderSize: null,\r\n logarithmBase: 10,\r\n discreteAxisDivisionMode: \"betweenLabels\",\r\n aggregatedPointsPosition: \"betweenTicks\",\r\n width: 1,\r\n label: {\r\n visible: true\r\n },\r\n grid: {\r\n visible: false,\r\n width: 1\r\n },\r\n minorGrid: {\r\n visible: false,\r\n width: 1,\r\n opacity: .3\r\n },\r\n tick: {\r\n visible: true,\r\n width: 1,\r\n length: 7,\r\n shift: 3\r\n },\r\n minorTick: {\r\n visible: false,\r\n width: 1,\r\n opacity: .3,\r\n length: 7,\r\n shift: 3\r\n },\r\n stripStyle: {\r\n paddingLeftRight: 10,\r\n paddingTopBottom: 5\r\n },\r\n constantLineStyle: {\r\n width: 1,\r\n color: BLACK,\r\n dashStyle: SOLID,\r\n label: {\r\n visible: true,\r\n position: INSIDE\r\n }\r\n },\r\n marker: {\r\n label: {}\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: \"#333333\"\r\n },\r\n tooltipEnabled: true,\r\n border: {\r\n width: 1,\r\n color: \"#dddddd\",\r\n dashStyle: SOLID,\r\n visible: true\r\n },\r\n color: WHITE,\r\n opacity: .9,\r\n arrowLength: 14,\r\n arrowWidth: 14,\r\n paddingLeftRight: 10,\r\n paddingTopBottom: 10,\r\n shadow: {\r\n opacity: .15,\r\n offsetX: 0,\r\n offsetY: 1,\r\n blur: 4,\r\n color: BLACK\r\n },\r\n image: {\r\n width: 30,\r\n height: 30\r\n },\r\n wordWrap: \"normal\",\r\n textOverflow: \"ellipsis\",\r\n allowDragging: false\r\n },\r\n chart: {\r\n commonSeriesSettings: {\r\n type: \"line\",\r\n stack: \"default\",\r\n aggregation: {\r\n enabled: void 0\r\n },\r\n point: {\r\n visible: true,\r\n symbol: \"circle\",\r\n size: 12,\r\n border: {\r\n visible: false,\r\n width: 1\r\n },\r\n hoverMode: \"onlyPoint\",\r\n selectionMode: \"onlyPoint\",\r\n hoverStyle: {\r\n border: {\r\n visible: true,\r\n width: 4\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: true,\r\n width: 4\r\n }\r\n }\r\n },\r\n scatter: {},\r\n line: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n stackedline: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n stackedspline: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n fullstackedline: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n fullstackedspline: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n stepline: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n area: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n stackedarea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n fullstackedarea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n fullstackedsplinearea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n steparea: {\r\n border: {\r\n visible: true,\r\n width: 2\r\n },\r\n point: {\r\n visible: false\r\n },\r\n hoverStyle: {\r\n border: {\r\n visible: true,\r\n width: 3\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: true,\r\n width: 3\r\n }\r\n },\r\n opacity: .5\r\n },\r\n spline: {\r\n width: 2,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n splinearea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n stackedsplinearea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n bar: {\r\n cornerRadius: 0,\r\n point: {\r\n hoverStyle: {\r\n border: {\r\n visible: false\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: false\r\n }\r\n }\r\n }\r\n },\r\n stackedbar: {\r\n cornerRadius: 0,\r\n point: {\r\n hoverStyle: {\r\n border: {\r\n visible: false\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: false\r\n }\r\n }\r\n },\r\n label: {\r\n position: INSIDE\r\n }\r\n },\r\n fullstackedbar: {\r\n cornerRadius: 0,\r\n point: {\r\n hoverStyle: {\r\n border: {\r\n visible: false\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: false\r\n }\r\n }\r\n },\r\n label: {\r\n position: INSIDE\r\n }\r\n },\r\n rangebar: {\r\n cornerRadius: 0,\r\n point: {\r\n hoverStyle: {\r\n border: {\r\n visible: false\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: false\r\n }\r\n }\r\n }\r\n },\r\n rangearea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n rangesplinearea: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n bubble: {\r\n opacity: .5,\r\n point: {\r\n hoverStyle: {\r\n border: {\r\n visible: false\r\n }\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: false\r\n }\r\n }\r\n }\r\n },\r\n candlestick: {\r\n width: 1,\r\n reduction: {\r\n color: RED\r\n },\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3,\r\n highlight: false\r\n },\r\n point: {\r\n border: {\r\n visible: true\r\n }\r\n }\r\n },\r\n stock: {\r\n width: 1,\r\n reduction: {\r\n color: RED\r\n },\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n },\r\n highlight: false\r\n },\r\n selectionStyle: {\r\n width: 3,\r\n highlight: false\r\n },\r\n point: {\r\n border: {\r\n visible: true\r\n }\r\n }\r\n }\r\n },\r\n crosshair: {\r\n enabled: false,\r\n color: \"#f05b41\",\r\n width: 1,\r\n dashStyle: SOLID,\r\n label: {\r\n visible: false,\r\n font: {\r\n color: WHITE,\r\n size: 12\r\n }\r\n },\r\n verticalLine: {\r\n visible: true\r\n },\r\n horizontalLine: {\r\n visible: true\r\n }\r\n },\r\n commonAxisSettings: {\r\n multipleAxesSpacing: 5,\r\n forceUserTickInterval: false,\r\n breakStyle: {\r\n width: 5,\r\n color: \"#ababab\",\r\n line: \"waved\"\r\n },\r\n label: {\r\n displayMode: \"standard\",\r\n overlappingBehavior: \"hide\",\r\n indentFromAxis: 10,\r\n wordWrap: \"normal\",\r\n textOverflow: \"none\"\r\n },\r\n title: {\r\n font: {\r\n size: 16\r\n },\r\n margin: 6,\r\n alignment: CENTER\r\n },\r\n constantLineStyle: {\r\n paddingLeftRight: 10,\r\n paddingTopBottom: 10\r\n }\r\n },\r\n horizontalAxis: {\r\n position: BOTTOM,\r\n axisDivisionFactor: 70,\r\n label: {\r\n rotationAngle: 90,\r\n staggeringSpacing: 5,\r\n alignment: CENTER\r\n },\r\n stripStyle: {\r\n label: {\r\n horizontalAlignment: CENTER,\r\n verticalAlignment: TOP\r\n }\r\n },\r\n constantLineStyle: {\r\n label: {\r\n horizontalAlignment: RIGHT,\r\n verticalAlignment: TOP\r\n }\r\n },\r\n constantLines: []\r\n },\r\n verticalAxis: {\r\n position: LEFT,\r\n axisDivisionFactor: 40,\r\n label: {\r\n alignment: RIGHT\r\n },\r\n stripStyle: {\r\n label: {\r\n horizontalAlignment: LEFT,\r\n verticalAlignment: CENTER\r\n }\r\n },\r\n constantLineStyle: {\r\n label: {\r\n horizontalAlignment: LEFT,\r\n verticalAlignment: TOP\r\n }\r\n },\r\n constantLines: []\r\n },\r\n argumentAxis: {\r\n endOnTick: false,\r\n aggregateByCategory: true,\r\n workWeek: [1, 2, 3, 4, 5]\r\n },\r\n valueAxis: {\r\n grid: {\r\n visible: true\r\n },\r\n autoBreaksEnabled: false,\r\n maxAutoBreakCount: 4\r\n },\r\n commonPaneSettings: {\r\n backgroundColor: NONE,\r\n border: {\r\n color: LIGHT_GREY,\r\n width: 1,\r\n visible: false,\r\n top: true,\r\n bottom: true,\r\n left: true,\r\n right: true,\r\n dashStyle: SOLID\r\n }\r\n },\r\n scrollBar: {\r\n visible: false,\r\n offset: 5,\r\n color: \"gray\",\r\n width: 10\r\n },\r\n adjustOnZoom: true,\r\n autoHidePointMarkers: true,\r\n rotated: false,\r\n synchronizeMultiAxes: true,\r\n stickyHovering: true,\r\n barGroupPadding: .3,\r\n minBubbleSize: 12,\r\n maxBubbleSize: .2,\r\n zoomAndPan: {\r\n dragBoxStyle: {\r\n color: \"#2a2a2a\",\r\n opacity: .2\r\n },\r\n panKey: \"shift\",\r\n allowMouseWheel: true,\r\n allowTouchGestures: true\r\n }\r\n },\r\n pie: {\r\n innerRadius: .5,\r\n minDiameter: .5,\r\n type: \"pie\",\r\n dataPrepareSettings: {\r\n _skipArgumentSorting: true\r\n },\r\n commonSeriesSettings: {\r\n pie: {\r\n border: {\r\n visible: false,\r\n width: 2,\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .75\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .5\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n }\r\n },\r\n doughnut: {\r\n border: {\r\n visible: false,\r\n width: 2,\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .75\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .5\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n }\r\n },\r\n donut: {\r\n border: {\r\n visible: false,\r\n width: 2,\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .75\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n direction: RIGHT,\r\n width: 4,\r\n step: 10,\r\n opacity: .5\r\n },\r\n highlight: true,\r\n border: {\r\n visible: false,\r\n width: 2\r\n }\r\n }\r\n },\r\n label: {\r\n textOverflow: \"ellipsis\",\r\n wordWrap: \"normal\"\r\n }\r\n },\r\n legend: {\r\n hoverMode: \"allArgumentPoints\",\r\n backgroundColor: NONE\r\n },\r\n adaptiveLayout: {\r\n keepLabels: false\r\n }\r\n },\r\n gauge: {\r\n scale: {\r\n tick: {\r\n visible: true,\r\n length: 5,\r\n width: 2,\r\n opacity: 1\r\n },\r\n minorTick: {\r\n visible: false,\r\n length: 3,\r\n width: 1,\r\n opacity: 1\r\n },\r\n label: {\r\n visible: true,\r\n alignment: CENTER,\r\n hideFirstOrLast: \"last\",\r\n overlappingBehavior: \"hide\"\r\n },\r\n position: TOP,\r\n endOnTick: false\r\n },\r\n rangeContainer: {\r\n offset: 0,\r\n width: 5,\r\n backgroundColor: \"#808080\"\r\n },\r\n valueIndicators: {\r\n _default: {\r\n color: \"#c2c2c2\"\r\n },\r\n rangebar: {\r\n space: 2,\r\n size: 10,\r\n color: \"#cbc5cf\",\r\n backgroundColor: NONE,\r\n text: {\r\n indent: 0,\r\n font: {\r\n size: 14,\r\n color: null\r\n }\r\n }\r\n },\r\n twocolorneedle: {\r\n secondColor: \"#e18e92\"\r\n },\r\n trianglemarker: {\r\n space: 2,\r\n length: 14,\r\n width: 13,\r\n color: \"#8798a5\"\r\n },\r\n textcloud: {\r\n arrowLength: 5,\r\n horizontalOffset: 6,\r\n verticalOffset: 3,\r\n color: \"#679ec5\",\r\n text: {\r\n font: {\r\n color: WHITE,\r\n size: 18\r\n }\r\n }\r\n }\r\n },\r\n indicator: {\r\n hasPositiveMeaning: true,\r\n layout: {\r\n horizontalAlignment: CENTER,\r\n verticalAlignment: BOTTOM\r\n },\r\n text: {\r\n font: {\r\n size: 18\r\n }\r\n }\r\n },\r\n _circular: {\r\n scale: {\r\n scaleDivisionFactor: 17,\r\n orientation: OUTSIDE,\r\n label: {\r\n indentFromTick: 10\r\n }\r\n },\r\n rangeContainer: {\r\n orientation: OUTSIDE\r\n },\r\n valueIndicatorType: \"rectangleneedle\",\r\n subvalueIndicatorType: \"trianglemarker\",\r\n valueIndicators: {\r\n _type: \"rectangleneedle\",\r\n _default: {\r\n offset: 20,\r\n indentFromCenter: 0,\r\n width: 2,\r\n spindleSize: 14,\r\n spindleGapSize: 10,\r\n beginAdaptingAtRadius: 50\r\n },\r\n triangleneedle: {\r\n width: 4\r\n },\r\n twocolorneedle: {\r\n space: 2,\r\n secondFraction: .4\r\n },\r\n rangebar: {\r\n offset: 30\r\n },\r\n trianglemarker: {\r\n offset: 6\r\n },\r\n textcloud: {\r\n offset: -6\r\n }\r\n }\r\n },\r\n _linear: {\r\n scale: {\r\n scaleDivisionFactor: 25,\r\n horizontalOrientation: RIGHT,\r\n verticalOrientation: BOTTOM,\r\n label: {\r\n indentFromTick: -10\r\n }\r\n },\r\n rangeContainer: {\r\n horizontalOrientation: RIGHT,\r\n verticalOrientation: BOTTOM\r\n },\r\n valueIndicatorType: \"rangebar\",\r\n subvalueIndicatorType: \"trianglemarker\",\r\n valueIndicators: {\r\n _type: \"rectangle\",\r\n _default: {\r\n offset: 2.5,\r\n length: 15,\r\n width: 15\r\n },\r\n rectangle: {\r\n width: 10\r\n },\r\n rangebar: {\r\n offset: 10,\r\n horizontalOrientation: RIGHT,\r\n verticalOrientation: BOTTOM\r\n },\r\n trianglemarker: {\r\n offset: 10,\r\n horizontalOrientation: LEFT,\r\n verticalOrientation: TOP\r\n },\r\n textcloud: {\r\n offset: -1,\r\n horizontalOrientation: LEFT,\r\n verticalOrientation: TOP\r\n }\r\n }\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#e0e0e0\",\r\n relativeInnerRadius: .3,\r\n barSpacing: 4,\r\n resolveLabelOverlapping: \"hide\",\r\n label: {\r\n indent: 20,\r\n connectorWidth: 2,\r\n font: {\r\n size: 16\r\n }\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n indicator: {\r\n hasPositiveMeaning: true,\r\n layout: {\r\n horizontalAlignment: CENTER,\r\n verticalAlignment: BOTTOM\r\n },\r\n text: {\r\n font: {\r\n size: 18\r\n }\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n scale: {\r\n valueMarginsEnabled: true,\r\n width: 1,\r\n color: BLACK,\r\n opacity: .1,\r\n showCustomBoundaryTicks: true,\r\n aggregateByCategory: true,\r\n label: {\r\n overlappingBehavior: \"hide\",\r\n alignment: CENTER,\r\n visible: true,\r\n topIndent: 7,\r\n font: {\r\n size: 11\r\n }\r\n },\r\n tick: {\r\n width: 1,\r\n color: BLACK,\r\n opacity: .17,\r\n visible: true,\r\n length: 12\r\n },\r\n minorTick: {\r\n width: 1,\r\n color: BLACK,\r\n opacity: .05,\r\n visible: true,\r\n length: 12\r\n },\r\n marker: {\r\n width: 1,\r\n color: \"#000000\",\r\n opacity: .1,\r\n visible: true,\r\n separatorHeight: 33,\r\n topIndent: 10,\r\n textLeftIndent: 7,\r\n textTopIndent: 11,\r\n label: {}\r\n },\r\n logarithmBase: 10,\r\n workWeek: [1, 2, 3, 4, 5],\r\n breakStyle: {\r\n width: 5,\r\n color: \"#ababab\",\r\n line: \"waved\"\r\n },\r\n endOnTick: false\r\n },\r\n selectedRangeColor: \"#606060\",\r\n sliderMarker: {\r\n visible: true,\r\n paddingTopBottom: 2,\r\n paddingLeftRight: 4,\r\n color: \"#606060\",\r\n invalidRangeColor: RED,\r\n font: {\r\n color: WHITE,\r\n size: 11\r\n }\r\n },\r\n sliderHandle: {\r\n width: 1,\r\n color: BLACK,\r\n opacity: .2\r\n },\r\n shutter: {\r\n opacity: .75\r\n },\r\n background: {\r\n color: \"#c0bae1\",\r\n visible: true,\r\n image: {\r\n location: \"full\"\r\n }\r\n },\r\n behavior: {\r\n snapToTicks: true,\r\n animationEnabled: true,\r\n moveSelectedRangeByClick: true,\r\n manualRangeSelectionEnabled: true,\r\n allowSlidersSwap: true,\r\n valueChangeMode: \"onHandleRelease\"\r\n },\r\n redrawOnResize: true,\r\n chart: {\r\n barGroupPadding: .3,\r\n minBubbleSize: 12,\r\n maxBubbleSize: .2,\r\n topIndent: .1,\r\n bottomIndent: 0,\r\n valueAxis: {\r\n inverted: false,\r\n logarithmBase: 10\r\n },\r\n commonSeriesSettings: {\r\n type: \"area\",\r\n aggregation: {\r\n enabled: void 0\r\n },\r\n point: {\r\n visible: false\r\n },\r\n scatter: {\r\n point: {\r\n visible: true\r\n }\r\n }\r\n }\r\n }\r\n },\r\n map: {\r\n title: {\r\n margin: 10\r\n },\r\n background: {\r\n borderWidth: 1,\r\n borderColor: \"#cacaca\"\r\n },\r\n layer: {\r\n label: {\r\n enabled: false,\r\n stroke: WHITE,\r\n \"stroke-width\": 1,\r\n \"stroke-opacity\": .7,\r\n font: {\r\n color: SOME_GREY,\r\n size: 12\r\n }\r\n }\r\n },\r\n \"layer:area\": {\r\n borderWidth: 1,\r\n borderColor: WHITE,\r\n color: \"#d2d2d2\",\r\n hoveredBorderColor: GREY_GREEN,\r\n selectedBorderWidth: 2,\r\n selectedBorderColor: GREY_GREEN,\r\n label: {\r\n \"stroke-width\": 2,\r\n font: {\r\n size: 16\r\n }\r\n }\r\n },\r\n \"layer:line\": {\r\n borderWidth: 2,\r\n color: \"#ba8365\",\r\n hoveredColor: \"#a94813\",\r\n selectedBorderWidth: 3,\r\n selectedColor: \"#e55100\",\r\n label: {\r\n \"stroke-width\": 2,\r\n font: {\r\n size: 16\r\n }\r\n }\r\n },\r\n \"layer:marker\": {\r\n label: {\r\n enabled: true,\r\n \"stroke-width\": 1,\r\n font: {\r\n size: 12\r\n }\r\n }\r\n },\r\n \"layer:marker:dot\": {\r\n borderWidth: 2,\r\n borderColor: WHITE,\r\n size: 8,\r\n selectedStep: 2,\r\n backStep: 18,\r\n backColor: WHITE,\r\n backOpacity: .32,\r\n shadow: true\r\n },\r\n \"layer:marker:bubble\": {\r\n minSize: 20,\r\n maxSize: 50,\r\n hoveredBorderWidth: 1,\r\n hoveredBorderColor: GREY_GREEN,\r\n selectedBorderWidth: 2,\r\n selectedBorderColor: GREY_GREEN\r\n },\r\n \"layer:marker:pie\": {\r\n size: 50,\r\n hoveredBorderWidth: 1,\r\n hoveredBorderColor: GREY_GREEN,\r\n selectedBorderWidth: 2,\r\n selectedBorderColor: GREY_GREEN\r\n },\r\n \"layer:marker:image\": {\r\n size: 20\r\n },\r\n legend: {\r\n verticalAlignment: BOTTOM,\r\n horizontalAlignment: RIGHT,\r\n position: INSIDE,\r\n backgroundOpacity: .65,\r\n border: {\r\n visible: true\r\n },\r\n paddingLeftRight: 16,\r\n paddingTopBottom: 12\r\n },\r\n controlBar: {\r\n borderColor: \"#5d5d5d\",\r\n borderWidth: 3,\r\n color: WHITE,\r\n margin: 20,\r\n opacity: .3\r\n },\r\n _rtl: {\r\n legend: {\r\n itemTextPosition: LEFT\r\n }\r\n }\r\n },\r\n treeMap: {\r\n tile: {\r\n border: {\r\n width: 1,\r\n opacity: .2,\r\n color: \"#000000\"\r\n },\r\n color: \"#5f8b95\",\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .75,\r\n step: 6,\r\n width: 2,\r\n direction: \"right\"\r\n },\r\n border: {}\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .5,\r\n step: 6,\r\n width: 2,\r\n direction: \"right\"\r\n },\r\n border: {\r\n opacity: 1\r\n }\r\n },\r\n label: {\r\n visible: true,\r\n paddingLeftRight: 5,\r\n paddingTopBottom: 4,\r\n font: {\r\n color: \"#ffffff\",\r\n weight: 600\r\n },\r\n shadow: {\r\n opacity: .6,\r\n offsetX: 0,\r\n offsetY: 1,\r\n blur: 2,\r\n color: \"#000000\"\r\n },\r\n wordWrap: \"normal\",\r\n textOverflow: \"ellipsis\"\r\n }\r\n },\r\n group: {\r\n padding: 4,\r\n border: {\r\n width: 1\r\n },\r\n color: \"#eeeeee\",\r\n hoverStyle: {\r\n hatching: {\r\n opacity: 0,\r\n step: 6,\r\n width: 2,\r\n direction: \"right\"\r\n },\r\n border: {}\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: 0,\r\n step: 6,\r\n width: 2,\r\n direction: \"right\"\r\n },\r\n border: {}\r\n },\r\n label: {\r\n visible: true,\r\n paddingLeftRight: 5,\r\n paddingTopBottom: 4,\r\n font: {\r\n color: SECONDARY_TITLE_COLOR,\r\n weight: 600\r\n },\r\n textOverflow: \"ellipsis\"\r\n }\r\n },\r\n title: {\r\n subtitle: {}\r\n },\r\n tooltip: {},\r\n loadingIndicator: {}\r\n },\r\n sparkline: {\r\n lineColor: \"#666666\",\r\n lineWidth: 2,\r\n areaOpacity: .2,\r\n minColor: \"#e8c267\",\r\n maxColor: \"#e55253\",\r\n barPositiveColor: \"#a9a9a9\",\r\n barNegativeColor: \"#d7d7d7\",\r\n winColor: \"#a9a9a9\",\r\n lossColor: \"#d7d7d7\",\r\n firstLastColor: \"#666666\",\r\n pointSymbol: \"circle\",\r\n pointColor: WHITE,\r\n pointSize: 4,\r\n type: \"line\",\r\n argumentField: \"arg\",\r\n valueField: \"val\",\r\n winlossThreshold: 0,\r\n showFirstLast: true,\r\n showMinMax: false,\r\n tooltip: {\r\n enabled: true\r\n }\r\n },\r\n bullet: {\r\n color: \"#e8c267\",\r\n targetColor: \"#666666\",\r\n targetWidth: 4,\r\n showTarget: true,\r\n showZeroLevel: true,\r\n tooltip: {\r\n enabled: true\r\n }\r\n },\r\n polar: {\r\n commonSeriesSettings: {\r\n type: \"scatter\",\r\n closed: true,\r\n point: {\r\n visible: true,\r\n symbol: \"circle\",\r\n size: 12,\r\n border: {\r\n visible: false,\r\n width: 1\r\n },\r\n hoverMode: \"onlyPoint\",\r\n selectionMode: \"onlyPoint\",\r\n hoverStyle: {\r\n border: {\r\n visible: true,\r\n width: 4\r\n },\r\n size: 12\r\n },\r\n selectionStyle: {\r\n border: {\r\n visible: true,\r\n width: 4\r\n },\r\n size: 12\r\n }\r\n },\r\n scatter: {},\r\n line: {\r\n width: 2,\r\n dashStyle: SOLID,\r\n hoverStyle: {\r\n width: 3,\r\n hatching: {\r\n direction: NONE\r\n }\r\n },\r\n selectionStyle: {\r\n width: 3\r\n }\r\n },\r\n area: {\r\n point: {\r\n visible: false\r\n },\r\n opacity: .5\r\n },\r\n stackedline: {\r\n width: 2\r\n },\r\n bar: {\r\n opacity: .8\r\n },\r\n stackedbar: {\r\n opacity: .8\r\n }\r\n },\r\n adaptiveLayout: {\r\n width: 80,\r\n height: 80,\r\n keepLabels: true\r\n },\r\n barGroupPadding: .3,\r\n commonAxisSettings: {\r\n visible: true,\r\n forceUserTickInterval: false,\r\n label: {\r\n overlappingBehavior: \"hide\",\r\n indentFromAxis: 5\r\n },\r\n grid: {\r\n visible: true\r\n },\r\n minorGrid: {\r\n visible: true\r\n },\r\n tick: {\r\n visible: true\r\n },\r\n title: {\r\n font: {\r\n size: 16\r\n },\r\n margin: 10\r\n }\r\n },\r\n argumentAxis: {\r\n startAngle: 0,\r\n firstPointOnStartAngle: false,\r\n period: void 0\r\n },\r\n valueAxis: {\r\n endOnTick: false,\r\n tick: {\r\n visible: false\r\n }\r\n },\r\n horizontalAxis: {\r\n position: TOP,\r\n axisDivisionFactor: 50,\r\n label: {\r\n alignment: CENTER\r\n }\r\n },\r\n verticalAxis: {\r\n position: TOP,\r\n axisDivisionFactor: 30,\r\n label: {\r\n alignment: RIGHT\r\n }\r\n }\r\n },\r\n funnel: {\r\n sortData: true,\r\n valueField: \"val\",\r\n colorField: \"color\",\r\n argumentField: \"arg\",\r\n hoverEnabled: true,\r\n selectionMode: \"single\",\r\n item: {\r\n border: {\r\n visible: false,\r\n width: 2,\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .75,\r\n step: 6,\r\n width: 2,\r\n direction: RIGHT\r\n },\r\n border: {}\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .5,\r\n step: 6,\r\n width: 2,\r\n direction: RIGHT\r\n },\r\n border: {}\r\n }\r\n },\r\n title: {\r\n margin: 10\r\n },\r\n adaptiveLayout: {\r\n width: 80,\r\n height: 80,\r\n keepLabels: true\r\n },\r\n legend: {\r\n visible: false\r\n },\r\n _rtl: {\r\n legend: {\r\n itemTextPosition: LEFT\r\n }\r\n },\r\n tooltip: {\r\n customizeTooltip: function(info) {\r\n return {\r\n text: info.item.argument + \" \" + info.valueText\r\n }\r\n }\r\n },\r\n inverted: false,\r\n algorithm: \"dynamicSlope\",\r\n neckWidth: 0,\r\n neckHeight: 0,\r\n resolveLabelOverlapping: \"shift\",\r\n label: {\r\n textOverflow: \"ellipsis\",\r\n wordWrap: \"normal\",\r\n visible: true,\r\n horizontalAlignment: RIGHT,\r\n horizontalOffset: 0,\r\n verticalOffset: 0,\r\n showForZeroValues: false,\r\n customizeText: function(info) {\r\n return info.item.argument + \" \" + info.valueText\r\n },\r\n position: \"columns\",\r\n font: {\r\n color: WHITE\r\n },\r\n border: {\r\n visible: false,\r\n width: 1,\r\n color: LIGHT_GREY,\r\n dashStyle: SOLID\r\n },\r\n connector: {\r\n visible: true,\r\n width: 1,\r\n opacity: .5\r\n }\r\n }\r\n },\r\n sankey: {\r\n sourceField: \"source\",\r\n targetField: \"target\",\r\n weightField: \"weight\",\r\n hoverEnabled: true,\r\n alignment: CENTER,\r\n adaptiveLayout: {\r\n width: 80,\r\n height: 80,\r\n keepLabels: true\r\n },\r\n label: {\r\n visible: true,\r\n horizontalOffset: 8,\r\n verticalOffset: 0,\r\n overlappingBehavior: \"ellipsis\",\r\n useNodeColors: false,\r\n font: {\r\n color: BLACK,\r\n weight: 500\r\n },\r\n border: {\r\n visible: false,\r\n width: 2,\r\n color: WHITE\r\n },\r\n customizeText: function(info) {\r\n return info.title\r\n },\r\n shadow: {\r\n opacity: .2,\r\n offsetX: 0,\r\n offsetY: 1,\r\n blur: 1,\r\n color: WHITE\r\n }\r\n },\r\n title: {\r\n margin: 10,\r\n font: {\r\n size: 28,\r\n weight: 200\r\n },\r\n subtitle: {\r\n font: {\r\n size: 16\r\n }\r\n }\r\n },\r\n tooltip: {\r\n enabled: true\r\n },\r\n node: {\r\n padding: 30,\r\n width: 8,\r\n opacity: 1,\r\n border: {\r\n color: WHITE,\r\n width: 1,\r\n visible: false\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .75,\r\n step: 6,\r\n width: 2,\r\n direction: RIGHT\r\n },\r\n border: {}\r\n }\r\n },\r\n link: {\r\n color: \"#888888\",\r\n colorMode: \"none\",\r\n opacity: .3,\r\n border: {\r\n color: WHITE,\r\n width: 1,\r\n visible: false\r\n },\r\n hoverStyle: {\r\n opacity: .5,\r\n hatching: {\r\n opacity: .75,\r\n step: 6,\r\n width: 2,\r\n direction: RIGHT\r\n },\r\n border: {}\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: void 0\r\n}, {\r\n theme: {\r\n name: \"generic.light.compact\"\r\n },\r\n baseThemeName: \"generic.light\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.carmine.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ACCENT_COLOR = \"#f05b41\";\r\nvar BACKGROUND_COLOR = \"#fff\";\r\nvar TITLE_COLOR = \"#333\";\r\nvar SUBTITLE_COLOR = \"#8899a8\";\r\nvar TEXT_COLOR = \"#707070\";\r\nvar BORDER_COLOR = \"#dee1e3\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.carmine\",\r\n defaultPalette: \"Carmine\",\r\n backgroundColor: BACKGROUND_COLOR,\r\n primaryTitleColor: TITLE_COLOR,\r\n secondaryTitleColor: SUBTITLE_COLOR,\r\n gridColor: BORDER_COLOR,\r\n axisColor: TEXT_COLOR,\r\n export: {\r\n backgroundColor: BACKGROUND_COLOR,\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n button: {\r\n default: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#b1b7bd\",\r\n backgroundColor: BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#b1b7bd\",\r\n backgroundColor: \"#faf2f0\"\r\n },\r\n focus: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#6d7781\",\r\n backgroundColor: \"#faf2f0\"\r\n },\r\n active: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#6d7781\",\r\n backgroundColor: \"#f5e7e4\"\r\n }\r\n }\r\n },\r\n legend: {\r\n font: {\r\n color: TEXT_COLOR\r\n }\r\n },\r\n tooltip: {\r\n color: BACKGROUND_COLOR,\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n color: BACKGROUND_COLOR\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#c1c5c7\"\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n scale: {\r\n breakStyle: {\r\n color: \"#c1c5c7\"\r\n },\r\n tick: {\r\n opacity: .12\r\n }\r\n },\r\n selectedRangeColor: ACCENT_COLOR,\r\n sliderMarker: {\r\n color: ACCENT_COLOR\r\n },\r\n sliderHandle: {\r\n color: ACCENT_COLOR,\r\n opacity: .5\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BACKGROUND_COLOR,\r\n minColor: \"#f0ad4e\",\r\n maxColor: \"#f74d61\"\r\n },\r\n treeMap: {\r\n group: {\r\n color: BORDER_COLOR,\r\n label: {\r\n font: {\r\n color: SUBTITLE_COLOR\r\n }\r\n }\r\n }\r\n },\r\n bullet: {\r\n color: ACCENT_COLOR\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: ACCENT_COLOR\r\n },\r\n textcloud: {\r\n color: ACCENT_COLOR\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"generic.carmine.compact\"\r\n },\r\n baseThemeName: \"generic.carmine\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.dark.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar WHITE = \"#ffffff\";\r\nvar BLACK = \"#000000\";\r\nvar SOME_GREY = \"#2b2b2b\";\r\nvar RANGE_COLOR = \"#b5b5b5\";\r\nvar GREY_GREEN = \"#303030\";\r\nvar AREA_LAYER_COLOR = \"#686868\";\r\nvar LINE_COLOR = \"#c7c7c7\";\r\nvar TARGET_COLOR = \"#8e8e8e\";\r\nvar POSITIVE_COLOR = \"#b8b8b8\";\r\nvar BORDER_COLOR = \"#494949\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.dark\",\r\n font: {\r\n color: \"#808080\"\r\n },\r\n backgroundColor: \"#2a2a2a\",\r\n primaryTitleColor: \"#dedede\",\r\n secondaryTitleColor: \"#a3a3a3\",\r\n gridColor: \"#555555\",\r\n axisColor: \"#a3a3a3\",\r\n export: {\r\n backgroundColor: \"#2a2a2a\",\r\n font: {\r\n color: \"#dbdbdb\"\r\n },\r\n button: {\r\n default: {\r\n color: \"#dedede\",\r\n borderColor: \"#4d4d4d\",\r\n backgroundColor: \"#2e2e2e\"\r\n },\r\n hover: {\r\n color: \"#dedede\",\r\n borderColor: \"#6c6c6c\",\r\n backgroundColor: \"#444\"\r\n },\r\n focus: {\r\n color: \"#dedede\",\r\n borderColor: \"#8d8d8d\",\r\n backgroundColor: \"#444444\"\r\n },\r\n active: {\r\n color: \"#dedede\",\r\n borderColor: \"#8d8d8d\",\r\n backgroundColor: \"#555555\"\r\n }\r\n },\r\n shadowColor: \"#292929\"\r\n },\r\n tooltip: {\r\n color: SOME_GREY,\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: \"#929292\"\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n valueErrorBar: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n \"chart:common:axis\": {\r\n constantLineStyle: {\r\n color: WHITE\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: \"#929292\"\r\n },\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n color: SOME_GREY,\r\n shadow: {\r\n opacity: .008,\r\n offsetY: 4,\r\n blur: 8\r\n }\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#818181\"\r\n }\r\n },\r\n zoomAndPan: {\r\n dragBoxStyle: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n gauge: {\r\n rangeContainer: {\r\n backgroundColor: RANGE_COLOR\r\n },\r\n valueIndicators: {\r\n _default: {\r\n color: RANGE_COLOR\r\n },\r\n rangebar: {\r\n color: \"#84788b\"\r\n },\r\n twocolorneedle: {\r\n secondColor: \"#ba544d\"\r\n },\r\n trianglemarker: {\r\n color: \"#b7918f\"\r\n },\r\n textcloud: {\r\n color: \"#ba544d\"\r\n }\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#3c3c3c\"\r\n },\r\n rangeSelector: {\r\n scale: {\r\n tick: {\r\n color: WHITE,\r\n opacity: .32\r\n },\r\n minorTick: {\r\n color: WHITE,\r\n opacity: .1\r\n },\r\n breakStyle: {\r\n color: \"#818181\"\r\n }\r\n },\r\n selectedRangeColor: RANGE_COLOR,\r\n sliderMarker: {\r\n color: RANGE_COLOR,\r\n font: {\r\n color: GREY_GREEN\r\n }\r\n },\r\n sliderHandle: {\r\n color: WHITE,\r\n opacity: .2\r\n },\r\n shutter: {\r\n color: SOME_GREY,\r\n opacity: .9\r\n }\r\n },\r\n map: {\r\n background: {\r\n borderColor: \"#3f3f3f\"\r\n },\r\n layer: {\r\n label: {\r\n stroke: BLACK,\r\n font: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n \"layer:area\": {\r\n borderColor: GREY_GREEN,\r\n color: AREA_LAYER_COLOR,\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n \"layer:line\": {\r\n color: \"#c77244\",\r\n hoveredColor: \"#ff5d04\",\r\n selectedColor: \"#ff784f\"\r\n },\r\n \"layer:marker:bubble\": {\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n \"layer:marker:pie\": {\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n legend: {\r\n border: {\r\n color: \"#3f3f3f\"\r\n },\r\n font: {\r\n color: WHITE\r\n }\r\n },\r\n controlBar: {\r\n borderColor: LINE_COLOR,\r\n color: GREY_GREEN\r\n }\r\n },\r\n treeMap: {\r\n group: {\r\n color: \"#4c4c4c\",\r\n label: {\r\n font: {\r\n color: \"#a3a3a3\"\r\n }\r\n }\r\n }\r\n },\r\n sparkline: {\r\n lineColor: LINE_COLOR,\r\n firstLastColor: LINE_COLOR,\r\n barPositiveColor: POSITIVE_COLOR,\r\n barNegativeColor: TARGET_COLOR,\r\n winColor: POSITIVE_COLOR,\r\n lossColor: TARGET_COLOR,\r\n pointColor: GREY_GREEN\r\n },\r\n bullet: {\r\n targetColor: TARGET_COLOR\r\n },\r\n funnel: {\r\n item: {\r\n border: {\r\n color: \"#2a2a2a\"\r\n }\r\n }\r\n },\r\n sankey: {\r\n label: {\r\n font: {\r\n color: WHITE\r\n },\r\n shadow: {\r\n opacity: 0\r\n }\r\n },\r\n node: {\r\n border: {\r\n color: \"#2a2a2a\"\r\n }\r\n },\r\n link: {\r\n color: \"#888888\",\r\n border: {\r\n color: \"#2a2a2a\"\r\n },\r\n hoverStyle: {\r\n color: \"#bbbbbb\"\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"generic.dark.compact\"\r\n },\r\n baseThemeName: \"generic.dark\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.contrast.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar WHITE = \"#ffffff\";\r\nvar BLACK = \"#000000\";\r\nvar CONTRAST_ACTIVE = \"#cf00da\";\r\nvar MARKER_COLOR = \"#f8ca00\";\r\nvar AREA_LAYER_COLOR = \"#686868\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.contrast\",\r\n defaultPalette: \"Bright\",\r\n font: {\r\n color: WHITE\r\n },\r\n backgroundColor: BLACK,\r\n primaryTitleColor: WHITE,\r\n secondaryTitleColor: WHITE,\r\n gridColor: WHITE,\r\n axisColor: WHITE,\r\n export: {\r\n backgroundColor: BLACK,\r\n font: {\r\n color: WHITE\r\n },\r\n button: {\r\n default: {\r\n color: WHITE,\r\n borderColor: WHITE,\r\n backgroundColor: BLACK\r\n },\r\n hover: {\r\n color: WHITE,\r\n borderColor: WHITE,\r\n backgroundColor: \"#cf00d7\"\r\n },\r\n focus: {\r\n color: WHITE,\r\n borderColor: \"#cf00d7\",\r\n backgroundColor: BLACK\r\n },\r\n active: {\r\n color: BLACK,\r\n borderColor: WHITE,\r\n backgroundColor: WHITE\r\n }\r\n },\r\n borderColor: WHITE,\r\n menuButtonColor: BLACK,\r\n activeBackgroundColor: WHITE,\r\n activeColor: BLACK,\r\n selectedBorderColor: CONTRAST_ACTIVE,\r\n selectedColor: CONTRAST_ACTIVE,\r\n shadowColor: \"none\"\r\n },\r\n tooltip: {\r\n border: {\r\n color: WHITE\r\n },\r\n font: {\r\n color: WHITE\r\n },\r\n color: BLACK\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n valueErrorBar: {\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .5\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .35\r\n }\r\n },\r\n label: {\r\n font: {\r\n color: WHITE\r\n },\r\n border: {\r\n color: WHITE\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:axis\": {\r\n constantLineStyle: {\r\n color: WHITE\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: WHITE\r\n },\r\n border: {\r\n color: WHITE\r\n },\r\n color: BLACK\r\n },\r\n chart: {\r\n commonSeriesSettings: {},\r\n crosshair: {\r\n color: \"#cf00d7\"\r\n },\r\n commonPaneSettings: {\r\n backgroundColor: BLACK,\r\n border: {\r\n color: WHITE\r\n }\r\n },\r\n scrollBar: {\r\n color: WHITE\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#cf00d7\"\r\n }\r\n },\r\n zoomAndPan: {\r\n dragBoxStyle: {\r\n color: WHITE,\r\n opacity: .7\r\n }\r\n }\r\n },\r\n pie: {\r\n commonSeriesSettings: {\r\n pie: {\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .5\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .35\r\n }\r\n }\r\n },\r\n doughnut: {\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .5\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .35\r\n }\r\n }\r\n },\r\n donut: {\r\n hoverStyle: {\r\n hatching: {\r\n opacity: .5\r\n }\r\n },\r\n selectionStyle: {\r\n hatching: {\r\n opacity: .35\r\n }\r\n }\r\n }\r\n }\r\n },\r\n gauge: {\r\n rangeContainer: {\r\n backgroundColor: WHITE\r\n },\r\n valueIndicators: {\r\n _default: {\r\n color: WHITE\r\n },\r\n rangebar: {\r\n color: WHITE,\r\n backgroundColor: BLACK\r\n },\r\n twocolorneedle: {\r\n secondColor: WHITE\r\n },\r\n trianglemarker: {\r\n color: WHITE\r\n },\r\n textcloud: {\r\n color: WHITE,\r\n text: {\r\n font: {\r\n color: BLACK\r\n }\r\n }\r\n }\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#3c3c3c\"\r\n },\r\n rangeSelector: {\r\n scale: {\r\n tick: {\r\n color: WHITE,\r\n opacity: .4\r\n },\r\n minorTick: {\r\n color: WHITE,\r\n opacity: .12\r\n },\r\n breakStyle: {\r\n color: \"#cf00d7\"\r\n }\r\n },\r\n selectedRangeColor: CONTRAST_ACTIVE,\r\n sliderMarker: {\r\n color: CONTRAST_ACTIVE\r\n },\r\n sliderHandle: {\r\n color: CONTRAST_ACTIVE,\r\n opacity: 1\r\n },\r\n shutter: {\r\n opacity: .75\r\n },\r\n background: {\r\n color: BLACK\r\n }\r\n },\r\n map: {\r\n background: {\r\n borderColor: WHITE\r\n },\r\n layer: {\r\n label: {\r\n stroke: BLACK,\r\n font: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n \"layer:area\": {\r\n borderColor: BLACK,\r\n color: AREA_LAYER_COLOR,\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE,\r\n label: {\r\n font: {\r\n opacity: 1\r\n }\r\n }\r\n },\r\n \"layer:line\": {\r\n color: \"#267cff\",\r\n hoveredColor: \"#f613ff\",\r\n selectedColor: WHITE\r\n },\r\n \"layer:marker:dot\": {\r\n borderColor: BLACK,\r\n color: MARKER_COLOR,\r\n backColor: BLACK,\r\n backOpacity: .32\r\n },\r\n \"layer:marker:bubble\": {\r\n color: MARKER_COLOR,\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n \"layer:marker:pie\": {\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n controlBar: {\r\n borderColor: WHITE,\r\n color: BLACK,\r\n opacity: .3\r\n }\r\n },\r\n treeMap: {\r\n tile: {\r\n color: \"#70c92f\"\r\n },\r\n group: {\r\n color: \"#797979\",\r\n label: {\r\n font: {\r\n color: WHITE\r\n }\r\n }\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BLACK\r\n },\r\n bullet: {},\r\n polar: {\r\n commonSeriesSettings: {}\r\n },\r\n funnel: {\r\n label: {\r\n connector: {\r\n opacity: 1\r\n }\r\n }\r\n },\r\n sankey: {\r\n label: {\r\n font: {\r\n color: WHITE\r\n },\r\n shadow: {\r\n opacity: 0\r\n }\r\n },\r\n node: {\r\n border: {\r\n visible: true,\r\n width: 1,\r\n color: WHITE\r\n }\r\n },\r\n link: {\r\n opacity: .5,\r\n border: {\r\n visible: true,\r\n width: 1,\r\n color: WHITE\r\n },\r\n hoverStyle: {\r\n opacity: .9\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"generic.contrast.compact\"\r\n },\r\n baseThemeName: \"generic.contrast\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.darkmoon.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ACCENT_COLOR = \"#3debd3\";\r\nvar BACKGROUND_COLOR = \"#465672\";\r\nvar TITLE_COLOR = \"#fff\";\r\nvar SUBTITLE_COLOR = \"#919bac\";\r\nvar TEXT_COLOR = \"#c7ccd4\";\r\nvar BORDER_COLOR = \"#596980\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.darkmoon\",\r\n defaultPalette: \"Dark Moon\",\r\n backgroundColor: BACKGROUND_COLOR,\r\n primaryTitleColor: TITLE_COLOR,\r\n secondaryTitleColor: SUBTITLE_COLOR,\r\n gridColor: BORDER_COLOR,\r\n axisColor: TEXT_COLOR,\r\n export: {\r\n backgroundColor: BACKGROUND_COLOR,\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n button: {\r\n default: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#7a889e\",\r\n backgroundColor: BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#9da8b8\",\r\n backgroundColor: \"#596e92\"\r\n },\r\n focus: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#c4cad4\",\r\n backgroundColor: \"#596e92\"\r\n },\r\n active: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#c4cad4\",\r\n backgroundColor: \"#6b80a4\"\r\n }\r\n }\r\n },\r\n legend: {\r\n font: {\r\n color: TEXT_COLOR\r\n }\r\n },\r\n tooltip: {\r\n color: \"#62789e\",\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n color: \"#62789e\"\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#73869e\"\r\n }\r\n }\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: ACCENT_COLOR\r\n },\r\n textcloud: {\r\n color: ACCENT_COLOR,\r\n text: {\r\n font: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n }\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#526280\"\r\n },\r\n funnel: {\r\n item: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BACKGROUND_COLOR,\r\n minColor: \"#f0ad4e\",\r\n maxColor: \"#f9517e\"\r\n },\r\n treeMap: {\r\n group: {\r\n color: BORDER_COLOR,\r\n label: {\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n }\r\n }\r\n },\r\n map: {\r\n background: {\r\n borderColor: BORDER_COLOR\r\n },\r\n \"layer:area\": {\r\n color: \"#97a3b6\",\r\n borderColor: BACKGROUND_COLOR\r\n }\r\n },\r\n rangeSelector: {\r\n shutter: {\r\n color: BACKGROUND_COLOR\r\n },\r\n scale: {\r\n breakStyle: {\r\n color: \"#73869e\"\r\n },\r\n tick: {\r\n opacity: .2\r\n }\r\n },\r\n selectedRangeColor: ACCENT_COLOR,\r\n sliderMarker: {\r\n color: ACCENT_COLOR,\r\n font: {\r\n color: \"#000\"\r\n }\r\n },\r\n sliderHandle: {\r\n color: ACCENT_COLOR,\r\n opacity: .5\r\n }\r\n },\r\n bullet: {\r\n color: ACCENT_COLOR\r\n },\r\n sankey: {\r\n link: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n },\r\n node: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.dark\"\r\n}, {\r\n theme: {\r\n name: \"generic.darkmoon.compact\"\r\n },\r\n baseThemeName: \"generic.darkmoon\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.darkviolet.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ACCENT_COLOR = \"#9c63ff\";\r\nvar BACKGROUND_COLOR = \"#17171f\";\r\nvar TITLE_COLOR = \"#f5f6f7\";\r\nvar SUBTITLE_COLOR = \"#fff\";\r\nvar TEXT_COLOR = \"#b2b2b6\";\r\nvar BORDER_COLOR = \"#343840\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.darkviolet\",\r\n defaultPalette: \"Dark Violet\",\r\n backgroundColor: BACKGROUND_COLOR,\r\n primaryTitleColor: TITLE_COLOR,\r\n secondaryTitleColor: SUBTITLE_COLOR,\r\n gridColor: BORDER_COLOR,\r\n axisColor: TEXT_COLOR,\r\n export: {\r\n backgroundColor: BACKGROUND_COLOR,\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n button: {\r\n default: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#414152\",\r\n backgroundColor: BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#5c5c74\",\r\n backgroundColor: \"#2d2d3c\"\r\n },\r\n focus: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#7c7c97\",\r\n backgroundColor: \"#2d2d3c\"\r\n },\r\n active: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#7c7c97\",\r\n backgroundColor: \"#3c3c51\"\r\n }\r\n }\r\n },\r\n legend: {\r\n font: {\r\n color: TEXT_COLOR\r\n }\r\n },\r\n tooltip: {\r\n color: BACKGROUND_COLOR,\r\n border: {\r\n color: \"#414152\"\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n border: {\r\n color: \"#414152\"\r\n },\r\n color: BACKGROUND_COLOR\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#575e6b\"\r\n }\r\n }\r\n },\r\n funnel: {\r\n item: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BACKGROUND_COLOR,\r\n minColor: \"#f0ad4e\",\r\n maxColor: \"#d9534f\"\r\n },\r\n treeMap: {\r\n group: {\r\n color: BORDER_COLOR,\r\n label: {\r\n font: {\r\n color: SUBTITLE_COLOR\r\n }\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n shutter: {\r\n color: BACKGROUND_COLOR\r\n },\r\n scale: {\r\n breakStyle: {\r\n color: \"#575e6b\"\r\n },\r\n tick: {\r\n opacity: .2\r\n }\r\n },\r\n selectedRangeColor: ACCENT_COLOR,\r\n sliderMarker: {\r\n color: ACCENT_COLOR,\r\n font: {\r\n color: \"#fff\"\r\n }\r\n },\r\n sliderHandle: {\r\n color: ACCENT_COLOR,\r\n opacity: .5\r\n }\r\n },\r\n bullet: {\r\n color: ACCENT_COLOR\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: ACCENT_COLOR\r\n },\r\n textcloud: {\r\n color: ACCENT_COLOR\r\n }\r\n }\r\n },\r\n sankey: {\r\n link: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n },\r\n node: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.dark\"\r\n}, {\r\n theme: {\r\n name: \"generic.darkviolet.compact\"\r\n },\r\n baseThemeName: \"generic.darkviolet\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.greenmist.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ACCENT_COLOR = \"#3cbab2\";\r\nvar BACKGROUND_COLOR = \"#f5f5f5\";\r\nvar TITLE_COLOR = \"#28484f\";\r\nvar SUBTITLE_COLOR = \"#7eb2be\";\r\nvar TEXT_COLOR = \"#657c80\";\r\nvar BORDER_COLOR = \"#dedede\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.greenmist\",\r\n defaultPalette: \"Green Mist\",\r\n backgroundColor: BACKGROUND_COLOR,\r\n primaryTitleColor: TITLE_COLOR,\r\n secondaryTitleColor: SUBTITLE_COLOR,\r\n gridColor: BORDER_COLOR,\r\n axisColor: TEXT_COLOR,\r\n export: {\r\n backgroundColor: BACKGROUND_COLOR,\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n button: {\r\n default: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#a2b4b8\",\r\n backgroundColor: BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#7f989e\",\r\n backgroundColor: \"rgba(222, 222, 222, 0.4)\"\r\n },\r\n focus: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#5f777c\",\r\n backgroundColor: \"rgba(222, 222, 222, 0.4)\"\r\n },\r\n active: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#5f777c\",\r\n backgroundColor: \"rgba(222, 222, 222, 0.8)\"\r\n }\r\n }\r\n },\r\n legend: {\r\n font: {\r\n color: TEXT_COLOR\r\n }\r\n },\r\n tooltip: {\r\n color: \"#fff\",\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n color: \"#fff\",\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#c1c1c1\"\r\n }\r\n }\r\n },\r\n funnel: {\r\n item: {\r\n border: {\r\n color: BACKGROUND_COLOR\r\n }\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BACKGROUND_COLOR,\r\n minColor: \"#ffc852\",\r\n maxColor: \"#f74a5e\"\r\n },\r\n treeMap: {\r\n group: {\r\n color: BORDER_COLOR,\r\n label: {\r\n font: {\r\n color: SUBTITLE_COLOR\r\n }\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n shutter: {\r\n color: BACKGROUND_COLOR\r\n },\r\n scale: {\r\n breakStyle: {\r\n color: \"#c1c1c1\"\r\n },\r\n tick: {\r\n opacity: .12\r\n }\r\n },\r\n selectedRangeColor: ACCENT_COLOR,\r\n sliderMarker: {\r\n color: ACCENT_COLOR\r\n },\r\n sliderHandle: {\r\n color: ACCENT_COLOR,\r\n opacity: .5\r\n }\r\n },\r\n bullet: {\r\n color: ACCENT_COLOR\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: ACCENT_COLOR\r\n },\r\n textcloud: {\r\n color: ACCENT_COLOR\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"generic.greenmist.compact\"\r\n },\r\n baseThemeName: \"generic.greenmist\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/generic.softblue.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar ACCENT_COLOR = \"#7ab8eb\";\r\nvar BACKGROUND_COLOR = \"#fff\";\r\nvar TITLE_COLOR = \"#333\";\r\nvar SUBTITLE_COLOR = \"#99a1a8\";\r\nvar TEXT_COLOR = \"#707070\";\r\nvar BORDER_COLOR = \"#e8eaeb\";\r\nexport default [{\r\n theme: {\r\n name: \"generic.softblue\",\r\n defaultPalette: \"Soft Blue\",\r\n backgroundColor: BACKGROUND_COLOR,\r\n primaryTitleColor: TITLE_COLOR,\r\n secondaryTitleColor: SUBTITLE_COLOR,\r\n gridColor: BORDER_COLOR,\r\n axisColor: TEXT_COLOR,\r\n export: {\r\n backgroundColor: BACKGROUND_COLOR,\r\n font: {\r\n color: TITLE_COLOR\r\n },\r\n button: {\r\n default: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#c9d0d4\",\r\n backgroundColor: BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#a7b2b9\",\r\n backgroundColor: \"#e6e6e6\"\r\n },\r\n focus: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#82929b\",\r\n backgroundColor: \"#e6e6e6\"\r\n },\r\n active: {\r\n color: TITLE_COLOR,\r\n borderColor: \"#82929b\",\r\n backgroundColor: \"#d4d4d4\"\r\n }\r\n }\r\n },\r\n legend: {\r\n font: {\r\n color: TEXT_COLOR\r\n }\r\n },\r\n tooltip: {\r\n color: BACKGROUND_COLOR,\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n }\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n color: BACKGROUND_COLOR,\r\n border: {\r\n color: BORDER_COLOR\r\n },\r\n font: {\r\n color: TITLE_COLOR\r\n }\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: \"#cfd2d3\"\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n scale: {\r\n breakStyle: {\r\n color: \"#cfd2d3\"\r\n },\r\n tick: {\r\n opacity: .12\r\n }\r\n },\r\n selectedRangeColor: ACCENT_COLOR,\r\n sliderMarker: {\r\n color: ACCENT_COLOR\r\n },\r\n sliderHandle: {\r\n color: ACCENT_COLOR,\r\n opacity: .5\r\n }\r\n },\r\n sparkline: {\r\n pointColor: BACKGROUND_COLOR,\r\n minColor: \"#f0ad4e\",\r\n maxColor: \"#d9534f\"\r\n },\r\n treeMap: {\r\n group: {\r\n color: BORDER_COLOR,\r\n label: {\r\n font: {\r\n color: SUBTITLE_COLOR\r\n }\r\n }\r\n }\r\n },\r\n bullet: {\r\n color: ACCENT_COLOR\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: ACCENT_COLOR\r\n },\r\n textcloud: {\r\n color: ACCENT_COLOR\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"generic.softblue.compact\"\r\n },\r\n baseThemeName: \"generic.softblue\"\r\n}];\r\n","/**\r\n * DevExtreme (esm/viz/core/themes/material.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar FONT_FAMILY = \"'Roboto', 'RobotoFallback', 'Helvetica', 'Arial', sans-serif\";\r\nvar LIGHT_TITLE_COLOR = \"rgba(0,0,0,0.87)\";\r\nvar LIGHT_LABEL_COLOR = \"rgba(0,0,0,0.54)\";\r\nvar DARK_TITLE_COLOR = \"rgba(255,255,255,0.87)\";\r\nvar DARK_LABEL_COLOR = \"rgba(255,255,255,0.54)\";\r\nvar DARK_BACKGROUND_COLOR = \"#363640\";\r\nvar WHITE = \"#ffffff\";\r\nvar BLACK = \"#000000\";\r\nvar RANGE_COLOR = \"#b5b5b5\";\r\nvar AREA_LAYER_COLOR = \"#686868\";\r\nvar LINE_COLOR = \"#c7c7c7\";\r\nvar TARGET_COLOR = \"#8e8e8e\";\r\nvar POSITIVE_COLOR = \"#b8b8b8\";\r\nvar LABEL_BORDER_COLOR = \"#494949\";\r\nvar BREAK_STYLE_COLOR = \"#818181\";\r\nvar themes = [{\r\n theme: {\r\n name: \"material\",\r\n defaultPalette: \"Material\",\r\n font: {\r\n family: FONT_FAMILY\r\n },\r\n title: {\r\n margin: {\r\n top: 20,\r\n bottom: 20,\r\n left: 0,\r\n right: 0\r\n },\r\n font: {\r\n size: 20,\r\n family: FONT_FAMILY,\r\n weight: 500\r\n },\r\n horizontalAlignment: \"left\",\r\n subtitle: {\r\n font: {\r\n size: 14\r\n },\r\n horizontalAlignment: \"left\"\r\n }\r\n },\r\n tooltip: {\r\n shadow: {\r\n opacity: 0\r\n },\r\n border: {\r\n visible: false\r\n },\r\n paddingLeftRight: 8,\r\n paddingTopBottom: 6,\r\n arrowLength: 0,\r\n location: \"edge\",\r\n color: \"#616161\",\r\n font: {\r\n color: WHITE\r\n },\r\n cornerRadius: 4\r\n },\r\n chart: {\r\n commonAxisSettings: {\r\n minorTick: {\r\n opacity: .5\r\n },\r\n label: {\r\n font: {\r\n size: 11\r\n }\r\n }\r\n },\r\n commonAnnotationSettings: {\r\n font: {\r\n color: WHITE\r\n },\r\n border: {\r\n color: \"#616161\"\r\n },\r\n color: \"#616161\",\r\n arrowLength: 14,\r\n arrowWidth: 0,\r\n shadow: {\r\n opacity: .08,\r\n offsetY: 4,\r\n blur: 8\r\n },\r\n cornerRadius: 4\r\n }\r\n },\r\n pie: {\r\n title: {\r\n horizontalAlignment: \"center\",\r\n subtitle: {\r\n horizontalAlignment: \"center\"\r\n }\r\n }\r\n },\r\n polar: {\r\n commonAxisSettings: {\r\n minorTick: {\r\n opacity: .5\r\n }\r\n },\r\n title: {\r\n horizontalAlignment: \"center\",\r\n subtitle: {\r\n horizontalAlignment: \"center\"\r\n }\r\n }\r\n },\r\n funnel: {\r\n title: {\r\n horizontalAlignment: \"center\",\r\n subtitle: {\r\n horizontalAlignment: \"center\"\r\n }\r\n }\r\n },\r\n gauge: {\r\n title: {\r\n horizontalAlignment: \"center\",\r\n subtitle: {\r\n horizontalAlignment: \"center\"\r\n }\r\n }\r\n },\r\n barGauge: {\r\n title: {\r\n horizontalAlignment: \"center\",\r\n subtitle: {\r\n horizontalAlignment: \"center\"\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n sliderHandle: {\r\n opacity: .5\r\n }\r\n },\r\n treeMap: {\r\n group: {\r\n label: {\r\n font: {\r\n weight: 500\r\n }\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"generic.light\"\r\n}, {\r\n theme: {\r\n name: \"material.light\",\r\n gridColor: \"#e0e0e0\",\r\n axisColor: LIGHT_LABEL_COLOR,\r\n primaryTitleColor: LIGHT_TITLE_COLOR,\r\n legend: {\r\n font: {\r\n color: LIGHT_LABEL_COLOR\r\n }\r\n },\r\n chart: {\r\n scrollBar: {\r\n color: \"#bfbfbf\",\r\n opacity: .7\r\n }\r\n },\r\n gauge: {\r\n rangeContainer: {\r\n backgroundColor: \"rgba(0,0,0,0.2)\"\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#efefef\"\r\n }\r\n },\r\n baseThemeName: \"material\"\r\n}, {\r\n theme: {\r\n name: \"material.dark\",\r\n gridColor: \"#515159\",\r\n backgroundColor: DARK_BACKGROUND_COLOR,\r\n axisColor: DARK_LABEL_COLOR,\r\n font: {\r\n color: DARK_LABEL_COLOR\r\n },\r\n primaryTitleColor: DARK_TITLE_COLOR,\r\n secondaryTitleColor: DARK_TITLE_COLOR,\r\n tooltip: {\r\n color: \"#000\"\r\n },\r\n export: {\r\n backgroundColor: DARK_BACKGROUND_COLOR,\r\n font: {\r\n color: \"#dbdbdb\"\r\n },\r\n button: {\r\n default: {\r\n color: \"#dedede\",\r\n borderColor: \"#4d4d4d\",\r\n backgroundColor: DARK_BACKGROUND_COLOR\r\n },\r\n hover: {\r\n color: \"#dedede\",\r\n borderColor: \"#6c6c6c\",\r\n backgroundColor: \"#3f3f4b\"\r\n },\r\n focus: {\r\n color: \"#dedede\",\r\n borderColor: \"#8d8d8d\",\r\n backgroundColor: \"#494956\"\r\n },\r\n active: {\r\n color: \"#dedede\",\r\n borderColor: \"#8d8d8d\",\r\n backgroundColor: \"#494956\"\r\n }\r\n },\r\n shadowColor: \"#292929\"\r\n },\r\n \"chart:common\": {\r\n commonSeriesSettings: {\r\n label: {\r\n border: {\r\n color: LABEL_BORDER_COLOR\r\n }\r\n },\r\n valueErrorBar: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n \"chart:common:axis\": {\r\n constantLineStyle: {\r\n color: WHITE\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n border: {\r\n color: \"#000\"\r\n },\r\n color: \"#000\"\r\n },\r\n chart: {\r\n commonPaneSettings: {\r\n border: {\r\n color: LABEL_BORDER_COLOR\r\n }\r\n },\r\n commonAxisSettings: {\r\n breakStyle: {\r\n color: BREAK_STYLE_COLOR\r\n }\r\n },\r\n zoomAndPan: {\r\n dragBoxStyle: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n gauge: {\r\n rangeContainer: {\r\n backgroundColor: RANGE_COLOR\r\n },\r\n valueIndicators: {\r\n _default: {\r\n color: RANGE_COLOR\r\n },\r\n rangebar: {\r\n color: \"#84788b\"\r\n },\r\n twocolorneedle: {\r\n secondColor: \"#ba544d\"\r\n },\r\n trianglemarker: {\r\n color: \"#b7918f\"\r\n },\r\n textcloud: {\r\n color: \"#ba544d\"\r\n }\r\n }\r\n },\r\n barGauge: {\r\n backgroundColor: \"#3c3c3c\"\r\n },\r\n rangeSelector: {\r\n scale: {\r\n tick: {\r\n color: WHITE,\r\n opacity: .32\r\n },\r\n minorTick: {\r\n color: WHITE,\r\n opacity: .1\r\n },\r\n breakStyle: {\r\n color: BREAK_STYLE_COLOR\r\n }\r\n },\r\n selectedRangeColor: RANGE_COLOR,\r\n sliderMarker: {\r\n color: RANGE_COLOR,\r\n font: {\r\n color: DARK_BACKGROUND_COLOR\r\n }\r\n },\r\n sliderHandle: {\r\n color: WHITE,\r\n opacity: .2\r\n },\r\n shutter: {\r\n color: WHITE,\r\n opacity: .1\r\n }\r\n },\r\n map: {\r\n background: {\r\n borderColor: \"#3f3f3f\"\r\n },\r\n layer: {\r\n label: {\r\n stroke: BLACK,\r\n font: {\r\n color: WHITE\r\n }\r\n }\r\n },\r\n \"layer:area\": {\r\n borderColor: DARK_BACKGROUND_COLOR,\r\n color: AREA_LAYER_COLOR,\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n \"layer:line\": {\r\n color: \"#c77244\",\r\n hoveredColor: \"#ff5d04\",\r\n selectedColor: \"#ff784f\"\r\n },\r\n \"layer:marker:bubble\": {\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n \"layer:marker:pie\": {\r\n hoveredBorderColor: WHITE,\r\n selectedBorderColor: WHITE\r\n },\r\n legend: {\r\n border: {\r\n color: \"#3f3f3f\"\r\n },\r\n font: {\r\n color: WHITE\r\n }\r\n },\r\n controlBar: {\r\n borderColor: LINE_COLOR,\r\n color: DARK_BACKGROUND_COLOR\r\n }\r\n },\r\n treeMap: {\r\n group: {\r\n color: \"#4c4c4c\",\r\n label: {\r\n font: {\r\n color: \"#a3a3a3\"\r\n }\r\n }\r\n }\r\n },\r\n sparkline: {\r\n lineColor: LINE_COLOR,\r\n firstLastColor: LINE_COLOR,\r\n barPositiveColor: POSITIVE_COLOR,\r\n barNegativeColor: TARGET_COLOR,\r\n winColor: POSITIVE_COLOR,\r\n lossColor: TARGET_COLOR,\r\n pointColor: DARK_BACKGROUND_COLOR\r\n },\r\n bullet: {\r\n targetColor: TARGET_COLOR\r\n },\r\n funnel: {\r\n item: {\r\n border: {\r\n color: DARK_BACKGROUND_COLOR\r\n }\r\n }\r\n },\r\n sankey: {\r\n label: {\r\n font: {\r\n color: WHITE\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"material\"\r\n}];\r\n\r\nfunction getMaterialColorScheme(accentName, themeName, accentColor) {\r\n return {\r\n theme: {\r\n name: \"material.\" + accentName + \".\" + themeName,\r\n rangeSelector: {\r\n selectedRangeColor: accentColor,\r\n sliderMarker: {\r\n color: accentColor\r\n },\r\n sliderHandle: {\r\n color: accentColor\r\n }\r\n },\r\n map: {\r\n \"layer:marker:dot\": {\r\n color: accentColor\r\n },\r\n \"layer:marker:bubble\": {\r\n color: accentColor\r\n },\r\n legend: {\r\n markerColor: accentColor\r\n }\r\n },\r\n bullet: {\r\n color: accentColor\r\n },\r\n gauge: {\r\n valueIndicators: {\r\n rangebar: {\r\n color: accentColor\r\n },\r\n textcloud: {\r\n color: accentColor\r\n }\r\n }\r\n }\r\n },\r\n baseThemeName: \"material.\" + themeName\r\n }\r\n}\r\nvar materialAccents = {\r\n blue: \"#03a9f4\",\r\n lime: \"#cddc39\",\r\n orange: \"#ff5722\",\r\n purple: \"#9c27b0\",\r\n teal: \"#009688\"\r\n};\r\nfor (var accent in materialAccents) {\r\n if (Object.prototype.hasOwnProperty.call(materialAccents, accent)) {\r\n var color = materialAccents[accent];\r\n themes.push(getMaterialColorScheme(accent, \"light\", color), getMaterialColorScheme(accent, \"dark\", color), {\r\n theme: {\r\n name: \"material.\".concat(accent, \".light.compact\")\r\n },\r\n baseThemeName: \"material.\".concat(accent, \".light\")\r\n }, {\r\n theme: {\r\n name: \"material.\".concat(accent, \".dark.compact\")\r\n },\r\n baseThemeName: \"material.\".concat(accent, \".dark\")\r\n })\r\n }\r\n}\r\nexport default themes;\r\n","/**\r\n * DevExtreme (esm/viz/themes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n normalizeEnum\r\n} from \"./core/utils\";\r\nimport {\r\n current as getCurrentTheme\r\n} from \"../ui/themes\";\r\nimport {\r\n isEmptyObject\r\n} from \"../core/utils/type\";\r\nimport lightThemes from \"./core/themes/generic.light\";\r\nimport carmineThemes from \"./core/themes/generic.carmine\";\r\nimport darkThemes from \"./core/themes/generic.dark\";\r\nimport contrastThemes from \"./core/themes/generic.contrast\";\r\nimport darkMoonThemes from \"./core/themes/generic.darkmoon\";\r\nimport darkVioletThemes from \"./core/themes/generic.darkviolet\";\r\nimport greenMistThemes from \"./core/themes/generic.greenmist\";\r\nimport softBlueThemes from \"./core/themes/generic.softblue\";\r\nimport materialThemes from \"./core/themes/material\";\r\nvar themes = {};\r\nvar themesMapping = {};\r\nvar themesSchemeMapping = {};\r\nvar _extend = extend;\r\nvar _each = each;\r\nvar currentThemeName = null;\r\nvar defaultTheme;\r\nvar nextCacheUid = 0;\r\nvar widgetsCache = {};\r\nexport function getTheme(themeName) {\r\n var name = normalizeEnum(themeName);\r\n return themes[name] || themes[themesMapping[name] || currentTheme()]\r\n}\r\n\r\nfunction findThemeNameByName(name, scheme) {\r\n return themesMapping[name + \".\" + scheme] || themesSchemeMapping[name + \".\" + scheme] || themesMapping[name]\r\n}\r\n\r\nfunction findThemeNameByPlatform(platform, version, scheme) {\r\n return findThemeNameByName(platform + version, scheme) || findThemeNameByName(platform, scheme)\r\n}\r\nexport function currentTheme(themeName, colorScheme) {\r\n if (!arguments.length) {\r\n return currentThemeName || findThemeNameByName(getCurrentTheme()) || defaultTheme\r\n }\r\n var scheme = normalizeEnum(colorScheme);\r\n currentThemeName = (themeName && themeName.platform ? findThemeNameByPlatform(normalizeEnum(themeName.platform), themeName.version, scheme) : findThemeNameByName(normalizeEnum(themeName), scheme)) || currentThemeName;\r\n return this\r\n}\r\n\r\nfunction getThemeInfo(themeName, splitter) {\r\n var k = themeName.indexOf(splitter);\r\n return k > 0 ? {\r\n name: themeName.substring(0, k),\r\n scheme: themeName.substring(k + 1)\r\n } : null\r\n}\r\n\r\nfunction registerThemeName(themeName, targetThemeName) {\r\n var themeInfo = getThemeInfo(themeName, \".\") || {\r\n name: themeName\r\n };\r\n var name = themeInfo.name;\r\n var scheme = themeInfo.scheme;\r\n if (scheme) {\r\n themesMapping[name] = themesMapping[name] || targetThemeName;\r\n themesMapping[name + \".\" + scheme] = targetThemeName\r\n } else {\r\n themesMapping[name] = targetThemeName\r\n }\r\n}\r\nexport function registerTheme(theme, baseThemeName) {\r\n var themeName = normalizeEnum(theme && theme.name);\r\n if (themeName) {\r\n theme.isDefault && (defaultTheme = themeName);\r\n registerThemeName(themeName, themeName);\r\n themes[themeName] = _extend(true, {}, getTheme(baseThemeName), patchTheme(theme))\r\n }\r\n}\r\nexport function registerThemeSchemeAlias(from, to) {\r\n themesSchemeMapping[from] = to\r\n}\r\n\r\nfunction mergeScalar(target, field, source, sourceValue) {\r\n var _value = source ? source[field] : sourceValue;\r\n if (void 0 !== _value && void 0 === target[field]) {\r\n target[field] = _value\r\n }\r\n}\r\n\r\nfunction mergeObject(target, field, source, sourceValue) {\r\n var _value = source ? source[field] : sourceValue;\r\n if (void 0 !== _value) {\r\n target[field] = _extend(true, {}, _value, target[field])\r\n }\r\n}\r\n\r\nfunction patchTheme(theme) {\r\n theme = _extend(true, {\r\n loadingIndicator: {\r\n font: {}\r\n },\r\n export: {\r\n font: {}\r\n },\r\n legend: {\r\n font: {},\r\n border: {}\r\n },\r\n title: {\r\n font: {}\r\n },\r\n tooltip: {\r\n font: {}\r\n },\r\n \"chart:common\": {},\r\n \"chart:common:axis\": {\r\n grid: {},\r\n minorGrid: {},\r\n tick: {},\r\n minorTick: {},\r\n title: {\r\n font: {}\r\n },\r\n label: {\r\n font: {}\r\n }\r\n },\r\n \"chart:common:annotation\": {\r\n font: {},\r\n border: {}\r\n },\r\n chart: {\r\n commonSeriesSettings: {\r\n candlestick: {}\r\n }\r\n },\r\n pie: {},\r\n polar: {},\r\n gauge: {\r\n scale: {\r\n tick: {},\r\n minorTick: {},\r\n label: {\r\n font: {}\r\n }\r\n }\r\n },\r\n barGauge: {},\r\n funnel: {},\r\n sankey: {},\r\n map: {\r\n background: {}\r\n },\r\n treeMap: {\r\n tile: {\r\n selectionStyle: {\r\n border: {}\r\n }\r\n },\r\n group: {\r\n border: {},\r\n selectionStyle: {\r\n border: {}\r\n },\r\n label: {\r\n font: {}\r\n }\r\n }\r\n },\r\n rangeSelector: {\r\n scale: {\r\n tick: {},\r\n minorTick: {},\r\n label: {\r\n font: {}\r\n }\r\n },\r\n chart: {}\r\n },\r\n sparkline: {},\r\n bullet: {}\r\n }, theme);\r\n mergeScalar(theme.loadingIndicator, \"backgroundColor\", theme);\r\n mergeScalar(theme.chart.commonSeriesSettings.candlestick, \"innerColor\", null, theme.backgroundColor);\r\n mergeScalar(theme.map.background, \"color\", null, theme.backgroundColor);\r\n mergeScalar(theme.title.font, \"color\", null, theme.primaryTitleColor);\r\n mergeObject(theme.title, \"subtitle\", null, theme.title);\r\n mergeScalar(theme.legend.font, \"color\", null, theme.secondaryTitleColor);\r\n mergeScalar(theme.legend.border, \"color\", null, theme.gridColor);\r\n patchAxes(theme);\r\n _each([\"chart\", \"pie\", \"polar\", \"gauge\", \"barGauge\", \"map\", \"treeMap\", \"funnel\", \"rangeSelector\", \"sparkline\", \"bullet\", \"sankey\"], (function(_, section) {\r\n mergeScalar(theme[section], \"redrawOnResize\", theme);\r\n mergeScalar(theme[section], \"containerBackgroundColor\", null, theme.backgroundColor);\r\n mergeObject(theme[section], \"tooltip\", theme);\r\n mergeObject(theme[section], \"export\", theme)\r\n }));\r\n _each([\"chart\", \"pie\", \"polar\", \"gauge\", \"barGauge\", \"map\", \"treeMap\", \"funnel\", \"rangeSelector\", \"sankey\"], (function(_, section) {\r\n mergeObject(theme[section], \"loadingIndicator\", theme);\r\n mergeObject(theme[section], \"legend\", theme);\r\n mergeObject(theme[section], \"title\", theme)\r\n }));\r\n _each([\"chart\", \"pie\", \"polar\"], (function(_, section) {\r\n mergeObject(theme, section, null, theme[\"chart:common\"])\r\n }));\r\n _each([\"chart\", \"polar\"], (function(_, section) {\r\n theme[section] = theme[section] || {};\r\n mergeObject(theme[section], \"commonAxisSettings\", null, theme[\"chart:common:axis\"])\r\n }));\r\n _each([\"chart\", \"polar\", \"map\", \"pie\"], (function(_, section) {\r\n theme[section] = theme[section] || {};\r\n mergeObject(theme[section], \"commonAnnotationSettings\", null, theme[\"chart:common:annotation\"])\r\n }));\r\n mergeObject(theme.rangeSelector.chart, \"commonSeriesSettings\", theme.chart);\r\n mergeObject(theme.rangeSelector.chart, \"dataPrepareSettings\", theme.chart);\r\n mergeScalar(theme.treeMap.group.border, \"color\", null, theme.gridColor);\r\n mergeScalar(theme.treeMap.tile.selectionStyle.border, \"color\", null, theme.primaryTitleColor);\r\n mergeScalar(theme.treeMap.group.selectionStyle.border, \"color\", null, theme.primaryTitleColor);\r\n mergeScalar(theme.map.legend, \"backgroundColor\", theme);\r\n patchMapLayers(theme);\r\n return theme\r\n}\r\n\r\nfunction patchAxes(theme) {\r\n var commonAxisSettings = theme[\"chart:common:axis\"];\r\n _each([commonAxisSettings.grid, commonAxisSettings.minorGrid], (function(_, obj) {\r\n mergeScalar(obj, \"color\", null, theme.gridColor)\r\n }));\r\n _each([commonAxisSettings, commonAxisSettings.tick, commonAxisSettings.minorTick, commonAxisSettings.label.font], (function(_, obj) {\r\n mergeScalar(obj, \"color\", null, theme.axisColor)\r\n }));\r\n mergeScalar(commonAxisSettings.title.font, \"color\", null, theme.secondaryTitleColor);\r\n mergeScalar(theme.gauge.scale.label.font, \"color\", null, theme.axisColor);\r\n mergeScalar(theme.gauge.scale.tick, \"color\", null, theme.backgroundColor);\r\n mergeScalar(theme.gauge.scale.minorTick, \"color\", null, theme.backgroundColor);\r\n mergeScalar(theme.rangeSelector.scale.label.font, \"color\", null, theme.axisColor)\r\n}\r\n\r\nfunction patchMapLayers(theme) {\r\n var map = theme.map;\r\n _each([\"area\", \"line\", \"marker\"], (function(_, section) {\r\n mergeObject(map, \"layer:\" + section, null, map.layer)\r\n }));\r\n _each([\"dot\", \"bubble\", \"pie\", \"image\"], (function(_, section) {\r\n mergeObject(map, \"layer:marker:\" + section, null, map[\"layer:marker\"])\r\n }))\r\n}\r\nexport function addCacheItem(target) {\r\n var cacheUid = ++nextCacheUid;\r\n target._cache = cacheUid;\r\n widgetsCache[cacheUid] = target\r\n}\r\nexport function removeCacheItem(target) {\r\n delete widgetsCache[target._cache]\r\n}\r\nexport function refreshTheme() {\r\n _each(widgetsCache, (function() {\r\n this.refresh()\r\n }));\r\n return this\r\n}\r\nif (isEmptyObject(themes) && isEmptyObject(themesMapping) && !defaultTheme) {\r\n [].concat(lightThemes, carmineThemes, darkThemes, contrastThemes, darkMoonThemes, darkVioletThemes, greenMistThemes, softBlueThemes, materialThemes).forEach(t => {\r\n registerTheme(t.theme, t.baseThemeName)\r\n })\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/core/base_theme_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isString as _isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n createPalette as getPalette,\r\n getDiscretePalette,\r\n getGradientPalette,\r\n getAccentColor as accentColor\r\n} from \"../palette\";\r\nimport {\r\n parseScalar as _parseScalar\r\n} from \"./utils\";\r\nimport {\r\n getTheme,\r\n addCacheItem,\r\n removeCacheItem\r\n} from \"../themes\";\r\nvar _getTheme = getTheme;\r\nvar _addCacheItem = addCacheItem;\r\nvar _removeCacheItem = removeCacheItem;\r\nvar _extend = extend;\r\nvar _each = each;\r\n\r\nfunction getThemePart(theme, path) {\r\n var _theme = theme;\r\n path && _each(path.split(\".\"), (function(_, pathItem) {\r\n return _theme = _theme[pathItem]\r\n }));\r\n return _theme\r\n}\r\nexport var BaseThemeManager = Class.inherit({\r\n ctor: function(options) {\r\n this._themeSection = options.themeSection;\r\n this._fontFields = options.fontFields || [];\r\n _addCacheItem(this)\r\n },\r\n dispose: function() {\r\n _removeCacheItem(this);\r\n this._callback = this._theme = this._font = null;\r\n return this\r\n },\r\n setCallback: function(callback) {\r\n this._callback = callback;\r\n return this\r\n },\r\n setTheme: function(theme, rtl) {\r\n this._current = theme;\r\n this._rtl = rtl;\r\n return this.refresh()\r\n },\r\n refresh: function() {\r\n var current = this._current || {};\r\n var theme = _getTheme(current.name || current);\r\n this._themeName = theme.name;\r\n this._defaultPalette = theme.defaultPalette;\r\n this._font = _extend({}, theme.font, current.font);\r\n this._themeSection && _each(this._themeSection.split(\".\"), (function(_, path) {\r\n theme = _extend(true, {}, theme[path])\r\n }));\r\n this._theme = _extend(true, {}, theme, _isString(current) ? {} : current);\r\n this._initializeTheme();\r\n if (_parseScalar(this._rtl, this._theme.rtlEnabled)) {\r\n _extend(true, this._theme, this._theme._rtl)\r\n }\r\n this._callback();\r\n return this\r\n },\r\n theme: function(path) {\r\n return getThemePart(this._theme, path)\r\n },\r\n themeName: function() {\r\n return this._themeName\r\n },\r\n createPalette: function(palette, options) {\r\n return getPalette(palette, options, this._defaultPalette)\r\n },\r\n createDiscretePalette: function(palette, count) {\r\n return getDiscretePalette(palette, count, this._defaultPalette)\r\n },\r\n createGradientPalette: function(palette) {\r\n return getGradientPalette(palette, this._defaultPalette)\r\n },\r\n getAccentColor: function(palette) {\r\n return accentColor(palette, this._defaultPalette)\r\n },\r\n _initializeTheme: function() {\r\n var that = this;\r\n _each(that._fontFields || [], (function(_, path) {\r\n that._initializeFont(getThemePart(that._theme, path))\r\n }))\r\n },\r\n _initializeFont: function(font) {\r\n _extend(font, this._font, _extend({}, font))\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/core/helpers.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar isServerSide = !hasWindow();\r\n\r\nfunction Flags() {\r\n this.reset()\r\n}\r\nFlags.prototype = {\r\n constructor: Flags,\r\n add: function(codes) {\r\n var i;\r\n var ii = codes.length;\r\n var flags = this._flags;\r\n for (i = 0; i < ii; ++i) {\r\n flags[codes[i]] = 1\r\n }\r\n },\r\n has: function(code) {\r\n return this._flags[code] > 0\r\n },\r\n count: function() {\r\n return Object.keys(this._flags).length\r\n },\r\n reset: function() {\r\n this._flags = {}\r\n }\r\n};\r\n\r\nfunction combineMaps(baseMap, thisMap) {\r\n return baseMap !== thisMap ? _extend({}, baseMap, thisMap) : _extend({}, baseMap)\r\n}\r\n\r\nfunction combineLists(baseList, thisList) {\r\n return baseList !== thisList ? baseList.concat(thisList) : baseList.slice()\r\n}\r\n\r\nfunction buildTotalChanges(proto) {\r\n proto._totalChangesOrder = proto._optionChangesOrder.concat(proto._layoutChangesOrder, proto._customChangesOrder)\r\n}\r\n\r\nfunction addChange(settings) {\r\n var proto = this.prototype;\r\n var code = settings.code;\r\n proto[\"_change_\" + code] = settings.handler;\r\n if (settings.isThemeDependent) {\r\n proto._themeDependentChanges.push(code)\r\n }\r\n if (settings.option) {\r\n proto._optionChangesMap[settings.option] = code\r\n }(settings.isOptionChange ? proto._optionChangesOrder : proto._customChangesOrder).push(code);\r\n buildTotalChanges(proto)\r\n}\r\n\r\nfunction createChainExecutor() {\r\n var executeChain = function executeChain() {\r\n var i;\r\n var ii = executeChain._chain.length;\r\n var result;\r\n for (i = 0; i < ii; ++i) {\r\n result = executeChain._chain[i].apply(this, arguments)\r\n }\r\n return result\r\n };\r\n executeChain._chain = [];\r\n executeChain.add = function(item) {\r\n executeChain._chain.push(item)\r\n };\r\n executeChain.copy = function(executor) {\r\n executeChain._chain = executor._chain.slice()\r\n };\r\n return executeChain\r\n}\r\nexport function expand(target, name, expander) {\r\n var current = target[name];\r\n if (!current) {\r\n current = expander\r\n } else if (!current.add) {\r\n current = createChainExecutor();\r\n current.add(target[name]);\r\n current.add(expander)\r\n } else {\r\n if (false === Object.prototype.hasOwnProperty.call(target, name)) {\r\n current = createChainExecutor();\r\n current.copy(target[name])\r\n }\r\n current.add(expander)\r\n }\r\n target[name] = current\r\n}\r\n\r\nfunction addPlugin(plugin) {\r\n var proto = this.prototype;\r\n proto._plugins.push(plugin);\r\n plugin.fontFields && proto._fontFields.push.apply(proto._fontFields, plugin.fontFields);\r\n if (plugin.members) {\r\n _extend(this.prototype, plugin.members)\r\n }\r\n if (plugin.customize) {\r\n plugin.customize(this)\r\n }\r\n if (plugin.extenders) {\r\n Object.keys(plugin.extenders).forEach((function(key) {\r\n var func = plugin.extenders[key];\r\n expand(proto, key, func)\r\n }), this)\r\n }\r\n}\r\nexport var replaceInherit = isServerSide ? function(widget) {\r\n var _inherit = widget.inherit;\r\n widget.inherit = function() {\r\n var result = _inherit.apply(this, arguments);\r\n var proto = result.prototype;\r\n [\"_plugins\", \"_eventsMap\", \"_initialChanges\", \"_themeDependentChanges\", \"_optionChangesMap\", \"_optionChangesOrder\", \"_layoutChangesOrder\", \"_customChangesOrder\", \"_totalChangesOrder\"].forEach((function(key) {\r\n proto[key] = {}\r\n }));\r\n result.addPlugin = noop;\r\n return result\r\n };\r\n widget.addChange = noop;\r\n widget.addPlugin = noop\r\n} : function(widget) {\r\n var _inherit = widget.inherit;\r\n widget.inherit = function() {\r\n var proto = this.prototype;\r\n var plugins = proto._plugins;\r\n var fontFields = proto._fontFields;\r\n var eventsMap = proto._eventsMap;\r\n var initialChanges = proto._initialChanges;\r\n var themeDependentChanges = proto._themeDependentChanges;\r\n var optionChangesMap = proto._optionChangesMap;\r\n var partialOptionChangesMap = proto._partialOptionChangesMap;\r\n var partialOptionChangesPath = proto._partialOptionChangesPath;\r\n var optionChangesOrder = proto._optionChangesOrder;\r\n var layoutChangesOrder = proto._layoutChangesOrder;\r\n var customChangesOrder = proto._customChangesOrder;\r\n var result = _inherit.apply(this, arguments);\r\n proto = result.prototype;\r\n proto._plugins = combineLists(plugins, proto._plugins);\r\n proto._fontFields = combineLists(fontFields, proto._fontFields);\r\n proto._eventsMap = combineMaps(eventsMap, proto._eventsMap);\r\n proto._initialChanges = combineLists(initialChanges, proto._initialChanges);\r\n proto._themeDependentChanges = combineLists(themeDependentChanges, proto._themeDependentChanges);\r\n proto._optionChangesMap = combineMaps(optionChangesMap, proto._optionChangesMap);\r\n proto._partialOptionChangesMap = combineMaps(partialOptionChangesMap, proto._partialOptionChangesMap);\r\n proto._partialOptionChangesPath = combineMaps(partialOptionChangesPath, proto._partialOptionChangesPath);\r\n proto._optionChangesOrder = combineLists(optionChangesOrder, proto._optionChangesOrder);\r\n proto._layoutChangesOrder = combineLists(layoutChangesOrder, proto._layoutChangesOrder);\r\n proto._customChangesOrder = combineLists(customChangesOrder, proto._customChangesOrder);\r\n buildTotalChanges(proto);\r\n result.addPlugin = addPlugin;\r\n return result\r\n };\r\n widget.prototype._plugins = [];\r\n widget.prototype._fontFields = [];\r\n widget.addChange = addChange;\r\n widget.addPlugin = addPlugin\r\n};\r\nexport function changes() {\r\n return new Flags\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/core/errors_warnings.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../../core/utils/error\";\r\nimport errors from \"../../core/errors\";\r\nexport default errorUtils(errors.ERROR_MESSAGES, {\r\n E2001: \"Invalid data source\",\r\n E2002: \"Axis type and data type are incompatible\",\r\n E2003: 'The \"{0}\" data source field contains data of unsupported type',\r\n E2004: 'The \"{0}\" data source field is inconsistent',\r\n E2005: 'The value field \"{0}\" is absent in the data source or all its values are negative',\r\n E2006: \"A cycle is detected in provided data\",\r\n E2007: 'The value field \"{0}\" is absent in the data source',\r\n E2008: 'The value field \"{0}\" must be a string',\r\n E2009: 'The value field \"{0}\" must be a positive numeric value',\r\n E2101: \"Unknown series type: {0}\",\r\n E2102: \"Ambiguity occurred between two value axes with the same name\",\r\n E2103: 'The \"{0}\" option is given an invalid value. Assign a function instead',\r\n E2104: \"Invalid logarithm base\",\r\n E2105: 'Invalid value of a \"{0}\"',\r\n E2202: \"Invalid {0} scale value\",\r\n E2203: \"The range you are trying to set is invalid\",\r\n W2002: \"The {0} series cannot be drawn because the {1} data field is missing\",\r\n W2003: \"Tick interval is too small\",\r\n W2101: 'The \"{0}\" pane does not exist; the last pane is used by default',\r\n W2102: 'A value axis with the \"{0}\" name was created automatically',\r\n W2103: \"The chart title was hidden due to the container size\",\r\n W2104: \"The legend was hidden due to the container size\",\r\n W2105: 'The title of the \"{0}\" axis was hidden due to the container size',\r\n W2106: 'The labels of the \"{0}\" axis were hidden due to the container size',\r\n W2107: \"The export menu was hidden due to the container size\",\r\n W2108: \"The browser does not support exporting images to {0} format.\",\r\n W2301: \"Invalid value range\"\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/core/layout.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"./utils\";\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _round = Math.round;\r\nvar ALIGN_START = 0;\r\nvar ALIGN_MIDDLE = 1;\r\nvar ALIGN_END = 2;\r\nvar horizontalAlignmentMap = {\r\n left: ALIGN_START,\r\n center: ALIGN_MIDDLE,\r\n right: ALIGN_END\r\n};\r\nvar verticalAlignmentMap = {\r\n top: ALIGN_START,\r\n center: ALIGN_MIDDLE,\r\n bottom: ALIGN_END\r\n};\r\nvar sideMap = {\r\n horizontal: 0,\r\n vertical: 1\r\n};\r\nvar slicersMap = {};\r\nvar BBOX_CEIL_CORRECTION = 2;\r\nslicersMap[ALIGN_START] = function(a, b, size) {\r\n return [a, _min(b, a + size)]\r\n};\r\nslicersMap[ALIGN_MIDDLE] = function(a, b, size) {\r\n return [_max(a, (a + b - size) / 2), _min(b, (a + b + size) / 2)]\r\n};\r\nslicersMap[ALIGN_END] = function(a, b, size) {\r\n return [_max(a, b - size), b]\r\n};\r\n\r\nfunction pickValue(value, map, defaultValue) {\r\n var val = _normalizeEnum(value);\r\n return val in map ? map[val] : defaultValue\r\n}\r\n\r\nfunction normalizeLayoutOptions(options) {\r\n var side = pickValue(options.side, sideMap, 1);\r\n var alignment = [pickValue(options.horizontalAlignment, horizontalAlignmentMap, ALIGN_MIDDLE), pickValue(options.verticalAlignment, verticalAlignmentMap, ALIGN_START)];\r\n return {\r\n side: side,\r\n primary: bringToEdge(alignment[side]),\r\n secondary: alignment[1 - side],\r\n weak: options.weak,\r\n priority: options.priority || 0,\r\n header: options.header,\r\n position: options.position\r\n }\r\n}\r\n\r\nfunction bringToEdge(primary) {\r\n return primary < 2 ? 0 : 2\r\n}\r\n\r\nfunction getConjugateSide(side) {\r\n return 1 - side\r\n}\r\n\r\nfunction getSlice(alignment, a, b, size) {\r\n return slicersMap[alignment](a, b, size)\r\n}\r\n\r\nfunction getShrink(alignment, size) {\r\n return (alignment > 0 ? -1 : 1) * size\r\n}\r\n\r\nfunction processForward(item, rect, minSize) {\r\n var side = item.side;\r\n var size = item.element.measure([rect[2] - rect[0], rect[3] - rect[1]]);\r\n var minSide = \"indside\" === item.position ? 0 : minSize[side];\r\n var isValid = size[side] < rect[2 + side] - rect[side] - minSide;\r\n if (isValid) {\r\n if (\"inside\" !== item.position) {\r\n rect[item.primary + side] += getShrink(item.primary, size[side])\r\n }\r\n item.size = size\r\n }\r\n return isValid\r\n}\r\n\r\nfunction processRectBackward(item, rect, alignmentRect) {\r\n var primarySide = item.side;\r\n var secondarySide = getConjugateSide(primarySide);\r\n var itemRect = [];\r\n var secondary = getSlice(item.secondary, alignmentRect[secondarySide], alignmentRect[2 + secondarySide], item.size[secondarySide]);\r\n itemRect[primarySide] = _round(itemRect[2 + primarySide] = rect[item.primary + primarySide] + (\"inside\" === item.position ? getShrink(item.primary, item.size[primarySide]) : 0));\r\n itemRect[item.primary + primarySide] = _round(rect[item.primary + primarySide] - getShrink(item.primary, item.size[primarySide]));\r\n if (\"inside\" !== item.position) {\r\n rect[item.primary + primarySide] = itemRect[item.primary + primarySide]\r\n }\r\n itemRect[secondarySide] = _round(secondary[0]);\r\n itemRect[2 + secondarySide] = _round(secondary[1]);\r\n return itemRect\r\n}\r\n\r\nfunction processBackward(item, rect, alignmentRect, fitRect, size, targetRect) {\r\n var itemRect = processRectBackward(item, rect, alignmentRect);\r\n var itemFitRect = processRectBackward(item, fitRect, fitRect);\r\n if (size[item.side] > 0) {\r\n size[item.side] -= item.size[item.side];\r\n targetRect[item.primary + item.side] = itemRect[item.primary + item.side];\r\n item.element.freeSpace()\r\n } else {\r\n item.element.move(itemRect, itemFitRect)\r\n }\r\n}\r\n\r\nfunction Layout() {\r\n this._targets = []\r\n}\r\nLayout.prototype = {\r\n constructor: Layout,\r\n dispose: function() {\r\n this._targets = null\r\n },\r\n add: function(target) {\r\n this._targets.push(target)\r\n },\r\n forward: function(targetRect, minSize) {\r\n var rect = targetRect.slice();\r\n var targets = createTargets(this._targets);\r\n var i;\r\n var ii = targets.length;\r\n var cache = [];\r\n for (i = 0; i < ii; ++i) {\r\n if (processForward(targets[i], rect, minSize)) {\r\n cache.push(targets[i])\r\n } else {\r\n targets[i].element.freeSpace()\r\n }\r\n }\r\n this._cache = cache.reverse();\r\n return rect\r\n },\r\n backward: function(targetRect, alignmentRect) {\r\n var size = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [0, 0];\r\n var backwardRect = targetRect.slice();\r\n var fitRect = targetRect.slice();\r\n var targets = this._cache;\r\n var targetSide = 0;\r\n var target;\r\n var i;\r\n var ii = targets.length;\r\n for (i = 0; i < ii; ++i) {\r\n target = targets[i];\r\n if (target.side !== targetSide) {\r\n backwardRect = targetRect.slice()\r\n }\r\n processBackward(target, backwardRect, alignmentRect, fitRect, size, targetRect);\r\n targetSide = target.side\r\n }\r\n return size\r\n }\r\n};\r\n\r\nfunction createTargets(targets) {\r\n var i;\r\n var ii = targets.length;\r\n var collection = [];\r\n var layout;\r\n for (i = 0; i < ii; ++i) {\r\n layout = targets[i].layoutOptions();\r\n if (layout) {\r\n layout = normalizeLayoutOptions(layout);\r\n layout.element = targets[i];\r\n collection.push(layout)\r\n }\r\n }\r\n collection.sort((function(a, b) {\r\n return b.side - a.side || a.priority - b.priority\r\n }));\r\n collection = processWeakItems(collection);\r\n return collection\r\n}\r\n\r\nfunction processWeakItems(collection) {\r\n var weakItem = collection.filter((function(item) {\r\n return true === item.weak\r\n }))[0];\r\n var headerItem;\r\n if (weakItem) {\r\n headerItem = collection.filter((function(item) {\r\n return weakItem.primary === item.primary && item.side === weakItem.side && item !== weakItem\r\n }))[0]\r\n }\r\n if (weakItem && headerItem) {\r\n return [makeHeader(headerItem, weakItem)].concat(collection.filter((function(item) {\r\n return !(item === headerItem || item === weakItem)\r\n })))\r\n }\r\n return collection\r\n}\r\n\r\nfunction processBackwardHeaderRect(element, rect) {\r\n var rectCopy = rect.slice();\r\n var itemRect = processRectBackward(element, rectCopy, rectCopy);\r\n itemRect[element.side] = rect[element.side];\r\n itemRect[2 + element.side] = rect[2 + element.side];\r\n return itemRect\r\n}\r\n\r\nfunction makeHeader(header, weakElement) {\r\n var side = header.side;\r\n var primary = header.primary;\r\n var secondary = header.secondary;\r\n return {\r\n side: side,\r\n primary: primary,\r\n secondary: secondary,\r\n priority: 0,\r\n element: {\r\n measure: function(targetSize) {\r\n var result = targetSize.slice();\r\n var weakSize = weakElement.element.measure(targetSize.slice());\r\n targetSize[primary] -= weakSize[primary];\r\n var headerSize = header.element.measure(targetSize.slice());\r\n result[side] = weakSize[side] = headerSize[side] = Math.max(headerSize[side], weakSize[side]);\r\n weakElement.size = weakSize;\r\n header.size = headerSize;\r\n return result\r\n },\r\n move: function(rect, fitRect) {\r\n if (fitRect[2] - fitRect[0] < header.size[0] + weakElement.size[0] - BBOX_CEIL_CORRECTION) {\r\n this.freeSpace();\r\n return\r\n }\r\n var weakRect = processBackwardHeaderRect(weakElement, fitRect);\r\n fitRect[2 + weakElement.primary] = weakRect[weakElement.primary];\r\n var headerFitReact = processBackwardHeaderRect(header, fitRect);\r\n if (fitRect[2 + weakElement.primary] < rect[2 + weakElement.primary] && header.size[header.primary] > rect[2 + header.primary] - rect[header.primary]) {\r\n rect[2 + weakElement.primary] = fitRect[2 + weakElement.primary]\r\n }\r\n var headerRect = processBackwardHeaderRect(header, rect);\r\n if (headerRect[2 + weakElement.primary] > fitRect[2 + weakElement.primary]) {\r\n rect[2 + weakElement.primary] = fitRect[2 + weakElement.primary];\r\n headerRect = processBackwardHeaderRect(header, rect)\r\n }\r\n weakElement.element.move(weakRect);\r\n header.element.move(headerRect, headerFitReact)\r\n },\r\n freeSpace: function() {\r\n header.element.freeSpace();\r\n weakElement.element.freeSpace()\r\n }\r\n }\r\n }\r\n}\r\nexport default Layout;\r\n","/**\r\n * DevExtreme (esm/common/charts.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getNextDefsSvgId\r\n} from \"../viz/core/utils\";\r\nvar graphicObjects = {};\r\nexport var registerPattern = options => {\r\n var id = getNextDefsSvgId();\r\n graphicObjects[id] = _extends({\r\n type: \"pattern\"\r\n }, options);\r\n return id\r\n};\r\nexport var registerGradient = (type, options) => {\r\n var id = getNextDefsSvgId();\r\n graphicObjects[id] = _extends({\r\n type: type\r\n }, options);\r\n return id\r\n};\r\nexport var getGraphicObjects = () => graphicObjects;\r\n","/**\r\n * DevExtreme (esm/viz/core/base_widget.utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n version\r\n} from \"../../core/version\";\r\nimport {\r\n format as _stringFormat\r\n} from \"../../core/utils/string\";\r\nimport warnings from \"./errors_warnings\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport _windowResizeCallbacks from \"../../core/utils/resize_callbacks\";\r\nimport resizeObserverSingleton from \"../../core/resize_observer\";\r\nimport {\r\n normalizeEnum\r\n} from \"./utils\";\r\nvar ERROR_MESSAGES = warnings.ERROR_MESSAGES;\r\nexport function createEventTrigger(eventsMap, callbackGetter) {\r\n var triggers = {};\r\n each(eventsMap, (function(name, info) {\r\n if (info.name) {\r\n createEvent(name)\r\n }\r\n }));\r\n var changes;\r\n triggerEvent.change = function(name) {\r\n var eventInfo = eventsMap[name];\r\n if (eventInfo) {\r\n (changes = changes || {})[name] = eventInfo\r\n }\r\n return !!eventInfo\r\n };\r\n triggerEvent.applyChanges = function() {\r\n if (changes) {\r\n each(changes, (function(name, eventInfo) {\r\n createEvent(eventInfo.newName || name)\r\n }));\r\n changes = null\r\n }\r\n };\r\n triggerEvent.dispose = function() {\r\n eventsMap = callbackGetter = triggers = null\r\n };\r\n return triggerEvent;\r\n\r\n function createEvent(name) {\r\n var eventInfo = eventsMap[name];\r\n triggers[eventInfo.name] = callbackGetter(name, eventInfo.actionSettings)\r\n }\r\n\r\n function triggerEvent(name, arg, complete) {\r\n triggers[name](arg);\r\n complete && complete()\r\n }\r\n}\r\nexport var createIncidentOccurred = function(widgetName, eventTrigger) {\r\n return function(id, args) {\r\n eventTrigger(\"incidentOccurred\", {\r\n target: {\r\n id: id,\r\n type: \"E\" === id[0] ? \"error\" : \"warning\",\r\n args: args,\r\n text: _stringFormat.apply(null, [ERROR_MESSAGES[id]].concat(args || [])),\r\n widget: widgetName,\r\n version: version\r\n }\r\n })\r\n }\r\n};\r\n\r\nfunction getResizeManager(resizeCallback) {\r\n return (observe, unsubscribe) => {\r\n var {\r\n handler: handler,\r\n dispose: dispose\r\n } = createDeferredHandler(resizeCallback, unsubscribe);\r\n observe(handler);\r\n return dispose\r\n }\r\n}\r\n\r\nfunction createDeferredHandler(callback, unsubscribe) {\r\n var timeout;\r\n var handler = function() {\r\n clearTimeout(timeout);\r\n timeout = setTimeout(callback, 100)\r\n };\r\n return {\r\n handler: handler,\r\n dispose() {\r\n clearTimeout(timeout);\r\n unsubscribe(handler)\r\n }\r\n }\r\n}\r\nexport function createResizeHandler(contentElement, redrawOnResize, resize) {\r\n var disposeHandler;\r\n var resizeManager = getResizeManager(resize);\r\n if (\"windowonly\" === normalizeEnum(redrawOnResize)) {\r\n disposeHandler = resizeManager(handler => _windowResizeCallbacks.add(handler), handler => _windowResizeCallbacks.remove(handler))\r\n } else if (true === redrawOnResize) {\r\n disposeHandler = resizeManager(handler => resizeObserverSingleton.observe(contentElement, handler), () => resizeObserverSingleton.unobserve(contentElement))\r\n }\r\n return disposeHandler\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/core/base_widget.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isNumeric,\r\n isFunction,\r\n isDefined,\r\n isObject as _isObject,\r\n type\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n BaseThemeManager\r\n} from \"../core/base_theme_manager\";\r\nimport DOMComponent from \"../../core/dom_component\";\r\nimport {\r\n changes,\r\n replaceInherit\r\n} from \"./helpers\";\r\nimport {\r\n parseScalar as _parseScalar\r\n} from \"./utils\";\r\nimport warnings from \"./errors_warnings\";\r\nimport {\r\n Renderer\r\n} from \"./renderers/renderer\";\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport _Layout from \"./layout\";\r\nimport devices from \"../../core/devices\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n getGraphicObjects\r\n} from \"../../common/charts\";\r\nimport {\r\n createEventTrigger,\r\n createResizeHandler,\r\n createIncidentOccurred\r\n} from \"./base_widget.utils\";\r\nvar _floor = Math.floor;\r\nvar _log = warnings.log;\r\nvar SIZE_CHANGING_THRESHOLD = 1;\r\nvar OPTION_RTL_ENABLED = \"rtlEnabled\";\r\nvar SIZED_ELEMENT_CLASS = \"dx-sized-element\";\r\nvar _option = DOMComponent.prototype.option;\r\n\r\nfunction getTrue() {\r\n return true\r\n}\r\n\r\nfunction getFalse() {\r\n return false\r\n}\r\n\r\nfunction areCanvasesDifferent(canvas1, canvas2) {\r\n return !(Math.abs(canvas1.width - canvas2.width) < SIZE_CHANGING_THRESHOLD && Math.abs(canvas1.height - canvas2.height) < SIZE_CHANGING_THRESHOLD && canvas1.left === canvas2.left && canvas1.top === canvas2.top && canvas1.right === canvas2.right && canvas1.bottom === canvas2.bottom)\r\n}\r\n\r\nfunction defaultOnIncidentOccurred(e) {\r\n if (!e.component._eventsStrategy.hasEvent(\"incidentOccurred\")) {\r\n _log.apply(null, [e.target.id].concat(e.target.args || []))\r\n }\r\n}\r\n\r\nfunction pickPositiveValue(values) {\r\n return values.reduce((function(result, value) {\r\n return value > 0 && !result ? value : result\r\n }), 0)\r\n}\r\nvar getEmptyComponent = function() {\r\n var emptyComponentConfig = {\r\n _initTemplates() {},\r\n ctor(element, options) {\r\n this.callBase(element, options);\r\n var sizedElement = domAdapter.createElement(\"div\");\r\n var width = options && isNumeric(options.width) ? options.width + \"px\" : \"100%\";\r\n var height = options && isNumeric(options.height) ? options.height + \"px\" : this._getDefaultSize().height + \"px\";\r\n domAdapter.setStyle(sizedElement, \"width\", width);\r\n domAdapter.setStyle(sizedElement, \"height\", height);\r\n domAdapter.setClass(sizedElement, SIZED_ELEMENT_CLASS);\r\n domAdapter.insertElement(element, sizedElement)\r\n }\r\n };\r\n var EmptyComponent = DOMComponent.inherit(emptyComponentConfig);\r\n var originalInherit = EmptyComponent.inherit;\r\n EmptyComponent.inherit = function(config) {\r\n for (var field in config) {\r\n if (isFunction(config[field]) && \"_\" !== field.substr(0, 1) && \"option\" !== field || \"_dispose\" === field || \"_optionChanged\" === field) {\r\n config[field] = noop\r\n }\r\n }\r\n return originalInherit.call(this, config)\r\n };\r\n return EmptyComponent\r\n};\r\n\r\nfunction callForEach(functions) {\r\n functions.forEach(c => c())\r\n}\r\n\r\nfunction floorCanvasDimensions(canvas) {\r\n return _extends({}, canvas, {\r\n height: _floor(canvas.height),\r\n width: _floor(canvas.width)\r\n })\r\n}\r\nvar isServerSide = !hasWindow();\r\n\r\nfunction sizeIsValid(value) {\r\n return isDefined(value) && value > 0\r\n}\r\nvar baseWidget = isServerSide ? getEmptyComponent() : DOMComponent.inherit({\r\n _eventsMap: {\r\n onIncidentOccurred: {\r\n name: \"incidentOccurred\",\r\n actionSettings: {\r\n excludeValidators: [\"disabled\"]\r\n }\r\n },\r\n onDrawn: {\r\n name: \"drawn\",\r\n actionSettings: {\r\n excludeValidators: [\"disabled\"]\r\n }\r\n }\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n onIncidentOccurred: defaultOnIncidentOccurred\r\n })\r\n },\r\n _useLinks: true,\r\n _init: function() {\r\n var that = this;\r\n that._$element.children(\".\" + SIZED_ELEMENT_CLASS).remove();\r\n that._graphicObjects = {};\r\n that.callBase.apply(that, arguments);\r\n that._changesLocker = 0;\r\n that._optionChangedLocker = 0;\r\n that._asyncFirstDrawing = true;\r\n that._changes = changes();\r\n that._suspendChanges();\r\n that._themeManager = that._createThemeManager();\r\n that._themeManager.setCallback((function() {\r\n that._requestChange(that._themeDependentChanges)\r\n }));\r\n that._renderElementAttributes();\r\n that._initRenderer();\r\n var linkTarget = that._useLinks && that._renderer.root;\r\n linkTarget && linkTarget.enableLinks().virtualLink(\"core\").virtualLink(\"peripheral\");\r\n that._renderVisibilityChange();\r\n that._attachVisibilityChangeHandlers();\r\n that._toggleParentsScrollSubscription(this._isVisible());\r\n that._initEventTrigger();\r\n that._incidentOccurred = createIncidentOccurred(that.NAME, that._eventTrigger);\r\n that._layout = new _Layout;\r\n linkTarget && linkTarget.linkAfter(\"core\");\r\n that._initPlugins();\r\n that._initCore();\r\n linkTarget && linkTarget.linkAfter();\r\n that._change(that._initialChanges)\r\n },\r\n _createThemeManager() {\r\n return new BaseThemeManager(this._getThemeManagerOptions())\r\n },\r\n _getThemeManagerOptions() {\r\n return {\r\n themeSection: this._themeSection,\r\n fontFields: this._fontFields\r\n }\r\n },\r\n _initialChanges: [\"LAYOUT\", \"RESIZE_HANDLER\", \"THEME\", \"DISABLED\"],\r\n _initPlugins: function() {\r\n var that = this;\r\n each(that._plugins, (function(_, plugin) {\r\n plugin.init.call(that)\r\n }))\r\n },\r\n _disposePlugins: function() {\r\n var that = this;\r\n each(that._plugins.slice().reverse(), (function(_, plugin) {\r\n plugin.dispose.call(that)\r\n }))\r\n },\r\n _change: function(codes) {\r\n this._changes.add(codes)\r\n },\r\n _suspendChanges: function() {\r\n ++this._changesLocker\r\n },\r\n _resumeChanges: function() {\r\n if (0 === --this._changesLocker && this._changes.count() > 0 && !this._applyingChanges) {\r\n this._renderer.lock();\r\n this._applyingChanges = true;\r\n this._applyChanges();\r\n this._changes.reset();\r\n this._applyingChanges = false;\r\n this._changesApplied();\r\n this._renderer.unlock();\r\n if (this._optionsQueue) {\r\n this._applyQueuedOptions()\r\n }\r\n this.resolveItemsDeferred(this._legend ? [this._legend] : []);\r\n this._optionChangedLocker++;\r\n this._notify();\r\n this._optionChangedLocker--\r\n }\r\n },\r\n resolveItemsDeferred(items) {\r\n this._resolveDeferred(this._getTemplatesItems(items))\r\n },\r\n _collectTemplatesFromItems: items => items.reduce((prev, i) => ({\r\n items: prev.items.concat(i.getTemplatesDef()),\r\n groups: prev.groups.concat(i.getTemplatesGroups())\r\n }), {\r\n items: [],\r\n groups: []\r\n }),\r\n _getTemplatesItems(items) {\r\n var elements = this._collectTemplatesFromItems(items);\r\n var extraItems = this._getExtraTemplatesItems();\r\n return {\r\n items: extraItems.items.concat(elements.items),\r\n groups: extraItems.groups.concat(elements.groups),\r\n launchRequest: [extraItems.launchRequest],\r\n doneRequest: [extraItems.doneRequest]\r\n }\r\n },\r\n _getExtraTemplatesItems: () => ({\r\n items: [],\r\n groups: [],\r\n launchRequest: () => {},\r\n doneRequest: () => {}\r\n }),\r\n _resolveDeferred(_ref) {\r\n var {\r\n items: items,\r\n launchRequest: launchRequest,\r\n doneRequest: doneRequest,\r\n groups: groups\r\n } = _ref;\r\n var that = this;\r\n that._setGroupsVisibility(groups, \"hidden\");\r\n if (that._changesApplying) {\r\n that._changesApplying = false;\r\n callForEach(doneRequest);\r\n return\r\n }\r\n var syncRendering = true;\r\n when.apply(that, items).done(() => {\r\n if (syncRendering) {\r\n that._setGroupsVisibility(groups, \"visible\");\r\n return\r\n }\r\n callForEach(launchRequest);\r\n that._changesApplying = true;\r\n var changes = [\"LAYOUT\", \"FULL_RENDER\"];\r\n if (that._asyncFirstDrawing) {\r\n changes.push(\"FORCE_FIRST_DRAWING\");\r\n that._asyncFirstDrawing = false\r\n } else {\r\n changes.push(\"FORCE_DRAWING\")\r\n }\r\n that._requestChange(changes);\r\n that._setGroupsVisibility(groups, \"visible\")\r\n });\r\n syncRendering = false\r\n },\r\n _setGroupsVisibility(groups, visibility) {\r\n groups.forEach(g => g.attr({\r\n visibility: visibility\r\n }))\r\n },\r\n _applyQueuedOptions: function() {\r\n var queue = this._optionsQueue;\r\n this._optionsQueue = null;\r\n this.beginUpdate();\r\n each(queue, (function(_, action) {\r\n action()\r\n }));\r\n this.endUpdate()\r\n },\r\n _requestChange: function(codes) {\r\n this._suspendChanges();\r\n this._change(codes);\r\n this._resumeChanges()\r\n },\r\n _applyChanges: function() {\r\n var changes = this._changes;\r\n var order = this._totalChangesOrder;\r\n var i;\r\n var ii = order.length;\r\n for (i = 0; i < ii; ++i) {\r\n if (changes.has(order[i])) {\r\n this[\"_change_\" + order[i]]()\r\n }\r\n }\r\n },\r\n _optionChangesOrder: [\"EVENTS\", \"THEME\", \"RENDERER\", \"RESIZE_HANDLER\"],\r\n _layoutChangesOrder: [\"ELEMENT_ATTR\", \"CONTAINER_SIZE\", \"LAYOUT\"],\r\n _customChangesOrder: [\"DISABLED\"],\r\n _change_EVENTS: function() {\r\n this._eventTrigger.applyChanges()\r\n },\r\n _change_THEME: function() {\r\n this._setThemeAndRtl()\r\n },\r\n _change_RENDERER: function() {\r\n this._setRendererOptions()\r\n },\r\n _change_RESIZE_HANDLER: function() {\r\n this._setupResizeHandler()\r\n },\r\n _change_ELEMENT_ATTR: function() {\r\n this._renderElementAttributes();\r\n this._change([\"CONTAINER_SIZE\"])\r\n },\r\n _change_CONTAINER_SIZE: function() {\r\n this._updateSize()\r\n },\r\n _change_LAYOUT: function() {\r\n this._setContentSize()\r\n },\r\n _change_DISABLED: function() {\r\n var renderer = this._renderer;\r\n var root = renderer.root;\r\n if (this.option(\"disabled\")) {\r\n this._initDisabledState = root.attr(\"pointer-events\");\r\n root.attr({\r\n \"pointer-events\": \"none\",\r\n filter: renderer.getGrayScaleFilter().id\r\n })\r\n } else if (\"none\" === root.attr(\"pointer-events\")) {\r\n root.attr({\r\n \"pointer-events\": isDefined(this._initDisabledState) ? this._initDisabledState : null,\r\n filter: null\r\n })\r\n }\r\n },\r\n _themeDependentChanges: [\"RENDERER\"],\r\n _initRenderer: function() {\r\n var rawCanvas = this._calculateRawCanvas();\r\n this._canvas = floorCanvasDimensions(rawCanvas);\r\n this._renderer = new Renderer({\r\n cssClass: this._rootClassPrefix + \" \" + this._rootClass,\r\n pathModified: this.option(\"pathModified\"),\r\n container: this._$element[0]\r\n });\r\n this._renderer.resize(this._canvas.width, this._canvas.height)\r\n },\r\n _disposeRenderer: function() {\r\n this._renderer.dispose()\r\n },\r\n _disposeGraphicObjects: function() {\r\n for (var id in this._graphicObjects) {\r\n this._graphicObjects[id].dispose()\r\n }\r\n this._graphicObjects = null\r\n },\r\n _getAnimationOptions: noop,\r\n render: function() {\r\n this._requestChange([\"CONTAINER_SIZE\"]);\r\n var visible = this._isVisible();\r\n this._toggleParentsScrollSubscription(visible);\r\n !visible && this._stopCurrentHandling()\r\n },\r\n _toggleParentsScrollSubscription: function(subscribe) {\r\n var $parents = $(this._renderer.root.element).parents();\r\n if (\"generic\" === devices.real().platform) {\r\n $parents = $parents.add(getWindow())\r\n }\r\n this._proxiedTargetParentsScrollHandler = this._proxiedTargetParentsScrollHandler || function() {\r\n this._stopCurrentHandling()\r\n }.bind(this);\r\n eventsEngine.off($().add(this._$prevRootParents), \"scroll.viz_widgets\", this._proxiedTargetParentsScrollHandler);\r\n if (subscribe) {\r\n eventsEngine.on($parents, \"scroll.viz_widgets\", this._proxiedTargetParentsScrollHandler);\r\n this._$prevRootParents = $parents\r\n }\r\n },\r\n _stopCurrentHandling: noop,\r\n _dispose: function() {\r\n var that = this;\r\n if (this._disposed) {\r\n return\r\n }\r\n that.callBase.apply(that, arguments);\r\n that._toggleParentsScrollSubscription(false);\r\n that._removeResizeHandler();\r\n that._layout.dispose();\r\n that._eventTrigger.dispose();\r\n that._disposeCore();\r\n that._disposePlugins();\r\n that._disposeGraphicObjects();\r\n that._disposeRenderer();\r\n that._themeManager.dispose();\r\n that._themeManager = that._renderer = that._eventTrigger = null\r\n },\r\n _initEventTrigger: function() {\r\n var that = this;\r\n that._eventTrigger = createEventTrigger(that._eventsMap, (function(name, actionSettings) {\r\n return that._createActionByOption(name, actionSettings)\r\n }))\r\n },\r\n _calculateRawCanvas: function() {\r\n var that = this;\r\n var size = that.option(\"size\") || {};\r\n var margin = that.option(\"margin\") || {};\r\n var defaultCanvas = that._getDefaultSize() || {};\r\n var getSizeOfSide = (size, side, getter) => {\r\n if (sizeIsValid(size[side]) || !hasWindow()) {\r\n return 0\r\n }\r\n var elementSize = getter(that._$element);\r\n return elementSize <= 1 ? 0 : elementSize\r\n };\r\n var elementWidth = getSizeOfSide(size, \"width\", x => getWidth(x));\r\n var elementHeight = getSizeOfSide(size, \"height\", x => getHeight(x));\r\n var canvas = {\r\n width: size.width <= 0 ? 0 : pickPositiveValue([size.width, elementWidth, defaultCanvas.width]),\r\n height: size.height <= 0 ? 0 : pickPositiveValue([size.height, elementHeight, defaultCanvas.height]),\r\n left: pickPositiveValue([margin.left, defaultCanvas.left]),\r\n top: pickPositiveValue([margin.top, defaultCanvas.top]),\r\n right: pickPositiveValue([margin.right, defaultCanvas.right]),\r\n bottom: pickPositiveValue([margin.bottom, defaultCanvas.bottom])\r\n };\r\n if (canvas.width - canvas.left - canvas.right <= 0 || canvas.height - canvas.top - canvas.bottom <= 0) {\r\n canvas = {\r\n width: 0,\r\n height: 0\r\n }\r\n }\r\n return canvas\r\n },\r\n _updateSize: function() {\r\n var rawCanvas = this._calculateRawCanvas();\r\n if (areCanvasesDifferent(this._canvas, rawCanvas) || this.__forceRender) {\r\n this._canvas = floorCanvasDimensions(rawCanvas);\r\n this._recreateSizeDependentObjects(true);\r\n this._renderer.resize(this._canvas.width, this._canvas.height);\r\n this._change([\"LAYOUT\"])\r\n }\r\n },\r\n _recreateSizeDependentObjects: noop,\r\n _getMinSize: function() {\r\n return [0, 0]\r\n },\r\n _getAlignmentRect: noop,\r\n _setContentSize: function() {\r\n var canvas = this._canvas;\r\n var layout = this._layout;\r\n var rect = canvas.width > 0 && canvas.height > 0 ? [canvas.left, canvas.top, canvas.width - canvas.right, canvas.height - canvas.bottom] : [0, 0, 0, 0];\r\n rect = layout.forward(rect, this._getMinSize());\r\n var nextRect = this._applySize(rect) || rect;\r\n layout.backward(nextRect, this._getAlignmentRect() || nextRect)\r\n },\r\n _getOption: function(name, isScalar) {\r\n var theme = this._themeManager.theme(name);\r\n var option = this.option(name);\r\n return isScalar ? void 0 !== option ? option : theme : extend(true, {}, theme, option)\r\n },\r\n _setupResizeHandler: function() {\r\n var that = this;\r\n var redrawOnResize = _parseScalar(that._getOption(\"redrawOnResize\", true), true);\r\n if (that._disposeResizeHandler) {\r\n that._removeResizeHandler()\r\n }\r\n that._disposeResizeHandler = createResizeHandler(that._$element[0], redrawOnResize, () => that._requestChange([\"CONTAINER_SIZE\"]))\r\n },\r\n _removeResizeHandler: function() {\r\n if (this._disposeResizeHandler) {\r\n this._disposeResizeHandler();\r\n this._disposeResizeHandler = null\r\n }\r\n },\r\n _onBeginUpdate: noop,\r\n beginUpdate: function() {\r\n var that = this;\r\n if (that._initialized && that._isUpdateAllowed()) {\r\n that._onBeginUpdate();\r\n that._suspendChanges()\r\n }\r\n that.callBase.apply(that, arguments);\r\n return that\r\n },\r\n endUpdate: function() {\r\n this.callBase();\r\n this._isUpdateAllowed() && this._resumeChanges();\r\n return this\r\n },\r\n option: function(name) {\r\n var that = this;\r\n if (that._initialized && that._applyingChanges && (arguments.length > 1 || _isObject(name))) {\r\n that._optionsQueue = that._optionsQueue || [];\r\n that._optionsQueue.push(that._getActionForUpdating(arguments))\r\n } else {\r\n return _option.apply(that, arguments)\r\n }\r\n },\r\n _getActionForUpdating: function(args) {\r\n var that = this;\r\n return function() {\r\n _option.apply(that, args)\r\n }\r\n },\r\n _clean: noop,\r\n _render: noop,\r\n _optionChanged: function(arg) {\r\n var that = this;\r\n if (that._optionChangedLocker) {\r\n return\r\n }\r\n var partialChanges = that.getPartialChangeOptionsName(arg);\r\n var changes = [];\r\n if (partialChanges.length > 0) {\r\n partialChanges.forEach(pc => changes.push(that._partialOptionChangesMap[pc]))\r\n } else {\r\n changes.push(that._optionChangesMap[arg.name])\r\n }\r\n changes = changes.filter(c => !!c);\r\n if (that._eventTrigger.change(arg.name)) {\r\n that._change([\"EVENTS\"])\r\n } else if (changes.length > 0) {\r\n that._change(changes)\r\n } else {\r\n that.callBase.apply(that, arguments)\r\n }\r\n },\r\n _notify: noop,\r\n _changesApplied: noop,\r\n _optionChangesMap: {\r\n size: \"CONTAINER_SIZE\",\r\n margin: \"CONTAINER_SIZE\",\r\n redrawOnResize: \"RESIZE_HANDLER\",\r\n theme: \"THEME\",\r\n rtlEnabled: \"THEME\",\r\n encodeHtml: \"THEME\",\r\n elementAttr: \"ELEMENT_ATTR\",\r\n disabled: \"DISABLED\"\r\n },\r\n _partialOptionChangesMap: {},\r\n _partialOptionChangesPath: {},\r\n getPartialChangeOptionsName: function(changedOption) {\r\n var that = this;\r\n var fullName = changedOption.fullName;\r\n var sections = fullName.split(/[.]/);\r\n var name = changedOption.name;\r\n var value = changedOption.value;\r\n var options = this._partialOptionChangesPath[name];\r\n var partialChangeOptionsName = [];\r\n if (options) {\r\n if (true === options) {\r\n partialChangeOptionsName.push(name)\r\n } else {\r\n options.forEach(op => {\r\n fullName.indexOf(op) >= 0 && partialChangeOptionsName.push(op)\r\n });\r\n if (1 === sections.length) {\r\n if (\"object\" === type(value)) {\r\n that._addOptionsNameForPartialUpdate(value, options, partialChangeOptionsName)\r\n } else if (\"array\" === type(value)) {\r\n if (value.length > 0 && value.every(item => that._checkOptionsForPartialUpdate(item, options))) {\r\n value.forEach(item => that._addOptionsNameForPartialUpdate(item, options, partialChangeOptionsName))\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return partialChangeOptionsName.filter((value, index, self) => self.indexOf(value) === index)\r\n },\r\n _checkOptionsForPartialUpdate: function(optionObject, options) {\r\n return !Object.keys(optionObject).some(key => -1 === options.indexOf(key))\r\n },\r\n _addOptionsNameForPartialUpdate: function(optionObject, options, partialChangeOptionsName) {\r\n var optionKeys = Object.keys(optionObject);\r\n if (this._checkOptionsForPartialUpdate(optionObject, options)) {\r\n optionKeys.forEach(key => options.indexOf(key) > -1 && partialChangeOptionsName.push(key))\r\n }\r\n },\r\n _visibilityChanged: function() {\r\n this.render()\r\n },\r\n _setThemeAndRtl: function() {\r\n this._themeManager.setTheme(this.option(\"theme\"), this.option(OPTION_RTL_ENABLED))\r\n },\r\n _getRendererOptions: function() {\r\n return {\r\n rtl: this.option(OPTION_RTL_ENABLED),\r\n encodeHtml: this.option(\"encodeHtml\"),\r\n animation: this._getAnimationOptions()\r\n }\r\n },\r\n _setRendererOptions: function() {\r\n this._renderer.setOptions(this._getRendererOptions())\r\n },\r\n svg: function() {\r\n return this._renderer.svg()\r\n },\r\n getSize: function() {\r\n var canvas = this._canvas || {};\r\n return {\r\n width: canvas.width,\r\n height: canvas.height\r\n }\r\n },\r\n isReady: getFalse,\r\n _dataIsReady: getTrue,\r\n _resetIsReady: function() {\r\n this.isReady = getFalse\r\n },\r\n _renderGraphicObjects: function() {\r\n var renderer = this._renderer;\r\n var graphics = getGraphicObjects();\r\n for (var id in graphics) {\r\n if (!this._graphicObjects[id]) {\r\n var {\r\n type: _type,\r\n colors: colors,\r\n rotationAngle: rotationAngle,\r\n template: template,\r\n width: width,\r\n height: height\r\n } = graphics[id];\r\n switch (_type) {\r\n case \"linear\":\r\n this._graphicObjects[id] = renderer.linearGradient(colors, id, rotationAngle);\r\n break;\r\n case \"radial\":\r\n this._graphicObjects[id] = renderer.radialGradient(colors, id);\r\n break;\r\n case \"pattern\":\r\n this._graphicObjects[id] = renderer.customPattern(id, this._getTemplate(template), width, height)\r\n }\r\n }\r\n }\r\n },\r\n _drawn: function() {\r\n var that = this;\r\n that.isReady = getFalse;\r\n if (that._dataIsReady()) {\r\n that._renderer.onEndAnimation((function() {\r\n that.isReady = getTrue\r\n }))\r\n }\r\n that._eventTrigger(\"drawn\", {})\r\n }\r\n});\r\nexport default baseWidget;\r\nreplaceInherit(baseWidget);\r\n","/**\r\n * DevExtreme (esm/viz/core/layout_element.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar _round = Math.round;\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nvar defaultOffset = {\r\n horizontal: 0,\r\n vertical: 0\r\n};\r\nvar alignFactors = {\r\n center: .5,\r\n right: 1,\r\n bottom: 1,\r\n left: 0,\r\n top: 0\r\n};\r\n\r\nfunction LayoutElement(options) {\r\n this._options = options\r\n}\r\nLayoutElement.prototype = {\r\n constructor: LayoutElement,\r\n position: function(options) {\r\n var ofBBox = options.of.getLayoutOptions();\r\n var myBBox = this.getLayoutOptions();\r\n var at = options.at;\r\n var my = options.my;\r\n var offset = options.offset || defaultOffset;\r\n var shiftX = -alignFactors[my.horizontal] * myBBox.width + ofBBox.x + alignFactors[at.horizontal] * ofBBox.width + parseInt(offset.horizontal);\r\n var shiftY = -alignFactors[my.vertical] * myBBox.height + ofBBox.y + alignFactors[at.vertical] * ofBBox.height + parseInt(offset.vertical);\r\n this.shift(_round(shiftX), _round(shiftY))\r\n },\r\n getLayoutOptions: noop\r\n};\r\n\r\nfunction WrapperLayoutElement(renderElement, bBox) {\r\n this._renderElement = renderElement;\r\n this._cacheBBox = bBox\r\n}\r\nvar wrapperLayoutElementPrototype = WrapperLayoutElement.prototype = clone(LayoutElement.prototype);\r\nwrapperLayoutElementPrototype.constructor = WrapperLayoutElement;\r\nwrapperLayoutElementPrototype.getLayoutOptions = function() {\r\n return this._cacheBBox || this._renderElement.getBBox()\r\n};\r\nwrapperLayoutElementPrototype.shift = function(shiftX, shiftY) {\r\n var bBox = this.getLayoutOptions();\r\n this._renderElement.move(_round(shiftX - bBox.x), _round(shiftY - bBox.y))\r\n};\r\nexport {\r\n LayoutElement,\r\n WrapperLayoutElement\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/title.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString as _isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n patchFontOptions as _patchFontOptions,\r\n enumParser\r\n} from \"./utils\";\r\nimport {\r\n LayoutElement\r\n} from \"./layout_element\";\r\nvar _Number = Number;\r\nvar parseHorizontalAlignment = enumParser([\"left\", \"center\", \"right\"]);\r\nvar parseVerticalAlignment = enumParser([\"top\", \"bottom\"]);\r\nvar DEFAULT_MARGIN = 10;\r\n\r\nfunction hasText(text) {\r\n return !!(text && String(text).length > 0)\r\n}\r\n\r\nfunction processTitleLength(elem, text, width, options, placeholderSize) {\r\n if (elem.attr({\r\n text: text\r\n }).setMaxSize(width, placeholderSize, options).textChanged) {\r\n elem.setTitle(text)\r\n }\r\n}\r\n\r\nfunction pickMarginValue(value) {\r\n return value >= 0 ? _Number(value) : DEFAULT_MARGIN\r\n}\r\n\r\nfunction validateMargin(margin) {\r\n var result;\r\n if (margin >= 0) {\r\n result = {\r\n left: _Number(margin),\r\n top: _Number(margin),\r\n right: _Number(margin),\r\n bottom: _Number(margin)\r\n }\r\n } else {\r\n margin = margin || {};\r\n result = {\r\n left: pickMarginValue(margin.left),\r\n top: pickMarginValue(margin.top),\r\n right: pickMarginValue(margin.right),\r\n bottom: pickMarginValue(margin.bottom)\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction checkRect(rect, boundingRect) {\r\n return rect[2] - rect[0] < boundingRect.width || rect[3] - rect[1] < boundingRect.height\r\n}\r\nexport var Title = function(params) {\r\n this._params = params;\r\n this._group = params.renderer.g().attr({\r\n class: params.cssClass\r\n }).linkOn(params.root || params.renderer.root, \"title\");\r\n this._hasText = false\r\n};\r\nextend(Title.prototype, LayoutElement.prototype, {\r\n dispose: function() {\r\n this._group.linkRemove();\r\n this._group.linkOff();\r\n if (this._titleElement) {\r\n this._clipRect.dispose();\r\n this._titleElement = this._subtitleElement = this._clipRect = null\r\n }\r\n this._params = this._group = this._options = null\r\n },\r\n _updateOptions: function(options) {\r\n this._options = options;\r\n this._options.horizontalAlignment = parseHorizontalAlignment(options.horizontalAlignment, \"center\");\r\n this._options.verticalAlignment = parseVerticalAlignment(options.verticalAlignment, \"top\");\r\n this._options.margin = validateMargin(options.margin)\r\n },\r\n _updateStructure: function() {\r\n var renderer = this._params.renderer;\r\n var group = this._group;\r\n var options = this._options;\r\n var align = options.horizontalAlignment;\r\n if (!this._titleElement) {\r\n this._titleElement = renderer.text().append(group);\r\n this._subtitleElement = renderer.text();\r\n this._clipRect = renderer.clipRect();\r\n group.attr({\r\n \"clip-path\": this._clipRect.id\r\n })\r\n }\r\n this._titleElement.attr({\r\n align: align,\r\n class: options.cssClass\r\n });\r\n this._subtitleElement.attr({\r\n align: align,\r\n class: options.subtitle.cssClass\r\n });\r\n group.linkAppend();\r\n hasText(options.subtitle.text) ? this._subtitleElement.append(group) : this._subtitleElement.remove()\r\n },\r\n _updateTexts: function() {\r\n var options = this._options;\r\n var subtitleOptions = options.subtitle;\r\n var titleElement = this._titleElement;\r\n var subtitleElement = this._subtitleElement;\r\n var titleBox;\r\n titleElement.attr({\r\n text: \"A\",\r\n y: 0\r\n }).css(_patchFontOptions(options.font));\r\n titleBox = titleElement.getBBox();\r\n this._baseLineCorrection = titleBox.height + titleBox.y;\r\n titleElement.attr({\r\n text: options.text\r\n });\r\n titleBox = titleElement.getBBox();\r\n var y = -titleBox.y;\r\n titleElement.attr({\r\n y: y\r\n });\r\n if (hasText(subtitleOptions.text)) {\r\n subtitleElement.attr({\r\n text: subtitleOptions.text,\r\n y: 0\r\n }).css(_patchFontOptions(subtitleOptions.font))\r\n }\r\n },\r\n _shiftSubtitle() {\r\n var titleBox = this._titleElement.getBBox();\r\n var element = this._subtitleElement;\r\n var offset = this._options.subtitle.offset;\r\n element.move(0, titleBox.y + titleBox.height - element.getBBox().y - offset)\r\n },\r\n _updateBoundingRectAlignment: function() {\r\n var boundingRect = this._boundingRect;\r\n var options = this._options;\r\n boundingRect.verticalAlignment = options.verticalAlignment;\r\n boundingRect.horizontalAlignment = options.horizontalAlignment;\r\n boundingRect.cutLayoutSide = options.verticalAlignment;\r\n boundingRect.cutSide = \"vertical\";\r\n boundingRect.position = {\r\n horizontal: options.horizontalAlignment,\r\n vertical: options.verticalAlignment\r\n }\r\n },\r\n hasText: function() {\r\n return this._hasText\r\n },\r\n update: function(themeOptions, userOptions) {\r\n var options = extend(true, {}, themeOptions, processTitleOptions(userOptions));\r\n var _hasText = hasText(options.text);\r\n var isLayoutChanged = _hasText || _hasText !== this._hasText;\r\n this._baseLineCorrection = 0;\r\n this._updateOptions(options);\r\n this._boundingRect = {};\r\n if (_hasText) {\r\n this._updateStructure();\r\n this._updateTexts()\r\n } else {\r\n this._group.linkRemove()\r\n }\r\n this._updateBoundingRect();\r\n this._updateBoundingRectAlignment();\r\n this._hasText = _hasText;\r\n return isLayoutChanged\r\n },\r\n draw: function(width, height) {\r\n if (this._hasText) {\r\n this._group.linkAppend();\r\n this._correctTitleLength(width);\r\n if (this._group.getBBox().height > height) {\r\n this.freeSpace()\r\n }\r\n }\r\n return this\r\n },\r\n _correctTitleLength: function(width) {\r\n var options = this._options;\r\n var margin = options.margin;\r\n var maxWidth = width - margin.left - margin.right;\r\n var placeholderSize = options.placeholderSize;\r\n processTitleLength(this._titleElement, options.text, maxWidth, options, placeholderSize);\r\n if (this._subtitleElement) {\r\n if (_Number(placeholderSize) > 0) {\r\n placeholderSize -= this._titleElement.getBBox().height\r\n }\r\n processTitleLength(this._subtitleElement, options.subtitle.text, maxWidth, options.subtitle, placeholderSize);\r\n this._shiftSubtitle()\r\n }\r\n this._updateBoundingRect();\r\n var {\r\n x: x,\r\n y: y,\r\n height: height\r\n } = this.getCorrectedLayoutOptions();\r\n this._clipRect.attr({\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n })\r\n },\r\n getLayoutOptions: function() {\r\n return this._boundingRect || null\r\n },\r\n shift: function(x, y) {\r\n var box = this.getLayoutOptions();\r\n this._group.move(x - box.x, y - box.y);\r\n return this\r\n },\r\n _updateBoundingRect: function() {\r\n var options = this._options;\r\n var margin = options.margin;\r\n var boundingRect = this._boundingRect;\r\n var box = this._hasText ? this._group.getBBox() : {\r\n width: 0,\r\n height: 0,\r\n x: 0,\r\n y: 0,\r\n isEmpty: true\r\n };\r\n if (!box.isEmpty) {\r\n box.height += margin.top + margin.bottom - this._baseLineCorrection;\r\n box.width += margin.left + margin.right;\r\n box.x -= margin.left;\r\n box.y += this._baseLineCorrection - margin.top\r\n }\r\n if (options.placeholderSize > 0) {\r\n box.height = options.placeholderSize\r\n }\r\n boundingRect.height = box.height;\r\n boundingRect.width = box.width;\r\n boundingRect.x = box.x;\r\n boundingRect.y = box.y\r\n },\r\n getCorrectedLayoutOptions() {\r\n var srcBox = this.getLayoutOptions();\r\n var correction = this._baseLineCorrection;\r\n return extend({}, srcBox, {\r\n y: srcBox.y - correction,\r\n height: srcBox.height + correction\r\n })\r\n },\r\n layoutOptions: function() {\r\n if (!this._hasText) {\r\n return null\r\n }\r\n return {\r\n horizontalAlignment: this._boundingRect.horizontalAlignment,\r\n verticalAlignment: this._boundingRect.verticalAlignment,\r\n priority: 0\r\n }\r\n },\r\n measure: function(size) {\r\n this.draw(size[0], size[1]);\r\n return [this._boundingRect.width, this._boundingRect.height]\r\n },\r\n move: function(rect, fitRect) {\r\n var boundingRect = this._boundingRect;\r\n if (checkRect(rect, boundingRect)) {\r\n this.shift(fitRect[0], fitRect[1])\r\n } else {\r\n this.shift(Math.round(rect[0]), Math.round(rect[1]))\r\n }\r\n },\r\n freeSpace: function() {\r\n this._params.incidentOccurred(\"W2103\");\r\n this._group.linkRemove();\r\n this._boundingRect.width = this._boundingRect.height = 0\r\n },\r\n getOptions: function() {\r\n return this._options\r\n },\r\n changeLink: function(root) {\r\n this._group.linkRemove();\r\n this._group.linkOn(root, \"title\")\r\n }\r\n});\r\n\r\nfunction processTitleOptions(options) {\r\n var newOptions = _isString(options) ? {\r\n text: options\r\n } : options || {};\r\n newOptions.subtitle = _isString(newOptions.subtitle) ? {\r\n text: newOptions.subtitle\r\n } : newOptions.subtitle || {};\r\n return newOptions\r\n}\r\nexport var plugin = {\r\n name: \"title\",\r\n init: function() {\r\n this._title = new Title({\r\n renderer: this._renderer,\r\n cssClass: this._rootClassPrefix + \"-title\",\r\n incidentOccurred: this._incidentOccurred\r\n });\r\n this._layout.add(this._title)\r\n },\r\n dispose: function() {\r\n this._title.dispose();\r\n this._title = null\r\n },\r\n customize: function(constructor) {\r\n constructor.addChange({\r\n code: \"TITLE\",\r\n handler: function() {\r\n if (this._title.update(this._themeManager.theme(\"title\"), this.option(\"title\"))) {\r\n this._change([\"LAYOUT\"])\r\n }\r\n },\r\n isThemeDependent: true,\r\n option: \"title\",\r\n isOptionChange: true\r\n })\r\n },\r\n fontFields: [\"title.font\", \"title.subtitle.font\"]\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/components/legend.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n enumParser,\r\n normalizeEnum,\r\n patchFontOptions\r\n} from \"../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n LayoutElement,\r\n WrapperLayoutElement\r\n} from \"../core/layout_element\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Title\r\n} from \"../core/title\";\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n processHatchingAttrs,\r\n getFuncIri\r\n} from \"../core/renderers/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar _Number = Number;\r\nvar _math = Math;\r\nvar _round = _math.round;\r\nvar _max = _math.max;\r\nvar _min = _math.min;\r\nvar _ceil = _math.ceil;\r\nvar _isDefined = isDefined;\r\nvar _isFunction = isFunction;\r\nvar _enumParser = enumParser;\r\nvar _normalizeEnum = normalizeEnum;\r\nvar _extend = extend;\r\nvar DEFAULT_MARGIN = 10;\r\nvar DEFAULT_MARKER_HATCHING_WIDTH = 2;\r\nvar DEFAULT_MARKER_HATCHING_STEP = 5;\r\nvar CENTER = \"center\";\r\nvar RIGHT = \"right\";\r\nvar LEFT = \"left\";\r\nvar TOP = \"top\";\r\nvar BOTTOM = \"bottom\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar VERTICAL = \"vertical\";\r\nvar INSIDE = \"inside\";\r\nvar OUTSIDE = \"outside\";\r\nvar NONE = \"none\";\r\nvar HEIGHT = \"height\";\r\nvar WIDTH = \"width\";\r\nvar parseHorizontalAlignment = _enumParser([LEFT, CENTER, RIGHT]);\r\nvar parseVerticalAlignment = _enumParser([TOP, BOTTOM]);\r\nvar parseOrientation = _enumParser([VERTICAL, HORIZONTAL]);\r\nvar parseItemTextPosition = _enumParser([LEFT, RIGHT, TOP, BOTTOM]);\r\nvar parsePosition = _enumParser([OUTSIDE, INSIDE]);\r\nvar parseItemsAlignment = _enumParser([LEFT, CENTER, RIGHT]);\r\n\r\nfunction getState(state, color, stateName) {\r\n if (!state) {\r\n return\r\n }\r\n var colorFromAction = state.fill;\r\n return extend({}, {\r\n state: stateName,\r\n fill: colorFromAction === NONE ? color : colorFromAction,\r\n opacity: state.opacity,\r\n filter: state.filter,\r\n hatching: _extend({}, state.hatching, {\r\n step: DEFAULT_MARKER_HATCHING_STEP,\r\n width: DEFAULT_MARKER_HATCHING_WIDTH\r\n })\r\n })\r\n}\r\n\r\nfunction getAttributes(item, state, size) {\r\n var attrs = processHatchingAttrs(item, state);\r\n if (attrs.fill && 0 === attrs.fill.indexOf(\"DevExpress\")) {\r\n attrs.fill = getFuncIri(attrs.fill)\r\n }\r\n attrs.opacity = attrs.opacity >= 0 ? attrs.opacity : 1;\r\n return extend({}, attrs, {\r\n size: size\r\n })\r\n}\r\n\r\nfunction parseMargins(options) {\r\n var margin = options.margin;\r\n if (margin >= 0) {\r\n margin = _Number(options.margin);\r\n margin = {\r\n top: margin,\r\n bottom: margin,\r\n left: margin,\r\n right: margin\r\n }\r\n } else {\r\n margin = {\r\n top: margin.top >= 0 ? _Number(margin.top) : DEFAULT_MARGIN,\r\n bottom: margin.bottom >= 0 ? _Number(margin.bottom) : DEFAULT_MARGIN,\r\n left: margin.left >= 0 ? _Number(margin.left) : DEFAULT_MARGIN,\r\n right: margin.right >= 0 ? _Number(margin.right) : DEFAULT_MARGIN\r\n }\r\n }\r\n options.margin = margin\r\n}\r\n\r\nfunction getSizeItem(options, markerBBox, labelBBox) {\r\n var width;\r\n var height;\r\n switch (options.itemTextPosition) {\r\n case LEFT:\r\n case RIGHT:\r\n width = markerBBox.width + 7 + labelBBox.width;\r\n height = _max(markerBBox.height, labelBBox.height);\r\n break;\r\n case TOP:\r\n case BOTTOM:\r\n width = _max(markerBBox.width, labelBBox.width);\r\n height = markerBBox.height + 4 + labelBBox.height\r\n }\r\n return {\r\n width: width,\r\n height: height\r\n }\r\n}\r\n\r\nfunction calculateBBoxLabelAndMarker(markerBBox, labelBBox) {\r\n var bBox = {};\r\n bBox.left = _min(markerBBox.x, labelBBox.x);\r\n bBox.top = _min(markerBBox.y, labelBBox.y);\r\n bBox.right = _max(markerBBox.x + markerBBox.width, labelBBox.x + labelBBox.width);\r\n bBox.bottom = _max(markerBBox.y + markerBBox.height, labelBBox.y + labelBBox.height);\r\n return bBox\r\n}\r\n\r\nfunction applyMarkerState(id, idToIndexMap, items, stateName) {\r\n var item = idToIndexMap && items[idToIndexMap[id]];\r\n if (item) {\r\n item.renderMarker(item.states[stateName])\r\n }\r\n}\r\n\r\nfunction parseOptions(options, textField, allowInsidePosition) {\r\n if (!options) {\r\n return null\r\n }\r\n parseMargins(options);\r\n options.horizontalAlignment = parseHorizontalAlignment(options.horizontalAlignment, RIGHT);\r\n options.verticalAlignment = parseVerticalAlignment(options.verticalAlignment, options.horizontalAlignment === CENTER ? BOTTOM : TOP);\r\n options.orientation = parseOrientation(options.orientation, options.horizontalAlignment === CENTER ? HORIZONTAL : VERTICAL);\r\n options.itemTextPosition = parseItemTextPosition(options.itemTextPosition, options.orientation === HORIZONTAL ? BOTTOM : RIGHT);\r\n options.position = allowInsidePosition ? parsePosition(options.position, OUTSIDE) : OUTSIDE;\r\n options.itemsAlignment = parseItemsAlignment(options.itemsAlignment, null);\r\n options.hoverMode = _normalizeEnum(options.hoverMode);\r\n options.customizeText = _isFunction(options.customizeText) ? options.customizeText : function() {\r\n return this[textField]\r\n };\r\n options.customizeHint = _isFunction(options.customizeHint) ? options.customizeHint : noop;\r\n options._incidentOccurred = options._incidentOccurred || noop;\r\n return options\r\n}\r\n\r\nfunction createSquareMarker(renderer, size) {\r\n return renderer.rect(0, 0, size, size)\r\n}\r\n\r\nfunction createCircleMarker(renderer, size) {\r\n return renderer.circle(size / 2, size / 2, size / 2)\r\n}\r\n\r\nfunction isCircle(type) {\r\n return \"circle\" === _normalizeEnum(type)\r\n}\r\n\r\nfunction inRect(rect, x, y) {\r\n return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom\r\n}\r\n\r\nfunction checkLinesSize(lines, layoutOptions, countItems, margins) {\r\n var position = {\r\n x: 0,\r\n y: 0\r\n };\r\n var maxMeasureLength = 0;\r\n var maxAltMeasureLength = 0;\r\n var margin = 0;\r\n if (\"y\" === layoutOptions.direction) {\r\n margin = margins.top + margins.bottom\r\n } else {\r\n margin = margins.left + margins.right\r\n }\r\n lines.forEach((function(line, i) {\r\n var firstItem = line[0];\r\n var lineLength = line.length;\r\n line.forEach((function(item, index) {\r\n var offset = item.offset || layoutOptions.spacing;\r\n position[layoutOptions.direction] += item[layoutOptions.measure] + (index !== lineLength - 1 ? offset : 0);\r\n maxMeasureLength = _max(maxMeasureLength, position[layoutOptions.direction])\r\n }));\r\n position[layoutOptions.direction] = 0;\r\n position[layoutOptions.altDirection] += firstItem[layoutOptions.altMeasure] + firstItem.altOffset || layoutOptions.altSpacing;\r\n maxAltMeasureLength = _max(maxAltMeasureLength, position[layoutOptions.altDirection])\r\n }));\r\n if (maxMeasureLength + margin > layoutOptions.length) {\r\n layoutOptions.countItem = decreaseItemCount(layoutOptions, countItems);\r\n return true\r\n }\r\n}\r\n\r\nfunction decreaseItemCount(layoutOptions, countItems) {\r\n layoutOptions.altCountItem++;\r\n return _ceil(countItems / layoutOptions.altCountItem)\r\n}\r\n\r\nfunction getLineLength(line, layoutOptions) {\r\n return line.reduce((lineLength, item) => {\r\n var offset = item.offset || layoutOptions.spacing;\r\n return lineLength + item[layoutOptions.measure] + offset\r\n }, 0)\r\n}\r\n\r\nfunction getMaxLineLength(lines, layoutOptions) {\r\n return lines.reduce((maxLineLength, line) => _max(maxLineLength, getLineLength(line, layoutOptions)), 0)\r\n}\r\n\r\nfunction getInitPositionForDirection(line, layoutOptions, maxLineLength) {\r\n var lineLength = getLineLength(line, layoutOptions);\r\n var initPosition;\r\n switch (layoutOptions.itemsAlignment) {\r\n case RIGHT:\r\n initPosition = maxLineLength - lineLength;\r\n break;\r\n case CENTER:\r\n initPosition = (maxLineLength - lineLength) / 2;\r\n break;\r\n default:\r\n initPosition = 0\r\n }\r\n return initPosition\r\n}\r\n\r\nfunction getPos(layoutOptions) {\r\n switch (layoutOptions.itemTextPosition) {\r\n case BOTTOM:\r\n return {\r\n horizontal: CENTER, vertical: TOP\r\n };\r\n case TOP:\r\n return {\r\n horizontal: CENTER, vertical: BOTTOM\r\n };\r\n case LEFT:\r\n return {\r\n horizontal: RIGHT, vertical: CENTER\r\n };\r\n case RIGHT:\r\n return {\r\n horizontal: LEFT, vertical: CENTER\r\n }\r\n }\r\n}\r\n\r\nfunction getLines(lines, layoutOptions, itemIndex) {\r\n var tableLine = {};\r\n if (itemIndex % layoutOptions.countItem === 0) {\r\n if (layoutOptions.markerOffset) {\r\n lines.push([], [])\r\n } else {\r\n lines.push([])\r\n }\r\n }\r\n if (layoutOptions.markerOffset) {\r\n tableLine.firstLine = lines[lines.length - 1];\r\n tableLine.secondLine = lines[lines.length - 2]\r\n } else {\r\n tableLine.firstLine = tableLine.secondLine = lines[lines.length - 1]\r\n }\r\n return tableLine\r\n}\r\n\r\nfunction setMaxInLine(line, measure) {\r\n var maxLineSize = line.reduce((maxLineSize, item) => {\r\n var itemMeasure = item ? item[measure] : maxLineSize;\r\n return _max(maxLineSize, itemMeasure)\r\n }, 0);\r\n line.forEach(item => {\r\n if (item) {\r\n item[measure] = maxLineSize\r\n }\r\n })\r\n}\r\n\r\nfunction transpose(array) {\r\n var width = array.length;\r\n var height = array[0].length;\r\n var i;\r\n var j;\r\n var transposeArray = [];\r\n for (i = 0; i < height; i++) {\r\n transposeArray[i] = [];\r\n for (j = 0; j < width; j++) {\r\n transposeArray[i][j] = array[j][i]\r\n }\r\n }\r\n return transposeArray\r\n}\r\n\r\nfunction getAlign(position) {\r\n switch (position) {\r\n case TOP:\r\n case BOTTOM:\r\n return CENTER;\r\n case LEFT:\r\n return RIGHT;\r\n case RIGHT:\r\n return LEFT\r\n }\r\n}\r\nvar getMarkerCreator = function(type) {\r\n return isCircle(type) ? createCircleMarker : createSquareMarker\r\n};\r\n\r\nfunction getTitleHorizontalAlignment(options) {\r\n if (options.horizontalAlignment === CENTER) {\r\n return CENTER\r\n } else if (options.itemTextPosition === RIGHT) {\r\n return LEFT\r\n } else if (options.itemTextPosition === LEFT) {\r\n return RIGHT\r\n } else {\r\n return CENTER\r\n }\r\n}\r\nexport var Legend = function(settings) {\r\n this._renderer = settings.renderer;\r\n this._legendGroup = settings.group;\r\n this._backgroundClass = settings.backgroundClass;\r\n this._itemGroupClass = settings.itemGroupClass;\r\n this._textField = settings.textField;\r\n this._getCustomizeObject = settings.getFormatObject;\r\n this._titleGroupClass = settings.titleGroupClass;\r\n this._allowInsidePosition = settings.allowInsidePosition;\r\n this._widget = settings.widget;\r\n this._updated = false\r\n};\r\nvar _Legend = Legend;\r\nvar legendPrototype = _Legend.prototype = clone(LayoutElement.prototype);\r\nextend(legendPrototype, {\r\n constructor: _Legend,\r\n getOptions: function() {\r\n return this._options\r\n },\r\n update: function() {\r\n var data = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n var options = arguments.length > 1 ? arguments[1] : void 0;\r\n var themeManagerTitleOptions = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var that = this;\r\n options = that._options = parseOptions(options, that._textField, that._allowInsidePosition) || {};\r\n var initMarkerSize = options.markerSize;\r\n this._updated = true;\r\n this._data = data.map(dataItem => {\r\n dataItem.size = _Number(dataItem.size > 0 ? dataItem.size : initMarkerSize);\r\n dataItem.marker = getAttributes(dataItem, dataItem.states.normal);\r\n Object.defineProperty(dataItem.marker, \"size\", {\r\n get: () => dataItem.size,\r\n set(value) {\r\n dataItem.size = value\r\n }\r\n });\r\n Object.defineProperty(dataItem.marker, \"opacity\", {\r\n get: () => dataItem.states.normal.opacity,\r\n set(value) {\r\n dataItem.states.normal.opacity = dataItem.states.hover.opacity = dataItem.states.selection.opacity = value\r\n }\r\n });\r\n return dataItem\r\n });\r\n if (options.customizeItems) {\r\n that._data = options.customizeItems(data.slice()) || data\r\n }\r\n that._boundingRect = {\r\n width: 0,\r\n height: 0,\r\n x: 0,\r\n y: 0\r\n };\r\n if (that.isVisible() && !that._title) {\r\n that._title = new Title({\r\n renderer: that._renderer,\r\n cssClass: that._titleGroupClass,\r\n root: that._legendGroup\r\n })\r\n }\r\n if (that._title) {\r\n var titleOptions = options.title;\r\n themeManagerTitleOptions.horizontalAlignment = getTitleHorizontalAlignment(options);\r\n that._title.update(themeManagerTitleOptions, titleOptions)\r\n }\r\n this.erase();\r\n return that\r\n },\r\n isVisible: function() {\r\n return this._options && this._options.visible\r\n },\r\n draw: function(width, height) {\r\n var items = this._getItemData();\r\n this.erase();\r\n if (!(this.isVisible() && items && items.length)) {\r\n return this\r\n }\r\n this._insideLegendGroup = this._renderer.g().enableLinks().append(this._legendGroup);\r\n this._title.changeLink(this._insideLegendGroup);\r\n this._createBackground();\r\n if (this._title.hasText()) {\r\n var horizontalPadding = this._background ? 2 * this._options.paddingLeftRight : 0;\r\n this._title.draw(width - horizontalPadding, height)\r\n }\r\n this._markersGroup = this._renderer.g().attr({\r\n class: this._itemGroupClass\r\n }).append(this._insideLegendGroup);\r\n this._createItems(items);\r\n this._updateElementsPosition(width, height);\r\n return this\r\n },\r\n _measureElements: function() {\r\n var options = this._options;\r\n var maxBBoxHeight = 0;\r\n this._items.forEach(item => {\r\n var labelBBox = item.label.getBBox();\r\n var markerBBox = item.marker.getBBox();\r\n item.markerBBox = markerBBox;\r\n item.markerSize = Math.max(markerBBox.width, markerBBox.height);\r\n var bBox = getSizeItem(options, markerBBox, labelBBox);\r\n item.labelBBox = labelBBox;\r\n item.bBox = bBox;\r\n maxBBoxHeight = _max(maxBBoxHeight, bBox.height)\r\n });\r\n if (options.equalRowHeight) {\r\n this._items.forEach(item => item.bBox.height = maxBBoxHeight)\r\n }\r\n },\r\n _updateElementsPosition: function(width, height) {\r\n var options = this._options;\r\n this._size = {\r\n width: width,\r\n height: height\r\n };\r\n this._measureElements();\r\n this._locateElements(options);\r\n this._finalUpdate(options);\r\n var size = this.getLayoutOptions();\r\n if (size.width > width || size.height > height) {\r\n this.freeSpace()\r\n }\r\n },\r\n _createItems: function(items) {\r\n var that = this;\r\n var options = that._options;\r\n var renderer = that._renderer;\r\n var createMarker = getMarkerCreator(options.markerShape);\r\n that._markersId = {};\r\n var templateFunction = !options.markerTemplate ? (dataItem, group) => {\r\n var attrs = dataItem.marker;\r\n createMarker(renderer, attrs.size).attr({\r\n fill: attrs.fill,\r\n opacity: attrs.opacity,\r\n filter: attrs.filter\r\n }).append({\r\n element: group\r\n })\r\n } : options.markerTemplate;\r\n var template = that._widget._getTemplate(templateFunction);\r\n var markersGroup = that._markersGroup;\r\n markersGroup.css(patchFontOptions(options.font));\r\n that._deferredItems = [];\r\n that._templatesGroups = [];\r\n that._items = (items || []).map((dataItem, i) => {\r\n var stateOfDataItem = dataItem.states;\r\n var normalState = stateOfDataItem.normal;\r\n var normalStateFill = normalState.fill;\r\n dataItem.size = dataItem.marker.size;\r\n var states = {\r\n normal: extend(normalState, {\r\n fill: normalStateFill || options.markerColor || options.defaultColor,\r\n state: \"normal\"\r\n }),\r\n hover: getState(stateOfDataItem.hover, normalStateFill, \"hovered\"),\r\n selection: getState(stateOfDataItem.selection, normalStateFill, \"selected\")\r\n };\r\n dataItem.states = states;\r\n var itemGroup = renderer.g().append(markersGroup);\r\n var markerGroup = renderer.g().attr({\r\n class: \"dxl-marker\"\r\n }).append(itemGroup);\r\n that._deferredItems[i] = new Deferred;\r\n that._templatesGroups.push(markerGroup);\r\n var item = {\r\n label: that._createLabel(dataItem, itemGroup),\r\n marker: markerGroup,\r\n renderer: renderer,\r\n group: itemGroup,\r\n tracker: {\r\n id: dataItem.id,\r\n argument: dataItem.argument,\r\n argumentIndex: dataItem.argumentIndex\r\n },\r\n states: states,\r\n itemTextPosition: options.itemTextPosition,\r\n markerOffset: 0,\r\n bBoxes: [],\r\n renderMarker(state) {\r\n dataItem.marker = getAttributes(item, state, dataItem.size);\r\n markerGroup.clear();\r\n template.render({\r\n model: dataItem,\r\n container: markerGroup.element,\r\n onRendered: that._deferredItems[i].resolve\r\n })\r\n }\r\n };\r\n item.renderMarker(states.normal);\r\n that._createHint(dataItem, itemGroup);\r\n if (void 0 !== dataItem.id) {\r\n that._markersId[dataItem.id] = i\r\n }\r\n return item\r\n })\r\n },\r\n getTemplatesGroups: function() {\r\n return this._templatesGroups || []\r\n },\r\n getTemplatesDef: function() {\r\n return this._deferredItems || []\r\n },\r\n _getItemData: function() {\r\n var items = this._data || [];\r\n var options = this._options || {};\r\n if (options.inverted) {\r\n items = items.slice().reverse()\r\n }\r\n return items.filter(i => i.visible)\r\n },\r\n _finalUpdate: function(options) {\r\n this._adjustBackgroundSettings(options);\r\n this._setBoundingRect(options.margin)\r\n },\r\n erase: function() {\r\n var insideLegendGroup = this._insideLegendGroup;\r\n insideLegendGroup && insideLegendGroup.dispose();\r\n this._insideLegendGroup = this._markersGroup = this._x1 = this._x2 = this._y2 = this._y2 = null;\r\n return this\r\n },\r\n _locateElements: function(locationOptions) {\r\n this._moveInInitialValues();\r\n this._locateRowsColumns(locationOptions)\r\n },\r\n _moveInInitialValues: function() {\r\n this._title.hasText() && this._title.move([0, 0]);\r\n this._legendGroup && this._legendGroup.move(0, 0);\r\n this._background && this._background.attr({\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n })\r\n },\r\n applySelected: function(id) {\r\n applyMarkerState(id, this._markersId, this._items, \"selection\");\r\n return this\r\n },\r\n applyHover: function(id) {\r\n applyMarkerState(id, this._markersId, this._items, \"hover\");\r\n return this\r\n },\r\n resetItem: function(id) {\r\n applyMarkerState(id, this._markersId, this._items, \"normal\");\r\n return this\r\n },\r\n _createLabel: function(data, group) {\r\n var labelFormatObject = this._getCustomizeObject(data);\r\n var options = this._options;\r\n var align = getAlign(options.itemTextPosition);\r\n var text = options.customizeText.call(labelFormatObject, labelFormatObject);\r\n var fontStyle = _isDefined(data.textOpacity) ? {\r\n color: options.font.color,\r\n opacity: data.textOpacity\r\n } : {};\r\n return this._renderer.text(text, 0, 0).css(patchFontOptions(fontStyle)).attr({\r\n align: align,\r\n class: options.cssClass\r\n }).append(group)\r\n },\r\n _createHint: function(data, group) {\r\n var labelFormatObject = this._getCustomizeObject(data);\r\n var text = this._options.customizeHint.call(labelFormatObject, labelFormatObject);\r\n if (_isDefined(text) && \"\" !== text) {\r\n group.setTitle(text)\r\n }\r\n },\r\n _createBackground: function() {\r\n var isInside = this._options.position === INSIDE;\r\n var color = this._options.backgroundColor;\r\n var fill = color || (isInside ? this._options.containerBackgroundColor : NONE);\r\n if (this._options.border.visible || (isInside || color) && color !== NONE) {\r\n this._background = this._renderer.rect(0, 0, 0, 0).attr({\r\n fill: fill,\r\n class: this._backgroundClass\r\n }).append(this._insideLegendGroup)\r\n }\r\n },\r\n _locateRowsColumns: function(options) {\r\n var iteration = 0;\r\n var layoutOptions = this._getItemsLayoutOptions();\r\n var countItems = this._items.length;\r\n var lines;\r\n do {\r\n lines = [];\r\n this._createLines(lines, layoutOptions);\r\n this._alignLines(lines, layoutOptions);\r\n iteration++\r\n } while (checkLinesSize(lines, layoutOptions, countItems, options.margin) && iteration < countItems);\r\n this._applyItemPosition(lines, layoutOptions)\r\n },\r\n _createLines: function(lines, layoutOptions) {\r\n this._items.forEach((item, i) => {\r\n var tableLine = getLines(lines, layoutOptions, i);\r\n var labelBox = {\r\n width: item.labelBBox.width,\r\n height: item.labelBBox.height,\r\n element: item.label,\r\n bBox: item.labelBBox,\r\n pos: getPos(layoutOptions),\r\n itemIndex: i\r\n };\r\n var markerBox = {\r\n width: item.markerBBox.width,\r\n height: item.markerBBox.height,\r\n element: item.marker,\r\n pos: {\r\n horizontal: CENTER,\r\n vertical: CENTER\r\n },\r\n bBox: {\r\n width: item.markerBBox.width,\r\n height: item.markerBBox.height,\r\n x: item.markerBBox.x,\r\n y: item.markerBBox.y\r\n },\r\n itemIndex: i\r\n };\r\n var firstItem;\r\n var secondItem;\r\n var offsetDirection = layoutOptions.markerOffset ? \"altOffset\" : \"offset\";\r\n if (layoutOptions.inverseLabelPosition) {\r\n firstItem = labelBox;\r\n secondItem = markerBox\r\n } else {\r\n firstItem = markerBox;\r\n secondItem = labelBox\r\n }\r\n firstItem[offsetDirection] = layoutOptions.labelOffset;\r\n tableLine.secondLine.push(firstItem);\r\n tableLine.firstLine.push(secondItem)\r\n })\r\n },\r\n _alignLines: function(lines, layoutOptions) {\r\n var i;\r\n var measure = layoutOptions.altMeasure;\r\n lines.forEach(line => setMaxInLine(line, measure));\r\n measure = layoutOptions.measure;\r\n if (layoutOptions.itemsAlignment) {\r\n if (layoutOptions.markerOffset) {\r\n for (i = 0; i < lines.length;) {\r\n transpose([lines[i++], lines[i++]]).forEach(processLine)\r\n }\r\n }\r\n } else {\r\n transpose(lines).forEach(processLine)\r\n }\r\n\r\n function processLine(line) {\r\n setMaxInLine(line, measure)\r\n }\r\n },\r\n _applyItemPosition: function(lines, layoutOptions) {\r\n var that = this;\r\n var position = {\r\n x: 0,\r\n y: 0\r\n };\r\n var maxLineLength = getMaxLineLength(lines, layoutOptions);\r\n lines.forEach(line => {\r\n var firstItem = line[0];\r\n var altOffset = firstItem.altOffset || layoutOptions.altSpacing;\r\n position[layoutOptions.direction] = getInitPositionForDirection(line, layoutOptions, maxLineLength);\r\n line.forEach(item => {\r\n var offset = item.offset || layoutOptions.spacing;\r\n var wrap = new WrapperLayoutElement(item.element, item.bBox);\r\n var itemBBoxOptions = {\r\n x: position.x,\r\n y: position.y,\r\n width: item.width,\r\n height: item.height\r\n };\r\n var itemBBox = new WrapperLayoutElement(null, itemBBoxOptions);\r\n var itemLegend = that._items[item.itemIndex];\r\n wrap.position({\r\n of: itemBBox,\r\n my: item.pos,\r\n at: item.pos\r\n });\r\n itemLegend.bBoxes.push(itemBBox);\r\n position[layoutOptions.direction] += item[layoutOptions.measure] + offset\r\n });\r\n position[layoutOptions.altDirection] += firstItem[layoutOptions.altMeasure] + altOffset\r\n });\r\n this._items.forEach(item => {\r\n var itemBBox = calculateBBoxLabelAndMarker(item.bBoxes[0].getLayoutOptions(), item.bBoxes[1].getLayoutOptions());\r\n var horizontal = that._options.columnItemSpacing / 2;\r\n var vertical = that._options.rowItemSpacing / 2;\r\n item.tracker.left = itemBBox.left - horizontal;\r\n item.tracker.right = itemBBox.right + horizontal;\r\n item.tracker.top = itemBBox.top - vertical;\r\n item.tracker.bottom = itemBBox.bottom + vertical\r\n })\r\n },\r\n _getItemsLayoutOptions: function() {\r\n var options = this._options;\r\n var orientation = options.orientation;\r\n var layoutOptions = {\r\n itemsAlignment: options.itemsAlignment,\r\n orientation: options.orientation\r\n };\r\n var width = this._size.width - (this._background ? 2 * options.paddingLeftRight : 0);\r\n var height = this._size.height - (this._background ? 2 * options.paddingTopBottom : 0);\r\n if (orientation === HORIZONTAL) {\r\n layoutOptions.length = width;\r\n layoutOptions.spacing = options.columnItemSpacing;\r\n layoutOptions.direction = \"x\";\r\n layoutOptions.measure = WIDTH;\r\n layoutOptions.altMeasure = HEIGHT;\r\n layoutOptions.altDirection = \"y\";\r\n layoutOptions.altSpacing = options.rowItemSpacing;\r\n layoutOptions.countItem = options.columnCount;\r\n layoutOptions.altCountItem = options.rowCount;\r\n layoutOptions.marginTextLabel = 4;\r\n layoutOptions.labelOffset = 7;\r\n if (options.itemTextPosition === BOTTOM || options.itemTextPosition === TOP) {\r\n layoutOptions.labelOffset = 4;\r\n layoutOptions.markerOffset = true\r\n }\r\n } else {\r\n layoutOptions.length = height;\r\n layoutOptions.spacing = options.rowItemSpacing;\r\n layoutOptions.direction = \"y\";\r\n layoutOptions.measure = HEIGHT;\r\n layoutOptions.altMeasure = WIDTH;\r\n layoutOptions.altDirection = \"x\";\r\n layoutOptions.altSpacing = options.columnItemSpacing;\r\n layoutOptions.countItem = options.rowCount;\r\n layoutOptions.altCountItem = options.columnCount;\r\n layoutOptions.marginTextLabel = 7;\r\n layoutOptions.labelOffset = 4;\r\n if (options.itemTextPosition === RIGHT || options.itemTextPosition === LEFT) {\r\n layoutOptions.labelOffset = 7;\r\n layoutOptions.markerOffset = true\r\n }\r\n }\r\n if (!layoutOptions.countItem) {\r\n if (layoutOptions.altCountItem) {\r\n layoutOptions.countItem = _ceil(this._items.length / layoutOptions.altCountItem)\r\n } else {\r\n layoutOptions.countItem = this._items.length\r\n }\r\n }\r\n if (options.itemTextPosition === TOP || options.itemTextPosition === LEFT) {\r\n layoutOptions.inverseLabelPosition = true\r\n }\r\n layoutOptions.itemTextPosition = options.itemTextPosition;\r\n layoutOptions.altCountItem = layoutOptions.altCountItem || _ceil(this._items.length / layoutOptions.countItem);\r\n return layoutOptions\r\n },\r\n _adjustBackgroundSettings: function(locationOptions) {\r\n if (!this._background) {\r\n return\r\n }\r\n var border = locationOptions.border;\r\n var legendBox = this._calculateTotalBox();\r\n var backgroundSettings = {\r\n x: _round(legendBox.x - locationOptions.paddingLeftRight),\r\n y: _round(legendBox.y - locationOptions.paddingTopBottom),\r\n width: _round(legendBox.width) + 2 * locationOptions.paddingLeftRight,\r\n height: _round(legendBox.height),\r\n opacity: locationOptions.backgroundOpacity\r\n };\r\n if (border.visible && border.width && border.color && border.color !== NONE) {\r\n backgroundSettings[\"stroke-width\"] = border.width;\r\n backgroundSettings.stroke = border.color;\r\n backgroundSettings[\"stroke-opacity\"] = border.opacity;\r\n backgroundSettings.dashStyle = border.dashStyle;\r\n backgroundSettings.rx = border.cornerRadius || 0;\r\n backgroundSettings.ry = border.cornerRadius || 0\r\n }\r\n this._background.attr(backgroundSettings)\r\n },\r\n _setBoundingRect: function(margin) {\r\n if (!this._insideLegendGroup) {\r\n return\r\n }\r\n var box = this._calculateTotalBox();\r\n box.height += margin.top + margin.bottom;\r\n box.widthWithoutMargins = box.width;\r\n box.width += margin.left + margin.right;\r\n box.x -= margin.left;\r\n box.y -= margin.top;\r\n this._boundingRect = box\r\n },\r\n _calculateTotalBox: function() {\r\n var markerBox = this._markersGroup.getBBox();\r\n var titleBox = this._title.getCorrectedLayoutOptions();\r\n var box = this._insideLegendGroup.getBBox();\r\n var verticalPadding = this._background ? 2 * this._options.paddingTopBottom : 0;\r\n box.height = markerBox.height + titleBox.height + verticalPadding;\r\n titleBox.width > box.width && (box.width = titleBox.width);\r\n return box\r\n },\r\n getActionCallback: function(point) {\r\n var that = this;\r\n if (that._options.visible) {\r\n return function(act) {\r\n that[act](point.index)\r\n }\r\n } else {\r\n return noop\r\n }\r\n },\r\n getLayoutOptions: function() {\r\n var options = this._options;\r\n var boundingRect = this._insideLegendGroup ? this._boundingRect : {\r\n width: 0,\r\n height: 0,\r\n x: 0,\r\n y: 0\r\n };\r\n if (options) {\r\n boundingRect.verticalAlignment = options.verticalAlignment;\r\n boundingRect.horizontalAlignment = options.horizontalAlignment;\r\n if (options.orientation === HORIZONTAL) {\r\n boundingRect.cutLayoutSide = options.verticalAlignment;\r\n boundingRect.cutSide = \"vertical\"\r\n } else if (options.horizontalAlignment === CENTER) {\r\n boundingRect.cutLayoutSide = options.verticalAlignment;\r\n boundingRect.cutSide = \"vertical\"\r\n } else {\r\n boundingRect.cutLayoutSide = options.horizontalAlignment;\r\n boundingRect.cutSide = \"horizontal\"\r\n }\r\n boundingRect.position = {\r\n horizontal: options.horizontalAlignment,\r\n vertical: options.verticalAlignment\r\n };\r\n return boundingRect\r\n }\r\n return null\r\n },\r\n shift: function(x, y) {\r\n var box = {};\r\n if (this._insideLegendGroup) {\r\n this._insideLegendGroup.attr({\r\n translateX: x - this._boundingRect.x,\r\n translateY: y - this._boundingRect.y\r\n })\r\n }\r\n this._title && this._shiftTitle(this._boundingRect.widthWithoutMargins);\r\n this._markersGroup && this._shiftMarkers();\r\n if (this._insideLegendGroup) {\r\n box = this._legendGroup.getBBox()\r\n }\r\n this._x1 = box.x;\r\n this._y1 = box.y;\r\n this._x2 = box.x + box.width;\r\n this._y2 = box.y + box.height;\r\n return this\r\n },\r\n _shiftTitle: function(boxWidth) {\r\n var title = this._title;\r\n var titleBox = title.getCorrectedLayoutOptions();\r\n if (!titleBox || !title.hasText()) {\r\n return\r\n }\r\n var width = boxWidth - (this._background ? 2 * this._options.paddingLeftRight : 0);\r\n var titleOptions = title.getOptions();\r\n var titleY = titleBox.y + titleOptions.margin.top;\r\n var titleX = 0;\r\n if (titleOptions.verticalAlignment === BOTTOM && this._markersGroup) {\r\n titleY += this._markersGroup.getBBox().height\r\n }\r\n if (titleOptions.horizontalAlignment === RIGHT) {\r\n titleX = width - titleBox.width\r\n } else if (titleOptions.horizontalAlignment === CENTER) {\r\n titleX = (width - titleBox.width) / 2\r\n }\r\n title.shift(titleX, titleY)\r\n },\r\n _shiftMarkers: function() {\r\n var titleBox = this._title.getLayoutOptions();\r\n var markerBox = this._markersGroup.getBBox();\r\n var titleOptions = this._title.getOptions() || {};\r\n var center = 0;\r\n var y = 0;\r\n if (titleBox.width > markerBox.width && this._options.horizontalAlignment === CENTER) {\r\n center = titleBox.width / 2 - markerBox.width / 2\r\n }\r\n if (titleOptions.verticalAlignment === TOP) {\r\n y = titleBox.height\r\n }\r\n if (0 !== center || 0 !== y) {\r\n this._markersGroup.attr({\r\n translateX: center,\r\n translateY: y\r\n });\r\n this._items.forEach(item => {\r\n item.tracker.left += center;\r\n item.tracker.right += center;\r\n item.tracker.top += y;\r\n item.tracker.bottom += y\r\n })\r\n }\r\n },\r\n getPosition: function() {\r\n return this._options.position\r\n },\r\n coordsIn: function(x, y) {\r\n return x >= this._x1 && x <= this._x2 && y >= this._y1 && y <= this._y2\r\n },\r\n getItemByCoord: function(x, y) {\r\n var items = this._items;\r\n var legendGroup = this._insideLegendGroup;\r\n x -= legendGroup.attr(\"translateX\");\r\n y -= legendGroup.attr(\"translateY\");\r\n for (var i = 0; i < items.length; i++) {\r\n if (inRect(items[i].tracker, x, y)) {\r\n return items[i].tracker\r\n }\r\n }\r\n return null\r\n },\r\n dispose: function() {\r\n this._title && this._title.dispose();\r\n this._legendGroup = this._insideLegendGroup = this._title = this._renderer = this._options = this._data = this._items = null;\r\n return this\r\n },\r\n layoutOptions: function() {\r\n if (!this.isVisible()) {\r\n return null\r\n }\r\n var pos = this.getLayoutOptions();\r\n return {\r\n horizontalAlignment: this._options.horizontalAlignment,\r\n verticalAlignment: this._options.verticalAlignment,\r\n side: pos.cutSide,\r\n priority: 1,\r\n position: this.getPosition()\r\n }\r\n },\r\n measure: function(size) {\r\n if (this._updated || !this._insideLegendGroup) {\r\n this.draw(size[0], size[1]);\r\n this._updated = false\r\n } else {\r\n this._items.forEach(item => {\r\n item.bBoxes = []\r\n });\r\n this._updateElementsPosition(size[0], size[1])\r\n }\r\n var rect = this.getLayoutOptions();\r\n return [rect.width, rect.height]\r\n },\r\n move: function(rect) {\r\n this.shift(rect[0], rect[1])\r\n },\r\n freeSpace: function() {\r\n this._options._incidentOccurred(\"W2104\");\r\n this.erase()\r\n }\r\n});\r\nexport var plugin = {\r\n name: \"legend\",\r\n init: function() {\r\n var group = this._renderer.g().attr({\r\n class: this._rootClassPrefix + \"-legend\"\r\n }).enableLinks().append(this._renderer.root);\r\n this._legend = new Legend({\r\n renderer: this._renderer,\r\n group: group,\r\n widget: this,\r\n itemGroupClass: this._rootClassPrefix + \"-item\",\r\n titleGroupClass: this._rootClassPrefix + \"-title\",\r\n textField: \"text\",\r\n getFormatObject: function(data) {\r\n return {\r\n item: data.item,\r\n text: data.text\r\n }\r\n }\r\n });\r\n this._layout.add(this._legend)\r\n },\r\n extenders: {\r\n _applyTilesAppearance: function() {\r\n var that = this;\r\n this._items.forEach((function(item) {\r\n that._applyLegendItemStyle(item.id, item.getState())\r\n }))\r\n },\r\n _buildNodes: function() {\r\n this._createLegendItems()\r\n }\r\n },\r\n members: {\r\n _applyLegendItemStyle: function(id, state) {\r\n var legend = this._legend;\r\n switch (state) {\r\n case \"hover\":\r\n legend.applyHover(id);\r\n break;\r\n case \"selection\":\r\n legend.applySelected(id);\r\n break;\r\n default:\r\n legend.resetItem(id)\r\n }\r\n },\r\n _createLegendItems: function() {\r\n if (this._legend.update(this._getLegendData(), this._getOption(\"legend\"), this._themeManager.theme(\"legend\").title)) {\r\n this._requestChange([\"LAYOUT\"])\r\n }\r\n }\r\n },\r\n dispose: function() {\r\n this._legend.dispose()\r\n },\r\n customize: function(constructor) {\r\n constructor.prototype._proxyData.push((function(x, y) {\r\n if (this._legend.coordsIn(x, y)) {\r\n var item = this._legend.getItemByCoord(x, y);\r\n if (item) {\r\n return {\r\n id: item.id,\r\n type: \"legend\"\r\n }\r\n }\r\n }\r\n }));\r\n constructor.addChange({\r\n code: \"LEGEND\",\r\n handler: function() {\r\n this._createLegendItems()\r\n },\r\n isThemeDependent: true,\r\n option: \"legend\",\r\n isOptionChange: true\r\n })\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/components/parse_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nvar parsers = {\r\n string: function(val) {\r\n return isDefined(val) ? \"\" + val : val\r\n },\r\n numeric: function(val) {\r\n if (!isDefined(val)) {\r\n return val\r\n }\r\n var parsedVal = Number(val);\r\n if (isNaN(parsedVal)) {\r\n parsedVal = void 0\r\n }\r\n return parsedVal\r\n },\r\n datetime: function(val) {\r\n if (!isDefined(val)) {\r\n return val\r\n }\r\n var parsedVal;\r\n var numVal = Number(val);\r\n if (!isNaN(numVal)) {\r\n parsedVal = new Date(numVal)\r\n } else {\r\n parsedVal = dateSerialization.deserializeDate(val)\r\n }\r\n if (isNaN(Number(parsedVal))) {\r\n parsedVal = void 0\r\n }\r\n return parsedVal\r\n }\r\n};\r\nexport function correctValueType(type) {\r\n return \"numeric\" === type || \"datetime\" === type || \"string\" === type ? type : \"\"\r\n}\r\nexport var getParser = function(valueType) {\r\n return parsers[correctValueType(valueType)] || noop\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/components/data_validator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined as _isDefined,\r\n isFunction as _isFunction,\r\n isString as _isString,\r\n isDate as _isDate,\r\n isNumeric as _isNumber,\r\n isObject as _isObject\r\n} from \"../../core/utils/type\";\r\nvar STRING = \"string\";\r\nvar NUMERIC = \"numeric\";\r\nvar DATETIME = \"datetime\";\r\nvar DISCRETE = \"discrete\";\r\nvar SEMIDISCRETE = \"semidiscrete\";\r\nvar CONTINUOUS = \"continuous\";\r\nvar LOGARITHMIC = \"logarithmic\";\r\nvar VALUE_TYPE = \"valueType\";\r\nvar ARGUMENT_TYPE = \"argumentType\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n enumParser\r\n} from \"../core/utils\";\r\nvar axisTypeParser = enumParser([STRING, NUMERIC, DATETIME]);\r\nimport {\r\n getParser as _getParser\r\n} from \"./parse_utils\";\r\nvar _isArray = Array.isArray;\r\n\r\nfunction groupingValues(data, others, valueField, index) {\r\n if (index >= 0) {\r\n data.slice(index).forEach((function(cell) {\r\n if (_isDefined(cell[valueField])) {\r\n others[valueField] += cell[valueField];\r\n cell[valueField] = void 0\r\n }\r\n }))\r\n }\r\n}\r\n\r\nfunction processGroups(groups) {\r\n groups.forEach((function(group) {\r\n group.valueType = group.valueAxisType = null;\r\n group.series.forEach((function(series) {\r\n series.updateDataType({})\r\n }));\r\n group.valueAxis && group.valueAxis.resetTypes(VALUE_TYPE)\r\n }))\r\n}\r\n\r\nfunction sortValues(data, asc, selector) {\r\n var func = asc ? function(a, b) {\r\n return a - b\r\n } : function(a, b) {\r\n return b - a\r\n };\r\n data.sort((function(a, b) {\r\n var valA = selector(a);\r\n var valB = selector(b);\r\n var aa = _isDefined(valA) ? 1 : 0;\r\n var bb = _isDefined(valB) ? 1 : 0;\r\n return aa && bb ? func(valA, valB) : func(aa, bb)\r\n }));\r\n return data\r\n}\r\n\r\nfunction resetArgumentAxes(axes) {\r\n axes && axes.forEach((function(axis) {\r\n axis.resetTypes(ARGUMENT_TYPE)\r\n }))\r\n}\r\n\r\nfunction parseCategories(categories, parser) {\r\n var newArray = [];\r\n categories.forEach((function(category) {\r\n var parsedCategory = parser(category);\r\n void 0 !== parsedCategory && newArray.push(parsedCategory)\r\n }));\r\n return newArray\r\n}\r\n\r\nfunction parseAxisCategories(groupsData, parsers) {\r\n var argumentCategories = groupsData.argumentOptions && groupsData.argumentOptions.categories;\r\n groupsData.groups.forEach((function(valueGroup, i) {\r\n var categories = valueGroup.valueOptions && valueGroup.valueOptions.categories;\r\n if (categories) {\r\n valueGroup.valueOptions.categories = parseCategories(categories, parsers[i + 1])\r\n }\r\n }));\r\n if (argumentCategories) {\r\n groupsData.argumentOptions.categories = parseCategories(argumentCategories, parsers[0])\r\n }\r\n}\r\n\r\nfunction eigen(x) {\r\n return x\r\n}\r\n\r\nfunction getType(unit, type) {\r\n var result = type;\r\n if (type === STRING || _isString(unit)) {\r\n result = STRING\r\n } else if (type === DATETIME || _isDate(unit)) {\r\n result = DATETIME\r\n } else if (_isNumber(unit)) {\r\n result = NUMERIC\r\n }\r\n return result\r\n}\r\n\r\nfunction correctAxisType(type, axisType, hasCategories, incidentOccurred) {\r\n if (type === STRING && (axisType === CONTINUOUS || axisType === LOGARITHMIC || axisType === SEMIDISCRETE)) {\r\n incidentOccurred(\"E2002\")\r\n }\r\n return axisType === LOGARITHMIC ? LOGARITHMIC : hasCategories || axisType === DISCRETE || type === STRING ? DISCRETE : axisType === SEMIDISCRETE ? SEMIDISCRETE : CONTINUOUS\r\n}\r\n\r\nfunction validUnit(unit, field, incidentOccurred) {\r\n if (unit) {\r\n incidentOccurred(!_isNumber(unit) && !_isDate(unit) && !_isString(unit) ? \"E2003\" : \"E2004\", [field])\r\n }\r\n}\r\n\r\nfunction createParserUnit(type, axisType, incidentOccurred) {\r\n var parser = type ? _getParser(type) : eigen;\r\n var filterInfinity = axisType !== DISCRETE ? function(x) {\r\n return isFinite(x) || void 0 === x ? x : null\r\n } : eigen;\r\n return function(unit, field) {\r\n var parseUnit = filterInfinity(parser(unit));\r\n if (void 0 === parseUnit) {\r\n validUnit(unit, field, incidentOccurred)\r\n }\r\n return parseUnit\r\n }\r\n}\r\n\r\nfunction prepareParsers(groupsData, incidentOccurred) {\r\n var argumentParser = createParserUnit(groupsData.argumentType, groupsData.argumentAxisType, incidentOccurred);\r\n var sizeParser;\r\n var valueParser;\r\n var categoryParsers = [argumentParser];\r\n var cache = {};\r\n var list = [];\r\n groupsData.groups.forEach((function(group, groupIndex) {\r\n group.series.forEach((function(series) {\r\n valueParser = createParserUnit(group.valueType, group.valueAxisType, incidentOccurred);\r\n sizeParser = createParserUnit(NUMERIC, CONTINUOUS, incidentOccurred);\r\n cache[series.getArgumentField()] = argumentParser;\r\n series.getValueFields().forEach((function(field) {\r\n categoryParsers[groupIndex + 1] = valueParser;\r\n cache[field] = valueParser\r\n }));\r\n if (series.getSizeField()) {\r\n cache[series.getSizeField()] = sizeParser\r\n }\r\n }))\r\n }));\r\n for (var field in cache) {\r\n list.push([field, cache[field]])\r\n }\r\n list.length && parseAxisCategories(groupsData, categoryParsers);\r\n return list\r\n}\r\n\r\nfunction getParsedCell(cell, parsers) {\r\n var i;\r\n var ii = parsers.length;\r\n var obj = extend({}, cell);\r\n var field;\r\n var value;\r\n for (i = 0; i < ii; ++i) {\r\n field = parsers[i][0];\r\n value = cell[field];\r\n obj[field] = parsers[i][1](value, field)\r\n }\r\n return obj\r\n}\r\n\r\nfunction parse(data, parsers) {\r\n var parsedData = [];\r\n var i;\r\n var ii = data.length;\r\n parsedData.length = ii;\r\n for (i = 0; i < ii; ++i) {\r\n parsedData[i] = getParsedCell(data[i], parsers)\r\n }\r\n return parsedData\r\n}\r\n\r\nfunction findIndexByThreshold(data, valueField, threshold) {\r\n var i;\r\n var ii = data.length;\r\n var value;\r\n for (i = 0; i < ii; ++i) {\r\n value = data[i][valueField];\r\n if (_isDefined(value) && threshold > value) {\r\n break\r\n }\r\n }\r\n return i\r\n}\r\n\r\nfunction groupMinSlices(originalData, argumentField, valueField, smallValuesGrouping) {\r\n smallValuesGrouping = smallValuesGrouping || {};\r\n var mode = smallValuesGrouping.mode;\r\n var others = {};\r\n if (!mode || \"none\" === mode) {\r\n return\r\n }\r\n others[argumentField] = String(smallValuesGrouping.groupName || \"others\");\r\n others[valueField] = 0;\r\n var data = sortValues(originalData.slice(), false, (function(a) {\r\n return a[valueField]\r\n }));\r\n groupingValues(data, others, valueField, \"smallValueThreshold\" === mode ? findIndexByThreshold(data, valueField, smallValuesGrouping.threshold) : smallValuesGrouping.topCount);\r\n others[valueField] && originalData.push(others)\r\n}\r\n\r\nfunction groupPieData(data, groupsData) {\r\n var firstSeries = groupsData.groups[0] && groupsData.groups[0].series[0];\r\n var isPie = firstSeries && (\"pie\" === firstSeries.type || \"doughnut\" === firstSeries.type || \"donut\" === firstSeries.type);\r\n if (!isPie) {\r\n return\r\n }\r\n groupsData.groups.forEach((function(group) {\r\n group.series.forEach((function(series) {\r\n groupMinSlices(data, series.getArgumentField(), series.getValueFields()[0], series.getOptions().smallValuesGrouping)\r\n }))\r\n }))\r\n}\r\n\r\nfunction addUniqueItemToCollection(item, collection, itemsHash) {\r\n if (!itemsHash[item]) {\r\n collection.push(item);\r\n itemsHash[item] = true\r\n }\r\n}\r\n\r\nfunction getUniqueArgumentFields(groupsData) {\r\n var uniqueArgumentFields = [];\r\n var hash = {};\r\n groupsData.groups.forEach((function(group) {\r\n group.series.forEach((function(series) {\r\n addUniqueItemToCollection(series.getArgumentField(), uniqueArgumentFields, hash)\r\n }))\r\n }));\r\n return uniqueArgumentFields\r\n}\r\n\r\nfunction sort(a, b) {\r\n var result = a - b;\r\n if (isNaN(result)) {\r\n if (!_isDefined(a)) {\r\n return 1\r\n }\r\n if (!_isDefined(b)) {\r\n return -1\r\n }\r\n return 0\r\n }\r\n return result\r\n}\r\n\r\nfunction sortByArgument(data, argumentField) {\r\n return data.slice().sort((function(a, b) {\r\n return sort(a[argumentField], b[argumentField])\r\n }))\r\n}\r\n\r\nfunction sortByCallback(data, callback) {\r\n return data.slice().sort(callback)\r\n}\r\n\r\nfunction checkValueTypeOfGroup(group, cell) {\r\n group.series.forEach((function(series) {\r\n series.getValueFields().forEach((function(field) {\r\n group.valueType = getType(cell[field], group.valueType)\r\n }))\r\n }));\r\n return group.valueType\r\n}\r\n\r\nfunction getSortByCategories(categories) {\r\n var hash = {};\r\n categories.forEach((function(value, i) {\r\n hash[value] = i\r\n }));\r\n return function(data, argumentField) {\r\n return sortValues(data.slice(), true, (function(a) {\r\n return hash[a[argumentField]]\r\n }))\r\n }\r\n}\r\n\r\nfunction sortData(data, groupsData, options, uniqueArgumentFields) {\r\n var dataByArguments = {};\r\n var isDiscrete = groupsData.argumentAxisType === DISCRETE;\r\n var userCategories = isDiscrete && groupsData.argumentOptions && groupsData.argumentOptions.categories;\r\n var sortFunction = function(data) {\r\n return data\r\n };\r\n var sortingMethodOption = options.sortingMethod;\r\n var reSortCategories;\r\n if (!userCategories && _isFunction(sortingMethodOption)) {\r\n data = sortByCallback(data, sortingMethodOption)\r\n }\r\n if (isDiscrete) {\r\n groupsData.categories = getCategories(data, uniqueArgumentFields, userCategories)\r\n }\r\n if (userCategories || !_isFunction(sortingMethodOption) && groupsData.argumentType === STRING && !options._skipArgumentSorting) {\r\n sortFunction = getSortByCategories(groupsData.categories)\r\n } else if (true === sortingMethodOption && groupsData.argumentType !== STRING) {\r\n sortFunction = sortByArgument;\r\n reSortCategories = isDiscrete\r\n }\r\n uniqueArgumentFields.forEach((function(field) {\r\n dataByArguments[field] = sortFunction(data, field)\r\n }));\r\n if (reSortCategories) {\r\n groupsData.categories = groupsData.categories.sort(sort)\r\n }\r\n return dataByArguments\r\n}\r\n\r\nfunction checkItemExistence(collection, item) {\r\n return -1 === collection.map((function(collectionItem) {\r\n return collectionItem.valueOf()\r\n })).indexOf(item.valueOf())\r\n}\r\n\r\nfunction getCategories(data, uniqueArgumentFields, userCategories) {\r\n var categories = userCategories ? userCategories.slice() : [];\r\n uniqueArgumentFields.forEach((function(field) {\r\n data.forEach((function(item) {\r\n var dataItem = item[field];\r\n _isDefined(dataItem) && checkItemExistence(categories, dataItem) && categories.push(dataItem)\r\n }))\r\n }));\r\n return categories\r\n}\r\n\r\nfunction checkArgumentTypeOfGroup(series, cell, groupsData) {\r\n series.forEach((function(currentSeries) {\r\n groupsData.argumentType = getType(cell[currentSeries.getArgumentField()], groupsData.argumentType)\r\n }));\r\n return groupsData.argumentType\r\n}\r\n\r\nfunction checkType(data, groupsData, checkTypeForAllData) {\r\n var groupsWithUndefinedValueType = [];\r\n var groupsWithUndefinedArgumentType = [];\r\n var argumentTypeGroup = groupsData.argumentOptions && axisTypeParser(groupsData.argumentOptions.argumentType);\r\n var groupsIndexes;\r\n groupsData.groups.forEach((function(group) {\r\n if (!group.series.length) {\r\n return\r\n }\r\n var valueTypeGroup = group.valueOptions && axisTypeParser(group.valueOptions.valueType);\r\n group.valueType = valueTypeGroup;\r\n groupsData.argumentType = argumentTypeGroup;\r\n !valueTypeGroup && groupsWithUndefinedValueType.push(group);\r\n !argumentTypeGroup && groupsWithUndefinedArgumentType.push(group)\r\n }));\r\n if (groupsWithUndefinedValueType.length || groupsWithUndefinedArgumentType.length) {\r\n groupsIndexes = groupsWithUndefinedValueType.map((function(_, index) {\r\n return index\r\n }));\r\n data.some((function(cell) {\r\n var defineArg;\r\n groupsWithUndefinedValueType.forEach((function(group, groupIndex) {\r\n if (checkValueTypeOfGroup(group, cell) && groupsIndexes.indexOf(groupIndex) >= 0) {\r\n groupsIndexes.splice(groupIndex, 1)\r\n }\r\n }));\r\n if (!defineArg) {\r\n groupsWithUndefinedArgumentType.forEach((function(group) {\r\n defineArg = checkArgumentTypeOfGroup(group.series, cell, groupsData)\r\n }))\r\n }\r\n if (!checkTypeForAllData && defineArg && 0 === groupsIndexes.length) {\r\n return true\r\n }\r\n }))\r\n }\r\n}\r\n\r\nfunction checkAxisType(groupsData, incidentOccurred) {\r\n var argumentOptions = groupsData.argumentOptions || {};\r\n var userArgumentCategories = argumentOptions && argumentOptions.categories || [];\r\n var argumentAxisType = correctAxisType(groupsData.argumentType, argumentOptions.type, !!userArgumentCategories.length, incidentOccurred);\r\n groupsData.groups.forEach((function(group) {\r\n var valueOptions = group.valueOptions || {};\r\n var valueCategories = valueOptions.categories || [];\r\n var valueAxisType = correctAxisType(group.valueType, valueOptions.type, !!valueCategories.length, incidentOccurred);\r\n group.series.forEach((function(series) {\r\n var optionsSeries = {};\r\n optionsSeries.argumentAxisType = argumentAxisType;\r\n optionsSeries.valueAxisType = valueAxisType;\r\n groupsData.argumentAxisType = groupsData.argumentAxisType || optionsSeries.argumentAxisType;\r\n group.valueAxisType = group.valueAxisType || optionsSeries.valueAxisType;\r\n optionsSeries.argumentType = groupsData.argumentType;\r\n optionsSeries.valueType = group.valueType;\r\n optionsSeries.showZero = valueOptions.showZero;\r\n series.updateDataType(optionsSeries)\r\n }));\r\n group.valueAxisType = group.valueAxisType || valueAxisType;\r\n if (group.valueAxis) {\r\n group.valueAxis.setTypes(group.valueAxisType, group.valueType, VALUE_TYPE);\r\n group.valueAxis.validate()\r\n }\r\n }));\r\n groupsData.argumentAxisType = groupsData.argumentAxisType || argumentAxisType;\r\n if (groupsData.argumentAxes) {\r\n groupsData.argumentAxes.forEach((function(axis) {\r\n axis.setTypes(groupsData.argumentAxisType, groupsData.argumentType, ARGUMENT_TYPE);\r\n axis.validate()\r\n }))\r\n }\r\n}\r\n\r\nfunction verifyData(source, incidentOccurred) {\r\n var data = [];\r\n var sourceIsDefined = _isDefined(source);\r\n var hasError = sourceIsDefined && !_isArray(source);\r\n var i;\r\n var ii;\r\n var k;\r\n var item;\r\n if (sourceIsDefined && !hasError) {\r\n for (i = 0, ii = source.length, k = 0; i < ii; ++i) {\r\n item = source[i];\r\n if (_isObject(item)) {\r\n data[k++] = item\r\n } else if (item) {\r\n hasError = true\r\n }\r\n }\r\n }\r\n if (hasError) {\r\n incidentOccurred(\"E2001\")\r\n }\r\n return data\r\n}\r\nexport function validateData(data, groupsData, incidentOccurred, options) {\r\n data = verifyData(data, incidentOccurred);\r\n groupsData.argumentType = groupsData.argumentAxisType = null;\r\n processGroups(groupsData.groups);\r\n resetArgumentAxes(groupsData.argumentAxes);\r\n checkType(data, groupsData, options.checkTypeForAllData);\r\n checkAxisType(groupsData, incidentOccurred);\r\n if (options.convertToAxisDataType) {\r\n data = parse(data, prepareParsers(groupsData, incidentOccurred))\r\n }\r\n groupPieData(data, groupsData);\r\n var dataByArgumentFields = sortData(data, groupsData, options, getUniqueArgumentFields(groupsData));\r\n return dataByArgumentFields\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/components/consts.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {\r\n events: {\r\n mouseover: \"mouseover\",\r\n mouseout: \"mouseout\",\r\n mousemove: \"mousemove\",\r\n touchstart: \"touchstart\",\r\n touchmove: \"touchmove\",\r\n touchend: \"touchend\",\r\n mousedown: \"mousedown\",\r\n mouseup: \"mouseup\",\r\n click: \"click\",\r\n selectSeries: \"selectseries\",\r\n deselectSeries: \"deselectseries\",\r\n selectPoint: \"selectpoint\",\r\n deselectPoint: \"deselectpoint\",\r\n showPointTooltip: \"showpointtooltip\",\r\n hidePointTooltip: \"hidepointtooltip\"\r\n },\r\n states: {\r\n hover: \"hover\",\r\n normal: \"normal\",\r\n selection: \"selection\",\r\n normalMark: 0,\r\n hoverMark: 1,\r\n selectedMark: 2,\r\n applyHover: \"applyHover\",\r\n applySelected: \"applySelected\",\r\n resetItem: \"resetItem\"\r\n },\r\n radialLabelIndent: 30,\r\n pieLabelSpacing: 10,\r\n pieSeriesSpacing: 4\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/helpers/display_format_parser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n formatDate,\r\n formatNumber\r\n} from \"../../../localization\";\r\nvar startPlaceHolderChar = \"{\";\r\nvar endPlaceHolderChar = \"}\";\r\nvar placeholderFormatDelimiter = \":\";\r\n\r\nfunction formatValue(value, format) {\r\n if (format) {\r\n if (value instanceof Date) {\r\n return formatDate(value, format)\r\n }\r\n if (\"number\" === typeof value) {\r\n return formatNumber(value, format)\r\n }\r\n }\r\n return value\r\n}\r\n\r\nfunction getValueByPlaceHolder(placeHolder, pointInfo) {\r\n var customFormat = \"\";\r\n var customFormatIndex = placeHolder.indexOf(placeholderFormatDelimiter);\r\n if (customFormatIndex > 0) {\r\n customFormat = placeHolder.substr(customFormatIndex + 1);\r\n placeHolder = placeHolder.substr(0, customFormatIndex)\r\n }\r\n return formatValue(pointInfo[placeHolder], customFormat)\r\n}\r\nexport function processDisplayFormat(displayFormat, pointInfo) {\r\n var actualText = displayFormat;\r\n var continueProcess = true;\r\n while (continueProcess) {\r\n var startBracketIndex = actualText.indexOf(startPlaceHolderChar);\r\n var endBracketIndex = actualText.indexOf(endPlaceHolderChar);\r\n if (startBracketIndex >= 0 && endBracketIndex > 0) {\r\n var placeHolder = actualText.substring(startBracketIndex + 1, endBracketIndex);\r\n var value = getValueByPlaceHolder(placeHolder, pointInfo);\r\n actualText = actualText.substr(0, startBracketIndex) + value + actualText.substr(endBracketIndex + 1)\r\n } else {\r\n continueProcess = false\r\n }\r\n }\r\n return actualText\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/series/points/label.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport formatHelper from \"../../../format_helper\";\r\nimport {\r\n degreesToRadians as _degreesToRadians,\r\n patchFontOptions as _patchFontOptions,\r\n getCosAndSin as _getCosAndSin,\r\n rotateBBox as _rotateBBox\r\n} from \"../../core/utils\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n processDisplayFormat\r\n} from \"../helpers/display_format_parser\";\r\nvar _format = formatHelper.format;\r\nvar _math = Math;\r\nvar _round = _math.round;\r\nvar _floor = _math.floor;\r\nvar _abs = _math.abs;\r\nvar CONNECTOR_LENGTH = 12;\r\nvar LABEL_BACKGROUND_PADDING_X = 8;\r\nvar LABEL_BACKGROUND_PADDING_Y = 4;\r\n\r\nfunction getClosestCoord(point, coords) {\r\n var closestDistance = 1 / 0;\r\n var closestCoord;\r\n each(coords, (function(_, coord) {\r\n var x = point[0] - coord[0];\r\n var y = point[1] - coord[1];\r\n var distance = x * x + y * y;\r\n if (distance < closestDistance) {\r\n closestDistance = distance;\r\n closestCoord = coord\r\n }\r\n }));\r\n return [_floor(closestCoord[0]), _floor(closestCoord[1])]\r\n}\r\n\r\nfunction getCrossCoord(rect, coord, indexOffset) {\r\n return (coord - rect[0 + indexOffset]) / (rect[2 + indexOffset] - rect[0 + indexOffset]) * (rect[3 - indexOffset] - rect[1 - indexOffset]) + rect[1 - indexOffset]\r\n}\r\nvar barPointStrategy = {\r\n isLabelInside: function(labelPoint, figure) {\r\n var xc = labelPoint.x + labelPoint.width / 2;\r\n var yc = labelPoint.y + labelPoint.height / 2;\r\n return figure.x <= xc && xc <= figure.x + figure.width && figure.y <= yc && yc <= figure.y + figure.height\r\n },\r\n prepareLabelPoints: function(bBox, rotatedBBox, isHorizontal, angle, figureCenter) {\r\n var x1 = rotatedBBox.x;\r\n var xc = x1 + rotatedBBox.width / 2;\r\n var x2 = x1 + rotatedBBox.width - 1;\r\n var y1 = rotatedBBox.y;\r\n var yc = y1 + rotatedBBox.height / 2;\r\n var y2 = y1 + rotatedBBox.height - 1;\r\n var labelPoints;\r\n var isRectangular = _abs(angle) % 90 === 0;\r\n if (figureCenter[0] > x1 && figureCenter[0] < x2) {\r\n if (isRectangular) {\r\n labelPoints = [\r\n [figureCenter[0], _abs(figureCenter[1] - y1) < _abs(figureCenter[1] - y2) ? y1 : y2]\r\n ]\r\n } else {\r\n labelPoints = [\r\n [figureCenter[0], getCrossCoord([x1, y1, x2, y2], figureCenter[0], 0)]\r\n ]\r\n }\r\n } else if (figureCenter[1] > y1 && figureCenter[1] < y2) {\r\n if (isRectangular) {\r\n labelPoints = [\r\n [_abs(figureCenter[0] - x1) < _abs(figureCenter[0] - x2) ? x1 : x2, figureCenter[1]]\r\n ]\r\n } else {\r\n labelPoints = [\r\n [getCrossCoord([x1, y1, x2, y2], figureCenter[1], 1), figureCenter[1]]\r\n ]\r\n }\r\n } else if (isRectangular) {\r\n labelPoints = [\r\n [x1, y1],\r\n [isHorizontal ? x1 : xc, isHorizontal ? yc : y1],\r\n [x2, y1],\r\n [x1, y2],\r\n [isHorizontal ? x2 : xc, isHorizontal ? yc : y2],\r\n [x2, y2]\r\n ]\r\n } else {\r\n labelPoints = [\r\n [xc, yc]\r\n ]\r\n }\r\n return labelPoints\r\n },\r\n isHorizontal: function(bBox, figure) {\r\n return bBox.x > figure.x + figure.width || bBox.x + bBox.width < figure.x\r\n },\r\n getFigureCenter: function(figure) {\r\n return [_floor(figure.x + figure.width / 2), _floor(figure.y + figure.height / 2)]\r\n },\r\n findFigurePoint: function(figure, labelPoint) {\r\n var figureCenter = barPointStrategy.getFigureCenter(figure);\r\n var point = getClosestCoord(labelPoint, [\r\n [figure.x, figureCenter[1]],\r\n [figureCenter[0], figure.y + figure.height],\r\n [figure.x + figure.width, figureCenter[1]],\r\n [figureCenter[0], figure.y]\r\n ]);\r\n return point\r\n },\r\n adjustPoints: function(points) {\r\n var lineIsVertical = _abs(points[1] - points[3]) <= 1;\r\n var lineIsHorizontal = _abs(points[0] - points[2]) <= 1;\r\n if (lineIsHorizontal) {\r\n points[0] = points[2]\r\n }\r\n if (lineIsVertical) {\r\n points[1] = points[3]\r\n }\r\n return points\r\n }\r\n};\r\nvar symbolPointStrategy = {\r\n isLabelInside: function() {\r\n return false\r\n },\r\n prepareLabelPoints: barPointStrategy.prepareLabelPoints,\r\n isHorizontal: function(bBox, figure) {\r\n return bBox.x > figure.x + figure.r || bBox.x + bBox.width < figure.x - figure.r\r\n },\r\n getFigureCenter: function(figure) {\r\n return [figure.x, figure.y]\r\n },\r\n findFigurePoint: function(figure, labelPoint) {\r\n var angle = Math.atan2(figure.y - labelPoint[1], labelPoint[0] - figure.x);\r\n return [_round(figure.x + figure.r * Math.cos(angle)), _round(figure.y - figure.r * Math.sin(angle))]\r\n },\r\n adjustPoints: barPointStrategy.adjustPoints\r\n};\r\nvar piePointStrategy = {\r\n isLabelInside: function(_0, _1, isOutside) {\r\n return !isOutside\r\n },\r\n prepareLabelPoints: function(bBox, rotatedBBox, isHorizontal, angle) {\r\n var xl = bBox.x;\r\n var xr = xl + bBox.width;\r\n var xc = xl + _round(bBox.width / 2);\r\n var yt = bBox.y;\r\n var yb = yt + bBox.height;\r\n var yc = yt + _round(bBox.height / 2);\r\n var points = [\r\n [\r\n [xl, yt],\r\n [xr, yt]\r\n ],\r\n [\r\n [xr, yt],\r\n [xr, yb]\r\n ],\r\n [\r\n [xr, yb],\r\n [xl, yb]\r\n ],\r\n [\r\n [xl, yb],\r\n [xl, yt]\r\n ]\r\n ];\r\n var cosSin = _getCosAndSin(angle);\r\n if (0 === angle) {\r\n points = isHorizontal ? [\r\n [xl, yc],\r\n [xr, yc]\r\n ] : [\r\n [xc, yt],\r\n [xc, yb]\r\n ]\r\n } else {\r\n points = points.map((function(pair) {\r\n return pair.map((function(point) {\r\n return [_round((point[0] - xc) * cosSin.cos + (point[1] - yc) * cosSin.sin + xc), _round(-(point[0] - xc) * cosSin.sin + (point[1] - yc) * cosSin.cos + yc)]\r\n }))\r\n })).reduce((function(r, pair) {\r\n var point1x = pair[0][0];\r\n var point1y = pair[0][1];\r\n var point2x = pair[1][0];\r\n var point2y = pair[1][1];\r\n if (isHorizontal) {\r\n if (point1y >= yc && yc >= point2y || point1y <= yc && yc <= point2y) {\r\n r.push([(yc - point1y) * (point2x - point1x) / (point2y - point1y) + point1x, yc])\r\n }\r\n } else if (point1x >= xc && xc >= point2x || point1x <= xc && xc <= point2x) {\r\n r.push([xc, (xc - point1x) * (point2y - point1y) / (point2x - point1x) + point1y])\r\n }\r\n return r\r\n }), [])\r\n }\r\n return points\r\n },\r\n isHorizontal: function(bBox, figure) {\r\n return bBox.x > figure.x || figure.x > bBox.x + bBox.width\r\n },\r\n getFigureCenter: symbolPointStrategy.getFigureCenter,\r\n findFigurePoint: function(figure, labelPoint, isHorizontal) {\r\n if (!isHorizontal) {\r\n return [figure.x, figure.y]\r\n }\r\n var labelX = labelPoint[0];\r\n var x = _round(figure.x + (figure.y - labelPoint[1]) / Math.tan(_degreesToRadians(figure.angle)));\r\n var points = [figure.x, figure.y, x, labelPoint[1]];\r\n if (!(figure.x <= x && x <= labelX) && !(labelX <= x && x <= figure.x)) {\r\n if (_abs(figure.x - labelX) < CONNECTOR_LENGTH) {\r\n points = [figure.x, figure.y]\r\n } else if (figure.x <= labelX) {\r\n points[2] = figure.x + CONNECTOR_LENGTH\r\n } else {\r\n points[2] = figure.x - CONNECTOR_LENGTH\r\n }\r\n }\r\n return points\r\n },\r\n adjustPoints: function(points) {\r\n return points\r\n }\r\n};\r\n\r\nfunction selectStrategy(figure) {\r\n return void 0 !== figure.angle && piePointStrategy || void 0 !== figure.r && symbolPointStrategy || barPointStrategy\r\n}\r\n\r\nfunction disposeItem(obj, field) {\r\n obj[field] && obj[field].dispose();\r\n obj[field] = null\r\n}\r\n\r\nfunction checkBackground(background) {\r\n return background && (background.fill && \"none\" !== background.fill || background[\"stroke-width\"] > 0 && background.stroke && \"none\" !== background.stroke)\r\n}\r\n\r\nfunction checkConnector(connector) {\r\n return connector && connector[\"stroke-width\"] > 0 && connector.stroke && \"none\" !== connector.stroke\r\n}\r\n\r\nfunction formatText(data, options) {\r\n var format = options.format;\r\n data.valueText = _format(data.value, format);\r\n data.argumentText = _format(data.argument, options.argumentFormat);\r\n if (void 0 !== data.percent) {\r\n data.percentText = _format(data.percent, {\r\n type: \"percent\",\r\n precision: format && format.percentPrecision\r\n })\r\n }\r\n if (void 0 !== data.total) {\r\n data.totalText = _format(data.total, format)\r\n }\r\n if (void 0 !== data.openValue) {\r\n data.openValueText = _format(data.openValue, format)\r\n }\r\n if (void 0 !== data.closeValue) {\r\n data.closeValueText = _format(data.closeValue, format)\r\n }\r\n if (void 0 !== data.lowValue) {\r\n data.lowValueText = _format(data.lowValue, format)\r\n }\r\n if (void 0 !== data.highValue) {\r\n data.highValueText = _format(data.highValue, format)\r\n }\r\n if (void 0 !== data.reductionValue) {\r\n data.reductionValueText = _format(data.reductionValue, format)\r\n }\r\n return options.customizeText ? options.customizeText.call(data, data) : options.displayFormat ? processDisplayFormat(options.displayFormat, data) : data.valueText\r\n}\r\nexport function Label(renderSettings) {\r\n this._renderer = renderSettings.renderer;\r\n this._container = renderSettings.labelsGroup;\r\n this._point = renderSettings.point;\r\n this._strategy = renderSettings.strategy;\r\n this._rowCount = 1\r\n}\r\nLabel.prototype = {\r\n constructor: Label,\r\n setColor: function(color) {\r\n this._color = color\r\n },\r\n setOptions: function(options) {\r\n this._options = options\r\n },\r\n setData: function(data) {\r\n this._data = data\r\n },\r\n setDataField: function(fieldName, fieldValue) {\r\n this._data = this._data || {};\r\n this._data[fieldName] = fieldValue\r\n },\r\n getData: function() {\r\n return this._data\r\n },\r\n setFigureToDrawConnector: function(figure) {\r\n this._figure = figure\r\n },\r\n dispose: function() {\r\n disposeItem(this, \"_group\");\r\n this._data = this._options = this._textContent = this._visible = this._insideGroup = this._text = this._background = this._connector = this._figure = null\r\n },\r\n _setVisibility: function(value, state) {\r\n this._group && this._group.attr({\r\n visibility: value\r\n });\r\n this._visible = state\r\n },\r\n isVisible: function() {\r\n return this._visible\r\n },\r\n hide: function(holdInvisible) {\r\n this._holdVisibility = !!holdInvisible;\r\n this._hide()\r\n },\r\n _hide: function() {\r\n this._setVisibility(\"hidden\", false)\r\n },\r\n show: function(holdVisible) {\r\n var correctPosition = !this._drawn;\r\n if (this._point.hasValue()) {\r\n this._holdVisibility = !!holdVisible;\r\n this._show();\r\n correctPosition && this._point.correctLabelPosition(this)\r\n }\r\n },\r\n _show: function() {\r\n var renderer = this._renderer;\r\n var container = this._container;\r\n var options = this._options || {};\r\n var text = this._textContent = formatText(this._data, options) || null;\r\n if (text) {\r\n if (!this._group) {\r\n this._group = renderer.g().append(container);\r\n this._insideGroup = renderer.g().append(this._group);\r\n this._text = renderer.text(\"\", 0, 0).append(this._insideGroup)\r\n }\r\n this._text.css(options.attributes ? _patchFontOptions(options.attributes.font) : {});\r\n if (checkBackground(options.background)) {\r\n this._background = this._background || renderer.rect().append(this._insideGroup).toBackground();\r\n this._background.attr(options.background);\r\n this._color && this._background.attr({\r\n fill: this._color\r\n })\r\n } else {\r\n disposeItem(this, \"_background\")\r\n }\r\n if (checkConnector(options.connector)) {\r\n this._connector = this._connector || renderer.path([], \"line\").sharp().append(this._group).toBackground();\r\n this._connector.attr(options.connector);\r\n this._color && this._connector.attr({\r\n stroke: this._color\r\n })\r\n } else {\r\n disposeItem(this, \"_connector\")\r\n }\r\n this._text.attr({\r\n text: text,\r\n align: options.textAlignment,\r\n class: options.cssClass\r\n });\r\n this._updateBackground(this._text.getBBox());\r\n this._setVisibility(\"visible\", true);\r\n this._drawn = true\r\n } else {\r\n this._hide()\r\n }\r\n },\r\n _getLabelVisibility: function(isVisible) {\r\n return this._holdVisibility ? this.isVisible() : isVisible\r\n },\r\n draw: function(isVisible) {\r\n if (this._getLabelVisibility(isVisible)) {\r\n this._show();\r\n this._point && this._point.correctLabelPosition(this)\r\n } else {\r\n this._drawn = false;\r\n this._hide()\r\n }\r\n return this\r\n },\r\n _updateBackground: function(bBox) {\r\n if (this._background) {\r\n bBox.x -= LABEL_BACKGROUND_PADDING_X;\r\n bBox.y -= LABEL_BACKGROUND_PADDING_Y;\r\n bBox.width += 2 * LABEL_BACKGROUND_PADDING_X;\r\n bBox.height += 2 * LABEL_BACKGROUND_PADDING_Y;\r\n this._background.attr(bBox)\r\n }\r\n this._bBoxWithoutRotation = extend({}, bBox);\r\n var rotationAngle = this._options.rotationAngle || 0;\r\n this._insideGroup.rotate(rotationAngle, bBox.x + bBox.width / 2, bBox.y + bBox.height / 2);\r\n bBox = _rotateBBox(bBox, [bBox.x + bBox.width / 2, bBox.y + bBox.height / 2], -rotationAngle);\r\n this._bBox = bBox\r\n },\r\n getFigureCenter() {\r\n var figure = this._figure;\r\n var strategy = this._strategy || selectStrategy(figure);\r\n return strategy.getFigureCenter(figure)\r\n },\r\n _getConnectorPoints: function() {\r\n var figure = this._figure;\r\n var options = this._options;\r\n var strategy = this._strategy || selectStrategy(figure);\r\n var bBox = this._shiftBBox(this._bBoxWithoutRotation);\r\n var rotatedBBox = this.getBoundingRect();\r\n var labelPoint;\r\n var points = [];\r\n var isHorizontal;\r\n if (!strategy.isLabelInside(bBox, figure, \"inside\" !== options.position)) {\r\n isHorizontal = strategy.isHorizontal(bBox, figure);\r\n var figureCenter = this.getFigureCenter();\r\n points = strategy.prepareLabelPoints(bBox, rotatedBBox, isHorizontal, -options.rotationAngle || 0, figureCenter);\r\n labelPoint = getClosestCoord(figureCenter, points);\r\n points = strategy.findFigurePoint(figure, labelPoint, isHorizontal);\r\n points = points.concat(labelPoint)\r\n }\r\n return strategy.adjustPoints(points)\r\n },\r\n fit: function(maxWidth) {\r\n var padding = this._background ? 2 * LABEL_BACKGROUND_PADDING_X : 0;\r\n var rowCountChanged = false;\r\n if (this._text) {\r\n var result = this._text.setMaxSize(maxWidth - padding, void 0, this._options);\r\n var rowCount = result.rowCount;\r\n if (0 === rowCount) {\r\n rowCount = 1\r\n }\r\n if (rowCount !== this._rowCount) {\r\n rowCountChanged = true;\r\n this._rowCount = rowCount\r\n }\r\n result.textIsEmpty && disposeItem(this, \"_background\")\r\n }\r\n this._updateBackground(this._text.getBBox());\r\n return rowCountChanged\r\n },\r\n resetEllipsis: function() {\r\n this._text && this._text.restoreText();\r\n this._updateBackground(this._text.getBBox())\r\n },\r\n setTrackerData: function(point) {\r\n this._text.data({\r\n \"chart-data-point\": point\r\n });\r\n this._background && this._background.data({\r\n \"chart-data-point\": point\r\n })\r\n },\r\n hideInsideLabel: function(coords) {\r\n return this._point.hideInsideLabel(this, coords)\r\n },\r\n getPoint() {\r\n return this._point\r\n },\r\n shift: function(x, y) {\r\n if (this._textContent) {\r\n this._insideGroup.attr({\r\n translateX: this._x = _round(x - this._bBox.x),\r\n translateY: this._y = _round(y - this._bBox.y)\r\n });\r\n if (this._connector) {\r\n this._connector.attr({\r\n points: this._getConnectorPoints()\r\n })\r\n }\r\n }\r\n return this\r\n },\r\n getBoundingRect: function() {\r\n return this._shiftBBox(this._bBox)\r\n },\r\n _shiftBBox: function(bBox) {\r\n return this._textContent ? {\r\n x: bBox.x + this._x,\r\n y: bBox.y + this._y,\r\n width: bBox.width,\r\n height: bBox.height\r\n } : {}\r\n },\r\n getLayoutOptions: function() {\r\n var options = this._options;\r\n return {\r\n alignment: options.alignment,\r\n background: checkBackground(options.background),\r\n horizontalOffset: options.horizontalOffset,\r\n verticalOffset: options.verticalOffset,\r\n radialOffset: options.radialOffset,\r\n position: options.position,\r\n connectorOffset: (checkConnector(options.connector) ? CONNECTOR_LENGTH : 0) + (checkBackground(options.background) ? LABEL_BACKGROUND_PADDING_X : 0)\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/points/symbol_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n getWindow,\r\n hasProperty\r\n} from \"../../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n Label\r\n} from \"./label\";\r\nvar _extend = extend;\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../../core/utils\";\r\nvar _math = Math;\r\nvar _round = _math.round;\r\nvar _floor = _math.floor;\r\nvar _ceil = _math.ceil;\r\nvar DEFAULT_IMAGE_WIDTH = 20;\r\nvar DEFAULT_IMAGE_HEIGHT = 20;\r\nvar LABEL_OFFSET = 10;\r\nvar CANVAS_POSITION_DEFAULT = \"canvas_position_default\";\r\n\r\nfunction getSquareMarkerCoords(radius) {\r\n return [-radius, -radius, radius, -radius, radius, radius, -radius, radius, -radius, -radius]\r\n}\r\n\r\nfunction getPolygonMarkerCoords(radius) {\r\n var r = _ceil(radius);\r\n return [-r, 0, 0, -r, r, 0, 0, r, -r, 0]\r\n}\r\n\r\nfunction getCrossMarkerCoords(radius) {\r\n var r = _ceil(radius);\r\n var floorHalfRadius = _floor(r / 2);\r\n var ceilHalfRadius = _ceil(r / 2);\r\n return [-r, -floorHalfRadius, -floorHalfRadius, -r, 0, -ceilHalfRadius, floorHalfRadius, -r, r, -floorHalfRadius, ceilHalfRadius, 0, r, floorHalfRadius, floorHalfRadius, r, 0, ceilHalfRadius, -floorHalfRadius, r, -r, floorHalfRadius, -ceilHalfRadius, 0]\r\n}\r\n\r\nfunction getTriangleDownMarkerCoords(radius) {\r\n return [-radius, -radius, radius, -radius, 0, radius, -radius, -radius]\r\n}\r\n\r\nfunction getTriangleUpMarkerCoords(radius) {\r\n return [-radius, radius, radius, radius, 0, -radius, -radius, radius]\r\n}\r\nexport default {\r\n deleteLabel: function() {\r\n this._label.dispose();\r\n this._label = null\r\n },\r\n _hasGraphic: function() {\r\n return this.graphic\r\n },\r\n clearVisibility: function() {\r\n var graphic = this.graphic;\r\n if (graphic && graphic.attr(\"visibility\")) {\r\n graphic.attr({\r\n visibility: null\r\n })\r\n }\r\n },\r\n isVisible: function() {\r\n return this.inVisibleArea && this.series.isVisible()\r\n },\r\n setInvisibility: function() {\r\n var graphic = this.graphic;\r\n if (graphic && \"hidden\" !== graphic.attr(\"visibility\")) {\r\n graphic.attr({\r\n visibility: \"hidden\"\r\n })\r\n }\r\n this._errorBar && this._errorBar.attr({\r\n visibility: \"hidden\"\r\n });\r\n this._label.draw(false)\r\n },\r\n clearMarker: function() {\r\n var graphic = this.graphic;\r\n graphic && graphic.attr(this._emptySettings)\r\n },\r\n _createLabel: function() {\r\n this._label = new Label({\r\n renderer: this.series._renderer,\r\n labelsGroup: this.series._labelsGroup,\r\n point: this\r\n })\r\n },\r\n _calculateVisibility: function(x, y) {\r\n var {\r\n minX: minX,\r\n maxX: maxX,\r\n minY: minY,\r\n maxY: maxY\r\n } = this._getVisibleArea();\r\n this.inVisibleArea = minX <= x && maxX >= x && minY <= y && maxY >= y\r\n },\r\n _updateLabelData: function() {\r\n this._label.setData(this._getLabelFormatObject())\r\n },\r\n _updateLabelOptions: function() {\r\n !this._label && this._createLabel();\r\n this._label.setOptions(this._options.label)\r\n },\r\n _checkImage: function(image) {\r\n return _isDefined(image) && (\"string\" === typeof image || _isDefined(image.url))\r\n },\r\n _fillStyle: function() {\r\n this._styles = this._options.styles\r\n },\r\n _checkSymbol: function(oldOptions, newOptions) {\r\n var oldSymbol = oldOptions.symbol;\r\n var newSymbol = newOptions.symbol;\r\n var symbolChanged = \"circle\" === oldSymbol && \"circle\" !== newSymbol || \"circle\" !== oldSymbol && \"circle\" === newSymbol;\r\n var imageChanged = this._checkImage(oldOptions.image) !== this._checkImage(newOptions.image);\r\n return !!(symbolChanged || imageChanged)\r\n },\r\n _populatePointShape: function(symbol, radius) {\r\n switch (symbol) {\r\n case \"square\":\r\n return getSquareMarkerCoords(radius);\r\n case \"polygon\":\r\n return getPolygonMarkerCoords(radius);\r\n case \"triangle\":\r\n case \"triangleDown\":\r\n return getTriangleDownMarkerCoords(radius);\r\n case \"triangleUp\":\r\n return getTriangleUpMarkerCoords(radius);\r\n case \"cross\":\r\n return getCrossMarkerCoords(radius)\r\n }\r\n },\r\n hasCoords: function() {\r\n return null !== this.x && null !== this.y\r\n },\r\n correctValue: function(correction) {\r\n var axis = this.series.getValueAxis();\r\n if (this.hasValue()) {\r\n this.value = this.properValue = axis.validateUnit(this.initialValue.valueOf() + correction.valueOf());\r\n this.minValue = axis.validateUnit(correction)\r\n }\r\n },\r\n resetCorrection: function() {\r\n this.value = this.properValue = this.initialValue;\r\n this.minValue = CANVAS_POSITION_DEFAULT\r\n },\r\n resetValue: function() {\r\n if (this.hasValue()) {\r\n this.value = this.properValue = this.initialValue = 0;\r\n this.minValue = 0;\r\n this._label.setDataField(\"value\", this.value)\r\n }\r\n },\r\n _getTranslates: function(animationEnabled) {\r\n var translateX = this.x;\r\n var translateY = this.y;\r\n if (animationEnabled) {\r\n if (this._options.rotated) {\r\n translateX = this.defaultX\r\n } else {\r\n translateY = this.defaultY\r\n }\r\n }\r\n return {\r\n x: translateX,\r\n y: translateY\r\n }\r\n },\r\n _createImageMarker: function(renderer, settings, options) {\r\n var width = options.width || DEFAULT_IMAGE_WIDTH;\r\n var height = options.height || DEFAULT_IMAGE_HEIGHT;\r\n return renderer.image(-_round(.5 * width), -_round(.5 * height), width, height, options.url ? options.url.toString() : options.toString(), \"center\").attr({\r\n translateX: settings.translateX,\r\n translateY: settings.translateY,\r\n visibility: settings.visibility\r\n })\r\n },\r\n _createSymbolMarker: function(renderer, pointSettings) {\r\n var marker;\r\n var symbol = this._options.symbol;\r\n if (\"circle\" === symbol) {\r\n delete pointSettings.points;\r\n marker = renderer.circle().attr(pointSettings)\r\n } else if (\"square\" === symbol || \"polygon\" === symbol || \"triangle\" === symbol || \"triangleDown\" === symbol || \"triangleUp\" === symbol || \"cross\" === symbol) {\r\n marker = renderer.path([], \"area\").attr(pointSettings).sharp()\r\n }\r\n return marker\r\n },\r\n _createMarker: function(renderer, group, image, settings) {\r\n var marker = this._checkImage(image) ? this._createImageMarker(renderer, settings, image) : this._createSymbolMarker(renderer, settings);\r\n if (marker) {\r\n marker.data({\r\n \"chart-data-point\": this\r\n }).append(group)\r\n }\r\n return marker\r\n },\r\n _getSymbolBBox: function(x, y, r) {\r\n return {\r\n x: x - r,\r\n y: y - r,\r\n width: 2 * r,\r\n height: 2 * r\r\n }\r\n },\r\n _getImageBBox: function(x, y) {\r\n var image = this._options.image;\r\n var width = image.width || DEFAULT_IMAGE_WIDTH;\r\n var height = image.height || DEFAULT_IMAGE_HEIGHT;\r\n return {\r\n x: x - _round(width / 2),\r\n y: y - _round(height / 2),\r\n width: width,\r\n height: height\r\n }\r\n },\r\n _getGraphicBBox: function() {\r\n var options = this._options;\r\n var x = this.x;\r\n var y = this.y;\r\n var bBox;\r\n if (options.visible) {\r\n bBox = this._checkImage(options.image) ? this._getImageBBox(x, y) : this._getSymbolBBox(x, y, options.styles.normal.r)\r\n } else {\r\n bBox = {\r\n x: x,\r\n y: y,\r\n width: 0,\r\n height: 0\r\n }\r\n }\r\n return bBox\r\n },\r\n hideInsideLabel: noop,\r\n _getShiftLabelCoords: function(label) {\r\n var coord = this._addLabelAlignmentAndOffset(label, this._getLabelCoords(label));\r\n return this._checkLabelPosition(label, coord)\r\n },\r\n _drawLabel: function() {\r\n var customVisibility = this._getCustomLabelVisibility();\r\n var label = this._label;\r\n var isVisible = this._showForZeroValues() && this.hasValue() && false !== customVisibility && (this.series.getLabelVisibility() || customVisibility);\r\n label.draw(!!isVisible)\r\n },\r\n correctLabelPosition: function(label) {\r\n var coord = this._getShiftLabelCoords(label);\r\n if (!this.hideInsideLabel(label, coord)) {\r\n label.setFigureToDrawConnector(this._getLabelConnector(label.pointPosition));\r\n label.shift(_round(coord.x), _round(coord.y))\r\n }\r\n },\r\n _showForZeroValues: function() {\r\n return true\r\n },\r\n _getLabelConnector: function(pointPosition) {\r\n var bBox = this._getGraphicBBox(pointPosition);\r\n var w2 = bBox.width / 2;\r\n var h2 = bBox.height / 2;\r\n return {\r\n x: bBox.x + w2,\r\n y: bBox.y + h2,\r\n r: this._options.visible ? Math.max(w2, h2) : 0\r\n }\r\n },\r\n _getPositionFromLocation: function() {\r\n return {\r\n x: this.x,\r\n y: this.y\r\n }\r\n },\r\n _isPointInVisibleArea: function(visibleArea, graphicBBox) {\r\n return visibleArea.minX <= graphicBBox.x + graphicBBox.width && visibleArea.maxX >= graphicBBox.x && visibleArea.minY <= graphicBBox.y + graphicBBox.height && visibleArea.maxY >= graphicBBox.y\r\n },\r\n _checkLabelPosition: function(label, coord) {\r\n var visibleArea = this._getVisibleArea();\r\n var labelBBox = label.getBoundingRect();\r\n var graphicBBox = this._getGraphicBBox(label.pointPosition);\r\n var fullGraphicBBox = this._getGraphicBBox();\r\n var isInside = \"inside\" === label.getLayoutOptions().position;\r\n var offset = LABEL_OFFSET;\r\n if (this._isPointInVisibleArea(visibleArea, fullGraphicBBox)) {\r\n if (!this._options.rotated) {\r\n if (visibleArea.minX > coord.x) {\r\n coord.x = visibleArea.minX\r\n }\r\n if (visibleArea.maxX < coord.x + labelBBox.width) {\r\n coord.x = visibleArea.maxX - labelBBox.width\r\n }\r\n if (visibleArea.minY > coord.y) {\r\n coord.y = isInside ? visibleArea.minY : graphicBBox.y + graphicBBox.height + offset\r\n }\r\n if (visibleArea.maxY < coord.y + labelBBox.height) {\r\n coord.y = isInside ? visibleArea.maxY - labelBBox.height : graphicBBox.y - labelBBox.height - offset\r\n }\r\n } else {\r\n if (visibleArea.minX > coord.x) {\r\n coord.x = isInside ? visibleArea.minX : graphicBBox.x + graphicBBox.width + offset\r\n }\r\n if (visibleArea.maxX < coord.x + labelBBox.width) {\r\n coord.x = isInside ? visibleArea.maxX - labelBBox.width : graphicBBox.x - offset - labelBBox.width\r\n }\r\n if (visibleArea.minY > coord.y) {\r\n coord.y = visibleArea.minY\r\n }\r\n if (visibleArea.maxY < coord.y + labelBBox.height) {\r\n coord.y = visibleArea.maxY - labelBBox.height\r\n }\r\n }\r\n }\r\n return coord\r\n },\r\n _addLabelAlignmentAndOffset: function(label, coord) {\r\n var labelBBox = label.getBoundingRect();\r\n var labelOptions = label.getLayoutOptions();\r\n if (!this._options.rotated) {\r\n if (\"left\" === labelOptions.alignment) {\r\n coord.x += labelBBox.width / 2\r\n } else if (\"right\" === labelOptions.alignment) {\r\n coord.x -= labelBBox.width / 2\r\n }\r\n }\r\n coord.x += labelOptions.horizontalOffset;\r\n coord.y += labelOptions.verticalOffset;\r\n return coord\r\n },\r\n _getLabelCoords: function(label) {\r\n return this._getLabelCoordOfPosition(label, this._getLabelPosition(label.pointPosition))\r\n },\r\n _getLabelCoordOfPosition: function(label, position) {\r\n var labelBBox = label.getBoundingRect();\r\n var graphicBBox = this._getGraphicBBox(label.pointPosition);\r\n var offset = LABEL_OFFSET;\r\n var centerY = graphicBBox.height / 2 - labelBBox.height / 2;\r\n var centerX = graphicBBox.width / 2 - labelBBox.width / 2;\r\n var x = graphicBBox.x;\r\n var y = graphicBBox.y;\r\n switch (position) {\r\n case \"left\":\r\n x -= labelBBox.width + offset;\r\n y += centerY;\r\n break;\r\n case \"right\":\r\n x += graphicBBox.width + offset;\r\n y += centerY;\r\n break;\r\n case \"top\":\r\n x += centerX;\r\n y -= labelBBox.height + offset;\r\n break;\r\n case \"bottom\":\r\n x += centerX;\r\n y += graphicBBox.height + offset;\r\n break;\r\n case \"inside\":\r\n x += centerX;\r\n y += centerY\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _drawMarker: function(renderer, group, animationEnabled) {\r\n var options = this._options;\r\n var translates = this._getTranslates(animationEnabled);\r\n var style = this._getStyle();\r\n this.graphic = this._createMarker(renderer, group, options.image, _extend({\r\n translateX: translates.x,\r\n translateY: translates.y,\r\n points: this._populatePointShape(options.symbol, style.r)\r\n }, style))\r\n },\r\n _getErrorBarSettings: function() {\r\n return {\r\n visibility: \"visible\"\r\n }\r\n },\r\n _getErrorBarBaseEdgeLength() {\r\n return 2 * this.getPointRadius()\r\n },\r\n _drawErrorBar: function(renderer, group) {\r\n if (!this._options.errorBars) {\r\n return\r\n }\r\n var options = this._options;\r\n var errorBarOptions = options.errorBars;\r\n var points = [];\r\n var settings;\r\n var pos = this._errorBarPos;\r\n var high = this._highErrorCoord;\r\n var low = this._lowErrorCoord;\r\n var displayMode = _normalizeEnum(errorBarOptions.displayMode);\r\n var isHighDisplayMode = \"high\" === displayMode;\r\n var isLowDisplayMode = \"low\" === displayMode;\r\n var highErrorOnly = (isHighDisplayMode || !_isDefined(low)) && _isDefined(high) && !isLowDisplayMode;\r\n var lowErrorOnly = (isLowDisplayMode || !_isDefined(high)) && _isDefined(low) && !isHighDisplayMode;\r\n var edgeLength = errorBarOptions.edgeLength;\r\n if (edgeLength <= 1 && edgeLength > 0) {\r\n edgeLength = this._getErrorBarBaseEdgeLength() * errorBarOptions.edgeLength\r\n }\r\n edgeLength = _floor(parseInt(edgeLength) / 2);\r\n highErrorOnly && (low = this._baseErrorBarPos);\r\n lowErrorOnly && (high = this._baseErrorBarPos);\r\n if (\"none\" !== displayMode && _isDefined(high) && _isDefined(low) && _isDefined(pos)) {\r\n !lowErrorOnly && points.push([pos - edgeLength, high, pos + edgeLength, high]);\r\n points.push([pos, high, pos, low]);\r\n !highErrorOnly && points.push([pos + edgeLength, low, pos - edgeLength, low]);\r\n options.rotated && each(points, (function(_, p) {\r\n p.reverse()\r\n }));\r\n settings = this._getErrorBarSettings(errorBarOptions);\r\n if (!this._errorBar) {\r\n this._errorBar = renderer.path(points, \"line\").attr(settings).append(group)\r\n } else {\r\n settings.points = points;\r\n this._errorBar.attr(settings)\r\n }\r\n } else {\r\n this._errorBar && this._errorBar.attr({\r\n visibility: \"hidden\"\r\n })\r\n }\r\n },\r\n getTooltipParams: function() {\r\n var graphic = this.graphic;\r\n return {\r\n x: this.x,\r\n y: this.y,\r\n offset: graphic ? graphic.getBBox().height / 2 : 0\r\n }\r\n },\r\n setPercentValue: function(absTotal, total, leftHoleTotal, rightHoleTotal) {\r\n var valuePercent = this.value / absTotal || 0;\r\n var minValuePercent = this.minValue / absTotal || 0;\r\n var percent = valuePercent - minValuePercent;\r\n this._label.setDataField(\"percent\", percent);\r\n this._label.setDataField(\"total\", total);\r\n if (this.series.isFullStackedSeries() && this.hasValue()) {\r\n if (this.leftHole) {\r\n this.leftHole /= absTotal - leftHoleTotal;\r\n this.minLeftHole /= absTotal - leftHoleTotal\r\n }\r\n if (this.rightHole) {\r\n this.rightHole /= absTotal - rightHoleTotal;\r\n this.minRightHole /= absTotal - rightHoleTotal\r\n }\r\n this.value = this.properValue = valuePercent;\r\n this.minValue = !minValuePercent ? this.minValue : minValuePercent\r\n }\r\n },\r\n _storeTrackerR: function() {\r\n var navigator = window.navigator;\r\n var r = this._options.styles.normal.r;\r\n var minTrackerSize = hasProperty(\"ontouchstart\") || navigator.msPointerEnabled && navigator.msMaxTouchPoints || navigator.pointerEnabled && navigator.maxTouchPoints ? 20 : 6;\r\n this._options.trackerR = r < minTrackerSize ? minTrackerSize : r;\r\n return this._options.trackerR\r\n },\r\n _translateErrorBars: function() {\r\n var options = this._options;\r\n var rotated = options.rotated;\r\n var errorBars = options.errorBars;\r\n var translator = this._getValTranslator();\r\n if (!errorBars) {\r\n return\r\n }\r\n _isDefined(this.lowError) && (this._lowErrorCoord = translator.translate(this.lowError));\r\n _isDefined(this.highError) && (this._highErrorCoord = translator.translate(this.highError));\r\n this._errorBarPos = _floor(rotated ? this.vy : this.vx);\r\n this._baseErrorBarPos = \"stdDeviation\" === errorBars.type ? this._lowErrorCoord + (this._highErrorCoord - this._lowErrorCoord) / 2 : rotated ? this.vx : this.vy\r\n },\r\n _translate: function() {\r\n var valTranslator = this._getValTranslator();\r\n var argTranslator = this._getArgTranslator();\r\n if (this._options.rotated) {\r\n this.vx = this.x = valTranslator.translate(this.value);\r\n this.vy = this.y = argTranslator.translate(this.argument);\r\n this.minX = valTranslator.translate(this.minValue);\r\n this.defaultX = valTranslator.translate(CANVAS_POSITION_DEFAULT)\r\n } else {\r\n this.vy = this.y = valTranslator.translate(this.value);\r\n this.vx = this.x = argTranslator.translate(this.argument);\r\n this.minY = valTranslator.translate(this.minValue);\r\n this.defaultY = valTranslator.translate(CANVAS_POSITION_DEFAULT)\r\n }\r\n this._translateErrorBars();\r\n this._calculateVisibility(this.x, this.y)\r\n },\r\n _updateData: function(data) {\r\n this.value = this.properValue = this.initialValue = this.originalValue = data.value;\r\n this.minValue = this.initialMinValue = this.originalMinValue = _isDefined(data.minValue) ? data.minValue : CANVAS_POSITION_DEFAULT\r\n },\r\n _getImageSettings: function(image) {\r\n return {\r\n href: image.url || image.toString(),\r\n width: image.width || DEFAULT_IMAGE_WIDTH,\r\n height: image.height || DEFAULT_IMAGE_HEIGHT\r\n }\r\n },\r\n getCrosshairData: function() {\r\n var r = this._options.rotated;\r\n var value = this.properValue;\r\n var argument = this.argument;\r\n return {\r\n x: this.vx,\r\n y: this.vy,\r\n xValue: r ? value : argument,\r\n yValue: r ? argument : value,\r\n axis: this.series.axis\r\n }\r\n },\r\n getPointRadius: function() {\r\n var style = this._getStyle();\r\n var options = this._options;\r\n var r = style.r;\r\n var extraSpace;\r\n var symbol = options.symbol;\r\n var isSquare = \"square\" === symbol;\r\n var isTriangle = \"triangle\" === symbol || \"triangleDown\" === symbol || \"triangleUp\" === symbol;\r\n if (options.visible && !options.image && r) {\r\n extraSpace = style[\"stroke-width\"] / 2;\r\n return (isSquare || isTriangle ? 1.4 * r : r) + extraSpace\r\n }\r\n return 0\r\n },\r\n _updateMarker: function(animationEnabled, style) {\r\n var options = this._options;\r\n var settings;\r\n var image = options.image;\r\n var visibility = !this.isVisible() ? {\r\n visibility: \"hidden\"\r\n } : {};\r\n if (this._checkImage(image)) {\r\n settings = _extend({}, {\r\n visibility: style.visibility\r\n }, visibility, this._getImageSettings(image))\r\n } else {\r\n settings = _extend({}, style, visibility, {\r\n points: this._populatePointShape(options.symbol, style.r)\r\n })\r\n }\r\n if (!animationEnabled) {\r\n settings.translateX = this.x;\r\n settings.translateY = this.y\r\n }\r\n this.graphic.attr(settings).sharp()\r\n },\r\n _getLabelFormatObject: function() {\r\n return {\r\n argument: this.initialArgument,\r\n value: this.initialValue,\r\n originalArgument: this.originalArgument,\r\n originalValue: this.originalValue,\r\n seriesName: this.series.name,\r\n lowErrorValue: this.lowError,\r\n highErrorValue: this.highError,\r\n point: this\r\n }\r\n },\r\n _getLabelPosition: function() {\r\n var rotated = this._options.rotated;\r\n if (this.initialValue > 0) {\r\n return rotated ? \"right\" : \"top\"\r\n } else {\r\n return rotated ? \"left\" : \"bottom\"\r\n }\r\n },\r\n _getFormatObject: function(tooltip) {\r\n var labelFormatObject = this._label.getData();\r\n return _extend({}, labelFormatObject, {\r\n argumentText: tooltip.formatValue(this.initialArgument, \"argument\"),\r\n valueText: tooltip.formatValue(this.initialValue)\r\n }, _isDefined(labelFormatObject.percent) ? {\r\n percentText: tooltip.formatValue(labelFormatObject.percent, \"percent\")\r\n } : {}, _isDefined(labelFormatObject.total) ? {\r\n totalText: tooltip.formatValue(labelFormatObject.total)\r\n } : {})\r\n },\r\n getMarkerVisibility: function() {\r\n return this._options.visible\r\n },\r\n coordsIn: function(x, y) {\r\n var trackerRadius = this._storeTrackerR();\r\n return x >= this.x - trackerRadius && x <= this.x + trackerRadius && y >= this.y - trackerRadius && y <= this.y + trackerRadius\r\n },\r\n getMinValue: function(noErrorBar) {\r\n var errorBarOptions = this._options.errorBars;\r\n if (errorBarOptions && !noErrorBar) {\r\n var displayMode = errorBarOptions.displayMode;\r\n var lowValue = \"high\" !== displayMode && _isDefined(this.lowError) ? this.lowError : this.value;\r\n var highValue = \"low\" !== displayMode && _isDefined(this.highError) ? this.highError : this.value;\r\n return lowValue < highValue ? lowValue : highValue\r\n } else {\r\n return this.value\r\n }\r\n },\r\n getMaxValue: function(noErrorBar) {\r\n var errorBarOptions = this._options.errorBars;\r\n if (errorBarOptions && !noErrorBar) {\r\n var displayMode = errorBarOptions.displayMode;\r\n var lowValue = \"high\" !== displayMode && _isDefined(this.lowError) ? this.lowError : this.value;\r\n var highValue = \"low\" !== displayMode && _isDefined(this.highError) ? this.highError : this.value;\r\n return lowValue > highValue ? lowValue : highValue\r\n } else {\r\n return this.value\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/points/bar_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nvar _extend = extend;\r\nvar _math = Math;\r\nvar _floor = _math.floor;\r\nvar _abs = _math.abs;\r\nimport symbolPoint from \"./symbol_point\";\r\nvar CANVAS_POSITION_DEFAULT = \"canvas_position_default\";\r\nvar DEFAULT_BAR_TRACKER_SIZE = 9;\r\nvar CORRECTING_BAR_TRACKER_VALUE = 4;\r\nvar RIGHT = \"right\";\r\nvar LEFT = \"left\";\r\nvar TOP = \"top\";\r\nvar BOTTOM = \"bottom\";\r\n\r\nfunction getLabelOrientation(point) {\r\n var initialValue = point.initialValue;\r\n var invert = point._getValTranslator().getBusinessRange().invert;\r\n var isDiscreteValue = \"discrete\" === point.series.valueAxisType;\r\n var isFullStacked = point.series.isFullStackedSeries();\r\n var notAxisInverted = !isDiscreteValue && (initialValue >= 0 && !invert || initialValue < 0 && invert) || isDiscreteValue && !invert || isFullStacked;\r\n return notAxisInverted ? TOP : BOTTOM\r\n}\r\nexport default _extend({}, symbolPoint, {\r\n correctCoordinates(correctOptions) {\r\n var correction = _floor(correctOptions.offset - correctOptions.width / 2);\r\n if (this._options.rotated) {\r\n this.height = correctOptions.width;\r\n this.yCorrection = correction;\r\n this.xCorrection = null\r\n } else {\r\n this.width = correctOptions.width;\r\n this.xCorrection = correction;\r\n this.yCorrection = null\r\n }\r\n },\r\n _calculateVisibility: function(x, y, width, height) {\r\n var {\r\n minX: minX,\r\n maxX: maxX,\r\n minY: minY,\r\n maxY: maxY\r\n } = this._getVisibleArea();\r\n this.inVisibleArea = minX < x + width && maxX > x && minY < y + height && maxY > y\r\n },\r\n _getGraphicBBox: function(location) {\r\n var bBox = {\r\n x: this.x,\r\n y: this.y,\r\n width: this.width,\r\n height: this.height\r\n };\r\n if (location) {\r\n var isTop = \"top\" === location;\r\n if (!this._options.rotated) {\r\n bBox.y = isTop ? bBox.y : bBox.y + bBox.height;\r\n bBox.height = 0\r\n } else {\r\n bBox.x = isTop ? bBox.x + bBox.width : bBox.x;\r\n bBox.width = 0\r\n }\r\n }\r\n return bBox\r\n },\r\n _getLabelConnector: function(location) {\r\n return this._getGraphicBBox(location)\r\n },\r\n _getLabelPosition: function() {\r\n var position = getLabelOrientation(this);\r\n if (this._options.rotated) {\r\n position = position === TOP ? RIGHT : LEFT\r\n }\r\n return position\r\n },\r\n _getLabelCoords: function(label) {\r\n var coords;\r\n if (0 === this.initialValue && this.series.isFullStackedSeries()) {\r\n if (!this._options.rotated) {\r\n coords = this._getLabelCoordOfPosition(label, TOP)\r\n } else {\r\n coords = this._getLabelCoordOfPosition(label, RIGHT)\r\n }\r\n } else if (\"inside\" === label.getLayoutOptions().position) {\r\n coords = this._getLabelCoordOfPosition(label, \"inside\")\r\n } else {\r\n coords = symbolPoint._getLabelCoords.call(this, label)\r\n }\r\n return coords\r\n },\r\n _drawLabel: function() {\r\n this._label.pointPosition = \"inside\" !== this._label.getLayoutOptions().position && getLabelOrientation(this);\r\n symbolPoint._drawLabel.call(this)\r\n },\r\n hideInsideLabel: function(label, coord) {\r\n var graphicBBox = this._getGraphicBBox();\r\n var labelBBox = label.getBoundingRect();\r\n if (this._options.resolveLabelsOverlapping) {\r\n if ((coord.y <= graphicBBox.y && coord.y + labelBBox.height >= graphicBBox.y + graphicBBox.height || coord.x <= graphicBBox.x && coord.x + labelBBox.width >= graphicBBox.x + graphicBBox.width) && !(coord.y > graphicBBox.y + graphicBBox.height || coord.y + labelBBox.height < graphicBBox.y || coord.x > graphicBBox.x + graphicBBox.width || coord.x + labelBBox.width < graphicBBox.x)) {\r\n label.draw(false);\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n _showForZeroValues: function() {\r\n return this._options.label.showForZeroValues || this.initialValue\r\n },\r\n _drawMarker(renderer, group, animationEnabled) {\r\n var style = this._getStyle();\r\n var r = this._options.cornerRadius;\r\n var rotated = this._options.rotated;\r\n var {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n } = this.getMarkerCoords();\r\n if (animationEnabled) {\r\n if (rotated) {\r\n width = 0;\r\n x = this.defaultX\r\n } else {\r\n height = 0;\r\n y = this.defaultY\r\n }\r\n }\r\n this.graphic = renderer.rect(x, y, width, height).attr({\r\n rx: r,\r\n ry: r\r\n }).smartAttr(style).data({\r\n \"chart-data-point\": this\r\n }).append(group)\r\n },\r\n _getSettingsForTracker: function() {\r\n var y = this.y;\r\n var height = this.height;\r\n var x = this.x;\r\n var width = this.width;\r\n if (this._options.rotated) {\r\n if (1 === width) {\r\n width = DEFAULT_BAR_TRACKER_SIZE;\r\n x -= CORRECTING_BAR_TRACKER_VALUE\r\n }\r\n } else if (1 === height) {\r\n height = DEFAULT_BAR_TRACKER_SIZE;\r\n y -= CORRECTING_BAR_TRACKER_VALUE\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n }\r\n },\r\n getGraphicSettings: function() {\r\n var graphic = this.graphic;\r\n return {\r\n x: graphic.attr(\"x\"),\r\n y: graphic.attr(\"y\"),\r\n height: graphic.attr(\"height\"),\r\n width: graphic.attr(\"width\")\r\n }\r\n },\r\n _getEdgeTooltipParams() {\r\n var isPositive = this.value >= 0;\r\n var xCoord;\r\n var yCoord;\r\n var invertedBusinessRange = this._getValTranslator().getBusinessRange().invert;\r\n var {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n } = this;\r\n if (this._options.rotated) {\r\n yCoord = y + height / 2;\r\n if (invertedBusinessRange) {\r\n xCoord = isPositive ? x : x + width\r\n } else {\r\n xCoord = isPositive ? x + width : x\r\n }\r\n } else {\r\n xCoord = x + width / 2;\r\n if (invertedBusinessRange) {\r\n yCoord = isPositive ? y + height : y\r\n } else {\r\n yCoord = isPositive ? y : y + height\r\n }\r\n }\r\n return {\r\n x: xCoord,\r\n y: yCoord,\r\n offset: 0\r\n }\r\n },\r\n getTooltipParams: function(location) {\r\n if (\"edge\" === location) {\r\n return this._getEdgeTooltipParams()\r\n }\r\n var center = this.getCenterCoord();\r\n center.offset = 0;\r\n return center\r\n },\r\n getCenterCoord() {\r\n var {\r\n width: width,\r\n height: height,\r\n x: x,\r\n y: y\r\n } = this;\r\n return {\r\n x: x + width / 2,\r\n y: y + height / 2\r\n }\r\n },\r\n _truncateCoord: function(coord, bounds) {\r\n if (null === coord) {\r\n return coord\r\n }\r\n if (coord < bounds[0]) {\r\n return bounds[0]\r\n }\r\n if (coord > bounds[1]) {\r\n return bounds[1]\r\n }\r\n return coord\r\n },\r\n _getErrorBarBaseEdgeLength() {\r\n return this._options.rotated ? this.height : this.width\r\n },\r\n _translateErrorBars: function(argVisibleArea) {\r\n symbolPoint._translateErrorBars.call(this);\r\n if (this._errorBarPos < argVisibleArea[0] || this._errorBarPos > argVisibleArea[1]) {\r\n this._errorBarPos = void 0\r\n }\r\n },\r\n _translate: function() {\r\n var rotated = this._options.rotated;\r\n var valAxis = rotated ? \"x\" : \"y\";\r\n var argAxis = rotated ? \"y\" : \"x\";\r\n var valIntervalName = rotated ? \"width\" : \"height\";\r\n var argIntervalName = rotated ? \"height\" : \"width\";\r\n var argTranslator = this._getArgTranslator();\r\n var valTranslator = this._getValTranslator();\r\n var argVisibleArea = this.series.getArgumentAxis().getVisibleArea();\r\n var valVisibleArea = this.series.getValueAxis().getVisibleArea();\r\n var arg = argTranslator.translate(this.argument);\r\n var val = valTranslator.translate(this.value, 1);\r\n var minVal = valTranslator.translate(this.minValue, -1);\r\n this[argAxis] = arg = null === arg ? arg : arg + (this[argAxis + \"Correction\"] || 0);\r\n this[\"v\" + valAxis] = val;\r\n this[\"v\" + argAxis] = arg + this[argIntervalName] / 2;\r\n val = this._truncateCoord(val, valVisibleArea);\r\n minVal = this._truncateCoord(minVal, valVisibleArea);\r\n this[valIntervalName] = _abs(val - minVal);\r\n val = val < minVal ? val : minVal;\r\n this._calculateVisibility(rotated ? val : arg, rotated ? arg : val, this.width, this.height);\r\n this[valAxis] = null === val ? val : val + (this[valAxis + \"Correction\"] || 0);\r\n this[\"min\" + valAxis.toUpperCase()] = null === minVal ? minVal : minVal + (this[valAxis + \"Correction\"] || 0);\r\n this[\"default\" + valAxis.toUpperCase()] = valTranslator.translate(CANVAS_POSITION_DEFAULT);\r\n this._translateErrorBars(argVisibleArea);\r\n if (this.inVisibleArea && null !== this[argAxis]) {\r\n if (this[argAxis] < argVisibleArea[0]) {\r\n this[argIntervalName] = this[argIntervalName] - (argVisibleArea[0] - this[argAxis]);\r\n this[argAxis] = argVisibleArea[0]\r\n }\r\n if (this[argAxis] + this[argIntervalName] > argVisibleArea[1]) {\r\n this[argIntervalName] = argVisibleArea[1] - this[argAxis]\r\n }\r\n }\r\n },\r\n _updateMarker: function(animationEnabled, style) {\r\n this.graphic.smartAttr(_extend({}, style, !animationEnabled ? this.getMarkerCoords() : {}))\r\n },\r\n getMarkerCoords: function() {\r\n var x = this.x;\r\n var y = this.y;\r\n var width = this.width;\r\n var height = this.height;\r\n var argAxis = this.series.getArgumentAxis();\r\n var rotated = this._options.rotated;\r\n if (argAxis.getAxisPosition) {\r\n var axisOptions = argAxis.getOptions();\r\n var edgeOffset = Math.round(axisOptions.width / 2);\r\n var argAxisPosition = argAxis.getAxisPosition();\r\n if (axisOptions.visible) {\r\n if (!rotated) {\r\n height -= this.minY === this.defaultY && this.minY === argAxisPosition - argAxis.getAxisShift() ? edgeOffset : 0;\r\n height < 0 && (height = 0)\r\n } else {\r\n var isStartFromAxis = this.minX === this.defaultX && this.minX === argAxisPosition - argAxis.getAxisShift();\r\n x += isStartFromAxis ? edgeOffset : 0;\r\n width -= isStartFromAxis ? edgeOffset : 0;\r\n width < 0 && (width = 0)\r\n }\r\n }\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n }\r\n },\r\n coordsIn: function(x, y) {\r\n return x >= this.x && x <= this.x + this.width && y >= this.y && y <= this.y + this.height\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/bubble_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport symbolPoint from \"./symbol_point\";\r\nvar _extend = extend;\r\nvar MIN_BUBBLE_HEIGHT = 20;\r\nexport default _extend({}, symbolPoint, {\r\n correctCoordinates: function(diameter) {\r\n this.bubbleSize = diameter / 2\r\n },\r\n _drawMarker: function(renderer, group, animationEnabled) {\r\n var attr = _extend({\r\n translateX: this.x,\r\n translateY: this.y\r\n }, this._getStyle());\r\n this.graphic = renderer.circle(0, 0, animationEnabled ? 0 : this.bubbleSize).smartAttr(attr).data({\r\n \"chart-data-point\": this\r\n }).append(group)\r\n },\r\n getTooltipParams: function(location) {\r\n var graphic = this.graphic;\r\n if (!graphic) {\r\n return\r\n }\r\n var height = graphic.getBBox().height;\r\n return {\r\n x: this.x,\r\n y: this.y,\r\n offset: height < MIN_BUBBLE_HEIGHT || \"edge\" === location ? height / 2 : 0\r\n }\r\n },\r\n _getLabelFormatObject: function() {\r\n var formatObject = symbolPoint._getLabelFormatObject.call(this);\r\n formatObject.size = this.initialSize;\r\n return formatObject\r\n },\r\n _updateData: function(data) {\r\n symbolPoint._updateData.call(this, data);\r\n this.size = this.initialSize = data.size\r\n },\r\n _getGraphicBBox: function() {\r\n return this._getSymbolBBox(this.x, this.y, this.bubbleSize)\r\n },\r\n _updateMarker: function(animationEnabled, style) {\r\n if (!animationEnabled) {\r\n style = _extend({\r\n r: this.bubbleSize,\r\n translateX: this.x,\r\n translateY: this.y\r\n }, style)\r\n }\r\n this.graphic.smartAttr(style)\r\n },\r\n _getFormatObject: function(tooltip) {\r\n var formatObject = symbolPoint._getFormatObject.call(this, tooltip);\r\n formatObject.sizeText = tooltip.formatValue(this.initialSize);\r\n return formatObject\r\n },\r\n _storeTrackerR: function() {\r\n return this.bubbleSize\r\n },\r\n _getLabelCoords: function(label) {\r\n var coords;\r\n if (\"inside\" === label.getLayoutOptions().position) {\r\n coords = this._getLabelCoordOfPosition(label, \"inside\")\r\n } else {\r\n coords = symbolPoint._getLabelCoords.call(this, label)\r\n }\r\n return coords\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/pie_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport symbolPoint from \"./symbol_point\";\r\nvar _extend = extend;\r\nvar _round = Math.round;\r\nvar _sqrt = Math.sqrt;\r\nvar _acos = Math.acos;\r\nvar DEG = 180 / Math.PI;\r\nvar _abs = Math.abs;\r\nimport {\r\n getVerticallyShiftedAngularCoords,\r\n normalizeAngle as _normalizeAngle,\r\n getCosAndSin as _getCosAndSin\r\n} from \"../../core/utils\";\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../../core/utils/type\";\r\nimport consts from \"../../components/consts\";\r\nvar RADIAL_LABEL_INDENT = consts.radialLabelIndent;\r\nexport default _extend({}, symbolPoint, {\r\n _updateData: function(data, argumentChanged) {\r\n symbolPoint._updateData.call(this, data);\r\n if (argumentChanged || !_isDefined(this._visible)) {\r\n this._visible = true\r\n }\r\n this.minValue = this.initialMinValue = this.originalMinValue = _isDefined(data.minValue) ? data.minValue : 0\r\n },\r\n animate: function(complete, duration, delay) {\r\n this.graphic.animate({\r\n x: this.centerX,\r\n y: this.centerY,\r\n outerRadius: this.radiusOuter,\r\n innerRadius: this.radiusInner,\r\n startAngle: this.toAngle,\r\n endAngle: this.fromAngle\r\n }, {\r\n delay: delay,\r\n partitionDuration: duration\r\n }, complete)\r\n },\r\n correctPosition: function(correction) {\r\n this.correctRadius(correction);\r\n this.correctLabelRadius(correction.radiusOuter + RADIAL_LABEL_INDENT);\r\n this.centerX = correction.centerX;\r\n this.centerY = correction.centerY\r\n },\r\n correctRadius: function(correction) {\r\n this.radiusInner = correction.radiusInner;\r\n this.radiusOuter = correction.radiusOuter\r\n },\r\n correctLabelRadius: function(radiusLabels) {\r\n this.radiusLabels = radiusLabels\r\n },\r\n correctValue: function(correction, percent, base) {\r\n this.value = (base || this.normalInitialValue) + correction;\r\n this.minValue = correction;\r\n this.percent = percent;\r\n this._label.setDataField(\"percent\", percent)\r\n },\r\n _updateLabelData: function() {\r\n this._label.setData(this._getLabelFormatObject())\r\n },\r\n _getShiftLabelCoords: function() {\r\n var bBox = this._label.getBoundingRect();\r\n var coord = this._getLabelCoords(this._label);\r\n var visibleArea = this._getVisibleArea();\r\n if (this._isLabelDrawingWithoutPoints) {\r\n return this._checkLabelPosition(coord, bBox, visibleArea)\r\n } else {\r\n return this._getLabelExtraCoord(coord, this._checkVerticalLabelPosition(coord, bBox, visibleArea), bBox)\r\n }\r\n },\r\n _getLabelPosition: function(options) {\r\n return options.position\r\n },\r\n getAnnotationCoords: function(location) {\r\n return this._getElementCoords(\"edge\" !== location ? \"inside\" : \"outside\", this.radiusOuter, 0)\r\n },\r\n _getElementCoords: function(position, elementRadius, radialOffset) {\r\n var bBox = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n };\r\n var that = this;\r\n var angleFunctions = _getCosAndSin(that.middleAngle);\r\n var radiusInner = that.radiusInner;\r\n var radiusOuter = that.radiusOuter;\r\n var columnsPosition = \"columns\" === position;\r\n var rad;\r\n var x;\r\n if (\"inside\" === position) {\r\n rad = radiusInner + (radiusOuter - radiusInner) / 2 + radialOffset;\r\n x = that.centerX + rad * angleFunctions.cos - bBox.width / 2\r\n } else {\r\n rad = elementRadius + radialOffset;\r\n if (angleFunctions.cos > .1 || columnsPosition && angleFunctions.cos >= 0) {\r\n x = that.centerX + rad * angleFunctions.cos\r\n } else if (angleFunctions.cos < -.1 || columnsPosition && angleFunctions.cos < 0) {\r\n x = that.centerX + rad * angleFunctions.cos - bBox.width\r\n } else {\r\n x = that.centerX + rad * angleFunctions.cos - bBox.width / 2\r\n }\r\n }\r\n return {\r\n x: x,\r\n y: _round(that.centerY - rad * angleFunctions.sin - bBox.height / 2)\r\n }\r\n },\r\n _getLabelCoords: function(label) {\r\n var bBox = label.getBoundingRect();\r\n var options = label.getLayoutOptions();\r\n var position = this._getLabelPosition(options);\r\n return this._getElementCoords(position, this.radiusLabels, options.radialOffset, bBox)\r\n },\r\n _correctLabelCoord: function(coord, moveLabelsFromCenter) {\r\n var label = this._label;\r\n var bBox = label.getBoundingRect();\r\n var labelWidth = bBox.width;\r\n var options = label.getLayoutOptions();\r\n var visibleArea = this._getVisibleArea();\r\n var rightBorderX = visibleArea.maxX - labelWidth;\r\n var leftBorderX = visibleArea.minX;\r\n var angleOfPoint = _normalizeAngle(this.middleAngle);\r\n var centerX = this.centerX;\r\n var connectorOffset = options.connectorOffset;\r\n var x = coord.x;\r\n if (\"columns\" === options.position) {\r\n if (angleOfPoint <= 90 || angleOfPoint >= 270) {\r\n x = rightBorderX\r\n } else {\r\n x = leftBorderX\r\n }\r\n coord.x = x\r\n } else if (\"inside\" !== options.position && moveLabelsFromCenter) {\r\n if (angleOfPoint <= 90 || angleOfPoint >= 270) {\r\n if (x - connectorOffset < centerX) {\r\n x = centerX + connectorOffset\r\n }\r\n } else if (x + labelWidth + connectorOffset > centerX) {\r\n x = centerX - labelWidth - connectorOffset\r\n }\r\n coord.x = x\r\n }\r\n return coord\r\n },\r\n drawLabel: function() {\r\n this.translate();\r\n this._isLabelDrawingWithoutPoints = true;\r\n this._drawLabel();\r\n this._isLabelDrawingWithoutPoints = false\r\n },\r\n updateLabelCoord: function(moveLabelsFromCenter) {\r\n var bBox = this._label.getBoundingRect();\r\n var coord = this._correctLabelCoord(bBox, moveLabelsFromCenter);\r\n coord = this._checkHorizontalLabelPosition(coord, bBox, this._getVisibleArea());\r\n this._label.shift(_round(coord.x), _round(bBox.y))\r\n },\r\n _checkVerticalLabelPosition: function(coord, box, visibleArea) {\r\n var x = coord.x;\r\n var y = coord.y;\r\n if (coord.y + box.height > visibleArea.maxY) {\r\n y = visibleArea.maxY - box.height\r\n } else if (coord.y < visibleArea.minY) {\r\n y = visibleArea.minY\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _getLabelExtraCoord: function(coord, shiftCoord, box) {\r\n return coord.y !== shiftCoord.y ? getVerticallyShiftedAngularCoords({\r\n x: coord.x,\r\n y: coord.y,\r\n width: box.width,\r\n height: box.height\r\n }, shiftCoord.y - coord.y, {\r\n x: this.centerX,\r\n y: this.centerY\r\n }) : coord\r\n },\r\n _checkHorizontalLabelPosition: function(coord, box, visibleArea) {\r\n var x = coord.x;\r\n var y = coord.y;\r\n if (coord.x + box.width > visibleArea.maxX) {\r\n x = visibleArea.maxX - box.width\r\n } else if (coord.x < visibleArea.minX) {\r\n x = visibleArea.minX\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n applyWordWrap: function(moveLabelsFromCenter) {\r\n var label = this._label;\r\n var box = label.getBoundingRect();\r\n var visibleArea = this._getVisibleArea();\r\n var position = label.getLayoutOptions().position;\r\n var width = box.width;\r\n var rowCountChanged = false;\r\n if (\"columns\" === position && this.series.index > 0) {\r\n width = visibleArea.maxX - this.centerX - this.radiusLabels\r\n } else if (\"inside\" === position) {\r\n if (width > visibleArea.maxX - visibleArea.minX) {\r\n width = visibleArea.maxX - visibleArea.minX\r\n }\r\n } else if (moveLabelsFromCenter && box.x < this.centerX && box.width + box.x > this.centerX) {\r\n width = Math.floor((visibleArea.maxX - visibleArea.minX) / 2)\r\n } else if (box.x + width > visibleArea.maxX) {\r\n width = visibleArea.maxX - box.x\r\n } else if (box.x < visibleArea.minX) {\r\n width = box.x + width - visibleArea.minX\r\n }\r\n if (width < box.width) {\r\n rowCountChanged = label.fit(width)\r\n }\r\n return rowCountChanged\r\n },\r\n setLabelTrackerData: function() {\r\n this._label.setTrackerData(this)\r\n },\r\n _checkLabelPosition: function(coord, bBox, visibleArea) {\r\n coord = this._checkHorizontalLabelPosition(coord, bBox, visibleArea);\r\n return this._checkVerticalLabelPosition(coord, bBox, visibleArea)\r\n },\r\n _getLabelConnector: function() {\r\n var rad = this.radiusOuter;\r\n var seriesStyle = this._options.styles.normal;\r\n var strokeWidthBy2 = seriesStyle[\"stroke-width\"] / 2;\r\n var borderWidth = this.series.getOptions().containerBackgroundColor === seriesStyle.stroke ? _round(strokeWidthBy2) : _round(-strokeWidthBy2);\r\n var angleFunctions = _getCosAndSin(_round(this.middleAngle));\r\n return {\r\n x: _round(this.centerX + (rad - borderWidth) * angleFunctions.cos),\r\n y: _round(this.centerY - (rad - borderWidth) * angleFunctions.sin),\r\n angle: this.middleAngle\r\n }\r\n },\r\n _drawMarker: function(renderer, group, animationEnabled, firstDrawing) {\r\n var radiusOuter = this.radiusOuter;\r\n var radiusInner = this.radiusInner;\r\n var fromAngle = this.fromAngle;\r\n var toAngle = this.toAngle;\r\n if (animationEnabled) {\r\n radiusInner = radiusOuter = 0;\r\n if (!firstDrawing) {\r\n fromAngle = toAngle = this.shiftedAngle\r\n }\r\n }\r\n this.graphic = renderer.arc(this.centerX, this.centerY, radiusInner, radiusOuter, toAngle, fromAngle).attr({\r\n \"stroke-linejoin\": \"round\"\r\n }).smartAttr(this._getStyle()).data({\r\n \"chart-data-point\": this\r\n }).sharp().append(group)\r\n },\r\n getTooltipParams: function() {\r\n var angleFunctions = _getCosAndSin(this.middleAngle);\r\n var radiusInner = this.radiusInner;\r\n var radiusOuter = this.radiusOuter;\r\n return {\r\n x: this.centerX + (radiusInner + (radiusOuter - radiusInner) / 2) * angleFunctions.cos,\r\n y: this.centerY - (radiusInner + (radiusOuter - radiusInner) / 2) * angleFunctions.sin,\r\n offset: 0\r\n }\r\n },\r\n _translate: function() {\r\n var angle = this.shiftedAngle || 0;\r\n var value = this.value;\r\n var minValue = this.minValue;\r\n var translator = this._getValTranslator();\r\n this.fromAngle = translator.translate(minValue) + angle;\r\n this.toAngle = translator.translate(value) + angle;\r\n this.middleAngle = translator.translate((value - minValue) / 2 + minValue) + angle;\r\n if (!this.isVisible()) {\r\n this.middleAngle = this.toAngle = this.fromAngle = this.fromAngle || angle\r\n }\r\n },\r\n getMarkerVisibility: function() {\r\n return true\r\n },\r\n _updateMarker: function(animationEnabled, style, _, callback) {\r\n if (!animationEnabled) {\r\n style = _extend({\r\n x: this.centerX,\r\n y: this.centerY,\r\n outerRadius: this.radiusOuter,\r\n innerRadius: this.radiusInner,\r\n startAngle: this.toAngle,\r\n endAngle: this.fromAngle\r\n }, style)\r\n }\r\n this.graphic.smartAttr(style).sharp();\r\n callback && callback()\r\n },\r\n getLegendStyles: function() {\r\n return this._styles.legendStyles\r\n },\r\n isInVisibleArea: function() {\r\n return true\r\n },\r\n hide: function() {\r\n if (this._visible) {\r\n this._visible = false;\r\n this.hideTooltip();\r\n this._options.visibilityChanged()\r\n }\r\n },\r\n show: function() {\r\n if (!this._visible) {\r\n this._visible = true;\r\n this._options.visibilityChanged()\r\n }\r\n },\r\n setInvisibility: function() {\r\n this._label.draw(false)\r\n },\r\n isVisible: function() {\r\n return this._visible\r\n },\r\n _getFormatObject: function(tooltip) {\r\n var formatObject = symbolPoint._getFormatObject.call(this, tooltip);\r\n var percent = this.percent;\r\n formatObject.percent = percent;\r\n formatObject.percentText = tooltip.formatValue(percent, \"percent\");\r\n return formatObject\r\n },\r\n getColor: function() {\r\n return this._styles.normal.fill\r\n },\r\n coordsIn: function(x, y) {\r\n var lx = x - this.centerX;\r\n var ly = y - this.centerY;\r\n var r = _sqrt(lx * lx + ly * ly);\r\n var fromAngle = this.fromAngle % 360;\r\n var toAngle = this.toAngle % 360;\r\n var angle;\r\n if (r < this.radiusInner || r > this.radiusOuter || 0 === r) {\r\n return false\r\n }\r\n angle = _acos(lx / r) * DEG * (ly > 0 ? -1 : 1);\r\n if (angle < 0) {\r\n angle += 360\r\n }\r\n if (fromAngle === toAngle && _abs(this.toAngle - this.fromAngle) > 1e-4) {\r\n return true\r\n } else {\r\n return fromAngle >= toAngle ? angle <= fromAngle && angle >= toAngle : !(angle >= fromAngle && angle <= toAngle)\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/range_symbol_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n Label\r\n} from \"./label\";\r\nimport symbolPoint from \"./symbol_point\";\r\nvar _extend = extend;\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../../core/utils/type\";\r\nvar _math = Math;\r\nvar _abs = _math.abs;\r\nvar _min = _math.min;\r\nvar _max = _math.max;\r\nvar _round = _math.round;\r\nvar DEFAULT_IMAGE_WIDTH = 20;\r\nvar DEFAULT_IMAGE_HEIGHT = 20;\r\nexport default _extend({}, symbolPoint, {\r\n deleteLabel: function() {\r\n this._topLabel.dispose();\r\n this._topLabel = null;\r\n this._bottomLabel.dispose();\r\n this._bottomLabel = null\r\n },\r\n hideMarker: function(type) {\r\n var graphic = this.graphic;\r\n var marker = graphic && graphic[type + \"Marker\"];\r\n var label = this[\"_\" + type + \"Label\"];\r\n if (marker && \"hidden\" !== marker.attr(\"visibility\")) {\r\n marker.attr({\r\n visibility: \"hidden\"\r\n })\r\n }\r\n label.draw(false)\r\n },\r\n setInvisibility: function() {\r\n this.hideMarker(\"top\");\r\n this.hideMarker(\"bottom\")\r\n },\r\n clearVisibility: function() {\r\n var graphic = this.graphic;\r\n var topMarker = graphic && graphic.topMarker;\r\n var bottomMarker = graphic && graphic.bottomMarker;\r\n if (topMarker && topMarker.attr(\"visibility\")) {\r\n topMarker.attr({\r\n visibility: null\r\n })\r\n }\r\n if (bottomMarker && bottomMarker.attr(\"visibility\")) {\r\n bottomMarker.attr({\r\n visibility: null\r\n })\r\n }\r\n },\r\n clearMarker: function() {\r\n var graphic = this.graphic;\r\n var topMarker = graphic && graphic.topMarker;\r\n var bottomMarker = graphic && graphic.bottomMarker;\r\n var emptySettings = this._emptySettings;\r\n topMarker && topMarker.attr(emptySettings);\r\n bottomMarker && bottomMarker.attr(emptySettings)\r\n },\r\n _getLabelPosition: function(markerType) {\r\n var position;\r\n var labelsInside = \"inside\" === this._options.label.position;\r\n if (!this._options.rotated) {\r\n position = \"top\" === markerType ^ labelsInside ? \"top\" : \"bottom\"\r\n } else {\r\n position = \"top\" === markerType ^ labelsInside ? \"right\" : \"left\"\r\n }\r\n return position\r\n },\r\n _getLabelMinFormatObject: function() {\r\n return {\r\n index: 0,\r\n argument: this.initialArgument,\r\n value: this.initialMinValue,\r\n seriesName: this.series.name,\r\n originalValue: this.originalMinValue,\r\n originalArgument: this.originalArgument,\r\n point: this\r\n }\r\n },\r\n _updateLabelData: function() {\r\n var maxFormatObject = this._getLabelFormatObject();\r\n maxFormatObject.index = 1;\r\n this._topLabel.setData(maxFormatObject);\r\n this._bottomLabel.setData(this._getLabelMinFormatObject())\r\n },\r\n _updateLabelOptions: function() {\r\n var options = this._options.label;\r\n (!this._topLabel || !this._bottomLabel) && this._createLabel();\r\n this._topLabel.setOptions(options);\r\n this._bottomLabel.setOptions(options)\r\n },\r\n _createLabel: function() {\r\n var options = {\r\n renderer: this.series._renderer,\r\n labelsGroup: this.series._labelsGroup,\r\n point: this\r\n };\r\n this._topLabel = new Label(options);\r\n this._bottomLabel = new Label(options)\r\n },\r\n _getGraphicBBox: function(location) {\r\n var options = this._options;\r\n var images = this._getImage(options.image);\r\n var image = \"top\" === location ? this._checkImage(images.top) : this._checkImage(images.bottom);\r\n var bBox;\r\n var coord = this._getPositionFromLocation(location);\r\n if (options.visible) {\r\n bBox = image ? this._getImageBBox(coord.x, coord.y) : this._getSymbolBBox(coord.x, coord.y, options.styles.normal.r)\r\n } else {\r\n bBox = {\r\n x: coord.x,\r\n y: coord.y,\r\n width: 0,\r\n height: 0\r\n }\r\n }\r\n return bBox\r\n },\r\n _getPositionFromLocation: function(location) {\r\n var x;\r\n var y;\r\n var isTop = \"top\" === location;\r\n if (!this._options.rotated) {\r\n x = this.x;\r\n y = isTop ? _min(this.y, this.minY) : _max(this.y, this.minY)\r\n } else {\r\n x = isTop ? _max(this.x, this.minX) : _min(this.x, this.minX);\r\n y = this.y\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _checkOverlay: function(bottomCoord, topCoord, topValue) {\r\n return bottomCoord < topCoord + topValue\r\n },\r\n _getOverlayCorrections: function(topCoords, bottomCoords) {\r\n var rotated = this._options.rotated;\r\n var coordSelector = !rotated ? \"y\" : \"x\";\r\n var valueSelector = !rotated ? \"height\" : \"width\";\r\n var visibleArea = this.series.getValueAxis().getVisibleArea();\r\n var minBound = visibleArea[0];\r\n var maxBound = visibleArea[1];\r\n var delta = _round((topCoords[coordSelector] + topCoords[valueSelector] - bottomCoords[coordSelector]) / 2);\r\n var coord1 = topCoords[coordSelector] - delta;\r\n var coord2 = bottomCoords[coordSelector] + delta;\r\n if (coord1 < minBound) {\r\n delta = minBound - coord1;\r\n coord1 += delta;\r\n coord2 += delta\r\n } else if (coord2 + bottomCoords[valueSelector] > maxBound) {\r\n delta = maxBound - coord2 - bottomCoords[valueSelector];\r\n coord1 += delta;\r\n coord2 += delta\r\n }\r\n return {\r\n coord1: coord1,\r\n coord2: coord2\r\n }\r\n },\r\n _checkLabelsOverlay: function(topLocation) {\r\n var topCoords = this._topLabel.getBoundingRect();\r\n var bottomCoords = this._bottomLabel.getBoundingRect();\r\n var corrections = {};\r\n if (!this._options.rotated) {\r\n if (\"top\" === topLocation) {\r\n if (this._checkOverlay(bottomCoords.y, topCoords.y, topCoords.height)) {\r\n corrections = this._getOverlayCorrections(topCoords, bottomCoords);\r\n this._topLabel.shift(topCoords.x, corrections.coord1);\r\n this._bottomLabel.shift(bottomCoords.x, corrections.coord2)\r\n }\r\n } else if (this._checkOverlay(topCoords.y, bottomCoords.y, bottomCoords.height)) {\r\n corrections = this._getOverlayCorrections(bottomCoords, topCoords);\r\n this._topLabel.shift(topCoords.x, corrections.coord2);\r\n this._bottomLabel.shift(bottomCoords.x, corrections.coord1)\r\n }\r\n } else if (\"top\" === topLocation) {\r\n if (this._checkOverlay(topCoords.x, bottomCoords.x, bottomCoords.width)) {\r\n corrections = this._getOverlayCorrections(bottomCoords, topCoords);\r\n this._topLabel.shift(corrections.coord2, topCoords.y);\r\n this._bottomLabel.shift(corrections.coord1, bottomCoords.y)\r\n }\r\n } else if (this._checkOverlay(bottomCoords.x, topCoords.x, topCoords.width)) {\r\n corrections = this._getOverlayCorrections(topCoords, bottomCoords);\r\n this._topLabel.shift(corrections.coord1, topCoords.y);\r\n this._bottomLabel.shift(corrections.coord2, bottomCoords.y)\r\n }\r\n },\r\n _drawLabel: function() {\r\n var labels = [];\r\n var notInverted = this._options.rotated ? this.x >= this.minX : this.y < this.minY;\r\n var customVisibility = this._getCustomLabelVisibility();\r\n var topLabel = this._topLabel;\r\n var bottomLabel = this._bottomLabel;\r\n topLabel.pointPosition = notInverted ? \"top\" : \"bottom\";\r\n bottomLabel.pointPosition = notInverted ? \"bottom\" : \"top\";\r\n if ((this.series.getLabelVisibility() || customVisibility) && this.hasValue() && false !== customVisibility) {\r\n false !== this.visibleTopMarker && labels.push(topLabel);\r\n false !== this.visibleBottomMarker && labels.push(bottomLabel);\r\n each(labels, (function(_, label) {\r\n label.draw(true)\r\n }));\r\n this._checkLabelsOverlay(this._topLabel.pointPosition)\r\n } else {\r\n topLabel.draw(false);\r\n bottomLabel.draw(false)\r\n }\r\n },\r\n _getImage: function(imageOption) {\r\n var image = {};\r\n if (_isDefined(imageOption)) {\r\n if (\"string\" === typeof imageOption) {\r\n image.top = image.bottom = imageOption\r\n } else {\r\n image.top = {\r\n url: \"string\" === typeof imageOption.url ? imageOption.url : imageOption.url && imageOption.url.rangeMaxPoint,\r\n width: \"number\" === typeof imageOption.width ? imageOption.width : imageOption.width && imageOption.width.rangeMaxPoint,\r\n height: \"number\" === typeof imageOption.height ? imageOption.height : imageOption.height && imageOption.height.rangeMaxPoint\r\n };\r\n image.bottom = {\r\n url: \"string\" === typeof imageOption.url ? imageOption.url : imageOption.url && imageOption.url.rangeMinPoint,\r\n width: \"number\" === typeof imageOption.width ? imageOption.width : imageOption.width && imageOption.width.rangeMinPoint,\r\n height: \"number\" === typeof imageOption.height ? imageOption.height : imageOption.height && imageOption.height.rangeMinPoint\r\n }\r\n }\r\n }\r\n return image\r\n },\r\n _checkSymbol: function(oldOptions, newOptions) {\r\n var oldSymbol = oldOptions.symbol;\r\n var newSymbol = newOptions.symbol;\r\n var symbolChanged = \"circle\" === oldSymbol && \"circle\" !== newSymbol || \"circle\" !== oldSymbol && \"circle\" === newSymbol;\r\n var oldImages = this._getImage(oldOptions.image);\r\n var newImages = this._getImage(newOptions.image);\r\n var topImageChanged = this._checkImage(oldImages.top) !== this._checkImage(newImages.top);\r\n var bottomImageChanged = this._checkImage(oldImages.bottom) !== this._checkImage(newImages.bottom);\r\n return symbolChanged || topImageChanged || bottomImageChanged\r\n },\r\n _getSettingsForTwoMarkers: function(style) {\r\n var options = this._options;\r\n var settings = {};\r\n var x = options.rotated ? _min(this.x, this.minX) : this.x;\r\n var y = options.rotated ? this.y : _min(this.y, this.minY);\r\n var radius = style.r;\r\n var points = this._populatePointShape(options.symbol, radius);\r\n settings.top = _extend({\r\n translateX: x + this.width,\r\n translateY: y,\r\n r: radius\r\n }, style);\r\n settings.bottom = _extend({\r\n translateX: x,\r\n translateY: y + this.height,\r\n r: radius\r\n }, style);\r\n if (points) {\r\n settings.top.points = settings.bottom.points = points\r\n }\r\n return settings\r\n },\r\n _hasGraphic: function() {\r\n return this.graphic && this.graphic.topMarker && this.graphic.bottomMarker\r\n },\r\n _drawOneMarker: function(renderer, markerType, imageSettings, settings) {\r\n var graphic = this.graphic;\r\n if (graphic[markerType]) {\r\n this._updateOneMarker(markerType, settings)\r\n } else {\r\n graphic[markerType] = this._createMarker(renderer, graphic, imageSettings, settings)\r\n }\r\n },\r\n _drawMarker: function(renderer, group, animationEnabled, firstDrawing, style) {\r\n var settings = this._getSettingsForTwoMarkers(style || this._getStyle());\r\n var image = this._getImage(this._options.image);\r\n if (this._checkImage(image.top)) {\r\n settings.top = this._getImageSettings(settings.top, image.top)\r\n }\r\n if (this._checkImage(image.bottom)) {\r\n settings.bottom = this._getImageSettings(settings.bottom, image.bottom)\r\n }\r\n this.graphic = this.graphic || renderer.g().append(group);\r\n this.visibleTopMarker && this._drawOneMarker(renderer, \"topMarker\", image.top, settings.top);\r\n this.visibleBottomMarker && this._drawOneMarker(renderer, \"bottomMarker\", image.bottom, settings.bottom)\r\n },\r\n _getSettingsForTracker: function(radius) {\r\n var rotated = this._options.rotated;\r\n return {\r\n translateX: rotated ? _min(this.x, this.minX) - radius : this.x - radius,\r\n translateY: rotated ? this.y - radius : _min(this.y, this.minY) - radius,\r\n width: this.width + 2 * radius,\r\n height: this.height + 2 * radius\r\n }\r\n },\r\n isInVisibleArea: function() {\r\n var rotated = this._options.rotated;\r\n var argument = !rotated ? this.x : this.y;\r\n var maxValue = !rotated ? _max(this.minY, this.y) : _max(this.minX, this.x);\r\n var minValue = !rotated ? _min(this.minY, this.y) : _min(this.minX, this.x);\r\n var tmp;\r\n var visibleTopMarker;\r\n var visibleBottomMarker;\r\n var visibleRangeArea = true;\r\n var visibleArgArea = this.series.getArgumentAxis().getVisibleArea();\r\n var visibleValArea = this.series.getValueAxis().getVisibleArea();\r\n var notVisibleByArg = visibleArgArea[1] < argument || visibleArgArea[0] > argument;\r\n var notVisibleByVal = visibleValArea[0] > minValue && visibleValArea[0] > maxValue || visibleValArea[1] < minValue && visibleValArea[1] < maxValue;\r\n if (notVisibleByArg || notVisibleByVal) {\r\n visibleTopMarker = visibleBottomMarker = visibleRangeArea = false\r\n } else {\r\n visibleTopMarker = visibleValArea[0] <= minValue && visibleValArea[1] > minValue;\r\n visibleBottomMarker = visibleValArea[0] < maxValue && visibleValArea[1] >= maxValue;\r\n if (rotated) {\r\n tmp = visibleTopMarker;\r\n visibleTopMarker = visibleBottomMarker;\r\n visibleBottomMarker = tmp\r\n }\r\n }\r\n this.visibleTopMarker = visibleTopMarker;\r\n this.visibleBottomMarker = visibleBottomMarker;\r\n return visibleRangeArea\r\n },\r\n getTooltipParams: function() {\r\n var x;\r\n var y;\r\n var rotated = this._options.rotated;\r\n var minValue = !rotated ? _min(this.y, this.minY) : _min(this.x, this.minX);\r\n var side = !rotated ? \"height\" : \"width\";\r\n var visibleArea = this._getVisibleArea();\r\n var minVisible = rotated ? visibleArea.minX : visibleArea.minY;\r\n var maxVisible = rotated ? visibleArea.maxX : visibleArea.maxY;\r\n var min = _max(minVisible, minValue);\r\n var max = _min(maxVisible, minValue + this[side]);\r\n if (!rotated) {\r\n x = this.x;\r\n y = min + (max - min) / 2\r\n } else {\r\n y = this.y;\r\n x = min + (max - min) / 2\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n offset: 0\r\n }\r\n },\r\n _translate: function() {\r\n var rotated = this._options.rotated;\r\n symbolPoint._translate.call(this);\r\n this.height = rotated ? 0 : _abs(this.minY - this.y);\r\n this.width = rotated ? _abs(this.x - this.minX) : 0\r\n },\r\n hasCoords: function() {\r\n return symbolPoint.hasCoords.call(this) && !(null === this.minX || null === this.minY)\r\n },\r\n _updateData: function(data) {\r\n symbolPoint._updateData.call(this, data);\r\n this.minValue = this.initialMinValue = this.originalMinValue = data.minValue\r\n },\r\n _getImageSettings: function(settings, image) {\r\n return {\r\n href: image.url || image.toString(),\r\n width: image.width || DEFAULT_IMAGE_WIDTH,\r\n height: image.height || DEFAULT_IMAGE_HEIGHT,\r\n translateX: settings.translateX,\r\n translateY: settings.translateY\r\n }\r\n },\r\n getCrosshairData: function(x, y) {\r\n var rotated = this._options.rotated;\r\n var minX = this.minX;\r\n var minY = this.minY;\r\n var vx = this.vx;\r\n var vy = this.vy;\r\n var value = this.value;\r\n var minValue = this.minValue;\r\n var argument = this.argument;\r\n var coords = {\r\n axis: this.series.axis,\r\n x: vx,\r\n y: vy,\r\n yValue: value,\r\n xValue: argument\r\n };\r\n if (rotated) {\r\n coords.yValue = argument;\r\n if (_abs(vx - x) < _abs(minX - x)) {\r\n coords.xValue = value\r\n } else {\r\n coords.x = minX;\r\n coords.xValue = minValue\r\n }\r\n } else if (_abs(vy - y) >= _abs(minY - y)) {\r\n coords.y = minY;\r\n coords.yValue = minValue\r\n }\r\n return coords\r\n },\r\n _updateOneMarker: function(markerType, settings) {\r\n this.graphic && this.graphic[markerType] && this.graphic[markerType].attr(settings)\r\n },\r\n _updateMarker: function(animationEnabled, style) {\r\n this._drawMarker(void 0, void 0, false, false, style)\r\n },\r\n _getFormatObject: function(tooltip) {\r\n var initialMinValue = this.initialMinValue;\r\n var initialValue = this.initialValue;\r\n var initialArgument = this.initialArgument;\r\n var minValue = tooltip.formatValue(initialMinValue);\r\n var value = tooltip.formatValue(initialValue);\r\n return {\r\n argument: initialArgument,\r\n argumentText: tooltip.formatValue(initialArgument, \"argument\"),\r\n valueText: minValue + \" - \" + value,\r\n rangeValue1Text: minValue,\r\n rangeValue2Text: value,\r\n rangeValue1: initialMinValue,\r\n rangeValue2: initialValue,\r\n seriesName: this.series.name,\r\n point: this,\r\n originalMinValue: this.originalMinValue,\r\n originalValue: this.originalValue,\r\n originalArgument: this.originalArgument\r\n }\r\n },\r\n getLabel: function() {\r\n return [this._topLabel, this._bottomLabel]\r\n },\r\n getLabels: function() {\r\n return [this._topLabel, this._bottomLabel]\r\n },\r\n getBoundingRect: noop,\r\n coordsIn: function(x, y) {\r\n var trackerRadius = this._storeTrackerR();\r\n var xCond = x >= this.x - trackerRadius && x <= this.x + trackerRadius;\r\n var yCond = y >= this.y - trackerRadius && y <= this.y + trackerRadius;\r\n if (this._options.rotated) {\r\n return yCond && (xCond || x >= this.minX - trackerRadius && x <= this.minX + trackerRadius)\r\n } else {\r\n return xCond && (yCond || y >= this.minY - trackerRadius && y <= this.minY + trackerRadius)\r\n }\r\n },\r\n getMaxValue: function() {\r\n if (\"discrete\" !== this.series.valueAxisType) {\r\n return this.minValue > this.value ? this.minValue : this.value\r\n }\r\n return this.value\r\n },\r\n getMinValue: function() {\r\n if (\"discrete\" !== this.series.valueAxisType) {\r\n return this.minValue < this.value ? this.minValue : this.value\r\n }\r\n return this.minValue\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/range_bar_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport barPoint from \"./bar_point\";\r\nimport rangeSymbolPointMethods from \"./range_symbol_point\";\r\nvar _extend = extend;\r\nexport default _extend({}, barPoint, {\r\n deleteLabel: rangeSymbolPointMethods.deleteLabel,\r\n _getFormatObject: rangeSymbolPointMethods._getFormatObject,\r\n clearVisibility: function() {\r\n var graphic = this.graphic;\r\n if (graphic && graphic.attr(\"visibility\")) {\r\n graphic.attr({\r\n visibility: null\r\n })\r\n }\r\n },\r\n setInvisibility: function() {\r\n var graphic = this.graphic;\r\n if (graphic && \"hidden\" !== graphic.attr(\"visibility\")) {\r\n graphic.attr({\r\n visibility: \"hidden\"\r\n })\r\n }\r\n this._topLabel.draw(false);\r\n this._bottomLabel.draw(false)\r\n },\r\n getTooltipParams: function(location) {\r\n var edgeLocation = \"edge\" === location;\r\n var x;\r\n var y;\r\n if (this._options.rotated) {\r\n x = edgeLocation ? this.x + this.width : this.x + this.width / 2;\r\n y = this.y + this.height / 2\r\n } else {\r\n x = this.x + this.width / 2;\r\n y = edgeLocation ? this.y : this.y + this.height / 2\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n offset: 0\r\n }\r\n },\r\n _translate: function() {\r\n var barMethods = barPoint;\r\n barMethods._translate.call(this);\r\n if (this._options.rotated) {\r\n this.width = this.width || 1\r\n } else {\r\n this.height = this.height || 1\r\n }\r\n },\r\n hasCoords: rangeSymbolPointMethods.hasCoords,\r\n _updateData: rangeSymbolPointMethods._updateData,\r\n _getLabelPosition: rangeSymbolPointMethods._getLabelPosition,\r\n _getLabelMinFormatObject: rangeSymbolPointMethods._getLabelMinFormatObject,\r\n _updateLabelData: rangeSymbolPointMethods._updateLabelData,\r\n _updateLabelOptions: rangeSymbolPointMethods._updateLabelOptions,\r\n getCrosshairData: rangeSymbolPointMethods.getCrosshairData,\r\n _createLabel: rangeSymbolPointMethods._createLabel,\r\n _checkOverlay: rangeSymbolPointMethods._checkOverlay,\r\n _checkLabelsOverlay: rangeSymbolPointMethods._checkLabelsOverlay,\r\n _getOverlayCorrections: rangeSymbolPointMethods._getOverlayCorrections,\r\n _drawLabel: rangeSymbolPointMethods._drawLabel,\r\n _getLabelCoords: rangeSymbolPointMethods._getLabelCoords,\r\n getLabel: rangeSymbolPointMethods.getLabel,\r\n getLabels: rangeSymbolPointMethods.getLabels,\r\n getBoundingRect: noop,\r\n getMinValue: rangeSymbolPointMethods.getMinValue,\r\n getMaxValue: rangeSymbolPointMethods.getMaxValue\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/candlestick_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend as _extend\r\n} from \"../../../core/utils/extend\";\r\nimport symbolPoint from \"./symbol_point\";\r\nimport barPoint from \"./bar_point\";\r\nvar _math = Math;\r\nvar _abs = _math.abs;\r\nvar _min = _math.min;\r\nvar _max = _math.max;\r\nvar _round = _math.round;\r\nvar DEFAULT_FINANCIAL_TRACKER_MARGIN = 2;\r\nexport default _extend({}, barPoint, {\r\n _calculateVisibility: symbolPoint._calculateVisibility,\r\n _getContinuousPoints: function(openCoord, closeCoord) {\r\n var x = this.x;\r\n var createPoint = this._options.rotated ? function(x, y) {\r\n return [y, x]\r\n } : function(x, y) {\r\n return [x, y]\r\n };\r\n var width = this.width;\r\n var highCoord = this.highY;\r\n var max = _abs(highCoord - openCoord) < _abs(highCoord - closeCoord) ? openCoord : closeCoord;\r\n var min = max === closeCoord ? openCoord : closeCoord;\r\n var points;\r\n if (min === max) {\r\n points = [].concat(createPoint(x, this.highY)).concat(createPoint(x, this.lowY)).concat(createPoint(x, this.closeY)).concat(createPoint(x - width / 2, this.closeY)).concat(createPoint(x + width / 2, this.closeY)).concat(createPoint(x, this.closeY))\r\n } else {\r\n points = [].concat(createPoint(x, this.highY)).concat(createPoint(x, max)).concat(createPoint(x + width / 2, max)).concat(createPoint(x + width / 2, min)).concat(createPoint(x, min)).concat(createPoint(x, this.lowY)).concat(createPoint(x, min)).concat(createPoint(x - width / 2, min)).concat(createPoint(x - width / 2, max)).concat(createPoint(x, max))\r\n }\r\n return points\r\n },\r\n _getCrockPoints: function(y) {\r\n var x = this.x;\r\n var createPoint = this._options.rotated ? function(x, y) {\r\n return [y, x]\r\n } : function(x, y) {\r\n return [x, y]\r\n };\r\n return [].concat(createPoint(x, this.highY)).concat(createPoint(x, this.lowY)).concat(createPoint(x, y)).concat(createPoint(x - this.width / 2, y)).concat(createPoint(x + this.width / 2, y)).concat(createPoint(x, y))\r\n },\r\n _getPoints: function() {\r\n var points;\r\n var closeCoord = this.closeY;\r\n var openCoord = this.openY;\r\n if (null !== closeCoord && null !== openCoord) {\r\n points = this._getContinuousPoints(openCoord, closeCoord)\r\n } else if (openCoord === closeCoord) {\r\n points = [this.x, this.highY, this.x, this.lowY]\r\n } else {\r\n points = this._getCrockPoints(null !== openCoord ? openCoord : closeCoord)\r\n }\r\n return points\r\n },\r\n getColor: function() {\r\n return this._isReduction ? this._options.reduction.color : this._styles.normal.stroke || this.series.getColor()\r\n },\r\n _drawMarkerInGroup: function(group, attributes, renderer) {\r\n this.graphic = renderer.path(this._getPoints(), \"area\").attr({\r\n \"stroke-linecap\": \"square\"\r\n }).attr(attributes).data({\r\n \"chart-data-point\": this\r\n }).sharp().append(group)\r\n },\r\n _fillStyle: function() {\r\n var styles = this._options.styles;\r\n if (this._isReduction && this._isPositive) {\r\n this._styles = styles.reductionPositive\r\n } else if (this._isReduction) {\r\n this._styles = styles.reduction\r\n } else if (this._isPositive) {\r\n this._styles = styles.positive\r\n } else {\r\n this._styles = styles\r\n }\r\n },\r\n _getMinTrackerWidth: function() {\r\n return 2 + 2 * this._styles.normal[\"stroke-width\"]\r\n },\r\n correctCoordinates: function(correctOptions) {\r\n var minWidth = this._getMinTrackerWidth();\r\n var width = correctOptions.width;\r\n width = width < minWidth ? minWidth : width > 10 ? 10 : width;\r\n this.width = width + width % 2;\r\n this.xCorrection = correctOptions.offset\r\n },\r\n _getMarkerGroup: function(group) {\r\n var markerGroup;\r\n if (this._isReduction && this._isPositive) {\r\n markerGroup = group.reductionPositiveMarkersGroup\r\n } else if (this._isReduction) {\r\n markerGroup = group.reductionMarkersGroup\r\n } else if (this._isPositive) {\r\n markerGroup = group.defaultPositiveMarkersGroup\r\n } else {\r\n markerGroup = group.defaultMarkersGroup\r\n }\r\n return markerGroup\r\n },\r\n _drawMarker: function(renderer, group) {\r\n this._drawMarkerInGroup(this._getMarkerGroup(group), this._getStyle(), renderer)\r\n },\r\n _getSettingsForTracker: function() {\r\n var highY = this.highY;\r\n var lowY = this.lowY;\r\n var rotated = this._options.rotated;\r\n var x;\r\n var y;\r\n var width;\r\n var height;\r\n if (highY === lowY) {\r\n highY = rotated ? highY + DEFAULT_FINANCIAL_TRACKER_MARGIN : highY - DEFAULT_FINANCIAL_TRACKER_MARGIN;\r\n lowY = rotated ? lowY - DEFAULT_FINANCIAL_TRACKER_MARGIN : lowY + DEFAULT_FINANCIAL_TRACKER_MARGIN\r\n }\r\n if (rotated) {\r\n x = _min(lowY, highY);\r\n y = this.x - this.width / 2;\r\n width = _abs(lowY - highY);\r\n height = this.width\r\n } else {\r\n x = this.x - this.width / 2;\r\n y = _min(lowY, highY);\r\n width = this.width;\r\n height = _abs(lowY - highY)\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n }\r\n },\r\n _getGraphicBBox: function(location) {\r\n var rotated = this._options.rotated;\r\n var x = this.x;\r\n var width = this.width;\r\n var lowY = this.lowY;\r\n var highY = this.highY;\r\n if (location) {\r\n var valVisibleArea = this.series.getValueAxis().getVisibleArea();\r\n highY = this._truncateCoord(highY, valVisibleArea);\r\n lowY = this._truncateCoord(lowY, valVisibleArea)\r\n }\r\n var bBox = {\r\n x: !rotated ? x - _round(width / 2) : lowY,\r\n y: !rotated ? highY : x - _round(width / 2),\r\n width: !rotated ? width : highY - lowY,\r\n height: !rotated ? lowY - highY : width\r\n };\r\n if (location) {\r\n var isTop = \"top\" === location;\r\n if (!this._options.rotated) {\r\n bBox.y = isTop ? bBox.y : bBox.y + bBox.height;\r\n bBox.height = 0\r\n } else {\r\n bBox.x = isTop ? bBox.x + bBox.width : bBox.x;\r\n bBox.width = 0\r\n }\r\n }\r\n return bBox\r\n },\r\n getTooltipParams: function(location) {\r\n if (this.graphic) {\r\n var minValue = _min(this.lowY, this.highY);\r\n var maxValue = _max(this.lowY, this.highY);\r\n var visibleArea = this._getVisibleArea();\r\n var rotated = this._options.rotated;\r\n var minVisible = rotated ? visibleArea.minX : visibleArea.minY;\r\n var maxVisible = rotated ? visibleArea.maxX : visibleArea.maxY;\r\n var min = _max(minVisible, minValue);\r\n var max = _min(maxVisible, maxValue);\r\n var centerCoord = this.getCenterCoord();\r\n if (\"edge\" === location) {\r\n centerCoord[rotated ? \"x\" : \"y\"] = rotated ? max : min\r\n }\r\n centerCoord.offset = 0;\r\n return centerCoord\r\n }\r\n },\r\n getCenterCoord() {\r\n if (this.graphic) {\r\n var x;\r\n var y;\r\n var minValue = _min(this.lowY, this.highY);\r\n var maxValue = _max(this.lowY, this.highY);\r\n var visibleArea = this._getVisibleArea();\r\n var rotated = this._options.rotated;\r\n var minVisible = rotated ? visibleArea.minX : visibleArea.minY;\r\n var maxVisible = rotated ? visibleArea.maxX : visibleArea.maxY;\r\n var min = _max(minVisible, minValue);\r\n var max = _min(maxVisible, maxValue);\r\n var center = min + (max - min) / 2;\r\n if (rotated) {\r\n y = this.x;\r\n x = center\r\n } else {\r\n x = this.x;\r\n y = center\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n }\r\n },\r\n hasValue: function() {\r\n return null !== this.highValue && null !== this.lowValue\r\n },\r\n hasCoords: function() {\r\n return null !== this.x && null !== this.lowY && null !== this.highY\r\n },\r\n _translate: function() {\r\n var rotated = this._options.rotated;\r\n var valTranslator = this._getValTranslator();\r\n var x = this._getArgTranslator().translate(this.argument);\r\n this.vx = this.vy = this.x = null === x ? x : x + (this.xCorrection || 0);\r\n this.openY = null !== this.openValue ? valTranslator.translate(this.openValue) : null;\r\n this.highY = valTranslator.translate(this.highValue);\r\n this.lowY = valTranslator.translate(this.lowValue);\r\n this.closeY = null !== this.closeValue ? valTranslator.translate(this.closeValue) : null;\r\n var centerValue = _min(this.lowY, this.highY) + _abs(this.lowY - this.highY) / 2;\r\n this._calculateVisibility(!rotated ? this.x : centerValue, !rotated ? centerValue : this.x)\r\n },\r\n getCrosshairData: function(x, y) {\r\n var rotated = this._options.rotated;\r\n var origY = rotated ? x : y;\r\n var yValue;\r\n var argument = this.argument;\r\n var coords;\r\n var coord = \"low\";\r\n if (_abs(this.lowY - origY) < _abs(this.closeY - origY)) {\r\n yValue = this.lowY\r\n } else {\r\n yValue = this.closeY;\r\n coord = \"close\"\r\n }\r\n if (_abs(yValue - origY) >= _abs(this.openY - origY)) {\r\n yValue = this.openY;\r\n coord = \"open\"\r\n }\r\n if (_abs(yValue - origY) >= _abs(this.highY - origY)) {\r\n yValue = this.highY;\r\n coord = \"high\"\r\n }\r\n if (rotated) {\r\n coords = {\r\n y: this.vy,\r\n x: yValue,\r\n xValue: this[coord + \"Value\"],\r\n yValue: argument\r\n }\r\n } else {\r\n coords = {\r\n x: this.vx,\r\n y: yValue,\r\n xValue: argument,\r\n yValue: this[coord + \"Value\"]\r\n }\r\n }\r\n coords.axis = this.series.axis;\r\n return coords\r\n },\r\n _updateData: function(data) {\r\n var label = this._label;\r\n var reductionColor = this._options.reduction.color;\r\n this.value = this.initialValue = data.reductionValue;\r\n this.originalValue = data.value;\r\n this.lowValue = this.originalLowValue = data.lowValue;\r\n this.highValue = this.originalHighValue = data.highValue;\r\n this.openValue = this.originalOpenValue = data.openValue;\r\n this.closeValue = this.originalCloseValue = data.closeValue;\r\n this._isPositive = data.openValue < data.closeValue;\r\n this._isReduction = data.isReduction;\r\n if (this._isReduction) {\r\n label.setColor(reductionColor)\r\n }\r\n },\r\n _updateMarker: function(animationEnabled, style, group) {\r\n var graphic = this.graphic;\r\n graphic.attr({\r\n points: this._getPoints()\r\n }).smartAttr(style).sharp();\r\n group && graphic.append(this._getMarkerGroup(group))\r\n },\r\n _getLabelFormatObject: function() {\r\n return {\r\n openValue: this.openValue,\r\n highValue: this.highValue,\r\n lowValue: this.lowValue,\r\n closeValue: this.closeValue,\r\n reductionValue: this.initialValue,\r\n argument: this.initialArgument,\r\n value: this.initialValue,\r\n seriesName: this.series.name,\r\n originalOpenValue: this.originalOpenValue,\r\n originalCloseValue: this.originalCloseValue,\r\n originalLowValue: this.originalLowValue,\r\n originalHighValue: this.originalHighValue,\r\n originalArgument: this.originalArgument,\r\n point: this\r\n }\r\n },\r\n _getFormatObject: function(tooltip) {\r\n var highValue = tooltip.formatValue(this.highValue);\r\n var openValue = tooltip.formatValue(this.openValue);\r\n var closeValue = tooltip.formatValue(this.closeValue);\r\n var lowValue = tooltip.formatValue(this.lowValue);\r\n var symbolMethods = symbolPoint;\r\n var formatObject = symbolMethods._getFormatObject.call(this, tooltip);\r\n return _extend({}, formatObject, {\r\n valueText: \"h: \" + highValue + (\"\" !== openValue ? \" o: \" + openValue : \"\") + (\"\" !== closeValue ? \" c: \" + closeValue : \"\") + \" l: \" + lowValue,\r\n highValueText: highValue,\r\n openValueText: openValue,\r\n closeValueText: closeValue,\r\n lowValueText: lowValue\r\n })\r\n },\r\n getMaxValue: function() {\r\n return this.highValue\r\n },\r\n getMinValue: function() {\r\n return this.lowValue\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/stock_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n isNumeric\r\n} from \"../../../core/utils/type\";\r\nimport candlestickPoint from \"./candlestick_point\";\r\nvar _extend = extend;\r\nvar _isNumeric = isNumeric;\r\nexport default _extend({}, candlestickPoint, {\r\n _getPoints: function() {\r\n var createPoint = this._options.rotated ? function(x, y) {\r\n return [y, x]\r\n } : function(x, y) {\r\n return [x, y]\r\n };\r\n var openYExist = _isNumeric(this.openY);\r\n var closeYExist = _isNumeric(this.closeY);\r\n var x = this.x;\r\n var width = this.width;\r\n var points = [].concat(createPoint(x, this.highY));\r\n openYExist && (points = points.concat(createPoint(x, this.openY)));\r\n openYExist && (points = points.concat(createPoint(x - width / 2, this.openY)));\r\n openYExist && (points = points.concat(createPoint(x, this.openY)));\r\n closeYExist && (points = points.concat(createPoint(x, this.closeY)));\r\n closeYExist && (points = points.concat(createPoint(x + width / 2, this.closeY)));\r\n closeYExist && (points = points.concat(createPoint(x, this.closeY)));\r\n points = points.concat(createPoint(x, this.lowY));\r\n return points\r\n },\r\n _drawMarkerInGroup: function(group, attributes, renderer) {\r\n this.graphic = renderer.path(this._getPoints(), \"line\").attr({\r\n \"stroke-linecap\": \"square\"\r\n }).attr(attributes).data({\r\n \"chart-data-point\": this\r\n }).sharp().append(group)\r\n },\r\n _getMinTrackerWidth: function() {\r\n var width = 2 + this._styles.normal[\"stroke-width\"];\r\n return width + width % 2\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/polar_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nvar _extend = extend;\r\nimport symbolPoint from \"./symbol_point\";\r\nimport barPoint from \"./bar_point\";\r\nimport piePoint from \"./pie_point\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n normalizeAngle,\r\n convertPolarToXY,\r\n getCosAndSin,\r\n convertXYToPolar\r\n} from \"../../core/utils\";\r\nvar _math = Math;\r\nvar _max = _math.max;\r\nimport consts from \"../../components/consts\";\r\nvar RADIAL_LABEL_INDENT = consts.radialLabelIndent;\r\nvar ERROR_BARS_ANGLE_OFFSET = 90;\r\nvar CANVAS_POSITION_START = \"canvas_position_start\";\r\nvar CANVAS_POSITION_END = \"canvas_position_end\";\r\nvar CANVAS_POSITION_DEFAULT = \"canvas_position_default\";\r\nexport var polarSymbolPoint = _extend({}, symbolPoint, {\r\n _getLabelCoords: piePoint._getLabelCoords,\r\n _getElementCoords: piePoint._getElementCoords,\r\n _moveLabelOnCanvas: function(coord, visibleArea, labelBBox) {\r\n var x = coord.x;\r\n var y = coord.y;\r\n if (visibleArea.minX > x) {\r\n x = visibleArea.minX\r\n }\r\n if (visibleArea.maxX < x + labelBBox.width) {\r\n x = visibleArea.maxX - labelBBox.width\r\n }\r\n if (visibleArea.minY > y) {\r\n y = visibleArea.minY\r\n }\r\n if (visibleArea.maxY < y + labelBBox.height) {\r\n y = visibleArea.maxY - labelBBox.height\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _getLabelPosition: function() {\r\n return \"outside\"\r\n },\r\n _getCoords: function(argument, value) {\r\n var axis = this.series.getValueAxis();\r\n var startAngle = axis.getAngles()[0];\r\n var angle = this._getArgTranslator().translate(argument);\r\n var radius = this._getValTranslator().translate(value);\r\n var coords = convertPolarToXY(axis.getCenter(), axis.getAngles()[0], angle, radius);\r\n coords.angle = angle + startAngle - 90, coords.radius = radius;\r\n return coords\r\n },\r\n _translate() {\r\n var center = this.series.getValueAxis().getCenter();\r\n var coord = this._getCoords(this.argument, this.value);\r\n var translator = this._getValTranslator();\r\n var maxRadius = translator.isInverted() ? translator.translate(CANVAS_POSITION_START) : translator.translate(CANVAS_POSITION_END);\r\n var normalizedRadius = isDefined(coord.radius) && coord.radius >= 0 ? coord.radius : null;\r\n this.vx = normalizeAngle(coord.angle);\r\n this.vy = this.radiusOuter = this.radiusLabels = normalizedRadius;\r\n this.radiusLabels += RADIAL_LABEL_INDENT;\r\n this.radius = normalizedRadius;\r\n this.middleAngle = -coord.angle;\r\n this.angle = -coord.angle;\r\n this.x = coord.x;\r\n this.y = coord.y;\r\n this.defaultX = this.centerX = center.x;\r\n this.defaultY = this.centerY = center.y;\r\n this._translateErrorBars();\r\n this.inVisibleArea = this._checkRadiusForVisibleArea(normalizedRadius, maxRadius)\r\n },\r\n _checkRadiusForVisibleArea: (radius, maxRadius) => isDefined(radius) && radius <= maxRadius,\r\n _translateErrorBars: function() {\r\n var errorBars = this._options.errorBars;\r\n var translator = this._getValTranslator();\r\n if (!errorBars) {\r\n return\r\n }\r\n isDefined(this.lowError) && (this._lowErrorCoord = this.centerY - translator.translate(this.lowError));\r\n isDefined(this.highError) && (this._highErrorCoord = this.centerY - translator.translate(this.highError));\r\n this._errorBarPos = this.centerX;\r\n this._baseErrorBarPos = \"stdDeviation\" === errorBars.type ? this._lowErrorCoord + (this._highErrorCoord - this._lowErrorCoord) / 2 : this.centerY - this.radius\r\n },\r\n _getTranslates: function(animationEnabled) {\r\n return animationEnabled ? this.getDefaultCoords() : {\r\n x: this.x,\r\n y: this.y\r\n }\r\n },\r\n getDefaultCoords: function() {\r\n var cosSin = getCosAndSin(-this.angle);\r\n var radius = this._getValTranslator().translate(CANVAS_POSITION_DEFAULT);\r\n var x = this.defaultX + radius * cosSin.cos;\r\n var y = this.defaultY + radius * cosSin.sin;\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _addLabelAlignmentAndOffset: function(label, coord) {\r\n return coord\r\n },\r\n _checkLabelPosition: function(label, coord) {\r\n var visibleArea = this._getVisibleArea();\r\n var graphicBBox = this._getGraphicBBox();\r\n if (this._isPointInVisibleArea(visibleArea, graphicBBox)) {\r\n coord = this._moveLabelOnCanvas(coord, visibleArea, label.getBoundingRect())\r\n }\r\n return coord\r\n },\r\n _getErrorBarSettings: function(errorBarOptions, animationEnabled) {\r\n var settings = symbolPoint._getErrorBarSettings.call(this, errorBarOptions, animationEnabled);\r\n settings.rotate = ERROR_BARS_ANGLE_OFFSET - this.angle;\r\n settings.rotateX = this.centerX;\r\n settings.rotateY = this.centerY;\r\n return settings\r\n },\r\n getCoords: function(min) {\r\n return min ? this.getDefaultCoords() : {\r\n x: this.x,\r\n y: this.y\r\n }\r\n }\r\n});\r\nexport var polarBarPoint = _extend({}, barPoint, {\r\n _translateErrorBars: polarSymbolPoint._translateErrorBars,\r\n _getErrorBarSettings: polarSymbolPoint._getErrorBarSettings,\r\n _moveLabelOnCanvas: polarSymbolPoint._moveLabelOnCanvas,\r\n _getLabelCoords: piePoint._getLabelCoords,\r\n _getElementCoords: piePoint._getElementCoords,\r\n _getLabelConnector: piePoint._getLabelConnector,\r\n getTooltipParams: piePoint.getTooltipParams,\r\n _getLabelPosition: piePoint._getLabelPosition,\r\n _getCoords: polarSymbolPoint._getCoords,\r\n _translate() {\r\n var translator = this._getValTranslator();\r\n var businessRange = translator.getBusinessRange();\r\n var maxRadius = translator.isInverted() ? translator.translate(CANVAS_POSITION_START) : translator.translate(CANVAS_POSITION_END);\r\n this.radiusInner = translator.translate(this.minValue);\r\n polarSymbolPoint._translate.call(this);\r\n if (null === this.radiusInner) {\r\n this.radiusInner = this.radius = maxRadius\r\n } else if (null === this.radius) {\r\n this.radius = this.value >= businessRange.minVisible ? maxRadius : 0\r\n } else if (this.radius > maxRadius) {\r\n this.radius = maxRadius\r\n }\r\n this.radiusOuter = this.radiusLabels = _max(this.radiusInner, this.radius);\r\n this.radiusLabels += RADIAL_LABEL_INDENT;\r\n this.radiusInner = this.defaultRadius = _math.min(this.radiusInner, this.radius);\r\n this.middleAngle = this.angle = -normalizeAngle(this.middleAngleCorrection - this.angle)\r\n },\r\n _checkRadiusForVisibleArea(radius) {\r\n return isDefined(radius) || this._getValTranslator().translate(this.minValue) > 0\r\n },\r\n _getErrorBarBaseEdgeLength() {\r\n var coord = this.getMarkerCoords();\r\n return _math.PI * coord.outerRadius * _math.abs(coord.startAngle - coord.endAngle) / 180\r\n },\r\n getMarkerCoords: function() {\r\n return {\r\n x: this.centerX,\r\n y: this.centerY,\r\n outerRadius: this.radiusOuter,\r\n innerRadius: this.defaultRadius,\r\n startAngle: this.middleAngle - this.interval / 2,\r\n endAngle: this.middleAngle + this.interval / 2\r\n }\r\n },\r\n _drawMarker: function(renderer, group, animationEnabled) {\r\n var styles = this._getStyle();\r\n var coords = this.getMarkerCoords();\r\n var innerRadius = coords.innerRadius;\r\n var outerRadius = coords.outerRadius;\r\n var start = this._getCoords(this.argument, CANVAS_POSITION_DEFAULT);\r\n var x = coords.x;\r\n var y = coords.y;\r\n if (animationEnabled) {\r\n innerRadius = 0;\r\n outerRadius = 0;\r\n x = start.x;\r\n y = start.y\r\n }\r\n this.graphic = renderer.arc(x, y, innerRadius, outerRadius, coords.startAngle, coords.endAngle).attr(styles).data({\r\n \"chart-data-point\": this\r\n }).append(group)\r\n },\r\n _checkLabelPosition: function(label, coord) {\r\n var visibleArea = this._getVisibleArea();\r\n var angleFunctions = getCosAndSin(this.middleAngle);\r\n var x = this.centerX + this.defaultRadius * angleFunctions.cos;\r\n var y = this.centerY - this.defaultRadius * angleFunctions.sin;\r\n if (x > visibleArea.minX && x < visibleArea.maxX && y > visibleArea.minY && y < visibleArea.maxY) {\r\n coord = this._moveLabelOnCanvas(coord, visibleArea, label.getBoundingRect())\r\n }\r\n return coord\r\n },\r\n _addLabelAlignmentAndOffset: function(label, coord) {\r\n return coord\r\n },\r\n correctCoordinates: function(correctOptions) {\r\n this.middleAngleCorrection = correctOptions.offset;\r\n this.interval = correctOptions.width\r\n },\r\n coordsIn: function(x, y) {\r\n var val = convertXYToPolar(this.series.getValueAxis().getCenter(), x, y);\r\n var coords = this.getMarkerCoords();\r\n var isBetweenAngles = coords.startAngle < coords.endAngle ? -val.phi >= coords.startAngle && -val.phi <= coords.endAngle : -val.phi <= coords.startAngle && -val.phi >= coords.endAngle;\r\n return val.r >= coords.innerRadius && val.r <= coords.outerRadius && isBetweenAngles\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/points/base_point.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar mixins = {};\r\nimport consts from \"../../components/consts\";\r\nimport symbolPoint from \"./symbol_point\";\r\nimport barPoint from \"./bar_point\";\r\nimport bubblePoint from \"./bubble_point\";\r\nimport piePoint from \"./pie_point\";\r\nimport rangeSymbolPoint from \"./range_symbol_point\";\r\nimport rangeBarPoint from \"./range_bar_point\";\r\nimport candlestickPoint from \"./candlestick_point\";\r\nimport stockPoint from \"./stock_point\";\r\nimport {\r\n polarSymbolPoint,\r\n polarBarPoint\r\n} from \"./polar_point\";\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nvar _extend = extend;\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n noop as _noop\r\n} from \"../../../core/utils/common\";\r\nvar statesConsts = consts.states;\r\nvar SYMBOL_POINT = \"symbolPoint\";\r\nvar POLAR_SYMBOL_POINT = \"polarSymbolPoint\";\r\nvar BAR_POINT = \"barPoint\";\r\nvar POLAR_BAR_POINT = \"polarBarPoint\";\r\nvar PIE_POINT = \"piePoint\";\r\nvar SELECTED_STATE = statesConsts.selectedMark;\r\nvar HOVER_STATE = statesConsts.hoverMark;\r\nvar NORMAL_STATE = statesConsts.normalMark;\r\nvar HOVER = statesConsts.hover;\r\nvar NORMAL = statesConsts.normal;\r\nvar SELECTION = statesConsts.selection;\r\nvar pointTypes = {\r\n chart: {\r\n scatter: SYMBOL_POINT,\r\n line: SYMBOL_POINT,\r\n spline: SYMBOL_POINT,\r\n stepline: SYMBOL_POINT,\r\n stackedline: SYMBOL_POINT,\r\n fullstackedline: SYMBOL_POINT,\r\n stackedspline: SYMBOL_POINT,\r\n fullstackedspline: SYMBOL_POINT,\r\n stackedsplinearea: SYMBOL_POINT,\r\n fullstackedsplinearea: SYMBOL_POINT,\r\n area: SYMBOL_POINT,\r\n splinearea: SYMBOL_POINT,\r\n steparea: SYMBOL_POINT,\r\n stackedarea: SYMBOL_POINT,\r\n fullstackedarea: SYMBOL_POINT,\r\n rangearea: \"rangeSymbolPoint\",\r\n bar: BAR_POINT,\r\n stackedbar: BAR_POINT,\r\n fullstackedbar: BAR_POINT,\r\n rangebar: \"rangeBarPoint\",\r\n bubble: \"bubblePoint\",\r\n stock: \"stockPoint\",\r\n candlestick: \"candlestickPoint\"\r\n },\r\n pie: {\r\n pie: PIE_POINT,\r\n doughnut: PIE_POINT,\r\n donut: PIE_POINT\r\n },\r\n polar: {\r\n scatter: POLAR_SYMBOL_POINT,\r\n line: POLAR_SYMBOL_POINT,\r\n area: POLAR_SYMBOL_POINT,\r\n bar: POLAR_BAR_POINT,\r\n stackedbar: POLAR_BAR_POINT\r\n }\r\n};\r\n\r\nfunction isNoneMode(mode) {\r\n return \"none\" === _normalizeEnum(mode)\r\n}\r\nexport function Point(series, dataItem, options) {\r\n this.fullState = NORMAL_STATE;\r\n this.series = series;\r\n this.update(dataItem, options);\r\n this._viewCounters = {\r\n hover: 0,\r\n selection: 0\r\n };\r\n this._emptySettings = {\r\n fill: null,\r\n stroke: null,\r\n dashStyle: null,\r\n filter: null\r\n }\r\n}\r\nmixins.symbolPoint = symbolPoint;\r\nmixins.barPoint = barPoint;\r\nmixins.bubblePoint = bubblePoint;\r\nmixins.piePoint = piePoint;\r\nmixins.rangeSymbolPoint = rangeSymbolPoint;\r\nmixins.rangeBarPoint = rangeBarPoint;\r\nmixins.candlestickPoint = candlestickPoint;\r\nmixins.stockPoint = stockPoint;\r\nmixins.polarSymbolPoint = polarSymbolPoint;\r\nmixins.polarBarPoint = polarBarPoint;\r\nPoint.prototype = {\r\n constructor: Point,\r\n getColor: function() {\r\n if (!this.hasValue() && !this._styles.usePointCustomOptions) {\r\n this.series.customizePoint(this, this._dataItem)\r\n }\r\n return this._styles.normal.fill || this.series.getColor()\r\n },\r\n _getStyle: function() {\r\n return this._styles[this._currentStyle || \"normal\"]\r\n },\r\n update: function(dataItem, options) {\r\n this.updateOptions(options);\r\n this.updateData(dataItem)\r\n },\r\n updateData: function(dataItem) {\r\n var argumentWasChanged = this.argument !== dataItem.argument;\r\n this.argument = this.initialArgument = this.originalArgument = dataItem.argument;\r\n this.tag = dataItem.tag;\r\n this.index = dataItem.index;\r\n this._dataItem = dataItem;\r\n this.data = dataItem.data;\r\n this.lowError = dataItem.lowError;\r\n this.highError = dataItem.highError;\r\n this.aggregationInfo = dataItem.aggregationInfo;\r\n this._updateData(dataItem, argumentWasChanged);\r\n !this.hasValue() && this.setInvisibility();\r\n this._fillStyle();\r\n this._updateLabelData()\r\n },\r\n deleteMarker: function() {\r\n if (this.graphic) {\r\n this.graphic.dispose()\r\n }\r\n this.graphic = null\r\n },\r\n draw: function(renderer, groups, animationEnabled, firstDrawing) {\r\n if (this._needDeletingOnDraw || this.series.autoHidePointMarkers && !this.isSelected()) {\r\n this.deleteMarker();\r\n this._needDeletingOnDraw = false\r\n }\r\n if (this._needClearingOnDraw) {\r\n this.clearMarker();\r\n this._needClearingOnDraw = false\r\n }\r\n if (!this._hasGraphic()) {\r\n this.getMarkerVisibility() && !this.series.autoHidePointMarkers && this._drawMarker(renderer, groups.markers, animationEnabled, firstDrawing)\r\n } else {\r\n this._updateMarker(animationEnabled, this._getStyle(), groups.markers)\r\n }\r\n this._drawLabel();\r\n this._drawErrorBar(renderer, groups.errorBars, animationEnabled);\r\n return this\r\n },\r\n _getViewStyle: function() {\r\n var state = NORMAL_STATE;\r\n var fullState = this.fullState;\r\n var styles = [NORMAL, HOVER, SELECTION, SELECTION];\r\n if (this._viewCounters.hover) {\r\n state |= HOVER_STATE\r\n }\r\n if (this._viewCounters.selection) {\r\n state |= SELECTED_STATE\r\n }\r\n if (isNoneMode(this.getOptions().selectionMode)) {\r\n fullState &= ~SELECTED_STATE\r\n }\r\n if (isNoneMode(this.getOptions().hoverMode)) {\r\n fullState &= ~HOVER_STATE\r\n }\r\n state |= fullState;\r\n return styles[state]\r\n },\r\n applyView: function(legendCallback) {\r\n var style = this._getViewStyle();\r\n this._currentStyle = style;\r\n if (!this.graphic && this.getMarkerVisibility() && this.series.autoHidePointMarkers && (style === SELECTION || style === HOVER)) {\r\n this._drawMarker(this.series.getRenderer(), this.series.getMarkersGroup())\r\n }\r\n if (this.graphic) {\r\n if (this.series.autoHidePointMarkers && style !== SELECTION && style !== HOVER) {\r\n this.deleteMarker()\r\n } else {\r\n if (\"normal\" === style) {\r\n this.clearMarker()\r\n } else {\r\n this.graphic.toForeground()\r\n }\r\n this._updateMarker(true, this._styles[style], void 0, legendCallback)\r\n }\r\n }\r\n },\r\n setView: function(style) {\r\n this._viewCounters[style]++;\r\n this.applyView()\r\n },\r\n resetView: function(style) {\r\n var viewCounters = this._viewCounters;\r\n --viewCounters[style];\r\n if (viewCounters[style] < 0) {\r\n viewCounters[style] = 0\r\n }\r\n this.applyView()\r\n },\r\n releaseHoverState: function() {\r\n if (this.graphic && !this.isSelected()) {\r\n this.graphic.toBackground()\r\n }\r\n },\r\n select: function() {\r\n this.series.selectPoint(this)\r\n },\r\n clearSelection: function() {\r\n this.series.deselectPoint(this)\r\n },\r\n hover: function() {\r\n this.series.hoverPoint(this)\r\n },\r\n clearHover: function() {\r\n this.series.clearPointHover()\r\n },\r\n showTooltip: function() {\r\n this.series.showPointTooltip(this)\r\n },\r\n hideTooltip: function() {\r\n this.series.hidePointTooltip(this)\r\n },\r\n _checkLabelsChanging: function(oldType, newType) {\r\n var isNewRange = ~newType.indexOf(\"range\");\r\n var isOldRange = ~oldType.indexOf(\"range\");\r\n return isOldRange && !isNewRange || !isOldRange && isNewRange\r\n },\r\n updateOptions: function(newOptions) {\r\n if (!newOptions) {\r\n return\r\n }\r\n var oldOptions = this._options;\r\n var widgetType = newOptions.widgetType;\r\n var oldType = oldOptions && oldOptions.type;\r\n var newType = newOptions.type;\r\n var newPointTypeMixin = pointTypes[widgetType][newType];\r\n if (oldType !== newType) {\r\n this._needDeletingOnDraw = true;\r\n this._needClearingOnDraw = false;\r\n if (oldType) {\r\n this._checkLabelsChanging(oldType, newType) && this.deleteLabel();\r\n this._resetType(mixins[pointTypes[oldType]])\r\n }\r\n this._setType(mixins[newPointTypeMixin])\r\n } else {\r\n this._needDeletingOnDraw = this._checkSymbol(oldOptions, newOptions);\r\n this._needClearingOnDraw = this._checkCustomize(oldOptions, newOptions)\r\n }\r\n this._options = newOptions;\r\n this._fillStyle();\r\n this._updateLabelOptions(newPointTypeMixin)\r\n },\r\n translate: function() {\r\n if (this.hasValue()) {\r\n this._translate();\r\n this.translated = true\r\n }\r\n },\r\n _checkCustomize: function(oldOptions, newOptions) {\r\n return oldOptions.styles.usePointCustomOptions && !newOptions.styles.usePointCustomOptions\r\n },\r\n _getCustomLabelVisibility: function() {\r\n return this._styles.useLabelCustomOptions ? !!this._options.label.visible : null\r\n },\r\n getBoundingRect: function() {\r\n return this._getGraphicBBox()\r\n },\r\n _resetType: function(methods) {\r\n for (var methodName in methods) {\r\n delete this[methodName]\r\n }\r\n },\r\n _setType: function(methods) {\r\n for (var methodName in methods) {\r\n this[methodName] = methods[methodName]\r\n }\r\n },\r\n isInVisibleArea: function() {\r\n return this.inVisibleArea\r\n },\r\n isSelected: function() {\r\n return !!(this.fullState & SELECTED_STATE)\r\n },\r\n isHovered: function() {\r\n return !!(this.fullState & HOVER_STATE)\r\n },\r\n getOptions: function() {\r\n return this._options\r\n },\r\n animate: function(complete, settings, partitionDuration) {\r\n if (!this.graphic) {\r\n complete && complete();\r\n return\r\n }\r\n this.graphic.animate(settings, {\r\n partitionDuration: partitionDuration\r\n }, complete)\r\n },\r\n getCoords: function(min) {\r\n if (!min) {\r\n return {\r\n x: this.x,\r\n y: this.y\r\n }\r\n }\r\n if (!this._options.rotated) {\r\n return {\r\n x: this.x,\r\n y: this.minY + (this.y - this.minY ? 0 : 1)\r\n }\r\n }\r\n return {\r\n x: this.minX - (this.x - this.minX ? 0 : 1),\r\n y: this.y\r\n }\r\n },\r\n getDefaultCoords: function() {\r\n return !this._options.rotated ? {\r\n x: this.x,\r\n y: this.defaultY\r\n } : {\r\n x: this.defaultX,\r\n y: this.y\r\n }\r\n },\r\n setDefaultCoords() {\r\n var coords = this.getDefaultCoords();\r\n this.x = coords.x;\r\n this.y = coords.y\r\n },\r\n _getVisibleArea: function() {\r\n return this.series.getVisibleArea()\r\n },\r\n _getArgTranslator: function() {\r\n return this.series.getArgumentAxis().getTranslator()\r\n },\r\n _getValTranslator: function() {\r\n return this.series.getValueAxis().getTranslator()\r\n },\r\n isArgumentCorrect() {\r\n return this.series._argumentChecker(this.argument)\r\n },\r\n isValueCorrect() {\r\n var valueChecker = this.series._valueChecker;\r\n return valueChecker(this.getMinValue()) && valueChecker(this.getMaxValue())\r\n },\r\n hasValue: function() {\r\n return null !== this.value && null !== this.minValue && this.isArgumentCorrect() && this.isValueCorrect()\r\n },\r\n hasCoords: _noop,\r\n correctPosition: _noop,\r\n correctRadius: _noop,\r\n correctLabelRadius: _noop,\r\n getCrosshairData: _noop,\r\n getPointRadius: _noop,\r\n _populatePointShape: _noop,\r\n _checkSymbol: _noop,\r\n getMarkerCoords: _noop,\r\n hide: _noop,\r\n show: _noop,\r\n hideMarker: _noop,\r\n setInvisibility: _noop,\r\n clearVisibility: _noop,\r\n isVisible: _noop,\r\n resetCorrection: _noop,\r\n correctValue: _noop,\r\n resetValue: _noop,\r\n setPercentValue: _noop,\r\n correctCoordinates: _noop,\r\n coordsIn: _noop,\r\n getTooltipParams: _noop,\r\n applyWordWrap: _noop,\r\n setLabelTrackerData: _noop,\r\n updateLabelCoord: _noop,\r\n drawLabel: _noop,\r\n correctLabelPosition: _noop,\r\n getMinValue: _noop,\r\n getMaxValue: _noop,\r\n _drawErrorBar: _noop,\r\n getMarkerVisibility: _noop,\r\n dispose: function() {\r\n this.deleteMarker();\r\n this.deleteLabel();\r\n this._errorBar && this._errorBar.dispose();\r\n this._options = this._styles = this.series = this._errorBar = null\r\n },\r\n getTooltipFormatObject: function(tooltip, stackPoints) {\r\n var tooltipFormatObject = this._getFormatObject(tooltip);\r\n var sharedTooltipValuesArray = [];\r\n var tooltipStackPointsFormatObject = [];\r\n if (stackPoints) {\r\n stackPoints.forEach(point => {\r\n if (!point.isVisible()) {\r\n return\r\n }\r\n var formatObject = point._getFormatObject(tooltip);\r\n tooltipStackPointsFormatObject.push(formatObject);\r\n sharedTooltipValuesArray.push(formatObject.seriesName + \": \" + formatObject.valueText)\r\n });\r\n _extend(tooltipFormatObject, {\r\n points: tooltipStackPointsFormatObject,\r\n valueText: sharedTooltipValuesArray.join(\"\\n\"),\r\n stackName: this.series.getStackName() || null\r\n })\r\n }\r\n var aggregationInfo = this.aggregationInfo;\r\n if (aggregationInfo) {\r\n var axis = this.series.getArgumentAxis();\r\n var rangeText = axis.formatRange(aggregationInfo.intervalStart, aggregationInfo.intervalEnd, aggregationInfo.aggregationInterval, tooltip.getOptions().argumentFormat);\r\n if (rangeText) {\r\n tooltipFormatObject.valueText += \"\\n\".concat(rangeText)\r\n }\r\n }\r\n return tooltipFormatObject\r\n },\r\n setHole: function(holeValue, position) {\r\n var minValue = isFinite(this.minValue) ? this.minValue : 0;\r\n if (_isDefined(holeValue)) {\r\n if (\"left\" === position) {\r\n this.leftHole = this.value - holeValue;\r\n this.minLeftHole = minValue - holeValue\r\n } else {\r\n this.rightHole = this.value - holeValue;\r\n this.minRightHole = minValue - holeValue\r\n }\r\n }\r\n },\r\n resetHoles: function() {\r\n this.leftHole = null;\r\n this.minLeftHole = null;\r\n this.rightHole = null;\r\n this.minRightHole = null\r\n },\r\n getLabel: function() {\r\n return this._label\r\n },\r\n getLabels: function() {\r\n return [this._label]\r\n },\r\n getCenterCoord() {\r\n return {\r\n x: this.x,\r\n y: this.y\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/helpers/range_data_calculator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n unique,\r\n getAddFunction,\r\n getLog\r\n} from \"../../core/utils\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nvar DISCRETE = \"discrete\";\r\nvar {\r\n abs: abs,\r\n floor: floor,\r\n ceil: ceil,\r\n min: min\r\n} = Math;\r\n\r\nfunction continuousRangeCalculator(range, minValue, maxValue) {\r\n range.min = range.min < minValue ? range.min : minValue;\r\n range.max = range.max > maxValue ? range.max : maxValue\r\n}\r\n\r\nfunction createGetLogFunction(axisType, axis) {\r\n if (\"logarithmic\" !== axisType) {\r\n return null\r\n }\r\n var base = axis.getOptions().logarithmBase;\r\n return value => {\r\n var log = getLog(abs(value), base);\r\n var round = log < 0 ? floor : ceil;\r\n return round(log)\r\n }\r\n}\r\n\r\nfunction getRangeCalculator(axisType, axis, getLog) {\r\n var rangeCalculator = continuousRangeCalculator;\r\n if (axisType === DISCRETE) {\r\n rangeCalculator = function(range, minValue, maxValue) {\r\n if (minValue !== maxValue) {\r\n range.categories.push(maxValue)\r\n }\r\n range.categories.push(minValue)\r\n }\r\n } else if (axis) {\r\n rangeCalculator = function(range, value) {\r\n var interval = axis.calculateInterval(value, range.prevValue);\r\n var minInterval = range.interval;\r\n range.interval = (minInterval < interval ? minInterval : interval) || minInterval;\r\n range.prevValue = value;\r\n continuousRangeCalculator(range, value, value)\r\n }\r\n }\r\n if (getLog) {\r\n return (range, minValue, maxValue) => {\r\n var minArgs = [];\r\n rangeCalculator(range, minValue, maxValue);\r\n 0 !== minValue && minArgs.push(getLog(minValue));\r\n 0 !== maxValue && minArgs.push(getLog(maxValue));\r\n var linearThreshold = min.apply(null, minArgs);\r\n range.linearThreshold = range.linearThreshold < linearThreshold ? range.linearThreshold : linearThreshold\r\n }\r\n }\r\n return rangeCalculator\r\n}\r\n\r\nfunction getInitialRange(axisType, dataType, firstValue) {\r\n var range = {\r\n axisType: axisType,\r\n dataType: dataType\r\n };\r\n if (axisType === DISCRETE) {\r\n range.categories = []\r\n } else {\r\n range.min = isObject(firstValue) ? firstValue.min : firstValue;\r\n range.max = isObject(firstValue) ? firstValue.max : firstValue\r\n }\r\n return range\r\n}\r\n\r\nfunction processCategories(range) {\r\n if (range.categories) {\r\n range.categories = unique(range.categories)\r\n }\r\n return range\r\n}\r\n\r\nfunction getValueForArgument(point, extraPoint, x, range) {\r\n if (extraPoint && isDefined(extraPoint.value)) {\r\n var y1 = point.value;\r\n var y2 = extraPoint.value;\r\n var x1 = point.argument;\r\n var x2 = extraPoint.argument;\r\n var r = (x - x1) * (y2 - y1) / (x2 - x1) + y1.valueOf();\r\n return \"datetime\" === range.dataType ? new Date(r) : r\r\n } else {\r\n return point.value\r\n }\r\n}\r\n\r\nfunction calculateRangeBetweenPoints(rangeCalculator, range, point, prevPoint, bound) {\r\n var value = getValueForArgument(point, prevPoint, bound, range);\r\n rangeCalculator(range, value, value)\r\n}\r\n\r\nfunction isLineSeries(series) {\r\n return series.type.toLowerCase().indexOf(\"line\") >= 0 || series.type.toLowerCase().indexOf(\"area\") >= 0\r\n}\r\n\r\nfunction getViewportReducer(series) {\r\n var rangeCalculator = getRangeCalculator(series.valueAxisType);\r\n var argumentAxis = series.getArgumentAxis();\r\n var viewport = argumentAxis && series.getArgumentAxis().visualRange() || {};\r\n var calculatePointBetweenPoints = isLineSeries(series) ? calculateRangeBetweenPoints : noop;\r\n if (argumentAxis && argumentAxis.getMarginOptions().checkInterval) {\r\n var range = series.getArgumentAxis().getTranslator().getBusinessRange();\r\n var add = getAddFunction(range, false);\r\n var interval = range.interval;\r\n if (isFinite(interval) && isDefined(viewport.startValue) && isDefined(viewport.endValue)) {\r\n viewport.startValue = add(viewport.startValue, interval, -1);\r\n viewport.endValue = add(viewport.endValue, interval)\r\n }\r\n }\r\n var viewportFilter = getViewPortFilter(viewport);\r\n return function(range, point, index, points) {\r\n var argument = point.argument;\r\n if (!point.hasValue()) {\r\n return range\r\n }\r\n if (viewportFilter(argument)) {\r\n if (!range.startCalc) {\r\n range.startCalc = true;\r\n calculatePointBetweenPoints(rangeCalculator, range, point, points[index - 1], viewport.startValue)\r\n }\r\n rangeCalculator(range, point.getMinValue(), point.getMaxValue())\r\n } else if (!viewport.categories && isDefined(viewport.startValue) && argument > viewport.startValue) {\r\n if (!range.startCalc) {\r\n calculatePointBetweenPoints(rangeCalculator, range, point, points[index - 1], viewport.startValue)\r\n }\r\n range.endCalc = true;\r\n calculatePointBetweenPoints(rangeCalculator, range, point, points[index - 1], viewport.endValue)\r\n }\r\n return range\r\n }\r\n}\r\n\r\nfunction getViewPortFilter(viewport) {\r\n if (viewport.categories) {\r\n var dictionary = viewport.categories.reduce((result, category) => {\r\n result[category.valueOf()] = true;\r\n return result\r\n }, {});\r\n return argument => isDefined(argument) && dictionary[argument.valueOf()]\r\n }\r\n if (!isDefined(viewport.startValue) && !isDefined(viewport.endValue)) {\r\n return () => true\r\n }\r\n if (!isDefined(viewport.endValue)) {\r\n return argument => argument >= viewport.startValue\r\n }\r\n if (!isDefined(viewport.startValue)) {\r\n return argument => argument <= viewport.endValue\r\n }\r\n return argument => argument >= viewport.startValue && argument <= viewport.endValue\r\n}\r\nexport default {\r\n getViewPortFilter: getViewPortFilter,\r\n getArgumentRange: function(series) {\r\n var data = series._data || [];\r\n var range = {};\r\n if (data.length) {\r\n if (series.argumentAxisType === DISCRETE) {\r\n range = {\r\n categories: data.map(item => item.argument)\r\n }\r\n } else {\r\n var interval;\r\n if (data.length > 1) {\r\n var i1 = series.getArgumentAxis().calculateInterval(data[0].argument, data[1].argument);\r\n var i2 = series.getArgumentAxis().calculateInterval(data[data.length - 1].argument, data[data.length - 2].argument);\r\n interval = min(i1, i2)\r\n }\r\n range = {\r\n min: data[0].argument,\r\n max: data[data.length - 1].argument,\r\n interval: interval\r\n }\r\n }\r\n }\r\n return processCategories(range)\r\n },\r\n getRangeData: function(series) {\r\n var points = series.getPoints();\r\n var useAggregation = series.useAggregation();\r\n var argumentAxis = series.getArgumentAxis();\r\n var argumentCalculator = getRangeCalculator(series.argumentAxisType, points.length > 1 && argumentAxis, createGetLogFunction(series.argumentAxisType, argumentAxis));\r\n var valueRangeCalculator = getRangeCalculator(series.valueAxisType, null, createGetLogFunction(series.valueAxisType, series.getValueAxis()));\r\n var viewportReducer = getViewportReducer(series);\r\n var range = points.reduce((function(range, point, index, points) {\r\n var argument = point.argument;\r\n if (!point.isArgumentCorrect()) {\r\n return range\r\n }\r\n argumentCalculator(range.arg, argument, argument);\r\n if (point.hasValue()) {\r\n valueRangeCalculator(range.val, point.getMinValue(), point.getMaxValue());\r\n viewportReducer(range.viewport, point, index, points)\r\n }\r\n return range\r\n }), {\r\n arg: getInitialRange(series.argumentAxisType, series.argumentType, null !== argumentAxis && void 0 !== argumentAxis && argumentAxis.aggregatedPointBetweenTicks() ? void 0 : series.getArgumentRangeInitialValue()),\r\n val: getInitialRange(series.valueAxisType, series.valueType, points.length ? series.getValueRangeInitialValue() : void 0),\r\n viewport: getInitialRange(series.valueAxisType, series.valueType, points.length ? series.getValueRangeInitialValue() : void 0)\r\n });\r\n if (useAggregation) {\r\n var argumentRange = this.getArgumentRange(series);\r\n if (series.argumentAxisType === DISCRETE) {\r\n range.arg = argumentRange\r\n } else {\r\n var viewport = argumentAxis.getViewport();\r\n if (isDefined(viewport.startValue) || isDefined(viewport.length)) {\r\n argumentCalculator(range.arg, argumentRange.min, argumentRange.min)\r\n }\r\n if (isDefined(viewport.endValue) || isDefined(viewport.length) && isDefined(viewport.startValue)) {\r\n argumentCalculator(range.arg, argumentRange.max, argumentRange.max)\r\n }\r\n }\r\n }\r\n processCategories(range.arg);\r\n processCategories(range.val);\r\n return range\r\n },\r\n getViewport: function(series) {\r\n var points = series.getPoints();\r\n var range;\r\n var reducer = getViewportReducer(series);\r\n range = getInitialRange(series.valueAxisType, series.valueType, points.length ? series.getValueRangeInitialValue() : void 0);\r\n points.some((function(point, index) {\r\n reducer(range, point, index, points);\r\n return range.endCalc\r\n }));\r\n return range\r\n },\r\n getPointsInViewPort: function(series) {\r\n var argumentViewPortFilter = getViewPortFilter(series.getArgumentAxis().visualRange() || {});\r\n var valueViewPort = series.getValueAxis().visualRange() || {};\r\n var valueViewPortFilter = getViewPortFilter(valueViewPort);\r\n var points = series.getPoints();\r\n var addValue = function(values, point, isEdge) {\r\n var minValue = point.getMinValue();\r\n var maxValue = point.getMaxValue();\r\n var isMinValueInViewPort = valueViewPortFilter(minValue);\r\n var isMaxValueInViewPort = valueViewPortFilter(maxValue);\r\n if (isMinValueInViewPort) {\r\n values.push(minValue)\r\n }\r\n if (maxValue !== minValue && isMaxValueInViewPort) {\r\n values.push(maxValue)\r\n }\r\n if (isEdge && !isMinValueInViewPort && !isMaxValueInViewPort) {\r\n if (!values.length) {\r\n values.push(valueViewPort.startValue)\r\n } else {\r\n values.push(valueViewPort.endValue)\r\n }\r\n }\r\n };\r\n var addEdgePoints = isLineSeries(series) ? function(result, points, index) {\r\n var point = points[index];\r\n var prevPoint = points[index - 1];\r\n var nextPoint = points[index + 1];\r\n if (nextPoint && argumentViewPortFilter(nextPoint.argument)) {\r\n addValue(result[1], point, true)\r\n }\r\n if (prevPoint && argumentViewPortFilter(prevPoint.argument)) {\r\n addValue(result[1], point, true)\r\n }\r\n } : noop;\r\n return points.reduce((function(result, point, index) {\r\n if (argumentViewPortFilter(point.argument)) {\r\n addValue(result[0], point)\r\n } else {\r\n addEdgePoints(result, points, index)\r\n }\r\n return result\r\n }), [\r\n [],\r\n []\r\n ])\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/scatter_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nimport rangeCalculator from \"./helpers/range_data_calculator\";\r\nimport {\r\n isDefined as _isDefined,\r\n isString as _isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n map as _map,\r\n normalizeEnum as _normalizeEnum,\r\n convertXYToPolar,\r\n extractColor\r\n} from \"../core/utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nvar math = Math;\r\nvar _abs = math.abs;\r\nvar _sqrt = math.sqrt;\r\nvar _max = math.max;\r\nvar DEFAULT_TRACKER_WIDTH = 12;\r\nvar DEFAULT_DURATION = 400;\r\nvar HIGH_ERROR = \"highError\";\r\nvar LOW_ERROR = \"lowError\";\r\nvar VARIANCE = \"variance\";\r\nvar STANDARD_DEVIATION = \"stddeviation\";\r\nvar STANDARD_ERROR = \"stderror\";\r\nvar PERCENT = \"percent\";\r\nvar FIXED = \"fixed\";\r\nvar UNDEFINED = \"undefined\";\r\nvar DISCRETE = \"discrete\";\r\nvar LOGARITHMIC = \"logarithmic\";\r\nvar DATETIME = \"datetime\";\r\nvar chart = {};\r\nvar polar = {};\r\n\r\nfunction sum(array) {\r\n var result = 0;\r\n _each(array, (function(_, value) {\r\n result += value\r\n }));\r\n return result\r\n}\r\n\r\nfunction isErrorBarTypeCorrect(type) {\r\n return [FIXED, PERCENT, VARIANCE, STANDARD_DEVIATION, STANDARD_ERROR].includes(type)\r\n}\r\n\r\nfunction variance(array, expectedValue) {\r\n return sum(_map(array, (function(value) {\r\n return (value - expectedValue) * (value - expectedValue)\r\n }))) / array.length\r\n}\r\n\r\nfunction calculateAvgErrorBars(result, data, series) {\r\n var errorBarsOptions = series.getOptions().valueErrorBar;\r\n var valueField = series.getValueFields()[0];\r\n var lowValueField = errorBarsOptions.lowValueField || LOW_ERROR;\r\n var highValueField = errorBarsOptions.highValueField || HIGH_ERROR;\r\n if (series.areErrorBarsVisible() && void 0 === errorBarsOptions.type) {\r\n var fusionData = data.reduce((function(result, item) {\r\n if (_isDefined(item[lowValueField])) {\r\n result[0] += item[valueField] - item[lowValueField];\r\n result[1]++\r\n }\r\n if (_isDefined(item[highValueField])) {\r\n result[2] += item[highValueField] - item[valueField];\r\n result[3]++\r\n }\r\n return result\r\n }), [0, 0, 0, 0]);\r\n if (fusionData[1]) {\r\n result[lowValueField] = result[valueField] - fusionData[0] / fusionData[1]\r\n }\r\n if (fusionData[2]) {\r\n result[highValueField] = result[valueField] + fusionData[2] / fusionData[3]\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction calculateSumErrorBars(result, data, series) {\r\n var errorBarsOptions = series.getOptions().valueErrorBar;\r\n var lowValueField = errorBarsOptions.lowValueField || LOW_ERROR;\r\n var highValueField = errorBarsOptions.highValueField || HIGH_ERROR;\r\n if (series.areErrorBarsVisible() && void 0 === errorBarsOptions.type) {\r\n result[lowValueField] = 0;\r\n result[highValueField] = 0;\r\n result = data.reduce((function(result, item) {\r\n result[lowValueField] += item[lowValueField];\r\n result[highValueField] += item[highValueField];\r\n return result\r\n }), result)\r\n }\r\n return result\r\n}\r\n\r\nfunction getMinMaxAggregator(compare) {\r\n return (_ref, series) => {\r\n var {\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd,\r\n data: data\r\n } = _ref;\r\n var valueField = series.getValueFields()[0];\r\n var targetData = data[0];\r\n targetData = data.reduce((result, item) => {\r\n var value = item[valueField];\r\n if (null === result[valueField]) {\r\n result = item\r\n }\r\n if (null !== value && compare(value, result[valueField])) {\r\n return item\r\n }\r\n return result\r\n }, targetData);\r\n return _extend({}, targetData, {\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd)\r\n })\r\n }\r\n}\r\n\r\nfunction checkFields(data, fieldsToCheck, skippedFields) {\r\n var allFieldsIsValid = true;\r\n for (var field in fieldsToCheck) {\r\n var isArgument = \"argument\" === field;\r\n if (isArgument || \"size\" === field ? !_isDefined(data[field]) : void 0 === data[field]) {\r\n var selector = fieldsToCheck[field];\r\n if (!isArgument) {\r\n skippedFields[selector] = (skippedFields[selector] || 0) + 1\r\n }\r\n allFieldsIsValid = false\r\n }\r\n }\r\n return allFieldsIsValid\r\n}\r\nvar baseScatterMethods = {\r\n _defaultDuration: DEFAULT_DURATION,\r\n _defaultTrackerWidth: DEFAULT_TRACKER_WIDTH,\r\n _applyStyle: _noop,\r\n _updateOptions: _noop,\r\n _parseStyle: _noop,\r\n _prepareSegment: _noop,\r\n _drawSegment: _noop,\r\n _appendInGroup: function() {\r\n this._group.append(this._extGroups.seriesGroup)\r\n },\r\n _createLegendState: function(styleOptions, defaultColor) {\r\n return {\r\n fill: extractColor(styleOptions.color, true) || defaultColor,\r\n hatching: styleOptions.hatching ? _extend({}, styleOptions.hatching, {\r\n direction: \"right\"\r\n }) : void 0\r\n }\r\n },\r\n _getColorId: _noop,\r\n _applyElementsClipRect: function(settings) {\r\n settings[\"clip-path\"] = this._paneClipRectID\r\n },\r\n _applyMarkerClipRect: function(settings) {\r\n settings[\"clip-path\"] = this._forceClipping ? this._paneClipRectID : null\r\n },\r\n _createGroup: function(groupName, parent, target, settings) {\r\n var group = parent[groupName] = parent[groupName] || this._renderer.g();\r\n target && group.append(target);\r\n settings && group.attr(settings)\r\n },\r\n _applyClearingSettings: function(settings) {\r\n settings.opacity = null;\r\n settings.scale = null;\r\n if (this._options.rotated) {\r\n settings.translateX = null\r\n } else {\r\n settings.translateY = null\r\n }\r\n },\r\n _createGroups: function() {\r\n this._createGroup(\"_markersGroup\", this, this._group);\r\n this._createGroup(\"_labelsGroup\", this)\r\n },\r\n _setMarkerGroupSettings: function() {\r\n var settings = this._createPointStyles(this._getMarkerGroupOptions()).normal;\r\n settings.class = \"dxc-markers\";\r\n settings.opacity = 1;\r\n this._applyMarkerClipRect(settings);\r\n this._markersGroup.attr(settings)\r\n },\r\n getVisibleArea: function() {\r\n return this._visibleArea\r\n },\r\n areErrorBarsVisible: function() {\r\n var errorBarOptions = this._options.valueErrorBar;\r\n return errorBarOptions && this._errorBarsEnabled() && \"none\" !== errorBarOptions.displayMode && (isErrorBarTypeCorrect(_normalizeEnum(errorBarOptions.type)) || _isDefined(errorBarOptions.lowValueField) || _isDefined(errorBarOptions.highValueField))\r\n },\r\n groupPointsByCoords(rotated) {\r\n var cat = [];\r\n _each(this.getVisiblePoints(), (function(_, p) {\r\n var pointCoord = parseInt(rotated ? p.vy : p.vx);\r\n if (!cat[pointCoord]) {\r\n cat[pointCoord] = p\r\n } else {\r\n Array.isArray(cat[pointCoord]) ? cat[pointCoord].push(p) : cat[pointCoord] = [cat[pointCoord], p]\r\n }\r\n }));\r\n return cat\r\n },\r\n _createErrorBarGroup: function(animationEnabled) {\r\n var errorBarOptions = this._options.valueErrorBar;\r\n var settings;\r\n if (this.areErrorBarsVisible()) {\r\n settings = {\r\n class: \"dxc-error-bars\",\r\n stroke: errorBarOptions.color,\r\n \"stroke-width\": errorBarOptions.lineWidth,\r\n opacity: animationEnabled ? .001 : errorBarOptions.opacity || 1,\r\n \"stroke-linecap\": \"square\",\r\n sharp: true,\r\n \"clip-path\": this._forceClipping ? this._paneClipRectID : this._widePaneClipRectID\r\n };\r\n this._createGroup(\"_errorBarGroup\", this, this._group, settings)\r\n }\r\n },\r\n _setGroupsSettings: function(animationEnabled) {\r\n this._setMarkerGroupSettings();\r\n this._setLabelGroupSettings(animationEnabled);\r\n this._createErrorBarGroup(animationEnabled)\r\n },\r\n _getCreatingPointOptions: function() {\r\n var defaultPointOptions;\r\n var creatingPointOptions = this._predefinedPointOptions;\r\n var normalStyle;\r\n if (!creatingPointOptions) {\r\n defaultPointOptions = this._getPointOptions();\r\n this._predefinedPointOptions = creatingPointOptions = _extend(true, {\r\n styles: {}\r\n }, defaultPointOptions);\r\n normalStyle = defaultPointOptions.styles && defaultPointOptions.styles.normal || {};\r\n creatingPointOptions.styles = creatingPointOptions.styles || {};\r\n creatingPointOptions.styles.normal = {\r\n \"stroke-width\": normalStyle[\"stroke-width\"],\r\n r: normalStyle.r,\r\n opacity: normalStyle.opacity\r\n }\r\n }\r\n return creatingPointOptions\r\n },\r\n _getPointOptions: function() {\r\n return this._parsePointOptions(this._preparePointOptions(), this._options.label)\r\n },\r\n _getOptionsForPoint: function() {\r\n return this._options.point\r\n },\r\n _parsePointStyle: function(style, defaultColor, defaultBorderColor, defaultSize) {\r\n var border = style.border || {};\r\n var sizeValue = void 0 !== style.size ? style.size : defaultSize;\r\n return {\r\n fill: extractColor(style.color, true) || defaultColor,\r\n stroke: border.color || defaultBorderColor,\r\n \"stroke-width\": border.visible ? border.width : 0,\r\n r: sizeValue / 2 + (border.visible && 0 !== sizeValue ? ~~(border.width / 2) || 0 : 0)\r\n }\r\n },\r\n _createPointStyles: function(pointOptions) {\r\n var mainPointColor = extractColor(pointOptions.color, true) || this._options.mainSeriesColor;\r\n var containerColor = this._options.containerBackgroundColor;\r\n var normalStyle = this._parsePointStyle(pointOptions, mainPointColor, mainPointColor);\r\n normalStyle.visibility = pointOptions.visible ? \"visible\" : \"hidden\";\r\n return {\r\n labelColor: mainPointColor,\r\n normal: normalStyle,\r\n hover: this._parsePointStyle(pointOptions.hoverStyle, containerColor, mainPointColor, pointOptions.size),\r\n selection: this._parsePointStyle(pointOptions.selectionStyle, containerColor, mainPointColor, pointOptions.size)\r\n }\r\n },\r\n _checkData: function(data, skippedFields, fieldsToCheck) {\r\n fieldsToCheck = fieldsToCheck || {\r\n value: this.getValueFields()[0]\r\n };\r\n fieldsToCheck.argument = this.getArgumentField();\r\n return checkFields(data, fieldsToCheck, skippedFields || {}) && data.value === data.value\r\n },\r\n getArgumentRangeInitialValue() {\r\n var points = this.getPoints();\r\n if (this.useAggregation() && points.length) {\r\n var _points$0$aggregation, _points$aggregationIn;\r\n return {\r\n min: null === (_points$0$aggregation = points[0].aggregationInfo) || void 0 === _points$0$aggregation ? void 0 : _points$0$aggregation.intervalStart,\r\n max: null === (_points$aggregationIn = points[points.length - 1].aggregationInfo) || void 0 === _points$aggregationIn ? void 0 : _points$aggregationIn.intervalEnd\r\n }\r\n }\r\n return\r\n },\r\n getValueRangeInitialValue: function() {\r\n return\r\n },\r\n _getRangeData: function() {\r\n return rangeCalculator.getRangeData(this)\r\n },\r\n _getPointDataSelector: function() {\r\n var valueField = this.getValueFields()[0];\r\n var argumentField = this.getArgumentField();\r\n var tagField = this.getTagField();\r\n var areErrorBarsVisible = this.areErrorBarsVisible();\r\n var lowValueField;\r\n var highValueField;\r\n if (areErrorBarsVisible) {\r\n var errorBarOptions = this._options.valueErrorBar;\r\n lowValueField = errorBarOptions.lowValueField || LOW_ERROR;\r\n highValueField = errorBarOptions.highValueField || HIGH_ERROR\r\n }\r\n return data => {\r\n var pointData = {\r\n value: this._processEmptyValue(data[valueField]),\r\n argument: data[argumentField],\r\n tag: data[tagField],\r\n data: data\r\n };\r\n if (areErrorBarsVisible) {\r\n pointData.lowError = data[lowValueField];\r\n pointData.highError = data[highValueField]\r\n }\r\n return pointData\r\n }\r\n },\r\n _errorBarsEnabled: function() {\r\n return this.valueAxisType !== DISCRETE && this.valueAxisType !== LOGARITHMIC && this.valueType !== DATETIME\r\n },\r\n _drawPoint: function(options) {\r\n var point = options.point;\r\n if (point.isInVisibleArea()) {\r\n point.clearVisibility();\r\n point.draw(this._renderer, options.groups, options.hasAnimation, options.firstDrawing);\r\n this._drawnPoints.push(point)\r\n } else {\r\n point.setInvisibility()\r\n }\r\n },\r\n _animateComplete: function() {\r\n var animationSettings = {\r\n duration: this._defaultDuration\r\n };\r\n this._labelsGroup && this._labelsGroup.animate({\r\n opacity: 1\r\n }, animationSettings);\r\n this._errorBarGroup && this._errorBarGroup.animate({\r\n opacity: this._options.valueErrorBar.opacity || 1\r\n }, animationSettings)\r\n },\r\n _animate: function() {\r\n var that = this;\r\n var lastPointIndex = that._drawnPoints.length - 1;\r\n _each(that._drawnPoints || [], (function(i, p) {\r\n p.animate(i === lastPointIndex ? function() {\r\n that._animateComplete()\r\n } : void 0, {\r\n translateX: p.x,\r\n translateY: p.y\r\n })\r\n }))\r\n },\r\n _getIntervalCenter(intervalStart, intervalEnd) {\r\n var argAxis = this.getArgumentAxis();\r\n var axisOptions = argAxis.getOptions();\r\n if (argAxis.aggregatedPointBetweenTicks()) {\r\n return intervalStart\r\n }\r\n return \"discrete\" !== axisOptions.type ? argAxis.getVisualRangeCenter({\r\n minVisible: intervalStart,\r\n maxVisible: intervalEnd\r\n }, true) : intervalStart\r\n },\r\n _defaultAggregator: \"avg\",\r\n _aggregators: {\r\n avg(_ref2, series) {\r\n var {\r\n data: data,\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd\r\n } = _ref2;\r\n if (!data.length) {\r\n return\r\n }\r\n var valueField = series.getValueFields()[0];\r\n var aggregationResult = data.reduce((result, item) => {\r\n var value = item[valueField];\r\n if (_isDefined(value)) {\r\n result[0] += value;\r\n result[1]++\r\n } else if (null === value) {\r\n result[2]++\r\n }\r\n return result\r\n }, [0, 0, 0]);\r\n return calculateAvgErrorBars({\r\n [valueField]: aggregationResult[2] === data.length ? null : aggregationResult[0] / aggregationResult[1],\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd)\r\n }, data, series)\r\n },\r\n sum(_ref3, series) {\r\n var {\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd,\r\n data: data\r\n } = _ref3;\r\n if (!data.length) {\r\n return\r\n }\r\n var valueField = series.getValueFields()[0];\r\n var aggregationResult = data.reduce((result, item) => {\r\n var value = item[valueField];\r\n if (void 0 !== value) {\r\n result[0] += value\r\n }\r\n if (null === value) {\r\n result[1]++\r\n } else if (void 0 === value) {\r\n result[2]++\r\n }\r\n return result\r\n }, [0, 0, 0]);\r\n var value = aggregationResult[0];\r\n if (aggregationResult[1] === data.length) {\r\n value = null\r\n }\r\n if (aggregationResult[2] === data.length) {\r\n return\r\n }\r\n return calculateSumErrorBars({\r\n [valueField]: value,\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd)\r\n }, data, series)\r\n },\r\n count(_ref4, series) {\r\n var {\r\n data: data,\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd\r\n } = _ref4;\r\n var valueField = series.getValueFields()[0];\r\n return {\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd),\r\n [valueField]: data.filter(i => void 0 !== i[valueField]).length\r\n }\r\n },\r\n min: getMinMaxAggregator((a, b) => a < b),\r\n max: getMinMaxAggregator((a, b) => a > b)\r\n },\r\n _endUpdateData: function() {\r\n delete this._predefinedPointOptions\r\n },\r\n getArgumentField: function() {\r\n return this._options.argumentField || \"arg\"\r\n },\r\n getValueFields: function() {\r\n var options = this._options;\r\n var errorBarsOptions = options.valueErrorBar;\r\n var valueFields = [options.valueField || \"val\"];\r\n var lowValueField;\r\n var highValueField;\r\n if (errorBarsOptions) {\r\n lowValueField = errorBarsOptions.lowValueField;\r\n highValueField = errorBarsOptions.highValueField;\r\n _isString(lowValueField) && valueFields.push(lowValueField);\r\n _isString(highValueField) && valueFields.push(highValueField)\r\n }\r\n return valueFields\r\n },\r\n _calculateErrorBars: function(data) {\r\n if (!this.areErrorBarsVisible()) {\r\n return\r\n }\r\n var options = this._options;\r\n var errorBarsOptions = options.valueErrorBar;\r\n var errorBarType = _normalizeEnum(errorBarsOptions.type);\r\n var floatErrorValue = parseFloat(errorBarsOptions.value);\r\n var valueField = this.getValueFields()[0];\r\n var value;\r\n var lowValueField = errorBarsOptions.lowValueField || LOW_ERROR;\r\n var highValueField = errorBarsOptions.highValueField || HIGH_ERROR;\r\n var valueArray;\r\n var valueArrayLength;\r\n var meanValue;\r\n var processDataItem;\r\n var addSubError = function(_i, item) {\r\n value = item.value;\r\n item.lowError = value - floatErrorValue;\r\n item.highError = value + floatErrorValue\r\n };\r\n switch (errorBarType) {\r\n case FIXED:\r\n processDataItem = addSubError;\r\n break;\r\n case PERCENT:\r\n processDataItem = function(_, item) {\r\n value = item.value;\r\n var error = value * floatErrorValue / 100;\r\n item.lowError = value - error;\r\n item.highError = value + error\r\n };\r\n break;\r\n case UNDEFINED:\r\n processDataItem = function(_, item) {\r\n item.lowError = item.data[lowValueField];\r\n item.highError = item.data[highValueField]\r\n };\r\n break;\r\n default:\r\n valueArray = _map(data, (function(item) {\r\n return _isDefined(item.data[valueField]) ? item.data[valueField] : null\r\n }));\r\n valueArrayLength = valueArray.length;\r\n floatErrorValue = floatErrorValue || 1;\r\n switch (errorBarType) {\r\n case VARIANCE:\r\n floatErrorValue = variance(valueArray, sum(valueArray) / valueArrayLength) * floatErrorValue;\r\n processDataItem = addSubError;\r\n break;\r\n case STANDARD_DEVIATION:\r\n meanValue = sum(valueArray) / valueArrayLength;\r\n floatErrorValue = _sqrt(variance(valueArray, meanValue)) * floatErrorValue;\r\n processDataItem = function(_, item) {\r\n item.lowError = meanValue - floatErrorValue;\r\n item.highError = meanValue + floatErrorValue\r\n };\r\n break;\r\n case STANDARD_ERROR:\r\n floatErrorValue = _sqrt(variance(valueArray, sum(valueArray) / valueArrayLength) / valueArrayLength) * floatErrorValue;\r\n processDataItem = addSubError\r\n }\r\n }\r\n processDataItem && _each(data, processDataItem)\r\n },\r\n _patchMarginOptions: function(options) {\r\n var pointOptions = this._getCreatingPointOptions();\r\n var styles = pointOptions.styles;\r\n var maxSize = [styles.normal, styles.hover, styles.selection].reduce((function(max, style) {\r\n return _max(max, 2 * style.r + style[\"stroke-width\"])\r\n }), 0);\r\n options.size = pointOptions.visible ? maxSize : 0;\r\n options.sizePointNormalState = pointOptions.visible ? 2 * styles.normal.r + styles.normal[\"stroke-width\"] : 2;\r\n return options\r\n },\r\n usePointsToDefineAutoHiding: () => true\r\n};\r\nchart = _extend({}, baseScatterMethods, {\r\n drawTrackers: function() {\r\n var that = this;\r\n var trackers;\r\n var trackersGroup;\r\n var segments = that._segments || [];\r\n var rotated = that._options.rotated;\r\n if (!that.isVisible()) {\r\n return\r\n }\r\n if (segments.length) {\r\n trackers = that._trackers = that._trackers || [];\r\n trackersGroup = that._trackersGroup = (that._trackersGroup || that._renderer.g().attr({\r\n fill: \"gray\",\r\n opacity: .001,\r\n stroke: \"gray\",\r\n class: \"dxc-trackers\"\r\n })).attr({\r\n \"clip-path\": this._paneClipRectID || null\r\n }).append(that._group);\r\n _each(segments, (function(i, segment) {\r\n if (!trackers[i]) {\r\n trackers[i] = that._drawTrackerElement(segment).data({\r\n \"chart-data-series\": that\r\n }).append(trackersGroup)\r\n } else {\r\n that._updateTrackerElement(segment, trackers[i])\r\n }\r\n }))\r\n }\r\n that._trackersTranslator = that.groupPointsByCoords(rotated)\r\n },\r\n _checkAxisVisibleAreaCoord(isArgument, coord) {\r\n var axis = isArgument ? this.getArgumentAxis() : this.getValueAxis();\r\n var visibleArea = axis.getVisibleArea();\r\n return _isDefined(coord) && visibleArea[0] <= coord && visibleArea[1] >= coord\r\n },\r\n checkSeriesViewportCoord(axis, coord) {\r\n return this.getPoints().length && this.isVisible()\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var isOpposite = !isArgument && !this._options.rotated || isArgument && this._options.rotated;\r\n var coordName = !isOpposite ? \"vx\" : \"vy\";\r\n var oppositeCoordName = !isOpposite ? \"vy\" : \"vx\";\r\n var points = this.getVisiblePoints();\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpCoord = p[coordName] === coord ? p[oppositeCoordName] : void 0;\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n },\r\n _getNearestPoints: (point, nextPoint) => [point, nextPoint],\r\n _getBezierPoints: () => [],\r\n _getNearestPointsByCoord(coord, isArgument) {\r\n var that = this;\r\n var rotated = that.getOptions().rotated;\r\n var isOpposite = !isArgument && !rotated || isArgument && rotated;\r\n var coordName = isOpposite ? \"vy\" : \"vx\";\r\n var allPoints = that.getPoints();\r\n var bezierPoints = that._getBezierPoints();\r\n var nearestPoints = [];\r\n if (allPoints.length > 1) {\r\n allPoints.forEach((point, i) => {\r\n var nextPoint = allPoints[i + 1];\r\n if (nextPoint && (point[coordName] <= coord && nextPoint[coordName] >= coord || point[coordName] >= coord && nextPoint[coordName] <= coord)) {\r\n nearestPoints.push(that._getNearestPoints(point, nextPoint, bezierPoints))\r\n }\r\n })\r\n } else {\r\n nearestPoints.push([allPoints[0], allPoints[0]])\r\n }\r\n return nearestPoints\r\n },\r\n getNeighborPoint: function(x, y) {\r\n var pCoord = this._options.rotated ? y : x;\r\n var nCoord = pCoord;\r\n var cat = this._trackersTranslator;\r\n var point = null;\r\n var minDistance;\r\n var oppositeCoord = this._options.rotated ? x : y;\r\n var oppositeCoordName = this._options.rotated ? \"vx\" : \"vy\";\r\n if (this.isVisible() && cat) {\r\n point = cat[pCoord];\r\n do {\r\n point = cat[nCoord] || cat[pCoord];\r\n pCoord--;\r\n nCoord++\r\n } while ((pCoord >= 0 || nCoord < cat.length) && !point);\r\n if (Array.isArray(point)) {\r\n minDistance = _abs(point[0][oppositeCoordName] - oppositeCoord);\r\n _each(point, (function(i, p) {\r\n var distance = _abs(p[oppositeCoordName] - oppositeCoord);\r\n if (minDistance >= distance) {\r\n minDistance = distance;\r\n point = p\r\n }\r\n }))\r\n }\r\n }\r\n return point\r\n },\r\n _applyVisibleArea: function() {\r\n var rotated = this._options.rotated;\r\n var visibleX = (rotated ? this.getValueAxis() : this.getArgumentAxis()).getVisibleArea();\r\n var visibleY = (rotated ? this.getArgumentAxis() : this.getValueAxis()).getVisibleArea();\r\n this._visibleArea = {\r\n minX: visibleX[0],\r\n maxX: visibleX[1],\r\n minY: visibleY[0],\r\n maxY: visibleY[1]\r\n }\r\n },\r\n getPointCenterByArg(arg) {\r\n var point = this.getPointsByArg(arg)[0];\r\n return point ? point.getCenterCoord() : void 0\r\n }\r\n});\r\npolar = _extend({}, baseScatterMethods, {\r\n drawTrackers: function() {\r\n chart.drawTrackers.call(this);\r\n var cat = this._trackersTranslator;\r\n var index;\r\n if (!this.isVisible()) {\r\n return\r\n }\r\n _each(cat, (function(i, category) {\r\n if (category) {\r\n index = i;\r\n return false\r\n }\r\n }));\r\n cat[index + 360] = cat[index]\r\n },\r\n getNeighborPoint: function(x, y) {\r\n var pos = convertXYToPolar(this.getValueAxis().getCenter(), x, y);\r\n return chart.getNeighborPoint.call(this, pos.phi, pos.r)\r\n },\r\n _applyVisibleArea: function() {\r\n var canvas = this.getValueAxis().getCanvas();\r\n this._visibleArea = {\r\n minX: canvas.left,\r\n maxX: canvas.width - canvas.right,\r\n minY: canvas.top,\r\n maxY: canvas.height - canvas.bottom\r\n }\r\n },\r\n getSeriesPairCoord(params, isArgument) {\r\n var coords = null;\r\n var paramName = isArgument ? \"argument\" : \"radius\";\r\n var points = this.getVisiblePoints();\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpPoint = _isDefined(p[paramName]) && _isDefined(params[paramName]) && p[paramName].valueOf() === params[paramName].valueOf() ? {\r\n x: p.x,\r\n y: p.y\r\n } : void 0;\r\n if (_isDefined(tmpPoint)) {\r\n coords = tmpPoint;\r\n break\r\n }\r\n }\r\n return coords\r\n }\r\n});\r\nexport {\r\n chart,\r\n polar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/line_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n chart as chartScatterSeries,\r\n polar as polarScatterSeries\r\n} from \"./scatter_series\";\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n map,\r\n normalizeAngle,\r\n getCosAndSin,\r\n extractColor\r\n} from \"../core/utils\";\r\nimport {\r\n solveCubicEquation,\r\n trunc\r\n} from \"../../core/utils/math\";\r\nvar DISCRETE = \"discrete\";\r\nvar {\r\n round: round,\r\n sqrt: sqrt,\r\n pow: pow,\r\n min: min,\r\n max: max,\r\n abs: abs\r\n} = Math;\r\nvar chart = {};\r\nvar polar = {};\r\n\r\nfunction clonePoint(point, newX, newY, newAngle) {\r\n var p = clone(point);\r\n p.x = newX;\r\n p.y = newY;\r\n p.angle = newAngle;\r\n return p\r\n}\r\n\r\nfunction getTangentPoint(point, prevPoint, centerPoint, tan, nextStepAngle) {\r\n var correctAngle = point.angle + nextStepAngle;\r\n var cosSin = getCosAndSin(correctAngle);\r\n var x = centerPoint.x + (point.radius + tan * nextStepAngle) * cosSin.cos;\r\n var y = centerPoint.y - (point.radius + tan * nextStepAngle) * cosSin.sin;\r\n return clonePoint(prevPoint, x, y, correctAngle)\r\n}\r\n\r\nfunction obtainCubicBezierTCoef(p, p0, p1, p2, p3) {\r\n var d = p0 - p;\r\n var c = 3 * p1 - 3 * p0;\r\n var b = 3 * p2 - 6 * p1 + 3 * p0;\r\n var a = p3 - 3 * p2 + 3 * p1 - p0;\r\n return solveCubicEquation(a, b, c, d)\r\n}\r\nvar lineMethods = {\r\n autoHidePointMarkersEnabled: () => true,\r\n _applyGroupSettings: function(style, settings, group) {\r\n settings = extend(settings, style);\r\n this._applyElementsClipRect(settings);\r\n group.attr(settings)\r\n },\r\n _setGroupsSettings: function(animationEnabled) {\r\n var style = this._styles.normal;\r\n this._applyGroupSettings(style.elements, {\r\n class: \"dxc-elements\"\r\n }, this._elementsGroup);\r\n this._bordersGroup && this._applyGroupSettings(style.border, {\r\n class: \"dxc-borders\"\r\n }, this._bordersGroup);\r\n chartScatterSeries._setGroupsSettings.call(this, animationEnabled);\r\n animationEnabled && this._markersGroup && this._markersGroup.attr({\r\n opacity: .001\r\n })\r\n },\r\n _createGroups: function() {\r\n this._createGroup(\"_elementsGroup\", this, this._group);\r\n this._areBordersVisible() && this._createGroup(\"_bordersGroup\", this, this._group);\r\n chartScatterSeries._createGroups.call(this)\r\n },\r\n _areBordersVisible: function() {\r\n return false\r\n },\r\n _getDefaultSegment: function(segment) {\r\n return {\r\n line: map(segment.line || [], (function(pt) {\r\n return pt.getDefaultCoords()\r\n }))\r\n }\r\n },\r\n _prepareSegment: function(points) {\r\n return {\r\n line: points\r\n }\r\n },\r\n _parseLineOptions: function(options, defaultColor) {\r\n return {\r\n stroke: extractColor(options.color, true) || defaultColor,\r\n \"stroke-width\": options.width,\r\n dashStyle: options.dashStyle || \"solid\"\r\n }\r\n },\r\n _parseStyle: function(options, defaultColor) {\r\n return {\r\n elements: this._parseLineOptions(options, defaultColor)\r\n }\r\n },\r\n _applyStyle: function(style) {\r\n this._elementsGroup && this._elementsGroup.attr(style.elements);\r\n each(this._graphics || [], (function(_, graphic) {\r\n graphic.line && graphic.line.attr({\r\n \"stroke-width\": style.elements[\"stroke-width\"]\r\n }).sharp()\r\n }))\r\n },\r\n _drawElement: function(segment, group) {\r\n return {\r\n line: this._createMainElement(segment.line, {\r\n \"stroke-width\": this._styles.normal.elements[\"stroke-width\"]\r\n }).append(group)\r\n }\r\n },\r\n _removeElement: function(element) {\r\n element.line.remove()\r\n },\r\n _updateElement: function(element, segment, animate, animationComplete) {\r\n var params = {\r\n points: segment.line\r\n };\r\n var lineElement = element.line;\r\n animate ? lineElement.animate(params, {}, animationComplete) : lineElement.attr(params)\r\n },\r\n _animateComplete: function() {\r\n chartScatterSeries._animateComplete.call(this);\r\n this._markersGroup && this._markersGroup.animate({\r\n opacity: 1\r\n }, {\r\n duration: this._defaultDuration\r\n })\r\n },\r\n _animate: function() {\r\n var that = this;\r\n var lastIndex = that._graphics.length - 1;\r\n each(that._graphics || [], (function(i, elem) {\r\n var complete;\r\n if (i === lastIndex) {\r\n complete = function() {\r\n that._animateComplete()\r\n }\r\n }\r\n that._updateElement(elem, that._segments[i], true, complete)\r\n }))\r\n },\r\n _drawPoint: function(options) {\r\n chartScatterSeries._drawPoint.call(this, {\r\n point: options.point,\r\n groups: options.groups\r\n })\r\n },\r\n _createMainElement: function(points, settings) {\r\n return this._renderer.path(points, \"line\").attr(settings)\r\n },\r\n _sortPoints: function(points, rotated) {\r\n return rotated ? points.sort((function(p1, p2) {\r\n return p2.y - p1.y\r\n })) : points.sort((function(p1, p2) {\r\n return p1.x - p2.x\r\n }))\r\n },\r\n _drawSegment: function(points, animationEnabled, segmentCount, lastSegment) {\r\n var rotated = this._options.rotated;\r\n var segment = this._prepareSegment(points, rotated, lastSegment);\r\n this._segments.push(segment);\r\n if (!this._graphics[segmentCount]) {\r\n this._graphics[segmentCount] = this._drawElement(animationEnabled ? this._getDefaultSegment(segment) : segment, this._elementsGroup)\r\n } else if (!animationEnabled) {\r\n this._updateElement(this._graphics[segmentCount], segment)\r\n }\r\n },\r\n _getTrackerSettings: function() {\r\n var defaultTrackerWidth = this._defaultTrackerWidth;\r\n var strokeWidthFromElements = this._styles.normal.elements[\"stroke-width\"];\r\n return {\r\n \"stroke-width\": strokeWidthFromElements > defaultTrackerWidth ? strokeWidthFromElements : defaultTrackerWidth,\r\n fill: \"none\"\r\n }\r\n },\r\n _getMainPointsFromSegment: function(segment) {\r\n return segment.line\r\n },\r\n _drawTrackerElement: function(segment) {\r\n return this._createMainElement(this._getMainPointsFromSegment(segment), this._getTrackerSettings(segment))\r\n },\r\n _updateTrackerElement: function(segment, element) {\r\n var settings = this._getTrackerSettings(segment);\r\n settings.points = this._getMainPointsFromSegment(segment);\r\n element.attr(settings)\r\n },\r\n checkSeriesViewportCoord(axis, coord) {\r\n if (!chartScatterSeries.checkSeriesViewportCoord.call(this)) {\r\n return false\r\n }\r\n var range = axis.isArgumentAxis ? this.getArgumentRange() : this.getViewport();\r\n var min = axis.getTranslator().translate(range.categories ? range.categories[0] : range.min);\r\n var max = axis.getTranslator().translate(range.categories ? range.categories[range.categories.length - 1] : range.max);\r\n var rotated = this.getOptions().rotated;\r\n var inverted = axis.getOptions().inverted;\r\n return axis.isArgumentAxis && (!rotated && !inverted || rotated && inverted) || !axis.isArgumentAxis && (rotated && !inverted || !rotated && inverted) ? coord >= min && coord <= max : coord >= max && coord <= min\r\n }\r\n};\r\nvar lineSeries = chart.line = extend({}, chartScatterSeries, lineMethods, {\r\n getPointCenterByArg(arg) {\r\n var value = this.getArgumentAxis().getTranslator().translate(arg);\r\n return {\r\n x: value,\r\n y: value\r\n }\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var nearestPoints = this._getNearestPointsByCoord(coord, isArgument);\r\n var needValueCoord = isArgument && !this._options.rotated || !isArgument && this._options.rotated;\r\n for (var i = 0; i < nearestPoints.length; i++) {\r\n var p = nearestPoints[i];\r\n var k = (p[1].vy - p[0].vy) / (p[1].vx - p[0].vx);\r\n var b = p[0].vy - p[0].vx * k;\r\n var tmpCoord = void 0;\r\n if (p[1].vx - p[0].vx === 0) {\r\n tmpCoord = needValueCoord ? p[0].vy : p[0].vx\r\n } else {\r\n tmpCoord = needValueCoord ? k * coord + b : (coord - b) / k\r\n }\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n }\r\n});\r\nchart.stepline = extend({}, lineSeries, {\r\n _calculateStepLinePoints(points) {\r\n var segment = [];\r\n var coordName = this._options.rotated ? \"x\" : \"y\";\r\n each(points, (function(i, pt) {\r\n var point;\r\n if (!i) {\r\n segment.push(pt);\r\n return\r\n }\r\n var step = segment[segment.length - 1][coordName];\r\n if (step !== pt[coordName]) {\r\n point = clone(pt);\r\n point[coordName] = step;\r\n segment.push(point)\r\n }\r\n segment.push(pt)\r\n }));\r\n return segment\r\n },\r\n _prepareSegment: function(points) {\r\n return lineSeries._prepareSegment(this._calculateStepLinePoints(points))\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord;\r\n var rotated = this._options.rotated;\r\n var isOpposite = !isArgument && !rotated || isArgument && rotated;\r\n var coordName = !isOpposite ? \"vx\" : \"vy\";\r\n var oppositeCoordName = !isOpposite ? \"vy\" : \"vx\";\r\n var nearestPoints = this._getNearestPointsByCoord(coord, isArgument);\r\n for (var i = 0; i < nearestPoints.length; i++) {\r\n var p = nearestPoints[i];\r\n var tmpCoord = void 0;\r\n if (isArgument) {\r\n tmpCoord = coord !== p[1][coordName] ? p[0][oppositeCoordName] : p[1][oppositeCoordName]\r\n } else {\r\n tmpCoord = coord === p[0][coordName] ? p[0][oppositeCoordName] : p[1][oppositeCoordName]\r\n }\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n }\r\n});\r\nchart.spline = extend({}, lineSeries, {\r\n _calculateBezierPoints: function(src, rotated) {\r\n var bezierPoints = [];\r\n var pointsCopy = src;\r\n var checkExtremum = function(otherPointCoord, pointCoord, controlCoord) {\r\n return otherPointCoord > pointCoord && controlCoord > otherPointCoord || otherPointCoord < pointCoord && controlCoord < otherPointCoord ? otherPointCoord : controlCoord\r\n };\r\n if (1 !== pointsCopy.length) {\r\n pointsCopy.forEach((function(curPoint, i) {\r\n var leftControlX;\r\n var leftControlY;\r\n var rightControlX;\r\n var rightControlY;\r\n var prevPoint = pointsCopy[i - 1];\r\n var nextPoint = pointsCopy[i + 1];\r\n var x1;\r\n var x2;\r\n var y1;\r\n var y2;\r\n var a;\r\n var b;\r\n var c;\r\n var xc;\r\n var yc;\r\n var shift;\r\n if (!i || i === pointsCopy.length - 1) {\r\n bezierPoints.push(curPoint, curPoint);\r\n return\r\n }\r\n var xCur = curPoint.x;\r\n var yCur = curPoint.y;\r\n x1 = prevPoint.x;\r\n x2 = nextPoint.x;\r\n y1 = prevPoint.y;\r\n y2 = nextPoint.y;\r\n var curIsExtremum = !!(!rotated && (yCur <= prevPoint.y && yCur <= nextPoint.y || yCur >= prevPoint.y && yCur >= nextPoint.y) || rotated && (xCur <= prevPoint.x && xCur <= nextPoint.x || xCur >= prevPoint.x && xCur >= nextPoint.x));\r\n if (curIsExtremum) {\r\n if (!rotated) {\r\n rightControlY = leftControlY = yCur;\r\n rightControlX = (xCur + nextPoint.x) / 2;\r\n leftControlX = (xCur + prevPoint.x) / 2\r\n } else {\r\n rightControlX = leftControlX = xCur;\r\n rightControlY = (yCur + nextPoint.y) / 2;\r\n leftControlY = (yCur + prevPoint.y) / 2\r\n }\r\n } else {\r\n a = y2 - y1;\r\n b = x1 - x2;\r\n c = y1 * x2 - x1 * y2;\r\n if (!rotated) {\r\n if (!b) {\r\n bezierPoints.push(curPoint, curPoint, curPoint);\r\n return\r\n }\r\n xc = xCur;\r\n yc = -1 * (a * xc + c) / b;\r\n shift = yc - yCur;\r\n y1 -= shift;\r\n y2 -= shift\r\n } else {\r\n if (!a) {\r\n bezierPoints.push(curPoint, curPoint, curPoint);\r\n return\r\n }\r\n yc = yCur;\r\n xc = -1 * (b * yc + c) / a;\r\n shift = xc - xCur;\r\n x1 -= shift;\r\n x2 -= shift\r\n }\r\n rightControlX = (xCur + .5 * x2) / 1.5;\r\n rightControlY = (yCur + .5 * y2) / 1.5;\r\n leftControlX = (xCur + .5 * x1) / 1.5;\r\n leftControlY = (yCur + .5 * y1) / 1.5\r\n }\r\n if (!rotated) {\r\n leftControlY = checkExtremum(prevPoint.y, yCur, leftControlY);\r\n rightControlY = checkExtremum(nextPoint.y, yCur, rightControlY)\r\n } else {\r\n leftControlX = checkExtremum(prevPoint.x, xCur, leftControlX);\r\n rightControlX = checkExtremum(nextPoint.x, xCur, rightControlX)\r\n }\r\n var leftPoint = clonePoint(curPoint, leftControlX, leftControlY);\r\n var rightPoint = clonePoint(curPoint, rightControlX, rightControlY);\r\n bezierPoints.push(leftPoint, curPoint, rightPoint)\r\n }))\r\n } else {\r\n bezierPoints.push(pointsCopy[0])\r\n }\r\n return bezierPoints\r\n },\r\n _prepareSegment: function(points, rotated) {\r\n return lineSeries._prepareSegment(this._calculateBezierPoints(points, rotated))\r\n },\r\n _createMainElement: function(points, settings) {\r\n return this._renderer.path(points, \"bezier\").attr(settings)\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var isOpposite = !isArgument && !this._options.rotated || isArgument && this._options.rotated;\r\n var coordName = !isOpposite ? \"vx\" : \"vy\";\r\n var bezierCoordName = !isOpposite ? \"x\" : \"y\";\r\n var oppositeCoordName = !isOpposite ? \"vy\" : \"vx\";\r\n var bezierOppositeCoordName = !isOpposite ? \"y\" : \"x\";\r\n var axis = !isArgument ? this.getArgumentAxis() : this.getValueAxis();\r\n var visibleArea = axis.getVisibleArea();\r\n var nearestPoints = this._getNearestPointsByCoord(coord, isArgument);\r\n var _loop = function() {\r\n var p = nearestPoints[i];\r\n if (1 === p.length) {\r\n visibleArea[0] <= p[0][oppositeCoordName] && visibleArea[1] >= p[0][oppositeCoordName] && (oppositeCoord = p[0][oppositeCoordName])\r\n } else {\r\n var ts = obtainCubicBezierTCoef(coord, p[0][coordName], p[1][bezierCoordName], p[2][bezierCoordName], p[3][coordName]);\r\n ts.forEach(t => {\r\n if (t >= 0 && t <= 1) {\r\n var tmpCoord = Math.pow(1 - t, 3) * p[0][oppositeCoordName] + 3 * Math.pow(1 - t, 2) * t * p[1][bezierOppositeCoordName] + 3 * (1 - t) * t * t * p[2][bezierOppositeCoordName] + t * t * t * p[3][oppositeCoordName];\r\n if (visibleArea[0] <= tmpCoord && visibleArea[1] >= tmpCoord) {\r\n oppositeCoord = tmpCoord\r\n }\r\n }\r\n })\r\n }\r\n if (null !== oppositeCoord) {\r\n return \"break\"\r\n }\r\n };\r\n for (var i = 0; i < nearestPoints.length; i++) {\r\n var _ret = _loop();\r\n if (\"break\" === _ret) {\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n },\r\n _getNearestPoints(point, nextPoint, bezierPoints) {\r\n var index = bezierPoints.indexOf(point);\r\n return [point, bezierPoints[index + 1], bezierPoints[index + 2], nextPoint]\r\n },\r\n _getBezierPoints() {\r\n return this._segments.length > 0 ? this._segments.reduce((a, seg) => a.concat(seg.line), []) : []\r\n }\r\n});\r\npolar.line = extend({}, polarScatterSeries, lineMethods, {\r\n _sortPoints: function(points) {\r\n return points\r\n },\r\n _prepareSegment: function(points, rotated, lastSegment) {\r\n var preparedPoints = [];\r\n var centerPoint = this.getValueAxis().getCenter();\r\n var i;\r\n lastSegment && this._closeSegment(points);\r\n if (this.argumentAxisType !== DISCRETE && this.valueAxisType !== DISCRETE) {\r\n for (i = 1; i < points.length; i++) {\r\n preparedPoints = preparedPoints.concat(this._getTangentPoints(points[i], points[i - 1], centerPoint, i === points.length - 1))\r\n }\r\n if (!preparedPoints.length) {\r\n preparedPoints = points\r\n }\r\n } else {\r\n return lineSeries._prepareSegment.call(this, points)\r\n }\r\n return {\r\n line: preparedPoints\r\n }\r\n },\r\n _getRemainingAngle: function(angle) {\r\n var normAngle = normalizeAngle(angle);\r\n return angle >= 0 ? 360 - normAngle : -normAngle\r\n },\r\n _closeSegment(points) {\r\n var point;\r\n if (this._segments.length) {\r\n point = this._segments[0].line[0]\r\n } else {\r\n point = clonePoint(points[0], points[0].x, points[0].y, points[0].angle)\r\n }\r\n point = this._modifyReflectedPoint(point, points[points.length - 1]);\r\n if (point) {\r\n points.push(point)\r\n }\r\n },\r\n _modifyReflectedPoint(point, lastPoint) {\r\n if (lastPoint.angle === point.angle) {\r\n return\r\n }\r\n if (normalizeAngle(round(lastPoint.angle)) === normalizeAngle(round(point.angle))) {\r\n point.angle = lastPoint.angle\r\n } else {\r\n var differenceAngle = lastPoint.angle - point.angle;\r\n point.angle = lastPoint.angle + this._getRemainingAngle(differenceAngle)\r\n }\r\n return point\r\n },\r\n _getTangentPoints: function(point, prevPoint, centerPoint, isLastSegment) {\r\n var tangentPoints = [];\r\n var betweenAngle = Math.round(prevPoint.angle - point.angle);\r\n var tan = (prevPoint.radius - point.radius) / betweenAngle;\r\n var i;\r\n if (0 === betweenAngle) {\r\n tangentPoints = [prevPoint, point]\r\n } else if (betweenAngle > 0) {\r\n var angle = isLastSegment ? betweenAngle : betweenAngle - 1;\r\n for (i = angle; i >= 0; i--) {\r\n tangentPoints.push(getTangentPoint(point, prevPoint, centerPoint, tan, i))\r\n }\r\n } else {\r\n var _angle = isLastSegment ? betweenAngle : betweenAngle + 1;\r\n for (i = 0; i >= _angle; i--) {\r\n tangentPoints.push(getTangentPoint(point, prevPoint, centerPoint, tan, betweenAngle - i))\r\n }\r\n }\r\n return tangentPoints\r\n },\r\n getSeriesPairCoord(params, isArgument) {\r\n var argAxis = this.getArgumentAxis();\r\n var paramName = isArgument ? \"angle\" : \"radius\";\r\n var coordParam = params[paramName];\r\n var centerPoint = argAxis.getCenter();\r\n var isInsideInterval = (prevPoint, point, _ref) => {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref;\r\n return (p1 = {\r\n x: x,\r\n y: y\r\n }, p2 = centerPoint, sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2))) <= argAxis.getRadius() && min(prevPoint.x, point.x) <= x && max(prevPoint.x, point.x) >= x && min(prevPoint.y, point.y) <= y && max(prevPoint.y, point.y) >= y;\r\n var p1, p2\r\n };\r\n var coords;\r\n var neighborPoints = this.getNeighborPoints(coordParam, paramName);\r\n if (1 === neighborPoints.length) {\r\n coords = neighborPoints[0]\r\n } else if (neighborPoints.length > 1) {\r\n var prevPoint = neighborPoints[0];\r\n var point = neighborPoints[1];\r\n if (this.argumentAxisType !== DISCRETE && this.valueAxisType !== DISCRETE) {\r\n var tan;\r\n var stepAngle;\r\n if (isArgument) {\r\n tan = (prevPoint.radius - point.radius) / (prevPoint.angle - point.angle);\r\n stepAngle = coordParam - point.angle\r\n } else {\r\n tan = (prevPoint.radius - point.radius) / (prevPoint.angle - point.angle);\r\n stepAngle = (coordParam - point.radius) / tan\r\n }\r\n coords = getTangentPoint(point, prevPoint, centerPoint, tan, stepAngle)\r\n } else if (isArgument) {\r\n var cosSin = getCosAndSin(-coordParam);\r\n var k1 = (point.y - prevPoint.y) / (point.x - prevPoint.x);\r\n var b1 = prevPoint.y - prevPoint.x * k1;\r\n var k2 = cosSin.sin / cosSin.cos;\r\n var b2 = centerPoint.y - k2 * centerPoint.x;\r\n var x = (b2 - b1) / (k1 - k2);\r\n var y = k1 * x + b1;\r\n if (isInsideInterval(prevPoint, point, {\r\n x: x,\r\n y: y\r\n })) {\r\n var quarter = abs(trunc((360 + coordParam) / 90) % 4);\r\n if (0 === quarter && x >= centerPoint.x && y <= centerPoint.y || 1 === quarter && x <= centerPoint.x && y <= centerPoint.y || 2 === quarter && x <= centerPoint.x && y >= centerPoint.y || 3 === quarter && x >= centerPoint.x && y >= centerPoint.y) {\r\n coords = {\r\n x: x,\r\n y: y\r\n }\r\n }\r\n }\r\n } else {\r\n var k = (point.y - prevPoint.y) / (point.x - prevPoint.x);\r\n var y0 = prevPoint.y - prevPoint.x * k;\r\n var a = 1 + k * k;\r\n var b = -2 * centerPoint.x + 2 * k * y0 - 2 * k * centerPoint.y;\r\n var c = -pow(coordParam, 2) + pow(y0 - centerPoint.y, 2) + pow(centerPoint.x, 2);\r\n var d = b * b - 4 * a * c;\r\n if (d >= 0) {\r\n var x1 = (-b - sqrt(d)) / (2 * a);\r\n var x2 = (-b + sqrt(d)) / (2 * a);\r\n var y1 = k * x1 + y0;\r\n var y2 = k * x2 + y0;\r\n coords = isInsideInterval(prevPoint, point, {\r\n x: x1,\r\n y: y1\r\n }) ? {\r\n x: x1,\r\n y: y1\r\n } : isInsideInterval(prevPoint, point, {\r\n x: x2,\r\n y: y2\r\n }) ? {\r\n x: x2,\r\n y: y2\r\n } : void 0\r\n }\r\n }\r\n }\r\n return coords\r\n },\r\n getNeighborPoints(param, paramName) {\r\n var points = this.getPoints();\r\n var neighborPoints = [];\r\n if (this.getOptions().closed) {\r\n points = extend(true, [], points);\r\n var lastPoint = points[points.length - 1];\r\n var firstPointCopy = clonePoint(points[0], points[0].x, points[0].y, points[0].angle);\r\n var lastPointCopy = clonePoint(lastPoint, lastPoint.x, lastPoint.y, lastPoint.angle);\r\n var rearwardRefPoint = this._modifyReflectedPoint(firstPointCopy, lastPoint);\r\n var forwardRefPoint = this._modifyReflectedPoint(lastPointCopy, points[0]);\r\n if (forwardRefPoint) {\r\n points.unshift(forwardRefPoint)\r\n }\r\n if (rearwardRefPoint) {\r\n points.push(rearwardRefPoint)\r\n }\r\n }\r\n for (var i = 1; i < points.length; i++) {\r\n if (points[i - 1][paramName] === param) {\r\n neighborPoints.push(points[i - 1])\r\n } else if (points[i][paramName] === param) {\r\n neighborPoints.push(points[i])\r\n } else if (points[i][paramName] > param && points[i - 1][paramName] < param || points[i - 1][paramName] > param && points[i][paramName] < param) {\r\n neighborPoints.push(points[i - 1]);\r\n neighborPoints.push(points[i])\r\n }\r\n if (neighborPoints.length > 0) {\r\n break\r\n }\r\n }\r\n return neighborPoints\r\n }\r\n});\r\nexport {\r\n chart,\r\n polar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/area_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n chart as scatterSeries\r\n} from \"./scatter_series\";\r\nimport {\r\n chart as lineSeriesChart,\r\n polar as lineSeriesPolar\r\n} from \"./line_series\";\r\nvar chartLineSeries = lineSeriesChart.line;\r\nvar polarLineSeries = lineSeriesPolar.line;\r\nimport {\r\n map as _map,\r\n extractColor\r\n} from \"../core/utils\";\r\nvar _extend = extend;\r\nvar calculateBezierPoints = lineSeriesChart.spline._calculateBezierPoints;\r\nvar chart = {};\r\nvar polar = {};\r\nvar baseAreaMethods = {\r\n _createBorderElement: chartLineSeries._createMainElement,\r\n _createLegendState: function(styleOptions, defaultColor) {\r\n return {\r\n fill: extractColor(styleOptions.color) || defaultColor,\r\n opacity: styleOptions.opacity,\r\n hatching: styleOptions.hatching,\r\n filter: styleOptions.highlight\r\n }\r\n },\r\n _getColorId: function(options) {\r\n var _options$color;\r\n return null === (_options$color = options.color) || void 0 === _options$color ? void 0 : _options$color.fillId\r\n },\r\n getValueRangeInitialValue: function() {\r\n if (\"logarithmic\" !== this.valueAxisType && \"datetime\" !== this.valueType && false !== this.showZero) {\r\n return 0\r\n } else {\r\n return scatterSeries.getValueRangeInitialValue.call(this)\r\n }\r\n },\r\n _getDefaultSegment: function(segment) {\r\n var defaultSegment = chartLineSeries._getDefaultSegment(segment);\r\n defaultSegment.area = defaultSegment.line.concat(defaultSegment.line.slice().reverse());\r\n return defaultSegment\r\n },\r\n _updateElement: function(element, segment, animate, complete) {\r\n var lineParams = {\r\n points: segment.line\r\n };\r\n var areaParams = {\r\n points: segment.area\r\n };\r\n var borderElement = element.line;\r\n if (animate) {\r\n borderElement && borderElement.animate(lineParams);\r\n element.area.animate(areaParams, {}, complete)\r\n } else {\r\n borderElement && borderElement.attr(lineParams);\r\n element.area.attr(areaParams)\r\n }\r\n },\r\n _removeElement: function(element) {\r\n element.line && element.line.remove();\r\n element.area.remove()\r\n },\r\n _drawElement: function(segment) {\r\n return {\r\n line: this._bordersGroup && this._createBorderElement(segment.line, {\r\n \"stroke-width\": this._styles.normal.border[\"stroke-width\"]\r\n }).append(this._bordersGroup),\r\n area: this._createMainElement(segment.area).append(this._elementsGroup)\r\n }\r\n },\r\n _applyStyle: function(style) {\r\n this._elementsGroup && this._elementsGroup.smartAttr(style.elements);\r\n this._bordersGroup && this._bordersGroup.attr(style.border);\r\n (this._graphics || []).forEach((function(graphic) {\r\n graphic.line && graphic.line.attr({\r\n \"stroke-width\": style.border[\"stroke-width\"]\r\n }).sharp()\r\n }))\r\n },\r\n _parseStyle: function(options, defaultColor, defaultBorderColor) {\r\n var _options$highlight;\r\n var borderOptions = options.border || {};\r\n var borderStyle = chartLineSeries._parseLineOptions(borderOptions, defaultBorderColor);\r\n borderStyle.stroke = borderOptions.visible && borderStyle[\"stroke-width\"] ? borderStyle.stroke : \"none\";\r\n borderStyle[\"stroke-width\"] = borderStyle[\"stroke-width\"] || 1;\r\n return {\r\n border: borderStyle,\r\n elements: {\r\n stroke: \"none\",\r\n fill: extractColor(options.color) || defaultColor,\r\n hatching: options.hatching,\r\n opacity: options.opacity,\r\n filter: null !== (_options$highlight = options.highlight) && void 0 !== _options$highlight ? _options$highlight : null\r\n }\r\n }\r\n },\r\n _areBordersVisible: function() {\r\n var options = this._options;\r\n return options.border.visible || options.hoverStyle.border.visible || options.selectionStyle.border.visible\r\n },\r\n _createMainElement: function(points, settings) {\r\n return this._renderer.path(points, \"area\").attr(settings)\r\n },\r\n _getTrackerSettings: function(segment) {\r\n return {\r\n \"stroke-width\": segment.singlePointSegment ? this._defaultTrackerWidth : 0\r\n }\r\n },\r\n _getMainPointsFromSegment: function(segment) {\r\n return segment.area\r\n }\r\n};\r\n\r\nfunction createAreaPoints(points) {\r\n return _map(points, (function(pt) {\r\n return pt.getCoords()\r\n })).concat(_map(points.slice().reverse(), (function(pt) {\r\n return pt.getCoords(true)\r\n })))\r\n}\r\nvar areaSeries = chart.area = _extend({}, chartLineSeries, baseAreaMethods, {\r\n _prepareSegment(points, rotated) {\r\n var processedPoints = this._processSinglePointsAreaSegment(points, rotated);\r\n var areaPoints = createAreaPoints(processedPoints);\r\n var argAxis = this.getArgumentAxis();\r\n if (argAxis.getAxisPosition) {\r\n var argAxisPosition = argAxis.getAxisPosition();\r\n var axisOptions = argAxis.getOptions();\r\n var edgeOffset = (!rotated ? -1 : 1) * Math.round(axisOptions.width / 2);\r\n if (axisOptions.visible) {\r\n areaPoints.forEach((p, i) => {\r\n if (p) {\r\n var index = 1 === points.length ? 0 : i < points.length ? i : areaPoints.length - 1 - i;\r\n rotated && p.x === points[index].defaultX && p.x === argAxisPosition - argAxis.getAxisShift() && (p.x += edgeOffset);\r\n !rotated && p.y === points[index].defaultY && p.y === argAxisPosition - argAxis.getAxisShift() && (p.y += edgeOffset)\r\n }\r\n })\r\n }\r\n }\r\n return {\r\n line: processedPoints,\r\n area: areaPoints,\r\n singlePointSegment: processedPoints !== points\r\n }\r\n },\r\n _processSinglePointsAreaSegment: function(points, rotated) {\r\n if (points && 1 === points.length) {\r\n var p = points[0];\r\n var p1 = clone(p);\r\n p1[rotated ? \"y\" : \"x\"] += 1;\r\n p1.argument = null;\r\n return [p, p1]\r\n }\r\n return points\r\n }\r\n});\r\npolar.area = _extend({}, polarLineSeries, baseAreaMethods, {\r\n _prepareSegment: function(points, rotated, lastSegment) {\r\n lastSegment && polarLineSeries._closeSegment.call(this, points);\r\n return areaSeries._prepareSegment.call(this, points)\r\n },\r\n _processSinglePointsAreaSegment: function(points) {\r\n return lineSeriesPolar.line._prepareSegment.call(this, points).line\r\n }\r\n});\r\nchart.steparea = _extend({}, areaSeries, {\r\n _prepareSegment: function(points, rotated) {\r\n var stepLineSeries = lineSeriesChart.stepline;\r\n points = areaSeries._processSinglePointsAreaSegment(points, rotated);\r\n return areaSeries._prepareSegment.call(this, stepLineSeries._calculateStepLinePoints.call(this, points), rotated)\r\n },\r\n getSeriesPairCoord: lineSeriesChart.stepline.getSeriesPairCoord\r\n});\r\nchart.splinearea = _extend({}, areaSeries, {\r\n _areaPointsToSplineAreaPoints: function(areaPoints) {\r\n var previousMiddlePoint = areaPoints[areaPoints.length / 2 - 1];\r\n var middlePoint = areaPoints[areaPoints.length / 2];\r\n areaPoints.splice(areaPoints.length / 2, 0, {\r\n x: previousMiddlePoint.x,\r\n y: previousMiddlePoint.y\r\n }, {\r\n x: middlePoint.x,\r\n y: middlePoint.y\r\n })\r\n },\r\n _prepareSegment: function(points, rotated) {\r\n var processedPoints = areaSeries._processSinglePointsAreaSegment(points, rotated);\r\n var areaSegment = areaSeries._prepareSegment.call(this, calculateBezierPoints(processedPoints, rotated));\r\n this._areaPointsToSplineAreaPoints(areaSegment.area);\r\n areaSegment.singlePointSegment = processedPoints !== points;\r\n return areaSegment\r\n },\r\n _getDefaultSegment: function(segment) {\r\n var areaDefaultSegment = areaSeries._getDefaultSegment(segment);\r\n this._areaPointsToSplineAreaPoints(areaDefaultSegment.area);\r\n return areaDefaultSegment\r\n },\r\n _createMainElement: function(points, settings) {\r\n return this._renderer.path(points, \"bezierarea\").attr(settings)\r\n },\r\n _createBorderElement: lineSeriesChart.spline._createMainElement,\r\n getSeriesPairCoord: lineSeriesChart.spline.getSeriesPairCoord,\r\n _getNearestPoints: lineSeriesChart.spline._getNearestPoints,\r\n _getBezierPoints: lineSeriesChart.spline._getBezierPoints,\r\n obtainCubicBezierTCoef: lineSeriesChart.spline.obtainCubicBezierTCoef\r\n});\r\nexport {\r\n chart,\r\n polar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/bar_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport * as scatterSeries from \"./scatter_series\";\r\nimport {\r\n chart as areaChart\r\n} from \"./area_series\";\r\nvar areaSeries = areaChart.area;\r\nimport {\r\n convertPolarToXY,\r\n extractColor\r\n} from \"../core/utils\";\r\nvar chartSeries = scatterSeries.chart;\r\nvar polarSeries = scatterSeries.polar;\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../core/utils/type\";\r\nvar _extend = extend;\r\nvar _each = each;\r\nvar chart = {};\r\nvar polar = {};\r\nvar baseBarSeriesMethods = {\r\n _createLegendState: function(styleOptions, defaultColor) {\r\n return {\r\n fill: extractColor(styleOptions.color) || defaultColor,\r\n hatching: styleOptions.hatching,\r\n filter: styleOptions.highlight\r\n }\r\n },\r\n _getColorId: areaSeries._getColorId,\r\n _parsePointStyle: function(style, defaultColor, defaultBorderColor) {\r\n var color = extractColor(style.color) || defaultColor;\r\n var base = chartSeries._parsePointStyle.call(this, style, color, defaultBorderColor);\r\n base.fill = color;\r\n base.hatching = style.hatching;\r\n base.filter = style.highlight;\r\n base.dashStyle = style.border && style.border.dashStyle || \"solid\";\r\n delete base.r;\r\n return base\r\n },\r\n _applyMarkerClipRect: function(settings) {\r\n settings[\"clip-path\"] = null\r\n },\r\n _setGroupsSettings: function(animationEnabled, firstDrawing) {\r\n var that = this;\r\n var settings = {};\r\n chartSeries._setGroupsSettings.apply(that, arguments);\r\n if (animationEnabled && firstDrawing) {\r\n settings = this._getAffineCoordOptions()\r\n } else if (!animationEnabled) {\r\n settings = {\r\n scaleX: 1,\r\n scaleY: 1,\r\n translateX: 0,\r\n translateY: 0\r\n }\r\n }\r\n that._markersGroup.attr(settings)\r\n },\r\n _drawPoint: function(options) {\r\n options.hasAnimation = options.hasAnimation && !options.firstDrawing;\r\n options.firstDrawing = false;\r\n chartSeries._drawPoint.call(this, options)\r\n },\r\n _getMainColor: function() {\r\n return this._options.mainSeriesColor\r\n },\r\n _createPointStyles: function(pointOptions) {\r\n var _pointOptions$color;\r\n var mainColor = extractColor(pointOptions.color, true) || this._getMainColor();\r\n var colorId = null === (_pointOptions$color = pointOptions.color) || void 0 === _pointOptions$color ? void 0 : _pointOptions$color.fillId;\r\n var hoverStyle = pointOptions.hoverStyle || {};\r\n var selectionStyle = pointOptions.selectionStyle || {};\r\n if (colorId) {\r\n this._turnOffHatching(hoverStyle, selectionStyle)\r\n }\r\n return {\r\n labelColor: mainColor,\r\n normal: this._parsePointStyle(pointOptions, mainColor, mainColor),\r\n hover: this._parsePointStyle(hoverStyle, colorId || mainColor, mainColor),\r\n selection: this._parsePointStyle(selectionStyle, colorId || mainColor, mainColor)\r\n }\r\n },\r\n _updatePointsVisibility: function() {\r\n var visibility = this._options.visible;\r\n each(this._points, (function(_, point) {\r\n point._options.visible = visibility\r\n }))\r\n },\r\n _getOptionsForPoint: function() {\r\n return this._options\r\n },\r\n _animate: function(firstDrawing) {\r\n var that = this;\r\n that._animatePoints(firstDrawing, (function() {\r\n that._animateComplete()\r\n }), (function(drawnPoints, complete) {\r\n var lastPointIndex = drawnPoints.length - 1;\r\n _each(drawnPoints || [], (function(i, point) {\r\n point.animate(i === lastPointIndex ? complete : void 0, point.getMarkerCoords())\r\n }))\r\n }))\r\n },\r\n getValueRangeInitialValue: areaSeries.getValueRangeInitialValue,\r\n _patchMarginOptions: function(options) {\r\n var _this$getArgumentAxis;\r\n options.checkInterval = !this.useAggregation() || (null === (_this$getArgumentAxis = this.getArgumentAxis()) || void 0 === _this$getArgumentAxis ? void 0 : _this$getArgumentAxis.aggregatedPointBetweenTicks());\r\n return options\r\n },\r\n _defaultAggregator: \"sum\",\r\n _defineDrawingState() {},\r\n usePointsToDefineAutoHiding: () => false\r\n};\r\nchart.bar = _extend({}, chartSeries, baseBarSeriesMethods, {\r\n _getAffineCoordOptions: function() {\r\n var rotated = this._options.rotated;\r\n var direction = rotated ? \"X\" : \"Y\";\r\n var settings = {\r\n scaleX: rotated ? .001 : 1,\r\n scaleY: rotated ? 1 : .001\r\n };\r\n settings[\"translate\" + direction] = this.getValueAxis().getTranslator().translate(\"canvas_position_default\");\r\n return settings\r\n },\r\n _animatePoints: function(firstDrawing, complete, animateFunc) {\r\n this._markersGroup.animate({\r\n scaleX: 1,\r\n scaleY: 1,\r\n translateY: 0,\r\n translateX: 0\r\n }, void 0, complete);\r\n if (!firstDrawing) {\r\n animateFunc(this._drawnPoints, complete)\r\n }\r\n },\r\n checkSeriesViewportCoord(axis, coord) {\r\n if (!chartSeries.checkSeriesViewportCoord.call(this)) {\r\n return false\r\n }\r\n if (axis.isArgumentAxis) {\r\n return true\r\n }\r\n var translator = axis.getTranslator();\r\n var range = this.getViewport();\r\n var min = translator.translate(range.categories ? range.categories[0] : range.min);\r\n var max = translator.translate(range.categories ? range.categories[range.categories.length - 1] : range.max);\r\n var rotated = this.getOptions().rotated;\r\n var inverted = axis.getOptions().inverted;\r\n return rotated && !inverted || !rotated && inverted ? coord >= min && coord <= max : coord >= max && coord <= min\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var {\r\n rotated: rotated\r\n } = this._options;\r\n var isOpposite = !isArgument && !rotated || isArgument && rotated;\r\n var coordName = isOpposite ? \"vy\" : \"vx\";\r\n var oppositeCoordName = isOpposite ? \"vx\" : \"vy\";\r\n var points = this.getPoints();\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpCoord = void 0;\r\n if (isArgument) {\r\n tmpCoord = p.getCenterCoord()[coordName[1]] === coord ? p[oppositeCoordName] : void 0\r\n } else {\r\n tmpCoord = p[coordName] === coord ? p[oppositeCoordName] : void 0\r\n }\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n }\r\n});\r\npolar.bar = _extend({}, polarSeries, baseBarSeriesMethods, {\r\n _animatePoints: function(firstDrawing, complete, animateFunc) {\r\n animateFunc(this._drawnPoints, complete)\r\n },\r\n _setGroupsSettings: chartSeries._setGroupsSettings,\r\n _drawPoint: function(point, groups, animationEnabled) {\r\n chartSeries._drawPoint.call(this, point, groups, animationEnabled)\r\n },\r\n _parsePointStyle: function(style) {\r\n var base = baseBarSeriesMethods._parsePointStyle.apply(this, arguments);\r\n base.opacity = style.opacity;\r\n return base\r\n },\r\n _createGroups: chartSeries._createGroups,\r\n _setMarkerGroupSettings: function() {\r\n var markersSettings = this._createPointStyles(this._getMarkerGroupOptions()).normal;\r\n markersSettings.class = \"dxc-markers\";\r\n this._applyMarkerClipRect(markersSettings);\r\n var groupSettings = _extend({}, markersSettings);\r\n delete groupSettings.opacity;\r\n this._markersGroup.attr(groupSettings)\r\n },\r\n getSeriesPairCoord(params, isArgument) {\r\n var coords = null;\r\n var paramName = isArgument ? \"argument\" : \"radius\";\r\n var points = this.getVisiblePoints();\r\n var argAxis = this.getArgumentAxis();\r\n var startAngle = argAxis.getAngles()[0];\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpPoint = _isDefined(p[paramName]) && _isDefined(params[paramName]) && p[paramName].valueOf() === params[paramName].valueOf() ? convertPolarToXY(argAxis.getCenter(), startAngle, -argAxis.getTranslatedAngle(p.angle), p.radius) : void 0;\r\n if (_isDefined(tmpPoint)) {\r\n coords = tmpPoint;\r\n break\r\n }\r\n }\r\n return coords\r\n },\r\n _createLegendState: areaSeries._createLegendState\r\n});\r\nexport {\r\n chart,\r\n polar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/range_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar _extend = extend;\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n map as _map\r\n} from \"../core/utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n chart as scatterSeries\r\n} from \"./scatter_series\";\r\nimport {\r\n chart as barChart\r\n} from \"./bar_series\";\r\nimport {\r\n chart as areaChart\r\n} from \"./area_series\";\r\nvar barSeries = barChart.bar;\r\nvar areaSeries = areaChart.area;\r\nvar chart = {};\r\nvar baseRangeSeries = {\r\n areErrorBarsVisible: _noop,\r\n _createErrorBarGroup: _noop,\r\n _checkData: function(data, skippedFields) {\r\n var valueFields = this.getValueFields();\r\n return scatterSeries._checkData.call(this, data, skippedFields, {\r\n minValue: valueFields[0],\r\n value: valueFields[1]\r\n }) && data.minValue === data.minValue\r\n },\r\n getValueRangeInitialValue: scatterSeries.getValueRangeInitialValue,\r\n _getPointDataSelector: function(data) {\r\n var valueFields = this.getValueFields();\r\n var val1Field = valueFields[0];\r\n var val2Field = valueFields[1];\r\n var tagField = this.getTagField();\r\n var argumentField = this.getArgumentField();\r\n return data => ({\r\n tag: data[tagField],\r\n minValue: this._processEmptyValue(data[val1Field]),\r\n value: this._processEmptyValue(data[val2Field]),\r\n argument: data[argumentField],\r\n data: data\r\n })\r\n },\r\n _defaultAggregator: \"range\",\r\n _aggregators: {\r\n range(_ref, series) {\r\n var {\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd,\r\n data: data\r\n } = _ref;\r\n if (!data.length) {\r\n return\r\n }\r\n var valueFields = series.getValueFields();\r\n var val1Field = valueFields[0];\r\n var val2Field = valueFields[1];\r\n var result = data.reduce((result, item) => {\r\n var val1 = item[val1Field];\r\n var val2 = item[val2Field];\r\n if (!_isDefined(val1) || !_isDefined(val2)) {\r\n return result\r\n }\r\n result[val1Field] = Math.min(result[val1Field], Math.min(val1, val2));\r\n result[val2Field] = Math.max(result[val2Field], Math.max(val1, val2));\r\n return result\r\n }, {\r\n [val1Field]: 1 / 0,\r\n [val2Field]: -1 / 0,\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd)\r\n });\r\n if (!isFinite(result[val1Field]) || !isFinite(result[val2Field])) {\r\n if (data.filter(i => null === i[val1Field] && null === i[val2Field]).length === data.length) {\r\n result[val1Field] = result[val2Field] = null\r\n } else {\r\n return\r\n }\r\n }\r\n return result\r\n }\r\n },\r\n getValueFields: function() {\r\n return [this._options.rangeValue1Field || \"val1\", this._options.rangeValue2Field || \"val2\"]\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var {\r\n rotated: rotated\r\n } = this._options;\r\n var isOpposite = !isArgument && !rotated || isArgument && rotated;\r\n var coordName = isOpposite ? \"vy\" : \"vx\";\r\n var minCoordName = rotated ? \"minX\" : \"minY\";\r\n var oppositeCoordName = isOpposite ? \"vx\" : \"vy\";\r\n var points = this.getPoints();\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpCoord = void 0;\r\n if (isArgument) {\r\n tmpCoord = p.getCenterCoord()[coordName[1]] === coord ? p[oppositeCoordName] : void 0\r\n } else {\r\n var coords = [Math.min(p[coordName], p[minCoordName]), Math.max(p[coordName], p[minCoordName])];\r\n tmpCoord = coord >= coords[0] && coord <= coords[1] ? p[oppositeCoordName] : void 0\r\n }\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n }\r\n};\r\nchart.rangebar = _extend({}, barSeries, baseRangeSeries);\r\nchart.rangearea = _extend({}, areaSeries, {\r\n _drawPoint: function(options) {\r\n var point = options.point;\r\n if (point.isInVisibleArea()) {\r\n point.clearVisibility();\r\n point.draw(this._renderer, options.groups);\r\n this._drawnPoints.push(point);\r\n if (!point.visibleTopMarker) {\r\n point.hideMarker(\"top\")\r\n }\r\n if (!point.visibleBottomMarker) {\r\n point.hideMarker(\"bottom\")\r\n }\r\n } else {\r\n point.setInvisibility()\r\n }\r\n },\r\n _prepareSegment: function(points, rotated) {\r\n var processedPoints = this._processSinglePointsAreaSegment(points, rotated);\r\n var processedMinPointsCoords = _map(processedPoints, (function(pt) {\r\n return pt.getCoords(true)\r\n }));\r\n return {\r\n line: processedPoints,\r\n bottomLine: processedMinPointsCoords,\r\n area: _map(processedPoints, (function(pt) {\r\n return pt.getCoords()\r\n })).concat(processedMinPointsCoords.slice().reverse()),\r\n singlePointSegment: processedPoints !== points\r\n }\r\n },\r\n _getDefaultSegment: function(segment) {\r\n var defaultSegment = areaSeries._getDefaultSegment.call(this, segment);\r\n defaultSegment.bottomLine = defaultSegment.line;\r\n return defaultSegment\r\n },\r\n _removeElement: function(element) {\r\n areaSeries._removeElement.call(this, element);\r\n element.bottomLine && element.bottomLine.remove()\r\n },\r\n _drawElement: function(segment, group) {\r\n var drawnElement = areaSeries._drawElement.call(this, segment, group);\r\n drawnElement.bottomLine = this._bordersGroup && this._createBorderElement(segment.bottomLine, {\r\n \"stroke-width\": this._styles.normal.border[\"stroke-width\"]\r\n }).append(this._bordersGroup);\r\n return drawnElement\r\n },\r\n _applyStyle: function(style) {\r\n var elementsGroup = this._elementsGroup;\r\n var bordersGroup = this._bordersGroup;\r\n elementsGroup && elementsGroup.smartAttr(style.elements);\r\n bordersGroup && bordersGroup.attr(style.border);\r\n (this._graphics || []).forEach((function(graphic) {\r\n graphic.line && graphic.line.attr({\r\n \"stroke-width\": style.border[\"stroke-width\"]\r\n });\r\n graphic.bottomLine && graphic.bottomLine.attr({\r\n \"stroke-width\": style.border[\"stroke-width\"]\r\n })\r\n }))\r\n },\r\n _updateElement: function(element, segment, animate, complete) {\r\n var bottomLineParams = {\r\n points: segment.bottomLine\r\n };\r\n var bottomBorderElement = element.bottomLine;\r\n areaSeries._updateElement.apply(this, arguments);\r\n if (bottomBorderElement) {\r\n animate ? bottomBorderElement.animate(bottomLineParams) : bottomBorderElement.attr(bottomLineParams)\r\n }\r\n }\r\n}, baseRangeSeries);\r\nexport {\r\n chart\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/bubble_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n chart as lineChart\r\n} from \"./line_series\";\r\nimport {\r\n chart as scatterSeries\r\n} from \"./scatter_series\";\r\nimport {\r\n chart as areaChart\r\n} from \"./area_series\";\r\nimport {\r\n chart as barChart,\r\n polar as barPolar\r\n} from \"./bar_series\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar lineSeries = lineChart.line;\r\nvar areaSeries = areaChart.area;\r\nvar chartBarSeries = barChart.bar;\r\nvar polarBarSeries = barPolar.bar;\r\nvar _extend = extend;\r\nvar _each = each;\r\nvar _noop = noop;\r\nvar chart = {};\r\nchart.bubble = _extend({}, scatterSeries, {\r\n _calculateErrorBars: _noop,\r\n _getMainColor: chartBarSeries._getMainColor,\r\n _createPointStyles: chartBarSeries._createPointStyles,\r\n _updatePointsVisibility: chartBarSeries._updatePointsVisibility,\r\n _getOptionsForPoint: chartBarSeries._getOptionsForPoint,\r\n _applyMarkerClipRect: lineSeries._applyElementsClipRect,\r\n _parsePointStyle: polarBarSeries._parsePointStyle,\r\n _createLegendState: areaSeries._createLegendState,\r\n _getColorId: areaSeries._getColorId,\r\n _setMarkerGroupSettings: polarBarSeries._setMarkerGroupSettings,\r\n areErrorBarsVisible: _noop,\r\n _createErrorBarGroup: _noop,\r\n _checkData: function(data, skippedFields) {\r\n return scatterSeries._checkData.call(this, data, skippedFields, {\r\n value: this.getValueFields()[0],\r\n size: this.getSizeField()\r\n })\r\n },\r\n _getPointDataSelector: function(data, options) {\r\n var sizeField = this.getSizeField();\r\n var baseGetter = scatterSeries._getPointDataSelector.call(this);\r\n return data => {\r\n var pointData = baseGetter(data);\r\n pointData.size = data[sizeField];\r\n return pointData\r\n }\r\n },\r\n _aggregators: {\r\n avg(_ref, series) {\r\n var {\r\n data: data,\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd\r\n } = _ref;\r\n if (!data.length) {\r\n return\r\n }\r\n var valueField = series.getValueFields()[0];\r\n var sizeField = series.getSizeField();\r\n var aggregate = data.reduce((result, item) => {\r\n result[0] += item[valueField];\r\n result[1] += item[sizeField];\r\n result[2]++;\r\n return result\r\n }, [0, 0, 0]);\r\n return {\r\n [valueField]: aggregate[0] / aggregate[2],\r\n [sizeField]: aggregate[1] / aggregate[2],\r\n [series.getArgumentField()]: series._getIntervalCenter(intervalStart, intervalEnd)\r\n }\r\n }\r\n },\r\n getValueFields: function() {\r\n return [this._options.valueField || \"val\"]\r\n },\r\n getSizeField: function() {\r\n return this._options.sizeField || \"size\"\r\n },\r\n _animate: function() {\r\n var that = this;\r\n var lastPointIndex = that._drawnPoints.length - 1;\r\n var labelsGroup = that._labelsGroup;\r\n var labelAnimFunc = function() {\r\n labelsGroup && labelsGroup.animate({\r\n opacity: 1\r\n }, {\r\n duration: that._defaultDuration\r\n })\r\n };\r\n _each(that._drawnPoints || [], (function(i, p) {\r\n p.animate(i === lastPointIndex ? labelAnimFunc : void 0, {\r\n r: p.bubbleSize,\r\n translateX: p.x,\r\n translateY: p.y\r\n })\r\n }))\r\n },\r\n _patchMarginOptions: function(options) {\r\n options.processBubbleSize = true;\r\n return options\r\n }\r\n});\r\nexport {\r\n chart\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/pie_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n chart\r\n} from \"./scatter_series\";\r\nimport {\r\n normalizeAngle,\r\n map,\r\n extractColor\r\n} from \"../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n chart as barChart\r\n} from \"./bar_series\";\r\nvar chartScatterSeries = chart;\r\nvar barSeries = barChart.bar;\r\nvar _extend = extend;\r\nvar _each = each;\r\nvar _noop = noop;\r\nvar _map = map;\r\nvar _isFinite = isFinite;\r\nvar _max = Math.max;\r\nvar ANIMATION_DURATION = .7;\r\nvar INSIDE = \"inside\";\r\nexport var pie = _extend({}, barSeries, {\r\n _setGroupsSettings: function() {\r\n chartScatterSeries._setGroupsSettings.apply(this, arguments);\r\n this._labelsGroup.attr({\r\n \"pointer-events\": null\r\n })\r\n },\r\n _createErrorBarGroup: _noop,\r\n _drawPoint: function(options) {\r\n var point = options.point;\r\n var legendCallback = this._legendCallback;\r\n chartScatterSeries._drawPoint.call(this, options);\r\n !point.isVisible() && point.setInvisibility();\r\n point.isSelected() && legendCallback()\r\n },\r\n _getOldPoint: function(data, oldPointsByArgument, index) {\r\n var point = (this._points || [])[index];\r\n if (point) {\r\n oldPointsByArgument[point.argument.valueOf()] = oldPointsByArgument[point.argument.valueOf()].filter(p => p !== point)\r\n }\r\n return point\r\n },\r\n adjustLabels: function(moveLabelsFromCenter) {\r\n return (this._points || []).reduce((r, p) => {\r\n if (p._label.isVisible()) {\r\n p.setLabelTrackerData();\r\n r = p.applyWordWrap(moveLabelsFromCenter) || r;\r\n p.updateLabelCoord(moveLabelsFromCenter);\r\n return r\r\n }\r\n }, false)\r\n },\r\n _applyElementsClipRect: _noop,\r\n getColor: _noop,\r\n areErrorBarsVisible: _noop,\r\n drawLabelsWOPoints: function() {\r\n if (this._options.label.position === INSIDE) {\r\n return false\r\n }\r\n this._labelsGroup.append(this._extGroups.labelsGroup);\r\n (this._points || []).forEach((function(point) {\r\n point.drawLabel()\r\n }));\r\n return true\r\n },\r\n getPointsCount: function() {\r\n return this._data.filter(d => this._checkData(d)).length\r\n },\r\n setMaxPointsCount: function(count) {\r\n this._pointsCount = count\r\n },\r\n _getCreatingPointOptions: function(data, dataIndex) {\r\n return this._getPointOptions(data, dataIndex)\r\n },\r\n _updateOptions: function(options) {\r\n this.labelSpace = 0;\r\n this.innerRadius = \"pie\" === this.type ? 0 : options.innerRadius\r\n },\r\n _checkData: function(data, skippedFields) {\r\n var base = barSeries._checkData.call(this, data, skippedFields, {\r\n value: this.getValueFields()[0]\r\n });\r\n return this._options.paintNullPoints ? base : base && null !== data.value\r\n },\r\n _createGroups: chartScatterSeries._createGroups,\r\n _setMarkerGroupSettings: function() {\r\n this._markersGroup.attr({\r\n class: \"dxc-markers\"\r\n })\r\n },\r\n _getMainColor(data, point) {\r\n var pointsByArg = this.getPointsByArg(data.argument);\r\n var argumentIndex = point ? pointsByArg.indexOf(point) : pointsByArg.length;\r\n return this._options.mainSeriesColor(data.argument, argumentIndex, this._pointsCount)\r\n },\r\n _getPointOptions: function(data) {\r\n return this._parsePointOptions(this._preparePointOptions(), this._options.label, data)\r\n },\r\n _getRangeData: function() {\r\n return this._rangeData\r\n },\r\n _createPointStyles: function(pointOptions, data, point) {\r\n var _pointOptions$color;\r\n var mainColor = extractColor(pointOptions.color, true) || this._getMainColor(data, point);\r\n var colorId = null === (_pointOptions$color = pointOptions.color) || void 0 === _pointOptions$color ? void 0 : _pointOptions$color.fillId;\r\n var hoverStyle = pointOptions.hoverStyle || {};\r\n var selectionStyle = pointOptions.selectionStyle || {};\r\n if (colorId) {\r\n this._turnOffHatching(hoverStyle, selectionStyle)\r\n }\r\n return {\r\n labelColor: mainColor,\r\n normal: this._parsePointStyle(pointOptions, mainColor, mainColor),\r\n hover: this._parsePointStyle(hoverStyle, colorId || mainColor, mainColor),\r\n selection: this._parsePointStyle(selectionStyle, colorId || mainColor, mainColor),\r\n legendStyles: {\r\n normal: this._createLegendState(pointOptions, mainColor),\r\n hover: this._createLegendState(hoverStyle, colorId || mainColor),\r\n selection: this._createLegendState(selectionStyle, colorId || mainColor)\r\n }\r\n }\r\n },\r\n _getArrangeMinShownValue: function(points, total) {\r\n var minSegmentSize = this._options.minSegmentSize;\r\n var totalMinSegmentSize = 0;\r\n var totalNotMinValues = 0;\r\n total = total || points.length;\r\n _each(points, (function(_, point) {\r\n if (point.isVisible()) {\r\n if (point.normalInitialValue < minSegmentSize * total / 360) {\r\n totalMinSegmentSize += minSegmentSize\r\n } else {\r\n totalNotMinValues += point.normalInitialValue\r\n }\r\n }\r\n }));\r\n return totalMinSegmentSize < 360 ? minSegmentSize * totalNotMinValues / (360 - totalMinSegmentSize) : 0\r\n },\r\n _applyArrangeCorrection: function(points, minShownValue, total) {\r\n var options = this._options;\r\n var isClockWise = \"anticlockwise\" !== options.segmentsDirection;\r\n var shiftedAngle = _isFinite(options.startAngle) ? normalizeAngle(options.startAngle) : 0;\r\n var minSegmentSize = options.minSegmentSize;\r\n var percent;\r\n var correction = 0;\r\n var zeroTotalCorrection = 0;\r\n if (0 === total) {\r\n total = points.filter((function(el) {\r\n return el.isVisible()\r\n })).length;\r\n zeroTotalCorrection = 1\r\n }\r\n _each(isClockWise ? points : points.concat([]).reverse(), (function(_, point) {\r\n var val = point.isVisible() ? zeroTotalCorrection || point.normalInitialValue : 0;\r\n var updatedZeroValue;\r\n if (minSegmentSize && point.isVisible() && val < minShownValue) {\r\n updatedZeroValue = minShownValue\r\n }\r\n percent = val / total;\r\n point.correctValue(correction, percent, zeroTotalCorrection + (updatedZeroValue || 0));\r\n point.shiftedAngle = shiftedAngle;\r\n correction += updatedZeroValue || val\r\n }));\r\n this._rangeData = {\r\n val: {\r\n min: 0,\r\n max: correction\r\n }\r\n }\r\n },\r\n _removePoint: function(point) {\r\n var points = this.getPointsByArg(point.argument);\r\n points.splice(points.indexOf(point), 1);\r\n point.dispose()\r\n },\r\n arrangePoints: function() {\r\n var that = this;\r\n var originalPoints = that._points || [];\r\n var minSegmentSize = that._options.minSegmentSize;\r\n var minShownValue;\r\n var isAllPointsNegative = true;\r\n var i = 0;\r\n var len = originalPoints.length;\r\n while (i < len && isAllPointsNegative) {\r\n isAllPointsNegative = originalPoints[i].value <= 0;\r\n i++\r\n }\r\n var points = that._points = _map(originalPoints, (function(point) {\r\n if (null === point.value || !isAllPointsNegative && point.value < 0) {\r\n that._removePoint(point);\r\n return null\r\n } else {\r\n return point\r\n }\r\n }));\r\n var maxValue = points.reduce((function(max, p) {\r\n return _max(max, Math.abs(p.initialValue))\r\n }), 0);\r\n points.forEach((function(p) {\r\n p.normalInitialValue = p.initialValue / (0 !== maxValue ? maxValue : 1)\r\n }));\r\n var total = points.reduce((function(total, point) {\r\n return total + (point.isVisible() ? point.normalInitialValue : 0)\r\n }), 0);\r\n if (minSegmentSize) {\r\n minShownValue = this._getArrangeMinShownValue(points, total)\r\n }\r\n that._applyArrangeCorrection(points, minShownValue, total)\r\n },\r\n correctPosition: function(correction, canvas) {\r\n _each(this._points, (function(_, point) {\r\n point.correctPosition(correction)\r\n }));\r\n this.setVisibleArea(canvas)\r\n },\r\n correctRadius: function(correction) {\r\n this._points.forEach((function(point) {\r\n point.correctRadius(correction)\r\n }))\r\n },\r\n correctLabelRadius: function(labelRadius) {\r\n this._points.forEach((function(point) {\r\n point.correctLabelRadius(labelRadius)\r\n }))\r\n },\r\n setVisibleArea: function(canvas) {\r\n this._visibleArea = {\r\n minX: canvas.left,\r\n maxX: canvas.width - canvas.right,\r\n minY: canvas.top,\r\n maxY: canvas.height - canvas.bottom\r\n }\r\n },\r\n _applyVisibleArea: _noop,\r\n _animate: function(firstDrawing) {\r\n var that = this;\r\n var points = that._points;\r\n var pointsCount = points && points.length;\r\n var completeFunc = function() {\r\n that._animateComplete()\r\n };\r\n var animatePoint;\r\n if (firstDrawing) {\r\n animatePoint = function(p, i) {\r\n p.animate(i === pointsCount - 1 ? completeFunc : void 0, ANIMATION_DURATION, (1 - ANIMATION_DURATION) * i / (pointsCount - 1))\r\n }\r\n } else {\r\n animatePoint = function(p, i) {\r\n p.animate(i === pointsCount - 1 ? completeFunc : void 0)\r\n }\r\n }\r\n points.forEach(animatePoint)\r\n },\r\n getVisiblePoints: function() {\r\n return _map(this._points, (function(p) {\r\n return p.isVisible() ? p : null\r\n }))\r\n },\r\n getPointsByKeys: function(arg, argumentIndex) {\r\n var pointsByArg = this.getPointsByArg(arg);\r\n return pointsByArg[argumentIndex] && [pointsByArg[argumentIndex]] || []\r\n }\r\n});\r\nexport var doughnut = pie;\r\nexport var donut = pie;\r\n","/**\r\n * DevExtreme (esm/viz/series/financial_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n chart as scatterSeries\r\n} from \"./scatter_series\";\r\nimport {\r\n chart as barChart\r\n} from \"./bar_series\";\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined as _isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n normalizeEnum as _normalizeEnum,\r\n extractColor\r\n} from \"../core/utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nvar barSeries = barChart.bar;\r\nvar DEFAULT_FINANCIAL_POINT_SIZE = 10;\r\nexport var stock = _extend({}, scatterSeries, {\r\n _animate: _noop,\r\n _applyMarkerClipRect: function(settings) {\r\n settings[\"clip-path\"] = this._forceClipping ? this._paneClipRectID : this._widePaneClipRectID\r\n },\r\n _updatePointsVisibility: barSeries._updatePointsVisibility,\r\n _getOptionsForPoint: barSeries._getOptionsForPoint,\r\n _createErrorBarGroup: _noop,\r\n areErrorBarsVisible: _noop,\r\n _createGroups: scatterSeries._createGroups,\r\n _setMarkerGroupSettings: function() {\r\n var markersGroup = this._markersGroup;\r\n var styles = this._createPointStyles(this._getMarkerGroupOptions());\r\n var defaultStyle = _extend(styles.normal, {\r\n class: \"default-markers\"\r\n });\r\n var defaultPositiveStyle = _extend(styles.positive.normal, {\r\n class: \"default-positive-markers\"\r\n });\r\n var reductionStyle = _extend(styles.reduction.normal, {\r\n class: \"reduction-markers\"\r\n });\r\n var reductionPositiveStyle = _extend(styles.reductionPositive.normal, {\r\n class: \"reduction-positive-markers\"\r\n });\r\n var markerSettings = {\r\n class: \"dxc-markers\"\r\n };\r\n this._applyMarkerClipRect(markerSettings);\r\n markersGroup.attr(markerSettings);\r\n this._createGroup(\"defaultMarkersGroup\", markersGroup, markersGroup, defaultStyle);\r\n this._createGroup(\"reductionMarkersGroup\", markersGroup, markersGroup, reductionStyle);\r\n this._createGroup(\"defaultPositiveMarkersGroup\", markersGroup, markersGroup, defaultPositiveStyle);\r\n this._createGroup(\"reductionPositiveMarkersGroup\", markersGroup, markersGroup, reductionPositiveStyle)\r\n },\r\n _setGroupsSettings: function() {\r\n scatterSeries._setGroupsSettings.call(this, false)\r\n },\r\n _getCreatingPointOptions: function() {\r\n var defaultPointOptions;\r\n var creatingPointOptions = this._predefinedPointOptions;\r\n if (!creatingPointOptions) {\r\n defaultPointOptions = this._getPointOptions();\r\n this._predefinedPointOptions = creatingPointOptions = _extend(true, {\r\n styles: {}\r\n }, defaultPointOptions);\r\n creatingPointOptions.styles.normal = creatingPointOptions.styles.positive.normal = creatingPointOptions.styles.reduction.normal = creatingPointOptions.styles.reductionPositive.normal = {\r\n \"stroke-width\": defaultPointOptions.styles && defaultPointOptions.styles.normal && defaultPointOptions.styles.normal[\"stroke-width\"]\r\n }\r\n }\r\n return creatingPointOptions\r\n },\r\n _checkData: function(data, skippedFields) {\r\n var valueFields = this.getValueFields();\r\n return scatterSeries._checkData.call(this, data, skippedFields, {\r\n openValue: valueFields[0],\r\n highValue: valueFields[1],\r\n lowValue: valueFields[2],\r\n closeValue: valueFields[3]\r\n }) && data.highValue === data.highValue && data.lowValue === data.lowValue\r\n },\r\n _getPointDataSelector: function(data, options) {\r\n var that = this;\r\n var level;\r\n var valueFields = that.getValueFields();\r\n var argumentField = that.getArgumentField();\r\n var openValueField = valueFields[0];\r\n var highValueField = valueFields[1];\r\n var lowValueField = valueFields[2];\r\n var closeValueField = valueFields[3];\r\n that.level = that._options.reduction.level;\r\n switch (_normalizeEnum(that.level)) {\r\n case \"open\":\r\n level = openValueField;\r\n break;\r\n case \"high\":\r\n level = highValueField;\r\n break;\r\n case \"low\":\r\n level = lowValueField;\r\n break;\r\n default:\r\n level = closeValueField;\r\n that.level = \"close\"\r\n }\r\n var prevLevelValue;\r\n return data => {\r\n var reductionValue = data[level];\r\n var isReduction = false;\r\n if (_isDefined(reductionValue)) {\r\n if (_isDefined(prevLevelValue)) {\r\n isReduction = reductionValue < prevLevelValue\r\n }\r\n prevLevelValue = reductionValue\r\n }\r\n return {\r\n argument: data[argumentField],\r\n highValue: this._processEmptyValue(data[highValueField]),\r\n lowValue: this._processEmptyValue(data[lowValueField]),\r\n closeValue: this._processEmptyValue(data[closeValueField]),\r\n openValue: this._processEmptyValue(data[openValueField]),\r\n reductionValue: reductionValue,\r\n tag: data[that.getTagField()],\r\n isReduction: isReduction,\r\n data: data\r\n }\r\n }\r\n },\r\n _parsePointStyle: function(style, defaultColor, innerColor) {\r\n var color = extractColor(style.color, true);\r\n return {\r\n stroke: color || defaultColor,\r\n \"stroke-width\": style.width,\r\n fill: color || innerColor\r\n }\r\n },\r\n _getDefaultStyle: function(options) {\r\n var mainPointColor = extractColor(options.color, true) || this._options.mainSeriesColor;\r\n return {\r\n normal: this._parsePointStyle(options, mainPointColor, mainPointColor),\r\n hover: this._parsePointStyle(options.hoverStyle, mainPointColor, mainPointColor),\r\n selection: this._parsePointStyle(options.selectionStyle, mainPointColor, mainPointColor)\r\n }\r\n },\r\n _getReductionStyle: function(options) {\r\n var reductionColor = options.reduction.color;\r\n return {\r\n normal: this._parsePointStyle({\r\n color: reductionColor,\r\n width: options.width,\r\n hatching: options.hatching\r\n }, reductionColor, reductionColor),\r\n hover: this._parsePointStyle(options.hoverStyle, reductionColor, reductionColor),\r\n selection: this._parsePointStyle(options.selectionStyle, reductionColor, reductionColor)\r\n }\r\n },\r\n _createPointStyles: function(pointOptions) {\r\n var innerColor = this._options.innerColor;\r\n var styles = this._getDefaultStyle(pointOptions);\r\n var positiveStyle = _extend(true, {}, styles);\r\n var reductionStyle = this._getReductionStyle(pointOptions);\r\n var reductionPositiveStyle = _extend(true, {}, reductionStyle);\r\n positiveStyle.normal.fill = positiveStyle.hover.fill = positiveStyle.selection.fill = innerColor;\r\n reductionPositiveStyle.normal.fill = reductionPositiveStyle.hover.fill = reductionPositiveStyle.selection.fill = innerColor;\r\n styles.positive = positiveStyle;\r\n styles.reduction = reductionStyle;\r\n styles.reductionPositive = reductionPositiveStyle;\r\n styles.labelColor = innerColor;\r\n return styles\r\n },\r\n _endUpdateData: function() {\r\n delete this._predefinedPointOptions\r\n },\r\n _defaultAggregator: \"ohlc\",\r\n _aggregators: {\r\n ohlc: (_ref, series) => {\r\n var {\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd,\r\n data: data\r\n } = _ref;\r\n if (!data.length) {\r\n return\r\n }\r\n var result = {};\r\n var valueFields = series.getValueFields();\r\n var highValueField = valueFields[1];\r\n var lowValueField = valueFields[2];\r\n result[highValueField] = -1 / 0;\r\n result[lowValueField] = 1 / 0;\r\n result = data.reduce((function(result, item) {\r\n if (null !== item[highValueField]) {\r\n result[highValueField] = Math.max(result[highValueField], item[highValueField])\r\n }\r\n if (null !== item[lowValueField]) {\r\n result[lowValueField] = Math.min(result[lowValueField], item[lowValueField])\r\n }\r\n return result\r\n }), result);\r\n result[valueFields[0]] = data[0][valueFields[0]];\r\n result[valueFields[3]] = data[data.length - 1][valueFields[3]];\r\n if (!isFinite(result[highValueField])) {\r\n result[highValueField] = null\r\n }\r\n if (!isFinite(result[lowValueField])) {\r\n result[lowValueField] = null\r\n }\r\n result[series.getArgumentField()] = series._getIntervalCenter(intervalStart, intervalEnd);\r\n return result\r\n }\r\n },\r\n getValueFields: function() {\r\n var options = this._options;\r\n return [options.openValueField || \"open\", options.highValueField || \"high\", options.lowValueField || \"low\", options.closeValueField || \"close\"]\r\n },\r\n getArgumentField: function() {\r\n return this._options.argumentField || \"date\"\r\n },\r\n _patchMarginOptions: function(options) {\r\n var pointOptions = this._getCreatingPointOptions();\r\n var styles = pointOptions.styles;\r\n var border = [styles.normal, styles.hover, styles.selection].reduce((function(max, style) {\r\n return Math.max(max, style[\"stroke-width\"])\r\n }), 0);\r\n options.size = DEFAULT_FINANCIAL_POINT_SIZE + border;\r\n options.sizePointNormalState = DEFAULT_FINANCIAL_POINT_SIZE;\r\n return options\r\n },\r\n getSeriesPairCoord(coord, isArgument) {\r\n var oppositeCoord = null;\r\n var points = this.getVisiblePoints();\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n var tmpCoord = void 0;\r\n if (isArgument) {\r\n tmpCoord = p.vx === coord ? (p.openY + p.closeY) / 2 : void 0\r\n } else {\r\n var coords = [Math.min(p.lowY, p.highY), Math.max(p.lowY, p.highY)];\r\n tmpCoord = coord >= coords[0] && coord <= coords[1] ? p.vx : void 0\r\n }\r\n if (this._checkAxisVisibleAreaCoord(!isArgument, tmpCoord)) {\r\n oppositeCoord = tmpCoord;\r\n break\r\n }\r\n }\r\n return oppositeCoord\r\n },\r\n usePointsToDefineAutoHiding: () => false\r\n});\r\nexport var candlestick = _extend({}, stock, {\r\n _parsePointStyle: function(style, defaultColor, innerColor) {\r\n var color = extractColor(style.color, true) || innerColor;\r\n var base = stock._parsePointStyle.call(this, style, defaultColor, color);\r\n base.fill = color;\r\n base.hatching = style.hatching;\r\n return base\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/series/stacked_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n chart as areaSeries\r\n} from \"./area_series\";\r\nvar chartAreaSeries = areaSeries.area;\r\nimport {\r\n chart as _chart,\r\n polar as _polar\r\n} from \"./bar_series\";\r\nvar chartBarSeries = _chart.bar;\r\nimport {\r\n chart as lineSeries\r\n} from \"./line_series\";\r\nimport {\r\n map\r\n} from \"../core/utils\";\r\nimport {\r\n clone\r\n} from \"../../core/utils/object\";\r\nvar baseStackedSeries = {\r\n _calculateErrorBars: _noop,\r\n _updateOptions: function(options) {\r\n this._stackName = \"axis_\" + (options.axis || \"default\")\r\n }\r\n};\r\nvar chart = {};\r\nvar polar = {};\r\nchart.stackedline = _extend({}, lineSeries.line, baseStackedSeries, {});\r\nchart.stackedspline = _extend({}, lineSeries.spline, baseStackedSeries, {});\r\nchart.fullstackedline = _extend({}, lineSeries.line, baseStackedSeries, {\r\n getValueRangeInitialValue: areaSeries.area.getValueRangeInitialValue\r\n});\r\nchart.fullstackedspline = _extend({}, lineSeries.spline, baseStackedSeries, {\r\n getValueRangeInitialValue: areaSeries.area.getValueRangeInitialValue\r\n});\r\nvar stackedBar = chart.stackedbar = _extend({}, chartBarSeries, baseStackedSeries, {\r\n _updateOptions: function(options) {\r\n baseStackedSeries._updateOptions.call(this, options);\r\n this._stackName = this._stackName + \"_stack_\" + (options.stack || \"default\")\r\n }\r\n});\r\nchart.fullstackedbar = _extend({}, chartBarSeries, baseStackedSeries, {\r\n _updateOptions: stackedBar._updateOptions\r\n});\r\n\r\nfunction clonePoint(point, value, minValue, position) {\r\n point = clone(point);\r\n point.value = value;\r\n point.minValue = minValue;\r\n point.translate();\r\n point.argument = point.argument + position;\r\n return point\r\n}\r\n\r\nfunction preparePointsForStackedAreaSegment(points) {\r\n var i = 0;\r\n var p;\r\n var result = [];\r\n var array;\r\n var len = points.length;\r\n while (i < len) {\r\n p = points[i];\r\n array = [p];\r\n if (p.leftHole) {\r\n array = [clonePoint(p, p.leftHole, p.minLeftHole, \"left\"), p]\r\n }\r\n if (p.rightHole) {\r\n array.push(clonePoint(p, p.rightHole, p.minRightHole, \"right\"))\r\n }\r\n result.push(array);\r\n i++\r\n }\r\n return [].concat.apply([], result)\r\n}\r\nchart.stackedarea = _extend({}, chartAreaSeries, baseStackedSeries, {\r\n _prepareSegment: function(points, rotated) {\r\n return chartAreaSeries._prepareSegment.call(this, preparePointsForStackedAreaSegment(points), rotated)\r\n },\r\n _appendInGroup: function() {\r\n this._group.append(this._extGroups.seriesGroup).toBackground()\r\n }\r\n});\r\n\r\nfunction getPointsByArgFromPrevSeries(prevSeries, argument) {\r\n var result;\r\n while (!result && prevSeries) {\r\n result = prevSeries._segmentByArg && prevSeries._segmentByArg[argument];\r\n prevSeries = prevSeries._prevSeries\r\n }\r\n return result\r\n}\r\nchart.stackedsplinearea = _extend({}, areaSeries.splinearea, baseStackedSeries, {\r\n _prepareSegment: function(points, rotated) {\r\n var that = this;\r\n var areaSegment;\r\n points = preparePointsForStackedAreaSegment(points);\r\n if (!this._prevSeries || 1 === points.length) {\r\n areaSegment = areaSeries.splinearea._prepareSegment.call(this, points, rotated)\r\n } else {\r\n var forwardPoints = lineSeries.spline._calculateBezierPoints(points, rotated);\r\n var backwardPoints = map(points, (function(p) {\r\n var point = p.getCoords(true);\r\n point.argument = p.argument;\r\n return point\r\n }));\r\n var prevSeriesForwardPoints = [];\r\n var pointByArg = {};\r\n var i = 0;\r\n var len = that._prevSeries._segments.length;\r\n while (i < len) {\r\n prevSeriesForwardPoints = prevSeriesForwardPoints.concat(that._prevSeries._segments[i].line);\r\n i++\r\n }\r\n each(prevSeriesForwardPoints, (function(_, p) {\r\n if (null !== p.argument) {\r\n var argument = p.argument.valueOf();\r\n if (!pointByArg[argument]) {\r\n pointByArg[argument] = [p]\r\n } else {\r\n pointByArg[argument].push(p)\r\n }\r\n }\r\n }));\r\n that._prevSeries._segmentByArg = pointByArg;\r\n backwardPoints = lineSeries.spline._calculateBezierPoints(backwardPoints, rotated);\r\n each(backwardPoints, (function(i, p) {\r\n var argument = p.argument.valueOf();\r\n var prevSeriesPoints;\r\n if (i % 3 === 0) {\r\n prevSeriesPoints = pointByArg[argument] || getPointsByArgFromPrevSeries(that._prevSeries, argument);\r\n if (prevSeriesPoints) {\r\n backwardPoints[i - 1] && prevSeriesPoints[0] && (backwardPoints[i - 1] = prevSeriesPoints[0]);\r\n backwardPoints[i + 1] && (backwardPoints[i + 1] = prevSeriesPoints[2] || p)\r\n }\r\n }\r\n }));\r\n areaSegment = {\r\n line: forwardPoints,\r\n area: forwardPoints.concat(backwardPoints.reverse())\r\n };\r\n that._areaPointsToSplineAreaPoints(areaSegment.area)\r\n }\r\n return areaSegment\r\n },\r\n _appendInGroup: chart.stackedarea._appendInGroup\r\n});\r\nchart.fullstackedarea = _extend({}, chartAreaSeries, baseStackedSeries, {\r\n _prepareSegment: chart.stackedarea._prepareSegment,\r\n _appendInGroup: chart.stackedarea._appendInGroup\r\n});\r\nchart.fullstackedsplinearea = _extend({}, areaSeries.splinearea, baseStackedSeries, {\r\n _prepareSegment: chart.stackedsplinearea._prepareSegment,\r\n _appendInGroup: chart.stackedarea._appendInGroup\r\n});\r\npolar.stackedbar = _extend({}, _polar.bar, baseStackedSeries, {});\r\nexport {\r\n chart,\r\n polar\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/series/base_series.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar seriesNS = {};\r\nimport {\r\n isFunction,\r\n isDefined as _isDefined,\r\n isEmptyObject as _isEmptyObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n Point\r\n} from \"./points/base_point\";\r\nimport {\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport consts from \"../components/consts\";\r\nvar states = consts.states;\r\nimport rangeCalculator from \"./helpers/range_data_calculator\";\r\nimport * as scatterSeries from \"./scatter_series\";\r\nimport * as lineSeries from \"./line_series\";\r\nimport * as areaSeries from \"./area_series\";\r\nimport * as barSeries from \"./bar_series\";\r\nimport {\r\n chart as rangeSeriesChart\r\n} from \"./range_series\";\r\nimport {\r\n chart as bubbleSeriesChart\r\n} from \"./bubble_series\";\r\nimport * as pieSeries from \"./pie_series\";\r\nimport * as financialSeries from \"./financial_series\";\r\nimport * as stackedSeries from \"./stacked_series\";\r\nvar DISCRETE = \"discrete\";\r\nvar SELECTED_STATE = states.selectedMark;\r\nvar HOVER_STATE = states.hoverMark;\r\nvar HOVER = states.hover;\r\nvar NORMAL = states.normal;\r\nvar SELECTION = states.selection;\r\nvar APPLY_SELECTED = states.applySelected;\r\nvar APPLY_HOVER = states.applyHover;\r\nvar RESET_ITEM = states.resetItem;\r\nvar NONE_MODE = \"none\";\r\nvar INCLUDE_POINTS = \"includepoints\";\r\nvar NEAREST_POINT = \"nearestpoint\";\r\nvar SERIES_SELECTION_CHANGED = \"seriesSelectionChanged\";\r\nvar POINT_SELECTION_CHANGED = \"pointSelectionChanged\";\r\nvar SERIES_HOVER_CHANGED = \"seriesHoverChanged\";\r\nvar POINT_HOVER_CHANGED = \"pointHoverChanged\";\r\nvar ALL_SERIES_POINTS = \"allseriespoints\";\r\nvar ALL_ARGUMENT_POINTS = \"allargumentpoints\";\r\nvar POINT_HOVER = \"pointHover\";\r\nvar CLEAR_POINT_HOVER = \"clearPointHover\";\r\nvar SERIES_SELECT = \"seriesSelect\";\r\nvar POINT_SELECT = \"pointSelect\";\r\nvar POINT_DESELECT = \"pointDeselect\";\r\nvar getEmptyBusinessRange = function() {\r\n return {\r\n arg: {},\r\n val: {}\r\n }\r\n};\r\n\r\nfunction triggerEvent(element, event, point) {\r\n element && element.trigger(event, point)\r\n}\r\nseriesNS.mixins = {\r\n chart: {},\r\n pie: {},\r\n polar: {}\r\n};\r\nseriesNS.mixins.chart.scatter = scatterSeries.chart;\r\nseriesNS.mixins.polar.scatter = scatterSeries.polar;\r\n_extend(seriesNS.mixins.pie, pieSeries);\r\n_extend(seriesNS.mixins.chart, lineSeries.chart, areaSeries.chart, barSeries.chart, rangeSeriesChart, bubbleSeriesChart, financialSeries, stackedSeries.chart);\r\n_extend(seriesNS.mixins.polar, lineSeries.polar, areaSeries.polar, barSeries.polar, stackedSeries.polar);\r\n\r\nfunction includePointsMode(mode) {\r\n mode = _normalizeEnum(mode);\r\n return mode === INCLUDE_POINTS || mode === ALL_SERIES_POINTS\r\n}\r\n\r\nfunction getLabelOptions(labelOptions, defaultColor) {\r\n var opt = labelOptions || {};\r\n var labelFont = _extend({}, opt.font) || {};\r\n var labelBorder = opt.border || {};\r\n var labelConnector = opt.connector || {};\r\n var backgroundAttr = {\r\n fill: opt.backgroundColor || defaultColor,\r\n \"stroke-width\": labelBorder.visible ? labelBorder.width || 0 : 0,\r\n stroke: labelBorder.visible && labelBorder.width ? labelBorder.color : \"none\",\r\n dashStyle: labelBorder.dashStyle\r\n };\r\n var connectorAttr = {\r\n stroke: labelConnector.visible && labelConnector.width ? labelConnector.color || defaultColor : \"none\",\r\n \"stroke-width\": labelConnector.visible ? labelConnector.width || 0 : 0\r\n };\r\n labelFont.color = \"none\" === opt.backgroundColor && \"#ffffff\" === _normalizeEnum(labelFont.color) && \"inside\" !== opt.position ? defaultColor : labelFont.color;\r\n return {\r\n alignment: opt.alignment,\r\n format: opt.format,\r\n argumentFormat: opt.argumentFormat,\r\n customizeText: isFunction(opt.customizeText) ? opt.customizeText : void 0,\r\n attributes: {\r\n font: labelFont\r\n },\r\n visible: 0 !== labelFont.size ? opt.visible : false,\r\n showForZeroValues: opt.showForZeroValues,\r\n horizontalOffset: opt.horizontalOffset,\r\n verticalOffset: opt.verticalOffset,\r\n radialOffset: opt.radialOffset,\r\n background: backgroundAttr,\r\n position: opt.position,\r\n connector: connectorAttr,\r\n rotationAngle: opt.rotationAngle,\r\n wordWrap: opt.wordWrap,\r\n textOverflow: opt.textOverflow,\r\n cssClass: opt.cssClass,\r\n displayFormat: opt.displayFormat\r\n }\r\n}\r\n\r\nfunction setPointHoverState(point, legendCallback) {\r\n point.fullState |= HOVER_STATE;\r\n point.applyView(legendCallback)\r\n}\r\n\r\nfunction releasePointHoverState(point, legendCallback) {\r\n point.fullState &= ~HOVER_STATE;\r\n point.applyView(legendCallback);\r\n point.releaseHoverState()\r\n}\r\n\r\nfunction setPointSelectedState(point, legendCallback) {\r\n point.fullState |= SELECTED_STATE;\r\n point.applyView(legendCallback)\r\n}\r\n\r\nfunction releasePointSelectedState(point, legendCallback) {\r\n point.fullState &= ~SELECTED_STATE;\r\n point.applyView(legendCallback)\r\n}\r\n\r\nfunction mergePointOptionsCore(base, extra) {\r\n var options = _extend({}, base, extra);\r\n options.border = _extend({}, base && base.border, extra && extra.border);\r\n return options\r\n}\r\n\r\nfunction mergePointOptions(base, extra) {\r\n var options = mergePointOptionsCore(base, extra);\r\n options.image = _extend(true, {}, base.image, extra.image);\r\n options.selectionStyle = mergePointOptionsCore(base.selectionStyle, extra.selectionStyle);\r\n options.hoverStyle = mergePointOptionsCore(base.hoverStyle, extra.hoverStyle);\r\n return options\r\n}\r\nexport function Series(settings, options) {\r\n this.fullState = 0;\r\n this._extGroups = settings;\r\n this._renderer = settings.renderer;\r\n this._group = settings.renderer.g().attr({\r\n class: \"dxc-series\"\r\n });\r\n this._eventTrigger = settings.eventTrigger;\r\n this._eventPipe = settings.eventPipe;\r\n this._incidentOccurred = settings.incidentOccurred;\r\n this._legendCallback = _noop;\r\n this.updateOptions(options, settings)\r\n}\r\n\r\nfunction getData(pointData) {\r\n return pointData.data\r\n}\r\n\r\nfunction getValueChecker(axisType, axis) {\r\n if (!axis || \"logarithmic\" !== axisType || false !== axis.getOptions().allowNegatives) {\r\n return () => true\r\n } else {\r\n return value => value > 0\r\n }\r\n}\r\nSeries.prototype = {\r\n constructor: Series,\r\n _createLegendState: _noop,\r\n getLegendStyles: function() {\r\n return this._styles.legendStyles\r\n },\r\n _createStyles: function(options) {\r\n var mainSeriesColor = options.mainSeriesColor;\r\n var colorId = this._getColorId(options);\r\n var hoverStyle = options.hoverStyle || {};\r\n var selectionStyle = options.selectionStyle || {};\r\n if (colorId) {\r\n this._turnOffHatching(hoverStyle, selectionStyle)\r\n }\r\n this._styles = {\r\n labelColor: mainSeriesColor,\r\n normal: this._parseStyle(options, mainSeriesColor, mainSeriesColor),\r\n hover: this._parseStyle(hoverStyle, colorId || mainSeriesColor, mainSeriesColor),\r\n selection: this._parseStyle(selectionStyle, colorId || mainSeriesColor, mainSeriesColor),\r\n legendStyles: {\r\n normal: this._createLegendState(options, colorId || mainSeriesColor),\r\n hover: this._createLegendState(hoverStyle, colorId || mainSeriesColor),\r\n selection: this._createLegendState(selectionStyle, colorId || mainSeriesColor)\r\n }\r\n }\r\n },\r\n setClippingParams(baseId, wideId, forceClipping) {\r\n var clipLabels = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : true;\r\n this._paneClipRectID = baseId;\r\n this._widePaneClipRectID = wideId;\r\n this._forceClipping = forceClipping;\r\n this._clipLabels = clipLabels\r\n },\r\n applyClip: function() {\r\n this._group.attr({\r\n \"clip-path\": this._paneClipRectID\r\n })\r\n },\r\n resetClip: function() {\r\n this._group.attr({\r\n \"clip-path\": null\r\n })\r\n },\r\n getTagField: function() {\r\n return this._options.tagField || \"tag\"\r\n },\r\n getValueFields: _noop,\r\n getSizeField: _noop,\r\n getArgumentField: _noop,\r\n getPoints: function() {\r\n return this._points\r\n },\r\n getPointsInViewPort: function() {\r\n return rangeCalculator.getPointsInViewPort(this)\r\n },\r\n _createPoint: function(data, index, oldPoint) {\r\n data.index = index;\r\n var pointsByArgument = this.pointsByArgument;\r\n var options = this._getCreatingPointOptions(data);\r\n var arg = data.argument.valueOf();\r\n var point = oldPoint;\r\n if (point) {\r\n point.update(data, options)\r\n } else {\r\n point = new Point(this, data, options);\r\n if (this.isSelected() && includePointsMode(this.lastSelectionMode)) {\r\n point.setView(SELECTION)\r\n }\r\n }\r\n var pointByArgument = pointsByArgument[arg];\r\n if (pointByArgument) {\r\n pointByArgument.push(point)\r\n } else {\r\n pointsByArgument[arg] = [point]\r\n }\r\n if (point.hasValue()) {\r\n this.customizePoint(point, data)\r\n }\r\n return point\r\n },\r\n getRangeData: function() {\r\n return this._visible ? this._getRangeData() : getEmptyBusinessRange()\r\n },\r\n getArgumentRange: function() {\r\n return this._visible ? rangeCalculator.getArgumentRange(this) : getEmptyBusinessRange()\r\n },\r\n getViewport: function() {\r\n return rangeCalculator.getViewport(this)\r\n },\r\n _deleteGroup: function(groupName) {\r\n var group = this[groupName];\r\n if (group) {\r\n group.dispose();\r\n this[groupName] = null\r\n }\r\n },\r\n updateOptions(newOptions, settings) {\r\n var widgetType = newOptions.widgetType;\r\n var oldType = this.type;\r\n var newType = newOptions.type;\r\n this.type = newType && _normalizeEnum(newType.toString());\r\n if (!this._checkType(widgetType) || this._checkPolarBarType(widgetType, newOptions)) {\r\n this.dispose();\r\n this.isUpdated = false;\r\n return\r\n }\r\n if (oldType !== this.type) {\r\n this._firstDrawing = true;\r\n this._resetType(oldType, widgetType);\r\n this._setType(this.type, widgetType)\r\n } else {\r\n this._defineDrawingState()\r\n }\r\n this._options = newOptions;\r\n this._pointOptions = null;\r\n this.name = newOptions.name;\r\n this.pane = newOptions.pane;\r\n this.tag = newOptions.tag;\r\n if (settings) {\r\n this._seriesModes = settings.commonSeriesModes || this._seriesModes;\r\n this._valueAxis = settings.valueAxis || this._valueAxis;\r\n this.axis = this._valueAxis && this._valueAxis.name;\r\n this._argumentAxis = settings.argumentAxis || this._argumentAxis\r\n }\r\n this._createStyles(newOptions);\r\n this._stackName = null;\r\n this._updateOptions(newOptions);\r\n this._visible = newOptions.visible;\r\n this.isUpdated = true;\r\n this.stack = newOptions.stack;\r\n this.barOverlapGroup = newOptions.barOverlapGroup;\r\n this._createGroups();\r\n this._processEmptyValue = newOptions.ignoreEmptyPoints ? x => null === x ? void 0 : x : x => x\r\n },\r\n _defineDrawingState() {\r\n this._firstDrawing = true\r\n },\r\n _disposePoints: function(points) {\r\n _each(points || [], (function(_, p) {\r\n p.dispose()\r\n }))\r\n },\r\n updateDataType: function(settings) {\r\n this.argumentType = settings.argumentType;\r\n this.valueType = settings.valueType;\r\n this.argumentAxisType = settings.argumentAxisType;\r\n this.valueAxisType = settings.valueAxisType;\r\n this.showZero = settings.showZero;\r\n this._argumentChecker = getValueChecker(settings.argumentAxisType, this.getArgumentAxis());\r\n this._valueChecker = getValueChecker(settings.valueAxisType, this.getValueAxis());\r\n return this\r\n },\r\n _argumentChecker: function() {\r\n return true\r\n },\r\n _valueChecker: function() {\r\n return true\r\n },\r\n getOptions: function() {\r\n return this._options\r\n },\r\n _getOldPoint: function(data, oldPointsByArgument, index) {\r\n var arg = data.argument && data.argument.valueOf();\r\n var point = (oldPointsByArgument[arg] || [])[0];\r\n if (point) {\r\n oldPointsByArgument[arg].splice(0, 1)\r\n }\r\n return point\r\n },\r\n updateData: function(data) {\r\n var options = this._options;\r\n var nameField = options.nameField;\r\n data = data || [];\r\n if (data.length) {\r\n this._canRenderCompleteHandle = true\r\n }\r\n var dataSelector = this._getPointDataSelector();\r\n var itemsWithoutArgument = 0;\r\n this._data = data.reduce((data, dataItem, index) => {\r\n var pointDataItem = dataSelector(dataItem);\r\n if (_isDefined(pointDataItem.argument)) {\r\n if (!nameField || dataItem[nameField] === options.nameFieldValue) {\r\n pointDataItem.index = index;\r\n data.push(pointDataItem)\r\n }\r\n } else {\r\n itemsWithoutArgument++\r\n }\r\n return data\r\n }, []);\r\n if (itemsWithoutArgument && itemsWithoutArgument === data.length) {\r\n this._incidentOccurred(\"W2002\", [this.name, this.getArgumentField()])\r\n }\r\n this._endUpdateData()\r\n },\r\n _getData() {\r\n var data = this._data || [];\r\n if (this.useAggregation()) {\r\n var argumentRange = this.argumentAxisType !== DISCRETE ? this.getArgumentRange() : {};\r\n var aggregationInfo = this.getArgumentAxis().getAggregationInfo(this._useAllAggregatedPoints, argumentRange);\r\n data = this._resample(aggregationInfo, data)\r\n }\r\n return data\r\n },\r\n useAggregation: function() {\r\n var aggregation = this.getOptions().aggregation;\r\n return aggregation && aggregation.enabled\r\n },\r\n autoHidePointMarkersEnabled: _noop,\r\n usePointsToDefineAutoHiding: _noop,\r\n createPoints(useAllAggregatedPoints) {\r\n this._normalizeUsingAllAggregatedPoints(useAllAggregatedPoints);\r\n this._createPoints()\r\n },\r\n _normalizeUsingAllAggregatedPoints: function(useAllAggregatedPoints) {\r\n this._useAllAggregatedPoints = this.useAggregation() && (this.argumentAxisType === DISCRETE || (this._data || []).length > 1 && !!useAllAggregatedPoints)\r\n },\r\n _createPoints: function() {\r\n var that = this;\r\n var oldPointsByArgument = that.pointsByArgument || {};\r\n var data = that._getData();\r\n that.pointsByArgument = {};\r\n that._calculateErrorBars(data);\r\n var skippedFields = {};\r\n var points = data.reduce((points, pointDataItem) => {\r\n if (that._checkData(pointDataItem, skippedFields)) {\r\n var pointIndex = points.length;\r\n var oldPoint = that._getOldPoint(pointDataItem, oldPointsByArgument, pointIndex);\r\n var point = that._createPoint(pointDataItem, pointIndex, oldPoint);\r\n points.push(point)\r\n }\r\n return points\r\n }, []);\r\n for (var field in skippedFields) {\r\n if (skippedFields[field] === data.length) {\r\n that._incidentOccurred(\"W2002\", [that.name, field])\r\n }\r\n }\r\n Object.keys(oldPointsByArgument).forEach(key => that._disposePoints(oldPointsByArgument[key]));\r\n that._points = points\r\n },\r\n _removeOldSegments: function() {\r\n var that = this;\r\n var startIndex = that._segments.length;\r\n _each(that._graphics.splice(startIndex, that._graphics.length) || [], (function(_, elem) {\r\n that._removeElement(elem)\r\n }));\r\n if (that._trackers) {\r\n _each(that._trackers.splice(startIndex, that._trackers.length) || [], (function(_, elem) {\r\n elem.remove()\r\n }))\r\n }\r\n },\r\n _prepareSegmentsPosition() {\r\n var points = this._points || [];\r\n var isCloseSegment = points[0] && points[0].hasValue() && this._options.closed;\r\n var segments = points.reduce((function(segments, p) {\r\n var segment = segments.at(-1);\r\n if (!p.translated) {\r\n p.setDefaultCoords()\r\n }\r\n if (p.hasValue() && p.hasCoords()) {\r\n segment.push(p)\r\n } else if (!p.hasValue() && segment.length) {\r\n segments.push([])\r\n }\r\n return segments\r\n }), [\r\n []\r\n ]);\r\n this._drawSegments(segments, isCloseSegment, false)\r\n },\r\n _drawElements(animationEnabled, firstDrawing) {\r\n var that = this;\r\n var points = that._points || [];\r\n var isCloseSegment = points[0] && points[0].hasValue() && that._options.closed;\r\n var groupForPoint = {\r\n markers: that._markersGroup,\r\n errorBars: that._errorBarGroup\r\n };\r\n that._drawnPoints = [];\r\n that._graphics = that._graphics || [];\r\n that._segments = [];\r\n var segments = points.reduce((function(segments, p) {\r\n var segment = segments.at(-1);\r\n if (p.hasValue() && p.hasCoords()) {\r\n that._drawPoint({\r\n point: p,\r\n groups: groupForPoint,\r\n hasAnimation: animationEnabled,\r\n firstDrawing: firstDrawing\r\n });\r\n segment.push(p)\r\n } else if (!p.hasValue()) {\r\n segment.length && segments.push([])\r\n } else {\r\n p.setInvisibility()\r\n }\r\n return segments\r\n }), [\r\n []\r\n ]);\r\n that._drawSegments(segments, isCloseSegment, animationEnabled);\r\n that._firstDrawing = !points.length;\r\n that._removeOldSegments();\r\n animationEnabled && that._animate(firstDrawing)\r\n },\r\n _drawSegments(segments, closeSegment, animationEnabled) {\r\n segments.forEach((segment, index) => {\r\n if (segment.length) {\r\n var lastSegment = closeSegment && index === segments.length - 1;\r\n this._drawSegment(segment, animationEnabled, index, lastSegment)\r\n }\r\n })\r\n },\r\n draw(animationEnabled, hideLayoutLabels, legendCallback) {\r\n var firstDrawing = this._firstDrawing;\r\n this._legendCallback = legendCallback || this._legendCallback;\r\n if (!this._visible) {\r\n this._group.remove();\r\n return\r\n }\r\n this._appendInGroup();\r\n if (!this._isAllPointsTranslated) {\r\n this.prepareCoordinatesForPoints()\r\n }\r\n this._setGroupsSettings(animationEnabled, firstDrawing);\r\n !firstDrawing && !this._resetApplyingAnimation && this._prepareSegmentsPosition();\r\n this._drawElements(animationEnabled, firstDrawing);\r\n hideLayoutLabels && this.hideLabels();\r\n if (this.isSelected()) {\r\n this._changeStyle(this.lastSelectionMode, void 0, true)\r\n } else if (this.isHovered()) {\r\n this._changeStyle(this.lastHoverMode, void 0, true)\r\n } else {\r\n this._applyStyle(this._styles.normal)\r\n }\r\n this._isAllPointsTranslated = false;\r\n this._resetApplyingAnimation = false\r\n },\r\n _translatePoints() {\r\n var _this$_points;\r\n var points = null !== (_this$_points = this._points) && void 0 !== _this$_points ? _this$_points : [];\r\n points.forEach(p => {\r\n p.translate()\r\n })\r\n },\r\n prepareCoordinatesForPoints() {\r\n this._applyVisibleArea();\r\n this._translatePoints();\r\n this._isAllPointsTranslated = true\r\n },\r\n _setLabelGroupSettings: function(animationEnabled) {\r\n var settings = {\r\n class: \"dxc-labels\",\r\n \"pointer-events\": \"none\"\r\n };\r\n this._clipLabels && this._applyElementsClipRect(settings);\r\n this._applyClearingSettings(settings);\r\n animationEnabled && (settings.opacity = .001);\r\n this._labelsGroup.attr(settings).append(this._extGroups.labelsGroup)\r\n },\r\n _checkType: function(widgetType) {\r\n return !!seriesNS.mixins[widgetType][this.type]\r\n },\r\n _checkPolarBarType: function(widgetType, options) {\r\n return \"polar\" === widgetType && options.spiderWidget && -1 !== this.type.indexOf(\"bar\")\r\n },\r\n _resetType: function(seriesType, widgetType) {\r\n var methodName;\r\n var methods;\r\n if (seriesType) {\r\n methods = seriesNS.mixins[widgetType][seriesType];\r\n for (methodName in methods) {\r\n delete this[methodName]\r\n }\r\n }\r\n },\r\n _setType: function(seriesType, widgetType) {\r\n var methodName;\r\n var methods = seriesNS.mixins[widgetType][seriesType];\r\n for (methodName in methods) {\r\n this[methodName] = methods[methodName]\r\n }\r\n },\r\n _setPointsView: function(view, target) {\r\n this.getPoints().forEach((function(point) {\r\n if (target !== point) {\r\n point.setView(view)\r\n }\r\n }))\r\n },\r\n _resetPointsView: function(view, target) {\r\n this.getPoints().forEach((function(point) {\r\n if (target !== point) {\r\n point.resetView(view)\r\n }\r\n }))\r\n },\r\n _resetNearestPoint: function() {\r\n this._nearestPoint && null !== this._nearestPoint.series && this._nearestPoint.resetView(HOVER);\r\n this._nearestPoint = null\r\n },\r\n _setSelectedState: function(mode) {\r\n this.lastSelectionMode = _normalizeEnum(mode || this._options.selectionMode);\r\n this.fullState = this.fullState | SELECTED_STATE;\r\n this._resetNearestPoint();\r\n this._changeStyle(this.lastSelectionMode);\r\n if (this.lastSelectionMode !== NONE_MODE && this.isHovered() && includePointsMode(this.lastHoverMode)) {\r\n this._resetPointsView(HOVER)\r\n }\r\n },\r\n _releaseSelectedState: function() {\r\n this.fullState = this.fullState & ~SELECTED_STATE;\r\n this._changeStyle(this.lastSelectionMode, SELECTION);\r\n if (this.lastSelectionMode !== NONE_MODE && this.isHovered() && includePointsMode(this.lastHoverMode)) {\r\n this._setPointsView(HOVER)\r\n }\r\n },\r\n isFullStackedSeries: function() {\r\n return 0 === this.type.indexOf(\"fullstacked\")\r\n },\r\n isStackedSeries: function() {\r\n return 0 === this.type.indexOf(\"stacked\")\r\n },\r\n resetApplyingAnimation: function(isFirstDrawing) {\r\n this._resetApplyingAnimation = true;\r\n if (isFirstDrawing) {\r\n this._firstDrawing = true\r\n }\r\n },\r\n isFinancialSeries: function() {\r\n return \"stock\" === this.type || \"candlestick\" === this.type\r\n },\r\n _canChangeView: function() {\r\n return !this.isSelected() && _normalizeEnum(this._options.hoverMode) !== NONE_MODE\r\n },\r\n _changeStyle: function(mode, resetView, skipPoints) {\r\n var state = this.fullState;\r\n var styles = [NORMAL, HOVER, SELECTION, SELECTION];\r\n if (\"none\" === this.lastHoverMode) {\r\n state &= ~HOVER_STATE\r\n }\r\n if (\"none\" === this.lastSelectionMode) {\r\n state &= ~SELECTED_STATE\r\n }\r\n if (includePointsMode(mode) && !skipPoints) {\r\n if (!resetView) {\r\n this._setPointsView(styles[state])\r\n } else {\r\n this._resetPointsView(resetView)\r\n }\r\n }\r\n this._legendCallback([RESET_ITEM, APPLY_HOVER, APPLY_SELECTED, APPLY_SELECTED][state]);\r\n this._applyStyle(this._styles[styles[state]])\r\n },\r\n updateHover: function(x, y) {\r\n var currentNearestPoint = this._nearestPoint;\r\n var point = this.isHovered() && this.lastHoverMode === NEAREST_POINT && this.getNeighborPoint(x, y);\r\n if (point !== currentNearestPoint && !(this.isSelected() && this.lastSelectionMode !== NONE_MODE)) {\r\n this._resetNearestPoint();\r\n if (point) {\r\n point.setView(HOVER);\r\n this._nearestPoint = point\r\n }\r\n }\r\n },\r\n _getMainAxisName: function() {\r\n return this._options.rotated ? \"X\" : \"Y\"\r\n },\r\n areLabelsVisible: function() {\r\n return !_isDefined(this._options.maxLabelCount) || this._points.length <= this._options.maxLabelCount\r\n },\r\n getLabelVisibility: function() {\r\n return this.areLabelsVisible() && this._options.label && this._options.label.visible\r\n },\r\n customizePoint: function(point, pointData) {\r\n var options = this._options;\r\n var customizePoint = options.customizePoint;\r\n var customizeObject;\r\n var pointOptions;\r\n var customLabelOptions;\r\n var customOptions;\r\n var customizeLabel = options.customizeLabel;\r\n var useLabelCustomOptions;\r\n var usePointCustomOptions;\r\n if (customizeLabel && customizeLabel.call) {\r\n customizeObject = _extend({\r\n seriesName: this.name\r\n }, pointData);\r\n customizeObject.series = this;\r\n customLabelOptions = customizeLabel.call(customizeObject, customizeObject);\r\n useLabelCustomOptions = customLabelOptions && !_isEmptyObject(customLabelOptions);\r\n customLabelOptions = useLabelCustomOptions ? _extend(true, {}, options.label, customLabelOptions) : null\r\n }\r\n if (customizePoint && customizePoint.call) {\r\n customizeObject = customizeObject || _extend({\r\n seriesName: this.name\r\n }, pointData);\r\n customizeObject.series = this;\r\n customOptions = customizePoint.call(customizeObject, customizeObject);\r\n usePointCustomOptions = customOptions && !_isEmptyObject(customOptions)\r\n }\r\n if (useLabelCustomOptions || usePointCustomOptions) {\r\n pointOptions = this._parsePointOptions(this._preparePointOptions(customOptions), customLabelOptions || options.label, pointData, point);\r\n pointOptions.styles.useLabelCustomOptions = useLabelCustomOptions;\r\n pointOptions.styles.usePointCustomOptions = usePointCustomOptions;\r\n point.updateOptions(pointOptions)\r\n }\r\n },\r\n show: function() {\r\n if (!this._visible) {\r\n this._changeVisibility(true)\r\n }\r\n },\r\n hide: function() {\r\n if (this._visible) {\r\n this._changeVisibility(false)\r\n }\r\n },\r\n _changeVisibility: function(visibility) {\r\n this._visible = this._options.visible = visibility;\r\n this._updatePointsVisibility();\r\n this.hidePointTooltip();\r\n this._options.visibilityChanged(this)\r\n },\r\n _updatePointsVisibility: _noop,\r\n hideLabels: function() {\r\n _each(this._points, (function(_, point) {\r\n point._label.draw(false)\r\n }))\r\n },\r\n _turnOffHatching(hoverStyle, selectionStyle) {\r\n if (hoverStyle.hatching) {\r\n hoverStyle.hatching.direction = \"none\"\r\n }\r\n if (selectionStyle.hatching) {\r\n selectionStyle.hatching.direction = \"none\"\r\n }\r\n },\r\n _parsePointOptions: function(pointOptions, labelOptions, data, point) {\r\n var options = this._options;\r\n var styles = this._createPointStyles(pointOptions, data, point);\r\n var parsedOptions = _extend({}, pointOptions, {\r\n type: options.type,\r\n rotated: options.rotated,\r\n styles: styles,\r\n widgetType: options.widgetType,\r\n visibilityChanged: options.visibilityChanged\r\n });\r\n parsedOptions.label = getLabelOptions(labelOptions, styles.labelColor);\r\n if (this.areErrorBarsVisible()) {\r\n parsedOptions.errorBars = options.valueErrorBar\r\n }\r\n return parsedOptions\r\n },\r\n _preparePointOptions: function(customOptions) {\r\n var pointOptions = this._getOptionsForPoint();\r\n return customOptions ? mergePointOptions(pointOptions, customOptions) : pointOptions\r\n },\r\n _getMarkerGroupOptions: function() {\r\n return _extend(false, {}, this._getOptionsForPoint(), {\r\n hoverStyle: {},\r\n selectionStyle: {}\r\n })\r\n },\r\n _getAggregationMethod: function(isDiscrete, aggregateByCategory) {\r\n var options = this.getOptions().aggregation;\r\n var method = _normalizeEnum(options.method);\r\n var customAggregator = \"custom\" === method && options.calculate;\r\n var aggregator;\r\n if (isDiscrete && !aggregateByCategory) {\r\n aggregator = _ref => {\r\n var {\r\n data: data\r\n } = _ref;\r\n return data[0]\r\n }\r\n } else {\r\n aggregator = this._aggregators[method] || this._aggregators[this._defaultAggregator]\r\n }\r\n return customAggregator || aggregator\r\n },\r\n _resample(_ref2, data) {\r\n var {\r\n interval: interval,\r\n ticks: ticks,\r\n aggregateByCategory: aggregateByCategory\r\n } = _ref2;\r\n var that = this;\r\n var isDiscrete = that.argumentAxisType === DISCRETE || that.valueAxisType === DISCRETE;\r\n var dataIndex = 0;\r\n var dataSelector = this._getPointDataSelector();\r\n var options = that.getOptions();\r\n var addAggregatedData = (target, data, aggregationInfo) => {\r\n if (!data) {\r\n return\r\n }\r\n var processData = d => {\r\n var pointData = d && dataSelector(d, options);\r\n if (pointData && that._checkData(pointData)) {\r\n pointData.aggregationInfo = aggregationInfo;\r\n target.push(pointData)\r\n }\r\n };\r\n if (Array.isArray(data)) {\r\n data.forEach(processData)\r\n } else {\r\n processData(data)\r\n }\r\n };\r\n var aggregationMethod = this._getAggregationMethod(isDiscrete, aggregateByCategory);\r\n if (isDiscrete) {\r\n if (aggregateByCategory) {\r\n var categories = this.getArgumentAxis().getTranslator().getBusinessRange().categories;\r\n var groups = categories.reduce((g, category) => {\r\n g[category.valueOf()] = [];\r\n return g\r\n }, {});\r\n data.forEach(dataItem => {\r\n groups[dataItem.argument.valueOf()].push(dataItem)\r\n });\r\n return categories.reduce((result, c) => {\r\n addAggregatedData(result, aggregationMethod({\r\n aggregationInterval: null,\r\n intervalStart: c,\r\n intervalEnd: c,\r\n data: groups[c.valueOf()].map(getData)\r\n }, that));\r\n return result\r\n }, [])\r\n } else {\r\n return data.reduce((result, dataItem, index, data) => {\r\n result[1].push(dataItem);\r\n if (index === data.length - 1 || (index + 1) % interval === 0) {\r\n var dataInInterval = result[1];\r\n var aggregationInfo = {\r\n aggregationInterval: interval,\r\n data: dataInInterval.map(getData)\r\n };\r\n addAggregatedData(result[0], aggregationMethod(aggregationInfo, that));\r\n result[1] = []\r\n }\r\n return result\r\n }, [\r\n [],\r\n []\r\n ])[0]\r\n }\r\n }\r\n var aggregatedData = [];\r\n if (1 === ticks.length) {\r\n var aggregationInfo = {\r\n intervalStart: ticks[0],\r\n intervalEnd: ticks[0],\r\n aggregationInterval: null,\r\n data: data.map(getData)\r\n };\r\n addAggregatedData(aggregatedData, aggregationMethod(aggregationInfo, that), aggregationInfo)\r\n } else {\r\n for (var i = 1; i < ticks.length; i++) {\r\n var intervalEnd = ticks[i];\r\n var intervalStart = ticks[i - 1];\r\n var dataInInterval = [];\r\n while (data[dataIndex] && data[dataIndex].argument < intervalEnd) {\r\n if (data[dataIndex].argument >= intervalStart) {\r\n dataInInterval.push(data[dataIndex])\r\n }\r\n dataIndex++\r\n }\r\n var _aggregationInfo = {\r\n intervalStart: intervalStart,\r\n intervalEnd: intervalEnd,\r\n aggregationInterval: interval,\r\n data: dataInInterval.map(getData)\r\n };\r\n addAggregatedData(aggregatedData, aggregationMethod(_aggregationInfo, that), _aggregationInfo)\r\n }\r\n }\r\n that._endUpdateData();\r\n return aggregatedData\r\n },\r\n canRenderCompleteHandle: function() {\r\n var result = this._canRenderCompleteHandle;\r\n delete this._canRenderCompleteHandle;\r\n return !!result\r\n },\r\n isHovered: function() {\r\n return !!(1 & this.fullState)\r\n },\r\n isSelected: function() {\r\n return !!(2 & this.fullState)\r\n },\r\n isVisible: function() {\r\n return this._visible\r\n },\r\n getAllPoints: function() {\r\n this._createAllAggregatedPoints();\r\n return (this._points || []).slice()\r\n },\r\n getPointByPos: function(pos) {\r\n this._createAllAggregatedPoints();\r\n return (this._points || [])[pos]\r\n },\r\n getVisiblePoints: function() {\r\n return (this._drawnPoints || []).slice()\r\n },\r\n selectPoint: function(point) {\r\n if (!point.isSelected()) {\r\n setPointSelectedState(point, this._legendCallback);\r\n this._eventPipe({\r\n action: POINT_SELECT,\r\n target: point\r\n });\r\n this._eventTrigger(POINT_SELECTION_CHANGED, {\r\n target: point\r\n })\r\n }\r\n },\r\n deselectPoint: function(point) {\r\n if (point.isSelected()) {\r\n releasePointSelectedState(point, this._legendCallback);\r\n this._eventPipe({\r\n action: POINT_DESELECT,\r\n target: point\r\n });\r\n this._eventTrigger(POINT_SELECTION_CHANGED, {\r\n target: point\r\n })\r\n }\r\n },\r\n hover: function(mode) {\r\n var eventTrigger = this._eventTrigger;\r\n if (this.isHovered()) {\r\n return\r\n }\r\n this.lastHoverMode = _normalizeEnum(mode || this._options.hoverMode);\r\n this.fullState = this.fullState | HOVER_STATE;\r\n this._changeStyle(this.lastHoverMode, void 0, this.isSelected() && this.lastSelectionMode !== NONE_MODE);\r\n eventTrigger(SERIES_HOVER_CHANGED, {\r\n target: this\r\n })\r\n },\r\n clearHover: function() {\r\n var eventTrigger = this._eventTrigger;\r\n if (!this.isHovered()) {\r\n return\r\n }\r\n this._resetNearestPoint();\r\n this.fullState = this.fullState & ~HOVER_STATE;\r\n this._changeStyle(this.lastHoverMode, HOVER, this.isSelected() && this.lastSelectionMode !== NONE_MODE);\r\n eventTrigger(SERIES_HOVER_CHANGED, {\r\n target: this\r\n })\r\n },\r\n hoverPoint: function(point) {\r\n if (!point.isHovered()) {\r\n point.clearHover();\r\n setPointHoverState(point, this._legendCallback);\r\n this._canChangeView() && this._applyStyle(this._styles.hover);\r\n this._eventPipe({\r\n action: POINT_HOVER,\r\n target: point\r\n });\r\n this._eventTrigger(POINT_HOVER_CHANGED, {\r\n target: point\r\n })\r\n }\r\n },\r\n clearPointHover: function() {\r\n var that = this;\r\n that.getPoints().some((function(currentPoint) {\r\n if (currentPoint.isHovered()) {\r\n releasePointHoverState(currentPoint, that._legendCallback);\r\n that._canChangeView() && that._applyStyle(that._styles.normal);\r\n that._eventPipe({\r\n action: CLEAR_POINT_HOVER,\r\n target: currentPoint\r\n });\r\n that._eventTrigger(POINT_HOVER_CHANGED, {\r\n target: currentPoint\r\n });\r\n return true\r\n }\r\n return false\r\n }))\r\n },\r\n showPointTooltip: function(point) {\r\n triggerEvent(this._extGroups.seriesGroup, \"showpointtooltip\", point)\r\n },\r\n hidePointTooltip: function(point) {\r\n triggerEvent(this._extGroups.seriesGroup, \"hidepointtooltip\", point)\r\n },\r\n select: function() {\r\n if (!this.isSelected()) {\r\n this._setSelectedState(this._options.selectionMode);\r\n this._eventPipe({\r\n action: SERIES_SELECT,\r\n target: this\r\n });\r\n this._group.toForeground();\r\n this._eventTrigger(SERIES_SELECTION_CHANGED, {\r\n target: this\r\n })\r\n }\r\n },\r\n clearSelection: function() {\r\n if (this.isSelected()) {\r\n this._releaseSelectedState();\r\n this._eventTrigger(SERIES_SELECTION_CHANGED, {\r\n target: this\r\n })\r\n }\r\n },\r\n getPointsByArg: function(arg, skipPointsCreation) {\r\n var argValue = arg.valueOf();\r\n var points = this.pointsByArgument[argValue];\r\n if (!points && !skipPointsCreation && this._createAllAggregatedPoints()) {\r\n points = this.pointsByArgument[argValue]\r\n }\r\n return points || []\r\n },\r\n _createAllAggregatedPoints: function() {\r\n if (this.useAggregation() && !this._useAllAggregatedPoints) {\r\n this.createPoints(true);\r\n return true\r\n }\r\n return false\r\n },\r\n getPointsByKeys: function(arg) {\r\n return this.getPointsByArg(arg)\r\n },\r\n notify: function(data) {\r\n var that = this;\r\n var action = data.action;\r\n var seriesModes = that._seriesModes;\r\n var target = data.target;\r\n var targetOptions = target.getOptions();\r\n var pointHoverMode = _normalizeEnum(targetOptions.hoverMode);\r\n var selectionModeOfPoint = _normalizeEnum(targetOptions.selectionMode);\r\n if (action === POINT_HOVER) {\r\n that._hoverPointHandler(target, pointHoverMode, data.notifyLegend)\r\n } else if (action === CLEAR_POINT_HOVER) {\r\n that._clearPointHoverHandler(target, pointHoverMode, data.notifyLegend)\r\n } else if (action === SERIES_SELECT) {\r\n target !== that && \"single\" === seriesModes.seriesSelectionMode && that.clearSelection()\r\n } else if (action === POINT_SELECT) {\r\n if (\"single\" === seriesModes.pointSelectionMode) {\r\n that.getPoints().some((function(currentPoint) {\r\n if (currentPoint !== target && currentPoint.isSelected()) {\r\n that.deselectPoint(currentPoint);\r\n return true\r\n }\r\n return false\r\n }))\r\n }\r\n that._selectPointHandler(target, selectionModeOfPoint)\r\n } else if (action === POINT_DESELECT) {\r\n that._deselectPointHandler(target, selectionModeOfPoint)\r\n }\r\n },\r\n _selectPointHandler: function(target, mode) {\r\n if (mode === ALL_SERIES_POINTS) {\r\n target.series === this && this._setPointsView(SELECTION, target)\r\n } else if (mode === ALL_ARGUMENT_POINTS) {\r\n this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) {\r\n currentPoint !== target && currentPoint.setView(SELECTION)\r\n }))\r\n }\r\n },\r\n _deselectPointHandler: function(target, mode) {\r\n if (mode === ALL_SERIES_POINTS) {\r\n target.series === this && this._resetPointsView(SELECTION, target)\r\n } else if (mode === ALL_ARGUMENT_POINTS) {\r\n this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) {\r\n currentPoint !== target && currentPoint.resetView(SELECTION)\r\n }))\r\n }\r\n },\r\n _hoverPointHandler: function(target, mode, notifyLegend) {\r\n if (target.series !== this && mode === ALL_ARGUMENT_POINTS) {\r\n this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) {\r\n currentPoint.setView(HOVER)\r\n }));\r\n notifyLegend && this._legendCallback(target)\r\n } else if (mode === ALL_SERIES_POINTS && target.series === this) {\r\n this._setPointsView(HOVER, target)\r\n }\r\n },\r\n _clearPointHoverHandler: function(target, mode, notifyLegend) {\r\n if (mode === ALL_ARGUMENT_POINTS) {\r\n target.series !== this && this.getPointsByKeys(target.argument, target.argumentIndex).forEach((function(currentPoint) {\r\n currentPoint.resetView(HOVER)\r\n }));\r\n notifyLegend && this._legendCallback(target)\r\n } else if (mode === ALL_SERIES_POINTS && target.series === this) {\r\n this._resetPointsView(HOVER, target)\r\n }\r\n },\r\n _deletePoints: function() {\r\n this._disposePoints(this._points);\r\n this._points = this._drawnPoints = null\r\n },\r\n _deleteTrackers: function() {\r\n _each(this._trackers || [], (function(_, tracker) {\r\n tracker.remove()\r\n }));\r\n this._trackersGroup && this._trackersGroup.dispose();\r\n this._trackers = this._trackersGroup = null\r\n },\r\n dispose: function() {\r\n this._deletePoints();\r\n this._group.dispose();\r\n this._labelsGroup && this._labelsGroup.dispose();\r\n this._errorBarGroup && this._errorBarGroup.dispose();\r\n this._deleteTrackers();\r\n this._group = this._extGroups = this._markersGroup = this._elementsGroup = this._bordersGroup = this._labelsGroup = this._errorBarGroup = this._graphics = this._rangeData = this._renderer = this._styles = this._options = this._pointOptions = this._drawnPoints = this.pointsByArgument = this._segments = this._prevSeries = null\r\n },\r\n correctPosition: _noop,\r\n drawTrackers: _noop,\r\n getNeighborPoint: _noop,\r\n areErrorBarsVisible: _noop,\r\n _getColorId: _noop,\r\n getMarginOptions: function() {\r\n return this._patchMarginOptions({\r\n percentStick: this.isFullStackedSeries()\r\n })\r\n },\r\n getColor: function() {\r\n return this.getLegendStyles().normal.fill\r\n },\r\n getOpacity: function() {\r\n return this._options.opacity\r\n },\r\n getStackName: function() {\r\n return this._stackName\r\n },\r\n getBarOverlapGroup: function() {\r\n return this._options.barOverlapGroup\r\n },\r\n getPointByCoord: function(x, y) {\r\n var point = this.getNeighborPoint(x, y);\r\n return null !== point && void 0 !== point && point.coordsIn(x, y) ? point : null\r\n },\r\n getValueAxis: function() {\r\n return this._valueAxis\r\n },\r\n getArgumentAxis: function() {\r\n return this._argumentAxis\r\n },\r\n getMarkersGroup() {\r\n return this._markersGroup\r\n },\r\n getRenderer() {\r\n return this._renderer\r\n },\r\n removePointElements() {\r\n if (this._markersGroup) {\r\n _each(this._points, (_, p) => p.deleteMarker());\r\n this._markersGroup.dispose();\r\n this._markersGroup = null\r\n }\r\n },\r\n removeGraphicElements() {\r\n var that = this;\r\n if (that._elementsGroup) {\r\n that._elementsGroup.dispose();\r\n that._elementsGroup = null\r\n }\r\n _each(that._graphics || [], (_, elem) => {\r\n that._removeElement(elem)\r\n });\r\n that._graphics = null\r\n },\r\n removeBordersGroup() {\r\n if (this._bordersGroup) {\r\n this._bordersGroup.dispose();\r\n this._bordersGroup = null\r\n }\r\n }\r\n};\r\nexport var mixins = seriesNS.mixins;\r\n","/**\r\n * DevExtreme (esm/viz/components/chart_theme_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isString as _isString,\r\n isDefined as _isDefined,\r\n isNumeric,\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n BaseThemeManager\r\n} from \"../core/base_theme_manager\";\r\nimport {\r\n normalizeEnum as _normalizeEnum,\r\n extractColor\r\n} from \"../core/utils\";\r\nexport var ThemeManager = BaseThemeManager.inherit(function() {\r\n var processAxisOptions = function(axisOptions) {\r\n if (!axisOptions) {\r\n return {}\r\n }\r\n axisOptions = extend(true, {}, axisOptions);\r\n axisOptions.title = (options = axisOptions.title, _isString(options) ? {\r\n text: options\r\n } : options);\r\n var options;\r\n if (\"logarithmic\" === axisOptions.type && axisOptions.logarithmBase <= 0 || axisOptions.logarithmBase && !isNumeric(axisOptions.logarithmBase)) {\r\n axisOptions.logarithmBase = void 0;\r\n axisOptions.logarithmBaseError = true\r\n }\r\n if (axisOptions.label) {\r\n if (axisOptions.label.alignment) {\r\n axisOptions.label.userAlignment = true\r\n }\r\n }\r\n return axisOptions\r\n };\r\n var applyParticularAxisOptions = function(name, userOptions, rotated) {\r\n var theme = this._theme;\r\n var position = !(rotated ^ \"valueAxis\" === name) ? \"horizontalAxis\" : \"verticalAxis\";\r\n var processedUserOptions = processAxisOptions(userOptions);\r\n var commonAxisSettings = processAxisOptions(this._userOptions.commonAxisSettings);\r\n var mergeOptions = extend(true, {}, theme.commonAxisSettings, theme[position], theme[name], commonAxisSettings, processedUserOptions);\r\n mergeOptions.workWeek = processedUserOptions.workWeek || theme[name].workWeek;\r\n mergeOptions.forceUserTickInterval |= _isDefined(processedUserOptions.tickInterval) && !_isDefined(processedUserOptions.axisDivisionFactor);\r\n return mergeOptions\r\n };\r\n var mergeOptions = function(name, userOptions) {\r\n userOptions = userOptions || this._userOptions[name];\r\n var theme = this._theme[name];\r\n var result = this._mergedSettings[name];\r\n if (result) {\r\n return result\r\n }\r\n if (isPlainObject(theme) && isPlainObject(userOptions)) {\r\n result = extend(true, {}, theme, userOptions)\r\n } else {\r\n result = _isDefined(userOptions) ? userOptions : theme\r\n }\r\n this._mergedSettings[name] = result;\r\n return result\r\n };\r\n var applyParticularTheme = {\r\n base: mergeOptions,\r\n argumentAxis: applyParticularAxisOptions,\r\n valueAxisRangeSelector: function() {\r\n return mergeOptions.call(this, \"valueAxis\")\r\n },\r\n valueAxis: applyParticularAxisOptions,\r\n series: function(name, userOptions, seriesCount) {\r\n var that = this;\r\n var theme = that._theme;\r\n var userCommonSettings = that._userOptions.commonSeriesSettings || {};\r\n var themeCommonSettings = theme.commonSeriesSettings;\r\n var widgetType = that._themeSection.split(\".\").slice(-1)[0];\r\n var type = _normalizeEnum(userOptions.type || userCommonSettings.type || themeCommonSettings.type || \"pie\" === widgetType && theme.type);\r\n var palette = that.palette;\r\n var isBar = ~type.indexOf(\"bar\");\r\n var isLine = ~type.indexOf(\"line\");\r\n var isArea = ~type.indexOf(\"area\");\r\n var isBubble = \"bubble\" === type;\r\n var mainSeriesColor;\r\n var resolveLabelsOverlapping = that.getOptions(\"resolveLabelsOverlapping\");\r\n var containerBackgroundColor = that.getOptions(\"containerBackgroundColor\");\r\n var seriesTemplate = applyParticularTheme.seriesTemplate.call(this);\r\n var seriesVisibility;\r\n if (isBar || isBubble) {\r\n userOptions = extend(true, {}, userCommonSettings, userCommonSettings[type], userOptions);\r\n seriesVisibility = userOptions.visible;\r\n userCommonSettings = {\r\n type: {}\r\n };\r\n extend(true, userOptions, userOptions.point);\r\n userOptions.visible = seriesVisibility\r\n }\r\n var settings = extend(true, {\r\n aggregation: {}\r\n }, themeCommonSettings, themeCommonSettings[type], userCommonSettings, userCommonSettings[type], userOptions);\r\n settings.aggregation.enabled = \"chart\" === widgetType && !!settings.aggregation.enabled;\r\n settings.type = type;\r\n settings.widgetType = widgetType;\r\n settings.containerBackgroundColor = containerBackgroundColor;\r\n if (\"pie\" !== widgetType) {\r\n mainSeriesColor = extractColor(settings.color, true) || palette.getNextColor(seriesCount)\r\n } else {\r\n mainSeriesColor = function(argument, index, count) {\r\n var cat = \"\".concat(argument, \"-\").concat(index);\r\n if (!that._multiPieColors[cat]) {\r\n that._multiPieColors[cat] = palette.getNextColor(count)\r\n }\r\n return that._multiPieColors[cat]\r\n }\r\n }\r\n settings.mainSeriesColor = mainSeriesColor;\r\n settings.resolveLabelsOverlapping = resolveLabelsOverlapping;\r\n if (settings.label && (isLine || isArea && \"rangearea\" !== type || \"scatter\" === type)) {\r\n settings.label.position = \"outside\"\r\n }\r\n if (seriesTemplate) {\r\n settings.nameField = seriesTemplate.nameField\r\n }\r\n return settings\r\n },\r\n animation: function(name) {\r\n var userOptions = this._userOptions[name];\r\n userOptions = isPlainObject(userOptions) ? userOptions : _isDefined(userOptions) ? {\r\n enabled: !!userOptions\r\n } : {};\r\n return mergeOptions.call(this, name, userOptions)\r\n },\r\n seriesTemplate() {\r\n var value = mergeOptions.call(this, \"seriesTemplate\");\r\n if (value) {\r\n value.nameField = value.nameField || \"series\"\r\n }\r\n return value\r\n },\r\n zoomAndPan() {\r\n function parseOption(option) {\r\n option = _normalizeEnum(option);\r\n var pan = \"pan\" === option || \"both\" === option;\r\n var zoom = \"zoom\" === option || \"both\" === option;\r\n return {\r\n pan: pan,\r\n zoom: zoom,\r\n none: !pan && !zoom\r\n }\r\n }\r\n var options = mergeOptions.call(this, \"zoomAndPan\");\r\n return {\r\n valueAxis: parseOption(options.valueAxis),\r\n argumentAxis: parseOption(options.argumentAxis),\r\n dragToZoom: !!options.dragToZoom,\r\n dragBoxStyle: {\r\n class: \"dxc-shutter\",\r\n fill: options.dragBoxStyle.color,\r\n opacity: options.dragBoxStyle.opacity\r\n },\r\n panKey: options.panKey,\r\n allowMouseWheel: !!options.allowMouseWheel,\r\n allowTouchGestures: !!options.allowTouchGestures\r\n }\r\n }\r\n };\r\n return {\r\n _themeSection: \"chart\",\r\n ctor: function(params) {\r\n var that = this;\r\n that.callBase.apply(that, arguments);\r\n var options = params.options || {};\r\n that._userOptions = options;\r\n that._mergeAxisTitleOptions = [];\r\n that._multiPieColors = {};\r\n that._callback = noop\r\n },\r\n dispose: function() {\r\n var that = this;\r\n that.palette && that.palette.dispose();\r\n that.palette = that._userOptions = that._mergedSettings = that._multiPieColors = null;\r\n return that.callBase.apply(that, arguments)\r\n },\r\n resetPalette: function() {\r\n this.palette.reset();\r\n this._multiPieColors = {}\r\n },\r\n getOptions: function(name) {\r\n return (applyParticularTheme[name] || applyParticularTheme.base).apply(this, arguments)\r\n },\r\n refresh: function() {\r\n this._mergedSettings = {};\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _initializeTheme: function() {\r\n var that = this;\r\n that.callBase.apply(that, arguments);\r\n that.updatePalette()\r\n },\r\n resetOptions: function(name) {\r\n this._mergedSettings[name] = null\r\n },\r\n update: function(options) {\r\n this._userOptions = options\r\n },\r\n updatePalette: function() {\r\n this.palette = this.createPalette(this.getOptions(\"palette\"), {\r\n useHighlight: true,\r\n extensionMode: this.getOptions(\"paletteExtensionMode\")\r\n })\r\n }\r\n }\r\n}());\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/layout_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric as _isNumber\r\n} from \"../../core/utils/type\";\r\nimport consts from \"../components/consts\";\r\nimport {\r\n WrapperLayoutElement\r\n} from \"../core/layout_element\";\r\nvar {\r\n floor: floor,\r\n sqrt: sqrt\r\n} = Math;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar DEFAULT_INNER_RADIUS = .5;\r\nvar RADIAL_LABEL_INDENT = consts.radialLabelIndent;\r\n\r\nfunction getNearestCoord(firstCoord, secondCoord, pointCenterCoord) {\r\n var nearestCoord;\r\n if (pointCenterCoord < firstCoord) {\r\n nearestCoord = firstCoord\r\n } else if (secondCoord < pointCenterCoord) {\r\n nearestCoord = secondCoord\r\n } else {\r\n nearestCoord = pointCenterCoord\r\n }\r\n return nearestCoord\r\n}\r\n\r\nfunction getLabelLayout(point) {\r\n if (point._label.isVisible() && \"inside\" !== point._label.getLayoutOptions().position) {\r\n return point._label.getBoundingRect()\r\n }\r\n}\r\n\r\nfunction getPieRadius(series, paneCenterX, paneCenterY, accessibleRadius, minR) {\r\n series.some((function(singleSeries) {\r\n return singleSeries.getVisiblePoints().reduce((function(radiusIsFound, point) {\r\n var labelBBox = getLabelLayout(point);\r\n if (labelBBox) {\r\n var xCoords = getNearestCoord(labelBBox.x, labelBBox.x + labelBBox.width, paneCenterX);\r\n var yCoords = getNearestCoord(labelBBox.y, labelBBox.y + labelBBox.height, paneCenterY);\r\n accessibleRadius = _min(_max(getLengthFromCenter(xCoords, yCoords, paneCenterX, paneCenterY) - RADIAL_LABEL_INDENT, minR), accessibleRadius);\r\n radiusIsFound = true\r\n }\r\n return radiusIsFound\r\n }), false)\r\n }));\r\n return accessibleRadius\r\n}\r\n\r\nfunction getSizeLabels(series) {\r\n return series.reduce((function(res, singleSeries) {\r\n var maxWidth = singleSeries.getVisiblePoints().reduce((function(width, point) {\r\n var labelBBox = getLabelLayout(point);\r\n if (labelBBox && labelBBox.width > width) {\r\n width = labelBBox.width\r\n }\r\n return width\r\n }), 0);\r\n var rWidth = maxWidth;\r\n if (maxWidth) {\r\n res.outerLabelsCount++;\r\n if (res.outerLabelsCount > 1) {\r\n maxWidth += consts.pieLabelSpacing\r\n }\r\n rWidth += consts.pieLabelSpacing\r\n }\r\n res.sizes.push(maxWidth);\r\n res.rSizes.push(rWidth);\r\n res.common += maxWidth;\r\n return res\r\n }), {\r\n sizes: [],\r\n rSizes: [],\r\n common: 0,\r\n outerLabelsCount: 0\r\n })\r\n}\r\n\r\nfunction correctLabelRadius(labelSizes, radius, series, canvas, averageWidthLabels, centerX) {\r\n var curRadius;\r\n var i;\r\n var runningWidth = 0;\r\n var sizes = labelSizes.sizes;\r\n var rSizes = labelSizes.rSizes;\r\n for (i = 0; i < series.length; i++) {\r\n if (0 === sizes[i]) {\r\n curRadius && (curRadius += rSizes[i - 1]);\r\n continue\r\n }\r\n curRadius = floor(curRadius ? curRadius + rSizes[i - 1] : radius);\r\n series[i].correctLabelRadius(curRadius);\r\n runningWidth += averageWidthLabels || sizes[i];\r\n rSizes[i] = averageWidthLabels || rSizes[i];\r\n series[i].setVisibleArea({\r\n left: floor(centerX - radius - runningWidth),\r\n right: floor(canvas.width - (centerX + radius + runningWidth)),\r\n top: canvas.top,\r\n bottom: canvas.bottom,\r\n width: canvas.width,\r\n height: canvas.height\r\n })\r\n }\r\n}\r\n\r\nfunction getLengthFromCenter(x, y, paneCenterX, paneCenterY) {\r\n return sqrt((x - paneCenterX) * (x - paneCenterX) + (y - paneCenterY) * (y - paneCenterY))\r\n}\r\n\r\nfunction getInnerRadius(_ref) {\r\n var {\r\n type: type,\r\n innerRadius: innerRadius\r\n } = _ref;\r\n return \"pie\" === type ? 0 : _isNumber(innerRadius) ? Number(innerRadius) : DEFAULT_INNER_RADIUS\r\n}\r\n\r\nfunction LayoutManager() {}\r\n\r\nfunction getAverageLabelWidth(centerX, radius, canvas, sizeLabels) {\r\n return (centerX - radius - RADIAL_LABEL_INDENT - canvas.left) / sizeLabels.outerLabelsCount\r\n}\r\n\r\nfunction getFullRadiusWithLabels(centerX, canvas, sizeLabels) {\r\n return centerX - canvas.left - (sizeLabels.outerLabelsCount > 0 ? sizeLabels.common + RADIAL_LABEL_INDENT : 0)\r\n}\r\n\r\nfunction correctAvailableRadius(availableRadius, canvas, series, minR, paneCenterX, paneCenterY) {\r\n var sizeLabels = getSizeLabels(series);\r\n var averageWidthLabels;\r\n var fullRadiusWithLabels = getFullRadiusWithLabels(paneCenterX, canvas, sizeLabels);\r\n if (fullRadiusWithLabels < minR) {\r\n availableRadius = minR;\r\n averageWidthLabels = getAverageLabelWidth(paneCenterX, availableRadius, canvas, sizeLabels)\r\n } else {\r\n availableRadius = _min(getPieRadius(series, paneCenterX, paneCenterY, availableRadius, minR), fullRadiusWithLabels)\r\n }\r\n correctLabelRadius(sizeLabels, availableRadius + RADIAL_LABEL_INDENT, series, canvas, averageWidthLabels, paneCenterX);\r\n return availableRadius\r\n}\r\n\r\nfunction toLayoutElementCoords(canvas) {\r\n return new WrapperLayoutElement(null, {\r\n x: canvas.left,\r\n y: canvas.top,\r\n width: canvas.width - canvas.left - canvas.right,\r\n height: canvas.height - canvas.top - canvas.bottom\r\n })\r\n}\r\nLayoutManager.prototype = {\r\n constructor: LayoutManager,\r\n setOptions: function(options) {\r\n this._options = options\r\n },\r\n applyPieChartSeriesLayout: function(canvas, series, hideLayoutLabels) {\r\n var paneSpaceHeight = canvas.height - canvas.top - canvas.bottom;\r\n var paneSpaceWidth = canvas.width - canvas.left - canvas.right;\r\n var paneCenterX = paneSpaceWidth / 2 + canvas.left;\r\n var paneCenterY = paneSpaceHeight / 2 + canvas.top;\r\n var piePercentage = this._options.piePercentage;\r\n var availableRadius;\r\n var minR;\r\n if (_isNumber(piePercentage)) {\r\n availableRadius = minR = piePercentage * _min(canvas.height, canvas.width) / 2\r\n } else {\r\n availableRadius = _min(paneSpaceWidth, paneSpaceHeight) / 2;\r\n minR = this._options.minPiePercentage * availableRadius\r\n }\r\n if (!hideLayoutLabels) {\r\n availableRadius = correctAvailableRadius(availableRadius, canvas, series, minR, paneCenterX, paneCenterY)\r\n }\r\n return {\r\n centerX: floor(paneCenterX),\r\n centerY: floor(paneCenterY),\r\n radiusInner: floor(availableRadius * getInnerRadius(series[0])),\r\n radiusOuter: floor(availableRadius)\r\n }\r\n },\r\n applyEqualPieChartLayout: function(series, layout) {\r\n var radius = layout.radius;\r\n return {\r\n centerX: floor(layout.x),\r\n centerY: floor(layout.y),\r\n radiusInner: floor(radius * getInnerRadius(series[0])),\r\n radiusOuter: floor(radius)\r\n }\r\n },\r\n correctPieLabelRadius: function(series, layout, canvas) {\r\n var sizeLabels = getSizeLabels(series);\r\n var averageWidthLabels;\r\n var radius = layout.radiusOuter + RADIAL_LABEL_INDENT;\r\n var availableLabelWidth = layout.centerX - canvas.left - radius;\r\n if (sizeLabels.common + RADIAL_LABEL_INDENT > availableLabelWidth) {\r\n averageWidthLabels = getAverageLabelWidth(layout.centerX, layout.radiusOuter, canvas, sizeLabels)\r\n }\r\n correctLabelRadius(sizeLabels, radius, series, canvas, averageWidthLabels, layout.centerX)\r\n },\r\n needMoreSpaceForPanesCanvas(panes, rotated, fixedSizeCallback) {\r\n var options = this._options;\r\n var width = options.width;\r\n var height = options.height;\r\n var piePercentage = options.piePercentage;\r\n var percentageIsValid = _isNumber(piePercentage);\r\n var needHorizontalSpace = 0;\r\n var needVerticalSpace = 0;\r\n panes.forEach(pane => {\r\n var paneCanvas = pane.canvas;\r\n var minSize = percentageIsValid ? _min(paneCanvas.width, paneCanvas.height) * piePercentage : void 0;\r\n var paneSized = fixedSizeCallback ? fixedSizeCallback(pane) : {\r\n width: false,\r\n height: false\r\n };\r\n var needPaneHorizontalSpace = !paneSized.width ? (percentageIsValid ? minSize : width) - (paneCanvas.width - paneCanvas.left - paneCanvas.right) : 0;\r\n var needPaneVerticalSpace = !paneSized.height ? (percentageIsValid ? minSize : height) - (paneCanvas.height - paneCanvas.top - paneCanvas.bottom) : 0;\r\n if (rotated) {\r\n needHorizontalSpace += needPaneHorizontalSpace > 0 ? needPaneHorizontalSpace : 0;\r\n needVerticalSpace = _max(needPaneVerticalSpace > 0 ? needPaneVerticalSpace : 0, needVerticalSpace)\r\n } else {\r\n needHorizontalSpace = _max(needPaneHorizontalSpace > 0 ? needPaneHorizontalSpace : 0, needHorizontalSpace);\r\n needVerticalSpace += needPaneVerticalSpace > 0 ? needPaneVerticalSpace : 0\r\n }\r\n });\r\n return needHorizontalSpace > 0 || needVerticalSpace > 0 ? {\r\n width: needHorizontalSpace,\r\n height: needVerticalSpace\r\n } : false\r\n },\r\n layoutInsideLegend: function(legend, canvas) {\r\n var layoutOptions = legend.getLayoutOptions();\r\n if (!layoutOptions) {\r\n return\r\n }\r\n var position = layoutOptions.position;\r\n var cutSide = layoutOptions.cutSide;\r\n var my = {\r\n horizontal: position.horizontal,\r\n vertical: position.vertical\r\n };\r\n canvas[layoutOptions.cutLayoutSide] += \"horizontal\" === layoutOptions.cutSide ? layoutOptions.width : layoutOptions.height;\r\n my[cutSide] = {\r\n left: \"right\",\r\n right: \"left\",\r\n top: \"bottom\",\r\n bottom: \"top\",\r\n center: \"center\"\r\n } [my[cutSide]];\r\n legend.position({\r\n of: toLayoutElementCoords(canvas),\r\n my: my,\r\n at: position\r\n })\r\n }\r\n};\r\nexport {\r\n LayoutManager\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/tracker.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nimport consts from \"../components/consts\";\r\nimport {\r\n getDistance,\r\n pointInCanvas as inCanvas,\r\n normalizeEnum as _normalizeEnum\r\n} from \"../core/utils\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport errors from \"../../core/errors\";\r\nvar _floor = Math.floor;\r\nvar eventsConsts = consts.events;\r\nvar statesConsts = consts.states;\r\nvar HOVER_STATE = statesConsts.hoverMark;\r\nvar NORMAL_STATE = statesConsts.normalMark;\r\nvar EVENT_NS = \"dxChartTracker\";\r\nvar DOT_EVENT_NS = \".\" + EVENT_NS;\r\nvar POINTER_ACTION = addNamespace([pointerEvents.down, pointerEvents.move], EVENT_NS);\r\nvar LEGEND_CLICK = \"legendClick\";\r\nvar SERIES_CLICK = \"seriesClick\";\r\nvar POINT_CLICK = \"pointClick\";\r\nvar POINT_DATA = \"chart-data-point\";\r\nvar SERIES_DATA = \"chart-data-series\";\r\nvar ARG_DATA = \"chart-data-argument\";\r\nvar DELAY = 100;\r\nvar HOLD_TIMEOUT = 300;\r\nvar NONE_MODE = \"none\";\r\nvar ALL_ARGUMENT_POINTS_MODE = \"allargumentpoints\";\r\nvar INCLUDE_POINTS_MODE = \"includepoints\";\r\nvar EXLUDE_POINTS_MODE = \"excludepoints\";\r\nvar LEGEND_HOVER_MODES = [INCLUDE_POINTS_MODE, EXLUDE_POINTS_MODE, NONE_MODE];\r\n\r\nfunction getData(event, dataKey, tryCheckParent) {\r\n var target = event.target;\r\n if (\"tspan\" === target.tagName) {\r\n return target.parentNode[dataKey]\r\n }\r\n var data = target[dataKey];\r\n if (tryCheckParent && !isDefined(data)) {\r\n return function getParentData(node) {\r\n if (node.parentNode) {\r\n if (isDefined(node.parentNode[dataKey])) {\r\n return node.parentNode[dataKey]\r\n } else {\r\n return getParentData(node.parentNode)\r\n }\r\n }\r\n return\r\n }(target)\r\n }\r\n return data\r\n}\r\n\r\nfunction eventCanceled(_ref, target, clickTarget) {\r\n var {\r\n event: event,\r\n cancel: cancel\r\n } = _ref;\r\n var deprecatedCancel = event.cancel;\r\n var eventCanceled = cancel || deprecatedCancel;\r\n if (deprecatedCancel) {\r\n errors.log(\"W0003\", \"\".concat(clickTarget, \"Click handler argument\"), \"event.cancel\", \"22.1\", \"Use the 'cancel' field instead\")\r\n }\r\n return eventCanceled || !target.getOptions()\r\n}\r\n\r\nfunction correctLegendHoverMode(mode) {\r\n if (LEGEND_HOVER_MODES.indexOf(mode) > -1) {\r\n return mode\r\n } else {\r\n return INCLUDE_POINTS_MODE\r\n }\r\n}\r\n\r\nfunction correctHoverMode(target) {\r\n var mode = target.getOptions().hoverMode;\r\n return mode === NONE_MODE ? mode : ALL_ARGUMENT_POINTS_MODE\r\n}\r\nvar baseTrackerPrototype = {\r\n ctor: function(options) {\r\n var that = this;\r\n var data = {\r\n tracker: that\r\n };\r\n that._renderer = options.renderer;\r\n that._legend = options.legend;\r\n that._tooltip = options.tooltip;\r\n that._eventTrigger = options.eventTrigger;\r\n that._seriesGroup = options.seriesGroup;\r\n options.seriesGroup.off(DOT_EVENT_NS).on(addNamespace(eventsConsts.showPointTooltip, EVENT_NS), data, that._showPointTooltip).on(addNamespace(eventsConsts.hidePointTooltip, EVENT_NS), data, that._hidePointTooltip);\r\n that._renderer.root.off(DOT_EVENT_NS).on(POINTER_ACTION, data, that._pointerHandler).on(addNamespace(pointerEvents.up, EVENT_NS), () => clearTimeout(that._holdTimer)).on(addNamespace(clickEventName, EVENT_NS), data, that._clickHandler)\r\n },\r\n update: function(options) {\r\n this._chart = options.chart\r\n },\r\n updateSeries(series, resetDecorations) {\r\n var that = this;\r\n var noHoveredSeries = !(null !== series && void 0 !== series && series.some(s => s === that.hoveredSeries) || that._hoveredPoint && that._hoveredPoint.series);\r\n if (that._storedSeries !== series) {\r\n that._storedSeries = series || []\r\n }\r\n if (noHoveredSeries) {\r\n that._clean();\r\n that._renderer.initDefsElements()\r\n }\r\n if (resetDecorations) {\r\n that.clearSelection();\r\n if (!noHoveredSeries) {\r\n that._hideTooltip(that.pointAtShownTooltip);\r\n that.clearHover()\r\n }\r\n }\r\n },\r\n setCanvases: function(mainCanvas, paneCanvases) {\r\n this._mainCanvas = mainCanvas;\r\n this._canvases = paneCanvases\r\n },\r\n repairTooltip: function() {\r\n var point = this.pointAtShownTooltip;\r\n if (!point || !point.series || !point.isVisible()) {\r\n this._hideTooltip(point, true)\r\n } else {\r\n this._showTooltip(point)\r\n }\r\n },\r\n _setHoveredPoint: function(point) {\r\n if (point === this._hoveredPoint) {\r\n return\r\n }\r\n this._releaseHoveredPoint();\r\n point.hover();\r\n this._hoveredPoint = point\r\n },\r\n _releaseHoveredPoint: function(isPointerOut) {\r\n if (this._hoveredPoint && this._hoveredPoint.getOptions()) {\r\n this._hoveredPoint.clearHover();\r\n this._hoveredPoint = null;\r\n if (this._tooltip.isEnabled()) {\r\n this._hideTooltip(this._hoveredPoint, false, isPointerOut)\r\n }\r\n }\r\n },\r\n _setHoveredSeries: function(series, mode) {\r\n this._releaseHoveredSeries();\r\n this._releaseHoveredPoint();\r\n series.hover(mode);\r\n this.hoveredSeries = series\r\n },\r\n _releaseHoveredSeries() {\r\n if (this.hoveredSeries) {\r\n this.hoveredSeries.clearHover();\r\n this.hoveredSeries = null\r\n }\r\n },\r\n clearSelection() {\r\n this._storedSeries.forEach(series => {\r\n if (series) {\r\n series.clearSelection();\r\n series.getPoints().forEach(point => point.clearSelection())\r\n }\r\n })\r\n },\r\n _clean: function() {\r\n this.hoveredPoint = this.hoveredSeries = this._hoveredArgumentPoints = null;\r\n this._hideTooltip(this.pointAtShownTooltip)\r\n },\r\n clearHover: function(isPointerOut) {\r\n this._resetHoveredArgument();\r\n this._releaseHoveredSeries();\r\n this._releaseHoveredPoint(isPointerOut)\r\n },\r\n _hideTooltip: function(point, silent, isPointerOut) {\r\n if (!this._tooltip || point && this.pointAtShownTooltip !== point) {\r\n return\r\n }\r\n if (!silent && this.pointAtShownTooltip) {\r\n this.pointAtShownTooltip = null\r\n }\r\n this._tooltip.hide(!!isPointerOut)\r\n },\r\n _showTooltip: function(point) {\r\n var that = this;\r\n var tooltipFormatObject;\r\n var eventData = {\r\n target: point\r\n };\r\n if (null !== point && void 0 !== point && point.getOptions()) {\r\n tooltipFormatObject = point.getTooltipFormatObject(that._tooltip, that._tooltip.isShared() && that._chart.getStackedPoints(point));\r\n if (!isDefined(tooltipFormatObject.valueText) && !tooltipFormatObject.points || !point.isVisible()) {\r\n return\r\n }\r\n var coords = point.getTooltipParams(that._tooltip.getLocation());\r\n var rootOffset = that._renderer.getRootOffset();\r\n coords.x += rootOffset.left;\r\n coords.y += rootOffset.top;\r\n var callback = result => {\r\n result && (that.pointAtShownTooltip = point)\r\n };\r\n callback(that._tooltip.show(tooltipFormatObject, coords, eventData, void 0, callback))\r\n }\r\n },\r\n _showPointTooltip: function(event, point) {\r\n var that = event.data.tracker;\r\n var pointWithTooltip = that.pointAtShownTooltip;\r\n if (pointWithTooltip && pointWithTooltip !== point) {\r\n that._hideTooltip(pointWithTooltip)\r\n }\r\n that._showTooltip(point)\r\n },\r\n _hidePointTooltip: function(event, point) {\r\n event.data.tracker._hideTooltip(point, false, true)\r\n },\r\n _enableOutHandler: function() {\r\n if (this._outHandler) {\r\n return\r\n }\r\n var that = this;\r\n var handler = function(e) {\r\n var rootOffset = that._renderer.getRootOffset();\r\n var x = _floor(e.pageX - rootOffset.left);\r\n var y = _floor(e.pageY - rootOffset.top);\r\n if (!inCanvas(that._mainCanvas, x, y) && !that._isCursorOnTooltip(e)) {\r\n that._pointerOut();\r\n that._disableOutHandler()\r\n }\r\n };\r\n eventsEngine.on(domAdapter.getDocument(), POINTER_ACTION, handler);\r\n this._outHandler = handler\r\n },\r\n _isCursorOnTooltip: function(e) {\r\n return this._tooltip.isEnabled() && this._tooltip.isCursorOnTooltip(e.pageX, e.pageY)\r\n },\r\n _disableOutHandler: function() {\r\n this._outHandler && eventsEngine.off(domAdapter.getDocument(), POINTER_ACTION, this._outHandler);\r\n this._outHandler = null\r\n },\r\n stopCurrentHandling: function() {\r\n this._pointerOut(true)\r\n },\r\n _pointerOut: function(force) {\r\n this.clearHover(true);\r\n (force || this._tooltip.isEnabled()) && this._hideTooltip(this.pointAtShownTooltip, false, true)\r\n },\r\n _triggerLegendClick: function(eventArgs, elementClick) {\r\n var eventTrigger = this._eventTrigger;\r\n eventTrigger(LEGEND_CLICK, eventArgs, (function() {\r\n !eventCanceled(eventArgs, eventArgs.target, \"legend\") && eventTrigger(elementClick, eventArgs)\r\n }))\r\n },\r\n _hoverLegendItem: function(x, y) {\r\n var item = this._legend.getItemByCoord(x, y);\r\n var series;\r\n var legendHoverMode = correctLegendHoverMode(this._legend.getOptions().hoverMode);\r\n if (item) {\r\n series = this._storedSeries[item.id];\r\n if (!series.isHovered() || series.lastHoverMode !== legendHoverMode) {\r\n this._setHoveredSeries(series, legendHoverMode)\r\n }\r\n this._tooltip.isEnabled() && this._hideTooltip(this.pointAtShownTooltip)\r\n } else {\r\n this.clearHover()\r\n }\r\n },\r\n _hoverArgument: function(argument, argumentIndex) {\r\n var hoverMode = this._getArgumentHoverMode();\r\n if (isDefined(argument)) {\r\n this._releaseHoveredPoint();\r\n this._hoveredArgument = argument;\r\n this._argumentIndex = argumentIndex;\r\n this._notifySeries({\r\n action: \"pointHover\",\r\n notifyLegend: this._notifyLegendOnHoverArgument,\r\n target: {\r\n argument: argument,\r\n fullState: HOVER_STATE,\r\n argumentIndex: argumentIndex,\r\n getOptions: function() {\r\n return {\r\n hoverMode: hoverMode\r\n }\r\n }\r\n }\r\n })\r\n }\r\n },\r\n _resetHoveredArgument: function() {\r\n var hoverMode;\r\n if (isDefined(this._hoveredArgument)) {\r\n hoverMode = this._getArgumentHoverMode();\r\n this._notifySeries({\r\n action: \"clearPointHover\",\r\n notifyLegend: this._notifyLegendOnHoverArgument,\r\n target: {\r\n fullState: NORMAL_STATE,\r\n argumentIndex: this._argumentIndex,\r\n argument: this._hoveredArgument,\r\n getOptions: function() {\r\n return {\r\n hoverMode: hoverMode\r\n }\r\n }\r\n }\r\n });\r\n this._hoveredArgument = null\r\n }\r\n },\r\n _notifySeries: function(data) {\r\n this._storedSeries.forEach((function(series) {\r\n series.notify(data)\r\n }))\r\n },\r\n _pointerHandler: function(e) {\r\n var _series;\r\n var that = e.data.tracker;\r\n var rootOffset = that._renderer.getRootOffset();\r\n var x = _floor(e.pageX - rootOffset.left);\r\n var y = _floor(e.pageY - rootOffset.top);\r\n var canvas = that._getCanvas(x, y);\r\n var series = getData(e, SERIES_DATA);\r\n var point = getData(e, POINT_DATA) || (null === (_series = series) || void 0 === _series ? void 0 : _series.getPointByCoord(x, y));\r\n that._isHolding = false;\r\n clearTimeout(that._holdTimer);\r\n if (e.type === pointerEvents.down) {\r\n that._holdTimer = setTimeout(() => that._isHolding = true, HOLD_TIMEOUT)\r\n }\r\n if (point && !point.getMarkerVisibility()) {\r\n point = void 0\r\n }\r\n that._enableOutHandler();\r\n if (that._legend.coordsIn(x, y)) {\r\n that._hoverLegendItem(x, y);\r\n return\r\n }\r\n if (that.hoveredSeries && that.hoveredSeries !== that._stuckSeries) {\r\n that._releaseHoveredSeries()\r\n }\r\n if (that._hoverArgumentAxis(x, y, e)) {\r\n return\r\n }\r\n if (that._isPointerOut(canvas, point)) {\r\n that._pointerOut()\r\n }\r\n if (!canvas && !point) {\r\n return\r\n }\r\n if (series && !point) {\r\n point = series.getNeighborPoint(x, y);\r\n if (!that._stickyHovering && point && !point.coordsIn(x, y)) {\r\n point = null\r\n }\r\n if (series !== that.hoveredSeries) {\r\n that._setTimeout((function() {\r\n that._setHoveredSeries(series);\r\n that._setStuckSeries(e, series, x, y);\r\n that._pointerComplete(point, x, y)\r\n }), series);\r\n return\r\n }\r\n } else if (point) {\r\n if (e.type !== pointerEvents.move && \"touch\" !== e.pointerType) {\r\n return\r\n }\r\n if (that.hoveredSeries) {\r\n that._setTimeout(() => that._pointerOnPoint(point, x, y, e), point)\r\n } else {\r\n that._pointerOnPoint(point, x, y, e)\r\n }\r\n return\r\n } else if (that._setStuckSeries(e, void 0, x, y) && that._stickyHovering) {\r\n var _point;\r\n series = that._stuckSeries;\r\n point = series.getNeighborPoint(x, y);\r\n that._releaseHoveredSeries();\r\n (null === (_point = point) || void 0 === _point ? void 0 : _point.getMarkerVisibility()) && that._setHoveredPoint(point)\r\n } else if (!that._stickyHovering) {\r\n that._pointerOut()\r\n }\r\n that._pointerComplete(point, x, y)\r\n },\r\n _pointerOnPoint: function(point, x, y) {\r\n this._resetHoveredArgument();\r\n this._setHoveredPoint(point);\r\n this._pointerComplete(point, x, y)\r\n },\r\n _pointerComplete: function(point) {\r\n this.pointAtShownTooltip !== point && this._tooltip.isEnabled() && this._showTooltip(point)\r\n },\r\n _clickHandler: function(e) {\r\n var _point2;\r\n var that = e.data.tracker;\r\n if (that._isHolding) {\r\n return\r\n }\r\n var rootOffset = that._renderer.getRootOffset();\r\n var x = _floor(e.pageX - rootOffset.left);\r\n var y = _floor(e.pageY - rootOffset.top);\r\n var point = getData(e, POINT_DATA);\r\n var series = that._stuckSeries || getData(e, SERIES_DATA) || (null === (_point2 = point) || void 0 === _point2 ? void 0 : _point2.series);\r\n var axis = that._argumentAxis;\r\n if (that._legend.coordsIn(x, y)) {\r\n var item = that._legend.getItemByCoord(x, y);\r\n if (item) {\r\n that._legendClick(item, e)\r\n }\r\n } else if (null !== axis && void 0 !== axis && axis.coordsIn(x, y)) {\r\n var argument = getData(e, ARG_DATA, true);\r\n if (isDefined(argument)) {\r\n that._eventTrigger(\"argumentAxisClick\", {\r\n argument: argument,\r\n event: e\r\n })\r\n }\r\n } else if (series) {\r\n var _point3;\r\n point = point || series.getPointByCoord(x, y);\r\n if (null !== (_point3 = point) && void 0 !== _point3 && _point3.getMarkerVisibility()) {\r\n that._pointClick(point, e)\r\n } else {\r\n getData(e, SERIES_DATA) && that._eventTrigger(SERIES_CLICK, {\r\n target: series,\r\n event: e\r\n })\r\n }\r\n }\r\n },\r\n dispose: function() {\r\n this._disableOutHandler();\r\n this._renderer.root.off(DOT_EVENT_NS);\r\n this._seriesGroup.off(DOT_EVENT_NS)\r\n }\r\n};\r\nexport var ChartTracker = function(options) {\r\n this.ctor(options)\r\n};\r\nextend(ChartTracker.prototype, baseTrackerPrototype, {\r\n _pointClick: function(point, event) {\r\n var eventTrigger = this._eventTrigger;\r\n var series = point.series;\r\n var eventArgs = {\r\n target: point,\r\n event: event\r\n };\r\n eventTrigger(POINT_CLICK, eventArgs, (function() {\r\n !eventCanceled(eventArgs, series, \"point\") && eventTrigger(SERIES_CLICK, {\r\n target: series,\r\n event: event\r\n })\r\n }))\r\n },\r\n update: function(options) {\r\n baseTrackerPrototype.update.call(this, options);\r\n this._argumentAxis = options.argumentAxis || {};\r\n this._axisHoverEnabled = this._argumentAxis && _normalizeEnum(this._argumentAxis.getOptions().hoverMode) === ALL_ARGUMENT_POINTS_MODE;\r\n this._rotated = options.rotated;\r\n this._crosshair = options.crosshair;\r\n this._stickyHovering = options.stickyHovering\r\n },\r\n _getCanvas: function(x, y) {\r\n var canvases = this._canvases || [];\r\n for (var i = 0; i < canvases.length; i++) {\r\n var c = canvases[i];\r\n if (inCanvas(c, x, y)) {\r\n return c\r\n }\r\n }\r\n return null\r\n },\r\n _isPointerOut: function(canvas) {\r\n return !canvas && this._stuckSeries\r\n },\r\n _hideCrosshair: function() {\r\n var _this$_crosshair;\r\n null === (_this$_crosshair = this._crosshair) || void 0 === _this$_crosshair ? void 0 : _this$_crosshair.hide()\r\n },\r\n _moveCrosshair: function(point, x, y) {\r\n if (this._crosshair && null !== point && void 0 !== point && point.isVisible()) {\r\n this._crosshair.show({\r\n point: point,\r\n x: x,\r\n y: y\r\n })\r\n }\r\n },\r\n _clean: function() {\r\n baseTrackerPrototype._clean.call(this);\r\n this._resetTimer();\r\n this._stuckSeries = null\r\n },\r\n _getSeriesForShared: function(x, y) {\r\n var _point4;\r\n var points = [];\r\n var point = null;\r\n var distance = 1 / 0;\r\n if (this._tooltip.isShared() && !this.hoveredSeries) {\r\n _each(this._storedSeries, (function(_, series) {\r\n var point = series.getNeighborPoint(x, y);\r\n point && points.push(point)\r\n }));\r\n _each(points, (function(_, p) {\r\n var coords = p.getCrosshairData(x, y);\r\n var d = getDistance(x, y, coords.x, coords.y);\r\n if (d < distance) {\r\n point = p;\r\n distance = d\r\n }\r\n }))\r\n }\r\n return null === (_point4 = point) || void 0 === _point4 ? void 0 : _point4.series\r\n },\r\n _setTimeout: function(callback, keeper) {\r\n var that = this;\r\n if (that._timeoutKeeper !== keeper) {\r\n that._resetTimer();\r\n that._hoverTimeout = setTimeout((function() {\r\n callback();\r\n that._timeoutKeeper = null\r\n }), DELAY);\r\n that._timeoutKeeper = keeper\r\n }\r\n },\r\n _resetTimer: function() {\r\n clearTimeout(this._hoverTimeout);\r\n this._timeoutKeeper = this._hoverTimeout = null\r\n },\r\n _stopEvent: function(e) {\r\n if (!isDefined(e.cancelable) || e.cancelable) {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n },\r\n _setStuckSeries: function(e, series, x, y) {\r\n if (\"mouse\" !== e.pointerType) {\r\n this._stuckSeries = null\r\n } else {\r\n this._stuckSeries = series || this._stuckSeries || this._getSeriesForShared(x, y)\r\n }\r\n return !!this._stuckSeries\r\n },\r\n _pointerOut: function() {\r\n var that = this;\r\n that._stuckSeries = null;\r\n that._hideCrosshair();\r\n that._resetTimer();\r\n baseTrackerPrototype._pointerOut.apply(that, arguments)\r\n },\r\n _hoverArgumentAxis: function(x, y, e) {\r\n this._resetHoveredArgument();\r\n if (this._axisHoverEnabled && this._argumentAxis.coordsIn(x, y)) {\r\n this._hoverArgument(getData(e, ARG_DATA, true));\r\n return true\r\n }\r\n },\r\n _pointerComplete: function(point, x, y) {\r\n this.hoveredSeries && this.hoveredSeries.updateHover(x, y);\r\n this._resetTimer();\r\n this._moveCrosshair(point, x, y);\r\n baseTrackerPrototype._pointerComplete.call(this, point)\r\n },\r\n _legendClick: function(item, e) {\r\n var series = this._storedSeries[item.id];\r\n this._triggerLegendClick({\r\n target: series,\r\n event: e\r\n }, SERIES_CLICK)\r\n },\r\n _hoverLegendItem: function(x, y) {\r\n this._stuckSeries = null;\r\n this._hideCrosshair();\r\n baseTrackerPrototype._hoverLegendItem.call(this, x, y)\r\n },\r\n _pointerOnPoint: function(point, x, y, e) {\r\n this._setStuckSeries(e, point.series, x, y);\r\n this._releaseHoveredSeries();\r\n baseTrackerPrototype._pointerOnPoint.call(this, point, x, y, e)\r\n },\r\n _notifyLegendOnHoverArgument: false,\r\n _getArgumentHoverMode: function() {\r\n return correctHoverMode(this._argumentAxis)\r\n },\r\n dispose: function() {\r\n this._resetTimer();\r\n baseTrackerPrototype.dispose.call(this)\r\n }\r\n});\r\nexport var PieTracker = function(options) {\r\n this.ctor(options)\r\n};\r\nextend(PieTracker.prototype, baseTrackerPrototype, {\r\n _isPointerOut: function(_, point) {\r\n return !point\r\n },\r\n _legendClick: function(item, e) {\r\n var points = [];\r\n this._storedSeries.forEach(s => points.push.apply(points, s.getPointsByKeys(item.argument, item.argumentIndex)));\r\n this._eventTrigger(LEGEND_CLICK, {\r\n target: item.argument,\r\n points: points,\r\n event: e\r\n })\r\n },\r\n _pointClick: function(point, e) {\r\n this._eventTrigger(POINT_CLICK, {\r\n target: point,\r\n event: e\r\n })\r\n },\r\n _hoverLegendItem: function(x, y) {\r\n var item = this._legend.getItemByCoord(x, y);\r\n if (item && this._hoveredArgument !== item.argument) {\r\n this._resetHoveredArgument();\r\n this._hoverArgument(item.argument, item.argumentIndex)\r\n } else if (!item) {\r\n this.clearHover()\r\n }\r\n },\r\n _getArgumentHoverMode: function() {\r\n return correctHoverMode(this._legend)\r\n },\r\n _hoverArgumentAxis: _noop,\r\n _setStuckSeries: _noop,\r\n _getCanvas: _noop,\r\n _notifyLegendOnHoverArgument: true\r\n});\r\n","/**\r\n * DevExtreme (esm/exporter/image_creator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport Color from \"../color\";\r\nimport {\r\n isFunction,\r\n isPromise,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n getSvgElement,\r\n HIDDEN_FOR_EXPORT\r\n} from \"../core/utils/svg\";\r\nimport {\r\n each as _each,\r\n map as _map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n contains\r\n} from \"../core/utils/dom\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n camelize\r\n} from \"../core/utils/inflector\";\r\nimport {\r\n Deferred,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nvar _math = Math;\r\nvar PI = _math.PI;\r\nvar _min = _math.min;\r\nvar _abs = _math.abs;\r\nvar _sqrt = _math.sqrt;\r\nvar _pow = _math.pow;\r\nvar _atan2 = _math.atan2;\r\nvar _cos = _math.cos;\r\nvar _sin = _math.sin;\r\nvar _number = Number;\r\nvar IMAGE_QUALITY = 1;\r\nvar TEXT_DECORATION_LINE_WIDTH_COEFF = .05;\r\nvar DEFAULT_FONT_SIZE = \"10px\";\r\nvar DEFAULT_FONT_FAMILY = \"sans-serif\";\r\nvar DEFAULT_TEXT_COLOR = \"#000\";\r\nvar parseAttributes;\r\n\r\nfunction getStringFromCanvas(canvas, mimeType) {\r\n var dataURL = canvas.toDataURL(mimeType, IMAGE_QUALITY);\r\n var imageData = window.atob(dataURL.substring((\"data:\" + mimeType + \";base64,\").length));\r\n return imageData\r\n}\r\n\r\nfunction arcTo(x1, y1, x2, y2, radius, largeArcFlag, clockwise, context) {\r\n var cBx = (x1 + x2) / 2;\r\n var cBy = (y1 + y2) / 2;\r\n var aB = _atan2(y1 - y2, x1 - x2);\r\n var k = largeArcFlag ? 1 : -1;\r\n aB += PI / 180 * 90 * (clockwise ? 1 : -1);\r\n var opSide = _sqrt(_pow(x2 - x1, 2) + _pow(y2 - y1, 2)) / 2;\r\n var adjSide = _sqrt(_abs(_pow(radius, 2) - _pow(opSide, 2)));\r\n var centerX = cBx + k * (adjSide * _cos(aB));\r\n var centerY = cBy + k * (adjSide * _sin(aB));\r\n var startAngle = _atan2(y1 - centerY, x1 - centerX);\r\n var endAngle = _atan2(y2 - centerY, x2 - centerX);\r\n context.arc(centerX, centerY, radius, startAngle, endAngle, !clockwise)\r\n}\r\n\r\nfunction getElementOptions(element, rootAppended) {\r\n var attr = parseAttributes(element.attributes || {});\r\n var options = extend({}, attr, {\r\n text: element.textContent.replace(/\\s+/g, \" \"),\r\n textAlign: \"middle\" === attr[\"text-anchor\"] ? \"center\" : attr[\"text-anchor\"]\r\n });\r\n var transform = attr.transform;\r\n var coords;\r\n if (transform) {\r\n coords = transform.match(/translate\\(-*\\d+([.]\\d+)*(,*\\s*-*\\d+([.]\\d+)*)*/);\r\n if (coords) {\r\n coords = coords[0].match(/-*\\d+([.]\\d+)*/g);\r\n options.translateX = _number(coords[0]);\r\n options.translateY = coords[1] ? _number(coords[1]) : 0\r\n }\r\n coords = transform.match(/rotate\\(-*\\d+([.]\\d+)*(,*\\s*-*\\d+([.]\\d+)*,*\\s*-*\\d+([.]\\d+)*)*/);\r\n if (coords) {\r\n coords = coords[0].match(/-*\\d+([.]\\d+)*/g);\r\n options.rotationAngle = _number(coords[0]);\r\n options.rotationX = coords[1] && _number(coords[1]);\r\n options.rotationY = coords[2] && _number(coords[2])\r\n }\r\n coords = transform.match(/scale\\(-*\\d+([.]\\d+)*(,*\\s*-*\\d+([.]\\d+)*)*/);\r\n if (coords) {\r\n coords = coords[0].match(/-*\\d+([.]\\d+)*/g);\r\n options.scaleX = _number(coords[0]);\r\n if (coords.length > 1) {\r\n options.scaleY = _number(coords[1])\r\n } else {\r\n options.scaleY = options.scaleX\r\n }\r\n }\r\n }\r\n parseStyles(element, options, rootAppended);\r\n return options\r\n}\r\n\r\nfunction drawRect(context, options) {\r\n var x = options.x;\r\n var y = options.y;\r\n var width = options.width;\r\n var height = options.height;\r\n var cornerRadius = options.rx;\r\n if (!cornerRadius) {\r\n context.rect(x, y, width, height)\r\n } else {\r\n cornerRadius = _min(cornerRadius, width / 2, height / 2);\r\n context.save();\r\n context.translate(x, y);\r\n context.moveTo(width / 2, 0);\r\n context.arcTo(width, 0, width, height, cornerRadius);\r\n context.arcTo(width, height, 0, height, cornerRadius);\r\n context.arcTo(0, height, 0, 0, cornerRadius);\r\n context.arcTo(0, 0, cornerRadius, 0, cornerRadius);\r\n context.lineTo(width / 2, 0);\r\n context.restore()\r\n }\r\n}\r\n\r\nfunction drawImage(context, options, shared) {\r\n var d = new Deferred;\r\n var image = new window.Image;\r\n image.onload = function() {\r\n context.save();\r\n context.globalAlpha = options.globalAlpha;\r\n transformElement(context, options);\r\n clipElement(context, options, shared);\r\n context.drawImage(image, options.x || 0, options.y || 0, options.width, options.height);\r\n context.restore();\r\n d.resolve()\r\n };\r\n image.onerror = function() {\r\n d.resolve()\r\n };\r\n image.setAttribute(\"crossOrigin\", \"anonymous\");\r\n image.src = options.href || options[\"xlink:href\"];\r\n return d\r\n}\r\n\r\nfunction drawPath(context, dAttr) {\r\n var dArray = dAttr.replace(/,/g, \" \").split(/([A-Z])/i).filter(item => \"\" !== item.trim());\r\n var i = 0;\r\n var params;\r\n var prevParams;\r\n var prevParamsLen;\r\n do {\r\n params = (dArray[i + 1] || \"\").trim().split(\" \");\r\n switch (dArray[i]) {\r\n case \"M\":\r\n context.moveTo(_number(params[0]), _number(params[1]));\r\n i += 2;\r\n break;\r\n case \"L\":\r\n for (var j = 0; j < params.length / 2; j++) {\r\n context.lineTo(_number(params[2 * j]), _number(params[2 * j + 1]))\r\n }\r\n i += 2;\r\n break;\r\n case \"C\":\r\n context.bezierCurveTo(_number(params[0]), _number(params[1]), _number(params[2]), _number(params[3]), _number(params[4]), _number(params[5]));\r\n i += 2;\r\n break;\r\n case \"a\":\r\n prevParams = dArray[i - 1].trim().split(\" \");\r\n prevParamsLen = prevParams.length - 1;\r\n arcTo(_number(prevParams[prevParamsLen - 1]), _number(prevParams[prevParamsLen]), _number(prevParams[prevParamsLen - 1]) + _number(params[5]), _number(prevParams[prevParamsLen]) + _number(params[6]), _number(params[0]), _number(params[3]), _number(params[4]), context);\r\n i += 2;\r\n break;\r\n case \"A\":\r\n prevParams = dArray[i - 1].trim().split(\" \");\r\n prevParamsLen = prevParams.length - 1;\r\n arcTo(_number(prevParams[prevParamsLen - 1]), _number(prevParams[prevParamsLen]), _number(params[5]), _number(params[6]), _number(params[0]), _number(params[3]), _number(params[4]), context);\r\n i += 2;\r\n break;\r\n case \"Z\":\r\n context.closePath();\r\n i += 1;\r\n break;\r\n default:\r\n i++\r\n }\r\n } while (i < dArray.length)\r\n}\r\n\r\nfunction parseStyles(element, options, rootAppended) {\r\n var style = element.style || {};\r\n var field;\r\n for (field in style) {\r\n if (\"\" !== style[field]) {\r\n options[camelize(field)] = style[field]\r\n }\r\n }\r\n if (rootAppended && domAdapter.isElementNode(element)) {\r\n style = window.getComputedStyle(element);\r\n [\"fill\", \"stroke\", \"stroke-width\", \"font-family\", \"font-size\", \"font-style\", \"font-weight\"].forEach((function(prop) {\r\n if (prop in style && \"\" !== style[prop]) {\r\n options[camelize(prop)] = style[prop]\r\n }\r\n }));\r\n [\"opacity\", \"fill-opacity\", \"stroke-opacity\"].forEach((function(prop) {\r\n if (prop in style && \"\" !== style[prop] && \"1\" !== style[prop]) {\r\n options[prop] = _number(style[prop])\r\n }\r\n }))\r\n }\r\n options.textDecoration = options.textDecoration || options.textDecorationLine;\r\n options.globalAlpha = isDefined(options.opacity) ? options.opacity : options.globalAlpha\r\n}\r\n\r\nfunction parseUrl(urlString) {\r\n var matches = urlString && urlString.match(/url\\(.*#(.*?)[\"']?\\)/i);\r\n return matches && matches[1]\r\n}\r\n\r\nfunction setFontStyle(context, options) {\r\n var fontParams = [];\r\n options.fontSize = options.fontSize || DEFAULT_FONT_SIZE;\r\n options.fontFamily = options.fontFamily || DEFAULT_FONT_FAMILY;\r\n options.fill = options.fill || DEFAULT_TEXT_COLOR;\r\n options.fontStyle && fontParams.push(options.fontStyle);\r\n options.fontWeight && fontParams.push(options.fontWeight);\r\n fontParams.push(options.fontSize);\r\n fontParams.push(options.fontFamily);\r\n context.font = fontParams.join(\" \");\r\n context.textAlign = options.textAlign;\r\n context.fillStyle = options.fill;\r\n context.globalAlpha = options.globalAlpha\r\n}\r\n\r\nfunction drawText(context, options, shared) {\r\n setFontStyle(context, options);\r\n applyFilter(context, options, shared);\r\n options.text && context.fillText(options.text, options.x || 0, options.y || 0);\r\n strokeElement(context, options, true);\r\n drawTextDecoration(context, options, shared)\r\n}\r\n\r\nfunction drawTextDecoration(context, options, shared) {\r\n if (!options.textDecoration || \"none\" === options.textDecoration) {\r\n return\r\n }\r\n var x = options.x;\r\n var textWidth = context.measureText(options.text).width;\r\n var textHeight = parseInt(options.fontSize, 10);\r\n var lineHeight = textHeight * TEXT_DECORATION_LINE_WIDTH_COEFF < 1 ? 1 : textHeight * TEXT_DECORATION_LINE_WIDTH_COEFF;\r\n var y = options.y;\r\n switch (options.textDecoration) {\r\n case \"line-through\":\r\n y -= textHeight / 3 + lineHeight / 2;\r\n break;\r\n case \"overline\":\r\n y -= textHeight - lineHeight;\r\n break;\r\n case \"underline\":\r\n y += lineHeight\r\n }\r\n context.rect(x, y, textWidth, lineHeight);\r\n fillElement(context, options, shared);\r\n strokeElement(context, options)\r\n}\r\n\r\nfunction aggregateOpacity(options) {\r\n options.strokeOpacity = void 0 !== options[\"stroke-opacity\"] ? options[\"stroke-opacity\"] : 1;\r\n options.fillOpacity = void 0 !== options[\"fill-opacity\"] ? options[\"fill-opacity\"] : 1;\r\n if (void 0 !== options.opacity) {\r\n options.strokeOpacity *= options.opacity;\r\n options.fillOpacity *= options.opacity\r\n }\r\n}\r\n\r\nfunction hasTspan(element) {\r\n var nodes = element.childNodes;\r\n for (var i = 0; i < nodes.length; i++) {\r\n if (\"tspan\" === nodes[i].tagName) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction drawTextElement(childNodes, context, options, shared) {\r\n var lines = [];\r\n var line;\r\n var offset = 0;\r\n for (var i = 0; i < childNodes.length; i++) {\r\n var element = childNodes[i];\r\n if (void 0 === element.tagName) {\r\n drawElement(element, context, options, shared)\r\n } else if (\"tspan\" === element.tagName || \"text\" === element.tagName) {\r\n var elementOptions = getElementOptions(element, shared.rootAppended);\r\n var mergedOptions = extend({}, options, elementOptions);\r\n if (\"tspan\" === element.tagName && hasTspan(element)) {\r\n drawTextElement(element.childNodes, context, mergedOptions, shared);\r\n continue\r\n }\r\n mergedOptions.textAlign = \"start\";\r\n if (!line || void 0 !== elementOptions.x) {\r\n line = {\r\n elements: [],\r\n options: [],\r\n widths: [],\r\n offsets: []\r\n };\r\n lines.push(line)\r\n }\r\n if (void 0 !== elementOptions.y) {\r\n offset = 0\r\n }\r\n if (void 0 !== elementOptions.dy) {\r\n offset += parseFloat(elementOptions.dy)\r\n }\r\n line.elements.push(element);\r\n line.options.push(mergedOptions);\r\n line.offsets.push(offset);\r\n setFontStyle(context, mergedOptions);\r\n line.widths.push(context.measureText(mergedOptions.text).width)\r\n }\r\n }\r\n lines.forEach((function(line) {\r\n var commonWidth = line.widths.reduce((function(commonWidth, width) {\r\n return commonWidth + width\r\n }), 0);\r\n var xDiff = 0;\r\n var currentOffset = 0;\r\n if (\"center\" === options.textAlign) {\r\n xDiff = commonWidth / 2\r\n }\r\n if (\"end\" === options.textAlign) {\r\n xDiff = commonWidth\r\n }\r\n line.options.forEach((function(o, index) {\r\n var width = line.widths[index];\r\n o.x = o.x - xDiff + currentOffset;\r\n o.y += line.offsets[index];\r\n currentOffset += width\r\n }));\r\n line.elements.forEach((function(element, index) {\r\n drawTextElement(element.childNodes, context, line.options[index], shared)\r\n }))\r\n }))\r\n}\r\n\r\nfunction drawElement(element, context, parentOptions, shared) {\r\n var tagName = element.tagName;\r\n var isText = \"text\" === tagName || \"tspan\" === tagName || void 0 === tagName;\r\n var isImage = \"image\" === tagName;\r\n var isComment = 8 === element.nodeType;\r\n var options = extend({}, parentOptions, getElementOptions(element, shared.rootAppended));\r\n if (\"hidden\" === options.visibility || options[HIDDEN_FOR_EXPORT] || isComment) {\r\n return\r\n }\r\n context.save();\r\n !isImage && transformElement(context, options);\r\n clipElement(context, options, shared);\r\n aggregateOpacity(options);\r\n var promise;\r\n context.beginPath();\r\n switch (element.tagName) {\r\n case void 0:\r\n drawText(context, options, shared);\r\n break;\r\n case \"text\":\r\n case \"tspan\":\r\n drawTextElement(element.childNodes, context, options, shared);\r\n break;\r\n case \"image\":\r\n promise = drawImage(context, options, shared);\r\n break;\r\n case \"path\":\r\n drawPath(context, options.d);\r\n break;\r\n case \"rect\":\r\n drawRect(context, options);\r\n context.closePath();\r\n break;\r\n case \"circle\":\r\n context.arc(options.cx, options.cy, options.r, 0, 2 * PI, 1)\r\n }\r\n if (!isText) {\r\n applyFilter(context, options, shared);\r\n if (!isImage) {\r\n promise = fillElement(context, options, shared)\r\n }\r\n strokeElement(context, options)\r\n }\r\n applyGradient(context, options, shared, element, \"linear\");\r\n applyGradient(context, options, shared, element, \"radial\");\r\n context.restore();\r\n return promise\r\n}\r\n\r\nfunction applyGradient(context, options, _ref, element, type) {\r\n var {\r\n linearGradients: linearGradients,\r\n radialGradients: radialGradients\r\n } = _ref;\r\n var gradients = \"linear\" === type ? linearGradients : radialGradients;\r\n if (0 === Object.keys(gradients).length) {\r\n return\r\n }\r\n var id = parseUrl(options.fill);\r\n if (id && gradients[id]) {\r\n var box = element.getBBox();\r\n var horizontalCenter = box.x + box.width / 2;\r\n var verticalCenter = box.y + box.height / 2;\r\n var maxRadius = Math.max(box.height / 2, box.width / 2);\r\n var gradient = \"linear\" === type ? context.createLinearGradient(box.x, 0, box.x + box.width, 0) : context.createRadialGradient(horizontalCenter, verticalCenter, 0, horizontalCenter, verticalCenter, maxRadius);\r\n gradients[id].colors.forEach(opt => {\r\n var offset = parseInt(opt.offset.replace(/%/, \"\"));\r\n gradient.addColorStop(offset / 100, opt.stopColor)\r\n });\r\n if (\"linear\" === type) {\r\n var _ref2, _gradients$id$transfo;\r\n var angle = null !== (_ref2 = (null === (_gradients$id$transfo = gradients[id].transform) || void 0 === _gradients$id$transfo ? void 0 : _gradients$id$transfo.replace(/\\D/g, \"\")) * Math.PI / 180) && void 0 !== _ref2 ? _ref2 : 0;\r\n context.translate(horizontalCenter, verticalCenter);\r\n context.rotate(angle);\r\n context.translate(-horizontalCenter, -verticalCenter)\r\n }\r\n context.globalAlpha = options.opacity;\r\n context.fillStyle = gradient;\r\n context.fill()\r\n }\r\n}\r\n\r\nfunction applyFilter(context, options, shared) {\r\n var filterOptions;\r\n var id = parseUrl(options.filter);\r\n if (id) {\r\n filterOptions = shared.filters[id];\r\n if (!filterOptions) {\r\n filterOptions = {\r\n offsetX: 0,\r\n offsetY: 0,\r\n blur: 0,\r\n color: \"#000\"\r\n }\r\n }\r\n context.shadowOffsetX = filterOptions.offsetX;\r\n context.shadowOffsetY = filterOptions.offsetY;\r\n context.shadowColor = filterOptions.color;\r\n context.shadowBlur = filterOptions.blur\r\n }\r\n}\r\n\r\nfunction transformElement(context, options) {\r\n context.translate(options.translateX || 0, options.translateY || 0);\r\n options.translateX = void 0;\r\n options.translateY = void 0;\r\n if (options.rotationAngle) {\r\n context.translate(options.rotationX || 0, options.rotationY || 0);\r\n context.rotate(options.rotationAngle * PI / 180);\r\n context.translate(-(options.rotationX || 0), -(options.rotationY || 0));\r\n options.rotationAngle = void 0;\r\n options.rotationX = void 0;\r\n options.rotationY = void 0\r\n }\r\n if (isFinite(options.scaleX)) {\r\n context.scale(options.scaleX, options.scaleY);\r\n options.scaleX = void 0;\r\n options.scaleY = void 0\r\n }\r\n}\r\n\r\nfunction clipElement(context, options, shared) {\r\n if (options[\"clip-path\"]) {\r\n drawElement(shared.clipPaths[parseUrl(options[\"clip-path\"])], context, {}, shared);\r\n context.clip();\r\n options[\"clip-path\"] = void 0\r\n }\r\n}\r\n\r\nfunction hex2rgba(hexColor, alpha) {\r\n var color = new Color(hexColor);\r\n return \"rgba(\" + color.r + \",\" + color.g + \",\" + color.b + \",\" + alpha + \")\"\r\n}\r\n\r\nfunction createGradient(element) {\r\n var _element$attributes$g;\r\n var options = {\r\n colors: [],\r\n transform: null === (_element$attributes$g = element.attributes.gradientTransform) || void 0 === _element$attributes$g ? void 0 : _element$attributes$g.textContent\r\n };\r\n _each(element.childNodes, (_, _ref3) => {\r\n var {\r\n attributes: attributes\r\n } = _ref3;\r\n options.colors.push({\r\n offset: attributes.offset.value,\r\n stopColor: attributes[\"stop-color\"].value\r\n })\r\n });\r\n return options\r\n}\r\n\r\nfunction createFilter(element) {\r\n var color;\r\n var opacity;\r\n var filterOptions = {};\r\n _each(element.childNodes, (function(_, node) {\r\n var attr = node.attributes;\r\n if (!attr.result) {\r\n return\r\n }\r\n switch (attr.result.value) {\r\n case \"gaussianBlurResult\":\r\n filterOptions.blur = _number(attr.stdDeviation.value);\r\n break;\r\n case \"offsetResult\":\r\n filterOptions.offsetX = _number(attr.dx.value);\r\n filterOptions.offsetY = _number(attr.dy.value);\r\n break;\r\n case \"floodResult\":\r\n color = attr[\"flood-color\"] ? attr[\"flood-color\"].value : \"#000\";\r\n opacity = attr[\"flood-opacity\"] ? attr[\"flood-opacity\"].value : 1;\r\n filterOptions.color = hex2rgba(color, opacity)\r\n }\r\n }));\r\n return filterOptions\r\n}\r\n\r\nfunction asyncEach(array, callback) {\r\n var d = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : new Deferred;\r\n var i = 0;\r\n for (; i < array.length; i++) {\r\n var result = callback(array[i]);\r\n if (isPromise(result)) {\r\n result.then(() => {\r\n asyncEach(Array.prototype.slice.call(array, i + 1), callback, d)\r\n });\r\n break\r\n }\r\n }\r\n if (i === array.length) {\r\n d.resolve()\r\n }\r\n return d\r\n}\r\n\r\nfunction drawCanvasElements(elements, context, parentOptions, shared) {\r\n return asyncEach(elements, (function(element) {\r\n switch (element.tagName && element.tagName.toLowerCase()) {\r\n case \"g\":\r\n case \"svg\":\r\n var options = extend({}, parentOptions, getElementOptions(element, shared.rootAppended));\r\n context.save();\r\n transformElement(context, options);\r\n clipElement(context, options, shared);\r\n var onDone = () => {\r\n context.restore()\r\n };\r\n var promise = drawCanvasElements(element.childNodes, context, options, shared);\r\n if (isPromise(promise)) {\r\n promise.then(onDone)\r\n } else {\r\n onDone()\r\n }\r\n return promise;\r\n case \"defs\":\r\n return drawCanvasElements(element.childNodes, context, {}, shared);\r\n case \"clippath\":\r\n shared.clipPaths[element.attributes.id.textContent] = element.childNodes[0];\r\n break;\r\n case \"pattern\":\r\n shared.patterns[element.attributes.id.textContent] = element;\r\n break;\r\n case \"filter\":\r\n shared.filters[element.id] = createFilter(element);\r\n break;\r\n case \"lineargradient\":\r\n shared.linearGradients[element.attributes.id.textContent] = createGradient(element);\r\n break;\r\n case \"radialgradient\":\r\n shared.radialGradients[element.attributes.id.textContent] = createGradient(element);\r\n break;\r\n default:\r\n return drawElement(element, context, parentOptions, shared)\r\n }\r\n }))\r\n}\r\n\r\nfunction setLineDash(context, options) {\r\n var matches = options[\"stroke-dasharray\"] && options[\"stroke-dasharray\"].match(/(\\d+)/g);\r\n if (matches && matches.length) {\r\n matches = _map(matches, (function(item) {\r\n return _number(item)\r\n }));\r\n context.setLineDash(matches)\r\n }\r\n}\r\n\r\nfunction strokeElement(context, options, isText) {\r\n var stroke = options.stroke;\r\n if (stroke && \"none\" !== stroke && 0 !== options[\"stroke-width\"]) {\r\n setLineDash(context, options);\r\n context.lineJoin = options[\"stroke-linejoin\"];\r\n context.lineWidth = options[\"stroke-width\"];\r\n context.globalAlpha = options.strokeOpacity;\r\n context.strokeStyle = stroke;\r\n isText ? context.strokeText(options.text, options.x, options.y) : context.stroke();\r\n context.globalAlpha = 1\r\n }\r\n}\r\n\r\nfunction getPattern(context, pattern, shared, parentOptions) {\r\n var options = getElementOptions(pattern, shared.rootAppended);\r\n var patternCanvas = imageCreator._createCanvas(options.width, options.height, 0);\r\n var patternContext = patternCanvas.getContext(\"2d\");\r\n var promise = drawCanvasElements(pattern.childNodes, patternContext, options, shared);\r\n var onDone = () => {\r\n context.fillStyle = context.createPattern(patternCanvas, \"repeat\");\r\n context.globalAlpha = parentOptions.fillOpacity;\r\n context.fill();\r\n context.globalAlpha = 1\r\n };\r\n if (isPromise(promise)) {\r\n promise.then(onDone)\r\n } else {\r\n onDone()\r\n }\r\n return promise\r\n}\r\n\r\nfunction fillElement(context, options, shared) {\r\n var fill = options.fill;\r\n var promise;\r\n if (fill && \"none\" !== fill) {\r\n if (-1 === fill.search(/url/)) {\r\n context.fillStyle = fill;\r\n context.globalAlpha = options.fillOpacity;\r\n context.fill();\r\n context.globalAlpha = 1\r\n } else {\r\n var pattern = shared.patterns[parseUrl(fill)];\r\n if (!pattern) {\r\n return\r\n }\r\n promise = getPattern(context, pattern, shared, options)\r\n }\r\n }\r\n return promise\r\n}\r\nparseAttributes = function(attributes) {\r\n var newAttributes = {};\r\n var attr;\r\n _each(attributes, (function(index, item) {\r\n attr = item.textContent;\r\n if (isFinite(attr)) {\r\n attr = _number(attr)\r\n }\r\n newAttributes[item.name.toLowerCase()] = attr\r\n }));\r\n return newAttributes\r\n};\r\n\r\nfunction drawBackground(context, width, height, backgroundColor, margin) {\r\n context.fillStyle = backgroundColor || \"#ffffff\";\r\n context.fillRect(-margin, -margin, width + 2 * margin, height + 2 * margin)\r\n}\r\n\r\nfunction createInvisibleDiv() {\r\n var invisibleDiv = domAdapter.createElement(\"div\");\r\n invisibleDiv.style.left = \"-9999px\";\r\n invisibleDiv.style.position = \"absolute\";\r\n return invisibleDiv\r\n}\r\n\r\nfunction convertSvgToCanvas(svg, canvas, rootAppended) {\r\n return drawCanvasElements(svg.childNodes, canvas.getContext(\"2d\"), {}, {\r\n clipPaths: {},\r\n patterns: {},\r\n filters: {},\r\n linearGradients: {},\r\n radialGradients: {},\r\n rootAppended: rootAppended\r\n })\r\n}\r\n\r\nfunction getCanvasFromSvg(markup, _ref4) {\r\n var {\r\n width: width,\r\n height: height,\r\n backgroundColor: backgroundColor,\r\n margin: margin,\r\n svgToCanvas: svgToCanvas = convertSvgToCanvas\r\n } = _ref4;\r\n var scaledScreenInfo = calcScaledInfo(width, height);\r\n var canvas = imageCreator._createCanvas(scaledScreenInfo.width, scaledScreenInfo.height, margin);\r\n var context = canvas.getContext(\"2d\");\r\n context.setTransform(scaledScreenInfo.pixelRatio, 0, 0, scaledScreenInfo.pixelRatio, 0, 0);\r\n var svgElem = getSvgElement(markup);\r\n var invisibleDiv;\r\n var markupIsDomElement = domAdapter.isElementNode(markup);\r\n context.translate(margin, margin);\r\n domAdapter.getBody().appendChild(canvas);\r\n if (!markupIsDomElement) {\r\n invisibleDiv = createInvisibleDiv();\r\n invisibleDiv.appendChild(svgElem);\r\n domAdapter.getBody().appendChild(invisibleDiv)\r\n }\r\n if (svgElem.attributes.direction) {\r\n canvas.dir = svgElem.attributes.direction.textContent\r\n }\r\n drawBackground(context, width, height, backgroundColor, margin);\r\n return fromPromise(svgToCanvas(svgElem, canvas, markupIsDomElement && contains(domAdapter.getBody(), markup))).then(() => canvas).always(() => {\r\n invisibleDiv && domAdapter.getBody().removeChild(invisibleDiv);\r\n domAdapter.getBody().removeChild(canvas)\r\n })\r\n}\r\nexport var imageCreator = {\r\n getImageData: function(markup, options) {\r\n var mimeType = \"image/\" + options.format;\r\n if (isFunction(options.__parseAttributesFn)) {\r\n parseAttributes = options.__parseAttributesFn\r\n }\r\n return getCanvasFromSvg(markup, options).then(canvas => getStringFromCanvas(canvas, mimeType))\r\n },\r\n getData: function(markup, options) {\r\n var that = this;\r\n return imageCreator.getImageData(markup, options).then(binaryData => {\r\n var mimeType = \"image/\" + options.format;\r\n var data = isFunction(window.Blob) && !options.useBase64 ? that._getBlob(binaryData, mimeType) : that._getBase64(binaryData);\r\n return data\r\n })\r\n },\r\n _getBlob: function(binaryData, mimeType) {\r\n var i;\r\n var dataArray = new Uint8Array(binaryData.length);\r\n for (i = 0; i < binaryData.length; i++) {\r\n dataArray[i] = binaryData.charCodeAt(i)\r\n }\r\n return new window.Blob([dataArray.buffer], {\r\n type: mimeType\r\n })\r\n },\r\n _getBase64: function(binaryData) {\r\n return window.btoa(binaryData)\r\n },\r\n _createCanvas(width, height, margin) {\r\n var canvas = $(\"\")[0];\r\n canvas.width = width + 2 * margin;\r\n canvas.height = height + 2 * margin;\r\n canvas.hidden = true;\r\n return canvas\r\n }\r\n};\r\nexport function getData(data, options) {\r\n return imageCreator.getData(data, options)\r\n}\r\nexport function testFormats(formats) {\r\n var canvas = imageCreator._createCanvas(100, 100, 0);\r\n return formats.reduce((function(r, f) {\r\n var mimeType = (\"image/\" + f).toLowerCase();\r\n if (-1 !== canvas.toDataURL(mimeType).indexOf(mimeType)) {\r\n r.supported.push(f)\r\n } else {\r\n r.unsupported.push(f)\r\n }\r\n return r\r\n }), {\r\n supported: [],\r\n unsupported: []\r\n })\r\n}\r\nexport function calcScaledInfo(width, height) {\r\n var pixelRatio = window.devicePixelRatio || 1;\r\n return {\r\n pixelRatio: pixelRatio,\r\n width: width * pixelRatio,\r\n height: height * pixelRatio\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/exporter/file_saver.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n getWindow,\r\n getNavigator\r\n} from \"../core/utils/window\";\r\nimport errors from \"../ui/widget/ui.errors\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n logger\r\n} from \"../core/utils/console\";\r\nvar window = getWindow();\r\nvar navigator = getNavigator();\r\nvar FILE_EXTESIONS = {\r\n EXCEL: \"xlsx\",\r\n CSS: \"css\",\r\n PNG: \"png\",\r\n JPEG: \"jpeg\",\r\n GIF: \"gif\",\r\n SVG: \"svg\",\r\n PDF: \"pdf\"\r\n};\r\nexport var MIME_TYPES = {\r\n CSS: \"text/css\",\r\n EXCEL: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n PNG: \"image/png\",\r\n JPEG: \"image/jpeg\",\r\n GIF: \"image/gif\",\r\n SVG: \"image/svg+xml\",\r\n PDF: \"application/pdf\"\r\n};\r\nexport var fileSaver = {\r\n _revokeObjectURLTimeout: 3e4,\r\n _getDataUri: function(format, data) {\r\n var mimeType = this._getMimeType(format);\r\n return \"data:\".concat(mimeType, \";base64,\").concat(data)\r\n },\r\n _getMimeType: function(format) {\r\n return MIME_TYPES[format] || \"application/octet-stream\"\r\n },\r\n _linkDownloader: function(fileName, href) {\r\n var exportLinkElement = domAdapter.createElement(\"a\");\r\n exportLinkElement.download = fileName;\r\n exportLinkElement.href = href;\r\n exportLinkElement.target = \"_blank\";\r\n return exportLinkElement\r\n },\r\n _winJSBlobSave: function(blob, fileName, format) {\r\n var savePicker = new Windows.Storage.Pickers.FileSavePicker;\r\n savePicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.documentsLibrary;\r\n var fileExtension = FILE_EXTESIONS[format];\r\n if (fileExtension) {\r\n var mimeType = this._getMimeType(format);\r\n savePicker.fileTypeChoices.insert(mimeType, [\".\" + fileExtension])\r\n }\r\n savePicker.suggestedFileName = fileName;\r\n savePicker.pickSaveFileAsync().then((function(file) {\r\n if (file) {\r\n file.openAsync(Windows.Storage.FileAccessMode.readWrite).then((function(outputStream) {\r\n var inputStream = blob.msDetachStream();\r\n Windows.Storage.Streams.RandomAccessStream.copyAsync(inputStream, outputStream).then((function() {\r\n outputStream.flushAsync().done((function() {\r\n inputStream.close();\r\n outputStream.close()\r\n }))\r\n }))\r\n }))\r\n }\r\n }))\r\n },\r\n _click: function(link) {\r\n try {\r\n link.dispatchEvent(new MouseEvent(\"click\", {\r\n cancelable: true\r\n }))\r\n } catch (e) {\r\n var event = domAdapter.getDocument().createEvent(\"MouseEvents\");\r\n event.initMouseEvent(\"click\", true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);\r\n link.dispatchEvent(event)\r\n }\r\n },\r\n _saveBlobAs: function(fileName, format, data) {\r\n this._blobSaved = false;\r\n if (isDefined(navigator.msSaveOrOpenBlob)) {\r\n navigator.msSaveOrOpenBlob(data, fileName);\r\n this._blobSaved = true\r\n } else if (isDefined(window.WinJS)) {\r\n this._winJSBlobSave(data, fileName, format);\r\n this._blobSaved = true\r\n } else {\r\n var URL = window.URL || window.webkitURL || window.mozURL || window.msURL || window.oURL;\r\n if (isDefined(URL)) {\r\n var objectURL = URL.createObjectURL(data);\r\n var downloadLink = this._linkDownloader(fileName, objectURL);\r\n setTimeout(() => {\r\n URL.revokeObjectURL(objectURL);\r\n this._objectUrlRevoked = true\r\n }, this._revokeObjectURLTimeout);\r\n this._click(downloadLink)\r\n } else {\r\n logger.warn(\"window.URL || window.webkitURL || window.mozURL || window.msURL || window.oURL is not defined\")\r\n }\r\n }\r\n },\r\n saveAs: function(fileName, format, data) {\r\n var fileExtension = FILE_EXTESIONS[format];\r\n if (fileExtension) {\r\n fileName += \".\" + fileExtension\r\n }\r\n if (isFunction(window.Blob)) {\r\n this._saveBlobAs(fileName, format, data)\r\n } else {\r\n if (!isDefined(navigator.userAgent.match(/iPad/i))) {\r\n errors.log(\"E1034\")\r\n }\r\n var downloadLink = this._linkDownloader(fileName, this._getDataUri(format, data));\r\n this._click(downloadLink)\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/svg_creator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport ajax from \"../core/utils/ajax\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getSvgElement,\r\n getSvgMarkup,\r\n HIDDEN_FOR_EXPORT\r\n} from \"../core/utils/svg\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nexport var svgCreator = {\r\n _markup: \"\",\r\n _imageArray: {},\r\n _imageDeferreds: [],\r\n _getBinaryFile: function(src, callback) {\r\n ajax.sendRequest({\r\n url: src,\r\n method: \"GET\",\r\n responseType: \"arraybuffer\"\r\n }).done(callback).fail((function() {\r\n callback(false)\r\n }))\r\n },\r\n _loadImages: function() {\r\n var that = this;\r\n each(that._imageArray, (function(src) {\r\n var deferred = new Deferred;\r\n that._imageDeferreds.push(deferred);\r\n that._getBinaryFile(src, (function(response) {\r\n if (!response) {\r\n delete that._imageArray[src];\r\n deferred.resolve();\r\n return\r\n }\r\n var i;\r\n var binary = \"\";\r\n var bytes = new Uint8Array(response);\r\n var length = bytes.byteLength;\r\n for (i = 0; i < length; i++) {\r\n binary += String.fromCharCode(bytes[i])\r\n }\r\n that._imageArray[src] = \"data:image/png;base64,\" + window.btoa(binary);\r\n deferred.resolve()\r\n }))\r\n }))\r\n },\r\n _parseImages: function(element) {\r\n var href;\r\n var that = this;\r\n if (\"image\" === element.tagName) {\r\n href = $(element).attr(\"href\") || $(element).attr(\"xlink:href\");\r\n if (!that._imageArray[href]) {\r\n that._imageArray[href] = \"\"\r\n }\r\n }\r\n each(element.childNodes, (function(_, element) {\r\n that._parseImages(element)\r\n }))\r\n },\r\n _prepareImages: function(svgElem) {\r\n this._parseImages(svgElem);\r\n this._loadImages();\r\n return when.apply($, this._imageDeferreds)\r\n },\r\n getData: function(data, options) {\r\n var markup;\r\n var that = this;\r\n var svgElem = getSvgElement(data);\r\n var $svgObject = $(svgElem);\r\n $svgObject.find(\"[\".concat(HIDDEN_FOR_EXPORT, \"]\")).remove();\r\n markup = '' + getSvgMarkup($svgObject.get(0), options.backgroundColor);\r\n return that._prepareImages(svgElem).then(() => {\r\n each(that._imageArray, (function(href, dataURI) {\r\n var regexpString = \"href=['|\\\"]\".concat(href, \"['|\\\"]\");\r\n markup = markup.replace(new RegExp(regexpString, \"gi\"), 'href=\"'.concat(dataURI, '\"'))\r\n }));\r\n return isFunction(window.Blob) ? that._getBlob(markup) : that._getBase64(markup)\r\n })\r\n },\r\n _getBlob: function(markup) {\r\n return new window.Blob([markup], {\r\n type: \"image/svg+xml\"\r\n })\r\n },\r\n _getBase64: function(markup) {\r\n return window.btoa(markup)\r\n }\r\n};\r\nexport function getData(data, options) {\r\n return svgCreator.getData(data, options)\r\n}\r\n","/**\r\n * DevExtreme (esm/exporter/pdf_creator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n version\r\n} from \"../core/version\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n imageCreator,\r\n calcScaledInfo\r\n} from \"./image_creator\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nvar mainPageTemplate = \"%PDF-1.3\\r\\n2 0 obj\\r\\n<>>>\\r\\nendobj\\r\\n4 0 obj\\r\\n<>\\r\\nendobj\\r\\n7 0 obj\\r\\n<>\\r\\nendobj\\r\\n1 0 obj\\r\\n<>\\r\\nendobj\\r\\n\";\r\nvar contentTemplate = \"3 0 obj\\r\\n<>stream\\r\\n0.20 w\\n0 G\\nq _width_ 0 0 _height_ 0.00 0.00 cm /I0 Do Q\\r\\nendstream\\r\\nendobj\\r\\n\";\r\nvar infoTemplate = \"6 0 obj\\r\\n<>\\r\\nendobj\\r\\n\";\r\nvar imageStartTemplate = \"5 0 obj\\r\\n<>stream\\r\\n\";\r\nvar imageEndTemplate = \"\\r\\nendstream\\r\\nendobj\\r\\n\";\r\nvar trailerTemplate = \"trailer\\r\\n<<\\r\\n/Size 8\\r\\n/Root 7 0 R\\r\\n/Info 6 0 R\\r\\n>>\\r\\nstartxref\\r\\n_length_\\r\\n%%EOF\";\r\nvar xrefTemplate = \"xref\\r\\n0 8\\r\\n0000000000 65535 f\\r\\n0000000241 00000 n\\r\\n0000000010 00000 n\\r\\n_main_ 00000 n\\r\\n0000000089 00000 n\\r\\n_image_ 00000 n\\r\\n_info_ 00000 n\\r\\n0000000143 00000 n\\r\\n\";\r\nvar pad = function pad(str, len) {\r\n return str.length < len ? pad(\"0\" + str, len) : str\r\n};\r\nvar composePdfString = function(imageString, options, curDate) {\r\n var margin = 2 * (options.margin || 0);\r\n var {\r\n width: width,\r\n height: height\r\n } = calcScaledInfo(options.width, options.height);\r\n width += margin;\r\n height += margin;\r\n var widthPt = (.75 * width).toFixed(2);\r\n var heightPt = (.75 * height).toFixed(2);\r\n var flooredWidth = Math.floor(width);\r\n var flooredHeight = Math.floor(height);\r\n var mainPage = mainPageTemplate.replace(\"_width_\", widthPt).replace(\"_height_\", heightPt);\r\n var content = contentTemplate.replace(\"_width_\", widthPt).replace(\"_height_\", heightPt);\r\n var info = infoTemplate.replace(\"_date_\", curDate).replace(\"_version_\", version);\r\n var image = imageStartTemplate.replace(\"_width_\", flooredWidth).replace(\"_height_\", flooredHeight).replace(\"_length_\", imageString.length) + imageString + imageEndTemplate;\r\n var xref = getXref(mainPage.length, content.length, info.length);\r\n var mainContent = mainPage + content + info + image;\r\n var trailer = trailerTemplate.replace(\"_length_\", mainContent.length);\r\n return mainContent + xref + trailer\r\n};\r\n\r\nfunction getXref(mainPageLength, contentLength, infoLength) {\r\n return xrefTemplate.replace(\"_main_\", pad(mainPageLength + \"\", 10)).replace(\"_info_\", pad(mainPageLength + contentLength + \"\", 10)).replace(\"_image_\", pad(mainPageLength + contentLength + infoLength + \"\", 10))\r\n}\r\nvar getCurDate = function() {\r\n return new Date\r\n};\r\nvar getBlob = function(binaryData) {\r\n var i = 0;\r\n var dataArray = new Uint8Array(binaryData.length);\r\n for (; i < binaryData.length; i++) {\r\n dataArray[i] = binaryData.charCodeAt(i)\r\n }\r\n return new window.Blob([dataArray.buffer], {\r\n type: \"application/pdf\"\r\n })\r\n};\r\nvar getBase64 = function(binaryData) {\r\n return window.btoa(binaryData)\r\n};\r\n\r\nfunction getTwoDigitValue(value) {\r\n var stringValue = value.toString();\r\n if (1 === stringValue.length) {\r\n return \"0\".concat(value)\r\n }\r\n return value\r\n}\r\n\r\nfunction convertToPdfDateFormat(date) {\r\n var dateUnits = [date.getUTCFullYear(), getTwoDigitValue(date.getUTCMonth()), getTwoDigitValue(date.getUTCDate()), getTwoDigitValue(date.getUTCHours()), getTwoDigitValue(date.getUTCMinutes()), getTwoDigitValue(date.getUTCSeconds())];\r\n return \"(D:\".concat(dateUnits.join(\"\"), \"Z00'00')\")\r\n}\r\nexport function getData(data, options) {\r\n return imageCreator.getImageData(data, extend({}, options, {\r\n format: \"JPEG\"\r\n })).then(imageString => {\r\n var binaryData = composePdfString(imageString, options, convertToPdfDateFormat(getCurDate()));\r\n var pdfData = isFunction(window.Blob) ? getBlob(binaryData) : getBase64(binaryData);\r\n return pdfData\r\n })\r\n}\r\n","/**\r\n * DevExtreme (esm/exporter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n fileSaver\r\n} from \"./exporter/file_saver\";\r\nimport {\r\n imageCreator,\r\n testFormats,\r\n getData as getImageData\r\n} from \"./exporter/image_creator\";\r\nimport {\r\n svgCreator,\r\n getData as getSvgData\r\n} from \"./exporter/svg_creator\";\r\nimport {\r\n isFunction as _isFunction,\r\n isBoolean\r\n} from \"./core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"./core/utils/deferred\";\r\nimport {\r\n getData\r\n} from \"./exporter/pdf_creator\";\r\n\r\nfunction _export(data, options, getData) {\r\n if (!data) {\r\n return (new Deferred).resolve()\r\n }\r\n var exportingAction = options.exportingAction;\r\n var exportedAction = options.exportedAction;\r\n var fileSavingAction = options.fileSavingAction;\r\n var eventArgs = {\r\n fileName: options.fileName,\r\n format: options.format,\r\n cancel: false\r\n };\r\n if (isBoolean(options.selectedRowsOnly)) {\r\n eventArgs.selectedRowsOnly = options.selectedRowsOnly\r\n }\r\n _isFunction(exportingAction) && exportingAction(eventArgs);\r\n if (!eventArgs.cancel) {\r\n return getData(data, options).then(blob => {\r\n _isFunction(exportedAction) && exportedAction();\r\n if (_isFunction(fileSavingAction)) {\r\n eventArgs.data = blob;\r\n fileSavingAction(eventArgs)\r\n }\r\n if (!eventArgs.cancel) {\r\n var format = \"xlsx\" === options.format ? \"EXCEL\" : options.format;\r\n fileSaver.saveAs(eventArgs.fileName, format, blob)\r\n }\r\n })\r\n }\r\n return (new Deferred).resolve()\r\n}\r\nexport {\r\n _export as\r\n export, fileSaver\r\n};\r\nexport var image = {\r\n creator: imageCreator,\r\n getData: getImageData,\r\n testFormats: testFormats\r\n};\r\nexport var pdf = {\r\n getData: getData\r\n};\r\nexport var svg = {\r\n creator: svgCreator,\r\n getData: getSvgData\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/export.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n patchFontOptions\r\n} from \"./utils\";\r\nimport {\r\n HIDDEN_FOR_EXPORT\r\n} from \"../../core/utils/svg\";\r\nimport {\r\n export as _export,\r\n image as imageExporter,\r\n svg as svgExporter,\r\n pdf as pdfExporter\r\n} from \"../../exporter\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getTheme\r\n} from \"../themes\";\r\nimport {\r\n start as hoverEventStart,\r\n end as hoverEventEnd\r\n} from \"../../events/hover\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n logger\r\n} from \"../../core/utils/console\";\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nvar pointerActions = [pointerEvents.down, pointerEvents.move].join(\" \");\r\nvar BUTTON_SIZE = 35;\r\nvar ICON_COORDS = [\r\n [9, 12, 26, 12, 26, 14, 9, 14],\r\n [9, 17, 26, 17, 26, 19, 9, 19],\r\n [9, 22, 26, 22, 26, 24, 9, 24]\r\n];\r\nvar LIST_PADDING_TOP = 4;\r\nvar LIST_WIDTH = 120;\r\nvar VERTICAL_TEXT_MARGIN = 8;\r\nvar HORIZONTAL_TEXT_MARGIN = 15;\r\nvar MENU_ITEM_HEIGHT = 30;\r\nvar LIST_STROKE_WIDTH = 1;\r\nvar MARGIN = 10;\r\nvar SHADOW_OFFSET = 2;\r\nvar SHADOW_BLUR = 3;\r\nvar DEFAULT_EXPORT_FORMAT = \"PNG\";\r\nvar ALLOWED_IMAGE_FORMATS = [DEFAULT_EXPORT_FORMAT, \"JPEG\", \"GIF\"];\r\nvar ALLOWED_EXTRA_FORMATS = [\"PDF\", \"SVG\"];\r\nvar EXPORT_CSS_CLASS = \"dx-export-menu\";\r\nvar A4WidthCm = \"21cm\";\r\nvar EXPORT_DATA_KEY = \"export-element-type\";\r\nvar FORMAT_DATA_KEY = \"export-element-format\";\r\nvar GET_COLOR_REGEX = /data-backgroundcolor=\"([^\"]*)\"/;\r\n\r\nfunction getValidFormats() {\r\n var imageFormats = imageExporter.testFormats(ALLOWED_IMAGE_FORMATS);\r\n return {\r\n unsupported: imageFormats.unsupported,\r\n supported: imageFormats.supported.concat(ALLOWED_EXTRA_FORMATS)\r\n }\r\n}\r\n\r\nfunction validateFormat(format, incidentOccurred, validFormats) {\r\n validFormats = validFormats || getValidFormats();\r\n format = String(format).toUpperCase();\r\n if (-1 !== validFormats.supported.indexOf(format)) {\r\n return format\r\n }\r\n if (-1 !== validFormats.unsupported.indexOf(format)) {\r\n incidentOccurred && incidentOccurred(\"W2108\", [format])\r\n }\r\n}\r\n\r\nfunction getCreatorFunc(format) {\r\n if (\"SVG\" === format) {\r\n return svgExporter.getData\r\n } else if (\"PDF\" === format) {\r\n return pdfExporter.getData\r\n } else {\r\n return imageExporter.getData\r\n }\r\n}\r\n\r\nfunction print(imageSrc, options) {\r\n var document = getWindow().document;\r\n var iFrame = document.createElement(\"iframe\");\r\n iFrame.onload = setPrint(imageSrc, options);\r\n iFrame.style.position = \"fixed\";\r\n iFrame.style.width = \"0\";\r\n iFrame.style.height = \"0\";\r\n iFrame.style.right = \"0\";\r\n iFrame.style.bottom = \"0\";\r\n document.body.appendChild(iFrame)\r\n}\r\n\r\nfunction calculatePrintPageWidth(iFrameBody) {\r\n iFrameBody.style.width = A4WidthCm;\r\n var width = getWidth(iFrameBody);\r\n iFrameBody.style.width = \"\";\r\n return width\r\n}\r\n\r\nfunction setPrint(imageSrc, options) {\r\n return function() {\r\n var window = this.contentWindow;\r\n var img = window.document.createElement(\"img\");\r\n window.document.body.appendChild(img);\r\n var widthRatio = calculatePrintPageWidth(window.document.body) / options.width;\r\n if (widthRatio < 1) {\r\n window.document.body.style.transform = \"scale(\".concat(widthRatio, \")\");\r\n window.document.body.style[\"transform-origin\"] = \"0 0\"\r\n }\r\n var removeFrame = () => {\r\n this.parentElement.removeChild(this)\r\n };\r\n img.addEventListener(\"load\", () => {\r\n window.focus();\r\n window.print()\r\n });\r\n img.addEventListener(\"error\", removeFrame);\r\n window.addEventListener(\"afterprint\", () => {\r\n setTimeout(removeFrame, 0)\r\n });\r\n img.src = imageSrc\r\n }\r\n}\r\n\r\nfunction getItemAttributes(options, type, itemIndex) {\r\n var x = BUTTON_SIZE - LIST_WIDTH;\r\n var y = BUTTON_SIZE + LIST_PADDING_TOP + LIST_STROKE_WIDTH + itemIndex * MENU_ITEM_HEIGHT;\r\n var attr = {\r\n rect: {\r\n width: LIST_WIDTH - 2 * LIST_STROKE_WIDTH,\r\n height: MENU_ITEM_HEIGHT,\r\n x: x + LIST_STROKE_WIDTH,\r\n y: y\r\n },\r\n text: {\r\n x: x + (options.rtl ? LIST_WIDTH - HORIZONTAL_TEXT_MARGIN : HORIZONTAL_TEXT_MARGIN),\r\n y: y + MENU_ITEM_HEIGHT - VERTICAL_TEXT_MARGIN\r\n }\r\n };\r\n if (\"printing\" === type) {\r\n attr.separator = {\r\n stroke: options.button.default.borderColor,\r\n \"stroke-width\": LIST_STROKE_WIDTH,\r\n cursor: \"pointer\",\r\n sharp: \"v\",\r\n d: \"M \" + x + \" \" + (y + MENU_ITEM_HEIGHT - LIST_STROKE_WIDTH) + \" L \" + (x + LIST_WIDTH) + \" \" + (y + MENU_ITEM_HEIGHT - LIST_STROKE_WIDTH)\r\n }\r\n }\r\n return attr\r\n}\r\n\r\nfunction createMenuItem(renderer, options, settings) {\r\n var itemData = {};\r\n var type = settings.type;\r\n var format = settings.format;\r\n var attr = getItemAttributes(options, type, settings.itemIndex);\r\n var fontStyle = patchFontOptions(options.font);\r\n fontStyle[\"pointer-events\"] = \"none\";\r\n var menuItem = renderer.g().attr({\r\n class: EXPORT_CSS_CLASS + \"-list-item\"\r\n });\r\n itemData[EXPORT_DATA_KEY] = type;\r\n if (format) {\r\n itemData[FORMAT_DATA_KEY] = format\r\n }\r\n var rect = renderer.rect();\r\n rect.attr(attr.rect).css({\r\n cursor: \"pointer\",\r\n \"pointer-events\": \"all\"\r\n }).data(itemData);\r\n rect.on(hoverEventStart + \".export\", () => rect.attr({\r\n fill: options.button.hover.backgroundColor\r\n })).on(hoverEventEnd + \".export\", () => rect.attr({\r\n fill: null\r\n }));\r\n rect.append(menuItem);\r\n var text = renderer.text(settings.text).css(fontStyle).attr(attr.text).append(menuItem);\r\n if (\"printing\" === type) {\r\n renderer.path(null, \"line\").attr(attr.separator).append(menuItem)\r\n }\r\n return {\r\n g: menuItem,\r\n rect: rect,\r\n resetState: () => rect.attr({\r\n fill: null\r\n }),\r\n fixPosition: () => {\r\n var textBBox = text.getBBox();\r\n text.move(attr.text.x - textBBox.x - (options.rtl ? textBBox.width : 0))\r\n }\r\n }\r\n}\r\n\r\nfunction createMenuItems(renderer, options) {\r\n var items = [];\r\n if (options.printingEnabled) {\r\n items.push(createMenuItem(renderer, options, {\r\n type: \"printing\",\r\n text: messageLocalization.format(\"vizExport-printingButtonText\"),\r\n itemIndex: items.length\r\n }))\r\n }\r\n items = options.formats.reduce((r, format) => {\r\n r.push(createMenuItem(renderer, options, {\r\n type: \"exporting\",\r\n text: messageLocalization.getFormatter(\"vizExport-exportButtonText\")(format),\r\n format: format,\r\n itemIndex: r.length\r\n }));\r\n return r\r\n }, items);\r\n return items\r\n}\r\n\r\nfunction getBackgroundColorFromMarkup(markup) {\r\n var parsedMarkup = GET_COLOR_REGEX.exec(markup);\r\n return null === parsedMarkup || void 0 === parsedMarkup ? void 0 : parsedMarkup[1]\r\n}\r\nexport var exportFromMarkup = function(markup, options) {\r\n options.format = validateFormat(options.format) || DEFAULT_EXPORT_FORMAT;\r\n options.fileName = options.fileName || \"file\";\r\n options.exportingAction = options.onExporting;\r\n options.exportedAction = options.onExported;\r\n options.fileSavingAction = options.onFileSaving;\r\n options.margin = isDefined(options.margin) ? options.margin : MARGIN;\r\n options.backgroundColor = isDefined(options.backgroundColor) ? options.backgroundColor : getBackgroundColorFromMarkup(markup) || getTheme().backgroundColor;\r\n _export(markup, options, getCreatorFunc(options.format))\r\n};\r\nexport var getMarkup = widgets => combineMarkups(widgets).markup;\r\nexport var exportWidgets = function(widgets, options) {\r\n options = options || {};\r\n var markupInfo = combineMarkups(widgets, {\r\n gridLayout: options.gridLayout,\r\n verticalAlignment: options.verticalAlignment,\r\n horizontalAlignment: options.horizontalAlignment\r\n });\r\n options.width = markupInfo.width;\r\n options.height = markupInfo.height;\r\n exportFromMarkup(markupInfo.markup, options)\r\n};\r\nexport var combineMarkups = function(widgets) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n if (!Array.isArray(widgets)) {\r\n widgets = [\r\n [widgets]\r\n ]\r\n } else if (!Array.isArray(widgets[0])) {\r\n widgets = widgets.map(item => [item])\r\n }\r\n var compactView = !options.gridLayout;\r\n var exportItems = widgets.reduce((r, row, rowIndex) => {\r\n var rowInfo = row.reduce((r, item, colIndex) => {\r\n var size = item.getSize();\r\n var backgroundColor = item.option(\"backgroundColor\") || getTheme(item.option(\"theme\")).backgroundColor;\r\n backgroundColor && -1 === r.backgroundColors.indexOf(backgroundColor) && r.backgroundColors.push(backgroundColor);\r\n r.hOffset = r.width;\r\n r.width += size.width;\r\n r.height = Math.max(r.height, size.height);\r\n r.itemWidth = Math.max(r.itemWidth, size.width);\r\n r.items.push({\r\n markup: item.svg(),\r\n width: size.width,\r\n height: size.height,\r\n c: colIndex,\r\n r: rowIndex,\r\n hOffset: r.hOffset\r\n });\r\n return r\r\n }, {\r\n items: [],\r\n height: 0,\r\n itemWidth: 0,\r\n hOffset: 0,\r\n width: 0,\r\n backgroundColors: r.backgroundColors\r\n });\r\n r.rowOffsets.push(r.totalHeight);\r\n r.rowHeights.push(rowInfo.height);\r\n r.totalHeight += rowInfo.height;\r\n r.items = r.items.concat(rowInfo.items);\r\n r.itemWidth = Math.max(r.itemWidth, rowInfo.itemWidth);\r\n r.maxItemLen = Math.max(r.maxItemLen, rowInfo.items.length);\r\n r.totalWidth = compactView ? Math.max(r.totalWidth, rowInfo.width) : r.maxItemLen * r.itemWidth;\r\n return r\r\n }, {\r\n items: [],\r\n rowOffsets: [],\r\n rowHeights: [],\r\n itemWidth: 0,\r\n totalHeight: 0,\r\n maxItemLen: 0,\r\n totalWidth: 0,\r\n backgroundColors: []\r\n });\r\n var backgroundColor = 'data-backgroundcolor=\"'.concat(1 === exportItems.backgroundColors.length ? exportItems.backgroundColors[0] : \"\", '\" ');\r\n var getVOffset = item => {\r\n var align = options.verticalAlignment;\r\n var dy = exportItems.rowHeights[item.r] - item.height;\r\n return exportItems.rowOffsets[item.r] + (\"bottom\" === align ? dy : \"center\" === align ? dy / 2 : 0)\r\n };\r\n var getHOffset = item => {\r\n if (compactView) {\r\n return item.hOffset\r\n }\r\n var align = options.horizontalAlignment;\r\n var colWidth = exportItems.itemWidth;\r\n var dx = colWidth - item.width;\r\n return item.c * colWidth + (\"right\" === align ? dx : \"center\" === align ? dx / 2 : 0)\r\n };\r\n var totalHeight = exportItems.totalHeight;\r\n var totalWidth = exportItems.totalWidth;\r\n return {\r\n markup: \"' + exportItems.items.map(item => '').concat(item.markup, \"\")).join(\"\") + \"\",\r\n width: totalWidth,\r\n height: totalHeight\r\n }\r\n};\r\nexport var ExportMenu = function(params) {\r\n var renderer = this._renderer = params.renderer;\r\n this._incidentOccurred = params.incidentOccurred;\r\n this._exportTo = params.exportTo;\r\n this._print = params.print;\r\n this._shadow = renderer.shadowFilter(\"-50%\", \"-50%\", \"200%\", \"200%\", SHADOW_OFFSET, 6, SHADOW_BLUR);\r\n this._shadow.attr({\r\n opacity: .8\r\n });\r\n this._group = renderer.g().attr({\r\n class: EXPORT_CSS_CLASS,\r\n [HIDDEN_FOR_EXPORT]: true\r\n }).linkOn(renderer.root, {\r\n name: \"export-menu\",\r\n after: \"peripheral\"\r\n });\r\n this._buttonGroup = renderer.g().attr({\r\n class: EXPORT_CSS_CLASS + \"-button\"\r\n }).append(this._group);\r\n this._listGroup = renderer.g().attr({\r\n class: EXPORT_CSS_CLASS + \"-list\"\r\n }).append(this._group);\r\n this._overlay = renderer.rect(-LIST_WIDTH + BUTTON_SIZE, BUTTON_SIZE + LIST_PADDING_TOP, LIST_WIDTH, 0);\r\n this._overlay.attr({\r\n \"stroke-width\": LIST_STROKE_WIDTH,\r\n cursor: \"pointer\",\r\n rx: 4,\r\n ry: 4,\r\n filter: this._shadow.id\r\n });\r\n this._overlay.data({\r\n \"export-element-type\": \"list\"\r\n });\r\n this.validFormats = getValidFormats();\r\n this._subscribeEvents()\r\n};\r\nextend(ExportMenu.prototype, {\r\n getLayoutOptions() {\r\n if (this._hiddenDueToLayout) {\r\n return {\r\n width: 0,\r\n height: 0,\r\n cutSide: \"vertical\",\r\n cutLayoutSide: \"top\"\r\n }\r\n }\r\n var bBox = this._buttonGroup.getBBox();\r\n bBox.cutSide = \"vertical\";\r\n bBox.cutLayoutSide = \"top\";\r\n bBox.height += MARGIN;\r\n bBox.position = {\r\n vertical: \"top\",\r\n horizontal: \"right\"\r\n };\r\n bBox.verticalAlignment = \"top\";\r\n bBox.horizontalAlignment = \"right\";\r\n return bBox\r\n },\r\n shift(_, y) {\r\n this._group.attr({\r\n translateY: this._group.attr(\"translateY\") + y\r\n })\r\n },\r\n draw(width, height, canvas) {\r\n this._group.move(width - BUTTON_SIZE - SHADOW_OFFSET - SHADOW_BLUR + canvas.left, Math.floor(height / 2 - BUTTON_SIZE / 2));\r\n var layoutOptions = this.getLayoutOptions();\r\n if (layoutOptions.width > width || layoutOptions.height > height) {\r\n this.freeSpace()\r\n }\r\n return this\r\n },\r\n show() {\r\n this._group.linkAppend()\r\n },\r\n hide() {\r\n this._group.linkRemove()\r\n },\r\n setOptions(options) {\r\n this._options = options;\r\n if (options.formats) {\r\n options.formats = options.formats.reduce((r, format) => {\r\n format = validateFormat(format, this._incidentOccurred, this.validFormats);\r\n format && r.push(format);\r\n return r\r\n }, [])\r\n } else {\r\n options.formats = this.validFormats.supported.slice()\r\n }\r\n options.printingEnabled = void 0 === options.printingEnabled ? true : options.printingEnabled;\r\n if (options.enabled && (options.formats.length || options.printingEnabled)) {\r\n this.show();\r\n this._updateButton();\r\n this._updateList();\r\n this._hideList()\r\n } else {\r\n this.hide()\r\n }\r\n },\r\n dispose() {\r\n this._unsubscribeEvents();\r\n this._group.linkRemove().linkOff();\r\n this._group.dispose();\r\n this._shadow.dispose()\r\n },\r\n layoutOptions() {\r\n return this._options.enabled && {\r\n horizontalAlignment: \"right\",\r\n verticalAlignment: \"top\",\r\n weak: true\r\n }\r\n },\r\n measure() {\r\n this._fillSpace();\r\n var margin = this._options.button.margin;\r\n return [BUTTON_SIZE + margin.left + margin.right, BUTTON_SIZE + margin.top + margin.bottom]\r\n },\r\n move(rect) {\r\n var margin = this._options.button.margin;\r\n this._group.attr({\r\n translateX: Math.round(rect[0]) + margin.left,\r\n translateY: Math.round(rect[1]) + margin.top\r\n })\r\n },\r\n _fillSpace() {\r\n this._hiddenDueToLayout = false;\r\n this.show()\r\n },\r\n freeSpace() {\r\n this._incidentOccurred(\"W2107\");\r\n this._hiddenDueToLayout = true;\r\n this.hide()\r\n },\r\n _hideList() {\r\n this._listGroup.remove();\r\n this._listShown = false;\r\n this._setButtonState(\"default\");\r\n this._menuItems.forEach(item => item.resetState())\r\n },\r\n _showList() {\r\n this._listGroup.append(this._group);\r\n this._listShown = true;\r\n this._menuItems.forEach(item => item.fixPosition())\r\n },\r\n _setButtonState(state) {\r\n var style = this._options.button[state];\r\n this._button.attr({\r\n stroke: style.borderColor,\r\n fill: style.backgroundColor\r\n });\r\n this._icon.attr({\r\n fill: style.color\r\n })\r\n },\r\n _subscribeEvents() {\r\n this._renderer.root.on(pointerEvents.up + \".export\", e => {\r\n var elementType = e.target[EXPORT_DATA_KEY];\r\n if (!elementType) {\r\n if (this._button) {\r\n this._hideList()\r\n }\r\n return\r\n }\r\n if (\"button\" === elementType) {\r\n if (this._listShown) {\r\n this._setButtonState(\"default\");\r\n this._hideList()\r\n } else {\r\n this._setButtonState(\"focus\");\r\n this._showList()\r\n }\r\n } else if (\"printing\" === elementType) {\r\n this._print();\r\n this._hideList()\r\n } else if (\"exporting\" === elementType) {\r\n this._exportTo(e.target[FORMAT_DATA_KEY]);\r\n this._hideList()\r\n }\r\n });\r\n this._listGroup.on(pointerActions, e => e.stopPropagation());\r\n this._buttonGroup.on(pointerEvents.enter, () => this._setButtonState(\"hover\"));\r\n this._buttonGroup.on(pointerEvents.leave, () => this._setButtonState(this._listShown ? \"focus\" : \"default\"));\r\n this._buttonGroup.on(pointerEvents.down + \".export\", () => this._setButtonState(\"active\"))\r\n },\r\n _unsubscribeEvents() {\r\n this._renderer.root.off(\".export\");\r\n this._listGroup.off();\r\n this._buttonGroup.off()\r\n },\r\n _updateButton() {\r\n var renderer = this._renderer;\r\n var options = this._options;\r\n var exportData = {\r\n \"export-element-type\": \"button\"\r\n };\r\n if (!this._button) {\r\n this._button = renderer.rect(0, 0, BUTTON_SIZE, BUTTON_SIZE).append(this._buttonGroup);\r\n this._button.attr({\r\n rx: 4,\r\n ry: 4,\r\n fill: options.button.default.backgroundColor,\r\n stroke: options.button.default.borderColor,\r\n \"stroke-width\": 1,\r\n cursor: \"pointer\"\r\n });\r\n this._button.data(exportData);\r\n this._icon = renderer.path(ICON_COORDS).append(this._buttonGroup);\r\n this._icon.attr({\r\n fill: options.button.default.color,\r\n cursor: \"pointer\"\r\n });\r\n this._icon.data(exportData);\r\n this._buttonGroup.setTitle(messageLocalization.format(\"vizExport-titleMenuText\"))\r\n }\r\n },\r\n _updateList() {\r\n var options = this._options;\r\n var buttonDefault = options.button.default;\r\n var listGroup = this._listGroup;\r\n var items = createMenuItems(this._renderer, options);\r\n this._shadow.attr({\r\n color: options.shadowColor\r\n });\r\n this._overlay.attr({\r\n height: items.length * MENU_ITEM_HEIGHT + 2 * LIST_STROKE_WIDTH,\r\n fill: buttonDefault.backgroundColor,\r\n stroke: buttonDefault.borderColor\r\n });\r\n listGroup.clear();\r\n this._overlay.append(listGroup);\r\n items.forEach(item => item.g.append(listGroup));\r\n this._menuItems = items\r\n }\r\n});\r\n\r\nfunction getExportOptions(widget, exportOptions, fileName, format) {\r\n if (format || exportOptions.format) {\r\n format = validateFormat(format || exportOptions.format, widget._incidentOccurred)\r\n }\r\n var {\r\n width: width,\r\n height: height\r\n } = widget.getSize();\r\n return {\r\n format: format || DEFAULT_EXPORT_FORMAT,\r\n fileName: fileName || exportOptions.fileName || \"file\",\r\n backgroundColor: exportOptions.backgroundColor,\r\n width: width,\r\n height: height,\r\n margin: exportOptions.margin,\r\n svgToCanvas: exportOptions.svgToCanvas,\r\n exportingAction: widget._createActionByOption(\"onExporting\", {\r\n excludeValidators: [\"disabled\"]\r\n }),\r\n exportedAction: widget._createActionByOption(\"onExported\", {\r\n excludeValidators: [\"disabled\"]\r\n }),\r\n fileSavingAction: widget._createActionByOption(\"onFileSaving\", {\r\n excludeValidators: [\"disabled\"]\r\n })\r\n }\r\n}\r\nexport var plugin = {\r\n name: \"export\",\r\n init() {\r\n this._exportMenu = new ExportMenu({\r\n renderer: this._renderer,\r\n incidentOccurred: this._incidentOccurred,\r\n print: () => this.print(),\r\n exportTo: format => this.exportTo(void 0, format)\r\n });\r\n this._layout.add(this._exportMenu)\r\n },\r\n dispose() {\r\n this._exportMenu.dispose()\r\n },\r\n members: {\r\n _getExportMenuOptions() {\r\n return extend({}, this._getOption(\"export\"), {\r\n rtl: this._getOption(\"rtlEnabled\", true)\r\n })\r\n },\r\n _disablePointerEvents() {\r\n var pointerEventsValue = this._renderer.root.attr(\"pointer-events\");\r\n this._renderer.root.attr({\r\n \"pointer-events\": \"none\"\r\n });\r\n return pointerEventsValue\r\n },\r\n exportTo(fileName, format) {\r\n var menu = this._exportMenu;\r\n var options = getExportOptions(this, this._getOption(\"export\") || {}, fileName, format);\r\n menu && menu.hide();\r\n var pointerEventsValue = this._disablePointerEvents();\r\n var promise = _export(this._renderer.root.element, options, getCreatorFunc(options.format)).fail(logger.error).always(() => {\r\n this._renderer.root.attr({\r\n \"pointer-events\": pointerEventsValue\r\n })\r\n });\r\n menu && menu.show();\r\n return promise\r\n },\r\n print() {\r\n var menu = this._exportMenu;\r\n var options = getExportOptions(this, this._getOption(\"export\") || {});\r\n options.exportingAction = null;\r\n options.exportedAction = null;\r\n options.margin = 0;\r\n options.format = \"PNG\";\r\n options.useBase64 = true;\r\n options.fileSavingAction = eventArgs => {\r\n print(\"data:image/png;base64,\".concat(eventArgs.data), {\r\n width: options.width,\r\n __test: options.__test\r\n });\r\n eventArgs.cancel = true\r\n };\r\n var pointerEventsValue = this._disablePointerEvents();\r\n menu && menu.hide();\r\n var promise = _export(this._renderer.root.element, options, getCreatorFunc(options.format)).fail(logger.error).always(() => {\r\n this._renderer.root.attr({\r\n \"pointer-events\": pointerEventsValue\r\n })\r\n });\r\n menu && menu.show();\r\n return promise\r\n }\r\n },\r\n customize(constructor) {\r\n var proto = constructor.prototype;\r\n constructor.addChange({\r\n code: \"EXPORT\",\r\n handler() {\r\n this._exportMenu.setOptions(this._getExportMenuOptions());\r\n this._change([\"LAYOUT\"])\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true,\r\n option: \"export\"\r\n });\r\n proto._optionChangesMap.onExporting = \"EXPORT\";\r\n proto._optionChangesMap.onExported = \"EXPORT\";\r\n proto._optionChangesMap.onFileSaving = \"EXPORT\"\r\n },\r\n fontFields: [\"export.font\"]\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/data_source.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nvar postCtor = DataHelperMixin.postCtor;\r\nvar name;\r\nvar members = {\r\n _dataSourceLoadErrorHandler: function() {\r\n this._dataSourceChangedHandler()\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _updateDataSource: function() {\r\n this._refreshDataSource();\r\n if (!this.option(\"dataSource\")) {\r\n this._dataSourceChangedHandler()\r\n }\r\n },\r\n _dataIsLoaded: function() {\r\n return !this._dataSource || this._dataSource.isLoaded()\r\n },\r\n _dataSourceItems: function() {\r\n return this._dataSource && this._dataSource.items()\r\n }\r\n};\r\nfor (name in DataHelperMixin) {\r\n if (\"postCtor\" === name) {\r\n continue\r\n }\r\n members[name] = DataHelperMixin[name]\r\n}\r\nexport var plugin = {\r\n name: \"data_source\",\r\n init: function() {\r\n postCtor.call(this)\r\n },\r\n dispose: noop,\r\n members: members\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/plaque.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"x\", \"y\", \"canvas\", \"offsetX\", \"offsetY\", \"offset\"];\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nvar math = Math;\r\nvar round = math.round;\r\nvar max = math.max;\r\nvar min = math.min;\r\nvar sin = math.sin;\r\nvar cos = math.cos;\r\nvar asin = math.asin;\r\nvar PI = math.PI;\r\nvar buildPath = function() {\r\n for (var _len = arguments.length, points = new Array(_len), _key = 0; _key < _len; _key++) {\r\n points[_key] = arguments[_key]\r\n }\r\n return points.join(\"\")\r\n};\r\n\r\nfunction getArc(cornerRadius, xDirection, yDirection) {\r\n return \"a \".concat(cornerRadius, \" \").concat(cornerRadius, \" 0 0 1 \").concat(xDirection * cornerRadius, \" \").concat(yDirection * cornerRadius)\r\n}\r\n\r\nfunction getAbsoluteArc(cornerRadius, x, y) {\r\n return \"A \".concat(cornerRadius, \" \").concat(cornerRadius, \" 0 0 1 \").concat(x, \" \").concat(y)\r\n}\r\n\r\nfunction rotateX(x, y, angle, x0, y0) {\r\n return (x - x0) * round(cos(angle)) + (y - y0) * round(sin(angle)) + x0\r\n}\r\n\r\nfunction rotateY(x, y, angle, x0, y0) {\r\n return -(x - x0) * round(sin(angle)) + (y - y0) * round(cos(angle)) + y0\r\n}\r\n\r\nfunction rotateSize(options, angle) {\r\n if (angle % 90 === 0 && angle % 180 !== 0) {\r\n return {\r\n width: options.height,\r\n height: options.width\r\n }\r\n }\r\n return options\r\n}\r\n\r\nfunction getCloudAngle(_ref, x, y, anchorX, anchorY) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref;\r\n var halfWidth = width / 2;\r\n var halfHeight = height / 2;\r\n var xr = Math.ceil(x + halfWidth);\r\n var xl = Math.floor(x - halfWidth);\r\n var yt = Math.floor(y - halfHeight);\r\n var yb = Math.ceil(y + halfHeight);\r\n if (anchorX < xl && anchorY < yt || anchorX >= xl && anchorX <= xr && anchorY < yt) {\r\n return 270\r\n }\r\n if (anchorX > xr && anchorY > yb || anchorX >= xl && anchorX <= xr && anchorY > yb) {\r\n return 90\r\n } else if (anchorX < xl && anchorY > yb || anchorX < xl && anchorY >= yt && anchorY <= yb) {\r\n return 180\r\n }\r\n return 0\r\n}\r\n\r\nfunction getCloudPoints(_ref2, x, y, anchorX, anchorY, _ref3, bounded) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref2;\r\n var {\r\n arrowWidth: arrowWidth,\r\n cornerRadius: cornerRadius = 0\r\n } = _ref3;\r\n var halfArrowWidth = arrowWidth / 2;\r\n var halfWidth = width / 2;\r\n var halfHeight = height / 2;\r\n var xr = Math.ceil(x + halfWidth);\r\n var xl = Math.floor(x - halfWidth);\r\n var yt = Math.floor(y - halfHeight);\r\n var yb = Math.ceil(y + halfHeight);\r\n var leftTopCorner = [xl, yt];\r\n var rightTopCorner = [xr, yt];\r\n var rightBottomCorner = [xr, yb];\r\n var leftBottomCorner = [xl, yb];\r\n var arrowX = anchorX <= xl ? xl : xr <= anchorX ? xr : anchorX;\r\n var arrowY = anchorY <= yt ? yt : yb <= anchorY ? yb : anchorY;\r\n var arrowBaseBottom = min(arrowY + halfArrowWidth, yb);\r\n var arrowBaseTop = max(arrowY - halfArrowWidth, yt);\r\n var arrowBaseLeft = max(arrowX - halfArrowWidth, xl);\r\n cornerRadius = Math.min(width / 2, height / 2, cornerRadius);\r\n var points;\r\n leftTopCorner[1] += cornerRadius;\r\n rightTopCorner[0] -= cornerRadius;\r\n rightBottomCorner[1] -= cornerRadius;\r\n leftBottomCorner[0] += cornerRadius;\r\n if (!bounded || xl <= anchorX && anchorX <= xr && yt <= anchorY && anchorY <= yb) {\r\n points = buildPath(leftTopCorner, getArc(cornerRadius, 1, -1), \"L\", rightTopCorner, getArc(cornerRadius, 1, 1), \"L\", rightBottomCorner, getArc(cornerRadius, -1, 1), \"L\", leftBottomCorner, getArc(cornerRadius, -1, -1))\r\n } else if (anchorX > xr && anchorY < yt) {\r\n var arrowAngle = arrowWidth / cornerRadius || 0;\r\n var angle = PI / 4 + arrowAngle / 2;\r\n var endAngle = PI / 4 - arrowAngle / 2;\r\n var arrowEndPointX = rightTopCorner[0] + cos(endAngle) * cornerRadius;\r\n var arrowEndPointY = rightTopCorner[1] + (1 - sin(endAngle)) * cornerRadius;\r\n var arrowArc = buildPath(\"L\", rightTopCorner, getArc(cornerRadius, cos(angle), 1 - sin(angle)), \"L\", [anchorX, anchorY, arrowEndPointX, arrowEndPointY], getAbsoluteArc(cornerRadius, rightTopCorner[0] + cornerRadius, rightTopCorner[1] + cornerRadius));\r\n if (Math.abs(angle) > PI / 2) {\r\n arrowArc = buildPath(\"L\", [arrowBaseLeft, yt, anchorX, anchorY, xr, arrowBaseBottom])\r\n }\r\n points = buildPath(leftTopCorner, getArc(cornerRadius, 1, -1), arrowArc, \"L\", rightBottomCorner, getArc(cornerRadius, -1, 1), \"L\", leftBottomCorner, getArc(cornerRadius, -1, -1))\r\n } else if (anchorX > xr && anchorY >= yt && anchorY <= yb) {\r\n var _arrowArc;\r\n if (arrowBaseTop >= rightTopCorner[1] + cornerRadius && arrowBaseBottom <= rightBottomCorner[1]) {\r\n _arrowArc = buildPath(getArc(cornerRadius, 1, 1), \"L\", [xr, arrowBaseTop, anchorX, anchorY, xr, arrowBaseBottom], \"L\", rightBottomCorner, getArc(cornerRadius, -1, 1))\r\n } else if (arrowBaseTop < rightTopCorner[1] + cornerRadius && arrowBaseBottom >= rightTopCorner[1] + cornerRadius && arrowBaseBottom <= rightBottomCorner[1]) {\r\n var arrowWidthRest = rightTopCorner[1] + cornerRadius - arrowBaseTop;\r\n var _angle = arrowWidthRest / cornerRadius;\r\n var arrowBaseTopX = rightTopCorner[0] + cos(_angle) * cornerRadius;\r\n var arrowBaseTopY = rightTopCorner[1] + (1 - sin(_angle)) * cornerRadius;\r\n _arrowArc = buildPath(getArc(cornerRadius, cos(_angle), 1 - sin(_angle)), \"L\", [arrowBaseTopX, arrowBaseTopY, anchorX, anchorY, xr, arrowBaseBottom], \"L\", rightBottomCorner, getArc(cornerRadius, -1, 1))\r\n } else if (arrowBaseTop < rightTopCorner[1] + cornerRadius && arrowBaseBottom < rightTopCorner[1] + cornerRadius) {\r\n var _arrowWidthRest = rightTopCorner[1] + cornerRadius - arrowBaseTop;\r\n var _arrowAngle = _arrowWidthRest / cornerRadius;\r\n var _angle2 = _arrowAngle;\r\n var _arrowBaseTopX = rightTopCorner[0] + cos(_angle2) * cornerRadius;\r\n var _arrowBaseTopY = rightTopCorner[1] + (1 - sin(_angle2)) * cornerRadius;\r\n var bottomAngle = Math.sin((rightTopCorner[1] + cornerRadius - arrowBaseBottom) / cornerRadius);\r\n var arrowBaseBottomX = rightTopCorner[0] + cornerRadius * cos(bottomAngle);\r\n var arrowBaseBottomY = rightTopCorner[1] + cornerRadius * (1 - sin(bottomAngle));\r\n _arrowArc = buildPath(getArc(cornerRadius, cos(_angle2), 1 - sin(_angle2)), \"L\", [_arrowBaseTopX, _arrowBaseTopY, anchorX, anchorY, arrowBaseBottomX, arrowBaseBottomY], getAbsoluteArc(cornerRadius, rightTopCorner[0] + cornerRadius, rightTopCorner[1] + cornerRadius), \"L\", rightBottomCorner, getArc(cornerRadius, -1, 1))\r\n } else if (arrowBaseTop <= rightTopCorner[1] + cornerRadius && arrowBaseBottom >= rightBottomCorner[1]) {\r\n var topAngle = asin((rightTopCorner[1] + cornerRadius - arrowBaseTop) / cornerRadius);\r\n var _arrowBaseTopX2 = rightTopCorner[0] + cornerRadius * cos(topAngle);\r\n var _arrowBaseTopY2 = rightTopCorner[1] + cornerRadius * (1 - sin(topAngle));\r\n var _bottomAngle = asin((arrowBaseBottom - rightBottomCorner[1]) / cornerRadius);\r\n var _arrowBaseBottomX = rightBottomCorner[0] + cornerRadius * (cos(_bottomAngle) - 1);\r\n var _arrowBaseBottomY = rightBottomCorner[1] + cornerRadius * sin(_bottomAngle);\r\n _arrowArc = buildPath(getArc(cornerRadius, cos(topAngle), 1 - sin(topAngle)), \"L\", [_arrowBaseTopX2, _arrowBaseTopY2, anchorX, anchorY, _arrowBaseBottomX, _arrowBaseBottomY], getAbsoluteArc(cornerRadius, rightBottomCorner[0] - cornerRadius, rightBottomCorner[1] + cornerRadius))\r\n } else if (arrowBaseTop > rightTopCorner[1] + cornerRadius && arrowBaseTop <= rightBottomCorner[1] && arrowBaseBottom > rightBottomCorner[1]) {\r\n var _bottomAngle2 = asin((arrowBaseBottom - rightBottomCorner[1]) / cornerRadius);\r\n var _arrowBaseBottomX2 = rightBottomCorner[0] + cornerRadius * (cos(_bottomAngle2) - 1);\r\n var _arrowBaseBottomY2 = rightBottomCorner[1] + cornerRadius * sin(_bottomAngle2);\r\n _arrowArc = buildPath(getArc(cornerRadius, 1, 1), \"L\", [xr, arrowBaseTop, anchorX, anchorY, _arrowBaseBottomX2, _arrowBaseBottomY2], getAbsoluteArc(cornerRadius, rightBottomCorner[0] - cornerRadius, rightBottomCorner[1] + cornerRadius))\r\n } else if (arrowBaseTop > rightTopCorner[1] + cornerRadius && arrowBaseBottom > rightBottomCorner[1]) {\r\n var _bottomAngle3 = asin((arrowBaseBottom - rightBottomCorner[1]) / cornerRadius);\r\n var _arrowBaseBottomX3 = rightBottomCorner[0] + cornerRadius * (cos(_bottomAngle3) - 1);\r\n var _arrowBaseBottomY3 = rightBottomCorner[1] + cornerRadius * sin(_bottomAngle3);\r\n var _topAngle = asin((arrowBaseTop - rightBottomCorner[1]) / cornerRadius);\r\n var _arrowBaseTopX3 = rightBottomCorner[0] + cornerRadius * (cos(_topAngle) - 1);\r\n var _arrowBaseTopY3 = rightBottomCorner[1] + cornerRadius * sin(_topAngle);\r\n _arrowArc = buildPath(getArc(cornerRadius, 1, 1), \"L\", rightBottomCorner, getArc(cornerRadius, cos(_topAngle) - 1, sin(_topAngle)), \"L\", [_arrowBaseTopX3, _arrowBaseTopY3, anchorX, anchorY, _arrowBaseBottomX3, _arrowBaseBottomY3], getAbsoluteArc(cornerRadius, rightBottomCorner[0] - cornerRadius, rightBottomCorner[1] + cornerRadius))\r\n }\r\n points = buildPath(leftTopCorner, getArc(cornerRadius, 1, -1), \"L\", rightTopCorner, _arrowArc, \"L\", leftBottomCorner, getArc(cornerRadius, -1, -1))\r\n }\r\n return buildPath(\"M\", points, \"Z\")\r\n}\r\nexport class Plaque {\r\n constructor(options, widget, root, contentTemplate) {\r\n var bounded = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : true;\r\n var measureContent = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : (_, g) => g.getBBox();\r\n var moveContentGroup = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : (_, g, x, y) => g.move(x, y);\r\n this.widget = widget;\r\n this.options = options;\r\n this.root = root;\r\n this.contentTemplate = contentTemplate;\r\n this.bonded = bounded;\r\n this.measureContent = measureContent;\r\n this.moveContentGroup = moveContentGroup\r\n }\r\n draw(_ref4) {\r\n var {\r\n x: anchorX,\r\n y: anchorY,\r\n canvas: canvas = {},\r\n offsetX: offsetX,\r\n offsetY: offsetY,\r\n offset: offset = 0\r\n } = _ref4, restProps = _objectWithoutPropertiesLoose(_ref4, _excluded);\r\n var options = this.options;\r\n var {\r\n x: x,\r\n y: y\r\n } = options;\r\n var bounds_xl = canvas.left,\r\n bounds_xr = canvas.width - canvas.right,\r\n bounds_width = canvas.width - canvas.right - canvas.left,\r\n bounds_yt = canvas.top,\r\n bounds_yb = canvas.height - canvas.bottom,\r\n bounds_height = canvas.height - canvas.bottom - canvas.top;\r\n if (!(isDefined(anchorX) && isDefined(anchorY)) && !(isDefined(x) && isDefined(y))) {\r\n return false\r\n }\r\n if (isDefined(anchorX) && (anchorX < bounds_xl || bounds_xr < anchorX || anchorY < bounds_yt || bounds_yb < anchorY)) {\r\n return false\r\n }\r\n if (!this._root) {\r\n this._draw()\r\n }\r\n var shadowSettings = extend({\r\n x: \"-50%\",\r\n y: \"-50%\",\r\n width: \"200%\",\r\n height: \"200%\"\r\n }, options.shadow);\r\n var contentWidth = options.width > 0 ? options.width : null;\r\n var contentHeight = options.height > 0 ? options.height : null;\r\n var onRender = () => {\r\n var _this$_root;\r\n var bBox = this._contentBBox = this.measureContent(this.widget, this._contentGroup);\r\n var size = this._size = {\r\n width: max(contentWidth, bBox.width) + 2 * options.paddingLeftRight,\r\n height: max(contentHeight, bBox.height) + 2 * options.paddingTopBottom,\r\n offset: offset\r\n };\r\n var xOff = shadowSettings.offsetX;\r\n var yOff = shadowSettings.offsetY;\r\n var blur = 2 * shadowSettings.blur + 1;\r\n var lm = max(blur - xOff, 0);\r\n var rm = max(blur + xOff, 0);\r\n var tm = max(blur - yOff, 0);\r\n var bm = max(blur + yOff, 0);\r\n this.margins = {\r\n lm: lm,\r\n rm: rm,\r\n tm: tm,\r\n bm: bm\r\n };\r\n if (!isDefined(x)) {\r\n if (isDefined(offsetX)) {\r\n x = anchorX + offsetX\r\n } else if (bounds_width < size.width) {\r\n x = round(bounds_xl + bounds_width / 2)\r\n } else {\r\n x = min(max(anchorX, Math.ceil(bounds_xl + size.width / 2 + lm)), Math.floor(bounds_xr - size.width / 2 - rm))\r\n }\r\n } else {\r\n x += offsetX || 0;\r\n if (!isDefined(anchorX)) {\r\n anchorX = x\r\n }\r\n }\r\n if (!isDefined(y)) {\r\n if (isDefined(offsetY)) {\r\n y = anchorY + offsetY\r\n } else {\r\n var y_top = anchorY - options.arrowLength - size.height / 2 - offset;\r\n var y_bottom = anchorY + options.arrowLength + size.height / 2 + offset;\r\n if (bounds_height < size.height + options.arrowLength) {\r\n y = round(bounds_yt + size.height / 2)\r\n } else if (y_top - size.height / 2 - tm < bounds_yt) {\r\n if (y_bottom + size.height / 2 + bm < bounds_yb) {\r\n y = y_bottom;\r\n anchorY += offset\r\n } else {\r\n y = round(bounds_yt + size.height / 2)\r\n }\r\n } else {\r\n y = y_top;\r\n anchorY -= offset\r\n }\r\n }\r\n } else {\r\n y += offsetY || 0;\r\n if (!isDefined(anchorY)) {\r\n anchorY = y + size.height / 2\r\n }\r\n }\r\n this.anchorX = anchorX;\r\n this.anchorY = anchorY;\r\n this.move(x, y);\r\n null === (_this$_root = this._root) || void 0 === _this$_root ? void 0 : _this$_root.append(this.root)\r\n };\r\n if (this.contentTemplate.render) {\r\n this.contentTemplate.render({\r\n model: options,\r\n container: this._contentGroup.element,\r\n onRendered: onRender\r\n })\r\n } else {\r\n return this.contentTemplate(_extends({\r\n group: this._contentGroup,\r\n onRender: onRender\r\n }, restProps))\r\n }\r\n return true\r\n }\r\n _draw() {\r\n var renderer = this.widget._renderer;\r\n var options = this.options;\r\n var shadowSettings = extend({\r\n x: \"-50%\",\r\n y: \"-50%\",\r\n width: \"200%\",\r\n height: \"200%\"\r\n }, options.shadow);\r\n var shadow = this._shadow = renderer.shadowFilter().attr(shadowSettings);\r\n var cloudSettings = {\r\n opacity: options.opacity,\r\n \"stroke-width\": 0,\r\n fill: options.color\r\n };\r\n var borderOptions = options.border || {};\r\n if (borderOptions.visible) {\r\n extend(cloudSettings, {\r\n \"stroke-width\": borderOptions.width,\r\n stroke: borderOptions.color,\r\n \"stroke-opacity\": borderOptions.opacity,\r\n dashStyle: borderOptions.dashStyle\r\n })\r\n }\r\n var group = this._root = renderer.g().append(this.root);\r\n if (options.type) {\r\n group.attr({\r\n class: \"dxc-\".concat(options.type, \"-annotation\")\r\n })\r\n }\r\n var cloudGroup = renderer.g().attr({\r\n filter: shadow.id\r\n }).append(group);\r\n this._cloud = renderer.path([], \"area\").attr(cloudSettings).sharp().append(cloudGroup);\r\n this._contentGroup = renderer.g().append(group)\r\n }\r\n getBBox() {\r\n var size = this._size || {};\r\n var margins = this.margins || {};\r\n var rotationAngle = getCloudAngle(size, this.x, this.y, this.anchorX, this.anchorY);\r\n return {\r\n x: Math.floor(this.x - size.width / 2 - margins.lm),\r\n y: Math.floor(this.y - size.height / 2 - margins.tm - (270 === rotationAngle ? this.options.arrowLength : 0)),\r\n width: size.width + margins.lm + margins.rm,\r\n height: size.height + margins.tm + margins.bm + (90 === rotationAngle || 270 === rotationAngle ? this.options.arrowLength : 0)\r\n }\r\n }\r\n clear() {\r\n if (this._root) {\r\n this._root.remove();\r\n this._shadow.remove();\r\n this._root = null\r\n }\r\n return this\r\n }\r\n customizeCloud(attr) {\r\n if (this._cloud) {\r\n this._cloud.attr(attr)\r\n }\r\n }\r\n moveRoot(x, y) {\r\n if (this._root) {\r\n this._root.move(x, y)\r\n }\r\n }\r\n move(x, y) {\r\n x = round(x);\r\n y = round(y);\r\n this.x = x;\r\n this.y = y;\r\n var rotationAngle = getCloudAngle(this._size, x, y, this.anchorX, this.anchorY);\r\n var radRotationAngle = rotationAngle * PI / 180;\r\n this._cloud.attr({\r\n d: getCloudPoints(rotateSize(this._size, rotationAngle), x, y, rotateX(this.anchorX, this.anchorY, radRotationAngle, x, y), rotateY(this.anchorX, this.anchorY, radRotationAngle, x, y), this.options, this.bonded)\r\n }).rotate(rotationAngle, x, y);\r\n this.moveContentGroup(this.widget, this._contentGroup, x - this._contentBBox.x - this._contentBBox.width / 2, y - this._contentBBox.y - this._contentBBox.height / 2)\r\n }\r\n hitTest(x, y) {\r\n var {\r\n width: width,\r\n height: height\r\n } = this._size || {};\r\n return Math.abs(x - this.x) <= width / 2 && Math.abs(y - this.y) <= height / 2\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/core/tooltip.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n replaceWith\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n camelize\r\n} from \"../../core/utils/inflector\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n Renderer\r\n} from \"./renderers/renderer\";\r\nimport {\r\n isFunction,\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n patchFontOptions,\r\n normalizeEnum\r\n} from \"./utils\";\r\nimport formatHelper from \"../../format_helper\";\r\nimport {\r\n Plaque\r\n} from \"./plaque\";\r\nvar format = formatHelper.format;\r\nvar mathCeil = Math.ceil;\r\nvar mathMax = Math.max;\r\nvar mathMin = Math.min;\r\nvar window = getWindow();\r\nvar DEFAULT_HTML_GROUP_WIDTH = 3e3;\r\n\r\nfunction hideElement($element) {\r\n $element.css({\r\n left: \"-9999px\"\r\n }).detach()\r\n}\r\n\r\nfunction getSpecialFormatOptions(options, specialFormat) {\r\n var result = options;\r\n switch (specialFormat) {\r\n case \"argument\":\r\n result = {\r\n format: options.argumentFormat\r\n };\r\n break;\r\n case \"percent\":\r\n result = {\r\n format: {\r\n type: \"percent\",\r\n precision: options.format && options.format.percentPrecision\r\n }\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction createTextHtml() {\r\n return $(\"
\").css({\r\n position: \"relative\",\r\n display: \"inline-block\",\r\n padding: 0,\r\n margin: 0,\r\n border: \"0px solid transparent\"\r\n })\r\n}\r\n\r\nfunction removeElements(elements) {\r\n elements.forEach(el => el.remove())\r\n}\r\nexport var Tooltip = function(params) {\r\n this._eventTrigger = params.eventTrigger;\r\n this._widgetRoot = params.widgetRoot;\r\n this._widget = params.widget;\r\n this._textHtmlContainers = [];\r\n this._wrapper = $(\"
\").css({\r\n position: \"absolute\",\r\n overflow: \"hidden\",\r\n pointerEvents: \"none\"\r\n }).addClass(params.cssClass);\r\n var renderer = this._renderer = new Renderer({\r\n pathModified: params.pathModified,\r\n container: this._wrapper[0]\r\n });\r\n var root = renderer.root;\r\n root.attr({\r\n \"pointer-events\": \"none\"\r\n });\r\n this._text = renderer.text(void 0, 0, 0);\r\n this._textGroupHtml = $(\"
\").css({\r\n position: \"absolute\",\r\n padding: 0,\r\n margin: 0,\r\n border: \"0px solid transparent\"\r\n }).appendTo(this._wrapper);\r\n this._textHtml = createTextHtml().appendTo(this._textGroupHtml)\r\n};\r\nTooltip.prototype = {\r\n constructor: Tooltip,\r\n dispose: function() {\r\n this._wrapper.remove();\r\n this._renderer.dispose();\r\n this._options = this._widgetRoot = null\r\n },\r\n _getContainer: function() {\r\n var options = this._options;\r\n var container = $(this._widgetRoot).closest(options.container);\r\n if (0 === container.length) {\r\n container = $(options.container)\r\n }\r\n return (container.length ? container : $(\"body\")).get(0)\r\n },\r\n setTemplate(contentTemplate) {\r\n this._template = contentTemplate ? this._widget._getTemplate(contentTemplate) : null\r\n },\r\n setOptions: function(options) {\r\n options = options || {};\r\n var that = this;\r\n that._options = options;\r\n that._textFontStyles = patchFontOptions(options.font);\r\n that._textFontStyles.color = that._textFontStyles.fill;\r\n that._wrapper.css({\r\n zIndex: options.zIndex\r\n });\r\n that._customizeTooltip = options.customizeTooltip;\r\n var textGroupHtml = that._textGroupHtml;\r\n if (this.plaque) {\r\n this.plaque.clear()\r\n }\r\n this.setTemplate(options.contentTemplate);\r\n var pointerEvents = options.interactive ? \"auto\" : \"none\";\r\n if (options.interactive) {\r\n this._renderer.root.css({\r\n \"-ms-user-select\": \"auto\",\r\n \"-moz-user-select\": \"auto\",\r\n \"-webkit-user-select\": \"auto\"\r\n })\r\n }\r\n this.plaque = new Plaque({\r\n opacity: that._options.opacity,\r\n color: that._options.color,\r\n border: that._options.border,\r\n paddingLeftRight: that._options.paddingLeftRight,\r\n paddingTopBottom: that._options.paddingTopBottom,\r\n arrowLength: that._options.arrowLength,\r\n arrowWidth: 20,\r\n shadow: that._options.shadow,\r\n cornerRadius: that._options.cornerRadius\r\n }, that, that._renderer.root, _ref => {\r\n var {\r\n group: group,\r\n onRender: onRender,\r\n eventData: eventData,\r\n isMoving: isMoving,\r\n templateCallback: templateCallback = (() => {})\r\n } = _ref;\r\n var state = that._state;\r\n if (!isMoving) {\r\n var template = that._template;\r\n var useTemplate = template && !state.formatObject.skipTemplate;\r\n if (state.html || useTemplate) {\r\n textGroupHtml.css({\r\n color: state.textColor,\r\n width: DEFAULT_HTML_GROUP_WIDTH,\r\n pointerEvents: pointerEvents\r\n });\r\n if (useTemplate) {\r\n var htmlContainers = that._textHtmlContainers;\r\n var containerToTemplateRender = createTextHtml().appendTo(that._textGroupHtml);\r\n htmlContainers.push(containerToTemplateRender);\r\n template.render({\r\n model: state.formatObject,\r\n container: containerToTemplateRender,\r\n onRendered: () => {\r\n removeElements(htmlContainers.splice(0, htmlContainers.length - 1));\r\n that._textHtml = replaceWith(that._textHtml, containerToTemplateRender);\r\n state.html = that._textHtml.html();\r\n if (0 === getWidth(that._textHtml) && 0 === getHeight(that._textHtml)) {\r\n this.plaque.clear();\r\n templateCallback(false);\r\n return\r\n }\r\n onRender();\r\n that._riseEvents(eventData);\r\n that._moveWrapper();\r\n that.plaque.customizeCloud({\r\n fill: state.color,\r\n stroke: state.borderColor,\r\n \"pointer-events\": pointerEvents\r\n });\r\n templateCallback(true);\r\n that._textHtmlContainers = []\r\n }\r\n });\r\n return\r\n } else {\r\n that._text.attr({\r\n text: \"\"\r\n });\r\n that._textHtml.html(state.html)\r\n }\r\n } else {\r\n that._text.css({\r\n fill: state.textColor\r\n }).attr({\r\n text: state.text,\r\n class: options.cssClass,\r\n \"pointer-events\": pointerEvents\r\n }).append(group.attr({\r\n align: options.textAlignment\r\n }))\r\n }\r\n that._riseEvents(eventData);\r\n that.plaque.customizeCloud({\r\n fill: state.color,\r\n stroke: state.borderColor,\r\n \"pointer-events\": pointerEvents\r\n })\r\n }\r\n onRender();\r\n that._moveWrapper();\r\n return true\r\n }, true, (tooltip, g) => {\r\n var state = tooltip._state;\r\n if (state.html) {\r\n var bBox = window.getComputedStyle(that._textHtml.get(0));\r\n bBox = {\r\n x: 0,\r\n y: 0,\r\n width: mathCeil(parseFloat(bBox.width)),\r\n height: mathCeil(parseFloat(bBox.height))\r\n };\r\n return bBox\r\n }\r\n return g.getBBox()\r\n }, (tooltip, g, x, y) => {\r\n var state = tooltip._state;\r\n if (state.html) {\r\n that._textGroupHtml.css({\r\n left: x,\r\n top: y\r\n })\r\n } else {\r\n g.move(x, y)\r\n }\r\n });\r\n return that\r\n },\r\n _riseEvents: function(eventData) {\r\n this._eventData && this._eventTrigger(\"tooltipHidden\", this._eventData);\r\n this._eventData = eventData;\r\n this._eventTrigger(\"tooltipShown\", this._eventData)\r\n },\r\n setRendererOptions: function(options) {\r\n this._renderer.setOptions(options);\r\n this._textGroupHtml.css({\r\n direction: options.rtl ? \"rtl\" : \"ltr\"\r\n });\r\n return this\r\n },\r\n update: function(options) {\r\n this.setOptions(options);\r\n hideElement(this._wrapper);\r\n var normalizedCSS = {};\r\n for (var name in this._textFontStyles) {\r\n normalizedCSS[camelize(name)] = this._textFontStyles[name]\r\n }\r\n this._textGroupHtml.css(normalizedCSS);\r\n this._text.css(this._textFontStyles);\r\n this._eventData = null;\r\n return this\r\n },\r\n _prepare: function(formatObject, state) {\r\n var customizeTooltip = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : this._customizeTooltip;\r\n var options = this._options;\r\n var customize = {};\r\n if (isFunction(customizeTooltip)) {\r\n customize = customizeTooltip.call(formatObject, formatObject);\r\n customize = isPlainObject(customize) ? customize : {};\r\n if (\"text\" in customize) {\r\n state.text = isDefined(customize.text) ? String(customize.text) : \"\"\r\n }\r\n if (\"html\" in customize) {\r\n state.html = isDefined(customize.html) ? String(customize.html) : \"\"\r\n }\r\n }\r\n if (!(\"text\" in state) && !(\"html\" in state)) {\r\n state.text = formatObject.valueText || formatObject.description || \"\"\r\n }\r\n state.color = customize.color || options.color;\r\n state.borderColor = customize.borderColor || (options.border || {}).color;\r\n state.textColor = customize.fontColor || (this._textFontStyles || {}).color;\r\n return !!state.text || !!state.html || !!this._template\r\n },\r\n show: function(formatObject, params, eventData, customizeTooltip, templateCallback) {\r\n if (this._options.forceEvents) {\r\n eventData.x = params.x;\r\n eventData.y = params.y - params.offset;\r\n this._riseEvents(eventData);\r\n return true\r\n }\r\n var state = {\r\n formatObject: formatObject,\r\n eventData: eventData,\r\n templateCallback: templateCallback\r\n };\r\n if (!this._prepare(formatObject, state, customizeTooltip)) {\r\n return false\r\n }\r\n this._state = state;\r\n this._wrapper.appendTo(this._getContainer());\r\n this._clear();\r\n var parameters = extend({}, this._options, {\r\n canvas: this._getCanvas()\r\n }, state, {\r\n x: params.x,\r\n y: params.y,\r\n offset: params.offset\r\n });\r\n return this.plaque.clear().draw(parameters)\r\n },\r\n isCursorOnTooltip: function(x, y) {\r\n if (this._options.interactive) {\r\n var box = this.plaque.getBBox();\r\n return x > box.x && x < box.x + box.width && y > box.y && y < box.y + box.height\r\n }\r\n return false\r\n },\r\n hide: function(isPointerOut) {\r\n hideElement(this._wrapper);\r\n if (this._eventData) {\r\n this._eventTrigger(\"tooltipHidden\", this._options.forceEvents ? extend({\r\n isPointerOut: isPointerOut\r\n }, this._eventData) : this._eventData);\r\n this._clear();\r\n this._eventData = null\r\n }\r\n },\r\n _clear() {\r\n this._textHtml.empty()\r\n },\r\n move: function(x, y, offset) {\r\n this.plaque.draw({\r\n x: x,\r\n y: y,\r\n offset: offset,\r\n canvas: this._getCanvas(),\r\n isMoving: true\r\n })\r\n },\r\n _moveWrapper: function() {\r\n var plaqueBBox = this.plaque.getBBox();\r\n this._renderer.resize(plaqueBBox.width, plaqueBBox.height);\r\n var offset = this._wrapper.css({\r\n left: 0,\r\n top: 0\r\n }).offset();\r\n var left = plaqueBBox.x;\r\n var top = plaqueBBox.y;\r\n this._wrapper.css({\r\n left: left - offset.left,\r\n top: top - offset.top\r\n });\r\n this.plaque.moveRoot(-left, -top);\r\n if (this._state.html) {\r\n this._textHtml.css({\r\n left: -left,\r\n top: -top\r\n });\r\n this._textGroupHtml.css({\r\n width: mathCeil(getWidth(this._textHtml))\r\n })\r\n }\r\n },\r\n formatValue: function(value, _specialFormat) {\r\n var options = _specialFormat ? getSpecialFormatOptions(this._options, _specialFormat) : this._options;\r\n return format(value, options.format)\r\n },\r\n getOptions() {\r\n return this._options\r\n },\r\n getLocation: function() {\r\n return normalizeEnum(this._options.location)\r\n },\r\n isEnabled: function() {\r\n return !!this._options.enabled || !!this._options.forceEvents\r\n },\r\n isShared: function() {\r\n return !!this._options.shared\r\n },\r\n _getCanvas: function() {\r\n var container = this._getContainer();\r\n var containerBox = container.getBoundingClientRect();\r\n var html = domAdapter.getDocumentElement();\r\n var document = domAdapter.getDocument();\r\n var left = window.pageXOffset || html.scrollLeft || 0;\r\n var top = window.pageYOffset || html.scrollTop || 0;\r\n var box = {\r\n left: left,\r\n top: top,\r\n width: mathMax(html.clientWidth, document.body.clientWidth) + left,\r\n height: mathMax(document.body.scrollHeight, html.scrollHeight, document.body.offsetHeight, html.offsetHeight, document.body.clientHeight, html.clientHeight),\r\n right: 0,\r\n bottom: 0\r\n };\r\n if (container !== domAdapter.getBody()) {\r\n left = mathMax(box.left, box.left + containerBox.left);\r\n top = mathMax(box.top, box.top + containerBox.top);\r\n box.width = mathMin(containerBox.width, box.width) + left + box.left;\r\n box.height = mathMin(containerBox.height, box.height) + top + box.top;\r\n box.left = left;\r\n box.top = top\r\n }\r\n return box\r\n }\r\n};\r\nexport var plugin = {\r\n name: \"tooltip\",\r\n init: function() {\r\n this._initTooltip()\r\n },\r\n dispose: function() {\r\n this._disposeTooltip()\r\n },\r\n members: {\r\n _initTooltip: function() {\r\n this._tooltip = new Tooltip({\r\n cssClass: this._rootClassPrefix + \"-tooltip\",\r\n eventTrigger: this._eventTrigger,\r\n pathModified: this.option(\"pathModified\"),\r\n widgetRoot: this.element(),\r\n widget: this\r\n })\r\n },\r\n _disposeTooltip: function() {\r\n this._tooltip.dispose();\r\n this._tooltip = null\r\n },\r\n _setTooltipRendererOptions: function() {\r\n this._tooltip.setRendererOptions(this._getRendererOptions())\r\n },\r\n _setTooltipOptions: function() {\r\n this._tooltip.update(this._getOption(\"tooltip\"))\r\n }\r\n },\r\n extenders: {\r\n _stopCurrentHandling() {\r\n this._tooltip && this._tooltip.hide()\r\n }\r\n },\r\n customize: function(constructor) {\r\n var proto = constructor.prototype;\r\n proto._eventsMap.onTooltipShown = {\r\n name: \"tooltipShown\"\r\n };\r\n proto._eventsMap.onTooltipHidden = {\r\n name: \"tooltipHidden\"\r\n };\r\n constructor.addChange({\r\n code: \"TOOLTIP_RENDERER\",\r\n handler: function() {\r\n this._setTooltipRendererOptions()\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true\r\n });\r\n constructor.addChange({\r\n code: \"TOOLTIP\",\r\n handler: function() {\r\n this._setTooltipOptions()\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true,\r\n option: \"tooltip\"\r\n })\r\n },\r\n fontFields: [\"tooltip.font\"]\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/loading_indicator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n patchFontOptions as _patchFontOptions\r\n} from \"./utils\";\r\nvar STATE_HIDDEN = 0;\r\nvar STATE_SHOWN = 1;\r\nvar ANIMATION_EASING = \"linear\";\r\nvar ANIMATION_DURATION = 400;\r\nvar LOADING_INDICATOR_READY = \"loadingIndicatorReady\";\r\nexport var LoadingIndicator = function(parameters) {\r\n var renderer = parameters.renderer;\r\n this._group = renderer.g().attr({\r\n class: \"dx-loading-indicator\"\r\n }).linkOn(renderer.root, {\r\n name: \"loading-indicator\",\r\n after: \"peripheral\"\r\n });\r\n this._rect = renderer.rect().attr({\r\n opacity: 0\r\n }).append(this._group);\r\n this._text = renderer.text().attr({\r\n align: \"center\"\r\n }).append(this._group);\r\n this._createStates(parameters.eventTrigger, this._group, renderer.root, parameters.notify)\r\n};\r\nLoadingIndicator.prototype = {\r\n constructor: LoadingIndicator,\r\n _createStates: function(eventTrigger, group, root, notify) {\r\n this._states = [{\r\n opacity: 0,\r\n start: function() {\r\n notify(false)\r\n },\r\n complete: function() {\r\n group.linkRemove();\r\n root.css({\r\n \"pointer-events\": \"\"\r\n });\r\n eventTrigger(LOADING_INDICATOR_READY)\r\n }\r\n }, {\r\n opacity: .85,\r\n start: function() {\r\n group.linkAppend();\r\n root.css({\r\n \"pointer-events\": \"none\"\r\n });\r\n notify(true)\r\n },\r\n complete: function() {\r\n eventTrigger(LOADING_INDICATOR_READY)\r\n }\r\n }];\r\n this._state = STATE_HIDDEN\r\n },\r\n setSize: function(size) {\r\n var width = size.width;\r\n var height = size.height;\r\n this._rect.attr({\r\n width: width,\r\n height: height\r\n });\r\n this._text.attr({\r\n x: width / 2,\r\n y: height / 2\r\n })\r\n },\r\n setOptions: function(options) {\r\n this._rect.attr({\r\n fill: options.backgroundColor\r\n });\r\n this._text.css(_patchFontOptions(options.font)).attr({\r\n text: options.text,\r\n class: options.cssClass\r\n });\r\n this[options.show ? \"show\" : \"hide\"]()\r\n },\r\n dispose: function() {\r\n this._group.linkRemove().linkOff();\r\n this._group = this._rect = this._text = this._states = null\r\n },\r\n _transit: function(stateId) {\r\n var state;\r\n if (this._state !== stateId) {\r\n this._state = stateId;\r\n this._isHiding = false;\r\n state = this._states[stateId];\r\n this._rect.stopAnimation().animate({\r\n opacity: state.opacity\r\n }, {\r\n complete: state.complete,\r\n easing: ANIMATION_EASING,\r\n duration: ANIMATION_DURATION,\r\n unstoppable: true\r\n });\r\n this._noHiding = true;\r\n state.start();\r\n this._noHiding = false\r\n }\r\n },\r\n show: function() {\r\n this._transit(STATE_SHOWN)\r\n },\r\n hide: function() {\r\n this._transit(STATE_HIDDEN)\r\n },\r\n scheduleHiding: function() {\r\n if (!this._noHiding) {\r\n this._isHiding = true\r\n }\r\n },\r\n fulfillHiding: function() {\r\n if (this._isHiding) {\r\n this.hide()\r\n }\r\n }\r\n};\r\nexport var plugin = {\r\n name: \"loading_indicator\",\r\n init: function() {\r\n var that = this;\r\n that._loadingIndicator = new LoadingIndicator({\r\n eventTrigger: that._eventTrigger,\r\n renderer: that._renderer,\r\n notify: function(state) {\r\n that._skipLoadingIndicatorOptions = true;\r\n that.option(\"loadingIndicator\", {\r\n show: state\r\n });\r\n that._skipLoadingIndicatorOptions = false;\r\n if (state) {\r\n that._stopCurrentHandling()\r\n }\r\n }\r\n });\r\n that._scheduleLoadingIndicatorHiding()\r\n },\r\n dispose: function() {\r\n this._loadingIndicator.dispose();\r\n this._loadingIndicator = null\r\n },\r\n members: {\r\n _scheduleLoadingIndicatorHiding: function() {\r\n this._loadingIndicator.scheduleHiding()\r\n },\r\n _fulfillLoadingIndicatorHiding: function() {\r\n this._loadingIndicator.fulfillHiding()\r\n },\r\n showLoadingIndicator: function() {\r\n this._loadingIndicator.show()\r\n },\r\n hideLoadingIndicator: function() {\r\n this._loadingIndicator.hide()\r\n },\r\n _onBeginUpdate: function() {\r\n if (!this._optionChangedLocker) {\r\n this._scheduleLoadingIndicatorHiding()\r\n }\r\n }\r\n },\r\n extenders: {\r\n _dataSourceLoadingChangedHandler(isLoading) {\r\n if (isLoading && (this._options.silent(\"loadingIndicator\") || {}).enabled) {\r\n this._loadingIndicator.show()\r\n }\r\n },\r\n _setContentSize() {\r\n this._loadingIndicator.setSize(this._canvas)\r\n },\r\n endUpdate() {\r\n if (this._initialized && this._dataIsReady()) {\r\n this._fulfillLoadingIndicatorHiding()\r\n }\r\n }\r\n },\r\n customize: function(constructor) {\r\n var proto = constructor.prototype;\r\n if (proto._dataSourceChangedHandler) {\r\n var _dataSourceChangedHandler = proto._dataSourceChangedHandler;\r\n proto._dataSourceChangedHandler = function() {\r\n this._scheduleLoadingIndicatorHiding();\r\n _dataSourceChangedHandler.apply(this, arguments)\r\n }\r\n }\r\n constructor.addChange({\r\n code: \"LOADING_INDICATOR\",\r\n handler: function() {\r\n if (!this._skipLoadingIndicatorOptions) {\r\n this._loadingIndicator.setOptions(this._getOption(\"loadingIndicator\"))\r\n }\r\n this._scheduleLoadingIndicatorHiding()\r\n },\r\n isThemeDependent: true,\r\n option: \"loadingIndicator\",\r\n isOptionChange: true\r\n });\r\n proto._eventsMap.onLoadingIndicatorReady = {\r\n name: \"loadingIndicatorReady\"\r\n };\r\n var _drawn = proto._drawn;\r\n proto._drawn = function() {\r\n _drawn.apply(this, arguments);\r\n if (this._dataIsReady()) {\r\n this._fulfillLoadingIndicatorHiding()\r\n }\r\n }\r\n },\r\n fontFields: [\"loadingIndicator.font\"]\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/base_chart.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop,\r\n grep\r\n} from \"../../core/utils/common\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n isDefined as _isDefined,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each as _each,\r\n reverseEach as _reverseEach\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isTouchEvent,\r\n isPointerEvent\r\n} from \"../../events/utils/index\";\r\nimport BaseWidget from \"../core/base_widget\";\r\nimport {\r\n Legend\r\n} from \"../components/legend\";\r\nimport {\r\n validateData\r\n} from \"../components/data_validator\";\r\nimport {\r\n Series\r\n} from \"../series/base_series\";\r\nimport {\r\n ThemeManager\r\n} from \"../components/chart_theme_manager\";\r\nimport {\r\n LayoutManager\r\n} from \"./layout_manager\";\r\nimport * as trackerModule from \"./tracker\";\r\nimport {\r\n map as _map,\r\n setCanvasValues as _setCanvasValues,\r\n processSeriesTemplate\r\n} from \"../core/utils\";\r\nvar _isArray = Array.isArray;\r\nvar REINIT_REFRESH_ACTION = \"_reinit\";\r\nvar REINIT_DATA_SOURCE_REFRESH_ACTION = \"_updateDataSource\";\r\nvar DATA_INIT_REFRESH_ACTION = \"_dataInit\";\r\nvar FORCE_RENDER_REFRESH_ACTION = \"_forceRender\";\r\nvar RESIZE_REFRESH_ACTION = \"_resize\";\r\nvar ACTIONS_BY_PRIORITY = [REINIT_REFRESH_ACTION, REINIT_DATA_SOURCE_REFRESH_ACTION, DATA_INIT_REFRESH_ACTION, FORCE_RENDER_REFRESH_ACTION, RESIZE_REFRESH_ACTION];\r\nvar DEFAULT_OPACITY = .3;\r\nvar REFRESH_SERIES_DATA_INIT_ACTION_OPTIONS = [\"series\", \"commonSeriesSettings\", \"dataPrepareSettings\", \"seriesSelectionMode\", \"pointSelectionMode\", \"synchronizeMultiAxes\", \"resolveLabelsOverlapping\"];\r\nvar REFRESH_SERIES_FAMILIES_ACTION_OPTIONS = [\"minBubbleSize\", \"maxBubbleSize\", \"barGroupPadding\", \"barGroupWidth\", \"negativesAsZeroes\", \"negativesAsZeros\"];\r\nvar FORCE_RENDER_REFRESH_ACTION_OPTIONS = [\"adaptiveLayout\", \"crosshair\", \"resolveLabelOverlapping\", \"adjustOnZoom\", \"stickyHovering\"];\r\nvar FONT = \"font\";\r\n\r\nfunction checkHeightRollingStock(rollingStocks, stubCanvas) {\r\n var canvasSize = stubCanvas.end - stubCanvas.start;\r\n var size = 0;\r\n rollingStocks.forEach((function(rollingStock) {\r\n size += rollingStock.getBoundingRect().width\r\n }));\r\n while (canvasSize < size) {\r\n size -= findAndKillSmallValue(rollingStocks)\r\n }\r\n}\r\n\r\nfunction findAndKillSmallValue(rollingStocks) {\r\n var smallestObject = rollingStocks.reduce((function(prev, rollingStock, index) {\r\n if (!rollingStock) {\r\n return prev\r\n }\r\n var value = rollingStock.value();\r\n return value < prev.value ? {\r\n value: value,\r\n rollingStock: rollingStock,\r\n index: index\r\n } : prev\r\n }), {\r\n rollingStock: void 0,\r\n value: 1 / 0,\r\n index: void 0\r\n });\r\n smallestObject.rollingStock.getLabels()[0].draw(false);\r\n var width = smallestObject.rollingStock.getBoundingRect().width;\r\n rollingStocks[smallestObject.index] = null;\r\n return width\r\n}\r\n\r\nfunction checkStackOverlap(rollingStocks) {\r\n var i;\r\n var j;\r\n var iLength;\r\n var jLength;\r\n var overlap = false;\r\n for (i = 0, iLength = rollingStocks.length - 1; i < iLength; i++) {\r\n for (j = i + 1, jLength = rollingStocks.length; j < jLength; j++) {\r\n if (i !== j && checkStacksOverlapping(rollingStocks[i], rollingStocks[j], true)) {\r\n overlap = true;\r\n break\r\n }\r\n }\r\n if (overlap) {\r\n break\r\n }\r\n }\r\n return overlap\r\n}\r\n\r\nfunction resolveLabelOverlappingInOneDirection(points, canvas, isRotated, isInverted, shiftFunction) {\r\n var customSorting = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : () => 0;\r\n var rollingStocks = [];\r\n var stubCanvas = {\r\n start: isRotated ? canvas.left : canvas.top,\r\n end: isRotated ? canvas.width - canvas.right : canvas.height - canvas.bottom\r\n };\r\n var hasStackedSeries = false;\r\n var sortRollingStocks;\r\n points.forEach((function(p) {\r\n if (!p) {\r\n return\r\n }\r\n hasStackedSeries = hasStackedSeries || p.series.isStackedSeries() || p.series.isFullStackedSeries();\r\n p.getLabels().forEach((function(l) {\r\n l.isVisible() && rollingStocks.push(new RollingStock(l, isRotated, shiftFunction))\r\n }))\r\n }));\r\n if (hasStackedSeries) {\r\n !isRotated ^ isInverted && rollingStocks.reverse();\r\n sortRollingStocks = !isInverted ? sortRollingStocksByValue(rollingStocks) : rollingStocks\r\n } else {\r\n var rollingStocksTmp = rollingStocks.slice();\r\n sortRollingStocks = rollingStocks.sort((function(a, b) {\r\n return customSorting(a, b) || a.getInitialPosition() - b.getInitialPosition() || rollingStocksTmp.indexOf(a) - rollingStocksTmp.indexOf(b)\r\n }))\r\n }\r\n if (!checkStackOverlap(sortRollingStocks)) {\r\n return false\r\n }\r\n checkHeightRollingStock(sortRollingStocks, stubCanvas);\r\n prepareOverlapStacks(sortRollingStocks);\r\n sortRollingStocks.reverse();\r\n moveRollingStock(sortRollingStocks, stubCanvas);\r\n return true\r\n}\r\n\r\nfunction checkStacksOverlapping(firstRolling, secondRolling, inTwoSides) {\r\n if (!firstRolling || !secondRolling) {\r\n return\r\n }\r\n var firstRect = firstRolling.getBoundingRect();\r\n var secondRect = secondRolling.getBoundingRect();\r\n var oppositeOverlapping = inTwoSides ? firstRect.oppositeStart <= secondRect.oppositeStart && firstRect.oppositeEnd > secondRect.oppositeStart || secondRect.oppositeStart <= firstRect.oppositeStart && secondRect.oppositeEnd > firstRect.oppositeStart : true;\r\n return firstRect.end > secondRect.start && oppositeOverlapping\r\n}\r\n\r\nfunction sortRollingStocksByValue(rollingStocks) {\r\n var positiveRollingStocks = [];\r\n var negativeRollingStocks = [];\r\n rollingStocks.forEach(stock => {\r\n if (stock.value() > 0) {\r\n positiveRollingStocks.push(stock)\r\n } else {\r\n negativeRollingStocks.unshift(stock)\r\n }\r\n });\r\n return positiveRollingStocks.concat(negativeRollingStocks)\r\n}\r\n\r\nfunction prepareOverlapStacks(rollingStocks) {\r\n var i;\r\n var currentRollingStock;\r\n var root;\r\n for (i = 0; i < rollingStocks.length - 1; i++) {\r\n currentRollingStock = root || rollingStocks[i];\r\n if (checkStacksOverlapping(currentRollingStock, rollingStocks[i + 1])) {\r\n currentRollingStock.toChain(rollingStocks[i + 1]);\r\n rollingStocks[i + 1] = null;\r\n root = currentRollingStock\r\n } else {\r\n root = rollingStocks[i + 1] || currentRollingStock\r\n }\r\n }\r\n}\r\n\r\nfunction moveRollingStock(rollingStocks, canvas) {\r\n var i;\r\n var j;\r\n var currentRollingStock;\r\n var nextRollingStock;\r\n var currentBBox;\r\n var nextBBox;\r\n for (i = 0; i < rollingStocks.length; i++) {\r\n currentRollingStock = rollingStocks[i];\r\n if (rollingStocksIsOut(currentRollingStock, canvas)) {\r\n currentBBox = currentRollingStock.getBoundingRect();\r\n for (j = i + 1; j < rollingStocks.length; j++) {\r\n nextRollingStock = rollingStocks[j];\r\n if (!nextRollingStock) {\r\n continue\r\n }\r\n nextBBox = nextRollingStock.getBoundingRect();\r\n if (nextBBox.end > currentBBox.start - (currentBBox.end - canvas.end)) {\r\n nextRollingStock.toChain(currentRollingStock);\r\n rollingStocks[i] = currentRollingStock = null;\r\n break\r\n }\r\n }\r\n }\r\n currentRollingStock && currentRollingStock.setRollingStockInCanvas(canvas)\r\n }\r\n}\r\n\r\nfunction rollingStocksIsOut(rollingStock, canvas) {\r\n return rollingStock && rollingStock.getBoundingRect().end > canvas.end\r\n}\r\n\r\nfunction RollingStock(label, isRotated, shiftFunction) {\r\n var bBox = label.getBoundingRect();\r\n var x = bBox.x;\r\n var y = bBox.y;\r\n var endX = bBox.x + bBox.width;\r\n var endY = bBox.y + bBox.height;\r\n this.labels = [label];\r\n this.shiftFunction = shiftFunction;\r\n this._bBox = {\r\n start: isRotated ? x : y,\r\n width: isRotated ? bBox.width : bBox.height,\r\n end: isRotated ? endX : endY,\r\n oppositeStart: isRotated ? y : x,\r\n oppositeEnd: isRotated ? endY : endX\r\n };\r\n this._initialPosition = isRotated ? bBox.x : bBox.y;\r\n return this\r\n}\r\nRollingStock.prototype = {\r\n toChain: function(nextRollingStock) {\r\n var nextRollingStockBBox = nextRollingStock.getBoundingRect();\r\n nextRollingStock.shift(nextRollingStockBBox.start - this._bBox.end);\r\n this._changeBoxWidth(nextRollingStockBBox.width);\r\n this.labels = this.labels.concat(nextRollingStock.labels)\r\n },\r\n getBoundingRect: function() {\r\n return this._bBox\r\n },\r\n shift: function(shiftLength) {\r\n var shiftFunction = this.shiftFunction;\r\n _each(this.labels, (function(index, label) {\r\n var bBox = label.getBoundingRect();\r\n var coords = shiftFunction(bBox, shiftLength);\r\n if (!label.hideInsideLabel(coords)) {\r\n label.shift(coords.x, coords.y)\r\n }\r\n }));\r\n this._bBox.end -= shiftLength;\r\n this._bBox.start -= shiftLength\r\n },\r\n setRollingStockInCanvas: function(canvas) {\r\n if (this._bBox.end > canvas.end) {\r\n this.shift(this._bBox.end - canvas.end)\r\n }\r\n },\r\n getLabels: function() {\r\n return this.labels\r\n },\r\n value() {\r\n return this.labels[0].getData().value\r\n },\r\n getInitialPosition: function() {\r\n return this._initialPosition\r\n },\r\n _changeBoxWidth: function(width) {\r\n this._bBox.end += width;\r\n this._bBox.width += width\r\n }\r\n};\r\n\r\nfunction getLegendFields(name) {\r\n return {\r\n nameField: name + \"Name\",\r\n colorField: name + \"Color\",\r\n indexField: name + \"Index\"\r\n }\r\n}\r\n\r\nfunction getLegendSettings(legendDataField) {\r\n var formatObjectFields = getLegendFields(legendDataField);\r\n return {\r\n getFormatObject: function(data) {\r\n var res = {};\r\n res[formatObjectFields.indexField] = data.id;\r\n res[formatObjectFields.colorField] = data.states.normal.fill;\r\n res[formatObjectFields.nameField] = data.text;\r\n return res\r\n },\r\n textField: formatObjectFields.nameField\r\n }\r\n}\r\n\r\nfunction checkOverlapping(firstRect, secondRect) {\r\n return (firstRect.x <= secondRect.x && secondRect.x <= firstRect.x + firstRect.width || firstRect.x >= secondRect.x && firstRect.x <= secondRect.x + secondRect.width) && (firstRect.y <= secondRect.y && secondRect.y <= firstRect.y + firstRect.height || firstRect.y >= secondRect.y && firstRect.y <= secondRect.y + secondRect.height)\r\n}\r\nexport var overlapping = {\r\n resolveLabelOverlappingInOneDirection: resolveLabelOverlappingInOneDirection\r\n};\r\nexport var BaseChart = BaseWidget.inherit({\r\n _eventsMap: {\r\n onSeriesClick: {\r\n name: \"seriesClick\"\r\n },\r\n onPointClick: {\r\n name: \"pointClick\"\r\n },\r\n onArgumentAxisClick: {\r\n name: \"argumentAxisClick\"\r\n },\r\n onLegendClick: {\r\n name: \"legendClick\"\r\n },\r\n onSeriesSelectionChanged: {\r\n name: \"seriesSelectionChanged\"\r\n },\r\n onPointSelectionChanged: {\r\n name: \"pointSelectionChanged\"\r\n },\r\n onSeriesHoverChanged: {\r\n name: \"seriesHoverChanged\"\r\n },\r\n onPointHoverChanged: {\r\n name: \"pointHoverChanged\"\r\n },\r\n onDone: {\r\n name: \"done\",\r\n actionSettings: {\r\n excludeValidators: [\"disabled\"]\r\n }\r\n },\r\n onZoomStart: {\r\n name: \"zoomStart\"\r\n },\r\n onZoomEnd: {\r\n name: \"zoomEnd\"\r\n }\r\n },\r\n _fontFields: [\"legend.\" + FONT, \"legend.title.\" + FONT, \"legend.title.subtitle.\" + FONT, \"commonSeriesSettings.label.\" + FONT],\r\n _rootClassPrefix: \"dxc\",\r\n _rootClass: \"dxc-chart\",\r\n _initialChanges: [\"INIT\"],\r\n _themeDependentChanges: [\"REFRESH_SERIES_REINIT\"],\r\n _getThemeManagerOptions() {\r\n var themeOptions = this.callBase.apply(this, arguments);\r\n themeOptions.options = this.option();\r\n return themeOptions\r\n },\r\n _createThemeManager: function() {\r\n var chartOption = this.option();\r\n var themeManager = new ThemeManager(this._getThemeManagerOptions());\r\n themeManager.setTheme(chartOption.theme, chartOption.rtlEnabled);\r\n return themeManager\r\n },\r\n _initCore: function() {\r\n this._canvasClipRect = this._renderer.clipRect();\r\n this._createHtmlStructure();\r\n this._createLegend();\r\n this._createTracker();\r\n this._needHandleRenderComplete = true;\r\n this.layoutManager = new LayoutManager;\r\n this._createScrollBar();\r\n eventsEngine.on(this._$element, \"contextmenu\", (function(event) {\r\n if (isTouchEvent(event) || isPointerEvent(event)) {\r\n event.preventDefault()\r\n }\r\n }));\r\n eventsEngine.on(this._$element, \"MSHoldVisual\", (function(event) {\r\n event.preventDefault()\r\n }))\r\n },\r\n _getLayoutItems: noop,\r\n _layoutManagerOptions: function() {\r\n return this._themeManager.getOptions(\"adaptiveLayout\")\r\n },\r\n _reinit() {\r\n _setCanvasValues(this._canvas);\r\n this._reinitAxes();\r\n this._requestChange([\"DATA_SOURCE\", \"DATA_INIT\", \"CORRECT_AXIS\", \"FULL_RENDER\"])\r\n },\r\n _correctAxes: noop,\r\n _createHtmlStructure: function() {\r\n var that = this;\r\n var renderer = that._renderer;\r\n var root = renderer.root;\r\n var createConstantLinesGroup = function() {\r\n return renderer.g().attr({\r\n class: \"dxc-constant-lines-group\"\r\n }).linkOn(root, \"constant-lines\")\r\n };\r\n that._constantLinesGroup = {\r\n dispose: function() {\r\n this.under.dispose();\r\n this.above.dispose()\r\n },\r\n linkOff: function() {\r\n this.under.linkOff();\r\n this.above.linkOff()\r\n },\r\n clear: function() {\r\n this.under.linkRemove().clear();\r\n this.above.linkRemove().clear()\r\n },\r\n linkAppend: function() {\r\n this.under.linkAppend();\r\n this.above.linkAppend()\r\n }\r\n };\r\n that._labelsAxesGroup = renderer.g().attr({\r\n class: \"dxc-elements-axes-group\"\r\n });\r\n var appendLabelsAxesGroup = () => {\r\n that._labelsAxesGroup.linkOn(root, \"elements\")\r\n };\r\n that._backgroundRect = renderer.rect().attr({\r\n fill: \"gray\",\r\n opacity: 1e-4\r\n }).append(root);\r\n that._panesBackgroundGroup = renderer.g().attr({\r\n class: \"dxc-background\"\r\n }).append(root);\r\n that._stripsGroup = renderer.g().attr({\r\n class: \"dxc-strips-group\"\r\n }).linkOn(root, \"strips\");\r\n that._gridGroup = renderer.g().attr({\r\n class: \"dxc-grids-group\"\r\n }).linkOn(root, \"grids\");\r\n that._panesBorderGroup = renderer.g().attr({\r\n class: \"dxc-border\"\r\n }).linkOn(root, \"border\");\r\n that._axesGroup = renderer.g().attr({\r\n class: \"dxc-axes-group\"\r\n }).linkOn(root, \"axes\");\r\n that._executeAppendBeforeSeries(appendLabelsAxesGroup);\r\n that._stripLabelAxesGroup = renderer.g().attr({\r\n class: \"dxc-strips-labels-group\"\r\n }).linkOn(root, \"strips-labels\");\r\n that._constantLinesGroup.under = createConstantLinesGroup();\r\n that._seriesGroup = renderer.g().attr({\r\n class: \"dxc-series-group\"\r\n }).linkOn(root, \"series\");\r\n that._executeAppendAfterSeries(appendLabelsAxesGroup);\r\n that._constantLinesGroup.above = createConstantLinesGroup();\r\n that._scaleBreaksGroup = renderer.g().attr({\r\n class: \"dxc-scale-breaks\"\r\n }).linkOn(root, \"scale-breaks\");\r\n that._labelsGroup = renderer.g().attr({\r\n class: \"dxc-labels-group\"\r\n }).linkOn(root, \"labels\");\r\n that._crosshairCursorGroup = renderer.g().attr({\r\n class: \"dxc-crosshair-cursor\"\r\n }).linkOn(root, \"crosshair\");\r\n that._legendGroup = renderer.g().attr({\r\n class: \"dxc-legend\",\r\n \"clip-path\": that._getCanvasClipRectID()\r\n }).linkOn(root, \"legend\").linkAppend(root).enableLinks();\r\n that._scrollBarGroup = renderer.g().attr({\r\n class: \"dxc-scroll-bar\"\r\n }).linkOn(root, \"scroll-bar\")\r\n },\r\n _executeAppendBeforeSeries() {},\r\n _executeAppendAfterSeries() {},\r\n _disposeObjectsInArray: function(propName, fieldNames) {\r\n _each(this[propName] || [], (function(_, item) {\r\n if (fieldNames && item) {\r\n _each(fieldNames, (function(_, field) {\r\n item[field] && item[field].dispose()\r\n }))\r\n } else {\r\n item && item.dispose()\r\n }\r\n }));\r\n this[propName] = null\r\n },\r\n _disposeCore: function() {\r\n var that = this;\r\n var disposeObject = function(propName) {\r\n if (that[propName]) {\r\n that[propName].dispose();\r\n that[propName] = null\r\n }\r\n };\r\n var unlinkGroup = function(name) {\r\n that[name].linkOff()\r\n };\r\n var disposeObjectsInArray = this._disposeObjectsInArray;\r\n that._renderer.stopAllAnimations();\r\n disposeObjectsInArray.call(that, \"series\");\r\n disposeObject(\"_tracker\");\r\n disposeObject(\"_crosshair\");\r\n that.layoutManager = that._userOptions = that._canvas = that._groupsData = null;\r\n unlinkGroup(\"_stripsGroup\");\r\n unlinkGroup(\"_gridGroup\");\r\n unlinkGroup(\"_axesGroup\");\r\n unlinkGroup(\"_constantLinesGroup\");\r\n unlinkGroup(\"_stripLabelAxesGroup\");\r\n unlinkGroup(\"_panesBorderGroup\");\r\n unlinkGroup(\"_seriesGroup\");\r\n unlinkGroup(\"_labelsGroup\");\r\n unlinkGroup(\"_crosshairCursorGroup\");\r\n unlinkGroup(\"_legendGroup\");\r\n unlinkGroup(\"_scrollBarGroup\");\r\n unlinkGroup(\"_scaleBreaksGroup\");\r\n disposeObject(\"_canvasClipRect\");\r\n disposeObject(\"_panesBackgroundGroup\");\r\n disposeObject(\"_backgroundRect\");\r\n disposeObject(\"_stripsGroup\");\r\n disposeObject(\"_gridGroup\");\r\n disposeObject(\"_axesGroup\");\r\n disposeObject(\"_constantLinesGroup\");\r\n disposeObject(\"_stripLabelAxesGroup\");\r\n disposeObject(\"_panesBorderGroup\");\r\n disposeObject(\"_seriesGroup\");\r\n disposeObject(\"_labelsGroup\");\r\n disposeObject(\"_crosshairCursorGroup\");\r\n disposeObject(\"_legendGroup\");\r\n disposeObject(\"_scrollBarGroup\");\r\n disposeObject(\"_scaleBreaksGroup\")\r\n },\r\n _getAnimationOptions: function() {\r\n return this._themeManager.getOptions(\"animation\")\r\n },\r\n _getDefaultSize: function() {\r\n return {\r\n width: 400,\r\n height: 400\r\n }\r\n },\r\n _getOption: function(name) {\r\n return this._themeManager.getOptions(name)\r\n },\r\n _applySize: function(rect) {\r\n this._rect = rect.slice();\r\n if (!this._changes.has(\"FULL_RENDER\")) {\r\n this._processRefreshData(RESIZE_REFRESH_ACTION)\r\n }\r\n },\r\n _resize: function() {\r\n this._doRender(this.__renderOptions || {\r\n animate: false,\r\n isResize: true\r\n })\r\n },\r\n _trackerType: \"ChartTracker\",\r\n _createTracker: function() {\r\n this._tracker = new trackerModule[this._trackerType]({\r\n seriesGroup: this._seriesGroup,\r\n renderer: this._renderer,\r\n tooltip: this._tooltip,\r\n legend: this._legend,\r\n eventTrigger: this._eventTrigger\r\n })\r\n },\r\n _getTrackerSettings: function() {\r\n return extend({\r\n chart: this\r\n }, this._getSelectionModes())\r\n },\r\n _getSelectionModes: function() {\r\n var themeManager = this._themeManager;\r\n return {\r\n seriesSelectionMode: themeManager.getOptions(\"seriesSelectionMode\"),\r\n pointSelectionMode: themeManager.getOptions(\"pointSelectionMode\")\r\n }\r\n },\r\n _updateTracker: function(trackerCanvases) {\r\n this._tracker.update(this._getTrackerSettings());\r\n this._tracker.setCanvases({\r\n left: 0,\r\n right: this._canvas.width,\r\n top: 0,\r\n bottom: this._canvas.height\r\n }, trackerCanvases)\r\n },\r\n _createCanvasFromRect(rect) {\r\n var currentCanvas = this._canvas;\r\n return _setCanvasValues({\r\n left: rect[0],\r\n top: rect[1],\r\n right: currentCanvas.width - rect[2],\r\n bottom: currentCanvas.height - rect[3],\r\n width: currentCanvas.width,\r\n height: currentCanvas.height\r\n })\r\n },\r\n _doRender: function(_options) {\r\n if (0 === this._canvas.width && 0 === this._canvas.height) {\r\n return\r\n }\r\n this._resetIsReady();\r\n var drawOptions = this._prepareDrawOptions(_options);\r\n var recreateCanvas = drawOptions.recreateCanvas;\r\n this._preserveOriginalCanvas();\r\n if (recreateCanvas) {\r\n this.__currentCanvas = this._canvas\r\n } else {\r\n this._canvas = this.__currentCanvas\r\n }\r\n recreateCanvas && this._updateCanvasClipRect(this._canvas);\r\n this._canvas = this._createCanvasFromRect(this._rect);\r\n this._renderer.stopAllAnimations(true);\r\n this._cleanGroups();\r\n var startTime = new Date;\r\n this._renderElements(drawOptions);\r\n this._lastRenderingTime = new Date - startTime\r\n },\r\n _preserveOriginalCanvas() {\r\n this.__originalCanvas = this._canvas;\r\n this._canvas = extend({}, this._canvas)\r\n },\r\n _layoutAxes: noop,\r\n _renderElements: function(drawOptions) {\r\n var that = this;\r\n var preparedOptions = that._prepareToRender(drawOptions);\r\n var isRotated = that._isRotated();\r\n var isLegendInside = that._isLegendInside();\r\n var trackerCanvases = [];\r\n extend({}, that._canvas);\r\n var argBusinessRange;\r\n var zoomMinArg;\r\n var zoomMaxArg;\r\n that._renderer.lock();\r\n if (drawOptions.drawLegend && that._legend) {\r\n that._legendGroup.linkAppend()\r\n }\r\n that.layoutManager.setOptions(that._layoutManagerOptions());\r\n var layoutTargets = that._getLayoutTargets();\r\n this._layoutAxes(needSpace => {\r\n var axisDrawOptions = needSpace ? extend({}, drawOptions, {\r\n animate: false,\r\n recreateCanvas: true\r\n }) : drawOptions;\r\n var canvas = that._renderAxes(axisDrawOptions, preparedOptions);\r\n that._shrinkAxes(needSpace, canvas)\r\n });\r\n that._applyClipRects(preparedOptions);\r\n that._appendSeriesGroups();\r\n that._createCrosshairCursor();\r\n layoutTargets.forEach(_ref => {\r\n var {\r\n canvas: canvas\r\n } = _ref;\r\n trackerCanvases.push({\r\n left: canvas.left,\r\n right: canvas.width - canvas.right,\r\n top: canvas.top,\r\n bottom: canvas.height - canvas.bottom\r\n })\r\n });\r\n if (that._scrollBar) {\r\n argBusinessRange = that._argumentAxes[0].getTranslator().getBusinessRange();\r\n if (\"discrete\" === argBusinessRange.axisType && argBusinessRange.categories && argBusinessRange.categories.length <= 1 || \"discrete\" !== argBusinessRange.axisType && argBusinessRange.min === argBusinessRange.max) {\r\n zoomMinArg = zoomMaxArg = void 0\r\n } else {\r\n zoomMinArg = argBusinessRange.minVisible;\r\n zoomMaxArg = argBusinessRange.maxVisible\r\n }\r\n that._scrollBar.init(argBusinessRange, !that._argumentAxes[0].getOptions().valueMarginsEnabled).setPosition(zoomMinArg, zoomMaxArg)\r\n }\r\n that._updateTracker(trackerCanvases);\r\n that._updateLegendPosition(drawOptions, isLegendInside);\r\n that._applyPointMarkersAutoHiding();\r\n that._renderSeries(drawOptions, isRotated, isLegendInside);\r\n that._renderGraphicObjects();\r\n that._renderer.unlock()\r\n },\r\n _updateLegendPosition: noop,\r\n _createCrosshairCursor: noop,\r\n _appendSeriesGroups: function() {\r\n this._seriesGroup.linkAppend();\r\n this._labelsGroup.linkAppend();\r\n this._appendAdditionalSeriesGroups()\r\n },\r\n _renderSeries: function(drawOptions, isRotated, isLegendInside) {\r\n this._calculateSeriesLayout(drawOptions, isRotated);\r\n this._renderSeriesElements(drawOptions, isLegendInside)\r\n },\r\n _calculateSeriesLayout: function(drawOptions, isRotated) {\r\n drawOptions.hideLayoutLabels = this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(), isRotated) && !this._themeManager.getOptions(\"adaptiveLayout\").keepLabels;\r\n this._updateSeriesDimensions(drawOptions)\r\n },\r\n _getArgFilter: () => () => true,\r\n _getValFilter: series => () => true,\r\n _getPointsToAnimation(series) {\r\n var argViewPortFilter = this._getArgFilter();\r\n return series.map(s => {\r\n var valViewPortFilter = this._getValFilter(s);\r\n return s.getPoints().filter(p => p.getOptions().visible && argViewPortFilter(p.argument) && (valViewPortFilter(p.getMinValue(true)) || valViewPortFilter(p.getMaxValue(true)))).length\r\n })\r\n },\r\n _renderSeriesElements: function(drawOptions, isLegendInside) {\r\n var that = this;\r\n var series = that.series;\r\n var resolveLabelOverlapping = that._themeManager.getOptions(\"resolveLabelOverlapping\");\r\n var pointsToAnimation = that._getPointsToAnimation(series);\r\n series.forEach((singleSeries, index) => {\r\n that._applyExtraSettings(singleSeries, drawOptions);\r\n var animationEnabled = drawOptions.animate && pointsToAnimation[index] <= drawOptions.animationPointsLimit && that._renderer.animationEnabled();\r\n singleSeries.draw(animationEnabled, drawOptions.hideLayoutLabels, that._getLegendCallBack(singleSeries))\r\n });\r\n if (\"none\" === resolveLabelOverlapping) {\r\n that._adjustSeriesLabels(false)\r\n } else {\r\n that._locateLabels(resolveLabelOverlapping)\r\n }\r\n that._renderTrackers(isLegendInside);\r\n that._tracker.repairTooltip();\r\n that._renderExtraElements();\r\n that._clearCanvas();\r\n that._seriesElementsDrawn = true\r\n },\r\n _changesApplied() {\r\n if (this._seriesElementsDrawn) {\r\n this._seriesElementsDrawn = false;\r\n this._drawn();\r\n this._renderCompleteHandler()\r\n }\r\n },\r\n _locateLabels(resolveLabelOverlapping) {\r\n this._resolveLabelOverlapping(resolveLabelOverlapping)\r\n },\r\n _renderExtraElements() {},\r\n _clearCanvas: function() {\r\n this._canvas = this.__originalCanvas\r\n },\r\n _resolveLabelOverlapping: function(resolveLabelOverlapping) {\r\n var func;\r\n switch (resolveLabelOverlapping) {\r\n case \"stack\":\r\n func = this._resolveLabelOverlappingStack;\r\n break;\r\n case \"hide\":\r\n func = this._resolveLabelOverlappingHide;\r\n break;\r\n case \"shift\":\r\n func = this._resolveLabelOverlappingShift\r\n }\r\n return isFunction(func) && func.call(this)\r\n },\r\n _getVisibleSeries: function() {\r\n return grep(this.getAllSeries(), (function(series) {\r\n return series.isVisible()\r\n }))\r\n },\r\n _resolveLabelOverlappingHide: function() {\r\n var labels = [];\r\n var currentLabel;\r\n var nextLabel;\r\n var currentLabelRect;\r\n var nextLabelRect;\r\n var i;\r\n var j;\r\n var points;\r\n var series = this._getVisibleSeries();\r\n for (i = 0; i < series.length; i++) {\r\n points = series[i].getVisiblePoints();\r\n for (j = 0; j < points.length; j++) {\r\n labels.push.apply(labels, points[j].getLabels())\r\n }\r\n }\r\n for (i = 0; i < labels.length; i++) {\r\n currentLabel = labels[i];\r\n if (!currentLabel.isVisible()) {\r\n continue\r\n }\r\n currentLabelRect = currentLabel.getBoundingRect();\r\n for (j = i + 1; j < labels.length; j++) {\r\n nextLabel = labels[j];\r\n nextLabelRect = nextLabel.getBoundingRect();\r\n if (checkOverlapping(currentLabelRect, nextLabelRect)) {\r\n nextLabel.draw(false)\r\n }\r\n }\r\n }\r\n },\r\n _cleanGroups: function() {\r\n this._stripsGroup.linkRemove().clear();\r\n this._gridGroup.linkRemove().clear();\r\n this._axesGroup.linkRemove().clear();\r\n this._constantLinesGroup.clear();\r\n this._stripLabelAxesGroup.linkRemove().clear();\r\n this._labelsGroup.linkRemove().clear();\r\n this._crosshairCursorGroup.linkRemove().clear();\r\n this._scaleBreaksGroup.linkRemove().clear()\r\n },\r\n _allowLegendInsidePosition: () => false,\r\n _createLegend: function() {\r\n var legendSettings = getLegendSettings(this._legendDataField);\r\n this._legend = new Legend({\r\n renderer: this._renderer,\r\n widget: this,\r\n group: this._legendGroup,\r\n backgroundClass: \"dxc-border\",\r\n itemGroupClass: \"dxc-item\",\r\n titleGroupClass: \"dxc-title\",\r\n textField: legendSettings.textField,\r\n getFormatObject: legendSettings.getFormatObject,\r\n allowInsidePosition: this._allowLegendInsidePosition()\r\n });\r\n this._updateLegend();\r\n this._layout.add(this._legend)\r\n },\r\n _updateLegend: function() {\r\n var themeManager = this._themeManager;\r\n var legendOptions = themeManager.getOptions(\"legend\");\r\n var legendData = this._getLegendData();\r\n legendOptions.containerBackgroundColor = themeManager.getOptions(\"containerBackgroundColor\");\r\n legendOptions._incidentOccurred = this._incidentOccurred;\r\n this._legend.update(legendData, legendOptions, themeManager.theme(\"legend\").title);\r\n this._change([\"LAYOUT\"])\r\n },\r\n _prepareDrawOptions: function(drawOptions) {\r\n var animationOptions = this._getAnimationOptions();\r\n var options = extend({}, {\r\n force: false,\r\n adjustAxes: true,\r\n drawLegend: true,\r\n drawTitle: true,\r\n animate: animationOptions.enabled,\r\n animationPointsLimit: animationOptions.maxPointCountSupported\r\n }, drawOptions, this.__renderOptions);\r\n if (!_isDefined(options.recreateCanvas)) {\r\n options.recreateCanvas = options.adjustAxes && options.drawLegend && options.drawTitle\r\n }\r\n return options\r\n },\r\n _processRefreshData: function(newRefreshAction) {\r\n var currentRefreshActionPosition = ACTIONS_BY_PRIORITY.indexOf(this._currentRefreshData);\r\n var newRefreshActionPosition = ACTIONS_BY_PRIORITY.indexOf(newRefreshAction);\r\n if (!this._currentRefreshData || currentRefreshActionPosition >= 0 && newRefreshActionPosition < currentRefreshActionPosition) {\r\n this._currentRefreshData = newRefreshAction\r\n }\r\n this._requestChange([\"REFRESH\"])\r\n },\r\n _getLegendData: function() {\r\n return _map(this._getLegendTargets(), (function(item) {\r\n var legendData = item.legendData;\r\n var style = item.getLegendStyles;\r\n var opacity = style.normal.opacity;\r\n if (!item.visible) {\r\n if (!_isDefined(opacity) || opacity > DEFAULT_OPACITY) {\r\n opacity = DEFAULT_OPACITY\r\n }\r\n legendData.textOpacity = DEFAULT_OPACITY\r\n }\r\n var opacityStyle = {\r\n opacity: opacity\r\n };\r\n legendData.states = {\r\n hover: extend({}, style.hover, opacityStyle),\r\n selection: extend({}, style.selection, opacityStyle),\r\n normal: extend({}, style.normal, opacityStyle)\r\n };\r\n return legendData\r\n }))\r\n },\r\n _getLegendOptions: function(item) {\r\n return {\r\n legendData: {\r\n text: item[this._legendItemTextField],\r\n id: item.index,\r\n visible: true\r\n },\r\n getLegendStyles: item.getLegendStyles(),\r\n visible: item.isVisible()\r\n }\r\n },\r\n _disposeSeries(seriesIndex) {\r\n var _that$series;\r\n if (this.series) {\r\n if (_isDefined(seriesIndex)) {\r\n this.series[seriesIndex].dispose();\r\n this.series.splice(seriesIndex, 1)\r\n } else {\r\n _each(this.series, (_, s) => s.dispose());\r\n this.series.length = 0\r\n }\r\n }\r\n if (!(null !== (_that$series = this.series) && void 0 !== _that$series && _that$series.length)) {\r\n this.series = []\r\n }\r\n },\r\n _disposeSeriesFamilies() {\r\n _each(this.seriesFamilies || [], (function(_, family) {\r\n family.dispose()\r\n }));\r\n this.seriesFamilies = null;\r\n this._needHandleRenderComplete = true\r\n },\r\n _optionChanged: function(arg) {\r\n this._themeManager.resetOptions(arg.name);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _applyChanges() {\r\n this._themeManager.update(this._options.silent());\r\n this.callBase.apply(this, arguments)\r\n },\r\n _optionChangesMap: {\r\n animation: \"ANIMATION\",\r\n dataSource: \"DATA_SOURCE\",\r\n palette: \"PALETTE\",\r\n paletteExtensionMode: \"PALETTE\",\r\n legend: \"FORCE_DATA_INIT\",\r\n seriesTemplate: \"FORCE_DATA_INIT\",\r\n export: \"FORCE_RENDER\",\r\n valueAxis: \"AXES_AND_PANES\",\r\n argumentAxis: \"AXES_AND_PANES\",\r\n commonAxisSettings: \"AXES_AND_PANES\",\r\n panes: \"AXES_AND_PANES\",\r\n commonPaneSettings: \"AXES_AND_PANES\",\r\n defaultPane: \"AXES_AND_PANES\",\r\n containerBackgroundColor: \"AXES_AND_PANES\",\r\n rotated: \"ROTATED\",\r\n autoHidePointMarkers: \"REFRESH_SERIES_REINIT\",\r\n customizePoint: \"REFRESH_SERIES_REINIT\",\r\n customizeLabel: \"REFRESH_SERIES_REINIT\",\r\n scrollBar: \"SCROLL_BAR\"\r\n },\r\n _optionChangesOrder: [\"ROTATED\", \"PALETTE\", \"REFRESH_SERIES_REINIT\", \"USE_SPIDER_WEB\", \"AXES_AND_PANES\", \"INIT\", \"REINIT\", \"DATA_SOURCE\", \"REFRESH_SERIES_DATA_INIT\", \"DATA_INIT\", \"FORCE_DATA_INIT\", \"REFRESH_AXES\", \"CORRECT_AXIS\"],\r\n _customChangesOrder: [\"ANIMATION\", \"REFRESH_SERIES_FAMILIES\", \"FORCE_FIRST_DRAWING\", \"FORCE_DRAWING\", \"FORCE_RENDER\", \"VISUAL_RANGE\", \"SCROLL_BAR\", \"REINIT\", \"REFRESH\", \"FULL_RENDER\"],\r\n _change_ANIMATION: function() {\r\n this._renderer.updateAnimationOptions(this._getAnimationOptions())\r\n },\r\n _change_DATA_SOURCE: function() {\r\n this._needHandleRenderComplete = true;\r\n this._updateDataSource()\r\n },\r\n _change_PALETTE: function() {\r\n this._themeManager.updatePalette();\r\n this._refreshSeries(\"DATA_INIT\")\r\n },\r\n _change_REFRESH_SERIES_DATA_INIT: function() {\r\n this._refreshSeries(\"DATA_INIT\")\r\n },\r\n _change_DATA_INIT: function() {\r\n if ((!this.series || this.needToPopulateSeries) && !this._changes.has(\"FORCE_DATA_INIT\")) {\r\n this._dataInit()\r\n }\r\n },\r\n _change_FORCE_DATA_INIT: function() {\r\n this._dataInit()\r\n },\r\n _change_REFRESH_SERIES_FAMILIES: function() {\r\n this._processSeriesFamilies();\r\n this._populateBusinessRange();\r\n this._processRefreshData(FORCE_RENDER_REFRESH_ACTION)\r\n },\r\n _change_FORCE_RENDER: function() {\r\n this._processRefreshData(FORCE_RENDER_REFRESH_ACTION)\r\n },\r\n _change_AXES_AND_PANES: function() {\r\n this._refreshSeries(\"INIT\")\r\n },\r\n _change_ROTATED: function() {\r\n this._createScrollBar();\r\n this._refreshSeries(\"INIT\")\r\n },\r\n _change_REFRESH_SERIES_REINIT: function() {\r\n this._refreshSeries(\"INIT\")\r\n },\r\n _change_REFRESH_AXES() {\r\n _setCanvasValues(this._canvas);\r\n this._reinitAxes();\r\n this._requestChange([\"CORRECT_AXIS\", \"FULL_RENDER\"])\r\n },\r\n _change_SCROLL_BAR: function() {\r\n this._createScrollBar();\r\n this._processRefreshData(FORCE_RENDER_REFRESH_ACTION)\r\n },\r\n _change_REINIT: function() {\r\n this._processRefreshData(REINIT_REFRESH_ACTION)\r\n },\r\n _change_FORCE_DRAWING: function() {\r\n this._resetComponentsAnimation()\r\n },\r\n _change_FORCE_FIRST_DRAWING: function() {\r\n this._resetComponentsAnimation(true)\r\n },\r\n _resetComponentsAnimation: function(isFirstDrawing) {\r\n this.series.forEach(s => {\r\n s.resetApplyingAnimation(isFirstDrawing)\r\n });\r\n this._resetAxesAnimation(isFirstDrawing)\r\n },\r\n _resetAxesAnimation: noop,\r\n _refreshSeries: function(actionName) {\r\n this.needToPopulateSeries = true;\r\n this._requestChange([actionName])\r\n },\r\n _change_CORRECT_AXIS() {\r\n this._correctAxes()\r\n },\r\n _doRefresh: function() {\r\n var methodName = this._currentRefreshData;\r\n if (methodName) {\r\n this._currentRefreshData = null;\r\n this._renderer.stopAllAnimations(true);\r\n this[methodName]()\r\n }\r\n },\r\n _updateCanvasClipRect: function(canvas) {\r\n var width = Math.max(canvas.width - canvas.left - canvas.right, 0);\r\n var height = Math.max(canvas.height - canvas.top - canvas.bottom, 0);\r\n this._canvasClipRect.attr({\r\n x: canvas.left,\r\n y: canvas.top,\r\n width: width,\r\n height: height\r\n });\r\n this._backgroundRect.attr({\r\n x: canvas.left,\r\n y: canvas.top,\r\n width: width,\r\n height: height\r\n })\r\n },\r\n _getCanvasClipRectID: function() {\r\n return this._canvasClipRect.id\r\n },\r\n _dataSourceChangedHandler: function() {\r\n if (this._changes.has(\"INIT\")) {\r\n this._requestChange([\"DATA_INIT\"])\r\n } else {\r\n this._requestChange([\"FORCE_DATA_INIT\"])\r\n }\r\n },\r\n _dataInit: function() {\r\n this._dataSpecificInit(true)\r\n },\r\n _processSingleSeries: function(singleSeries) {\r\n singleSeries.createPoints(false)\r\n },\r\n _handleSeriesDataUpdated() {\r\n if (this._getVisibleSeries().some(s => s.useAggregation())) {\r\n this._populateMarginOptions()\r\n }\r\n this.series.forEach(s => this._processSingleSeries(s), this)\r\n },\r\n _dataSpecificInit(needRedraw) {\r\n if (!this.series || this.needToPopulateSeries) {\r\n this.series = this._populateSeries()\r\n }\r\n this._repopulateSeries();\r\n this._seriesPopulatedHandlerCore();\r\n this._populateBusinessRange();\r\n this._tracker.updateSeries(this.series, this._changes.has(\"INIT\"));\r\n this._updateLegend();\r\n if (needRedraw) {\r\n this._requestChange([\"FULL_RENDER\"])\r\n }\r\n },\r\n _forceRender: function() {\r\n this._doRender({\r\n force: true\r\n })\r\n },\r\n _repopulateSeries: function() {\r\n var themeManager = this._themeManager;\r\n var data = this._dataSourceItems();\r\n var dataValidatorOptions = themeManager.getOptions(\"dataPrepareSettings\");\r\n var seriesTemplate = themeManager.getOptions(\"seriesTemplate\");\r\n if (seriesTemplate) {\r\n this._populateSeries(data)\r\n }\r\n this._groupSeries();\r\n var parsedData = validateData(data, this._groupsData, this._incidentOccurred, dataValidatorOptions);\r\n themeManager.resetPalette();\r\n this.series.forEach((function(singleSeries) {\r\n singleSeries.updateData(parsedData[singleSeries.getArgumentField()])\r\n }));\r\n this._handleSeriesDataUpdated()\r\n },\r\n _renderCompleteHandler: function() {\r\n var allSeriesInited = true;\r\n if (this._needHandleRenderComplete) {\r\n _each(this.series, (function(_, s) {\r\n allSeriesInited = allSeriesInited && s.canRenderCompleteHandle()\r\n }));\r\n if (allSeriesInited) {\r\n this._needHandleRenderComplete = false;\r\n this._eventTrigger(\"done\", {\r\n target: this\r\n })\r\n }\r\n }\r\n },\r\n _dataIsReady: function() {\r\n return _isDefined(this.option(\"dataSource\")) && this._dataIsLoaded()\r\n },\r\n _populateSeriesOptions(data) {\r\n var that = this;\r\n var themeManager = that._themeManager;\r\n var seriesTemplate = themeManager.getOptions(\"seriesTemplate\");\r\n var seriesOptions = seriesTemplate ? processSeriesTemplate(seriesTemplate, data || []) : that.option(\"series\");\r\n var allSeriesOptions = _isArray(seriesOptions) ? seriesOptions : seriesOptions ? [seriesOptions] : [];\r\n var extraOptions = that._getExtraOptions();\r\n var particularSeriesOptions;\r\n var seriesTheme;\r\n var seriesThemes = [];\r\n var seriesVisibilityChanged = target => {\r\n that._specialProcessSeries();\r\n that._populateBusinessRange(target && target.getValueAxis(), true);\r\n that._renderer.stopAllAnimations(true);\r\n that._updateLegend();\r\n that._requestChange([\"FULL_RENDER\"])\r\n };\r\n for (var i = 0; i < allSeriesOptions.length; i++) {\r\n particularSeriesOptions = extend(true, {}, allSeriesOptions[i], extraOptions);\r\n if (!_isDefined(particularSeriesOptions.name) || \"\" === particularSeriesOptions.name) {\r\n particularSeriesOptions.name = \"Series \" + (i + 1).toString()\r\n }\r\n particularSeriesOptions.rotated = that._isRotated();\r\n particularSeriesOptions.customizePoint = themeManager.getOptions(\"customizePoint\");\r\n particularSeriesOptions.customizeLabel = themeManager.getOptions(\"customizeLabel\");\r\n particularSeriesOptions.visibilityChanged = seriesVisibilityChanged;\r\n particularSeriesOptions.incidentOccurred = that._incidentOccurred;\r\n seriesTheme = themeManager.getOptions(\"series\", particularSeriesOptions, allSeriesOptions.length);\r\n if (that._checkPaneName(seriesTheme)) {\r\n seriesThemes.push(seriesTheme)\r\n }\r\n }\r\n return seriesThemes\r\n },\r\n _populateSeries(data) {\r\n var _that$series2;\r\n var that = this;\r\n var seriesBasis = [];\r\n var incidentOccurred = that._incidentOccurred;\r\n var seriesThemes = that._populateSeriesOptions(data);\r\n var particularSeries;\r\n var disposeSeriesFamilies = false;\r\n that.needToPopulateSeries = false;\r\n _each(seriesThemes, (_, theme) => {\r\n var curSeries = that.series && that.series.filter(s => s.name === theme.name && -1 === seriesBasis.map(sb => sb.series).indexOf(s))[0];\r\n if (curSeries && curSeries.type === theme.type) {\r\n seriesBasis.push({\r\n series: curSeries,\r\n options: theme\r\n })\r\n } else {\r\n seriesBasis.push({\r\n options: theme\r\n });\r\n disposeSeriesFamilies = true\r\n }\r\n });\r\n 0 !== (null === (_that$series2 = that.series) || void 0 === _that$series2 ? void 0 : _that$series2.length) && that._tracker.clearHover();\r\n _reverseEach(that.series, (index, series) => {\r\n if (!seriesBasis.some(s => series === s.series)) {\r\n that._disposeSeries(index);\r\n disposeSeriesFamilies = true\r\n }\r\n });\r\n !disposeSeriesFamilies && (disposeSeriesFamilies = seriesBasis.some(sb => sb.series.name !== seriesThemes[sb.series.index].name));\r\n that.series = [];\r\n disposeSeriesFamilies && that._disposeSeriesFamilies();\r\n that._themeManager.resetPalette();\r\n var eventPipe = function(data) {\r\n that.series.forEach((function(currentSeries) {\r\n currentSeries.notify(data)\r\n }))\r\n };\r\n _each(seriesBasis, (_, basis) => {\r\n var _that$_argumentAxes$f, _that$_argumentAxes;\r\n var seriesTheme = basis.options;\r\n var argumentAxis = null !== (_that$_argumentAxes$f = null === (_that$_argumentAxes = that._argumentAxes) || void 0 === _that$_argumentAxes ? void 0 : _that$_argumentAxes.filter(a => a.pane === seriesTheme.pane)[0]) && void 0 !== _that$_argumentAxes$f ? _that$_argumentAxes$f : that.getArgumentAxis();\r\n var renderSettings = {\r\n commonSeriesModes: that._getSelectionModes(),\r\n argumentAxis: argumentAxis,\r\n valueAxis: that._getValueAxis(seriesTheme.pane, seriesTheme.axis)\r\n };\r\n if (basis.series) {\r\n particularSeries = basis.series;\r\n particularSeries.updateOptions(seriesTheme, renderSettings)\r\n } else {\r\n particularSeries = new Series(extend({\r\n renderer: that._renderer,\r\n seriesGroup: that._seriesGroup,\r\n labelsGroup: that._labelsGroup,\r\n eventTrigger: that._eventTrigger,\r\n eventPipe: eventPipe,\r\n incidentOccurred: incidentOccurred\r\n }, renderSettings), seriesTheme)\r\n }\r\n if (!particularSeries.isUpdated) {\r\n incidentOccurred(\"E2101\", [seriesTheme.type])\r\n } else {\r\n particularSeries.index = that.series.length;\r\n that.series.push(particularSeries)\r\n }\r\n });\r\n return that.series\r\n },\r\n getStackedPoints: function(point) {\r\n var stackName = point.series.getStackName();\r\n return this._getVisibleSeries().reduce((stackPoints, series) => {\r\n if (!_isDefined(series.getStackName()) || !_isDefined(stackName) || stackName === series.getStackName()) {\r\n stackPoints = stackPoints.concat(series.getPointsByArg(point.argument))\r\n }\r\n return stackPoints\r\n }, [])\r\n },\r\n getAllSeries: function() {\r\n return (this.series || []).slice()\r\n },\r\n getSeriesByName: function(name) {\r\n var found = null;\r\n _each(this.series, (function(i, singleSeries) {\r\n if (singleSeries.name === name) {\r\n found = singleSeries;\r\n return false\r\n }\r\n }));\r\n return found\r\n },\r\n getSeriesByPos: function(pos) {\r\n return (this.series || [])[pos]\r\n },\r\n clearSelection: function() {\r\n this._tracker.clearSelection()\r\n },\r\n hideTooltip: function() {\r\n this._tracker._hideTooltip()\r\n },\r\n clearHover() {\r\n this._tracker.clearHover()\r\n },\r\n render: function(renderOptions) {\r\n var that = this;\r\n that.__renderOptions = renderOptions;\r\n that.__forceRender = renderOptions && renderOptions.force;\r\n that.callBase.apply(that, arguments);\r\n that.__renderOptions = that.__forceRender = null;\r\n return that\r\n },\r\n refresh: function() {\r\n this._disposeSeries();\r\n this._disposeSeriesFamilies();\r\n this._requestChange([\"CONTAINER_SIZE\", \"REFRESH_SERIES_REINIT\"])\r\n },\r\n _getMinSize() {\r\n var adaptiveLayout = this._layoutManagerOptions();\r\n return [adaptiveLayout.width, adaptiveLayout.height]\r\n },\r\n _change_REFRESH() {\r\n if (!this._changes.has(\"INIT\")) {\r\n this._doRefresh()\r\n } else {\r\n this._currentRefreshData = null\r\n }\r\n },\r\n _change_FULL_RENDER() {\r\n this._forceRender()\r\n },\r\n _change_INIT() {\r\n this._reinit()\r\n },\r\n _stopCurrentHandling: function() {\r\n this._tracker.stopCurrentHandling()\r\n }\r\n});\r\nREFRESH_SERIES_DATA_INIT_ACTION_OPTIONS.forEach((function(name) {\r\n BaseChart.prototype._optionChangesMap[name] = \"REFRESH_SERIES_DATA_INIT\"\r\n}));\r\nFORCE_RENDER_REFRESH_ACTION_OPTIONS.forEach((function(name) {\r\n BaseChart.prototype._optionChangesMap[name] = \"FORCE_RENDER\"\r\n}));\r\nREFRESH_SERIES_FAMILIES_ACTION_OPTIONS.forEach((function(name) {\r\n BaseChart.prototype._optionChangesMap[name] = \"REFRESH_SERIES_FAMILIES\"\r\n}));\r\nimport {\r\n plugin as exportPlugin\r\n} from \"../core/export\";\r\nimport {\r\n plugin as titlePlugin\r\n} from \"../core/title\";\r\nimport {\r\n plugin as dataSourcePlugin\r\n} from \"../core/data_source\";\r\nimport {\r\n plugin as tooltipPlugin\r\n} from \"../core/tooltip\";\r\nimport {\r\n plugin as loadingIndicatorPlugin\r\n} from \"../core/loading_indicator\";\r\nBaseChart.addPlugin(exportPlugin);\r\nBaseChart.addPlugin(titlePlugin);\r\nBaseChart.addPlugin(dataSourcePlugin);\r\nBaseChart.addPlugin(tooltipPlugin);\r\nBaseChart.addPlugin(loadingIndicatorPlugin);\r\nvar _change_TITLE = BaseChart.prototype._change_TITLE;\r\nBaseChart.prototype._change_TITLE = function() {\r\n _change_TITLE.apply(this, arguments);\r\n this._change([\"FORCE_RENDER\"])\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/multi_axes_synchronizer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n debug\r\n} from \"../../core/utils/console\";\r\nimport {\r\n isDefined,\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getLogExt,\r\n raiseToExt\r\n} from \"../core/utils\";\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nvar _math = Math;\r\nvar _floor = _math.floor;\r\nvar _max = _math.max;\r\nvar _abs = _math.abs;\r\n\r\nfunction getValueAxesPerPanes(valueAxes) {\r\n var result = {};\r\n valueAxes.forEach(axis => {\r\n var pane = axis.pane;\r\n if (!result[pane]) {\r\n result[pane] = []\r\n }\r\n result[pane].push(axis)\r\n });\r\n return result\r\n}\r\nvar linearConverter = br => ({\r\n transform: function(v, b) {\r\n return adjust(getLogExt(v, b, br.allowNegatives, br.linearThreshold))\r\n },\r\n getTicks: function(interval, tickValues, base) {\r\n var ticks = [];\r\n var tick = this.transform(tickValues[0], base);\r\n while (ticks.length < tickValues.length) {\r\n ticks.push(tick);\r\n tick = adjust(tick + interval)\r\n }\r\n return ticks\r\n }\r\n});\r\nvar logConverter = br => ({\r\n transform: function(v, b) {\r\n return adjust(raiseToExt(v, b, br.allowNegatives, br.linearThreshold))\r\n },\r\n getTicks: function(interval, tickValues, base) {\r\n var ticks = [];\r\n var tick;\r\n for (var i = 0; i < tickValues.length; i += 1) {\r\n tick = this.transform(tickValues[i], base);\r\n ticks.push(tick)\r\n }\r\n return ticks\r\n }\r\n});\r\n\r\nfunction convertAxisInfo(axisInfo, converter) {\r\n if (!axisInfo.isLogarithmic) {\r\n return\r\n }\r\n var base = axisInfo.logarithmicBase;\r\n var tickValues = axisInfo.tickValues;\r\n axisInfo.minValue = converter.transform(axisInfo.minValue, base);\r\n axisInfo.oldMinValue = converter.transform(axisInfo.oldMinValue, base);\r\n axisInfo.maxValue = converter.transform(axisInfo.maxValue, base);\r\n axisInfo.oldMaxValue = converter.transform(axisInfo.oldMaxValue, base);\r\n axisInfo.tickInterval = _math.round(axisInfo.tickInterval);\r\n if (axisInfo.tickInterval < 1) {\r\n axisInfo.tickInterval = 1\r\n }\r\n var ticks = converter.getTicks(axisInfo.tickInterval, tickValues, base);\r\n ticks.tickInterval = axisInfo.tickInterval;\r\n axisInfo.tickValues = ticks\r\n}\r\n\r\nfunction populateAxesInfo(axes) {\r\n return axes.reduce((function(result, axis) {\r\n var ticksValues = axis.getTicksValues();\r\n var majorTicks = ticksValues.majorTicksValues;\r\n var options = axis.getOptions();\r\n var businessRange = axis.getTranslator().getBusinessRange();\r\n var visibleArea = axis.getVisibleArea();\r\n var axisInfo;\r\n var tickInterval = axis._tickInterval;\r\n var synchronizedValue = options.synchronizedValue;\r\n var action = axis.getViewport().action;\r\n if (majorTicks && majorTicks.length > 0 && isNumeric(majorTicks[0]) && \"discrete\" !== options.type && !businessRange.isEmpty() && !(businessRange.breaks && businessRange.breaks.length) && \"zoom\" !== action && \"pan\" !== action) {\r\n axis.applyMargins();\r\n var startValue = axis.getTranslator().from(visibleArea[0]);\r\n var endValue = axis.getTranslator().from(visibleArea[1]);\r\n var minValue = startValue < endValue ? startValue : endValue;\r\n var maxValue = startValue < endValue ? endValue : startValue;\r\n if (minValue === maxValue && isDefined(synchronizedValue)) {\r\n tickInterval = _abs(majorTicks[0] - synchronizedValue) || 1;\r\n minValue = majorTicks[0] - tickInterval;\r\n maxValue = majorTicks[0] + tickInterval\r\n }\r\n axisInfo = {\r\n axis: axis,\r\n isLogarithmic: \"logarithmic\" === options.type,\r\n logarithmicBase: businessRange.base,\r\n tickValues: majorTicks,\r\n minorValues: ticksValues.minorTicksValues,\r\n minorTickInterval: axis._minorTickInterval,\r\n minValue: minValue,\r\n oldMinValue: minValue,\r\n maxValue: maxValue,\r\n oldMaxValue: maxValue,\r\n inverted: businessRange.invert,\r\n tickInterval: tickInterval,\r\n synchronizedValue: synchronizedValue\r\n };\r\n convertAxisInfo(axisInfo, linearConverter(axis.getTranslator().getBusinessRange()));\r\n result.push(axisInfo)\r\n }\r\n return result\r\n }), [])\r\n}\r\n\r\nfunction updateTickValues(axesInfo) {\r\n var maxTicksCount = axesInfo.reduce((max, axisInfo) => _max(max, axisInfo.tickValues.length), 0);\r\n axesInfo.forEach(axisInfo => {\r\n var ticksMultiplier;\r\n var ticksCount;\r\n var additionalStartTicksCount = 0;\r\n var synchronizedValue = axisInfo.synchronizedValue;\r\n var tickValues = axisInfo.tickValues;\r\n var tickInterval = axisInfo.tickInterval;\r\n if (isDefined(synchronizedValue)) {\r\n axisInfo.baseTickValue = axisInfo.invertedBaseTickValue = synchronizedValue;\r\n axisInfo.tickValues = [axisInfo.baseTickValue]\r\n } else {\r\n if (tickValues.length > 1 && tickInterval) {\r\n ticksMultiplier = _floor((maxTicksCount + 1) / tickValues.length);\r\n ticksCount = ticksMultiplier > 1 ? _floor((maxTicksCount + 1) / ticksMultiplier) : maxTicksCount;\r\n additionalStartTicksCount = _floor((ticksCount - tickValues.length) / 2);\r\n while (additionalStartTicksCount > 0 && 0 !== tickValues[0]) {\r\n tickValues.unshift(adjust(tickValues[0] - tickInterval));\r\n additionalStartTicksCount--\r\n }\r\n while (tickValues.length < ticksCount) {\r\n tickValues.push(adjust(tickValues[tickValues.length - 1] + tickInterval))\r\n }\r\n axisInfo.tickInterval = tickInterval / ticksMultiplier\r\n }\r\n axisInfo.baseTickValue = tickValues[0];\r\n axisInfo.invertedBaseTickValue = tickValues[tickValues.length - 1]\r\n }\r\n })\r\n}\r\n\r\nfunction getAxisRange(axisInfo) {\r\n return axisInfo.maxValue - axisInfo.minValue || 1\r\n}\r\n\r\nfunction getMainAxisInfo(axesInfo) {\r\n for (var i = 0; i < axesInfo.length; i++) {\r\n if (!axesInfo[i].stubData) {\r\n return axesInfo[i]\r\n }\r\n }\r\n return null\r\n}\r\n\r\nfunction correctMinMaxValues(axesInfo) {\r\n var mainAxisInfo = getMainAxisInfo(axesInfo);\r\n var mainAxisInfoTickInterval = mainAxisInfo.tickInterval;\r\n axesInfo.forEach(axisInfo => {\r\n var scale;\r\n var move;\r\n var mainAxisBaseValueOffset;\r\n var valueFromAxisInfo;\r\n if (axisInfo !== mainAxisInfo) {\r\n if (mainAxisInfoTickInterval && axisInfo.tickInterval) {\r\n if (axisInfo.stubData && isDefined(axisInfo.synchronizedValue)) {\r\n axisInfo.oldMinValue = axisInfo.minValue = axisInfo.baseTickValue - (mainAxisInfo.baseTickValue - mainAxisInfo.minValue) / mainAxisInfoTickInterval * axisInfo.tickInterval;\r\n axisInfo.oldMaxValue = axisInfo.maxValue = axisInfo.baseTickValue - (mainAxisInfo.baseTickValue - mainAxisInfo.maxValue) / mainAxisInfoTickInterval * axisInfo.tickInterval\r\n }\r\n scale = mainAxisInfoTickInterval / getAxisRange(mainAxisInfo) / axisInfo.tickInterval * getAxisRange(axisInfo);\r\n axisInfo.maxValue = axisInfo.minValue + getAxisRange(axisInfo) / scale\r\n }\r\n if (mainAxisInfo.inverted && !axisInfo.inverted || !mainAxisInfo.inverted && axisInfo.inverted) {\r\n mainAxisBaseValueOffset = mainAxisInfo.maxValue - mainAxisInfo.invertedBaseTickValue\r\n } else {\r\n mainAxisBaseValueOffset = mainAxisInfo.baseTickValue - mainAxisInfo.minValue\r\n }\r\n valueFromAxisInfo = getAxisRange(axisInfo);\r\n move = (mainAxisBaseValueOffset / getAxisRange(mainAxisInfo) - (axisInfo.baseTickValue - axisInfo.minValue) / valueFromAxisInfo) * valueFromAxisInfo;\r\n axisInfo.minValue -= move;\r\n axisInfo.maxValue -= move\r\n }\r\n })\r\n}\r\n\r\nfunction calculatePaddings(axesInfo) {\r\n var minPadding;\r\n var maxPadding;\r\n var startPadding = 0;\r\n var endPadding = 0;\r\n axesInfo.forEach(axisInfo => {\r\n var inverted = axisInfo.inverted;\r\n minPadding = axisInfo.minValue > axisInfo.oldMinValue ? (axisInfo.minValue - axisInfo.oldMinValue) / getAxisRange(axisInfo) : 0;\r\n maxPadding = axisInfo.maxValue < axisInfo.oldMaxValue ? (axisInfo.oldMaxValue - axisInfo.maxValue) / getAxisRange(axisInfo) : 0;\r\n startPadding = _max(startPadding, inverted ? maxPadding : minPadding);\r\n endPadding = _max(endPadding, inverted ? minPadding : maxPadding)\r\n });\r\n return {\r\n start: startPadding,\r\n end: endPadding\r\n }\r\n}\r\n\r\nfunction correctMinMaxValuesByPaddings(axesInfo, paddings) {\r\n axesInfo.forEach(info => {\r\n var range = getAxisRange(info);\r\n var inverted = info.inverted;\r\n info.minValue = adjust(info.minValue - paddings[inverted ? \"end\" : \"start\"] * range);\r\n info.maxValue = adjust(info.maxValue + paddings[inverted ? \"start\" : \"end\"] * range)\r\n })\r\n}\r\n\r\nfunction updateTickValuesIfSynchronizedValueUsed(axesInfo) {\r\n var hasSynchronizedValue = false;\r\n axesInfo.forEach(info => {\r\n hasSynchronizedValue = hasSynchronizedValue || isDefined(info.synchronizedValue)\r\n });\r\n axesInfo.forEach(info => {\r\n var tickInterval = info.tickInterval;\r\n var tickValues = info.tickValues;\r\n var maxValue = info.maxValue;\r\n var minValue = info.minValue;\r\n var tick;\r\n if (hasSynchronizedValue && tickInterval) {\r\n while ((tick = adjust(tickValues[0] - tickInterval)) >= minValue) {\r\n tickValues.unshift(tick)\r\n }\r\n tick = tickValues[tickValues.length - 1];\r\n while ((tick = adjust(tick + tickInterval)) <= maxValue) {\r\n tickValues.push(tick)\r\n }\r\n }\r\n while (tickValues[0] + tickInterval / 10 < minValue) {\r\n tickValues.shift()\r\n }\r\n while (tickValues[tickValues.length - 1] - tickInterval / 10 > maxValue) {\r\n tickValues.pop()\r\n }\r\n })\r\n}\r\n\r\nfunction applyMinMaxValues(axesInfo) {\r\n axesInfo.forEach(info => {\r\n var axis = info.axis;\r\n var range = axis.getTranslator().getBusinessRange();\r\n if (range.min === range.minVisible) {\r\n range.min = info.minValue\r\n }\r\n if (range.max === range.maxVisible) {\r\n range.max = info.maxValue\r\n }\r\n range.minVisible = info.minValue;\r\n range.maxVisible = info.maxValue;\r\n if (range.min > range.minVisible) {\r\n range.min = range.minVisible\r\n }\r\n if (range.max < range.maxVisible) {\r\n range.max = range.maxVisible\r\n }\r\n axis.getTranslator().updateBusinessRange(range);\r\n axis.setTicks({\r\n majorTicks: info.tickValues,\r\n minorTicks: info.minorValues\r\n })\r\n })\r\n}\r\n\r\nfunction correctAfterSynchronize(axesInfo) {\r\n var invalidAxisInfo = [];\r\n var correctValue;\r\n axesInfo.forEach(info => {\r\n if (info.oldMaxValue - info.oldMinValue === 0) {\r\n invalidAxisInfo.push(info)\r\n } else if (!isDefined(correctValue) && !isDefined(info.synchronizedValue)) {\r\n correctValue = _abs((info.maxValue - info.minValue) / (info.tickValues[_floor(info.tickValues.length / 2)] - info.minValue || info.maxValue))\r\n }\r\n });\r\n if (!isDefined(correctValue)) {\r\n return\r\n }\r\n invalidAxisInfo.forEach(info => {\r\n var firstTick = info.tickValues[0];\r\n var correctedTick = firstTick * correctValue;\r\n if (firstTick > 0) {\r\n info.maxValue = correctedTick;\r\n info.minValue = 0\r\n } else if (firstTick < 0) {\r\n info.minValue = correctedTick;\r\n info.maxValue = 0\r\n }\r\n })\r\n}\r\n\r\nfunction updateMinorTicks(axesInfo) {\r\n axesInfo.forEach((function(axisInfo) {\r\n if (!axisInfo.minorTickInterval) {\r\n return\r\n }\r\n var ticks = [];\r\n var interval = axisInfo.minorTickInterval;\r\n var tickCount = axisInfo.tickInterval / interval - 1;\r\n for (var i = 1; i < axisInfo.tickValues.length; i++) {\r\n var tick = axisInfo.tickValues[i - 1];\r\n for (var j = 0; j < tickCount; j++) {\r\n tick += interval;\r\n ticks.push(tick)\r\n }\r\n }\r\n axisInfo.minorValues = ticks\r\n }))\r\n}\r\n\r\nfunction correctPaddings(axesInfo, paddings) {\r\n return axesInfo.reduce((prev, info) => {\r\n var inverted = info.inverted;\r\n var {\r\n start: start,\r\n end: end\r\n } = info.axis.getCorrectedValuesToZero(info.minValue, info.maxValue);\r\n if (isDefined(start) || isDefined(end)) {\r\n return inverted ? {\r\n start: prev.start,\r\n end: Math.min(prev.end, end)\r\n } : {\r\n start: Math.min(prev.start, start),\r\n end: prev.end\r\n }\r\n }\r\n return prev\r\n }, paddings)\r\n}\r\nvar multiAxesSynchronizer = {\r\n synchronize: function(valueAxes) {\r\n each(getValueAxesPerPanes(valueAxes), (function(_, axes) {\r\n var axesInfo;\r\n var paddings;\r\n if (axes.length > 1) {\r\n axesInfo = populateAxesInfo(axes);\r\n if (axesInfo.length < 2 || !getMainAxisInfo(axesInfo)) {\r\n return\r\n }\r\n updateTickValues(axesInfo);\r\n correctMinMaxValues(axesInfo);\r\n paddings = calculatePaddings(axesInfo);\r\n paddings = correctPaddings(axesInfo, paddings);\r\n correctMinMaxValuesByPaddings(axesInfo, paddings);\r\n correctAfterSynchronize(axesInfo);\r\n updateTickValuesIfSynchronizedValueUsed(axesInfo);\r\n updateMinorTicks(axesInfo);\r\n axesInfo.forEach(info => {\r\n convertAxisInfo(info, logConverter(info.axis.getTranslator().getBusinessRange()))\r\n });\r\n applyMinMaxValues(axesInfo)\r\n }\r\n }))\r\n }\r\n};\r\nexport default multiAxesSynchronizer;\r\n","/**\r\n * DevExtreme (esm/viz/translators/range.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isDate,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar _isDefined = isDefined;\r\nvar _isDate = isDate;\r\nvar _isFunction = isFunction;\r\nimport {\r\n unique\r\n} from \"../core/utils\";\r\nvar minSelector = \"min\";\r\nvar maxSelector = \"max\";\r\nvar minVisibleSelector = \"minVisible\";\r\nvar maxVisibleSelector = \"maxVisible\";\r\nvar baseSelector = \"base\";\r\nvar axisTypeSelector = \"axisType\";\r\n\r\nfunction otherLessThan(thisValue, otherValue) {\r\n return otherValue < thisValue\r\n}\r\n\r\nfunction otherGreaterThan(thisValue, otherValue) {\r\n return otherValue > thisValue\r\n}\r\n\r\nfunction compareAndReplace(thisValue, otherValue, setValue, compare) {\r\n var otherValueDefined = _isDefined(otherValue);\r\n if (_isDefined(thisValue)) {\r\n if (otherValueDefined && compare(thisValue, otherValue)) {\r\n setValue(otherValue)\r\n }\r\n } else if (otherValueDefined) {\r\n setValue(otherValue)\r\n }\r\n}\r\nexport var Range = function(range) {\r\n range && extend(this, range)\r\n};\r\nvar _Range = Range;\r\n_Range.prototype = {\r\n constructor: _Range,\r\n addRange: function(otherRange) {\r\n var that = this;\r\n var categories = that.categories;\r\n var otherCategories = otherRange.categories;\r\n var isDiscrete = \"discrete\" === that[axisTypeSelector];\r\n var compareAndReplaceByField = function(field, compare) {\r\n compareAndReplace(that[field], otherRange[field], (function(value) {\r\n that[field] = value\r\n }), compare)\r\n };\r\n var controlValuesByVisibleBounds = function(valueField, visibleValueField, compare) {\r\n compareAndReplace(that[valueField], that[visibleValueField], (function(value) {\r\n _isDefined(that[valueField]) && (that[valueField] = value)\r\n }), compare)\r\n };\r\n var checkField = function(field) {\r\n that[field] = that[field] || otherRange[field]\r\n };\r\n checkField(\"invert\");\r\n checkField(\"containsConstantLine\");\r\n checkField(axisTypeSelector);\r\n checkField(\"dataType\");\r\n checkField(\"isSpacedMargin\");\r\n if (\"logarithmic\" === that[axisTypeSelector]) {\r\n checkField(baseSelector)\r\n } else {\r\n that[baseSelector] = void 0\r\n }\r\n compareAndReplaceByField(minSelector, otherLessThan);\r\n compareAndReplaceByField(maxSelector, otherGreaterThan);\r\n if (isDiscrete) {\r\n checkField(minVisibleSelector);\r\n checkField(maxVisibleSelector)\r\n } else {\r\n compareAndReplaceByField(minVisibleSelector, otherLessThan);\r\n compareAndReplaceByField(maxVisibleSelector, otherGreaterThan)\r\n }\r\n compareAndReplaceByField(\"interval\", otherLessThan);\r\n if (!isDiscrete) {\r\n controlValuesByVisibleBounds(minSelector, minVisibleSelector, otherLessThan);\r\n controlValuesByVisibleBounds(minSelector, maxVisibleSelector, otherLessThan);\r\n controlValuesByVisibleBounds(maxSelector, maxVisibleSelector, otherGreaterThan);\r\n controlValuesByVisibleBounds(maxSelector, minVisibleSelector, otherGreaterThan)\r\n }\r\n if (void 0 === categories) {\r\n that.categories = otherCategories\r\n } else {\r\n that.categories = otherCategories ? unique(categories.concat(otherCategories)) : categories\r\n }\r\n if (\"logarithmic\" === that[axisTypeSelector]) {\r\n checkField(\"allowNegatives\");\r\n compareAndReplaceByField(\"linearThreshold\", otherLessThan)\r\n }\r\n return that\r\n },\r\n isEmpty: function() {\r\n return (!_isDefined(this[minSelector]) || !_isDefined(this[maxSelector])) && (!this.categories || 0 === this.categories.length)\r\n },\r\n correctValueZeroLevel: function() {\r\n var that = this;\r\n if (_isDate(that[maxSelector]) || _isDate(that[minSelector])) {\r\n return that\r\n }\r\n\r\n function setZeroLevel(min, max) {\r\n that[min] < 0 && that[max] < 0 && (that[max] = 0);\r\n that[min] > 0 && that[max] > 0 && (that[min] = 0)\r\n }\r\n setZeroLevel(minSelector, maxSelector);\r\n setZeroLevel(minVisibleSelector, maxVisibleSelector);\r\n return that\r\n },\r\n sortCategories(sort) {\r\n if (false === sort || !this.categories) {\r\n return\r\n }\r\n if (Array.isArray(sort)) {\r\n var sortValues = sort.map(item => item.valueOf());\r\n var filteredSeriesCategories = this.categories.filter(item => -1 === sortValues.indexOf(item.valueOf()));\r\n this.categories = sort.concat(filteredSeriesCategories)\r\n } else {\r\n var notAFunction = !_isFunction(sort);\r\n if (notAFunction && \"string\" !== this.dataType) {\r\n sort = (a, b) => a.valueOf() - b.valueOf()\r\n } else if (notAFunction) {\r\n sort = false\r\n }\r\n sort && this.categories.sort(sort)\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/axes/smart_formatter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport formatHelper from \"../../format_helper\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isExponential,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n adjust,\r\n getPrecision,\r\n getExponent\r\n} from \"../../core/utils/math\";\r\nimport {\r\n getAdjustedLog10 as log10\r\n} from \"../core/utils\";\r\nvar _format = formatHelper.format;\r\nvar {\r\n abs: abs,\r\n floor: floor\r\n} = Math;\r\nvar EXPONENTIAL = \"exponential\";\r\nvar formats = [\"fixedPoint\", \"thousands\", \"millions\", \"billions\", \"trillions\", EXPONENTIAL];\r\nvar dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"month\", \"year\"];\r\nvar INTERVALS_MAP = {\r\n week: \"day\",\r\n quarter: \"month\",\r\n shorttime: \"hour\",\r\n longtime: \"second\"\r\n};\r\n\r\nfunction patchFirstTickDiff(differences, tickFormatIndex) {\r\n for (var i = tickFormatIndex; i < dateUnitIntervals.length - 1; i++) {\r\n var dateUnitInterval = dateUnitIntervals[i];\r\n if (i === tickFormatIndex) {\r\n setDateUnitInterval(differences, tickFormatIndex + (differences.millisecond ? 2 : 1));\r\n break\r\n } else if (differences[dateUnitInterval] && differences.count > 1) {\r\n resetDateUnitInterval(differences, i);\r\n break\r\n }\r\n }\r\n}\r\n\r\nfunction patchTickDiff(differences, tickFormatIndex) {\r\n var patched = false;\r\n for (var i = dateUnitIntervals.length - 1; i >= tickFormatIndex; i--) {\r\n var dateUnitInterval = dateUnitIntervals[i];\r\n if (differences[dateUnitInterval]) {\r\n if (i - tickFormatIndex > 1) {\r\n for (var j = 0; j <= tickFormatIndex; j++) {\r\n resetDateUnitInterval(differences, j);\r\n patched = true\r\n }\r\n break\r\n }\r\n }\r\n }\r\n return patched\r\n}\r\n\r\nfunction getDatesDifferences(prevDate, curDate, nextDate, tickIntervalFormat) {\r\n tickIntervalFormat = INTERVALS_MAP[tickIntervalFormat] || tickIntervalFormat;\r\n var tickFormatIndex = dateUnitIntervals.indexOf(tickIntervalFormat);\r\n if (nextDate) {\r\n var nextDifferences = dateUtils.getDatesDifferences(curDate, nextDate);\r\n if (nextDifferences[tickIntervalFormat]) {\r\n patchFirstTickDiff(nextDifferences, tickFormatIndex)\r\n }\r\n return nextDifferences\r\n } else {\r\n var prevDifferences = dateUtils.getDatesDifferences(prevDate, curDate);\r\n var patched = patchTickDiff(prevDifferences, tickFormatIndex);\r\n if (!patched && 1 === prevDifferences.count) {\r\n setDateUnitInterval(prevDifferences, tickFormatIndex)\r\n }\r\n return prevDifferences\r\n }\r\n}\r\n\r\nfunction resetDateUnitInterval(differences, intervalIndex) {\r\n var dateUnitInterval = dateUnitIntervals[intervalIndex];\r\n if (differences[dateUnitInterval]) {\r\n differences[dateUnitInterval] = false;\r\n differences.count--\r\n }\r\n}\r\n\r\nfunction setDateUnitInterval(differences, intervalIndex) {\r\n var dateUnitInterval = dateUnitIntervals[intervalIndex];\r\n if (false === differences[dateUnitInterval]) {\r\n differences[dateUnitInterval] = true;\r\n differences.count++\r\n }\r\n}\r\n\r\nfunction getNoZeroIndex(str) {\r\n return str.length - parseInt(str).toString().length\r\n}\r\n\r\nfunction getTransitionTickIndex(ticks, value) {\r\n var i;\r\n var curDiff;\r\n var minDiff;\r\n var nearestTickIndex = 0;\r\n minDiff = abs(value - ticks[0]);\r\n for (i = 1; i < ticks.length; i++) {\r\n curDiff = abs(value - ticks[i]);\r\n if (curDiff < minDiff) {\r\n minDiff = curDiff;\r\n nearestTickIndex = i\r\n }\r\n }\r\n return nearestTickIndex\r\n}\r\n\r\nfunction splitDecimalNumber(value) {\r\n return value.toString().split(\".\")\r\n}\r\n\r\nfunction createFormat(type) {\r\n var formatter;\r\n if (isFunction(type)) {\r\n formatter = type;\r\n type = null\r\n }\r\n return {\r\n type: type,\r\n formatter: formatter\r\n }\r\n}\r\n\r\nfunction formatLogarithmicNumber(tick) {\r\n var log10Tick = log10(abs(tick));\r\n var type;\r\n if (log10Tick > 0) {\r\n type = formats[floor(log10Tick / 3)] || EXPONENTIAL\r\n } else if (log10Tick < -4) {\r\n type = EXPONENTIAL\r\n } else {\r\n return _format(adjust(tick))\r\n }\r\n return _format(tick, {\r\n type: type,\r\n precision: 0\r\n })\r\n}\r\n\r\nfunction getDateTimeFormat(tick, _ref) {\r\n var {\r\n showTransition: showTransition,\r\n ticks: ticks,\r\n tickInterval: tickInterval\r\n } = _ref;\r\n var typeFormat = dateUtils.getDateFormatByTickInterval(tickInterval);\r\n var prevDateIndex;\r\n var nextDateIndex;\r\n if (showTransition && ticks.length) {\r\n var indexOfTick = ticks.map(Number).indexOf(+tick);\r\n if (1 === ticks.length && 0 === indexOfTick) {\r\n typeFormat = formatHelper.getDateFormatByTicks(ticks)\r\n } else {\r\n if (-1 === indexOfTick) {\r\n prevDateIndex = getTransitionTickIndex(ticks, tick)\r\n } else {\r\n prevDateIndex = 0 === indexOfTick ? ticks.length - 1 : indexOfTick - 1;\r\n nextDateIndex = 0 === indexOfTick ? 1 : -1\r\n }\r\n var datesDifferences = getDatesDifferences(ticks[prevDateIndex], tick, ticks[nextDateIndex], typeFormat);\r\n typeFormat = formatHelper.getDateFormatByDifferences(datesDifferences, typeFormat)\r\n }\r\n }\r\n return createFormat(typeFormat)\r\n}\r\n\r\nfunction getFormatExponential(tick, tickInterval) {\r\n var stringTick = abs(tick).toString();\r\n if (isExponential(tick)) {\r\n return Math.max(abs(getExponent(tick) - getExponent(tickInterval)), abs(getPrecision(tick) - getPrecision(tickInterval)))\r\n } else {\r\n return abs(getNoZeroIndex(stringTick.split(\".\")[1]) - getExponent(tickInterval) + 1)\r\n }\r\n}\r\n\r\nfunction getFormatWithModifier(tick, tickInterval) {\r\n var tickIntervalIndex = floor(log10(tickInterval));\r\n var tickIndex;\r\n var precision = 0;\r\n var actualIndex = tickIndex = floor(log10(abs(tick)));\r\n if (tickIndex - tickIntervalIndex >= 2) {\r\n actualIndex = tickIntervalIndex\r\n }\r\n var indexOfFormat = floor(actualIndex / 3);\r\n var offset = 3 * indexOfFormat;\r\n if (indexOfFormat < 0) {\r\n indexOfFormat = 0\r\n }\r\n var typeFormat = formats[indexOfFormat] || formats[formats.length - 1];\r\n if (offset > 0) {\r\n var separatedTickInterval = splitDecimalNumber(tickInterval / Math.pow(10, offset));\r\n if (separatedTickInterval[1]) {\r\n precision = separatedTickInterval[1].length\r\n }\r\n }\r\n return {\r\n precision: precision,\r\n type: typeFormat\r\n }\r\n}\r\n\r\nfunction getHighDiffFormat(diff) {\r\n var stop = false;\r\n for (var i in diff) {\r\n if (true === diff[i] || \"hour\" === i || stop) {\r\n diff[i] = false;\r\n stop = true\r\n } else if (false === diff[i]) {\r\n diff[i] = true\r\n }\r\n }\r\n return createFormat(formatHelper.getDateFormatByDifferences(diff))\r\n}\r\n\r\nfunction getHighAndSelfDiffFormat(diff, interval) {\r\n var stop = false;\r\n for (var i in diff) {\r\n if (stop) {\r\n diff[i] = false\r\n } else if (i === interval) {\r\n stop = true\r\n } else {\r\n diff[i] = true\r\n }\r\n }\r\n return createFormat(formatHelper.getDateFormatByDifferences(diff))\r\n}\r\n\r\nfunction formatDateRange(startValue, endValue, tickInterval) {\r\n var diff = getDatesDifferences(startValue, endValue);\r\n var typeFormat = dateUtils.getDateFormatByTickInterval(tickInterval);\r\n var diffFormatType = formatHelper.getDateFormatByDifferences(diff, typeFormat);\r\n var diffFormat = createFormat(diffFormatType);\r\n var values = [];\r\n if (tickInterval in diff) {\r\n var rangeFormat = getHighAndSelfDiffFormat(getDatesDifferences(startValue, endValue), tickInterval);\r\n var value = _format(startValue, rangeFormat);\r\n if (value) {\r\n values.push(value)\r\n }\r\n } else {\r\n var _rangeFormat = getHighDiffFormat(getDatesDifferences(startValue, endValue));\r\n var highValue = _format(startValue, _rangeFormat);\r\n if (highValue) {\r\n values.push(highValue)\r\n }\r\n values.push(\"\".concat(_format(startValue, diffFormat), \" - \").concat(_format(endValue, diffFormat)))\r\n }\r\n return values.join(\", \")\r\n}\r\n\r\nfunction processDateInterval(interval) {\r\n if (isObject(interval)) {\r\n var dateUnits = Object.keys(interval);\r\n var sum = dateUnits.reduce((sum, k) => interval[k] + sum, 0);\r\n if (1 === sum) {\r\n var dateUnit = dateUnits.filter(k => 1 === interval[k])[0];\r\n return dateUnit.slice(0, dateUnit.length - 1)\r\n }\r\n }\r\n return interval\r\n}\r\nexport function smartFormatter(tick, options) {\r\n var tickInterval = options.tickInterval;\r\n var stringTick = abs(tick).toString();\r\n var format = options.labelOptions.format;\r\n var ticks = options.ticks;\r\n var isLogarithmic = \"logarithmic\" === options.type;\r\n if (1 === ticks.length && 0 === ticks.indexOf(tick) && !isDefined(tickInterval)) {\r\n tickInterval = abs(tick) >= 1 ? 1 : adjust(1 - abs(tick), tick)\r\n }\r\n if (Object.is(tick, -0)) {\r\n tick = 0\r\n }\r\n if (!isDefined(format) && \"discrete\" !== options.type && tick && (10 === options.logarithmBase || !isLogarithmic)) {\r\n if (\"datetime\" !== options.dataType && isDefined(tickInterval)) {\r\n if (ticks.length && -1 === ticks.indexOf(tick)) {\r\n var indexOfTick = getTransitionTickIndex(ticks, tick);\r\n tickInterval = adjust(abs(tick - ticks[indexOfTick]), tick)\r\n }\r\n if (isLogarithmic) {\r\n return formatLogarithmicNumber(tick)\r\n } else {\r\n var separatedTickInterval = splitDecimalNumber(tickInterval);\r\n if (separatedTickInterval < 2) {\r\n separatedTickInterval = splitDecimalNumber(tick)\r\n }\r\n if (separatedTickInterval.length > 1 && !isExponential(tickInterval)) {\r\n format = {\r\n type: formats[0],\r\n precision: separatedTickInterval[1].length\r\n }\r\n } else if (isExponential(tickInterval) && (-1 !== stringTick.indexOf(\".\") || isExponential(tick))) {\r\n format = {\r\n type: EXPONENTIAL,\r\n precision: getFormatExponential(tick, tickInterval)\r\n }\r\n } else {\r\n format = getFormatWithModifier(tick, tickInterval)\r\n }\r\n }\r\n } else if (\"datetime\" === options.dataType) {\r\n format = getDateTimeFormat(tick, options)\r\n }\r\n }\r\n return _format(tick, format)\r\n}\r\nexport function formatRange(_ref2) {\r\n var {\r\n startValue: startValue,\r\n endValue: endValue,\r\n tickInterval: tickInterval,\r\n argumentFormat: argumentFormat,\r\n axisOptions: {\r\n dataType: dataType,\r\n type: type,\r\n logarithmBase: logarithmBase\r\n }\r\n } = _ref2;\r\n if (\"discrete\" === type) {\r\n return \"\"\r\n }\r\n if (\"datetime\" === dataType) {\r\n return formatDateRange(startValue, endValue, processDateInterval(tickInterval))\r\n }\r\n var formatOptions = {\r\n ticks: [],\r\n type: type,\r\n dataType: dataType,\r\n tickInterval: tickInterval,\r\n logarithmBase: logarithmBase,\r\n labelOptions: {\r\n format: argumentFormat\r\n }\r\n };\r\n return \"\".concat(smartFormatter(startValue, formatOptions), \" - \").concat(smartFormatter(endValue, formatOptions))\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/axes_constants.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map as _map\r\n} from \"../core/utils\";\r\nexport default {\r\n logarithmic: \"logarithmic\",\r\n discrete: \"discrete\",\r\n numeric: \"numeric\",\r\n left: \"left\",\r\n right: \"right\",\r\n top: \"top\",\r\n bottom: \"bottom\",\r\n center: \"center\",\r\n horizontal: \"horizontal\",\r\n vertical: \"vertical\",\r\n convertTicksToValues: function(ticks) {\r\n return _map(ticks || [], (function(item) {\r\n return item.value\r\n }))\r\n },\r\n validateOverlappingMode: function(mode) {\r\n return \"ignore\" === mode || \"none\" === mode ? mode : \"hide\"\r\n },\r\n getTicksCountInRange: function(ticks, valueKey, range) {\r\n var i = 1;\r\n if (ticks.length > 1) {\r\n for (; i < ticks.length; i++) {\r\n if (Math.abs(ticks[i].coords[valueKey] - ticks[0].coords[valueKey]) >= range) {\r\n break\r\n }\r\n }\r\n }\r\n return i\r\n },\r\n areLabelsOverlap: function(bBox1, bBox2, spacing, alignment) {\r\n var horizontalInverted = bBox1.x > bBox2.x;\r\n var verticalInverted = bBox1.y > bBox2.y;\r\n var x1 = bBox1.x;\r\n var x2 = bBox2.x;\r\n var width1 = bBox1.width;\r\n var width2 = bBox2.width;\r\n if (\"left\" === alignment) {\r\n x1 += width1 / 2;\r\n x2 += width2 / 2\r\n } else if (\"right\" === alignment) {\r\n x1 -= width1 / 2;\r\n x2 -= width2 / 2\r\n }\r\n var hasHorizontalOverlapping = horizontalInverted ? x2 + width2 + spacing > x1 : x1 + width1 + spacing > x2;\r\n var hasVerticalOverlapping = verticalInverted ? bBox2.y + bBox2.height > bBox1.y : bBox1.y + bBox1.height > bBox2.y;\r\n return hasHorizontalOverlapping && hasVerticalOverlapping\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/axes/tick_generator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getLogExt as getLog,\r\n getCategoriesInfo,\r\n raiseToExt,\r\n getLog as mathLog,\r\n raiseTo as mathRaise\r\n} from \"../core/utils\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n adjust,\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar convertDateUnitToMilliseconds = dateUtils.convertDateUnitToMilliseconds;\r\nvar dateToMilliseconds = dateUtils.dateToMilliseconds;\r\nvar math = Math;\r\nvar mathAbs = math.abs;\r\nvar mathFloor = math.floor;\r\nvar mathCeil = math.ceil;\r\nvar mathPow = math.pow;\r\nvar NUMBER_MULTIPLIERS = [1, 2, 2.5, 5];\r\nvar LOGARITHMIC_MULTIPLIERS = [1, 2, 3, 5];\r\nvar DATETIME_MULTIPLIERS = {\r\n millisecond: [1, 2, 5, 10, 25, 50, 100, 250, 500],\r\n second: [1, 2, 3, 5, 10, 15, 20, 30],\r\n minute: [1, 2, 3, 5, 10, 15, 20, 30],\r\n hour: [1, 2, 3, 4, 6, 8, 12],\r\n day: [1, 2],\r\n week: [1, 2],\r\n month: [1, 2, 3, 6]\r\n};\r\nvar DATETIME_MULTIPLIERS_WITH_BIG_WEEKEND = extend({}, DATETIME_MULTIPLIERS, {\r\n day: [1]\r\n});\r\nvar DATETIME_MINOR_MULTIPLIERS = {\r\n millisecond: [1, 2, 5, 10, 25, 50, 100, 250, 500],\r\n second: [1, 2, 3, 5, 10, 15, 20, 30],\r\n minute: [1, 2, 3, 5, 10, 15, 20, 30],\r\n hour: [1, 2, 3, 4, 6, 8, 12],\r\n day: [1, 2, 3, 7, 14],\r\n month: [1, 2, 3, 6]\r\n};\r\nvar MINOR_DELIMITERS = [2, 4, 5, 8, 10];\r\nvar VISIBILITY_DELIMITER = 3;\r\nvar MINUTE = 6e4;\r\n\r\nfunction dummyGenerator(options) {\r\n return function(data, screenDelta, tickInterval, forceTickInterval) {\r\n var count = mathFloor(screenDelta / options.axisDivisionFactor);\r\n count = count < 1 ? 1 : count;\r\n var interval = screenDelta / count;\r\n return {\r\n ticks: interval > 0 ? Array.apply(null, new Array(count + 1)).map((_, i) => interval * i) : [],\r\n tickInterval: interval\r\n }\r\n }\r\n}\r\n\r\nfunction discreteGenerator(options) {\r\n return function(data, screenDelta, tickInterval, forceTickInterval) {\r\n var categories = getCategoriesInfo(data.categories, data.min, data.max).categories;\r\n return {\r\n ticks: categories,\r\n tickInterval: mathCeil(categories.length * options.axisDivisionFactor / screenDelta)\r\n }\r\n }\r\n}\r\nvar getValue = value => value;\r\nvar getLogValue = (base, allowNegatives, linearThreshold) => value => getLog(value, base, allowNegatives, linearThreshold);\r\nvar raiseTo = (base, allowNegatives, linearThreshold) => value => raiseToExt(value, base, allowNegatives, linearThreshold);\r\nvar mathRaiseTo = base => value => mathRaise(value, base);\r\nvar logAbsValue = base => value => 0 === value ? 0 : mathLog(mathAbs(value), base);\r\nvar correctValueByInterval = (post, round, getValue) => (value, interval) => adjust(post(round(adjust(getValue(value) / interval)) * interval));\r\n\r\nfunction correctMinValueByEndOnTick(floorFunc, ceilFunc, resolveEndOnTick, endOnTick) {\r\n if (isDefined(endOnTick)) {\r\n return endOnTick ? floorFunc : ceilFunc\r\n }\r\n return function(value, interval, businessViewInfo, forceEndOnTick) {\r\n var floorTickValue = floorFunc(value, interval);\r\n if (value - floorTickValue === 0 || !isDefined(businessViewInfo) || resolveEndOnTick(value, floorTickValue, interval, businessViewInfo) || forceEndOnTick) {\r\n return floorTickValue\r\n }\r\n return ceilFunc(value, interval)\r\n }\r\n}\r\n\r\nfunction resolveEndOnTick(curValue, tickValue, interval, businessViewInfo) {\r\n var prevTickDataDiff = interval - mathAbs(tickValue - curValue);\r\n var intervalCount = math.max(mathCeil(businessViewInfo.businessDelta / interval), 2);\r\n var businessRatio = businessViewInfo.screenDelta / (intervalCount * interval);\r\n var potentialTickScreenDiff = math.round(businessRatio * prevTickDataDiff);\r\n var delimiterFactor = getLog(businessRatio * interval / businessViewInfo.axisDivisionFactor, 2) + 1;\r\n var delimiterMultiplier = (businessViewInfo.isSpacedMargin ? 2 : 1) * delimiterFactor;\r\n var screenDelimiter = math.round(VISIBILITY_DELIMITER * delimiterMultiplier);\r\n return businessViewInfo.businessDelta > businessViewInfo.interval && potentialTickScreenDiff >= screenDelimiter\r\n}\r\n\r\nfunction resolveEndOnTickLog(base) {\r\n return function(curValue, tickValue, interval, businessViewInfo) {\r\n return resolveEndOnTick(getLog(curValue, base), getLog(tickValue, base), interval, businessViewInfo)\r\n }\r\n}\r\n\r\nfunction resolveEndOnTickDate(curValue, tickValue, interval, businessViewInfo) {\r\n return resolveEndOnTick(curValue.valueOf(), tickValue.valueOf(), dateToMilliseconds(interval), businessViewInfo)\r\n}\r\n\r\nfunction getBusinessDelta(data, breaks) {\r\n var spacing = 0;\r\n if (breaks) {\r\n spacing = breaks.reduce((prev, item) => prev + (item.to - item.from), 0)\r\n }\r\n return mathAbs(data.max - data.min - spacing)\r\n}\r\n\r\nfunction getBusinessDeltaLog(base, allowNegatives, linearThreshold) {\r\n var getLog = getLogValue(base, allowNegatives, linearThreshold);\r\n return function(data, breaks) {\r\n var spacing = 0;\r\n if (breaks) {\r\n spacing = breaks.reduce((prev, item) => prev + mathAbs(getLog(item.to / item.from)), 0)\r\n }\r\n return mathCeil(mathAbs(getLog(data.max) - getLog(data.min)) - spacing)\r\n }\r\n}\r\n\r\nfunction getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor, addTickCount) {\r\n var count = screenDelta / axisDivisionFactor - (addTickCount || 0);\r\n count = count < 1 ? 1 : count;\r\n return businessDelta / count\r\n}\r\n\r\nfunction getMultiplierFactor(interval, factorDelta) {\r\n return mathPow(10, mathFloor(getLog(interval, 10)) + (factorDelta || 0))\r\n}\r\n\r\nfunction calculateTickInterval(businessDelta, screenDelta, tickInterval, forceTickInterval, axisDivisionFactor, multipliers, allowDecimals, addTickCount, _, minTickInterval) {\r\n var interval = getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor, addTickCount);\r\n var result = 1;\r\n var onlyIntegers = false === allowDecimals;\r\n if (!forceTickInterval || !tickInterval) {\r\n if (interval >= 1 || !onlyIntegers && interval > 0) {\r\n result = adjustInterval(interval, multipliers, onlyIntegers)\r\n }\r\n if (!tickInterval || !forceTickInterval && tickInterval < result) {\r\n tickInterval = result\r\n }\r\n }\r\n if (!forceTickInterval && minTickInterval) {\r\n minTickInterval = adjustInterval(minTickInterval, multipliers, onlyIntegers);\r\n if (minTickInterval > tickInterval) {\r\n tickInterval = minTickInterval\r\n }\r\n }\r\n return tickInterval\r\n}\r\n\r\nfunction adjustInterval(interval, multipliers, onlyIntegers) {\r\n var factor = getMultiplierFactor(interval, -1);\r\n var result = 1;\r\n multipliers = multipliers || NUMBER_MULTIPLIERS;\r\n if (interval > 0) {\r\n interval /= factor;\r\n result = multipliers.concat(10 * multipliers[0]).map(m => 10 * m).reduce((r, m) => {\r\n if (.1 === factor && onlyIntegers && 25 === m) {\r\n return r\r\n }\r\n return r < interval ? m : r\r\n }, 0);\r\n result = adjust(result * factor, factor)\r\n }\r\n return result\r\n}\r\n\r\nfunction calculateMinorTickInterval(businessDelta, screenDelta, tickInterval, axisDivisionFactor) {\r\n var interval = getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor);\r\n return tickInterval || MINOR_DELIMITERS.reduce((r, d) => {\r\n var cur = businessDelta / d;\r\n return cur >= interval ? cur : r\r\n }, 0)\r\n}\r\n\r\nfunction getCalculateTickIntervalLog(skipCalculationLimits) {\r\n return function(businessDelta, screenDelta, tickInterval, forceTickInterval, axisDivisionFactor, multipliers, allowDecimals, _, __, minTickInterval) {\r\n var interval = getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor);\r\n var result = 0;\r\n var adjustInterval = getAdjustIntervalLog(skipCalculationLimits);\r\n if (!forceTickInterval || !tickInterval) {\r\n if (interval > 0) {\r\n result = adjustInterval(interval, multipliers)\r\n }\r\n if (!tickInterval || !forceTickInterval && tickInterval < result) {\r\n tickInterval = result\r\n }\r\n }\r\n if (!forceTickInterval && minTickInterval) {\r\n minTickInterval = adjustInterval(minTickInterval, multipliers);\r\n if (minTickInterval > tickInterval) {\r\n tickInterval = minTickInterval\r\n }\r\n }\r\n return tickInterval\r\n }\r\n}\r\n\r\nfunction getAdjustIntervalLog(skipCalculationLimits) {\r\n return function(interval, multipliers) {\r\n var factor = getMultiplierFactor(interval);\r\n multipliers = multipliers || LOGARITHMIC_MULTIPLIERS;\r\n if (!skipCalculationLimits && factor < 1) {\r\n factor = 1\r\n }\r\n return multipliers.concat(10 * multipliers[0]).reduce((r, m) => r < interval ? m * factor : r, 0)\r\n }\r\n}\r\n\r\nfunction getDataTimeMultipliers(gapSize) {\r\n if (gapSize && gapSize > 2) {\r\n return DATETIME_MULTIPLIERS_WITH_BIG_WEEKEND\r\n } else {\r\n return DATETIME_MULTIPLIERS\r\n }\r\n}\r\n\r\nfunction numbersReducer(interval, key) {\r\n return function(r, m) {\r\n if (!r && interval <= convertDateUnitToMilliseconds(key, m)) {\r\n r = {};\r\n r[key + \"s\"] = m\r\n }\r\n return r\r\n }\r\n}\r\n\r\nfunction yearsReducer(interval, factor) {\r\n return function(r, m) {\r\n var years = factor * m;\r\n if (!r && interval <= convertDateUnitToMilliseconds(\"year\", years) && 2.5 !== years) {\r\n r = {\r\n years: years\r\n }\r\n }\r\n return r\r\n }\r\n}\r\n\r\nfunction calculateTickIntervalDateTime(businessDelta, screenDelta, tickInterval, forceTickInterval, axisDivisionFactor, multipliers, allowDecimals, addTickCount, gapSize, minTickInterval) {\r\n if (!forceTickInterval || !tickInterval) {\r\n var result = adjustIntervalDateTime(getIntervalByFactor(businessDelta, screenDelta, axisDivisionFactor), multipliers, null, gapSize);\r\n if (!tickInterval || !forceTickInterval && dateToMilliseconds(tickInterval) <= dateToMilliseconds(result)) {\r\n tickInterval = result\r\n }\r\n }\r\n if (!forceTickInterval && minTickInterval) {\r\n minTickInterval = adjustIntervalDateTime(minTickInterval, multipliers, null, gapSize);\r\n if (dateToMilliseconds(minTickInterval) > dateToMilliseconds(tickInterval)) {\r\n tickInterval = minTickInterval\r\n }\r\n }\r\n return tickInterval\r\n}\r\n\r\nfunction adjustIntervalDateTime(interval, multipliers, _, gapSize) {\r\n var result;\r\n multipliers = multipliers || getDataTimeMultipliers(gapSize);\r\n for (var key in multipliers) {\r\n result = multipliers[key].reduce(numbersReducer(interval, key), result);\r\n if (result) {\r\n break\r\n }\r\n }\r\n if (!result) {\r\n for (var factor = 1;; factor *= 10) {\r\n result = NUMBER_MULTIPLIERS.reduce(yearsReducer(interval, factor), result);\r\n if (result) {\r\n break\r\n }\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction calculateMinorTickIntervalDateTime(businessDelta, screenDelta, tickInterval, axisDivisionFactor) {\r\n return calculateTickIntervalDateTime(businessDelta, screenDelta, tickInterval, true, axisDivisionFactor, DATETIME_MINOR_MULTIPLIERS)\r\n}\r\n\r\nfunction getTickIntervalByCustomTicks(getValue, postProcess) {\r\n return ticks => ticks ? postProcess(mathAbs(adjust(getValue(ticks[1]) - getValue(ticks[0])))) || void 0 : void 0\r\n}\r\n\r\nfunction addInterval(value, interval, isNegative) {\r\n return dateUtils.addInterval(value, interval, isNegative)\r\n}\r\n\r\nfunction addIntervalLog(log, raise) {\r\n return (value, interval, isNegative) => raise(addInterval(log(value), interval, isNegative))\r\n}\r\n\r\nfunction addIntervalDate(value, interval, isNegative) {\r\n return addInterval(value, interval, isNegative)\r\n}\r\n\r\nfunction addIntervalWithBreaks(addInterval, breaks, correctValue) {\r\n breaks = breaks.filter(b => !b.gapSize);\r\n return function(value, interval, isNegative) {\r\n var breakSize;\r\n value = addInterval(value, interval, isNegative);\r\n if (!breaks.every(item => {\r\n if (value >= addInterval(item.from, interval) && addInterval(value, interval) < item.to) {\r\n breakSize = item.to - item.from - 2 * (addInterval(item.from, interval) - item.from)\r\n }\r\n return !breakSize\r\n })) {\r\n value = correctValue(addInterval(value, breakSize), interval)\r\n }\r\n return value\r\n }\r\n}\r\n\r\nfunction calculateTicks(addInterval, correctMinValue, adjustInterval, resolveEndOnTick) {\r\n return function(data, tickInterval, endOnTick, gaps, breaks, businessDelta, screenDelta, axisDivisionFactor, generateExtraTick) {\r\n var correctTickValue = correctTickValueOnGapSize(addInterval, gaps);\r\n var min = data.min;\r\n var max = data.max;\r\n var businessViewInfo = {\r\n screenDelta: screenDelta,\r\n businessDelta: businessDelta,\r\n axisDivisionFactor: axisDivisionFactor,\r\n isSpacedMargin: data.isSpacedMargin,\r\n interval: tickInterval\r\n };\r\n var cur = correctMinValue(min, tickInterval, businessViewInfo);\r\n var ticks = [];\r\n if (null !== breaks && void 0 !== breaks && breaks.length) {\r\n addInterval = addIntervalWithBreaks(addInterval, breaks, correctMinValue)\r\n }\r\n if (cur > max) {\r\n cur = correctMinValue(min, adjustInterval(businessDelta / 2), businessViewInfo);\r\n if (cur > max) {\r\n endOnTick = true;\r\n cur = correctMinValue(min, tickInterval, businessViewInfo, endOnTick)\r\n }\r\n }\r\n cur = correctTickValue(cur);\r\n var prev;\r\n while (cur < max && cur !== prev || generateExtraTick && cur <= max) {\r\n ticks.push(cur);\r\n prev = cur;\r\n cur = correctTickValue(addInterval(cur, tickInterval))\r\n }\r\n if (endOnTick || cur - max === 0 || !isDefined(endOnTick) && resolveEndOnTick(max, cur, tickInterval, businessViewInfo)) {\r\n ticks.push(cur)\r\n }\r\n return ticks\r\n }\r\n}\r\n\r\nfunction calculateMinorTicks(updateTickInterval, addInterval, correctMinValue, correctTickValue, ceil) {\r\n return function(min, max, majorTicks, minorTickInterval, tickInterval, breaks, maxCount) {\r\n var factor = tickInterval / minorTickInterval;\r\n var lastMajor = majorTicks[majorTicks.length - 1];\r\n var firstMajor = majorTicks[0];\r\n var tickBalance = maxCount - 1;\r\n if (null !== breaks && void 0 !== breaks && breaks.length) {\r\n addInterval = addIntervalWithBreaks(addInterval, breaks, correctMinValue)\r\n }\r\n minorTickInterval = updateTickInterval(minorTickInterval, firstMajor, firstMajor, factor);\r\n if (0 === minorTickInterval) {\r\n return []\r\n }\r\n var cur = correctTickValue(correctMinValue(min, tickInterval, min), minorTickInterval);\r\n minorTickInterval = updateTickInterval(minorTickInterval, firstMajor, cur, factor);\r\n var ticks = [];\r\n while (cur < firstMajor && (!tickBalance || tickBalance > 0)) {\r\n cur >= min && ticks.push(cur);\r\n tickBalance--;\r\n cur = addInterval(cur, minorTickInterval)\r\n }\r\n var middleTicks = majorTicks.reduce((r, tick) => {\r\n tickBalance = maxCount - 1;\r\n if (null === r.prevTick) {\r\n r.prevTick = tick;\r\n return r\r\n }\r\n minorTickInterval = updateTickInterval(minorTickInterval, tick, r.prevTick, factor);\r\n var cur = correctTickValue(r.prevTick, minorTickInterval);\r\n while (cur < tick && (!tickBalance || tickBalance > 0)) {\r\n cur !== r.prevTick && r.minors.push(cur);\r\n tickBalance--;\r\n cur = addInterval(cur, minorTickInterval)\r\n }\r\n r.prevTick = tick;\r\n return r\r\n }, {\r\n prevTick: null,\r\n minors: []\r\n });\r\n ticks = ticks.concat(middleTicks.minors);\r\n var maxValue = ceil(max, tickInterval, min);\r\n minorTickInterval = updateTickInterval(minorTickInterval, maxValue, maxValue, factor);\r\n cur = correctTickValue(lastMajor, minorTickInterval);\r\n var prev;\r\n while (cur < max && cur !== prev) {\r\n ticks.push(cur);\r\n prev = cur;\r\n cur = addInterval(cur, minorTickInterval)\r\n }\r\n if (lastMajor - max !== 0 && cur - max === 0) {\r\n ticks.push(cur)\r\n }\r\n return ticks\r\n }\r\n}\r\n\r\nfunction filterTicks(ticks, breaks) {\r\n if (breaks.length) {\r\n var result = breaks.reduce((result, b) => {\r\n var tmpTicks = [];\r\n var i;\r\n for (i = result[1]; i < ticks.length; i++) {\r\n var tickValue = ticks[i];\r\n if (tickValue < b.from) {\r\n tmpTicks.push(tickValue)\r\n }\r\n if (tickValue >= b.to) {\r\n break\r\n }\r\n }\r\n return [result[0].concat(tmpTicks), i]\r\n }, [\r\n [], 0\r\n ]);\r\n return result[0].concat(ticks.slice(result[1]))\r\n }\r\n return ticks\r\n}\r\n\r\nfunction correctTickValueOnGapSize(addInterval, breaks) {\r\n return function(value) {\r\n var gapSize;\r\n if (!breaks.every(item => {\r\n if (value >= item.from && value < item.to) {\r\n gapSize = item.gapSize\r\n }\r\n return !gapSize\r\n })) {\r\n value = addInterval(value, gapSize)\r\n }\r\n return value\r\n }\r\n}\r\n\r\nfunction generator(options, getBusinessDelta, calculateTickInterval, calculateMinorTickInterval, getMajorTickIntervalByCustomTicks, getMinorTickIntervalByCustomTicks, convertTickInterval, calculateTicks, calculateMinorTicks, processScaleBreaks) {\r\n function correctUserTickInterval(tickInterval, businessDelta, limit) {\r\n if (tickInterval && businessDelta / convertTickInterval(tickInterval) >= limit + 1) {\r\n options.incidentOccurred(\"W2003\");\r\n tickInterval = void 0\r\n }\r\n return tickInterval\r\n }\r\n return function(data, screenDelta, tickInterval, forceTickInterval, customTicks, minorTickInterval, minorTickCount, breaks) {\r\n customTicks = customTicks || {};\r\n var businessDelta = getBusinessDelta(data, breaks);\r\n var result = function(customTicks) {\r\n return {\r\n tickInterval: getMajorTickIntervalByCustomTicks(customTicks.majors),\r\n ticks: customTicks.majors || [],\r\n minorTickInterval: getMinorTickIntervalByCustomTicks(customTicks.minors),\r\n minorTicks: customTicks.minors || []\r\n }\r\n }(customTicks);\r\n if (!isNaN(businessDelta)) {\r\n if (0 === businessDelta && !customTicks.majors) {\r\n result.ticks = [data.min]\r\n } else {\r\n result = function(ticks, data, businessDelta, screenDelta, tickInterval, forceTickInterval, customTicks, breaks) {\r\n if (customTicks.majors) {\r\n ticks.breaks = breaks;\r\n return ticks\r\n }\r\n var gaps = breaks.filter(b => b.gapSize);\r\n var majorTicks;\r\n tickInterval = options.skipCalculationLimits ? tickInterval : correctUserTickInterval(tickInterval, businessDelta, screenDelta);\r\n tickInterval = calculateTickInterval(businessDelta, screenDelta, tickInterval, forceTickInterval, options.axisDivisionFactor, options.numberMultipliers, options.allowDecimals, breaks.length, gaps[0] && gaps[0].gapSize.days, options.minTickInterval);\r\n if (!options.skipTickGeneration) {\r\n majorTicks = calculateTicks(data, tickInterval, options.endOnTick, gaps, breaks, businessDelta, screenDelta, options.axisDivisionFactor, options.generateExtraTick);\r\n breaks = processScaleBreaks(breaks, majorTicks, tickInterval);\r\n majorTicks = filterTicks(majorTicks, breaks);\r\n ticks.breaks = breaks;\r\n ticks.ticks = ticks.ticks.concat(majorTicks)\r\n }\r\n ticks.tickInterval = tickInterval;\r\n return ticks\r\n }(result, data, businessDelta, screenDelta, tickInterval, forceTickInterval, customTicks, breaks || []);\r\n if (!options.skipTickGeneration && businessDelta > 0) {\r\n result = function(ticks, data, businessDelta, screenDelta, minorTickInterval, minorTickCount, customTicks) {\r\n if (!options.calculateMinors) {\r\n return ticks\r\n }\r\n if (customTicks.minors) {\r\n return ticks\r\n }\r\n var minorBusinessDelta = convertTickInterval(ticks.tickInterval);\r\n var minorScreenDelta = screenDelta * minorBusinessDelta / businessDelta;\r\n var breaks = ticks.breaks;\r\n if (!minorTickInterval && minorTickCount) {\r\n minorTickInterval = getMinorTickIntervalByCustomTicks([minorBusinessDelta / (minorTickCount + 1), minorBusinessDelta / (minorTickCount + 1) * 2])\r\n } else {\r\n minorTickCount = void 0\r\n }\r\n minorTickInterval = correctUserTickInterval(minorTickInterval, minorBusinessDelta, minorScreenDelta);\r\n minorTickInterval = calculateMinorTickInterval(minorBusinessDelta, minorScreenDelta, minorTickInterval, options.minorAxisDivisionFactor);\r\n ticks.minorTicks = filterTicks(ticks.minorTicks.concat(calculateMinorTicks(data.min, data.max, ticks.ticks, minorTickInterval, ticks.tickInterval, breaks, minorTickCount)), breaks);\r\n ticks.minorTickInterval = minorTickInterval;\r\n return ticks\r\n }(result, data, businessDelta, screenDelta, minorTickInterval, minorTickCount, customTicks)\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n}\r\n\r\nfunction getBaseTick(breakValue, _ref, interval, getValue) {\r\n var [tick, insideTick] = _ref;\r\n if (!isDefined(tick) || mathAbs(getValue(breakValue) - getValue(tick)) / interval > .25) {\r\n if (isDefined(insideTick) && mathAbs(getValue(insideTick) - getValue(tick)) / interval < 2) {\r\n tick = insideTick\r\n } else if (!isDefined(tick)) {\r\n tick = breakValue\r\n }\r\n }\r\n return tick\r\n}\r\n\r\nfunction getScaleBreaksProcessor(convertTickInterval, getValue, addCorrection) {\r\n return function(breaks, ticks, tickInterval) {\r\n var interval = convertTickInterval(tickInterval);\r\n var correction = .5 * interval;\r\n return breaks.reduce((result, b) => {\r\n var breakTicks = ticks.filter(tick => tick <= b.from);\r\n var from = addCorrection(getBaseTick(b.from, [].concat(breakTicks[breakTicks.length - 1], ticks[breakTicks.length]), interval, getValue), correction);\r\n breakTicks = ticks.filter(tick => tick >= b.to);\r\n var to = addCorrection(getBaseTick(b.to, [].concat(breakTicks[0], ticks[ticks.length - breakTicks.length - 1]), interval, getValue), -correction);\r\n if (getValue(to) - getValue(from) < interval && !b.gapSize) {\r\n return result\r\n }\r\n if (b.gapSize) {\r\n return result.concat([b])\r\n }\r\n return result.concat([{\r\n from: from,\r\n to: to,\r\n cumulativeWidth: b.cumulativeWidth\r\n }])\r\n }, [])\r\n }\r\n}\r\n\r\nfunction numericGenerator(options) {\r\n var floor = correctValueByInterval(getValue, mathFloor, getValue);\r\n var ceil = correctValueByInterval(getValue, mathCeil, getValue);\r\n var calculateTickIntervalByCustomTicks = getTickIntervalByCustomTicks(getValue, getValue);\r\n return generator(options, getBusinessDelta, calculateTickInterval, calculateMinorTickInterval, calculateTickIntervalByCustomTicks, calculateTickIntervalByCustomTicks, getValue, calculateTicks(addInterval, correctMinValueByEndOnTick(floor, ceil, resolveEndOnTick, options.endOnTick), adjustInterval, resolveEndOnTick), calculateMinorTicks(getValue, addInterval, floor, addInterval, getValue), getScaleBreaksProcessor(getValue, getValue, (value, correction) => value + correction))\r\n}\r\nvar correctValueByIntervalLog = (post, getRound, getValue) => (value, interval) => sign(value) * adjust(post(getRound(value)(adjust(getValue(value) / interval)) * interval));\r\n\r\nfunction logarithmicGenerator(options) {\r\n var base = options.logBase;\r\n var raise = raiseTo(base, options.allowNegatives, options.linearThreshold);\r\n var log = getLogValue(base, options.allowNegatives, options.linearThreshold);\r\n var absLog = logAbsValue(base);\r\n var absRaise = mathRaiseTo(base);\r\n var floor = correctValueByIntervalLog(absRaise, value => value < 0 ? mathCeil : mathFloor, absLog);\r\n var ceil = correctValueByIntervalLog(absRaise, value => value < 0 ? mathFloor : mathCeil, absLog);\r\n var ceilNumber = correctValueByInterval(getValue, mathCeil, getValue);\r\n return generator(options, getBusinessDeltaLog(base, options.allowNegatives, options.linearThreshold), getCalculateTickIntervalLog(options.skipCalculationLimits), calculateMinorTickInterval, getTickIntervalByCustomTicks(log, getValue), getTickIntervalByCustomTicks(getValue, getValue), getValue, calculateTicks(addIntervalLog(log, raise), correctMinValueByEndOnTick(floor, ceil, resolveEndOnTickLog(base), options.endOnTick), getAdjustIntervalLog(options.skipCalculationLimits), resolveEndOnTickLog(base)), calculateMinorTicks((_, tick, prevTick, factor) => Math.max(Math.abs(tick), Math.abs(prevTick)) / factor, addInterval, floor, ceilNumber, ceil), getScaleBreaksProcessor(getValue, log, (value, correction) => raise(log(value) + correction)))\r\n}\r\n\r\nfunction dateGenerator(options) {\r\n function floor(value, interval) {\r\n var floorNumber = correctValueByInterval(getValue, mathFloor, getValue);\r\n var intervalObject = isString(interval) ? dateUtils.getDateIntervalByString(interval.toLowerCase()) : interval;\r\n var divider = dateToMilliseconds(interval);\r\n if (intervalObject.days % 7 === 0 || interval.quarters) {\r\n intervalObject = adjustIntervalDateTime(divider)\r\n }\r\n var correctDateWithUnitBeginning = v => dateUtils.correctDateWithUnitBeginning(v, intervalObject, null, options.firstDayOfWeek);\r\n var floorAtStartDate = v => new Date(mathFloor((v.getTime() - v.getTimezoneOffset() * MINUTE) / divider) * divider + v.getTimezoneOffset() * MINUTE);\r\n value = correctDateWithUnitBeginning(value);\r\n if (\"years\" in intervalObject) {\r\n value.setFullYear(floorNumber(value.getFullYear(), intervalObject.years))\r\n } else if (\"quarters\" in intervalObject) {\r\n value = correctDateWithUnitBeginning(floorAtStartDate(value))\r\n } else if (\"months\" in intervalObject) {\r\n value.setMonth(floorNumber(value.getMonth(), intervalObject.months))\r\n } else if (\"weeks\" in intervalObject || \"days\" in intervalObject) {\r\n value = correctDateWithUnitBeginning(floorAtStartDate(value))\r\n } else if (\"hours\" in intervalObject) {\r\n value.setHours(floorNumber(value.getHours(), intervalObject.hours))\r\n } else if (\"minutes\" in intervalObject) {\r\n value.setMinutes(floorNumber(value.getMinutes(), intervalObject.minutes))\r\n } else if (\"seconds\" in intervalObject) {\r\n value.setSeconds(floorNumber(value.getSeconds(), intervalObject.seconds))\r\n } else if (\"milliseconds\" in intervalObject) {\r\n value = floorAtStartDate(value)\r\n }\r\n return value\r\n }\r\n var calculateTickIntervalByCustomTicks = getTickIntervalByCustomTicks(getValue, dateUtils.convertMillisecondsToDateUnits);\r\n return generator(options, getBusinessDelta, calculateTickIntervalDateTime, calculateMinorTickIntervalDateTime, calculateTickIntervalByCustomTicks, calculateTickIntervalByCustomTicks, dateToMilliseconds, calculateTicks(addIntervalDate, correctMinValueByEndOnTick(floor, (function(value, interval) {\r\n var newValue = floor(value, interval);\r\n while (value - newValue > 0) {\r\n newValue = addIntervalDate(newValue, interval)\r\n }\r\n return newValue\r\n }), resolveEndOnTickDate, options.endOnTick), adjustIntervalDateTime, resolveEndOnTickDate), calculateMinorTicks(getValue, addIntervalDate, floor, addIntervalDate, getValue), getScaleBreaksProcessor(dateToMilliseconds, getValue, (value, correction) => new Date(value.getTime() + correction)))\r\n}\r\nexport var tickGenerator = function(options) {\r\n var result;\r\n if (options.rangeIsEmpty) {\r\n result = dummyGenerator(options)\r\n } else if (\"discrete\" === options.axisType) {\r\n result = discreteGenerator(options)\r\n } else if (\"logarithmic\" === options.axisType) {\r\n result = logarithmicGenerator(options)\r\n } else if (\"datetime\" === options.dataType) {\r\n result = dateGenerator(options)\r\n } else {\r\n result = numericGenerator(options)\r\n }\r\n return result\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/category_translator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nvar round = Math.round;\r\n\r\nfunction getValue(value) {\r\n return value\r\n}\r\nexport default {\r\n translate: function(category, directionOffset) {\r\n var canvasOptions = this._canvasOptions;\r\n var categoryIndex = this._categoriesToPoints[null === category || void 0 === category ? void 0 : category.valueOf()];\r\n var specialValue = this.translateSpecialCase(category);\r\n var startPointIndex = canvasOptions.startPointIndex || 0;\r\n var stickInterval = this._options.stick ? 0 : .5;\r\n if (isDefined(specialValue)) {\r\n return round(specialValue)\r\n }\r\n if (!categoryIndex && 0 !== categoryIndex) {\r\n return null\r\n }\r\n directionOffset = directionOffset || 0;\r\n var stickDelta = categoryIndex + stickInterval - startPointIndex + .5 * directionOffset;\r\n return round(this._calculateProjection(canvasOptions.interval * stickDelta))\r\n },\r\n getInterval: function() {\r\n return this._canvasOptions.interval\r\n },\r\n getEventScale: function(zoomEvent) {\r\n var scale = zoomEvent.deltaScale || 1;\r\n return 1 - (1 - scale) / (.75 + this.visibleCategories.length / this._categories.length)\r\n },\r\n zoom: function(translate, scale) {\r\n var categories = this._categories;\r\n var canvasOptions = this._canvasOptions;\r\n var stick = this._options.stick;\r\n var invert = canvasOptions.invert;\r\n var interval = canvasOptions.interval * scale;\r\n var translateCategories = translate / interval;\r\n var visibleCount = (this.visibleCategories || []).length;\r\n var startCategoryIndex = parseInt((canvasOptions.startPointIndex || 0) + translateCategories + .5);\r\n var categoriesLength = parseInt(adjust(canvasOptions.canvasLength / interval) + (stick ? 1 : 0)) || 1;\r\n var endCategoryIndex;\r\n if (invert) {\r\n startCategoryIndex = parseInt((canvasOptions.startPointIndex || 0) + visibleCount - translateCategories + .5) - categoriesLength\r\n }\r\n if (startCategoryIndex < 0) {\r\n startCategoryIndex = 0\r\n }\r\n endCategoryIndex = startCategoryIndex + categoriesLength;\r\n if (endCategoryIndex > categories.length) {\r\n endCategoryIndex = categories.length;\r\n startCategoryIndex = endCategoryIndex - categoriesLength;\r\n if (startCategoryIndex < 0) {\r\n startCategoryIndex = 0\r\n }\r\n }\r\n var newVisibleCategories = categories.slice(parseInt(startCategoryIndex), parseInt(endCategoryIndex));\r\n var newInterval = this._getDiscreteInterval(newVisibleCategories.length, canvasOptions);\r\n scale = newInterval / canvasOptions.interval;\r\n translate = this.translate(!invert ? newVisibleCategories[0] : newVisibleCategories[newVisibleCategories.length - 1]) * scale - (canvasOptions.startPoint + (stick ? 0 : newInterval / 2));\r\n return {\r\n min: newVisibleCategories[0],\r\n max: newVisibleCategories[newVisibleCategories.length - 1],\r\n translate: translate,\r\n scale: scale\r\n }\r\n },\r\n getMinScale: function(zoom) {\r\n var canvasOptions = this._canvasOptions;\r\n var categoriesLength = (this.visibleCategories || this._categories).length;\r\n categoriesLength += (parseInt(.1 * categoriesLength) || 1) * (zoom ? -2 : 2);\r\n return canvasOptions.canvasLength / (Math.max(categoriesLength, 1) * canvasOptions.interval)\r\n },\r\n getScale: function(min, max) {\r\n var canvasOptions = this._canvasOptions;\r\n var visibleArea = this.getCanvasVisibleArea();\r\n var stickOffset = !this._options.stick && 1;\r\n var minPoint = isDefined(min) ? this.translate(min, -stickOffset) : null;\r\n var maxPoint = isDefined(max) ? this.translate(max, +stickOffset) : null;\r\n if (null === minPoint) {\r\n minPoint = canvasOptions.invert ? visibleArea.max : visibleArea.min\r\n }\r\n if (null === maxPoint) {\r\n maxPoint = canvasOptions.invert ? visibleArea.min : visibleArea.max\r\n }\r\n return this.canvasLength / Math.abs(maxPoint - minPoint)\r\n },\r\n isValid: function(value) {\r\n return isDefined(value) ? this._categoriesToPoints[value.valueOf()] >= 0 : false\r\n },\r\n getCorrectValue: getValue,\r\n to: function(value, direction) {\r\n var canvasOptions = this._canvasOptions;\r\n var categoryIndex = this._categoriesToPoints[null === value || void 0 === value ? void 0 : value.valueOf()];\r\n var startPointIndex = canvasOptions.startPointIndex || 0;\r\n var stickDelta = categoryIndex + (this._options.stick ? 0 : .5) - startPointIndex + (this._businessRange.invert ? -1 : 1) * direction * .5;\r\n return round(this._calculateProjection(canvasOptions.interval * stickDelta))\r\n },\r\n from: function(position) {\r\n var direction = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n var canvasOptions = this._canvasOptions;\r\n var startPoint = canvasOptions.startPoint;\r\n var categories = this.visibleCategories || this._categories;\r\n var categoriesLength = categories.length;\r\n var stickInterval = this._options.stick ? .5 : 0;\r\n var result = round((position - startPoint) / canvasOptions.interval + stickInterval - .5 - .5 * direction);\r\n if (result >= categoriesLength) {\r\n result = categoriesLength - 1\r\n }\r\n if (result < 0) {\r\n result = 0\r\n }\r\n if (canvasOptions.invert) {\r\n result = categoriesLength - result - 1\r\n }\r\n return categories[result]\r\n },\r\n _add: function() {\r\n return NaN\r\n },\r\n toValue: getValue,\r\n isValueProlonged: true,\r\n getRangeByMinZoomValue(minZoom, visualRange) {\r\n var categories = this._categories;\r\n var minVisibleIndex = categories.indexOf(visualRange.minVisible);\r\n var maxVisibleIndex = categories.indexOf(visualRange.maxVisible);\r\n var startIndex = minVisibleIndex + minZoom - 1;\r\n var endIndex = maxVisibleIndex - minZoom + 1;\r\n if (categories[startIndex]) {\r\n return [visualRange.minVisible, categories[startIndex]]\r\n } else {\r\n return [categories[endIndex], visualRange.maxVisible]\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/interval_translator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric as isNumber,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nvar floor = Math.floor;\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nexport default {\r\n _intervalize: function(value, interval) {\r\n if (!isDefined(value)) {\r\n return\r\n }\r\n if (\"datetime\" === this._businessRange.dataType) {\r\n if (isNumber(value)) {\r\n value = new Date(value)\r\n } else {\r\n value = new Date(value.getTime())\r\n }\r\n value = dateUtils.correctDateWithUnitBeginning(value, interval, null, this._options.firstDayOfWeek)\r\n } else {\r\n value = adjust(floor(adjust(value / interval)) * interval, interval)\r\n }\r\n return value\r\n },\r\n translate: function(bp, direction, interval) {\r\n var specialValue = this.translateSpecialCase(bp);\r\n if (isDefined(specialValue)) {\r\n return Math.round(specialValue)\r\n }\r\n interval = interval || this._options.interval;\r\n if (!this.isValid(bp, interval)) {\r\n return null\r\n }\r\n return this.to(bp, direction, interval)\r\n },\r\n getInterval: function() {\r\n return Math.round(this._canvasOptions.ratioOfCanvasRange * (this._businessRange.interval || Math.abs(this._canvasOptions.rangeMax - this._canvasOptions.rangeMin)))\r\n },\r\n zoom: function() {},\r\n getMinScale: function() {},\r\n getScale: function() {},\r\n _parse: function(value) {\r\n return \"datetime\" === this._businessRange.dataType ? new Date(value) : Number(value)\r\n },\r\n fromValue: function(value) {\r\n return this._parse(value)\r\n },\r\n toValue: function(value) {\r\n return this._parse(value)\r\n },\r\n isValid: function(value, interval) {\r\n var co = this._canvasOptions;\r\n var rangeMin = co.rangeMin;\r\n var rangeMax = co.rangeMax;\r\n interval = interval || this._options.interval;\r\n if (null === value || isNaN(value)) {\r\n return false\r\n }\r\n value = \"datetime\" === this._businessRange.dataType && isNumber(value) ? new Date(value) : value;\r\n if (interval !== this._options.interval) {\r\n rangeMin = this._intervalize(rangeMin, interval);\r\n rangeMax = this._intervalize(rangeMax, interval)\r\n }\r\n if (value.valueOf() < rangeMin || value.valueOf() >= dateUtils.addInterval(rangeMax, interval)) {\r\n return false\r\n }\r\n return true\r\n },\r\n to: function(bp, direction, interval) {\r\n interval = interval || this._options.interval;\r\n var v1 = this._intervalize(bp, interval);\r\n var v2 = dateUtils.addInterval(v1, interval);\r\n var res = this._to(v1);\r\n var p2 = this._to(v2);\r\n if (!direction) {\r\n res = floor((res + p2) / 2)\r\n } else if (direction > 0) {\r\n res = p2\r\n }\r\n return res\r\n },\r\n _to: function(value) {\r\n var co = this._canvasOptions;\r\n var rMin = co.rangeMinVisible;\r\n var rMax = co.rangeMaxVisible;\r\n var offset = value - rMin;\r\n if (value < rMin) {\r\n offset = 0\r\n } else if (value > rMax) {\r\n offset = dateUtils.addInterval(rMax, this._options.interval) - rMin\r\n }\r\n return this._conversionValue(this._calculateProjection(offset * this._canvasOptions.ratioOfCanvasRange))\r\n },\r\n from: function(position, direction) {\r\n var origInterval = this._options.interval;\r\n var interval = origInterval;\r\n var co = this._canvasOptions;\r\n var rMin = co.rangeMinVisible;\r\n var rMax = co.rangeMaxVisible;\r\n var value;\r\n if (\"datetime\" === this._businessRange.dataType) {\r\n interval = dateUtils.dateToMilliseconds(origInterval)\r\n }\r\n value = this._calculateUnProjection((position - this._canvasOptions.startPoint) / this._canvasOptions.ratioOfCanvasRange);\r\n value = this._intervalize(dateUtils.addInterval(value, interval / 2, direction > 0), origInterval);\r\n if (value < rMin) {\r\n value = rMin\r\n } else if (value > rMax) {\r\n value = rMax\r\n }\r\n return value\r\n },\r\n _add: function() {\r\n return NaN\r\n },\r\n isValueProlonged: true\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/datetime_translator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../core/utils/date\";\r\n\r\nfunction parse(value) {\r\n return null !== value ? new Date(value) : value\r\n}\r\nexport default {\r\n fromValue: parse,\r\n toValue: parse,\r\n _add: dateUtils.addDateInterval,\r\n convert: dateUtils.dateToMilliseconds\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/logarithmic_translator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n raiseToExt as raiseTo,\r\n getLogExt as getLog\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nexport default {\r\n fromValue: function(value) {\r\n return null !== value ? getLog(value, this._canvasOptions.base, this._businessRange.allowNegatives, this._businessRange.linearThreshold) : value\r\n },\r\n toValue: function(value) {\r\n return null !== value ? raiseTo(value, this._canvasOptions.base, this._businessRange.allowNegatives, this._businessRange.linearThreshold) : value\r\n },\r\n getMinBarSize: function(minBarSize) {\r\n var visibleArea = this.getCanvasVisibleArea();\r\n var minValue = this.from(visibleArea.min + minBarSize);\r\n var canvasOptions = this._canvasOptions;\r\n var startValue = this.fromValue(this.from(visibleArea.min));\r\n var endValue = this.fromValue(null !== minValue && void 0 !== minValue ? minValue : this.from(visibleArea.max));\r\n var value = Math.abs(startValue - endValue);\r\n return Math.pow(canvasOptions.base, value)\r\n },\r\n checkMinBarSize: function(initialValue, minShownValue, stackValue) {\r\n var canvasOptions = this._canvasOptions;\r\n var prevValue = stackValue ? stackValue - initialValue : 0;\r\n var baseMethod = this.constructor.prototype.checkMinBarSize;\r\n var minBarSize;\r\n var updateValue;\r\n if (isDefined(minShownValue) && prevValue > 0) {\r\n minBarSize = baseMethod(this.fromValue(stackValue / prevValue), this.fromValue(minShownValue) - canvasOptions.rangeMinVisible);\r\n updateValue = Math.pow(canvasOptions.base, this.fromValue(prevValue) + minBarSize) - prevValue\r\n } else {\r\n updateValue = baseMethod(initialValue, minShownValue)\r\n }\r\n return updateValue\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/translators/translator2d.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n Range\r\n} from \"./range\";\r\nimport categoryTranslator from \"./category_translator\";\r\nimport intervalTranslator from \"./interval_translator\";\r\nimport datetimeTranslator from \"./datetime_translator\";\r\nimport logarithmicTranslator from \"./logarithmic_translator\";\r\nimport {\r\n getLogExt as getLog,\r\n getPower,\r\n raiseToExt,\r\n getCategoriesInfo\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined,\r\n isDate\r\n} from \"../../core/utils/type\";\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nvar _abs = Math.abs;\r\nvar CANVAS_PROP = [\"width\", \"height\", \"left\", \"top\", \"bottom\", \"right\"];\r\nvar dummyTranslator = {\r\n to(value) {\r\n var coord = this._canvasOptions.startPoint + (this._options.conversionValue ? value : Math.round(value));\r\n return coord > this._canvasOptions.endPoint ? this._canvasOptions.endPoint : coord\r\n },\r\n from(value) {\r\n return value - this._canvasOptions.startPoint\r\n }\r\n};\r\nvar validateCanvas = function(canvas) {\r\n each(CANVAS_PROP, (function(_, prop) {\r\n canvas[prop] = parseInt(canvas[prop]) || 0\r\n }));\r\n return canvas\r\n};\r\nvar makeCategoriesToPoints = function(categories) {\r\n var categoriesToPoints = {};\r\n categories.forEach((function(item, i) {\r\n categoriesToPoints[item.valueOf()] = i\r\n }));\r\n return categoriesToPoints\r\n};\r\nvar validateBusinessRange = function(businessRange) {\r\n if (!(businessRange instanceof Range)) {\r\n businessRange = new Range(businessRange)\r\n }\r\n\r\n function validate(valueSelector, baseValueSelector) {\r\n if (!isDefined(businessRange[valueSelector]) && isDefined(businessRange[baseValueSelector])) {\r\n businessRange[valueSelector] = businessRange[baseValueSelector]\r\n }\r\n }\r\n validate(\"minVisible\", \"min\");\r\n validate(\"maxVisible\", \"max\");\r\n return businessRange\r\n};\r\n\r\nfunction prepareBreaks(breaks, range) {\r\n var transform = \"logarithmic\" === range.axisType ? function(value) {\r\n return getLog(value, range.base)\r\n } : function(value) {\r\n return value\r\n };\r\n var array = [];\r\n var br;\r\n var transformFrom;\r\n var transformTo;\r\n var i;\r\n var length = breaks.length;\r\n var sum = 0;\r\n for (i = 0; i < length; i++) {\r\n br = breaks[i];\r\n transformFrom = transform(br.from);\r\n transformTo = transform(br.to);\r\n sum += transformTo - transformFrom;\r\n array.push({\r\n trFrom: transformFrom,\r\n trTo: transformTo,\r\n from: br.from,\r\n to: br.to,\r\n length: sum,\r\n cumulativeWidth: br.cumulativeWidth\r\n })\r\n }\r\n return array\r\n}\r\n\r\nfunction getCanvasBounds(range) {\r\n var min = range.min;\r\n var max = range.max;\r\n var minVisible = range.minVisible;\r\n var maxVisible = range.maxVisible;\r\n var isLogarithmic = \"logarithmic\" === range.axisType;\r\n if (isLogarithmic) {\r\n maxVisible = getLog(maxVisible, range.base, range.allowNegatives, range.linearThreshold);\r\n minVisible = getLog(minVisible, range.base, range.allowNegatives, range.linearThreshold);\r\n min = getLog(min, range.base, range.allowNegatives, range.linearThreshold);\r\n max = getLog(max, range.base, range.allowNegatives, range.linearThreshold)\r\n }\r\n return {\r\n base: range.base,\r\n rangeMin: min,\r\n rangeMax: max,\r\n rangeMinVisible: minVisible,\r\n rangeMaxVisible: maxVisible\r\n }\r\n}\r\n\r\nfunction getCheckingMethodsAboutBreaks(inverted) {\r\n return {\r\n isStartSide: !inverted ? function(pos, breaks, start, end) {\r\n return pos < breaks[0][start]\r\n } : function(pos, breaks, start, end) {\r\n return pos <= breaks[breaks.length - 1][end]\r\n },\r\n isEndSide: !inverted ? function(pos, breaks, start, end) {\r\n return pos >= breaks[breaks.length - 1][end]\r\n } : function(pos, breaks, start, end) {\r\n return pos > breaks[0][start]\r\n },\r\n isInBreak: !inverted ? function(pos, br, start, end) {\r\n return pos >= br[start] && pos < br[end]\r\n } : function(pos, br, start, end) {\r\n return pos > br[end] && pos <= br[start]\r\n },\r\n isBetweenBreaks: !inverted ? function(pos, br, prevBreak, start, end) {\r\n return pos < br[start] && pos >= prevBreak[end]\r\n } : function(pos, br, prevBreak, start, end) {\r\n return pos >= br[end] && pos < prevBreak[start]\r\n },\r\n getLength: !inverted ? function(br) {\r\n return br.length\r\n } : function(br, lastBreak) {\r\n return lastBreak.length - br.length\r\n },\r\n getBreaksSize: !inverted ? function(br) {\r\n return br.cumulativeWidth\r\n } : function(br, lastBreak) {\r\n return lastBreak.cumulativeWidth - br.cumulativeWidth\r\n }\r\n }\r\n}\r\nvar _Translator2d = function(businessRange, canvas, options) {\r\n this.update(businessRange, canvas, options)\r\n};\r\n_Translator2d.prototype = {\r\n constructor: _Translator2d,\r\n reinit: function() {\r\n var that = this;\r\n var options = that._options;\r\n var range = that._businessRange;\r\n var categories = range.categories || [];\r\n var script = {};\r\n var canvasOptions = that._prepareCanvasOptions();\r\n var visibleCategories = getCategoriesInfo(categories, range.minVisible, range.maxVisible).categories;\r\n var categoriesLength = visibleCategories.length;\r\n if (range.isEmpty()) {\r\n script = dummyTranslator\r\n } else {\r\n switch (range.axisType) {\r\n case \"logarithmic\":\r\n script = logarithmicTranslator;\r\n break;\r\n case \"semidiscrete\":\r\n script = intervalTranslator;\r\n canvasOptions.ratioOfCanvasRange = canvasOptions.canvasLength / (dateUtils.addInterval(canvasOptions.rangeMaxVisible, options.interval) - canvasOptions.rangeMinVisible);\r\n break;\r\n case \"discrete\":\r\n script = categoryTranslator;\r\n that._categories = categories;\r\n canvasOptions.interval = that._getDiscreteInterval(options.addSpiderCategory ? categoriesLength + 1 : categoriesLength, canvasOptions);\r\n that._categoriesToPoints = makeCategoriesToPoints(categories);\r\n if (categoriesLength) {\r\n canvasOptions.startPointIndex = that._categoriesToPoints[visibleCategories[0].valueOf()];\r\n that.visibleCategories = visibleCategories\r\n }\r\n break;\r\n default:\r\n if (\"datetime\" === range.dataType) {\r\n script = datetimeTranslator\r\n }\r\n }\r\n }(that._oldMethods || []).forEach((function(methodName) {\r\n delete that[methodName]\r\n }));\r\n that._oldMethods = Object.keys(script);\r\n extend(that, script);\r\n that._conversionValue = options.conversionValue ? function(value) {\r\n return value\r\n } : function(value) {\r\n return Math.round(value)\r\n };\r\n that.sc = {};\r\n that._checkingMethodsAboutBreaks = [getCheckingMethodsAboutBreaks(false), getCheckingMethodsAboutBreaks(that.isInverted())];\r\n that._translateBreaks();\r\n that._calculateSpecialValues()\r\n },\r\n _translateBreaks: function() {\r\n var breaks = this._breaks;\r\n var size = this._options.breaksSize;\r\n var i;\r\n var b;\r\n var end;\r\n var length;\r\n if (void 0 === breaks) {\r\n return\r\n }\r\n for (i = 0, length = breaks.length; i < length; i++) {\r\n b = breaks[i];\r\n end = this.translate(b.to);\r\n b.end = end;\r\n b.start = !b.gapSize ? !this.isInverted() ? end - size : end + size : end\r\n }\r\n },\r\n _checkValueAboutBreaks: function(breaks, pos, start, end, methods) {\r\n var i;\r\n var length;\r\n var prop = {\r\n length: 0,\r\n breaksSize: void 0,\r\n inBreak: false\r\n };\r\n var br;\r\n var prevBreak;\r\n var lastBreak = breaks[breaks.length - 1];\r\n if (methods.isStartSide(pos, breaks, start, end)) {\r\n return prop\r\n } else if (methods.isEndSide(pos, breaks, start, end)) {\r\n return {\r\n length: lastBreak.length,\r\n breaksSize: lastBreak.cumulativeWidth,\r\n inBreak: false\r\n }\r\n }\r\n for (i = 0, length = breaks.length; i < length; i++) {\r\n br = breaks[i];\r\n prevBreak = breaks[i - 1];\r\n if (methods.isInBreak(pos, br, start, end)) {\r\n prop.inBreak = true;\r\n prop.break = br;\r\n break\r\n }\r\n if (prevBreak && methods.isBetweenBreaks(pos, br, prevBreak, start, end)) {\r\n prop = {\r\n length: methods.getLength(prevBreak, lastBreak),\r\n breaksSize: methods.getBreaksSize(prevBreak, lastBreak),\r\n inBreak: false\r\n };\r\n break\r\n }\r\n }\r\n return prop\r\n },\r\n isInverted: function() {\r\n return !(this._options.isHorizontal ^ this._businessRange.invert)\r\n },\r\n _getDiscreteInterval: function(categoriesLength, canvasOptions) {\r\n var correctedCategoriesCount = categoriesLength - (this._options.stick ? 1 : 0);\r\n return correctedCategoriesCount > 0 ? canvasOptions.canvasLength / correctedCategoriesCount : canvasOptions.canvasLength\r\n },\r\n _prepareCanvasOptions() {\r\n var businessRange = this._businessRange;\r\n var canvasOptions = this._canvasOptions = getCanvasBounds(businessRange);\r\n var canvas = this._canvas;\r\n var breaks = this._breaks;\r\n var length;\r\n canvasOptions.startPadding = canvas.startPadding || 0;\r\n canvasOptions.endPadding = canvas.endPadding || 0;\r\n if (this._options.isHorizontal) {\r\n canvasOptions.startPoint = canvas.left + canvasOptions.startPadding;\r\n length = canvas.width;\r\n canvasOptions.endPoint = canvas.width - canvas.right - canvasOptions.endPadding;\r\n canvasOptions.invert = businessRange.invert\r\n } else {\r\n canvasOptions.startPoint = canvas.top + canvasOptions.startPadding;\r\n length = canvas.height;\r\n canvasOptions.endPoint = canvas.height - canvas.bottom - canvasOptions.endPadding;\r\n canvasOptions.invert = !businessRange.invert\r\n }\r\n this.canvasLength = canvasOptions.canvasLength = canvasOptions.endPoint - canvasOptions.startPoint;\r\n canvasOptions.rangeDoubleError = Math.pow(10, getPower(canvasOptions.rangeMax - canvasOptions.rangeMin) - getPower(length) - 2);\r\n canvasOptions.ratioOfCanvasRange = canvasOptions.canvasLength / (canvasOptions.rangeMaxVisible - canvasOptions.rangeMinVisible);\r\n if (void 0 !== breaks) {\r\n canvasOptions.ratioOfCanvasRange = (canvasOptions.canvasLength - breaks[breaks.length - 1].cumulativeWidth) / (canvasOptions.rangeMaxVisible - canvasOptions.rangeMinVisible - breaks[breaks.length - 1].length)\r\n }\r\n return canvasOptions\r\n },\r\n updateCanvas: function(canvas) {\r\n this._canvas = validateCanvas(canvas);\r\n this.reinit()\r\n },\r\n updateBusinessRange: function(businessRange) {\r\n var breaks = businessRange.breaks || [];\r\n this._userBreaks = businessRange.userBreaks || [];\r\n this._businessRange = validateBusinessRange(businessRange);\r\n this._breaks = breaks.length ? prepareBreaks(breaks, this._businessRange) : void 0;\r\n this.reinit()\r\n },\r\n update: function(businessRange, canvas, options) {\r\n this._options = extend(this._options || {}, options);\r\n this._canvas = validateCanvas(canvas);\r\n this.updateBusinessRange(businessRange)\r\n },\r\n getBusinessRange: function() {\r\n return this._businessRange\r\n },\r\n getEventScale: function(zoomEvent) {\r\n return zoomEvent.deltaScale || 1\r\n },\r\n getCanvasVisibleArea: function() {\r\n return {\r\n min: this._canvasOptions.startPoint,\r\n max: this._canvasOptions.endPoint\r\n }\r\n },\r\n _calculateSpecialValues: function() {\r\n var canvasOptions = this._canvasOptions;\r\n var startPoint = canvasOptions.startPoint - canvasOptions.startPadding;\r\n var endPoint = canvasOptions.endPoint + canvasOptions.endPadding;\r\n var range = this._businessRange;\r\n var minVisible = range.minVisible;\r\n var maxVisible = range.maxVisible;\r\n var canvas_position_center_middle = startPoint + canvasOptions.canvasLength / 2;\r\n var canvas_position_default;\r\n if (minVisible < 0 && maxVisible > 0 && minVisible !== maxVisible) {\r\n canvas_position_default = this.translate(0, 1)\r\n }\r\n if (!isDefined(canvas_position_default)) {\r\n var invert = range.invert ^ (minVisible < 0 && maxVisible <= 0);\r\n if (this._options.isHorizontal) {\r\n canvas_position_default = invert ? endPoint : startPoint\r\n } else {\r\n canvas_position_default = invert ? startPoint : endPoint\r\n }\r\n }\r\n this.sc = {\r\n canvas_position_default: canvas_position_default,\r\n canvas_position_left: startPoint,\r\n canvas_position_top: startPoint,\r\n canvas_position_center: canvas_position_center_middle,\r\n canvas_position_middle: canvas_position_center_middle,\r\n canvas_position_right: endPoint,\r\n canvas_position_bottom: endPoint,\r\n canvas_position_start: canvasOptions.invert ? endPoint : startPoint,\r\n canvas_position_end: canvasOptions.invert ? startPoint : endPoint\r\n }\r\n },\r\n translateSpecialCase(value) {\r\n return this.sc[value]\r\n },\r\n _calculateProjection: function(distance) {\r\n var canvasOptions = this._canvasOptions;\r\n return canvasOptions.invert ? canvasOptions.endPoint - distance : canvasOptions.startPoint + distance\r\n },\r\n _calculateUnProjection: function(distance) {\r\n var canvasOptions = this._canvasOptions;\r\n \"datetime\" === this._businessRange.dataType && (distance = Math.round(distance));\r\n return canvasOptions.invert ? canvasOptions.rangeMaxVisible.valueOf() - distance : canvasOptions.rangeMinVisible.valueOf() + distance\r\n },\r\n getMinBarSize: function(minBarSize) {\r\n var visibleArea = this.getCanvasVisibleArea();\r\n var minValue = this.from(visibleArea.min + minBarSize);\r\n return _abs(this.from(visibleArea.min) - (!isDefined(minValue) ? this.from(visibleArea.max) : minValue))\r\n },\r\n checkMinBarSize: function(value, minShownValue) {\r\n return _abs(value) < minShownValue ? value >= 0 ? minShownValue : -minShownValue : value\r\n },\r\n translate(bp, direction) {\r\n var specialValue = this.translateSpecialCase(bp);\r\n if (isDefined(specialValue)) {\r\n return Math.round(specialValue)\r\n }\r\n if (isNaN(bp)) {\r\n return null\r\n }\r\n return this.to(bp, direction)\r\n },\r\n getInterval: function(interval) {\r\n var _interval;\r\n var canvasOptions = this._canvasOptions;\r\n interval = null !== (_interval = interval) && void 0 !== _interval ? _interval : this._businessRange.interval;\r\n if (interval) {\r\n return Math.round(canvasOptions.ratioOfCanvasRange * interval)\r\n }\r\n return Math.round(canvasOptions.endPoint - canvasOptions.startPoint)\r\n },\r\n zoom(translate, scale, wholeRange) {\r\n var canvasOptions = this._canvasOptions;\r\n if (canvasOptions.rangeMinVisible.valueOf() === canvasOptions.rangeMaxVisible.valueOf() && 0 !== translate) {\r\n return this.zoomZeroLengthRange(translate, scale)\r\n }\r\n var startPoint = canvasOptions.startPoint;\r\n var endPoint = canvasOptions.endPoint;\r\n var isInverted = this.isInverted();\r\n var newStart = (startPoint + translate) / scale;\r\n var newEnd = (endPoint + translate) / scale;\r\n wholeRange = wholeRange || {};\r\n var minPoint = this.to(isInverted ? wholeRange.endValue : wholeRange.startValue);\r\n var maxPoint = this.to(isInverted ? wholeRange.startValue : wholeRange.endValue);\r\n var min;\r\n var max;\r\n if (minPoint > newStart) {\r\n newEnd -= newStart - minPoint;\r\n newStart = minPoint;\r\n min = isInverted ? wholeRange.endValue : wholeRange.startValue\r\n }\r\n if (maxPoint < newEnd) {\r\n newStart -= newEnd - maxPoint;\r\n newEnd = maxPoint;\r\n max = isInverted ? wholeRange.startValue : wholeRange.endValue\r\n }\r\n if (maxPoint - minPoint < newEnd - newStart) {\r\n newStart = minPoint;\r\n newEnd = maxPoint\r\n }\r\n translate = (endPoint - startPoint) * newStart / (newEnd - newStart) - startPoint;\r\n scale = (startPoint + translate) / newStart || 1;\r\n min = isDefined(min) ? min : adjust(this.from(newStart, 1));\r\n max = isDefined(max) ? max : adjust(this.from(newEnd, -1));\r\n if (scale <= 1) {\r\n min = this._correctValueAboutBreaks(min, 1 === scale ? translate : -1);\r\n max = this._correctValueAboutBreaks(max, 1 === scale ? translate : 1)\r\n }\r\n if (min > max) {\r\n min = min > wholeRange.endValue ? wholeRange.endValue : min;\r\n max = max < wholeRange.startValue ? wholeRange.startValue : max\r\n } else {\r\n min = min < wholeRange.startValue ? wholeRange.startValue : min;\r\n max = max > wholeRange.endValue ? wholeRange.endValue : max\r\n }\r\n return {\r\n min: min,\r\n max: max,\r\n translate: adjust(translate),\r\n scale: adjust(scale)\r\n }\r\n },\r\n _correctValueAboutBreaks(value, direction) {\r\n var br = this._userBreaks.filter(br => value >= br.from && value <= br.to);\r\n if (br.length) {\r\n return direction > 0 ? br[0].to : br[0].from\r\n } else {\r\n return value\r\n }\r\n },\r\n zoomZeroLengthRange(translate, scale) {\r\n var canvasOptions = this._canvasOptions;\r\n var min = canvasOptions.rangeMin;\r\n var max = canvasOptions.rangeMax;\r\n var correction = (max.valueOf() !== min.valueOf() ? max.valueOf() - min.valueOf() : _abs(canvasOptions.rangeMinVisible.valueOf() - min.valueOf())) / canvasOptions.canvasLength;\r\n var isDateTime = isDate(max) || isDate(min);\r\n var isLogarithmic = \"logarithmic\" === this._businessRange.axisType;\r\n var newMin = canvasOptions.rangeMinVisible.valueOf() - correction;\r\n var newMax = canvasOptions.rangeMaxVisible.valueOf() + correction;\r\n newMin = isLogarithmic ? adjust(raiseToExt(newMin, canvasOptions.base)) : isDateTime ? new Date(newMin) : newMin;\r\n newMax = isLogarithmic ? adjust(raiseToExt(newMax, canvasOptions.base)) : isDateTime ? new Date(newMax) : newMax;\r\n return {\r\n min: newMin,\r\n max: newMax,\r\n translate: translate,\r\n scale: scale\r\n }\r\n },\r\n getMinScale: function(zoom) {\r\n var {\r\n dataType: dataType,\r\n interval: interval\r\n } = this._businessRange;\r\n if (\"datetime\" === dataType && 1 === interval) {\r\n return this.getDateTimeMinScale(zoom)\r\n }\r\n return zoom ? 1.1 : .9\r\n },\r\n getDateTimeMinScale(zoom) {\r\n var canvasOptions = this._canvasOptions;\r\n var length = canvasOptions.canvasLength / canvasOptions.ratioOfCanvasRange;\r\n length += (parseInt(.1 * length) || 1) * (zoom ? -2 : 2);\r\n return canvasOptions.canvasLength / (Math.max(length, 1) * canvasOptions.ratioOfCanvasRange)\r\n },\r\n getScale: function(val1, val2) {\r\n var canvasOptions = this._canvasOptions;\r\n if (canvasOptions.rangeMax === canvasOptions.rangeMin) {\r\n return 1\r\n }\r\n val1 = isDefined(val1) ? this.fromValue(val1) : canvasOptions.rangeMin;\r\n val2 = isDefined(val2) ? this.fromValue(val2) : canvasOptions.rangeMax;\r\n return (canvasOptions.rangeMax - canvasOptions.rangeMin) / Math.abs(val1 - val2)\r\n },\r\n isValid: function(value) {\r\n var co = this._canvasOptions;\r\n value = this.fromValue(value);\r\n return null !== value && !isNaN(value) && value.valueOf() + co.rangeDoubleError >= co.rangeMin && value.valueOf() - co.rangeDoubleError <= co.rangeMax\r\n },\r\n getCorrectValue: function(value, direction) {\r\n var breaks = this._breaks;\r\n var prop;\r\n value = this.fromValue(value);\r\n if (this._breaks) {\r\n prop = this._checkValueAboutBreaks(breaks, value, \"trFrom\", \"trTo\", this._checkingMethodsAboutBreaks[0]);\r\n if (true === prop.inBreak) {\r\n return this.toValue(direction > 0 ? prop.break.trTo : prop.break.trFrom)\r\n }\r\n }\r\n return this.toValue(value)\r\n },\r\n to: function(bp, direction) {\r\n var range = this.getBusinessRange();\r\n if (isDefined(range.maxVisible) && isDefined(range.minVisible) && range.maxVisible.valueOf() === range.minVisible.valueOf()) {\r\n if (!isDefined(bp) || range.maxVisible.valueOf() !== bp.valueOf()) {\r\n return null\r\n }\r\n return this.translateSpecialCase(0 === bp && this._options.shiftZeroValue ? \"canvas_position_default\" : \"canvas_position_middle\")\r\n }\r\n bp = this.fromValue(bp);\r\n var canvasOptions = this._canvasOptions;\r\n var breaks = this._breaks;\r\n var prop = {\r\n length: 0\r\n };\r\n var commonBreakSize = 0;\r\n if (void 0 !== breaks) {\r\n prop = this._checkValueAboutBreaks(breaks, bp, \"trFrom\", \"trTo\", this._checkingMethodsAboutBreaks[0]);\r\n commonBreakSize = isDefined(prop.breaksSize) ? prop.breaksSize : 0\r\n }\r\n if (true === prop.inBreak) {\r\n if (direction > 0) {\r\n return prop.break.start\r\n } else if (direction < 0) {\r\n return prop.break.end\r\n } else {\r\n return null\r\n }\r\n }\r\n return this._conversionValue(this._calculateProjection((bp - canvasOptions.rangeMinVisible - prop.length) * canvasOptions.ratioOfCanvasRange + commonBreakSize))\r\n },\r\n from: function(pos, direction) {\r\n var breaks = this._breaks;\r\n var prop = {\r\n length: 0\r\n };\r\n var canvasOptions = this._canvasOptions;\r\n var startPoint = canvasOptions.startPoint;\r\n var commonBreakSize = 0;\r\n if (void 0 !== breaks) {\r\n prop = this._checkValueAboutBreaks(breaks, pos, \"start\", \"end\", this._checkingMethodsAboutBreaks[1]);\r\n commonBreakSize = isDefined(prop.breaksSize) ? prop.breaksSize : 0\r\n }\r\n if (true === prop.inBreak) {\r\n if (direction > 0) {\r\n return this.toValue(prop.break.trTo)\r\n } else if (direction < 0) {\r\n return this.toValue(prop.break.trFrom)\r\n } else {\r\n return null\r\n }\r\n }\r\n return this.toValue(this._calculateUnProjection((pos - startPoint - commonBreakSize) / canvasOptions.ratioOfCanvasRange + prop.length))\r\n },\r\n isValueProlonged: false,\r\n getRange: function() {\r\n return [this.toValue(this._canvasOptions.rangeMin), this.toValue(this._canvasOptions.rangeMax)]\r\n },\r\n getScreenRange: function() {\r\n return [this._canvasOptions.startPoint, this._canvasOptions.endPoint]\r\n },\r\n add: function(value, diff, dir) {\r\n return this._add(value, diff, (this._businessRange.invert ? -1 : 1) * dir)\r\n },\r\n _add: function(value, diff, coeff) {\r\n return this.toValue(this.fromValue(value) + diff * coeff)\r\n },\r\n fromValue: function(value) {\r\n return null !== value ? Number(value) : null\r\n },\r\n toValue: function(value) {\r\n return null !== value ? Number(value) : null\r\n },\r\n ratioOfCanvasRange() {\r\n return this._canvasOptions.ratioOfCanvasRange\r\n },\r\n convert: value => value,\r\n getRangeByMinZoomValue(minZoom, visualRange) {\r\n if (visualRange.minVisible + minZoom <= this._businessRange.max) {\r\n return [visualRange.minVisible, visualRange.minVisible + minZoom]\r\n } else {\r\n return [visualRange.maxVisible - minZoom, visualRange.maxVisible]\r\n }\r\n }\r\n};\r\nexport {\r\n _Translator2d as Translator2D\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/axes/tick.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\n\r\nfunction getPathStyle(options) {\r\n return {\r\n stroke: options.color,\r\n \"stroke-width\": options.width,\r\n \"stroke-opacity\": options.opacity,\r\n opacity: 1\r\n }\r\n}\r\n\r\nfunction createTick(axis, renderer, tickOptions, gridOptions, skippedCategory, skipLabels, offset) {\r\n var tickOffset = offset || axis._tickOffset;\r\n var lineGroup = axis._axisLineGroup;\r\n var elementsGroup = axis._axisElementsGroup;\r\n var tickStyle = getPathStyle(tickOptions);\r\n var gridStyle = getPathStyle(gridOptions);\r\n var emptyStrRegExp = /^\\s+$/;\r\n var axisOptions = axis.getOptions();\r\n var labelOptions = axisOptions.label;\r\n var labelStyle = axis._textOptions;\r\n\r\n function getLabelFontStyle(tick) {\r\n var fontStyle = axis._textFontStyles;\r\n var customizeColor = labelOptions.customizeColor;\r\n if (customizeColor && customizeColor.call) {\r\n fontStyle = extend({}, axis._textFontStyles, {\r\n fill: customizeColor.call(tick, tick)\r\n })\r\n }\r\n return fontStyle\r\n }\r\n\r\n function createLabelHint(tick, range) {\r\n var labelHint = axis.formatHint(tick.value, labelOptions, range);\r\n if (isDefined(labelHint) && \"\" !== labelHint) {\r\n tick.getContentContainer().setTitle(labelHint)\r\n }\r\n }\r\n return function(value) {\r\n var tick = {\r\n value: value,\r\n updateValue(newValue) {\r\n this.value = value = newValue\r\n },\r\n initCoords: function() {\r\n this.coords = axis._getTranslatedValue(value, tickOffset);\r\n this.labelCoords = axis._getTranslatedValue(value)\r\n },\r\n saveCoords() {\r\n this._lastStoredCoordinates = {\r\n coords: this._storedCoords,\r\n labelCoords: this._storedLabelsCoords\r\n };\r\n this._storedCoords = this.coords;\r\n this._storedLabelsCoords = this.templateContainer ? this._getTemplateCoords() : this.labelCoords\r\n },\r\n resetCoordinates() {\r\n if (this._lastStoredCoordinates) {\r\n this._storedCoords = this._lastStoredCoordinates.coords;\r\n this._storedLabelsCoords = this._lastStoredCoordinates.labelCoords\r\n }\r\n },\r\n drawMark(options) {\r\n if (!tickOptions.visible || skippedCategory === value) {\r\n return\r\n }\r\n if (axis.areCoordsOutsideAxis(this.coords)) {\r\n return\r\n }\r\n if (this.mark) {\r\n this.mark.append(lineGroup);\r\n axis.sharp(this.mark, axis.getSharpDirectionByCoords(this.coords));\r\n this.updateTickPosition(options)\r\n } else {\r\n this.mark = axis._createPathElement([], tickStyle, axis.getSharpDirectionByCoords(this.coords)).append(lineGroup);\r\n this.updateTickPosition(options)\r\n }\r\n },\r\n setSkippedCategory(category) {\r\n skippedCategory = category\r\n },\r\n _updateLine(lineElement, settings, storedSettings, animate, isGridLine) {\r\n if (!lineElement) {\r\n return\r\n }\r\n if (null === settings.points || null === settings.r) {\r\n lineElement.remove();\r\n return\r\n }\r\n if (animate && storedSettings && null !== storedSettings.points) {\r\n settings.opacity = 1;\r\n lineElement.attr(storedSettings);\r\n lineElement.animate(settings)\r\n } else {\r\n settings.opacity = animate ? 0 : 1;\r\n lineElement.attr(settings);\r\n animate && lineElement.animate({\r\n opacity: 1\r\n }, {\r\n delay: .5,\r\n partitionDuration: .5\r\n })\r\n }\r\n this.coords.angle && axis._rotateTick(lineElement, this.coords, isGridLine)\r\n },\r\n updateTickPosition: function(options, animate) {\r\n this._updateLine(this.mark, {\r\n points: axis._getTickMarkPoints(tick.coords, tickOptions.length, options)\r\n }, this._storedCoords && {\r\n points: axis._getTickMarkPoints(tick._storedCoords, tickOptions.length, options)\r\n }, animate, false)\r\n },\r\n drawLabel: function(range, template) {\r\n if (this.templateContainer && axis.isRendered()) {\r\n this.updateLabelPosition();\r\n return\r\n }\r\n var labelIsVisible = labelOptions.visible && !skipLabels && !axis.getTranslator().getBusinessRange().isEmpty() && !axis.areCoordsOutsideAxis(this.labelCoords);\r\n if (!labelIsVisible) {\r\n if (this.label) {\r\n this.removeLabel()\r\n }\r\n return\r\n }\r\n var templateOption = labelOptions.template;\r\n var text = axis.formatLabel(value, labelOptions, range);\r\n if (this.label) {\r\n this.label.attr({\r\n text: text,\r\n rotate: 0\r\n }).append(elementsGroup);\r\n createLabelHint(this, range);\r\n this.updateLabelPosition();\r\n return\r\n }\r\n if (templateOption) {\r\n this.templateContainer = renderer.g().append(elementsGroup);\r\n this._templateDef && this._templateDef.reject();\r\n this._templateDef = new Deferred;\r\n template.render({\r\n model: {\r\n valueText: text,\r\n value: this.value,\r\n labelFontStyle: getLabelFontStyle(this),\r\n labelStyle: labelStyle\r\n },\r\n container: this.templateContainer.element,\r\n onRendered: () => {\r\n this.updateLabelPosition();\r\n this._templateDef && this._templateDef.resolve()\r\n }\r\n })\r\n } else if (isDefined(text) && \"\" !== text && !emptyStrRegExp.test(text)) {\r\n this.label = renderer.text(text).css(getLabelFontStyle(this)).attr(labelStyle).append(elementsGroup);\r\n this.updateLabelPosition();\r\n createLabelHint(this, range)\r\n }\r\n var containerForData = this.getContentContainer();\r\n containerForData && containerForData.data(\"chart-data-argument\", this.value);\r\n this.templateContainer && createLabelHint(this, range)\r\n },\r\n getTemplateDeferred() {\r\n return this._templateDef\r\n },\r\n getContentContainer() {\r\n return this.templateContainer || this.label\r\n },\r\n fadeOutElements() {\r\n var startSettings = {\r\n opacity: 1\r\n };\r\n var endSettings = {\r\n opacity: 0\r\n };\r\n var animationSettings = {\r\n partitionDuration: .5\r\n };\r\n if (this.getContentContainer()) {\r\n this._fadeOutLabel()\r\n }\r\n if (this.grid) {\r\n this.grid.append(axis._axisGridGroup).attr(startSettings).animate(endSettings, animationSettings)\r\n }\r\n if (this.mark) {\r\n this.mark.append(axis._axisLineGroup).attr(startSettings).animate(endSettings, animationSettings)\r\n }\r\n },\r\n _fadeInLabel() {\r\n var group = axis._renderer.g().attr({\r\n opacity: 0\r\n }).append(axis._axisElementsGroup).animate({\r\n opacity: 1\r\n }, {\r\n delay: .5,\r\n partitionDuration: .5\r\n });\r\n this.getContentContainer().append(group)\r\n },\r\n _fadeOutLabel() {\r\n var group = axis._renderer.g().attr({\r\n opacity: 1\r\n }).animate({\r\n opacity: 0\r\n }, {\r\n partitionDuration: .5\r\n }).append(axis._axisElementsGroup).toBackground();\r\n this.getContentContainer().append(group)\r\n },\r\n _getTemplateCoords() {\r\n return axis._getLabelAdjustedCoord(this, (axis._constantLabelOffset || 0) + (tick.labelOffset || 0))\r\n },\r\n updateLabelPosition: function(animate) {\r\n var templateContainer = this.templateContainer;\r\n if (!this.getContentContainer()) {\r\n return\r\n }\r\n if (animate && this._storedLabelsCoords) {\r\n if (templateContainer) {\r\n templateContainer.attr(this._storedLabelsCoords);\r\n var lCoords = this._getTemplateCoords();\r\n templateContainer.animate(lCoords)\r\n } else {\r\n this.label.attr({\r\n x: this._storedLabelsCoords.x,\r\n y: this._storedLabelsCoords.y\r\n });\r\n this.label.animate({\r\n x: this.labelCoords.x,\r\n y: this.labelCoords.y\r\n })\r\n }\r\n } else {\r\n if (templateContainer) {\r\n var _lCoords = this._getTemplateCoords();\r\n templateContainer.attr(_lCoords)\r\n } else {\r\n this.label.attr({\r\n x: this.labelCoords.x,\r\n y: this.labelCoords.y\r\n })\r\n }\r\n if (animate) {\r\n this._fadeInLabel()\r\n }\r\n }\r\n },\r\n updateMultilineTextAlignment() {\r\n if (labelOptions.template || !this.label) {\r\n return\r\n }\r\n this.label.attr({\r\n textsAlignment: this.labelAlignment || axis.getOptions().label.alignment\r\n })\r\n },\r\n drawGrid: function(drawLine) {\r\n if (gridOptions.visible && skippedCategory !== this.value) {\r\n if (this.grid) {\r\n this.grid.append(axis._axisGridGroup);\r\n axis.sharp(this.grid, axis.getSharpDirectionByCoords(this.coords));\r\n this.updateGridPosition()\r\n } else {\r\n this.grid = drawLine(this, gridStyle);\r\n this.grid && this.grid.append(axis._axisGridGroup)\r\n }\r\n }\r\n },\r\n updateGridPosition: function(animate) {\r\n this._updateLine(this.grid, axis._getGridPoints(tick.coords), this._storedCoords && axis._getGridPoints(this._storedCoords), animate, true)\r\n },\r\n removeLabel() {\r\n var contentContainer = this.getContentContainer();\r\n contentContainer && contentContainer.remove();\r\n this._templateDef && this._templateDef.reject();\r\n this._templateDef = this.templateContainer = this.label = null\r\n }\r\n };\r\n return tick\r\n }\r\n}\r\nexport {\r\n createTick as tick\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/axes/datetime_breaks.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../core/utils/date\";\r\nvar days = [0, 1, 2, 3, 4, 5, 6];\r\n\r\nfunction getWeekendDays(workdays) {\r\n return days.filter((function(day) {\r\n return !workdays.some((function(workDay) {\r\n return workDay === day\r\n }))\r\n }))\r\n}\r\n\r\nfunction getNextDayIndex(dayIndex) {\r\n return (dayIndex + 1) % 7\r\n}\r\n\r\nfunction dayBetweenWeekend(weekend, day) {\r\n var start = weekend.start;\r\n var end = weekend.end;\r\n while (start !== end) {\r\n if (start === day) {\r\n return true\r\n }\r\n start = getNextDayIndex(start)\r\n }\r\n return false\r\n}\r\n\r\nfunction getDaysDistance(day, end) {\r\n var length = 0;\r\n while (day !== end) {\r\n day = getNextDayIndex(day);\r\n length++\r\n }\r\n return length\r\n}\r\n\r\nfunction separateBreak(scaleBreak, day) {\r\n var result = [];\r\n var dayEnd = new Date(day);\r\n dayEnd.setDate(day.getDate() + 1);\r\n if (day > scaleBreak.from) {\r\n result.push({\r\n from: scaleBreak.from,\r\n to: day\r\n })\r\n }\r\n if (dayEnd < scaleBreak.to) {\r\n result.push({\r\n from: dayEnd,\r\n to: scaleBreak.to\r\n })\r\n }\r\n return result\r\n}\r\n\r\nfunction getWeekEndDayIndices(workDays) {\r\n var indices = getWeekendDays(workDays);\r\n if (indices.length < 7) {\r\n while (getNextDayIndex(indices[indices.length - 1]) === indices[0]) {\r\n indices.unshift(indices.pop())\r\n }\r\n }\r\n return indices\r\n}\r\n\r\nfunction generateDateBreaksForWeekend(min, max, weekendDayIndices) {\r\n var day = min.getDate();\r\n var breaks = [];\r\n var weekends = weekendDayIndices.reduce((function(obj, day) {\r\n var currentWeekEnd = obj[1];\r\n if (void 0 === currentWeekEnd.start) {\r\n currentWeekEnd = {\r\n start: day,\r\n end: getNextDayIndex(day)\r\n };\r\n obj[0].push(currentWeekEnd);\r\n return [obj[0], currentWeekEnd]\r\n } else if (currentWeekEnd.end === day) {\r\n currentWeekEnd.end = getNextDayIndex(day);\r\n return obj\r\n }\r\n currentWeekEnd = {\r\n start: day,\r\n end: getNextDayIndex(day)\r\n };\r\n obj[0].push(currentWeekEnd);\r\n return [obj[0], currentWeekEnd]\r\n }), [\r\n [], {}\r\n ]);\r\n weekends[0].forEach((function(weekend) {\r\n var currentDate = new Date(min);\r\n currentDate = dateUtils.trimTime(currentDate);\r\n while (currentDate < max) {\r\n day = currentDate.getDay();\r\n var date = currentDate.getDate();\r\n if (dayBetweenWeekend(weekend, day)) {\r\n var from = new Date(currentDate);\r\n currentDate.setDate(date + getDaysDistance(day, weekend.end));\r\n var to = new Date(currentDate);\r\n breaks.push({\r\n from: from,\r\n to: to\r\n })\r\n }\r\n currentDate.setDate(currentDate.getDate() + 1)\r\n }\r\n }));\r\n return breaks\r\n}\r\n\r\nfunction excludeWorkDaysFromWeekEndBreaks(breaks, exactWorkDays) {\r\n var result = breaks.slice();\r\n var i;\r\n var processWorkDay = function(workday) {\r\n workday = dateUtils.trimTime(new Date(workday));\r\n if (result[i].from <= workday && result[i].to > workday) {\r\n var separatedBreak = separateBreak(result[i], workday);\r\n if (2 === separatedBreak.length) {\r\n result.splice(i, 1, separatedBreak[0], separatedBreak[1])\r\n } else if (1 === separatedBreak.length) {\r\n result.splice(i, 1, separatedBreak[0])\r\n } else {\r\n result.splice(i, 1)\r\n }\r\n }\r\n };\r\n for (i = 0; i < result.length; i++) {\r\n exactWorkDays.forEach(processWorkDay)\r\n }\r\n return result\r\n}\r\n\r\nfunction generateBreaksForHolidays(min, max, holidays, weekendDayIndices) {\r\n var day;\r\n var dayInWeekend = function(dayIndex) {\r\n return dayIndex === day\r\n };\r\n var adjustedMin = dateUtils.trimTime(min);\r\n var adjustedMax = dateUtils.trimTime(max);\r\n adjustedMax.setDate(max.getDate() + 1);\r\n return holidays.reduce((function(breaks, holiday) {\r\n var holidayStart;\r\n var holidayEnd;\r\n holiday = new Date(holiday);\r\n day = holiday.getDay();\r\n if (!weekendDayIndices.some(dayInWeekend) && holiday >= adjustedMin && holiday <= adjustedMax) {\r\n holidayStart = dateUtils.trimTime(holiday);\r\n holidayEnd = new Date(holidayStart);\r\n holidayEnd.setDate(holidayStart.getDate() + 1);\r\n breaks.push({\r\n from: holidayStart,\r\n to: holidayEnd\r\n })\r\n }\r\n return breaks\r\n }), [])\r\n}\r\n\r\nfunction calculateGaps(breaks) {\r\n return breaks.map((function(b) {\r\n return {\r\n from: b.from,\r\n to: b.to,\r\n gapSize: dateUtils.convertMillisecondsToDateUnits(b.to - b.from)\r\n }\r\n }))\r\n}\r\nexport function generateDateBreaks(min, max, workWeek, singleWorkdays, holidays) {\r\n var weekendDayIndices = getWeekEndDayIndices(workWeek);\r\n var breaks = generateDateBreaksForWeekend(min, max, weekendDayIndices);\r\n breaks.push.apply(breaks, generateBreaksForHolidays(min, max, holidays || [], weekendDayIndices));\r\n return calculateGaps(excludeWorkDaysFromWeekEndBreaks(breaks, singleWorkdays || []))\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/xy_axes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Range\r\n} from \"../translators/range\";\r\nimport formatHelper from \"../../format_helper\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n generateDateBreaks\r\n} from \"./datetime_breaks\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getLog,\r\n patchFontOptions,\r\n getCosAndSin\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport constants from \"./axes_constants\";\r\nvar getNextDateUnit = dateUtils.getNextDateUnit;\r\nvar correctDateWithUnitBeginning = dateUtils.correctDateWithUnitBeginning;\r\nvar _math = Math;\r\nvar _max = _math.max;\r\nvar TOP = constants.top;\r\nvar BOTTOM = constants.bottom;\r\nvar LEFT = constants.left;\r\nvar RIGHT = constants.right;\r\nvar CENTER = constants.center;\r\nvar SCALE_BREAK_OFFSET = 3;\r\nvar RANGE_RATIO = .3;\r\nvar WAVED_LINE_CENTER = 2;\r\nvar WAVED_LINE_TOP = 0;\r\nvar WAVED_LINE_BOTTOM = 4;\r\nvar WAVED_LINE_LENGTH = 24;\r\nvar TICKS_CORRECTIONS = {\r\n left: -1,\r\n top: -1,\r\n right: 0,\r\n bottom: 0,\r\n center: -.5\r\n};\r\n\r\nfunction prepareDatesDifferences(datesDifferences, tickInterval) {\r\n var dateUnitInterval;\r\n var i;\r\n if (\"week\" === tickInterval) {\r\n tickInterval = \"day\"\r\n }\r\n if (\"quarter\" === tickInterval) {\r\n tickInterval = \"month\"\r\n }\r\n if (datesDifferences[tickInterval]) {\r\n for (i = 0; i < dateUtils.dateUnitIntervals.length; i++) {\r\n dateUnitInterval = dateUtils.dateUnitIntervals[i];\r\n if (datesDifferences[dateUnitInterval]) {\r\n datesDifferences[dateUnitInterval] = false;\r\n datesDifferences.count--\r\n }\r\n if (dateUnitInterval === tickInterval) {\r\n break\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction sortingBreaks(breaks) {\r\n return breaks.sort((function(a, b) {\r\n return a.from - b.from\r\n }))\r\n}\r\n\r\nfunction getMarkerDates(min, max, markerInterval) {\r\n var origMin = min;\r\n var dates;\r\n min = correctDateWithUnitBeginning(min, markerInterval);\r\n max = correctDateWithUnitBeginning(max, markerInterval);\r\n dates = dateUtils.getSequenceByInterval(min, max, markerInterval);\r\n if (dates.length && origMin > dates[0]) {\r\n dates = dates.slice(1)\r\n }\r\n return dates\r\n}\r\n\r\nfunction getStripHorizontalAlignmentPosition(alignment) {\r\n var position = \"start\";\r\n if (\"center\" === alignment) {\r\n position = \"center\"\r\n }\r\n if (\"right\" === alignment) {\r\n position = \"end\"\r\n }\r\n return position\r\n}\r\n\r\nfunction getStripVerticalAlignmentPosition(alignment) {\r\n var position = \"start\";\r\n if (\"center\" === alignment) {\r\n position = \"center\"\r\n }\r\n if (\"bottom\" === alignment) {\r\n position = \"end\"\r\n }\r\n return position\r\n}\r\n\r\nfunction getMarkerInterval(tickInterval) {\r\n var markerInterval = getNextDateUnit(tickInterval);\r\n if (\"quarter\" === markerInterval) {\r\n markerInterval = getNextDateUnit(markerInterval)\r\n }\r\n return markerInterval\r\n}\r\n\r\nfunction getMarkerFormat(curDate, prevDate, tickInterval, markerInterval) {\r\n var format = markerInterval;\r\n var datesDifferences = prevDate && dateUtils.getDatesDifferences(prevDate, curDate);\r\n if (prevDate && \"year\" !== tickInterval) {\r\n prepareDatesDifferences(datesDifferences, tickInterval);\r\n format = formatHelper.getDateFormatByDifferences(datesDifferences)\r\n }\r\n return format\r\n}\r\n\r\nfunction getMaxSide(act, boxes) {\r\n return boxes.reduce((function(prevValue, box) {\r\n return _max(prevValue, act(box))\r\n }), 0)\r\n}\r\n\r\nfunction getDistanceByAngle(bBox, rotationAngle) {\r\n rotationAngle = _math.abs(rotationAngle);\r\n rotationAngle = rotationAngle % 180 >= 90 ? 90 - rotationAngle % 90 : rotationAngle % 90;\r\n var a = rotationAngle * (_math.PI / 180);\r\n if (a >= _math.atan(bBox.height / bBox.width)) {\r\n return bBox.height / _math.abs(_math.sin(a))\r\n } else {\r\n return bBox.width\r\n }\r\n}\r\n\r\nfunction getMaxConstantLinePadding(constantLines) {\r\n return constantLines.reduce((function(padding, options) {\r\n return _max(padding, options.paddingTopBottom)\r\n }), 0)\r\n}\r\n\r\nfunction getConstantLineLabelMarginForVerticalAlignment(constantLines, alignment, labelHeight) {\r\n return constantLines.some((function(options) {\r\n return options.label.verticalAlignment === alignment\r\n })) && labelHeight || 0\r\n}\r\n\r\nfunction getLeftMargin(bBox) {\r\n return _math.abs(bBox.x) || 0\r\n}\r\n\r\nfunction getRightMargin(bBox) {\r\n return _math.abs(bBox.width - _math.abs(bBox.x)) || 0\r\n}\r\n\r\nfunction generateRangesOnPoints(points, edgePoints, getRange) {\r\n var i;\r\n var length;\r\n var maxRange = null;\r\n var ranges = [];\r\n var curValue;\r\n var prevValue;\r\n var curRange;\r\n for (i = 1, length = points.length; i < length; i++) {\r\n curValue = points[i];\r\n prevValue = points[i - 1];\r\n curRange = getRange(curValue, prevValue);\r\n if (edgePoints.indexOf(curValue) >= 0) {\r\n if (!maxRange || curRange > maxRange.length) {\r\n maxRange = {\r\n start: curValue,\r\n end: prevValue,\r\n length: curRange\r\n }\r\n }\r\n } else {\r\n if (maxRange && curRange < maxRange.length) {\r\n ranges.push(maxRange)\r\n } else {\r\n ranges.push({\r\n start: curValue,\r\n end: prevValue,\r\n length: curRange\r\n })\r\n }\r\n maxRange = null\r\n }\r\n }\r\n if (maxRange) {\r\n ranges.push(maxRange)\r\n }\r\n return ranges\r\n}\r\n\r\nfunction generateAutoBreaks(_ref, series, _ref2) {\r\n var {\r\n logarithmBase: logarithmBase,\r\n type: type,\r\n maxAutoBreakCount: maxAutoBreakCount\r\n } = _ref;\r\n var {\r\n minVisible: minVisible,\r\n maxVisible: maxVisible\r\n } = _ref2;\r\n var breaks = [];\r\n var getRange = \"logarithmic\" === type ? (min, max) => getLog(max / min, logarithmBase) : (min, max) => max - min;\r\n var visibleRange = getRange(minVisible, maxVisible);\r\n var points = series.reduce((result, s) => {\r\n var points = s.getPointsInViewPort();\r\n result[0] = result[0].concat(points[0]);\r\n result[1] = result[1].concat(points[1]);\r\n return result\r\n }, [\r\n [],\r\n []\r\n ]);\r\n var sortedAllPoints = points[0].concat(points[1]).sort((a, b) => b - a);\r\n var edgePoints = points[1].filter(p => points[0].indexOf(p) < 0);\r\n var minDiff = RANGE_RATIO * visibleRange;\r\n var ranges = generateRangesOnPoints(sortedAllPoints, edgePoints, getRange).sort((a, b) => b.length - a.length);\r\n var epsilon = _math.min.apply(null, ranges.map(r => r.length)) / 1e3;\r\n var _maxAutoBreakCount = isDefined(maxAutoBreakCount) ? _math.min(maxAutoBreakCount, ranges.length) : ranges.length;\r\n for (var i = 0; i < _maxAutoBreakCount; i++) {\r\n if (ranges[i].length >= minDiff) {\r\n if (visibleRange <= ranges[i].length) {\r\n break\r\n }\r\n visibleRange -= ranges[i].length;\r\n if (visibleRange > epsilon || visibleRange < -epsilon) {\r\n breaks.push({\r\n from: ranges[i].start,\r\n to: ranges[i].end\r\n });\r\n minDiff = RANGE_RATIO * visibleRange\r\n }\r\n } else {\r\n break\r\n }\r\n }\r\n sortingBreaks(breaks);\r\n return breaks\r\n}\r\nexport default {\r\n linear: {\r\n _getStep: function(boxes, rotationAngle) {\r\n var spacing = this._options.label.minSpacing;\r\n var func = this._isHorizontal ? function(box) {\r\n return box.width + spacing\r\n } : function(box) {\r\n return box.height\r\n };\r\n var maxLabelLength = getMaxSide(func, boxes);\r\n if (rotationAngle) {\r\n maxLabelLength = getDistanceByAngle({\r\n width: maxLabelLength,\r\n height: this._getMaxLabelHeight(boxes, 0)\r\n }, rotationAngle)\r\n }\r\n return constants.getTicksCountInRange(this._majorTicks, this._isHorizontal ? \"x\" : \"y\", maxLabelLength)\r\n },\r\n _getMaxLabelHeight: function(boxes, spacing) {\r\n return getMaxSide((function(box) {\r\n return box.height\r\n }), boxes) + spacing\r\n },\r\n _validateOverlappingMode: function(mode, displayMode) {\r\n if (this._isHorizontal && (\"rotate\" === displayMode || \"stagger\" === displayMode) || !this._isHorizontal) {\r\n return constants.validateOverlappingMode(mode)\r\n }\r\n return mode\r\n },\r\n _validateDisplayMode: function(mode) {\r\n return this._isHorizontal ? mode : \"standard\"\r\n },\r\n getMarkerTrackers: function() {\r\n return this._markerTrackers\r\n },\r\n _getSharpParam: function(opposite) {\r\n return this._isHorizontal ^ opposite ? \"h\" : \"v\"\r\n },\r\n _createAxisElement: function() {\r\n return this._renderer.path([], \"line\")\r\n },\r\n _updateAxisElementPosition: function() {\r\n var axisCoord = this._axisPosition;\r\n var canvas = this._getCanvasStartEnd();\r\n this._axisElement.attr({\r\n points: this._isHorizontal ? [canvas.start, axisCoord, canvas.end, axisCoord] : [axisCoord, canvas.start, axisCoord, canvas.end]\r\n })\r\n },\r\n _getTranslatedCoord: function(value, offset) {\r\n return this._translator.translate(value, offset)\r\n },\r\n _initAxisPositions() {\r\n if (this.customPositionIsAvailable()) {\r\n this._customBoundaryPosition = this.getCustomBoundaryPosition()\r\n }\r\n if (!this.customPositionIsAvailable() || this.customPositionIsBoundary()) {\r\n this._axisPosition = this.getPredefinedPosition(this.getResolvedBoundaryPosition())\r\n } else {\r\n this._axisPosition = this.getCustomPosition()\r\n }\r\n },\r\n _getTickMarkPoints(coords, length, tickOptions) {\r\n var isHorizontal = this._isHorizontal;\r\n var tickOrientation = this._options.tickOrientation;\r\n var labelPosition = this._options.label.position;\r\n var tickStartCoord;\r\n if (isDefined(tickOrientation)) {\r\n tickStartCoord = TICKS_CORRECTIONS[tickOrientation] * length\r\n } else {\r\n var shift = tickOptions.shift || 0;\r\n if (!isHorizontal && labelPosition === LEFT || isHorizontal && labelPosition !== BOTTOM) {\r\n shift = -shift\r\n }\r\n tickStartCoord = shift + this.getTickStartPositionShift(length)\r\n }\r\n return [coords.x + (isHorizontal ? 0 : tickStartCoord), coords.y + (isHorizontal ? tickStartCoord : 0), coords.x + (isHorizontal ? 0 : tickStartCoord + length), coords.y + (isHorizontal ? tickStartCoord + length : 0)]\r\n },\r\n getTickStartPositionShift(length) {\r\n var width = this._options.width;\r\n var position = this.getResolvedBoundaryPosition();\r\n return length % 2 === 1 ? width % 2 === 0 && (position === LEFT || position === TOP) || width % 2 === 1 && (position === RIGHT || position === BOTTOM) && !this.hasNonBoundaryPosition() ? Math.floor(-length / 2) : -Math.floor(length / 2) : -length / 2 + (width % 2 === 0 ? 0 : position === BOTTOM || position === RIGHT ? -1 : 1)\r\n },\r\n _getTitleCoords: function() {\r\n var horizontal = this._isHorizontal;\r\n var x = this._axisPosition;\r\n var y = this._axisPosition;\r\n var align = this._options.title.alignment;\r\n var canvas = this._getCanvasStartEnd();\r\n var fromStartToEnd = horizontal || this._options.position === LEFT;\r\n var canvasStart = fromStartToEnd ? canvas.start : canvas.end;\r\n var canvasEnd = fromStartToEnd ? canvas.end : canvas.start;\r\n var coord = align === LEFT ? canvasStart : align === RIGHT ? canvasEnd : canvas.start + (canvas.end - canvas.start) / 2;\r\n if (horizontal) {\r\n x = coord\r\n } else {\r\n y = coord\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _drawTitleText: function(group, coords) {\r\n var options = this._options;\r\n var titleOptions = options.title;\r\n var attrs = {\r\n opacity: titleOptions.opacity,\r\n align: titleOptions.alignment,\r\n class: titleOptions.cssClass\r\n };\r\n if (!titleOptions.text || !group) {\r\n return\r\n }\r\n coords = coords || this._getTitleCoords();\r\n if (!this._isHorizontal) {\r\n attrs.rotate = options.position === LEFT ? 270 : 90\r\n }\r\n var text = this._renderer.text(titleOptions.text, coords.x, coords.y).css(patchFontOptions(titleOptions.font)).attr(attrs).append(group);\r\n this._checkTitleOverflow(text);\r\n return text\r\n },\r\n _updateTitleCoords: function() {\r\n this._title && this._title.element.attr(this._getTitleCoords())\r\n },\r\n _drawTitle: function() {\r\n var title = this._drawTitleText(this._axisTitleGroup);\r\n if (title) {\r\n this._title = {\r\n element: title\r\n }\r\n }\r\n },\r\n _measureTitle: function() {\r\n if (this._title) {\r\n if (this._title.bBox && !this._title.originalSize) {\r\n this._title.originalSize = this._title.bBox\r\n }\r\n this._title.bBox = this._title.element.getBBox()\r\n }\r\n },\r\n _drawDateMarker: function(date, options, range) {\r\n var markerOptions = this._options.marker;\r\n var invert = this._translator.getBusinessRange().invert;\r\n var textIndent = markerOptions.width + markerOptions.textLeftIndent;\r\n var pathElement;\r\n if (null === options.x) {\r\n return\r\n }\r\n if (!options.withoutStick) {\r\n pathElement = this._renderer.path([options.x, options.y, options.x, options.y + markerOptions.separatorHeight], \"line\").attr({\r\n \"stroke-width\": markerOptions.width,\r\n stroke: markerOptions.color,\r\n \"stroke-opacity\": markerOptions.opacity,\r\n sharp: \"h\"\r\n }).append(this._axisElementsGroup)\r\n }\r\n var text = String(this.formatLabel(date, options.labelOptions, range));\r\n return {\r\n date: date,\r\n x: options.x,\r\n y: options.y,\r\n cropped: options.withoutStick,\r\n label: this._renderer.text(text, options.x, options.y).css(patchFontOptions(markerOptions.label.font)).append(this._axisElementsGroup),\r\n line: pathElement,\r\n getContentContainer() {\r\n return this.label\r\n },\r\n getEnd: function() {\r\n return this.x + (invert ? -1 : 1) * (textIndent + this.labelBBox.width)\r\n },\r\n setTitle: function() {\r\n this.title = text\r\n },\r\n hideLabel: function() {\r\n this.label.dispose();\r\n this.label = null;\r\n this.title = text\r\n },\r\n hide: function() {\r\n if (pathElement) {\r\n pathElement.dispose();\r\n pathElement = null\r\n }\r\n this.label.dispose();\r\n this.label = null;\r\n this.hidden = true\r\n }\r\n }\r\n },\r\n _drawDateMarkers: function() {\r\n var that = this;\r\n var options = that._options;\r\n var translator = that._translator;\r\n var viewport = that._getViewportRange();\r\n var minBound = viewport.minVisible;\r\n var dateMarkers = [];\r\n var dateMarker;\r\n\r\n function draw(markerDate, format, withoutStick) {\r\n return that._drawDateMarker(markerDate, {\r\n x: translator.translate(markerDate),\r\n y: markersAreaTop,\r\n labelOptions: that._getLabelFormatOptions(format),\r\n withoutStick: withoutStick\r\n }, viewport)\r\n }\r\n if (viewport.isEmpty() || !options.marker.visible || \"datetime\" !== options.argumentType || \"discrete\" === options.type || that._majorTicks.length <= 1) {\r\n return []\r\n }\r\n var markersAreaTop = that._axisPosition + options.marker.topIndent;\r\n var tickInterval = dateUtils.getDateUnitInterval(this._tickInterval);\r\n var markerInterval = getMarkerInterval(tickInterval);\r\n var markerDates = getMarkerDates(minBound, viewport.maxVisible, markerInterval);\r\n if (markerDates.length > 1 || 1 === markerDates.length && minBound < markerDates[0]) {\r\n dateMarkers = markerDates.reduce((function(markers, curDate, i, dates) {\r\n var marker = draw(curDate, getMarkerFormat(curDate, dates[i - 1] || minBound < curDate && minBound, tickInterval, markerInterval));\r\n marker && markers.push(marker);\r\n return markers\r\n }), []);\r\n if (minBound < markerDates[0]) {\r\n dateMarker = draw(minBound, getMarkerFormat(minBound, markerDates[0], tickInterval, markerInterval), true);\r\n dateMarker && dateMarkers.unshift(dateMarker)\r\n }\r\n }\r\n return dateMarkers\r\n },\r\n _adjustDateMarkers: function(offset) {\r\n offset = offset || 0;\r\n var that = this;\r\n var markerOptions = this._options.marker;\r\n var textIndent = markerOptions.width + markerOptions.textLeftIndent;\r\n var invert = this._translator.getBusinessRange().invert;\r\n var canvas = that._getCanvasStartEnd();\r\n var dateMarkers = this._dateMarkers;\r\n if (!dateMarkers.length) {\r\n return offset\r\n }\r\n if (dateMarkers[0].cropped) {\r\n if (!this._checkMarkersPosition(invert, dateMarkers[1], dateMarkers[0])) {\r\n dateMarkers[0].hideLabel()\r\n }\r\n }\r\n var prevDateMarker;\r\n dateMarkers.forEach((function(marker, i, markers) {\r\n if (marker.cropped) {\r\n return\r\n }\r\n if (invert ? marker.getEnd() < canvas.end : marker.getEnd() > canvas.end) {\r\n marker.hideLabel()\r\n } else if (that._checkMarkersPosition(invert, marker, prevDateMarker)) {\r\n prevDateMarker = marker\r\n } else {\r\n marker.hide()\r\n }\r\n }));\r\n this._dateMarkers.forEach((function(marker) {\r\n if (marker.label) {\r\n var labelBBox = marker.labelBBox;\r\n var dy = marker.y + markerOptions.textTopIndent - labelBBox.y;\r\n marker.label.attr({\r\n translateX: invert ? marker.x - textIndent - labelBBox.x - labelBBox.width : marker.x + textIndent - labelBBox.x,\r\n translateY: dy + offset\r\n })\r\n }\r\n if (marker.line) {\r\n marker.line.attr({\r\n translateY: offset\r\n })\r\n }\r\n }));\r\n that._initializeMarkersTrackers(offset);\r\n return offset + markerOptions.topIndent + markerOptions.separatorHeight\r\n },\r\n _checkMarkersPosition: function(invert, dateMarker, prevDateMarker) {\r\n if (void 0 === prevDateMarker) {\r\n return true\r\n }\r\n return invert ? dateMarker.x < prevDateMarker.getEnd() : dateMarker.x > prevDateMarker.getEnd()\r\n },\r\n _initializeMarkersTrackers: function(offset) {\r\n var separatorHeight = this._options.marker.separatorHeight;\r\n var renderer = this._renderer;\r\n var businessRange = this._translator.getBusinessRange();\r\n var canvas = this._getCanvasStartEnd();\r\n var group = this._axisElementsGroup;\r\n this._markerTrackers = this._dateMarkers.filter((function(marker) {\r\n return !marker.hidden\r\n })).map((function(marker, i, markers) {\r\n var nextMarker = markers[i + 1] || {\r\n x: canvas.end,\r\n date: businessRange.max\r\n };\r\n var x = marker.x;\r\n var y = marker.y + offset;\r\n var markerTracker = renderer.path([x, y, x, y + separatorHeight, nextMarker.x, y + separatorHeight, nextMarker.x, y, x, y], \"area\").attr({\r\n \"stroke-width\": 1,\r\n stroke: \"grey\",\r\n fill: \"grey\",\r\n opacity: 1e-4\r\n }).append(group);\r\n markerTracker.data(\"range\", {\r\n startValue: marker.date,\r\n endValue: nextMarker.date\r\n });\r\n if (marker.title) {\r\n markerTracker.setTitle(marker.title)\r\n }\r\n return markerTracker\r\n }))\r\n },\r\n _getLabelFormatOptions: function(formatString) {\r\n var markerLabelOptions = this._markerLabelOptions;\r\n if (!markerLabelOptions) {\r\n this._markerLabelOptions = markerLabelOptions = extend(true, {}, this._options.marker.label)\r\n }\r\n if (!isDefined(this._options.marker.label.format)) {\r\n markerLabelOptions.format = formatString\r\n }\r\n return markerLabelOptions\r\n },\r\n _adjustConstantLineLabels: function(constantLines) {\r\n var that = this;\r\n var axisPosition = that._options.position;\r\n var canvas = that.getCanvas();\r\n var canvasLeft = canvas.left;\r\n var canvasRight = canvas.width - canvas.right;\r\n var canvasTop = canvas.top;\r\n var canvasBottom = canvas.height - canvas.bottom;\r\n var verticalCenter = canvasTop + (canvasBottom - canvasTop) / 2;\r\n var horizontalCenter = canvasLeft + (canvasRight - canvasLeft) / 2;\r\n var maxLabel = 0;\r\n constantLines.forEach((function(item) {\r\n var isHorizontal = that._isHorizontal;\r\n var linesOptions = item.options;\r\n var paddingTopBottom = linesOptions.paddingTopBottom;\r\n var paddingLeftRight = linesOptions.paddingLeftRight;\r\n var labelOptions = linesOptions.label;\r\n var labelVerticalAlignment = labelOptions.verticalAlignment;\r\n var labelHorizontalAlignment = labelOptions.horizontalAlignment;\r\n var labelIsInside = \"inside\" === labelOptions.position;\r\n var label = item.label;\r\n var box = item.labelBBox;\r\n var translateX;\r\n var translateY;\r\n if (null === label || box.isEmpty) {\r\n return\r\n }\r\n if (isHorizontal) {\r\n if (labelIsInside) {\r\n if (labelHorizontalAlignment === LEFT) {\r\n translateX = item.coord - paddingLeftRight - box.x - box.width\r\n } else {\r\n translateX = item.coord + paddingLeftRight - box.x\r\n }\r\n switch (labelVerticalAlignment) {\r\n case CENTER:\r\n translateY = verticalCenter - box.y - box.height / 2;\r\n break;\r\n case BOTTOM:\r\n translateY = canvasBottom - paddingTopBottom - box.y - box.height;\r\n break;\r\n default:\r\n translateY = canvasTop + paddingTopBottom - box.y\r\n }\r\n } else {\r\n if (axisPosition === labelVerticalAlignment) {\r\n maxLabel = _max(maxLabel, box.height + paddingTopBottom)\r\n }\r\n translateX = item.coord - box.x - box.width / 2;\r\n if (labelVerticalAlignment === BOTTOM) {\r\n translateY = canvasBottom + paddingTopBottom - box.y\r\n } else {\r\n translateY = canvasTop - paddingTopBottom - box.y - box.height\r\n }\r\n }\r\n } else if (labelIsInside) {\r\n if (labelVerticalAlignment === BOTTOM) {\r\n translateY = item.coord + paddingTopBottom - box.y\r\n } else {\r\n translateY = item.coord - paddingTopBottom - box.y - box.height\r\n }\r\n switch (labelHorizontalAlignment) {\r\n case CENTER:\r\n translateX = horizontalCenter - box.x - box.width / 2;\r\n break;\r\n case RIGHT:\r\n translateX = canvasRight - paddingLeftRight - box.x - box.width;\r\n break;\r\n default:\r\n translateX = canvasLeft + paddingLeftRight - box.x\r\n }\r\n } else {\r\n if (axisPosition === labelHorizontalAlignment) {\r\n maxLabel = _max(maxLabel, box.width + paddingLeftRight)\r\n }\r\n translateY = item.coord - box.y - box.height / 2;\r\n if (labelHorizontalAlignment === RIGHT) {\r\n translateX = canvasRight + paddingLeftRight - box.x\r\n } else {\r\n translateX = canvasLeft - paddingLeftRight - box.x - box.width\r\n }\r\n }\r\n label.attr({\r\n translateX: translateX,\r\n translateY: translateY\r\n })\r\n }));\r\n return maxLabel\r\n },\r\n _drawConstantLinesForEstimating: function(constantLines) {\r\n var that = this;\r\n var renderer = this._renderer;\r\n var group = renderer.g();\r\n constantLines.forEach((function(options) {\r\n that._drawConstantLineLabelText(options.label.text, 0, 0, options.label, group).attr({\r\n align: \"center\"\r\n })\r\n }));\r\n return group.append(renderer.root)\r\n },\r\n _estimateLabelHeight: function(bBox, labelOptions) {\r\n var height = bBox.height;\r\n var drawingType = labelOptions.drawingType;\r\n if (\"stagger\" === this._validateDisplayMode(drawingType) || \"stagger\" === this._validateOverlappingMode(labelOptions.overlappingBehavior, drawingType)) {\r\n height = 2 * height + labelOptions.staggeringSpacing\r\n }\r\n if (\"rotate\" === this._validateDisplayMode(drawingType) || \"rotate\" === this._validateOverlappingMode(labelOptions.overlappingBehavior, drawingType)) {\r\n var sinCos = getCosAndSin(labelOptions.rotationAngle);\r\n height = height * sinCos.cos + bBox.width * sinCos.sin\r\n }\r\n return height && (height + labelOptions.indentFromAxis || 0) || 0\r\n },\r\n estimateMargins: function(canvas) {\r\n this.updateCanvas(canvas);\r\n var range = this._getViewportRange();\r\n var ticksData = this._createTicksAndLabelFormat(range);\r\n var ticks = ticksData.ticks;\r\n var tickInterval = ticksData.tickInterval;\r\n var options = this._options;\r\n var constantLineOptions = this._outsideConstantLines.filter(l => l.labelOptions.visible).map(l => l.options);\r\n var rootElement = this._renderer.root;\r\n var labelIsVisible = options.label.visible && !range.isEmpty() && ticks.length;\r\n var labelValue = labelIsVisible && this.formatLabel(ticks[ticks.length - 1], options.label, void 0, void 0, tickInterval, ticks);\r\n var labelElement = labelIsVisible && this._renderer.text(labelValue, 0, 0).css(this._textFontStyles).attr(this._textOptions).append(rootElement);\r\n var titleElement = this._drawTitleText(rootElement, {\r\n x: 0,\r\n y: 0\r\n });\r\n var constantLinesLabelsElement = this._drawConstantLinesForEstimating(constantLineOptions);\r\n var labelBox = !options.label.template && labelElement && labelElement.getBBox() || {\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n };\r\n var titleBox = titleElement && titleElement.getBBox() || {\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n };\r\n var constantLinesBox = constantLinesLabelsElement.getBBox();\r\n var titleHeight = titleBox.height ? titleBox.height + options.title.margin : 0;\r\n var labelHeight = this._estimateLabelHeight(labelBox, options.label);\r\n var constantLinesHeight = constantLinesBox.height ? constantLinesBox.height + getMaxConstantLinePadding(constantLineOptions) : 0;\r\n var height = labelHeight + titleHeight;\r\n var margins = {\r\n left: _max(getLeftMargin(labelBox), getLeftMargin(constantLinesBox)),\r\n right: _max(getRightMargin(labelBox), getRightMargin(constantLinesBox)),\r\n top: (\"top\" === options.position ? height : 0) + getConstantLineLabelMarginForVerticalAlignment(constantLineOptions, \"top\", constantLinesHeight),\r\n bottom: (\"top\" !== options.position ? height : 0) + getConstantLineLabelMarginForVerticalAlignment(constantLineOptions, \"bottom\", constantLinesHeight)\r\n };\r\n labelElement && labelElement.remove();\r\n titleElement && titleElement.remove();\r\n constantLinesLabelsElement && constantLinesLabelsElement.remove();\r\n return margins\r\n },\r\n _checkAlignmentConstantLineLabels: function(labelOptions) {\r\n var position = labelOptions.position;\r\n var verticalAlignment = (labelOptions.verticalAlignment || \"\").toLowerCase();\r\n var horizontalAlignment = (labelOptions.horizontalAlignment || \"\").toLowerCase();\r\n if (this._isHorizontal) {\r\n if (\"outside\" === position) {\r\n verticalAlignment = verticalAlignment === BOTTOM ? BOTTOM : TOP;\r\n horizontalAlignment = CENTER\r\n } else {\r\n verticalAlignment = verticalAlignment === CENTER ? CENTER : verticalAlignment === BOTTOM ? BOTTOM : TOP;\r\n horizontalAlignment = horizontalAlignment === LEFT ? LEFT : RIGHT\r\n }\r\n } else if (\"outside\" === position) {\r\n verticalAlignment = CENTER;\r\n horizontalAlignment = horizontalAlignment === LEFT ? LEFT : RIGHT\r\n } else {\r\n verticalAlignment = verticalAlignment === BOTTOM ? BOTTOM : TOP;\r\n horizontalAlignment = horizontalAlignment === RIGHT ? RIGHT : horizontalAlignment === CENTER ? CENTER : LEFT\r\n }\r\n labelOptions.verticalAlignment = verticalAlignment;\r\n labelOptions.horizontalAlignment = horizontalAlignment\r\n },\r\n _getConstantLineLabelsCoords: function(value, lineLabelOptions) {\r\n var x = value;\r\n var y = value;\r\n if (this._isHorizontal) {\r\n y = this._orthogonalPositions[\"top\" === lineLabelOptions.verticalAlignment ? \"start\" : \"end\"]\r\n } else {\r\n x = this._orthogonalPositions[\"right\" === lineLabelOptions.horizontalAlignment ? \"end\" : \"start\"]\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _getAdjustedStripLabelCoords: function(strip) {\r\n var stripOptions = strip.options;\r\n var paddingTopBottom = stripOptions.paddingTopBottom;\r\n var paddingLeftRight = stripOptions.paddingLeftRight;\r\n var horizontalAlignment = stripOptions.label.horizontalAlignment;\r\n var verticalAlignment = stripOptions.label.verticalAlignment;\r\n var box = strip.labelBBox;\r\n var labelHeight = box.height;\r\n var labelWidth = box.width;\r\n var labelCoords = strip.labelCoords;\r\n var y = labelCoords.y - box.y;\r\n var x = labelCoords.x - box.x;\r\n if (verticalAlignment === TOP) {\r\n y += paddingTopBottom\r\n } else if (verticalAlignment === CENTER) {\r\n y -= labelHeight / 2\r\n } else if (verticalAlignment === BOTTOM) {\r\n y -= paddingTopBottom + labelHeight\r\n }\r\n if (horizontalAlignment === LEFT) {\r\n x += paddingLeftRight\r\n } else if (horizontalAlignment === CENTER) {\r\n x -= labelWidth / 2\r\n } else if (horizontalAlignment === RIGHT) {\r\n x -= paddingLeftRight + labelWidth\r\n }\r\n return {\r\n translateX: x,\r\n translateY: y\r\n }\r\n },\r\n _adjustTitle: function(offset) {\r\n offset = offset || 0;\r\n if (!this._title) {\r\n return\r\n }\r\n var options = this._options;\r\n var position = options.position;\r\n var margin = options.title.margin;\r\n var title = this._title;\r\n var boxTitle = title.bBox;\r\n var x = boxTitle.x;\r\n var y = boxTitle.y;\r\n var width = boxTitle.width;\r\n var height = boxTitle.height;\r\n var axisPosition = this._axisPosition;\r\n var loCoord = axisPosition - margin - offset;\r\n var hiCoord = axisPosition + margin + offset;\r\n var params = {};\r\n if (this._isHorizontal) {\r\n if (position === TOP) {\r\n params.translateY = loCoord - (y + height)\r\n } else {\r\n params.translateY = hiCoord - y\r\n }\r\n } else if (position === LEFT) {\r\n params.translateX = loCoord - (x + width)\r\n } else {\r\n params.translateX = hiCoord - x\r\n }\r\n title.element.attr(params)\r\n },\r\n _checkTitleOverflow: function(titleElement) {\r\n if (!this._title && !titleElement) {\r\n return\r\n }\r\n var canvasLength = this._getScreenDelta();\r\n var title = titleElement ? {\r\n bBox: titleElement.getBBox(),\r\n element: titleElement\r\n } : this._title;\r\n var titleOptions = this._options.title;\r\n var boxTitle = title.bBox;\r\n if ((this._isHorizontal ? boxTitle.width : boxTitle.height) > canvasLength) {\r\n title.element.setMaxSize(canvasLength, void 0, {\r\n wordWrap: titleOptions.wordWrap || \"none\",\r\n textOverflow: titleOptions.textOverflow || \"ellipsis\"\r\n });\r\n this._wrapped = titleOptions.wordWrap && \"none\" !== titleOptions.wordWrap\r\n } else {\r\n var moreThanOriginalSize = title.originalSize && canvasLength > (this._isHorizontal ? title.originalSize.width : title.originalSize.height);\r\n !this._wrapped && moreThanOriginalSize && title.element.restoreText()\r\n }\r\n },\r\n coordsIn: function(x, y) {\r\n var canvas = this.getCanvas();\r\n var isHorizontal = this._options.isHorizontal;\r\n var position = this._options.position;\r\n var coord = isHorizontal ? y : x;\r\n if (isHorizontal && (x < canvas.left || x > canvas.width - canvas.right) || !isHorizontal && (y < canvas.top || y > canvas.height - canvas.bottom)) {\r\n return false\r\n }\r\n if (isHorizontal && position === constants.top || !isHorizontal && position === constants.left) {\r\n return coord < canvas[position]\r\n }\r\n return coord > canvas[isHorizontal ? \"height\" : \"width\"] - canvas[position]\r\n },\r\n _boundaryTicksVisibility: {\r\n min: true,\r\n max: true\r\n },\r\n adjust() {\r\n var seriesData = this._seriesData;\r\n var viewport = this._series.filter(s => s.isVisible()).reduce((range, s) => {\r\n var seriesRange = s.getViewport();\r\n range.min = isDefined(seriesRange.min) ? range.min < seriesRange.min ? range.min : seriesRange.min : range.min;\r\n range.max = isDefined(seriesRange.max) ? range.max > seriesRange.max ? range.max : seriesRange.max : range.max;\r\n if (s.showZero) {\r\n range = new Range(range);\r\n range.correctValueZeroLevel()\r\n }\r\n return range\r\n }, {});\r\n if (isDefined(viewport.min) && isDefined(viewport.max)) {\r\n seriesData.minVisible = viewport.min;\r\n seriesData.maxVisible = viewport.max\r\n }\r\n seriesData.userBreaks = this._getScaleBreaks(this._options, {\r\n minVisible: seriesData.minVisible,\r\n maxVisible: seriesData.maxVisible\r\n }, this._series, this.isArgumentAxis);\r\n this._translator.updateBusinessRange(this._getViewportRange())\r\n },\r\n hasWrap() {\r\n return this._wrapped\r\n },\r\n getAxisPosition() {\r\n return this._axisPosition\r\n },\r\n _getStick: function() {\r\n return !this._options.valueMarginsEnabled\r\n },\r\n _getStripLabelCoords: function(from, to, stripLabelOptions) {\r\n var orthogonalPositions = this._orthogonalPositions;\r\n var isHorizontal = this._isHorizontal;\r\n var horizontalAlignment = stripLabelOptions.horizontalAlignment;\r\n var verticalAlignment = stripLabelOptions.verticalAlignment;\r\n var x;\r\n var y;\r\n if (isHorizontal) {\r\n if (horizontalAlignment === CENTER) {\r\n x = from + (to - from) / 2\r\n } else if (horizontalAlignment === LEFT) {\r\n x = from\r\n } else if (horizontalAlignment === RIGHT) {\r\n x = to\r\n }\r\n y = orthogonalPositions[getStripVerticalAlignmentPosition(verticalAlignment)]\r\n } else {\r\n x = orthogonalPositions[getStripHorizontalAlignmentPosition(horizontalAlignment)];\r\n if (verticalAlignment === TOP) {\r\n y = from\r\n } else if (verticalAlignment === CENTER) {\r\n y = to + (from - to) / 2\r\n } else if (verticalAlignment === BOTTOM) {\r\n y = to\r\n }\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _getTranslatedValue: function(value, offset) {\r\n var pos1 = this._translator.translate(value, offset, \"semidiscrete\" === this._options.type && this._options.tickInterval);\r\n var pos2 = this._axisPosition;\r\n var isHorizontal = this._isHorizontal;\r\n return {\r\n x: isHorizontal ? pos1 : pos2,\r\n y: isHorizontal ? pos2 : pos1\r\n }\r\n },\r\n areCoordsOutsideAxis: function(coords) {\r\n var coord = this._isHorizontal ? coords.x : coords.y;\r\n var visibleArea = this.getVisibleArea();\r\n if (coord < visibleArea[0] || coord > visibleArea[1]) {\r\n return true\r\n }\r\n return false\r\n },\r\n _getSkippedCategory: function(ticks) {\r\n var skippedCategory;\r\n if (this._options.type === constants.discrete && this._tickOffset && 0 !== ticks.length) {\r\n skippedCategory = ticks[ticks.length - 1]\r\n }\r\n return skippedCategory\r\n },\r\n _filterBreaks: function(breaks, viewport, breakStyle) {\r\n var minVisible = viewport.minVisible;\r\n var maxVisible = viewport.maxVisible;\r\n var breakSize = breakStyle ? breakStyle.width : 0;\r\n return breaks.reduce((function(result, currentBreak) {\r\n var from = currentBreak.from;\r\n var to = currentBreak.to;\r\n var lastResult = result[result.length - 1];\r\n var newBreak;\r\n if (!isDefined(from) || !isDefined(to)) {\r\n return result\r\n }\r\n if (from > to) {\r\n to = [from, from = to][0]\r\n }\r\n if (result.length && from < lastResult.to) {\r\n if (to > lastResult.to) {\r\n lastResult.to = to > maxVisible ? maxVisible : to;\r\n if (lastResult.gapSize) {\r\n lastResult.gapSize = void 0;\r\n lastResult.cumulativeWidth += breakSize\r\n }\r\n }\r\n } else if (from >= minVisible && from < maxVisible || to <= maxVisible && to > minVisible) {\r\n from = from >= minVisible ? from : minVisible;\r\n to = to <= maxVisible ? to : maxVisible;\r\n if (to - from < maxVisible - minVisible) {\r\n var _lastResult$cumulativ;\r\n newBreak = {\r\n from: from,\r\n to: to,\r\n cumulativeWidth: (null !== (_lastResult$cumulativ = null === lastResult || void 0 === lastResult ? void 0 : lastResult.cumulativeWidth) && void 0 !== _lastResult$cumulativ ? _lastResult$cumulativ : 0) + breakSize\r\n };\r\n if (currentBreak.gapSize) {\r\n var _lastResult$cumulativ2;\r\n newBreak.gapSize = dateUtils.convertMillisecondsToDateUnits(to - from);\r\n newBreak.cumulativeWidth = null !== (_lastResult$cumulativ2 = null === lastResult || void 0 === lastResult ? void 0 : lastResult.cumulativeWidth) && void 0 !== _lastResult$cumulativ2 ? _lastResult$cumulativ2 : 0\r\n }\r\n result.push(newBreak)\r\n }\r\n }\r\n return result\r\n }), [])\r\n },\r\n _getScaleBreaks: function(axisOptions, viewport, series, isArgumentAxis) {\r\n var that = this;\r\n var breaks = (axisOptions.breaks || []).map((function(b) {\r\n return {\r\n from: that.parser(b.startValue),\r\n to: that.parser(b.endValue)\r\n }\r\n }));\r\n if (\"discrete\" !== axisOptions.type && \"datetime\" === axisOptions.dataType && axisOptions.workdaysOnly) {\r\n breaks = breaks.concat(generateDateBreaks(viewport.minVisible, viewport.maxVisible, axisOptions.workWeek, axisOptions.singleWorkdays, axisOptions.holidays))\r\n }\r\n if (!isArgumentAxis && \"discrete\" !== axisOptions.type && \"datetime\" !== axisOptions.dataType && axisOptions.autoBreaksEnabled && 0 !== axisOptions.maxAutoBreakCount) {\r\n breaks = breaks.concat(generateAutoBreaks(axisOptions, series, viewport))\r\n }\r\n return sortingBreaks(breaks)\r\n },\r\n _drawBreak: function(translatedEnd, positionFrom, positionTo, width, options, group) {\r\n var breakStart = translatedEnd - (!this._translator.isInverted() ? width + 1 : 0);\r\n var attr = {\r\n \"stroke-width\": 1,\r\n stroke: options.borderColor,\r\n sharp: !options.isWaved ? options.isHorizontal ? \"h\" : \"v\" : void 0\r\n };\r\n var spaceAttr = {\r\n stroke: options.color,\r\n \"stroke-width\": width\r\n };\r\n var getPoints = this._isHorizontal ? rotateLine : function(p) {\r\n return p\r\n };\r\n var drawer = getLineDrawer(this._renderer, group, getPoints, positionFrom, breakStart, positionTo, options.isWaved);\r\n drawer(width / 2, spaceAttr);\r\n drawer(0, attr);\r\n drawer(width, attr)\r\n },\r\n _createBreakClipRect: function(from, to) {\r\n var canvas = this._canvas;\r\n var clipWidth = to - from;\r\n var clipRect;\r\n if (this._isHorizontal) {\r\n clipRect = this._renderer.clipRect(canvas.left, from, canvas.width, clipWidth)\r\n } else {\r\n clipRect = this._renderer.clipRect(from, canvas.top, clipWidth, canvas.height)\r\n }\r\n this._breaksElements = this._breaksElements || [];\r\n this._breaksElements.push(clipRect);\r\n return clipRect.id\r\n },\r\n _createBreaksGroup: function(clipFrom, clipTo) {\r\n var group = this._renderer.g().attr({\r\n class: this._axisCssPrefix + \"breaks\",\r\n \"clip-path\": this._createBreakClipRect(clipFrom, clipTo)\r\n }).append(this._scaleBreaksGroup);\r\n this._breaksElements = this._breaksElements || [];\r\n this._breaksElements.push(group);\r\n return group\r\n },\r\n _disposeBreaksGroup: function() {\r\n (this._breaksElements || []).forEach((function(clipRect) {\r\n clipRect.dispose()\r\n }));\r\n this._breaksElements = null\r\n },\r\n drawScaleBreaks: function(customCanvas) {\r\n var that = this;\r\n var options = that._options;\r\n var breakStyle = options.breakStyle;\r\n var position = options.position;\r\n var positionFrom;\r\n var positionTo;\r\n var breaks = that._translator.getBusinessRange().breaks || [];\r\n var additionGroup;\r\n var additionBreakFrom;\r\n var additionBreakTo;\r\n that._disposeBreaksGroup();\r\n if (!(breaks && breaks.length)) {\r\n return\r\n }\r\n var breakOptions = {\r\n color: that._options.containerColor,\r\n borderColor: breakStyle.color,\r\n isHorizontal: that._isHorizontal,\r\n isWaved: \"straight\" !== breakStyle.line.toLowerCase()\r\n };\r\n if (customCanvas) {\r\n positionFrom = customCanvas.start;\r\n positionTo = customCanvas.end\r\n } else {\r\n positionFrom = that._orthogonalPositions.start - (options.visible && !that._axisShift && (position === LEFT || position === TOP) ? SCALE_BREAK_OFFSET : 0);\r\n positionTo = that._orthogonalPositions.end + (options.visible && (position === RIGHT || position === BOTTOM) ? SCALE_BREAK_OFFSET : 0)\r\n }\r\n var mainGroup = that._createBreaksGroup(positionFrom, positionTo);\r\n if (that._axisShift && options.visible) {\r\n additionBreakFrom = that._axisPosition - that._axisShift - SCALE_BREAK_OFFSET;\r\n additionBreakTo = additionBreakFrom + 2 * SCALE_BREAK_OFFSET;\r\n additionGroup = that._createBreaksGroup(additionBreakFrom, additionBreakTo)\r\n }\r\n breaks.forEach((function(br) {\r\n if (!br.gapSize) {\r\n var breakCoord = that._getTranslatedCoord(br.to);\r\n that._drawBreak(breakCoord, positionFrom, positionTo, breakStyle.width, breakOptions, mainGroup);\r\n if (that._axisShift && options.visible) {\r\n that._drawBreak(breakCoord, additionBreakFrom, additionBreakTo, breakStyle.width, breakOptions, additionGroup)\r\n }\r\n }\r\n }))\r\n },\r\n _getSpiderCategoryOption: noop,\r\n shift: function(margins) {\r\n var options = this._options;\r\n var isHorizontal = options.isHorizontal;\r\n var axesSpacing = this.getMultipleAxesSpacing();\r\n var constantLinesGroups = this._axisConstantLineGroups;\r\n\r\n function shiftGroup(side, group) {\r\n var attr = {\r\n translateX: 0,\r\n translateY: 0\r\n };\r\n var shift = margins[side] ? margins[side] + axesSpacing : 0;\r\n attr[isHorizontal ? \"translateY\" : \"translateX\"] = (side === LEFT || side === TOP ? -1 : 1) * shift;\r\n (group[side] || group).attr(attr);\r\n return shift\r\n }\r\n this._axisShift = shiftGroup(options.position, this._axisGroup);\r\n shiftGroup(options.position, this._axisElementsGroup);\r\n (isHorizontal ? [TOP, BOTTOM] : [LEFT, RIGHT]).forEach(side => {\r\n shiftGroup(side, constantLinesGroups.above);\r\n shiftGroup(side, constantLinesGroups.under)\r\n })\r\n },\r\n getCustomPosition(position) {\r\n var orthogonalAxis = this.getOrthogonalAxis();\r\n var resolvedPosition = null !== position && void 0 !== position ? position : this.getResolvedPositionOption();\r\n var offset = this.getOptions().offset;\r\n var orthogonalTranslator = orthogonalAxis.getTranslator();\r\n var orthogonalAxisType = orthogonalAxis.getOptions().type;\r\n var validPosition = orthogonalAxis.validateUnit(resolvedPosition);\r\n var currentPosition;\r\n if (\"discrete\" === orthogonalAxisType && (!orthogonalTranslator._categories || orthogonalTranslator._categories.indexOf(validPosition) < 0)) {\r\n validPosition = void 0\r\n }\r\n if (this.positionIsBoundary(resolvedPosition)) {\r\n currentPosition = this.getPredefinedPosition(resolvedPosition)\r\n } else if (!isDefined(validPosition)) {\r\n currentPosition = this.getPredefinedPosition(this.getOptions().position)\r\n } else {\r\n currentPosition = orthogonalTranslator.to(validPosition, -1)\r\n }\r\n if (isFinite(currentPosition) && isFinite(offset)) {\r\n currentPosition += offset\r\n }\r\n return currentPosition\r\n },\r\n getCustomBoundaryPosition(position) {\r\n var {\r\n customPosition: customPosition,\r\n offset: offset\r\n } = this.getOptions();\r\n var resolvedPosition = null !== position && void 0 !== position ? position : this.getResolvedPositionOption();\r\n var orthogonalAxis = this.getOrthogonalAxis();\r\n var orthogonalTranslator = orthogonalAxis.getTranslator();\r\n var visibleArea = orthogonalTranslator.getCanvasVisibleArea();\r\n if (!isDefined(orthogonalAxis._orthogonalPositions) || 0 === orthogonalTranslator.canvasLength) {\r\n return\r\n }\r\n var currentPosition = this.getCustomPosition(resolvedPosition);\r\n if (!isDefined(currentPosition)) {\r\n return this.getResolvedBoundaryPosition()\r\n } else if (isDefined(customPosition)) {\r\n if (currentPosition <= visibleArea.min) {\r\n return this._isHorizontal ? TOP : LEFT\r\n } else if (currentPosition >= visibleArea.max) {\r\n return this._isHorizontal ? BOTTOM : RIGHT\r\n }\r\n } else if (isDefined(offset)) {\r\n if (currentPosition <= this._orthogonalPositions.start) {\r\n return this._isHorizontal ? TOP : LEFT\r\n } else if (currentPosition >= this._orthogonalPositions.end) {\r\n return this._isHorizontal ? BOTTOM : RIGHT\r\n }\r\n }\r\n return currentPosition\r\n },\r\n getResolvedPositionOption() {\r\n var _options$customPositi;\r\n var options = this.getOptions();\r\n return null !== (_options$customPositi = options.customPosition) && void 0 !== _options$customPositi ? _options$customPositi : options.position\r\n },\r\n customPositionIsAvailable() {\r\n var options = this.getOptions();\r\n return isDefined(this.getOrthogonalAxis()) && (isDefined(options.customPosition) || isFinite(options.offset))\r\n },\r\n hasNonBoundaryPosition() {\r\n return this.customPositionIsAvailable() && !this.customPositionIsBoundary()\r\n },\r\n getResolvedBoundaryPosition() {\r\n return this.customPositionIsBoundary() ? this._customBoundaryPosition : this.getOptions().position\r\n },\r\n customPositionEqualsToPredefined() {\r\n return this.customPositionIsBoundary() && this._customBoundaryPosition === this.getOptions().position\r\n },\r\n customPositionIsBoundary() {\r\n return this.positionIsBoundary(this._customBoundaryPosition)\r\n },\r\n positionIsBoundary: position => [TOP, LEFT, BOTTOM, RIGHT].indexOf(position) >= 0,\r\n getPredefinedPosition(position) {\r\n var _this$_orthogonalPosi;\r\n return null === (_this$_orthogonalPosi = this._orthogonalPositions) || void 0 === _this$_orthogonalPosi ? void 0 : _this$_orthogonalPosi[position === TOP || position === LEFT ? \"start\" : \"end\"]\r\n },\r\n resolveOverlappingForCustomPositioning(oppositeAxes) {\r\n var that = this;\r\n if (!that.hasNonBoundaryPosition() && !that.customPositionIsBoundary() && !oppositeAxes.some(a => a.hasNonBoundaryPosition())) {\r\n return\r\n }\r\n var overlappingObj = {\r\n axes: [],\r\n ticks: []\r\n };\r\n oppositeAxes.filter(orthogonalAxis => orthogonalAxis.pane === that.pane).forEach(orthogonalAxis => {\r\n for (var i = 0; i < that._majorTicks.length; i++) {\r\n var tick = that._majorTicks[i];\r\n var label = tick.label;\r\n if (label) {\r\n if (overlappingObj.axes.indexOf(orthogonalAxis) < 0 && that._detectElementsOverlapping(label, orthogonalAxis._axisElement)) {\r\n overlappingObj.axes.push(orthogonalAxis);\r\n that._shiftThroughOrthogonalAxisOverlappedTick(label, orthogonalAxis)\r\n }\r\n for (var j = 0; j < orthogonalAxis._majorTicks.length; j++) {\r\n var oppositeTick = orthogonalAxis._majorTicks[j];\r\n var oppositeLabel = oppositeTick.label;\r\n if (oppositeLabel && that._detectElementsOverlapping(label, oppositeLabel)) {\r\n overlappingObj.ticks.push(tick);\r\n that._shiftThroughAxisOverlappedTick(tick);\r\n i = that._majorTicks.length;\r\n break\r\n }\r\n }\r\n }\r\n if (tick.mark && overlappingObj.ticks.indexOf(tick) < 0) {\r\n if (that._isHorizontal && tick.mark.attr(\"translateY\")) {\r\n tick.mark.attr({\r\n translateY: 0\r\n })\r\n } else if (!that._isHorizontal && tick.mark.attr(\"translateX\")) {\r\n tick.mark.attr({\r\n translateX: 0\r\n })\r\n }\r\n }\r\n }\r\n })\r\n },\r\n _shiftThroughOrthogonalAxisOverlappedTick(label, orthogonalAxis) {\r\n var labelBBox = label.getBBox();\r\n var orthogonalAxisPosition = orthogonalAxis.getAxisPosition();\r\n var orthogonalAxisLabelOptions = orthogonalAxis.getOptions().label;\r\n var orthogonalAxisLabelPosition = orthogonalAxisLabelOptions.position;\r\n var orthogonalAxisLabelIndent = orthogonalAxisLabelOptions.indentFromAxis / 2;\r\n var translateCoordName = this._isHorizontal ? \"translateX\" : \"translateY\";\r\n var defaultOrthogonalAxisLabelPosition = this._isHorizontal ? LEFT : TOP;\r\n var translate = label.attr(translateCoordName);\r\n var labelCoord = (this._isHorizontal ? labelBBox.x : labelBBox.y) + translate;\r\n var labelSize = this._isHorizontal ? labelBBox.width : labelBBox.height;\r\n var outsidePart = orthogonalAxisPosition - labelCoord;\r\n var insidePart = labelCoord + labelSize - orthogonalAxisPosition;\r\n var attr = {};\r\n attr[translateCoordName] = translate;\r\n if (outsidePart > 0 && insidePart > 0) {\r\n if (insidePart - outsidePart > 1) {\r\n attr[translateCoordName] += outsidePart + orthogonalAxisLabelIndent\r\n } else if (outsidePart - insidePart > 1) {\r\n attr[translateCoordName] -= insidePart + orthogonalAxisLabelIndent\r\n } else {\r\n attr[translateCoordName] += orthogonalAxisLabelPosition === defaultOrthogonalAxisLabelPosition ? outsidePart + orthogonalAxisLabelIndent : -(insidePart + orthogonalAxisLabelIndent)\r\n }\r\n label.attr(attr)\r\n }\r\n },\r\n _shiftThroughAxisOverlappedTick(tick) {\r\n var _tick$mark;\r\n var label = tick.label;\r\n if (!label) {\r\n return\r\n }\r\n var labelBBox = label.getBBox();\r\n var tickMarkBBox = null === (_tick$mark = tick.mark) || void 0 === _tick$mark ? void 0 : _tick$mark.getBBox();\r\n var axisPosition = this.getAxisPosition();\r\n var labelOptions = this.getOptions().label;\r\n var labelIndent = labelOptions.indentFromAxis;\r\n var labelPosition = labelOptions.position;\r\n var defaultLabelPosition = this._isHorizontal ? TOP : LEFT;\r\n var translateCoordName = this._isHorizontal ? \"translateY\" : \"translateX\";\r\n var translate = label.attr(translateCoordName);\r\n var labelCoord = (this._isHorizontal ? labelBBox.y : labelBBox.x) + translate;\r\n var labelSize = this._isHorizontal ? labelBBox.height : labelBBox.width;\r\n var attr = {};\r\n attr[translateCoordName] = translate + (labelPosition === defaultLabelPosition ? axisPosition - labelCoord + labelIndent : -(labelCoord - axisPosition + labelSize + labelIndent));\r\n label.attr(attr);\r\n if (tick.mark) {\r\n var markerSize = this._isHorizontal ? tickMarkBBox.height : tickMarkBBox.width;\r\n var dir = labelPosition === defaultLabelPosition ? 1 : -1;\r\n attr[translateCoordName] = dir * (markerSize - 1);\r\n tick.mark.attr(attr)\r\n }\r\n },\r\n _detectElementsOverlapping(element1, element2) {\r\n if (!element1 || !element2) {\r\n return false\r\n }\r\n var bBox1 = element1.getBBox();\r\n var x1 = bBox1.x + element1.attr(\"translateX\");\r\n var y1 = bBox1.y + element1.attr(\"translateY\");\r\n var bBox2 = element2.getBBox();\r\n var x2 = bBox2.x + element2.attr(\"translateX\");\r\n var y2 = bBox2.y + element2.attr(\"translateY\");\r\n return (x2 >= x1 && x2 <= x1 + bBox1.width || x1 >= x2 && x1 <= x2 + bBox2.width) && (y2 >= y1 && y2 <= y1 + bBox1.height || y1 >= y2 && y1 <= y2 + bBox2.height)\r\n }\r\n }\r\n};\r\n\r\nfunction getLineDrawer(renderer, root, rotatePoints, positionFrom, breakStart, positionTo, isWaved) {\r\n var elementType = isWaved ? \"bezier\" : \"line\";\r\n var group = renderer.g().append(root);\r\n return function(offset, attr) {\r\n renderer.path(rotatePoints(getPoints(positionFrom, breakStart, positionTo, offset, isWaved)), elementType).attr(attr).append(group)\r\n }\r\n}\r\n\r\nfunction getPoints(positionFrom, breakStart, positionTo, offset, isWaved) {\r\n if (!isWaved) {\r\n return [positionFrom, breakStart + offset, positionTo, breakStart + offset]\r\n }\r\n breakStart += offset;\r\n var currentPosition;\r\n var topPoint = breakStart + WAVED_LINE_TOP;\r\n var centerPoint = breakStart + WAVED_LINE_CENTER;\r\n var bottomPoint = breakStart + WAVED_LINE_BOTTOM;\r\n var points = [\r\n [positionFrom, centerPoint]\r\n ];\r\n for (currentPosition = positionFrom; currentPosition < positionTo + WAVED_LINE_LENGTH; currentPosition += WAVED_LINE_LENGTH) {\r\n points.push([currentPosition + 6, topPoint, currentPosition + 6, topPoint, currentPosition + 12, centerPoint, currentPosition + 18, bottomPoint, currentPosition + 18, bottomPoint, currentPosition + 24, centerPoint])\r\n }\r\n return [].concat.apply([], points)\r\n}\r\n\r\nfunction rotateLine(lineCoords) {\r\n var points = [];\r\n var i;\r\n for (i = 0; i < lineCoords.length; i += 2) {\r\n points.push(lineCoords[i + 1]);\r\n points.push(lineCoords[i])\r\n }\r\n return points\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/axes_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar _max = Math.max;\r\nexport var calculateCanvasMargins = function(bBoxes, canvas) {\r\n var cLeft = canvas.left;\r\n var cTop = canvas.top;\r\n var cRight = canvas.width - canvas.right;\r\n var cBottom = canvas.height - canvas.bottom;\r\n return bBoxes.reduce((function(margins, bBox) {\r\n if (!bBox || bBox.isEmpty) {\r\n return margins\r\n }\r\n return {\r\n left: _max(margins.left, cLeft - bBox.x),\r\n top: _max(margins.top, cTop - bBox.y),\r\n right: _max(margins.right, bBox.x + bBox.width - cRight),\r\n bottom: _max(margins.bottom, bBox.y + bBox.height - cBottom)\r\n }\r\n }), {\r\n left: 0,\r\n right: 0,\r\n top: 0,\r\n bottom: 0\r\n })\r\n};\r\nexport var measureLabels = function(items) {\r\n items.forEach((function(item) {\r\n var label = item.getContentContainer();\r\n item.labelBBox = label ? label.getBBox() : {\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n }\r\n }))\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/axes/polar_axes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map as _map,\r\n convertPolarToXY,\r\n convertXYToPolar,\r\n normalizeAngle,\r\n getVizRangeObject,\r\n getCosAndSin,\r\n getDistance\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport constants from \"./axes_constants\";\r\nimport xyAxes from \"./xy_axes\";\r\nimport {\r\n tick\r\n} from \"./tick\";\r\nimport {\r\n calculateCanvasMargins,\r\n measureLabels\r\n} from \"./axes_utils\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nvar {\r\n PI: PI,\r\n abs: abs,\r\n atan: atan,\r\n round: round\r\n} = Math;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar xyAxesLinear = xyAxes.linear;\r\nvar HALF_PI_ANGLE = 90;\r\n\r\nfunction getPolarQuarter(angle) {\r\n var quarter;\r\n angle = normalizeAngle(angle);\r\n if (angle >= 315 && angle <= 360 || angle < 45 && angle >= 0) {\r\n quarter = 1\r\n } else if (angle >= 45 && angle < 135) {\r\n quarter = 2\r\n } else if (angle >= 135 && angle < 225) {\r\n quarter = 3\r\n } else if (angle >= 225 && angle < 315) {\r\n quarter = 4\r\n }\r\n return quarter\r\n}\r\nvar circularAxes = {\r\n _calculateValueMargins(ticks) {\r\n var {\r\n minVisible: minVisible,\r\n maxVisible: maxVisible\r\n } = this._getViewportRange();\r\n if (ticks && ticks.length > 1) {\r\n minVisible = minVisible < ticks[0].value ? minVisible : ticks[0].value;\r\n maxVisible = minVisible > ticks[ticks.length - 1].value ? maxVisible : ticks[ticks.length - 1].value\r\n }\r\n return {\r\n minValue: minVisible,\r\n maxValue: maxVisible\r\n }\r\n },\r\n applyMargins() {\r\n var margins = this._calculateValueMargins(this._majorTicks);\r\n var br = this._translator.getBusinessRange();\r\n br.addRange({\r\n minVisible: margins.minValue,\r\n maxVisible: margins.maxValue,\r\n interval: this._calculateRangeInterval(br.interval)\r\n });\r\n this._translator.updateBusinessRange(br)\r\n },\r\n _getTranslatorOptions: function() {\r\n return {\r\n isHorizontal: true,\r\n conversionValue: true,\r\n addSpiderCategory: this._getSpiderCategoryOption(),\r\n stick: this._getStick()\r\n }\r\n },\r\n getCenter: function() {\r\n return this._center\r\n },\r\n getRadius: function() {\r\n return this._radius\r\n },\r\n getAngles: function() {\r\n var options = this._options;\r\n return [options.startAngle, options.endAngle]\r\n },\r\n _updateRadius(canvas) {\r\n var rad = _min(canvas.width - canvas.left - canvas.right, canvas.height - canvas.top - canvas.bottom) / 2;\r\n this._radius = rad < 0 ? 0 : rad\r\n },\r\n _updateCenter: function(canvas) {\r\n this._center = {\r\n x: canvas.left + (canvas.width - canvas.right - canvas.left) / 2,\r\n y: canvas.top + (canvas.height - canvas.top - canvas.bottom) / 2\r\n }\r\n },\r\n _processCanvas: function(canvas) {\r\n this._updateRadius(canvas);\r\n this._updateCenter(canvas);\r\n return {\r\n left: 0,\r\n right: 0,\r\n width: this._getScreenDelta()\r\n }\r\n },\r\n _createAxisElement: function() {\r\n return this._renderer.circle()\r\n },\r\n _updateAxisElementPosition: function() {\r\n var center = this.getCenter();\r\n this._axisElement.attr({\r\n cx: center.x,\r\n cy: center.y,\r\n r: this.getRadius()\r\n })\r\n },\r\n _boundaryTicksVisibility: {\r\n min: true\r\n },\r\n _getSpiderCategoryOption: function() {\r\n return this._options.firstPointOnStartAngle\r\n },\r\n _validateOptions(options) {\r\n var originValue = options.originValue;\r\n var wholeRange = options.wholeRange = {};\r\n var period = options.period;\r\n if (isDefined(originValue)) {\r\n originValue = this.validateUnit(originValue)\r\n }\r\n if (period > 0 && options.argumentType === constants.numeric) {\r\n originValue = originValue || 0;\r\n wholeRange.endValue = originValue + period;\r\n this._viewport = getVizRangeObject([originValue, wholeRange.endValue])\r\n }\r\n if (isDefined(originValue)) {\r\n wholeRange.startValue = originValue\r\n }\r\n },\r\n getMargins() {\r\n var tickOptions = this._options.tick;\r\n var tickOuterLength = _max(tickOptions.visible ? tickOptions.length / 2 + tickOptions.shift : 0, 0);\r\n var radius = this.getRadius();\r\n var {\r\n x: x,\r\n y: y\r\n } = this._center;\r\n var labelBoxes = this._majorTicks.map(t => t.label && t.label.getBBox()).filter(b => b);\r\n var canvas = extend({}, this._canvas, {\r\n left: x - radius,\r\n top: y - radius,\r\n right: this._canvas.width - (x + radius),\r\n bottom: this._canvas.height - (y + radius)\r\n });\r\n var margins = calculateCanvasMargins(labelBoxes, canvas);\r\n Object.keys(margins).forEach(k => margins[k] = margins[k] < tickOuterLength ? tickOuterLength : margins[k]);\r\n return margins\r\n },\r\n _updateLabelsPosition() {\r\n measureLabels(this._majorTicks);\r\n this._adjustLabelsCoord(0, 0, true);\r\n this._checkBoundedLabelsOverlapping(this._majorTicks, this._majorTicks.map(t => t.labelBBox))\r\n },\r\n _setVisualRange: _noop,\r\n applyVisualRangeSetter: _noop,\r\n _getStick: function() {\r\n return this._options.firstPointOnStartAngle || this._options.type !== constants.discrete\r\n },\r\n _getTranslatedCoord: function(value, offset) {\r\n return this._translator.translate(value, offset) - HALF_PI_ANGLE\r\n },\r\n _getCanvasStartEnd: function() {\r\n return {\r\n start: 0 - HALF_PI_ANGLE,\r\n end: 360 - HALF_PI_ANGLE\r\n }\r\n },\r\n _getStripGraphicAttributes: function(fromAngle, toAngle) {\r\n var center = this.getCenter();\r\n var angle = this.getAngles()[0];\r\n var r = this.getRadius();\r\n return {\r\n x: center.x,\r\n y: center.y,\r\n innerRadius: 0,\r\n outerRadius: r,\r\n startAngle: -toAngle - angle,\r\n endAngle: -fromAngle - angle\r\n }\r\n },\r\n _createStrip: function(coords) {\r\n return this._renderer.arc(coords.x, coords.y, coords.innerRadius, coords.outerRadius, coords.startAngle, coords.endAngle)\r\n },\r\n _getStripLabelCoords: function(from, to) {\r\n var coords = this._getStripGraphicAttributes(from, to);\r\n var angle = coords.startAngle + (coords.endAngle - coords.startAngle) / 2;\r\n var cosSin = getCosAndSin(angle);\r\n var halfRad = this.getRadius() / 2;\r\n var center = this.getCenter();\r\n var x = round(center.x + halfRad * cosSin.cos);\r\n var y = round(center.y - halfRad * cosSin.sin);\r\n return {\r\n x: x,\r\n y: y,\r\n align: constants.center\r\n }\r\n },\r\n _getConstantLineGraphicAttributes: function(value) {\r\n var center = this.getCenter();\r\n var r = this.getRadius();\r\n return {\r\n points: [center.x, center.y, center.x + r, center.y]\r\n }\r\n },\r\n _createConstantLine: function(value, attr) {\r\n return this._createPathElement(this._getConstantLineGraphicAttributes(value).points, attr)\r\n },\r\n _rotateConstantLine(line, value) {\r\n var {\r\n x: x,\r\n y: y\r\n } = this.getCenter();\r\n line.rotate(value + this.getAngles()[0], x, y)\r\n },\r\n _getConstantLineLabelsCoords: function(value) {\r\n var cosSin = getCosAndSin(-value - this.getAngles()[0]);\r\n var halfRad = this.getRadius() / 2;\r\n var center = this.getCenter();\r\n var x = round(center.x + halfRad * cosSin.cos);\r\n var y = round(center.y - halfRad * cosSin.sin);\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _checkAlignmentConstantLineLabels: _noop,\r\n _adjustDivisionFactor: function(val) {\r\n return 180 * val / (this.getRadius() * PI)\r\n },\r\n _getScreenDelta: function() {\r\n var angles = this.getAngles();\r\n return abs(angles[0] - angles[1])\r\n },\r\n _getTickMarkPoints: function(coords, length, _ref) {\r\n var {\r\n shift: shift = 0\r\n } = _ref;\r\n var center = this.getCenter();\r\n var radiusWithTicks = this.getRadius() + length * {\r\n inside: -1,\r\n center: -.5,\r\n outside: 0\r\n } [this._options.tickOrientation || \"center\"];\r\n return [center.x + radiusWithTicks + shift, center.y, center.x + radiusWithTicks + length + shift, center.y]\r\n },\r\n _getLabelAdjustedCoord: function(tick, _offset, _maxWidth, checkCanvas) {\r\n var labelCoords = tick.labelCoords;\r\n var labelY = labelCoords.y;\r\n var labelAngle = labelCoords.angle;\r\n var cosSin = getCosAndSin(labelAngle);\r\n var cos = cosSin.cos;\r\n var sin = cosSin.sin;\r\n var box = tick.labelBBox;\r\n var halfWidth = box.width / 2;\r\n var halfHeight = box.height / 2;\r\n var indentFromAxis = this._options.label.indentFromAxis || 0;\r\n var x = labelCoords.x + indentFromAxis * cos;\r\n var y = labelY + (labelY - box.y - halfHeight) + indentFromAxis * sin;\r\n var shiftX = 0;\r\n var shiftY = 0;\r\n switch (getPolarQuarter(labelAngle)) {\r\n case 1:\r\n shiftX = halfWidth;\r\n shiftY = halfHeight * sin;\r\n break;\r\n case 2:\r\n shiftX = halfWidth * cos;\r\n shiftY = halfHeight;\r\n break;\r\n case 3:\r\n shiftX = -halfWidth;\r\n shiftY = halfHeight * sin;\r\n break;\r\n case 4:\r\n shiftX = halfWidth * cos;\r\n shiftY = -halfHeight\r\n }\r\n if (checkCanvas) {\r\n var canvas = this._canvas;\r\n var boxShiftX = x - labelCoords.x + shiftX;\r\n var boxShiftY = y - labelCoords.y + shiftY;\r\n if (box.x + boxShiftX < canvas.originalLeft) {\r\n shiftX -= box.x + boxShiftX - canvas.originalLeft\r\n }\r\n if (box.x + box.width + boxShiftX > canvas.width - canvas.originalRight) {\r\n shiftX -= box.x + box.width + boxShiftX - (canvas.width - canvas.originalRight)\r\n }\r\n if (box.y + boxShiftY < canvas.originalTop) {\r\n shiftY -= box.y + boxShiftY - canvas.originalTop\r\n }\r\n if (box.y + box.height + boxShiftY > canvas.height - canvas.originalBottom) {\r\n shiftY -= box.y + box.height + boxShiftY - (canvas.height - canvas.originalBottom)\r\n }\r\n }\r\n return {\r\n x: x + shiftX,\r\n y: y + shiftY\r\n }\r\n },\r\n _getGridLineDrawer: function() {\r\n var that = this;\r\n return function(tick, gridStyle) {\r\n var center = that.getCenter();\r\n return that._createPathElement(that._getGridPoints().points, gridStyle).rotate(tick.coords.angle, center.x, center.y)\r\n }\r\n },\r\n _getGridPoints: function() {\r\n var r = this.getRadius();\r\n var center = this.getCenter();\r\n return {\r\n points: [center.x, center.y, center.x + r, center.y]\r\n }\r\n },\r\n _getTranslatedValue: function(value, offset) {\r\n var startAngle = this.getAngles()[0];\r\n var angle = this._translator.translate(value, -offset);\r\n var coords = convertPolarToXY(this.getCenter(), startAngle, angle, this.getRadius());\r\n return {\r\n x: coords.x,\r\n y: coords.y,\r\n angle: this.getTranslatedAngle(angle)\r\n }\r\n },\r\n _getAdjustedStripLabelCoords: function(strip) {\r\n var box = strip.labelBBox;\r\n return {\r\n translateY: strip.label.attr(\"y\") - box.y - box.height / 2\r\n }\r\n },\r\n coordsIn: function(x, y) {\r\n return convertXYToPolar(this.getCenter(), x, y).r > this.getRadius()\r\n },\r\n _rotateTick: function(element, coords) {\r\n var center = this.getCenter();\r\n element.rotate(coords.angle, center.x, center.y)\r\n },\r\n _validateOverlappingMode: function(mode) {\r\n return constants.validateOverlappingMode(mode)\r\n },\r\n _validateDisplayMode: function() {\r\n return \"standard\"\r\n },\r\n _getStep: function(boxes) {\r\n var radius = this.getRadius() + (this._options.label.indentFromAxis || 0);\r\n var maxLabelBox = boxes.reduce((function(prevValue, box) {\r\n var curValue = prevValue;\r\n if (prevValue.width < box.width) {\r\n curValue.width = box.width\r\n }\r\n if (prevValue.height < box.height) {\r\n curValue.height = box.height\r\n }\r\n return curValue\r\n }), {\r\n width: 0,\r\n height: 0\r\n });\r\n var angle1 = abs(2 * atan(maxLabelBox.height / (2 * radius - maxLabelBox.width)) * 180 / PI);\r\n var angle2 = abs(2 * atan(maxLabelBox.width / (2 * radius - maxLabelBox.height)) * 180 / PI);\r\n return constants.getTicksCountInRange(this._majorTicks, \"angle\", _max(angle1, angle2))\r\n },\r\n _checkBoundedLabelsOverlapping: function(majorTicks, boxes, mode) {\r\n var labelOpt = this._options.label;\r\n mode = mode || this._validateOverlappingMode(labelOpt.overlappingBehavior);\r\n if (\"hide\" !== mode) {\r\n return\r\n }\r\n var lastVisibleLabelIndex = majorTicks.reduce((lastVisibleLabelIndex, tick, index) => tick.label ? index : lastVisibleLabelIndex, null);\r\n if (!lastVisibleLabelIndex) {\r\n return\r\n }\r\n if (constants.areLabelsOverlap(boxes[0], boxes[lastVisibleLabelIndex], labelOpt.minSpacing, constants.center)) {\r\n \"first\" === labelOpt.hideFirstOrLast ? majorTicks[0].removeLabel() : majorTicks[lastVisibleLabelIndex].removeLabel()\r\n }\r\n },\r\n shift: function(margins) {\r\n this._axisGroup.attr({\r\n translateX: margins.right,\r\n translateY: margins.bottom\r\n });\r\n this._axisElementsGroup.attr({\r\n translateX: margins.right,\r\n translateY: margins.bottom\r\n })\r\n },\r\n getTranslatedAngle(angle) {\r\n var startAngle = this.getAngles()[0];\r\n return angle + startAngle - HALF_PI_ANGLE\r\n }\r\n};\r\nexport var circular = circularAxes;\r\nexport var circularSpider = extend({}, circularAxes, {\r\n _createAxisElement: function() {\r\n return this._renderer.path([], \"area\")\r\n },\r\n _updateAxisElementPosition: function() {\r\n this._axisElement.attr({\r\n points: _map(this.getSpiderTicks(), (function(tick) {\r\n return {\r\n x: tick.coords.x,\r\n y: tick.coords.y\r\n }\r\n }))\r\n })\r\n },\r\n _getStick: function() {\r\n return true\r\n },\r\n _getSpiderCategoryOption: function() {\r\n return true\r\n },\r\n getSpiderTicks: function() {\r\n var ticks = this.getFullTicks();\r\n this._spiderTicks = ticks.map(tick(this, this.renderer, {}, {}, this._getSkippedCategory(ticks), true));\r\n this._spiderTicks.forEach((function(tick) {\r\n tick.initCoords()\r\n }));\r\n return this._spiderTicks\r\n },\r\n _getStripGraphicAttributes: function(fromAngle, toAngle) {\r\n var center = this.getCenter();\r\n var spiderTicks = this.getSpiderTicks();\r\n var firstTick;\r\n var lastTick;\r\n var nextTick;\r\n var tick;\r\n var points = [];\r\n var i = 0;\r\n var len = spiderTicks.length;\r\n while (i < len) {\r\n tick = spiderTicks[i].coords;\r\n if (tick.angle >= fromAngle && tick.angle <= toAngle) {\r\n if (!firstTick) {\r\n firstTick = (spiderTicks[i - 1] || spiderTicks[spiderTicks.length - 1]).coords;\r\n points.push((tick.x + firstTick.x) / 2, (tick.y + firstTick.y) / 2)\r\n }\r\n points.push(tick.x, tick.y);\r\n nextTick = (spiderTicks[i + 1] || spiderTicks[0]).coords;\r\n lastTick = {\r\n x: (tick.x + nextTick.x) / 2,\r\n y: (tick.y + nextTick.y) / 2\r\n }\r\n }\r\n i++\r\n }\r\n points.push(lastTick.x, lastTick.y);\r\n points.push(center.x, center.y);\r\n return {\r\n points: points\r\n }\r\n },\r\n _createStrip: function(_ref2) {\r\n var {\r\n points: points\r\n } = _ref2;\r\n return this._renderer.path(points, \"area\")\r\n },\r\n _getTranslatedCoord: function(value, offset) {\r\n return this._translator.translate(value, offset) - HALF_PI_ANGLE\r\n },\r\n _setTickOffset: function() {\r\n this._tickOffset = false\r\n }\r\n});\r\nexport var linear = {\r\n _resetMargins() {\r\n this._reinitTranslator(this._getViewportRange())\r\n },\r\n _getStick: xyAxesLinear._getStick,\r\n _getSpiderCategoryOption: _noop,\r\n _getTranslatorOptions: function() {\r\n return {\r\n isHorizontal: true,\r\n stick: this._getStick()\r\n }\r\n },\r\n getRadius: circularAxes.getRadius,\r\n getCenter: circularAxes.getCenter,\r\n getAngles: circularAxes.getAngles,\r\n _updateRadius: circularAxes._updateRadius,\r\n _updateCenter: circularAxes._updateCenter,\r\n _processCanvas(canvas) {\r\n this._updateRadius(canvas);\r\n this._updateCenter(canvas);\r\n return {\r\n left: 0,\r\n right: 0,\r\n startPadding: canvas.startPadding,\r\n endPadding: canvas.endPadding,\r\n width: this.getRadius()\r\n }\r\n },\r\n _createAxisElement: xyAxesLinear._createAxisElement,\r\n _updateAxisElementPosition: function() {\r\n var centerCoord = this.getCenter();\r\n this._axisElement.attr({\r\n points: [centerCoord.x, centerCoord.y, centerCoord.x + this.getRadius(), centerCoord.y]\r\n }).rotate(this.getAngles()[0] - HALF_PI_ANGLE, centerCoord.x, centerCoord.y)\r\n },\r\n _getScreenDelta: function() {\r\n return this.getRadius()\r\n },\r\n _getTickMarkPoints: function(coords, length) {\r\n return [coords.x - length / 2, coords.y, coords.x + length / 2, coords.y]\r\n },\r\n _getLabelAdjustedCoord: function(tick) {\r\n var labelCoords = tick.labelCoords;\r\n var labelY = labelCoords.y;\r\n var cosSin = getCosAndSin(labelCoords.angle);\r\n var indentFromAxis = this._options.label.indentFromAxis || 0;\r\n var box = tick.labelBBox;\r\n var x = labelCoords.x - abs(indentFromAxis * cosSin.sin) + abs(box.width / 2 * cosSin.cos) - box.width / 2;\r\n var y = labelY + (labelY - box.y) - abs(box.height / 2 * cosSin.sin) + abs(indentFromAxis * cosSin.cos);\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n },\r\n _getGridLineDrawer: function() {\r\n var that = this;\r\n return function(tick, gridStyle) {\r\n var grid = that._getGridPoints(tick.coords);\r\n return that._renderer.circle(grid.cx, grid.cy, grid.r).attr(gridStyle).sharp()\r\n }\r\n },\r\n _getGridPoints: function(coords) {\r\n var pos = this.getCenter();\r\n var radius = getDistance(pos.x, pos.y, coords.x, coords.y);\r\n if (radius > this.getRadius()) {\r\n return {\r\n cx: null,\r\n cy: null,\r\n r: null\r\n }\r\n }\r\n return {\r\n cx: pos.x,\r\n cy: pos.y,\r\n r: radius\r\n }\r\n },\r\n _getTranslatedValue: function(value, offset) {\r\n var startAngle = this.getAngles()[0];\r\n var xy = convertPolarToXY(this.getCenter(), startAngle, 0, this._translator.translate(value, offset));\r\n return {\r\n x: xy.x,\r\n y: xy.y,\r\n angle: startAngle - HALF_PI_ANGLE\r\n }\r\n },\r\n _getTranslatedCoord: function(value, offset) {\r\n return this._translator.translate(value, offset)\r\n },\r\n _getCanvasStartEnd() {\r\n var invert = this.getTranslator().getBusinessRange().invert;\r\n var coords = [0, this.getRadius()];\r\n invert && coords.reverse();\r\n return {\r\n start: coords[0],\r\n end: coords[1]\r\n }\r\n },\r\n _getStripGraphicAttributes: function(fromPoint, toPoint) {\r\n var center = this.getCenter();\r\n return {\r\n x: center.x,\r\n y: center.y,\r\n innerRadius: fromPoint,\r\n outerRadius: toPoint\r\n }\r\n },\r\n _createStrip: function(attrs) {\r\n return this._renderer.arc(attrs.x, attrs.y, attrs.innerRadius, attrs.outerRadius, 0, 360)\r\n },\r\n _getAdjustedStripLabelCoords: circularAxes._getAdjustedStripLabelCoords,\r\n _getStripLabelCoords: function(from, to) {\r\n var labelPos = from + (to - from) / 2;\r\n var center = this.getCenter();\r\n var y = round(center.y - labelPos);\r\n return {\r\n x: center.x,\r\n y: y,\r\n align: constants.center\r\n }\r\n },\r\n _getConstantLineGraphicAttributes: function(value) {\r\n var center = this.getCenter();\r\n return {\r\n cx: center.x,\r\n cy: center.y,\r\n r: value\r\n }\r\n },\r\n _createConstantLine: function(value, attr) {\r\n var attrs = this._getConstantLineGraphicAttributes(value);\r\n return this._renderer.circle(attrs.cx, attrs.cy, attrs.r).attr(attr).sharp()\r\n },\r\n _getConstantLineLabelsCoords: function(value) {\r\n var center = this.getCenter();\r\n var y = round(center.y - value);\r\n return {\r\n x: center.x,\r\n y: y\r\n }\r\n },\r\n _checkAlignmentConstantLineLabels: _noop,\r\n _rotateTick: function(element, coords, isGridLine) {\r\n !isGridLine && element.rotate(coords.angle + HALF_PI_ANGLE, coords.x, coords.y)\r\n },\r\n _validateOverlappingMode: circularAxes._validateOverlappingMode,\r\n _validateDisplayMode: circularAxes._validateDisplayMode,\r\n _getStep: function(boxes) {\r\n var quarter = getPolarQuarter(this.getAngles()[0]);\r\n var spacing = this._options.label.minSpacing;\r\n var func = 2 === quarter || 4 === quarter ? function(box) {\r\n return box.width + spacing\r\n } : function(box) {\r\n return box.height\r\n };\r\n var maxLabelLength = boxes.reduce((prevValue, box) => _max(prevValue, func(box)), 0);\r\n return constants.getTicksCountInRange(this._majorTicks, 2 === quarter || 4 === quarter ? \"x\" : \"y\", maxLabelLength)\r\n }\r\n};\r\nexport var linearSpider = extend({}, linear, {\r\n _createPathElement: function(points, attr) {\r\n return this._renderer.path(points, \"area\").attr(attr).sharp()\r\n },\r\n setSpiderTicks: function(ticks) {\r\n this._spiderTicks = ticks\r\n },\r\n _getGridLineDrawer: function() {\r\n var that = this;\r\n return function(tick, gridStyle) {\r\n return that._createPathElement(that._getGridPoints(tick.coords).points, gridStyle)\r\n }\r\n },\r\n _getGridPoints: function(coords) {\r\n var pos = this.getCenter();\r\n var radius = getDistance(pos.x, pos.y, coords.x, coords.y);\r\n return this._getGridPointsByRadius(radius)\r\n },\r\n _getGridPointsByRadius: function(radius) {\r\n var pos = this.getCenter();\r\n if (radius > this.getRadius()) {\r\n return {\r\n points: null\r\n }\r\n }\r\n return {\r\n points: _map(this._spiderTicks, (function(tick) {\r\n var cosSin = getCosAndSin(tick.coords.angle);\r\n return {\r\n x: round(pos.x + radius * cosSin.cos),\r\n y: round(pos.y + radius * cosSin.sin)\r\n }\r\n }))\r\n }\r\n },\r\n _getStripGraphicAttributes: function(fromPoint, toPoint) {\r\n var innerPoints = this._getGridPointsByRadius(toPoint).points;\r\n var outerPoints = this._getGridPointsByRadius(fromPoint).points;\r\n return {\r\n points: [outerPoints, innerPoints.reverse()]\r\n }\r\n },\r\n _createStrip: circularSpider._createStrip,\r\n _getConstantLineGraphicAttributes: function(value) {\r\n return this._getGridPointsByRadius(value)\r\n },\r\n _createConstantLine: function(value, attr) {\r\n return this._createPathElement(this._getConstantLineGraphicAttributes(value).points, attr)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/axes/constant_line.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nexport default function createConstantLine(axis, options) {\r\n var labelOptions = options.label || {};\r\n var labelPosition = labelOptions.position || \"inside\";\r\n var parsedValue;\r\n var valueIsParsed = false;\r\n var lastStoredCoordinates;\r\n axis._checkAlignmentConstantLineLabels(labelOptions);\r\n var storedCoord;\r\n return {\r\n options: options,\r\n labelOptions: labelOptions,\r\n labelPosition: labelPosition,\r\n label: null,\r\n line: null,\r\n getParsedValue() {\r\n if (!valueIsParsed) {\r\n parsedValue = axis.validateUnit(options.value, \"E2105\", \"constantLine\");\r\n valueIsParsed = true;\r\n return parsedValue\r\n }\r\n return parsedValue\r\n },\r\n draw() {\r\n if (!isDefined(options.value) || axis._translator.getBusinessRange().isEmpty()) {\r\n return this\r\n }\r\n var canvas = axis._getCanvasStartEnd();\r\n var parsedValue = this.getParsedValue();\r\n this.coord = axis._getConstantLinePos(parsedValue, canvas.start, canvas.end);\r\n var rootGroup = options.displayBehindSeries ? axis._axisConstantLineGroups.under : axis._axisConstantLineGroups.above;\r\n var group = rootGroup[labelPosition];\r\n if (!group) {\r\n var side = axis._isHorizontal ? labelOptions.verticalAlignment : labelOptions.horizontalAlignment;\r\n group = rootGroup[side]\r\n }\r\n if (!isDefined(this.coord)) {\r\n return this\r\n }\r\n var path = axis._createConstantLine(this.coord, {\r\n stroke: options.color,\r\n \"stroke-width\": options.width,\r\n dashStyle: options.dashStyle\r\n });\r\n this.line = path.append(rootGroup.inside);\r\n this.label = labelOptions.visible ? axis._drawConstantLineLabels(parsedValue, labelOptions, this.coord, group) : null;\r\n this.updatePosition();\r\n return this\r\n },\r\n getContentContainer() {\r\n return this.label\r\n },\r\n removeLabel() {\r\n this.label && this.label.remove()\r\n },\r\n updatePosition(animate) {\r\n var canvas = axis._getCanvasStartEnd();\r\n var coord = axis._getConstantLinePos(this.getParsedValue(), canvas.start, canvas.end);\r\n if (!isDefined(coord)) {\r\n return\r\n }\r\n this.coord = coord;\r\n if (animate && storedCoord) {\r\n this.label && this.label.attr(axis._getConstantLineLabelsCoords(storedCoord, this.labelOptions));\r\n this.line && this.line.attr(axis._getConstantLineGraphicAttributes(storedCoord));\r\n this.label && this.label.animate(axis._getConstantLineLabelsCoords(this.coord, this.labelOptions));\r\n this.line && this.line.animate(axis._getConstantLineGraphicAttributes(this.coord))\r\n } else {\r\n this.label && this.label.attr(axis._getConstantLineLabelsCoords(this.coord, this.labelOptions));\r\n this.line && this.line.attr(axis._getConstantLineGraphicAttributes(this.coord));\r\n axis._rotateConstantLine(this.line, this.coord)\r\n }\r\n },\r\n saveCoords() {\r\n lastStoredCoordinates = storedCoord;\r\n storedCoord = this.coord\r\n },\r\n resetCoordinates() {\r\n storedCoord = lastStoredCoordinates\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/strip.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n patchFontOptions\r\n} from \"../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nexport default function createStrip(axis, options) {\r\n var storedCoord;\r\n var lastStoredCoordinates;\r\n var labelOptions = options.label || {};\r\n return {\r\n options: options,\r\n label: null,\r\n rect: null,\r\n _getCoord() {\r\n var canvas = axis._getCanvasStartEnd();\r\n var range = axis._translator.getBusinessRange();\r\n return axis._getStripPos(options.startValue, options.endValue, canvas.start, canvas.end, range)\r\n },\r\n _drawLabel: coords => axis._renderer.text(labelOptions.text, coords.x, coords.y).css(patchFontOptions(extend({}, axis.getOptions().label.font, labelOptions.font))).attr({\r\n align: \"center\",\r\n class: labelOptions.cssClass\r\n }).append(axis._axisStripLabelGroup),\r\n draw() {\r\n if (axis._translator.getBusinessRange().isEmpty()) {\r\n return\r\n }\r\n if ((isDefined(options.startValue) || isDefined(options.endValue)) && isDefined(options.color)) {\r\n var stripPos = this._getCoord();\r\n this.labelCoords = labelOptions.text ? axis._getStripLabelCoords(stripPos.from, stripPos.to, labelOptions) : null;\r\n if (stripPos.outOfCanvas || !isDefined(stripPos.to) || !isDefined(stripPos.from)) {\r\n return\r\n }\r\n this.rect = axis._createStrip(axis._getStripGraphicAttributes(stripPos.from, stripPos.to)).attr({\r\n fill: options.color\r\n }).append(axis._axisStripGroup);\r\n this.label = labelOptions.text ? this._drawLabel(this.labelCoords) : null\r\n }\r\n },\r\n getContentContainer() {\r\n return this.label\r\n },\r\n removeLabel() {},\r\n updatePosition(animate) {\r\n var stripPos = this._getCoord();\r\n if (animate && storedCoord) {\r\n this.label && this.label.attr(axis._getStripLabelCoords(storedCoord.from, storedCoord.to, options.label));\r\n this.rect && this.rect.attr(axis._getStripGraphicAttributes(storedCoord.from, storedCoord.to));\r\n this.label && this.label.animate(axis._getStripLabelCoords(stripPos.from, stripPos.to, options.label));\r\n this.rect && this.rect.animate(axis._getStripGraphicAttributes(stripPos.from, stripPos.to))\r\n } else {\r\n this.label && this.label.attr(axis._getStripLabelCoords(stripPos.from, stripPos.to, options.label));\r\n this.rect && this.rect.attr(axis._getStripGraphicAttributes(stripPos.from, stripPos.to))\r\n }\r\n },\r\n saveCoords() {\r\n lastStoredCoordinates = storedCoord;\r\n storedCoord = this._getCoord()\r\n },\r\n resetCoordinates() {\r\n storedCoord = lastStoredCoordinates\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/viz/axes/base_axis.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n smartFormatter as _format,\r\n formatRange\r\n} from \"./smart_formatter\";\r\nimport {\r\n patchFontOptions,\r\n getVizRangeObject,\r\n getLogExt as getLog,\r\n raiseToExt as raiseTo,\r\n valueOf,\r\n rotateBBox,\r\n getCategoriesInfo,\r\n adjustVisualRange,\r\n getAddFunction,\r\n convertVisualRangeObject\r\n} from \"../core/utils\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isPlainObject,\r\n type\r\n} from \"../../core/utils/type\";\r\nimport constants from \"./axes_constants\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport formatHelper from \"../../format_helper\";\r\nimport {\r\n getParser\r\n} from \"../components/parse_utils\";\r\nimport {\r\n tickGenerator\r\n} from \"./tick_generator\";\r\nimport {\r\n Translator2D\r\n} from \"../translators/translator2d\";\r\nimport {\r\n Range\r\n} from \"../translators/range\";\r\nimport {\r\n tick\r\n} from \"./tick\";\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nimport errors from \"../../core/errors\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport xyMethods from \"./xy_axes\";\r\nimport * as polarMethods from \"./polar_axes\";\r\nimport createConstantLine from \"./constant_line\";\r\nimport createStrip from \"./strip\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n calculateCanvasMargins,\r\n measureLabels\r\n} from \"./axes_utils\";\r\nvar convertTicksToValues = constants.convertTicksToValues;\r\nvar _math = Math;\r\nvar _abs = _math.abs;\r\nvar _max = _math.max;\r\nvar _min = _math.min;\r\nvar _isArray = Array.isArray;\r\nvar DEFAULT_AXIS_LABEL_SPACING = 5;\r\nvar MAX_GRID_BORDER_ADHENSION = 4;\r\nvar TOP = constants.top;\r\nvar BOTTOM = constants.bottom;\r\nvar LEFT = constants.left;\r\nvar RIGHT = constants.right;\r\nvar CENTER = constants.center;\r\nvar KEEP = \"keep\";\r\nvar SHIFT = \"shift\";\r\nvar RESET = \"reset\";\r\nvar ROTATE = \"rotate\";\r\nvar DEFAULT_AXIS_DIVISION_FACTOR = 50;\r\nvar DEFAULT_MINOR_AXIS_DIVISION_FACTOR = 15;\r\nvar SCROLL_THRESHOLD = 5;\r\nvar MIN_BAR_MARGIN = 5;\r\nvar MAX_MARGIN_VALUE = .8;\r\nvar dateIntervals = {\r\n day: 864e5,\r\n week: 6048e5\r\n};\r\n\r\nfunction getTickGenerator(options, incidentOccurred, skipTickGeneration, rangeIsEmpty, adjustDivisionFactor, _ref) {\r\n var _options$workWeek;\r\n var {\r\n allowNegatives: allowNegatives,\r\n linearThreshold: linearThreshold\r\n } = _ref;\r\n return tickGenerator({\r\n axisType: options.type,\r\n dataType: options.dataType,\r\n logBase: options.logarithmBase,\r\n allowNegatives: allowNegatives,\r\n linearThreshold: linearThreshold,\r\n axisDivisionFactor: adjustDivisionFactor(options.axisDivisionFactor || DEFAULT_AXIS_DIVISION_FACTOR),\r\n minorAxisDivisionFactor: adjustDivisionFactor(options.minorAxisDivisionFactor || DEFAULT_MINOR_AXIS_DIVISION_FACTOR),\r\n numberMultipliers: options.numberMultipliers,\r\n calculateMinors: options.minorTick.visible || options.minorGrid.visible || options.calculateMinors,\r\n allowDecimals: options.allowDecimals,\r\n endOnTick: options.endOnTick,\r\n incidentOccurred: incidentOccurred,\r\n firstDayOfWeek: null === (_options$workWeek = options.workWeek) || void 0 === _options$workWeek ? void 0 : _options$workWeek[0],\r\n skipTickGeneration: skipTickGeneration,\r\n skipCalculationLimits: options.skipCalculationLimits,\r\n generateExtraTick: options.generateExtraTick,\r\n minTickInterval: options.minTickInterval,\r\n rangeIsEmpty: rangeIsEmpty\r\n })\r\n}\r\n\r\nfunction createMajorTick(axis, renderer, skippedCategory) {\r\n var options = axis.getOptions();\r\n return tick(axis, renderer, options.tick, options.grid, skippedCategory, false)\r\n}\r\n\r\nfunction createMinorTick(axis, renderer) {\r\n var options = axis.getOptions();\r\n return tick(axis, renderer, options.minorTick, options.minorGrid)\r\n}\r\n\r\nfunction createBoundaryTick(axis, renderer, isFirst) {\r\n var options = axis.getOptions();\r\n return tick(axis, renderer, extend({}, options.tick, {\r\n visible: options.showCustomBoundaryTicks\r\n }), options.grid, void 0, false, isFirst ? -1 : 1)\r\n}\r\n\r\nfunction callAction(elements, action, actionArgument1, actionArgument2) {\r\n (elements || []).forEach(e => e[action](actionArgument1, actionArgument2))\r\n}\r\n\r\nfunction initTickCoords(ticks) {\r\n callAction(ticks, \"initCoords\")\r\n}\r\n\r\nfunction drawTickMarks(ticks, options) {\r\n callAction(ticks, \"drawMark\", options)\r\n}\r\n\r\nfunction drawGrids(ticks, drawLine) {\r\n callAction(ticks, \"drawGrid\", drawLine)\r\n}\r\n\r\nfunction updateTicksPosition(ticks, options, animate) {\r\n callAction(ticks, \"updateTickPosition\", options, animate)\r\n}\r\n\r\nfunction updateGridsPosition(ticks, animate) {\r\n callAction(ticks, \"updateGridPosition\", animate)\r\n}\r\n\r\nfunction cleanUpInvalidTicks(ticks) {\r\n var i = ticks.length - 1;\r\n for (i; i >= 0; i--) {\r\n if (!removeInvalidTick(ticks, i)) {\r\n break\r\n }\r\n }\r\n for (i = 0; i < ticks.length; i++) {\r\n if (removeInvalidTick(ticks, i)) {\r\n i--\r\n } else {\r\n break\r\n }\r\n }\r\n}\r\n\r\nfunction removeInvalidTick(ticks, i) {\r\n if (null === ticks[i].coords.x || null === ticks[i].coords.y) {\r\n ticks.splice(i, 1);\r\n return true\r\n }\r\n return false\r\n}\r\n\r\nfunction validateAxisOptions(options) {\r\n var _labelOptions$minSpac;\r\n var labelOptions = options.label;\r\n var position = options.position;\r\n var defaultPosition = options.isHorizontal ? BOTTOM : LEFT;\r\n var secondaryPosition = options.isHorizontal ? TOP : RIGHT;\r\n var labelPosition = labelOptions.position;\r\n if (position !== defaultPosition && position !== secondaryPosition) {\r\n position = defaultPosition\r\n }\r\n if (!labelPosition || \"outside\" === labelPosition) {\r\n labelPosition = position\r\n } else if (\"inside\" === labelPosition) {\r\n labelPosition = {\r\n [TOP]: BOTTOM,\r\n [BOTTOM]: TOP,\r\n [LEFT]: RIGHT,\r\n [RIGHT]: LEFT\r\n } [position]\r\n }\r\n if (labelPosition !== defaultPosition && labelPosition !== secondaryPosition) {\r\n labelPosition = position\r\n }\r\n if (labelOptions.alignment !== CENTER && !labelOptions.userAlignment) {\r\n labelOptions.alignment = {\r\n [TOP]: CENTER,\r\n [BOTTOM]: CENTER,\r\n [LEFT]: RIGHT,\r\n [RIGHT]: LEFT\r\n } [labelPosition]\r\n }\r\n options.position = position;\r\n labelOptions.position = labelPosition;\r\n options.hoverMode = options.hoverMode ? options.hoverMode.toLowerCase() : \"none\";\r\n labelOptions.minSpacing = null !== (_labelOptions$minSpac = labelOptions.minSpacing) && void 0 !== _labelOptions$minSpac ? _labelOptions$minSpac : DEFAULT_AXIS_LABEL_SPACING;\r\n options.type && (options.type = options.type.toLowerCase());\r\n options.argumentType && (options.argumentType = options.argumentType.toLowerCase());\r\n options.valueType && (options.valueType = options.valueType.toLowerCase())\r\n}\r\n\r\nfunction getOptimalAngle(boxes, labelOpt) {\r\n var angle = 180 * _math.asin((boxes[0].height + labelOpt.minSpacing) / (boxes[1].x - boxes[0].x)) / _math.PI;\r\n return angle < 45 ? -45 : -90\r\n}\r\n\r\nfunction updateLabels(ticks, step, func) {\r\n ticks.forEach((function(tick, index) {\r\n if (tick.getContentContainer()) {\r\n if (index % step !== 0) {\r\n tick.removeLabel()\r\n } else if (func) {\r\n func(tick, index)\r\n }\r\n }\r\n }))\r\n}\r\n\r\nfunction getZoomBoundValue(optionValue, dataValue) {\r\n if (void 0 === optionValue) {\r\n return dataValue\r\n } else if (null === optionValue) {\r\n return\r\n } else {\r\n return optionValue\r\n }\r\n}\r\n\r\nfunction configureGenerator(options, axisDivisionFactor, viewPort, screenDelta, minTickInterval) {\r\n var tickGeneratorOptions = extend({}, options, {\r\n endOnTick: true,\r\n axisDivisionFactor: axisDivisionFactor,\r\n skipCalculationLimits: true,\r\n generateExtraTick: true,\r\n minTickInterval: minTickInterval\r\n });\r\n return function(tickInterval, skipTickGeneration, min, max, breaks) {\r\n return getTickGenerator(tickGeneratorOptions, _noop, skipTickGeneration, viewPort.isEmpty(), v => v, viewPort)({\r\n min: min,\r\n max: max,\r\n categories: viewPort.categories,\r\n isSpacedMargin: viewPort.isSpacedMargin\r\n }, screenDelta, tickInterval, isDefined(tickInterval), void 0, void 0, void 0, breaks)\r\n }\r\n}\r\n\r\nfunction getConstantLineSharpDirection(coord, axisCanvas) {\r\n return Math.max(axisCanvas.start, axisCanvas.end) !== coord ? 1 : -1\r\n}\r\n\r\nfunction checkDeprecatedOptions(isValueAxis, options) {\r\n if (isValueAxis && \"shift\" === options.visualRangeUpdateMode) {\r\n errors.log(\"W0016\", \"valueAxis.visualRangeUpdateMode\", \"shift\", \"23.1\", \"Specify another value\")\r\n }\r\n}\r\nexport var Axis = function(renderSettings) {\r\n this._renderer = renderSettings.renderer;\r\n this._incidentOccurred = renderSettings.incidentOccurred;\r\n this._eventTrigger = renderSettings.eventTrigger;\r\n this._stripsGroup = renderSettings.stripsGroup;\r\n this._stripLabelAxesGroup = renderSettings.stripLabelAxesGroup;\r\n this._labelsAxesGroup = renderSettings.labelsAxesGroup;\r\n this._constantLinesGroup = renderSettings.constantLinesGroup;\r\n this._scaleBreaksGroup = renderSettings.scaleBreaksGroup;\r\n this._axesContainerGroup = renderSettings.axesContainerGroup;\r\n this._gridContainerGroup = renderSettings.gridGroup;\r\n this._axisCssPrefix = renderSettings.widgetClass + \"-\" + (renderSettings.axisClass ? renderSettings.axisClass + \"-\" : \"\");\r\n this._setType(renderSettings.axisType, renderSettings.drawingType);\r\n this._createAxisGroups();\r\n this._translator = this._createTranslator();\r\n this.isArgumentAxis = renderSettings.isArgumentAxis;\r\n this._viewport = {};\r\n this._prevDataInfo = {};\r\n this._firstDrawing = true;\r\n this._initRange = {};\r\n this._getTemplate = renderSettings.getTemplate\r\n};\r\nAxis.prototype = {\r\n constructor: Axis,\r\n _drawAxis() {\r\n var options = this._options;\r\n if (!options.visible) {\r\n return\r\n }\r\n this._axisElement = this._createAxisElement();\r\n this._updateAxisElementPosition();\r\n this._axisElement.attr({\r\n \"stroke-width\": options.width,\r\n stroke: options.color,\r\n \"stroke-opacity\": options.opacity\r\n }).sharp(this._getSharpParam(true), this.getAxisSharpDirection()).append(this._axisLineGroup)\r\n },\r\n _createPathElement(points, attr, sharpDirection) {\r\n return this.sharp(this._renderer.path(points, \"line\").attr(attr), sharpDirection)\r\n },\r\n sharp(svgElement) {\r\n var sharpDirection = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1;\r\n return svgElement.sharp(this._getSharpParam(), sharpDirection)\r\n },\r\n customPositionIsAvailable: () => false,\r\n getOrthogonalAxis: _noop,\r\n getCustomPosition: _noop,\r\n getCustomBoundaryPosition: _noop,\r\n resolveOverlappingForCustomPositioning: _noop,\r\n hasNonBoundaryPosition: () => false,\r\n customPositionIsBoundaryOrthogonalAxis: () => false,\r\n getResolvedBoundaryPosition() {\r\n return this.getOptions().position\r\n },\r\n getAxisSharpDirection() {\r\n var position = this.getResolvedBoundaryPosition();\r\n return this.hasNonBoundaryPosition() || position !== BOTTOM && position !== RIGHT ? 1 : -1\r\n },\r\n getSharpDirectionByCoords(coords) {\r\n var canvas = this._getCanvasStartEnd();\r\n var maxCoord = Math.max(canvas.start, canvas.end);\r\n return this.getRadius ? 0 : maxCoord !== coords[this._isHorizontal ? \"x\" : \"y\"] ? 1 : -1\r\n },\r\n _getGridLineDrawer: function() {\r\n var that = this;\r\n return function(tick, gridStyle) {\r\n var grid = that._getGridPoints(tick.coords);\r\n if (grid.points) {\r\n return that._createPathElement(grid.points, gridStyle, that.getSharpDirectionByCoords(tick.coords))\r\n }\r\n return null\r\n }\r\n },\r\n _getGridPoints: function(coords) {\r\n var isHorizontal = this._isHorizontal;\r\n var tickPositionField = isHorizontal ? \"x\" : \"y\";\r\n var orthogonalPositions = this._orthogonalPositions;\r\n var positionFrom = orthogonalPositions.start;\r\n var positionTo = orthogonalPositions.end;\r\n var borderOptions = this.borderOptions;\r\n var canvasStart = isHorizontal ? LEFT : TOP;\r\n var canvasEnd = isHorizontal ? RIGHT : BOTTOM;\r\n var axisCanvas = this.getCanvas();\r\n var canvas = {\r\n left: axisCanvas.left,\r\n right: axisCanvas.width - axisCanvas.right,\r\n top: axisCanvas.top,\r\n bottom: axisCanvas.height - axisCanvas.bottom\r\n };\r\n var firstBorderLinePosition = borderOptions.visible && borderOptions[canvasStart] ? canvas[canvasStart] : void 0;\r\n var lastBorderLinePosition = borderOptions.visible && borderOptions[canvasEnd] ? canvas[canvasEnd] : void 0;\r\n var minDelta = MAX_GRID_BORDER_ADHENSION + firstBorderLinePosition;\r\n var maxDelta = lastBorderLinePosition - MAX_GRID_BORDER_ADHENSION;\r\n if (this.areCoordsOutsideAxis(coords) || void 0 === coords[tickPositionField] || coords[tickPositionField] < minDelta || coords[tickPositionField] > maxDelta) {\r\n return {\r\n points: null\r\n }\r\n }\r\n return {\r\n points: isHorizontal ? null !== coords[tickPositionField] ? [coords[tickPositionField], positionFrom, coords[tickPositionField], positionTo] : null : null !== coords[tickPositionField] ? [positionFrom, coords[tickPositionField], positionTo, coords[tickPositionField]] : null\r\n }\r\n },\r\n _getConstantLinePos: function(parsedValue, canvasStart, canvasEnd) {\r\n var value = this._getTranslatedCoord(parsedValue);\r\n if (!isDefined(value) || value < _min(canvasStart, canvasEnd) || value > _max(canvasStart, canvasEnd)) {\r\n return\r\n }\r\n return value\r\n },\r\n _getConstantLineGraphicAttributes: function(value) {\r\n var positionFrom = this._orthogonalPositions.start;\r\n var positionTo = this._orthogonalPositions.end;\r\n return {\r\n points: this._isHorizontal ? [value, positionFrom, value, positionTo] : [positionFrom, value, positionTo, value]\r\n }\r\n },\r\n _createConstantLine: function(value, attr) {\r\n return this._createPathElement(this._getConstantLineGraphicAttributes(value).points, attr, getConstantLineSharpDirection(value, this._getCanvasStartEnd()))\r\n },\r\n _drawConstantLineLabelText: function(text, x, y, _ref2, group) {\r\n var {\r\n font: font,\r\n cssClass: cssClass\r\n } = _ref2;\r\n return this._renderer.text(text, x, y).css(patchFontOptions(extend({}, this._options.label.font, font))).attr({\r\n align: \"center\",\r\n class: cssClass\r\n }).append(group)\r\n },\r\n _drawConstantLineLabels: function(parsedValue, lineLabelOptions, value, group) {\r\n var _text;\r\n var text = lineLabelOptions.text;\r\n var options = this._options;\r\n var labelOptions = options.label;\r\n this._checkAlignmentConstantLineLabels(lineLabelOptions);\r\n text = null !== (_text = text) && void 0 !== _text ? _text : this.formatLabel(parsedValue, labelOptions);\r\n var coords = this._getConstantLineLabelsCoords(value, lineLabelOptions);\r\n return this._drawConstantLineLabelText(text, coords.x, coords.y, lineLabelOptions, group)\r\n },\r\n _getStripPos: function(startValue, endValue, canvasStart, canvasEnd, range) {\r\n var isContinuous = !!(range.minVisible || range.maxVisible);\r\n var categories = (range.categories || []).reduce((function(result, cat) {\r\n result.push(cat.valueOf());\r\n return result\r\n }), []);\r\n var start;\r\n var end;\r\n var swap;\r\n var startCategoryIndex;\r\n var endCategoryIndex;\r\n if (!isContinuous) {\r\n if (isDefined(startValue) && isDefined(endValue)) {\r\n var _parsedStartValue$val, _parsedEndValue$value;\r\n var parsedStartValue = this.parser(startValue);\r\n var parsedEndValue = this.parser(endValue);\r\n startCategoryIndex = categories.indexOf(null !== (_parsedStartValue$val = null === parsedStartValue || void 0 === parsedStartValue ? void 0 : parsedStartValue.valueOf()) && void 0 !== _parsedStartValue$val ? _parsedStartValue$val : void 0);\r\n endCategoryIndex = categories.indexOf(null !== (_parsedEndValue$value = null === parsedEndValue || void 0 === parsedEndValue ? void 0 : parsedEndValue.valueOf()) && void 0 !== _parsedEndValue$value ? _parsedEndValue$value : void 0);\r\n if (-1 === startCategoryIndex || -1 === endCategoryIndex) {\r\n return {\r\n from: 0,\r\n to: 0,\r\n outOfCanvas: true\r\n }\r\n }\r\n if (startCategoryIndex > endCategoryIndex) {\r\n swap = endValue;\r\n endValue = startValue;\r\n startValue = swap\r\n }\r\n }\r\n }\r\n if (isDefined(startValue)) {\r\n startValue = this.validateUnit(startValue, \"E2105\", \"strip\");\r\n start = this._getTranslatedCoord(startValue, -1)\r\n } else {\r\n start = canvasStart\r\n }\r\n if (isDefined(endValue)) {\r\n endValue = this.validateUnit(endValue, \"E2105\", \"strip\");\r\n end = this._getTranslatedCoord(endValue, 1)\r\n } else {\r\n end = canvasEnd\r\n }\r\n var stripPosition = start < end ? {\r\n from: start,\r\n to: end\r\n } : {\r\n from: end,\r\n to: start\r\n };\r\n var visibleArea = this.getVisibleArea();\r\n if (stripPosition.from <= visibleArea[0] && stripPosition.to <= visibleArea[0] || stripPosition.from >= visibleArea[1] && stripPosition.to >= visibleArea[1]) {\r\n stripPosition.outOfCanvas = true\r\n }\r\n return stripPosition\r\n },\r\n _getStripGraphicAttributes: function(fromPoint, toPoint) {\r\n var x;\r\n var y;\r\n var width;\r\n var height;\r\n var orthogonalPositions = this._orthogonalPositions;\r\n var positionFrom = orthogonalPositions.start;\r\n var positionTo = orthogonalPositions.end;\r\n if (this._isHorizontal) {\r\n x = fromPoint;\r\n y = _min(positionFrom, positionTo);\r\n width = toPoint - fromPoint;\r\n height = _abs(positionFrom - positionTo)\r\n } else {\r\n x = _min(positionFrom, positionTo);\r\n y = fromPoint;\r\n width = _abs(positionFrom - positionTo);\r\n height = _abs(fromPoint - toPoint)\r\n }\r\n return {\r\n x: x,\r\n y: y,\r\n width: width,\r\n height: height\r\n }\r\n },\r\n _createStrip: function(attrs) {\r\n return this._renderer.rect(attrs.x, attrs.y, attrs.width, attrs.height)\r\n },\r\n _adjustStripLabels: function() {\r\n var that = this;\r\n this._strips.forEach((function(strip) {\r\n if (strip.label) {\r\n strip.label.attr(that._getAdjustedStripLabelCoords(strip))\r\n }\r\n }))\r\n },\r\n _adjustLabelsCoord(offset, maxWidth, checkCanvas) {\r\n var getContainerAttrs = tick => this._getLabelAdjustedCoord(tick, offset + (tick.labelOffset || 0), maxWidth, checkCanvas);\r\n this._majorTicks.forEach((function(tick) {\r\n if (tick.label) {\r\n tick.updateMultilineTextAlignment();\r\n tick.label.attr(getContainerAttrs(tick))\r\n } else {\r\n tick.templateContainer && tick.templateContainer.attr(getContainerAttrs(tick))\r\n }\r\n }))\r\n },\r\n _adjustLabels: function(offset) {\r\n var options = this.getOptions();\r\n var positionsAreConsistent = options.position === options.label.position;\r\n var maxSize = this._majorTicks.reduce((function(size, tick) {\r\n if (!tick.getContentContainer()) {\r\n return size\r\n }\r\n var bBox = tick.labelRotationAngle ? rotateBBox(tick.labelBBox, [tick.labelCoords.x, tick.labelCoords.y], -tick.labelRotationAngle) : tick.labelBBox;\r\n return {\r\n width: _max(size.width || 0, bBox.width),\r\n height: _max(size.height || 0, bBox.height),\r\n offset: _max(size.offset || 0, tick.labelOffset || 0)\r\n }\r\n }), {});\r\n var additionalOffset = positionsAreConsistent ? this._isHorizontal ? maxSize.height : maxSize.width : 0;\r\n this._adjustLabelsCoord(offset, maxSize.width);\r\n return offset + additionalOffset + (additionalOffset && this._options.label.indentFromAxis) + (positionsAreConsistent ? maxSize.offset : 0)\r\n },\r\n _getLabelAdjustedCoord: function(tick, offset, maxWidth) {\r\n offset = offset || 0;\r\n var options = this._options;\r\n var templateBox = tick.templateContainer && tick.templateContainer.getBBox();\r\n var box = templateBox || rotateBBox(tick.labelBBox, [tick.labelCoords.x, tick.labelCoords.y], -tick.labelRotationAngle || 0);\r\n var textAlign = tick.labelAlignment || options.label.alignment;\r\n var isDiscrete = \"discrete\" === this._options.type;\r\n var isFlatLabel = tick.labelRotationAngle % 90 === 0;\r\n var indentFromAxis = options.label.indentFromAxis;\r\n var labelPosition = options.label.position;\r\n var axisPosition = this._axisPosition;\r\n var labelCoords = tick.labelCoords;\r\n var labelX = labelCoords.x;\r\n var translateX;\r\n var translateY;\r\n if (this._isHorizontal) {\r\n if (labelPosition === BOTTOM) {\r\n translateY = axisPosition + indentFromAxis - box.y + offset\r\n } else {\r\n translateY = axisPosition - indentFromAxis - (box.y + box.height) - offset\r\n }\r\n if (textAlign === RIGHT) {\r\n translateX = isDiscrete && isFlatLabel ? tick.coords.x - (box.x + box.width) : labelX - box.x - box.width\r\n } else if (textAlign === LEFT) {\r\n translateX = isDiscrete && isFlatLabel ? labelX - box.x - (tick.coords.x - labelX) : labelX - box.x\r\n } else {\r\n translateX = labelX - box.x - box.width / 2\r\n }\r\n } else {\r\n translateY = labelCoords.y - box.y - box.height / 2;\r\n if (labelPosition === LEFT) {\r\n if (textAlign === LEFT) {\r\n translateX = axisPosition - indentFromAxis - maxWidth - box.x\r\n } else if (textAlign === CENTER) {\r\n translateX = axisPosition - indentFromAxis - maxWidth / 2 - box.x - box.width / 2\r\n } else {\r\n translateX = axisPosition - indentFromAxis - box.x - box.width\r\n }\r\n translateX -= offset\r\n } else {\r\n if (textAlign === RIGHT) {\r\n translateX = axisPosition + indentFromAxis + maxWidth - box.x - box.width\r\n } else if (textAlign === CENTER) {\r\n translateX = axisPosition + indentFromAxis + maxWidth / 2 - box.x - box.width / 2\r\n } else {\r\n translateX = axisPosition + indentFromAxis - box.x\r\n }\r\n translateX += offset\r\n }\r\n }\r\n return {\r\n translateX: translateX,\r\n translateY: translateY\r\n }\r\n },\r\n _createAxisConstantLineGroups: function() {\r\n var renderer = this._renderer;\r\n var classSelector = this._axisCssPrefix;\r\n var constantLinesClass = classSelector + \"constant-lines\";\r\n var insideGroup = renderer.g().attr({\r\n class: constantLinesClass\r\n });\r\n var outsideGroup1 = renderer.g().attr({\r\n class: constantLinesClass\r\n });\r\n var outsideGroup2 = renderer.g().attr({\r\n class: constantLinesClass\r\n });\r\n return {\r\n inside: insideGroup,\r\n outside1: outsideGroup1,\r\n left: outsideGroup1,\r\n top: outsideGroup1,\r\n outside2: outsideGroup2,\r\n right: outsideGroup2,\r\n bottom: outsideGroup2,\r\n remove: function() {\r\n this.inside.remove();\r\n this.outside1.remove();\r\n this.outside2.remove()\r\n },\r\n clear: function() {\r\n this.inside.clear();\r\n this.outside1.clear();\r\n this.outside2.clear()\r\n }\r\n }\r\n },\r\n _createAxisGroups: function() {\r\n var renderer = this._renderer;\r\n var classSelector = this._axisCssPrefix;\r\n this._axisGroup = renderer.g().attr({\r\n class: classSelector + \"axis\"\r\n }).enableLinks();\r\n this._axisStripGroup = renderer.g().attr({\r\n class: classSelector + \"strips\"\r\n });\r\n this._axisGridGroup = renderer.g().attr({\r\n class: classSelector + \"grid\"\r\n });\r\n this._axisElementsGroup = renderer.g().attr({\r\n class: classSelector + \"elements\"\r\n });\r\n this._axisLineGroup = renderer.g().attr({\r\n class: classSelector + \"line\"\r\n }).linkOn(this._axisGroup, \"axisLine\").linkAppend();\r\n this._axisTitleGroup = renderer.g().attr({\r\n class: classSelector + \"title\"\r\n }).append(this._axisGroup);\r\n this._axisConstantLineGroups = {\r\n above: this._createAxisConstantLineGroups(),\r\n under: this._createAxisConstantLineGroups()\r\n };\r\n this._axisStripLabelGroup = renderer.g().attr({\r\n class: classSelector + \"axis-labels\"\r\n })\r\n },\r\n _clearAxisGroups: function() {\r\n this._axisGroup.remove();\r\n this._axisStripGroup.remove();\r\n this._axisStripLabelGroup.remove();\r\n this._axisConstantLineGroups.above.remove();\r\n this._axisConstantLineGroups.under.remove();\r\n this._axisGridGroup.remove();\r\n this._axisTitleGroup.clear();\r\n if (!this._options.label.template || !this.isRendered()) {\r\n this._axisElementsGroup.remove();\r\n this._axisElementsGroup.clear()\r\n }\r\n this._axisLineGroup && this._axisLineGroup.clear();\r\n this._axisStripGroup && this._axisStripGroup.clear();\r\n this._axisGridGroup && this._axisGridGroup.clear();\r\n this._axisConstantLineGroups.above.clear();\r\n this._axisConstantLineGroups.under.clear();\r\n this._axisStripLabelGroup && this._axisStripLabelGroup.clear()\r\n },\r\n _getLabelFormatObject: function(value, labelOptions, range, point, tickInterval, ticks) {\r\n range = range || this._getViewportRange();\r\n var formatObject = {\r\n value: value,\r\n valueText: _format(value, {\r\n labelOptions: labelOptions,\r\n ticks: ticks || convertTicksToValues(this._majorTicks),\r\n tickInterval: null !== tickInterval && void 0 !== tickInterval ? tickInterval : this._tickInterval,\r\n dataType: this._options.dataType,\r\n logarithmBase: this._options.logarithmBase,\r\n type: this._options.type,\r\n showTransition: !this._options.marker.visible,\r\n point: point\r\n }) || \"\",\r\n min: range.minVisible,\r\n max: range.maxVisible\r\n };\r\n if (point) {\r\n formatObject.point = point\r\n }\r\n return formatObject\r\n },\r\n formatLabel: function(value, labelOptions, range, point, tickInterval, ticks) {\r\n var formatObject = this._getLabelFormatObject(value, labelOptions, range, point, tickInterval, ticks);\r\n return isFunction(labelOptions.customizeText) ? labelOptions.customizeText.call(formatObject, formatObject) : formatObject.valueText\r\n },\r\n formatHint: function(value, labelOptions, range) {\r\n var formatObject = this._getLabelFormatObject(value, labelOptions, range);\r\n return isFunction(labelOptions.customizeHint) ? labelOptions.customizeHint.call(formatObject, formatObject) : void 0\r\n },\r\n formatRange(startValue, endValue, interval, argumentFormat) {\r\n return formatRange({\r\n startValue: startValue,\r\n endValue: endValue,\r\n tickInterval: interval,\r\n argumentFormat: argumentFormat,\r\n axisOptions: this.getOptions()\r\n })\r\n },\r\n _setTickOffset: function() {\r\n var options = this._options;\r\n var discreteAxisDivisionMode = options.discreteAxisDivisionMode;\r\n this._tickOffset = +(\"crossLabels\" !== discreteAxisDivisionMode || !discreteAxisDivisionMode)\r\n },\r\n aggregatedPointBetweenTicks() {\r\n return \"crossTicks\" === this._options.aggregatedPointsPosition\r\n },\r\n resetApplyingAnimation: function(isFirstDrawing) {\r\n this._resetApplyingAnimation = true;\r\n if (isFirstDrawing) {\r\n this._firstDrawing = true\r\n }\r\n },\r\n isFirstDrawing() {\r\n return this._firstDrawing\r\n },\r\n getMargins: function() {\r\n var that = this;\r\n var {\r\n position: position,\r\n offset: offset,\r\n customPosition: customPosition,\r\n placeholderSize: placeholderSize,\r\n grid: grid,\r\n tick: tick,\r\n crosshairMargin: crosshairMargin\r\n } = that._options;\r\n var isDefinedCustomPositionOption = isDefined(customPosition);\r\n var boundaryPosition = that.getResolvedBoundaryPosition();\r\n var canvas = that.getCanvas();\r\n var cLeft = canvas.left;\r\n var cTop = canvas.top;\r\n var cRight = canvas.width - canvas.right;\r\n var cBottom = canvas.height - canvas.bottom;\r\n var edgeMarginCorrection = _max(grid.visible && grid.width || 0, tick.visible && tick.width || 0);\r\n var constantLineAboveSeries = that._axisConstantLineGroups.above;\r\n var constantLineUnderSeries = that._axisConstantLineGroups.under;\r\n var boxes = [that._axisElementsGroup, constantLineAboveSeries.outside1, constantLineAboveSeries.outside2, constantLineUnderSeries.outside1, constantLineUnderSeries.outside2, that._axisLineGroup].map(group => group && group.getBBox()).concat(function(group) {\r\n var box = group && group.getBBox();\r\n if (!box || box.isEmpty) {\r\n return box\r\n }\r\n if (that._isHorizontal) {\r\n box.x = cLeft;\r\n box.width = cRight - cLeft\r\n } else {\r\n box.y = cTop;\r\n box.height = cBottom - cTop\r\n }\r\n return box\r\n }(that._axisTitleGroup));\r\n var margins = calculateCanvasMargins(boxes, canvas);\r\n margins[position] += crosshairMargin;\r\n if (that.hasNonBoundaryPosition() && isDefinedCustomPositionOption) {\r\n margins[boundaryPosition] = 0\r\n }\r\n if (placeholderSize) {\r\n margins[position] = placeholderSize\r\n }\r\n if (edgeMarginCorrection) {\r\n if (that._isHorizontal && canvas.right < edgeMarginCorrection && margins.right < edgeMarginCorrection) {\r\n margins.right = edgeMarginCorrection\r\n }\r\n if (!that._isHorizontal && canvas.bottom < edgeMarginCorrection && margins.bottom < edgeMarginCorrection) {\r\n margins.bottom = edgeMarginCorrection\r\n }\r\n }\r\n if (!isDefinedCustomPositionOption && isDefined(offset)) {\r\n var moveByOffset = that.customPositionIsBoundary() && (offset > 0 && (boundaryPosition === LEFT || boundaryPosition === TOP) || offset < 0 && (boundaryPosition === RIGHT || boundaryPosition === BOTTOM));\r\n margins[boundaryPosition] -= moveByOffset ? offset : 0\r\n }\r\n return margins\r\n },\r\n validateUnit: function(unit, idError, parameters) {\r\n unit = this.parser(unit);\r\n if (void 0 === unit && idError) {\r\n this._incidentOccurred(idError, [parameters])\r\n }\r\n return unit\r\n },\r\n _setType: function(axisType, drawingType) {\r\n var axisTypeMethods;\r\n switch (axisType) {\r\n case \"xyAxes\":\r\n axisTypeMethods = xyMethods;\r\n break;\r\n case \"polarAxes\":\r\n axisTypeMethods = polarMethods\r\n }\r\n extend(this, axisTypeMethods[drawingType])\r\n },\r\n _getSharpParam: function() {\r\n return true\r\n },\r\n _disposeBreaksGroup: _noop,\r\n dispose: function() {\r\n [this._axisElementsGroup, this._axisStripGroup, this._axisGroup].forEach((function(g) {\r\n g.dispose()\r\n }));\r\n this._strips = this._title = null;\r\n this._axisStripGroup = this._axisConstantLineGroups = this._axisStripLabelGroup = this._axisBreaksGroup = null;\r\n this._axisLineGroup = this._axisElementsGroup = this._axisGridGroup = null;\r\n this._axisGroup = this._axisTitleGroup = null;\r\n this._axesContainerGroup = this._stripsGroup = this._constantLinesGroup = this._labelsAxesGroup = null;\r\n this._renderer = this._options = this._textOptions = this._textFontStyles = null;\r\n this._translator = null;\r\n this._majorTicks = this._minorTicks = null;\r\n this._disposeBreaksGroup();\r\n this._templatesRendered && this._templatesRendered.reject()\r\n },\r\n getOptions: function() {\r\n return this._options\r\n },\r\n setPane: function(pane) {\r\n this.pane = pane;\r\n this._options.pane = pane\r\n },\r\n setTypes: function(type, axisType, typeSelector) {\r\n this._options.type = type || this._options.type;\r\n this._options[typeSelector] = axisType || this._options[typeSelector];\r\n this._updateTranslator()\r\n },\r\n resetTypes: function(typeSelector) {\r\n this._options.type = this._initTypes.type;\r\n this._options[typeSelector] = this._initTypes[typeSelector]\r\n },\r\n getTranslator: function() {\r\n return this._translator\r\n },\r\n updateOptions: function(options) {\r\n var that = this;\r\n var labelOpt = options.label;\r\n validateAxisOptions(options);\r\n checkDeprecatedOptions(!that.isArgumentAxis, options);\r\n that._options = options;\r\n options.tick = options.tick || {};\r\n options.minorTick = options.minorTick || {};\r\n options.grid = options.grid || {};\r\n options.minorGrid = options.minorGrid || {};\r\n options.title = options.title || {};\r\n options.marker = options.marker || {};\r\n that._initTypes = {\r\n type: options.type,\r\n argumentType: options.argumentType,\r\n valueType: options.valueType\r\n };\r\n that._setTickOffset();\r\n that._isHorizontal = options.isHorizontal;\r\n that.pane = options.pane;\r\n that.name = options.name;\r\n that.priority = options.priority;\r\n that._hasLabelFormat = \"\" !== labelOpt.format && isDefined(labelOpt.format);\r\n that._textOptions = {\r\n opacity: labelOpt.opacity,\r\n align: \"center\",\r\n class: labelOpt.cssClass\r\n };\r\n that._textFontStyles = patchFontOptions(labelOpt.font);\r\n if (options.type === constants.logarithmic) {\r\n if (options.logarithmBaseError) {\r\n that._incidentOccurred(\"E2104\");\r\n delete options.logarithmBaseError\r\n }\r\n }\r\n that._updateTranslator();\r\n that._createConstantLines();\r\n that._strips = (options.strips || []).map(o => createStrip(that, o));\r\n that._majorTicks = that._minorTicks = null;\r\n that._firstDrawing = true\r\n },\r\n calculateInterval: function(value, prevValue) {\r\n var options = this._options;\r\n if (!options || options.type !== constants.logarithmic) {\r\n return _abs(value - prevValue)\r\n }\r\n var {\r\n allowNegatives: allowNegatives,\r\n linearThreshold: linearThreshold\r\n } = new Range(this.getTranslator().getBusinessRange());\r\n return _abs(getLog(value, options.logarithmBase, allowNegatives, linearThreshold) - getLog(prevValue, options.logarithmBase, allowNegatives, linearThreshold))\r\n },\r\n getCanvasRange() {\r\n var translator = this._translator;\r\n return {\r\n startValue: translator.from(translator.translate(\"canvas_position_start\")),\r\n endValue: translator.from(translator.translate(\"canvas_position_end\"))\r\n }\r\n },\r\n _processCanvas: function(canvas) {\r\n return canvas\r\n },\r\n updateCanvas: function(canvas, canvasRedesign) {\r\n if (!canvasRedesign) {\r\n var positions = this._orthogonalPositions = {\r\n start: !this._isHorizontal ? canvas.left : canvas.top,\r\n end: !this._isHorizontal ? canvas.width - canvas.right : canvas.height - canvas.bottom\r\n };\r\n positions.center = positions.start + (positions.end - positions.start) / 2\r\n } else {\r\n this._orthogonalPositions = null\r\n }\r\n this._canvas = canvas;\r\n this._translator.updateCanvas(this._processCanvas(canvas));\r\n this._initAxisPositions()\r\n },\r\n getCanvas: function() {\r\n return this._canvas\r\n },\r\n getAxisShift() {\r\n return this._axisShift || 0\r\n },\r\n hideTitle: function() {\r\n if (this._options.title.text) {\r\n this._incidentOccurred(\"W2105\", [this._isHorizontal ? \"horizontal\" : \"vertical\"]);\r\n this._axisTitleGroup.clear()\r\n }\r\n },\r\n getTitle: function() {\r\n return this._title\r\n },\r\n hideOuterElements: function() {\r\n var options = this._options;\r\n if ((options.label.visible || this._outsideConstantLines.length) && !this._translator.getBusinessRange().isEmpty()) {\r\n this._incidentOccurred(\"W2106\", [this._isHorizontal ? \"horizontal\" : \"vertical\"]);\r\n this._axisElementsGroup.clear();\r\n callAction(this._outsideConstantLines, \"removeLabel\")\r\n }\r\n },\r\n _resolveLogarithmicOptionsForRange(range) {\r\n var options = this._options;\r\n if (options.type === constants.logarithmic) {\r\n range.addRange({\r\n allowNegatives: void 0 !== options.allowNegatives ? options.allowNegatives : range.min <= 0\r\n });\r\n if (!isNaN(options.linearThreshold)) {\r\n range.linearThreshold = options.linearThreshold\r\n }\r\n }\r\n },\r\n adjustViewport(businessRange) {\r\n var options = this._options;\r\n var isDiscrete = options.type === constants.discrete;\r\n var categories = this._seriesData && this._seriesData.categories || [];\r\n var wholeRange = this.adjustRange(getVizRangeObject(options.wholeRange));\r\n var visualRange = this.getViewport() || {};\r\n var result = new Range(businessRange);\r\n this._addConstantLinesToRange(result);\r\n var minDefined = isDefined(visualRange.startValue);\r\n var maxDefined = isDefined(visualRange.endValue);\r\n if (!isDiscrete) {\r\n minDefined = minDefined && (!isDefined(wholeRange.endValue) || visualRange.startValue < wholeRange.endValue);\r\n maxDefined = maxDefined && (!isDefined(wholeRange.startValue) || visualRange.endValue > wholeRange.startValue)\r\n }\r\n var minVisible = minDefined ? visualRange.startValue : result.minVisible;\r\n var maxVisible = maxDefined ? visualRange.endValue : result.maxVisible;\r\n if (!isDiscrete) {\r\n var _wholeRange$startValu, _wholeRange$endValue;\r\n result.min = null !== (_wholeRange$startValu = wholeRange.startValue) && void 0 !== _wholeRange$startValu ? _wholeRange$startValu : result.min;\r\n result.max = null !== (_wholeRange$endValue = wholeRange.endValue) && void 0 !== _wholeRange$endValue ? _wholeRange$endValue : result.max\r\n } else {\r\n var categoriesInfo = getCategoriesInfo(categories, wholeRange.startValue, wholeRange.endValue);\r\n categories = categoriesInfo.categories;\r\n result.categories = categories\r\n }\r\n var adjustedVisualRange = adjustVisualRange({\r\n axisType: options.type,\r\n dataType: options.dataType,\r\n base: options.logarithmBase\r\n }, {\r\n startValue: minDefined ? visualRange.startValue : void 0,\r\n endValue: maxDefined ? visualRange.endValue : void 0,\r\n length: visualRange.length\r\n }, {\r\n categories: categories,\r\n min: wholeRange.startValue,\r\n max: wholeRange.endValue\r\n }, {\r\n categories: categories,\r\n min: minVisible,\r\n max: maxVisible\r\n });\r\n result.minVisible = adjustedVisualRange.startValue;\r\n result.maxVisible = adjustedVisualRange.endValue;\r\n !isDefined(result.min) && (result.min = result.minVisible);\r\n !isDefined(result.max) && (result.max = result.maxVisible);\r\n result.addRange({});\r\n this._resolveLogarithmicOptionsForRange(result);\r\n return result\r\n },\r\n adjustRange(range) {\r\n range = range || {};\r\n var isDiscrete = this._options.type === constants.discrete;\r\n var isLogarithmic = this._options.type === constants.logarithmic;\r\n var disabledNegatives = false === this._options.allowNegatives;\r\n if (isLogarithmic) {\r\n range.startValue = disabledNegatives && range.startValue <= 0 ? null : range.startValue;\r\n range.endValue = disabledNegatives && range.endValue <= 0 ? null : range.endValue\r\n }\r\n if (!isDiscrete && isDefined(range.startValue) && isDefined(range.endValue) && range.startValue > range.endValue) {\r\n var tmp = range.endValue;\r\n range.endValue = range.startValue;\r\n range.startValue = tmp\r\n }\r\n return range\r\n },\r\n _getVisualRangeUpdateMode(viewport, newRange, oppositeValue) {\r\n var value = this._options.visualRangeUpdateMode;\r\n var translator = this._translator;\r\n var range = this._seriesData;\r\n var prevDataInfo = this._prevDataInfo;\r\n if (prevDataInfo.isEmpty && !prevDataInfo.containsConstantLine) {\r\n return KEEP\r\n }\r\n if (!this.isArgumentAxis) {\r\n var _viewport = this.getViewport();\r\n if (!isDefined(_viewport.startValue) && !isDefined(_viewport.endValue) && !isDefined(_viewport.length)) {\r\n return RESET\r\n }\r\n }\r\n if (this.isArgumentAxis) {\r\n if (-1 === [SHIFT, KEEP, RESET].indexOf(value)) {\r\n if (range.axisType === constants.discrete) {\r\n var categories = range.categories;\r\n var newCategories = newRange.categories;\r\n var visualRange = this.visualRange();\r\n if (categories && newCategories && categories.length && -1 !== newCategories.map(c => c.valueOf()).join(\",\").indexOf(categories.map(c => c.valueOf()).join(\",\")) && (visualRange.startValue.valueOf() !== categories[0].valueOf() || visualRange.endValue.valueOf() !== categories[categories.length - 1].valueOf())) {\r\n value = KEEP\r\n } else {\r\n value = RESET\r\n }\r\n } else {\r\n var minPoint = translator.translate(range.min);\r\n var minVisiblePoint = translator.translate(viewport.startValue);\r\n var maxPoint = translator.translate(range.max);\r\n var maxVisiblePoint = translator.translate(viewport.endValue);\r\n if (minPoint === minVisiblePoint && maxPoint === maxVisiblePoint) {\r\n value = RESET\r\n } else if (minPoint !== minVisiblePoint && maxPoint === maxVisiblePoint) {\r\n value = SHIFT\r\n } else {\r\n value = KEEP\r\n }\r\n }\r\n if (value === KEEP && prevDataInfo.isEmpty && prevDataInfo.containsConstantLine) {\r\n value = RESET\r\n }\r\n }\r\n } else if (-1 === [KEEP, RESET].indexOf(value)) {\r\n if (oppositeValue === KEEP) {\r\n value = KEEP\r\n } else {\r\n value = RESET\r\n }\r\n }\r\n return value\r\n },\r\n _handleBusinessRangeChanged(oppositeVisualRangeUpdateMode, axisReinitialized, newRange) {\r\n var visualRange = this.visualRange();\r\n if (axisReinitialized || this._translator.getBusinessRange().isEmpty()) {\r\n return\r\n }\r\n var visualRangeUpdateMode = this._lastVisualRangeUpdateMode = this._getVisualRangeUpdateMode(visualRange, newRange, oppositeVisualRangeUpdateMode);\r\n if (visualRangeUpdateMode === KEEP) {\r\n this._setVisualRange([visualRange.startValue, visualRange.endValue])\r\n } else if (visualRangeUpdateMode === RESET) {\r\n this._setVisualRange([null, null])\r\n } else if (visualRangeUpdateMode === SHIFT) {\r\n this._setVisualRange({\r\n length: this.getVisualRangeLength()\r\n })\r\n }\r\n },\r\n getVisualRangeLength(range) {\r\n var currentBusinessRange = range || this._translator.getBusinessRange();\r\n var {\r\n type: type\r\n } = this._options;\r\n var length;\r\n if (type === constants.logarithmic) {\r\n length = adjust(this.calculateInterval(currentBusinessRange.maxVisible, currentBusinessRange.minVisible))\r\n } else if (type === constants.discrete) {\r\n var categoriesInfo = getCategoriesInfo(currentBusinessRange.categories, currentBusinessRange.minVisible, currentBusinessRange.maxVisible);\r\n length = categoriesInfo.categories.length\r\n } else {\r\n length = currentBusinessRange.maxVisible - currentBusinessRange.minVisible\r\n }\r\n return length\r\n },\r\n getVisualRangeCenter(range, useMerge) {\r\n var translator = this.getTranslator();\r\n var businessRange = translator.getBusinessRange();\r\n var currentBusinessRange = useMerge ? extend(true, {}, businessRange, range || {}) : range || businessRange;\r\n var {\r\n type: type,\r\n logarithmBase: logarithmBase\r\n } = this._options;\r\n var center;\r\n if (!isDefined(currentBusinessRange.minVisible) || !isDefined(currentBusinessRange.maxVisible)) {\r\n return\r\n }\r\n if (type === constants.logarithmic) {\r\n var {\r\n allowNegatives: allowNegatives,\r\n linearThreshold: linearThreshold,\r\n minVisible: minVisible,\r\n maxVisible: maxVisible\r\n } = currentBusinessRange;\r\n center = raiseTo(adjust(getLog(maxVisible, logarithmBase, allowNegatives, linearThreshold) + getLog(minVisible, logarithmBase, allowNegatives, linearThreshold)) / 2, logarithmBase, allowNegatives, linearThreshold)\r\n } else if (type === constants.discrete) {\r\n var categoriesInfo = getCategoriesInfo(currentBusinessRange.categories, currentBusinessRange.minVisible, currentBusinessRange.maxVisible);\r\n var index = Math.ceil(categoriesInfo.categories.length / 2) - 1;\r\n center = businessRange.categories.indexOf(categoriesInfo.categories[index])\r\n } else {\r\n center = translator.toValue((currentBusinessRange.maxVisible.valueOf() + currentBusinessRange.minVisible.valueOf()) / 2)\r\n }\r\n return center\r\n },\r\n setBusinessRange(range, axisReinitialized, oppositeVisualRangeUpdateMode, argCategories) {\r\n var _that$_seriesData$min, _that$_seriesData$max;\r\n var options = this._options;\r\n var isDiscrete = options.type === constants.discrete;\r\n this._handleBusinessRangeChanged(oppositeVisualRangeUpdateMode, axisReinitialized, range);\r\n this._seriesData = new Range(range);\r\n var dataIsEmpty = this._seriesData.isEmpty();\r\n var rangeWithConstantLines = new Range(this._seriesData);\r\n this._addConstantLinesToRange(rangeWithConstantLines);\r\n this._prevDataInfo = {\r\n isEmpty: dataIsEmpty,\r\n containsConstantLine: rangeWithConstantLines.containsConstantLine\r\n };\r\n this._seriesData.addRange({\r\n categories: options.categories,\r\n dataType: options.dataType,\r\n axisType: options.type,\r\n base: options.logarithmBase,\r\n invert: options.inverted\r\n });\r\n this._resolveLogarithmicOptionsForRange(this._seriesData);\r\n if (!isDiscrete) {\r\n if (!isDefined(this._seriesData.min) && !isDefined(this._seriesData.max)) {\r\n var visualRange = this.getViewport();\r\n visualRange && this._seriesData.addRange({\r\n min: visualRange.startValue,\r\n max: visualRange.endValue\r\n })\r\n }\r\n var synchronizedValue = options.synchronizedValue;\r\n if (isDefined(synchronizedValue)) {\r\n this._seriesData.addRange({\r\n min: synchronizedValue,\r\n max: synchronizedValue\r\n })\r\n }\r\n }\r\n this._seriesData.minVisible = null !== (_that$_seriesData$min = this._seriesData.minVisible) && void 0 !== _that$_seriesData$min ? _that$_seriesData$min : this._seriesData.min;\r\n this._seriesData.maxVisible = null !== (_that$_seriesData$max = this._seriesData.maxVisible) && void 0 !== _that$_seriesData$max ? _that$_seriesData$max : this._seriesData.max;\r\n if (!this.isArgumentAxis && options.showZero) {\r\n this._seriesData.correctValueZeroLevel()\r\n }\r\n this._seriesData.sortCategories(this.getCategoriesSorter(argCategories));\r\n this._seriesData.userBreaks = this._seriesData.isEmpty() ? [] : this._getScaleBreaks(options, this._seriesData, this._series, this.isArgumentAxis);\r\n this._translator.updateBusinessRange(this._getViewportRange())\r\n },\r\n _addConstantLinesToRange(dataRange) {\r\n this._outsideConstantLines.concat(this._insideConstantLines || []).forEach(cl => {\r\n if (cl.options.extendAxis) {\r\n var value = cl.getParsedValue();\r\n dataRange.addRange({\r\n containsConstantLine: true,\r\n minVisible: value,\r\n maxVisible: value,\r\n min: !isDefined(dataRange.min) ? value : dataRange.min,\r\n max: !isDefined(dataRange.max) ? value : dataRange.max\r\n })\r\n }\r\n })\r\n },\r\n setGroupSeries: function(series) {\r\n this._series = series\r\n },\r\n getLabelsPosition: function() {\r\n var options = this._options;\r\n var position = options.position;\r\n var labelShift = options.label.indentFromAxis + (this._axisShift || 0) + this._constantLabelOffset;\r\n var axisPosition = this._axisPosition;\r\n return position === TOP || position === LEFT ? axisPosition - labelShift : axisPosition + labelShift\r\n },\r\n getFormattedValue: function(value, options, point) {\r\n var labelOptions = this._options.label;\r\n return isDefined(value) ? this.formatLabel(value, extend(true, {}, labelOptions, options), void 0, point) : null\r\n },\r\n _getBoundaryTicks: function(majors, viewPort) {\r\n var length = majors.length;\r\n var options = this._options;\r\n var customBounds = options.customBoundTicks;\r\n var min = viewPort.minVisible;\r\n var max = viewPort.maxVisible;\r\n var addMinMax = options.showCustomBoundaryTicks ? this._boundaryTicksVisibility : {};\r\n var boundaryTicks = [];\r\n if (options.type === constants.discrete) {\r\n if (this._tickOffset && 0 !== majors.length) {\r\n boundaryTicks = [majors[0], majors[majors.length - 1]]\r\n }\r\n } else if (customBounds) {\r\n if (addMinMax.min && isDefined(customBounds[0])) {\r\n boundaryTicks.push(customBounds[0])\r\n }\r\n if (addMinMax.max && isDefined(customBounds[1])) {\r\n boundaryTicks.push(customBounds[1])\r\n }\r\n } else {\r\n if (addMinMax.min && (0 === length || majors[0] > min)) {\r\n boundaryTicks.push(min)\r\n }\r\n if (addMinMax.max && (0 === length || majors[length - 1] < max)) {\r\n boundaryTicks.push(max)\r\n }\r\n }\r\n return boundaryTicks\r\n },\r\n setPercentLabelFormat: function() {\r\n if (!this._hasLabelFormat) {\r\n this._options.label.format = \"percent\"\r\n }\r\n },\r\n resetAutoLabelFormat: function() {\r\n if (!this._hasLabelFormat) {\r\n delete this._options.label.format\r\n }\r\n },\r\n getMultipleAxesSpacing: function() {\r\n return this._options.multipleAxesSpacing || 0\r\n },\r\n getTicksValues: function() {\r\n return {\r\n majorTicksValues: convertTicksToValues(this._majorTicks),\r\n minorTicksValues: convertTicksToValues(this._minorTicks)\r\n }\r\n },\r\n estimateTickInterval: function(canvas) {\r\n this.updateCanvas(canvas);\r\n return this._tickInterval !== this._getTicks(this._getViewportRange(), _noop, true).tickInterval\r\n },\r\n setTicks: function(ticks) {\r\n var majors = ticks.majorTicks || [];\r\n this._majorTicks = majors.map(createMajorTick(this, this._renderer, this._getSkippedCategory(majors)));\r\n this._minorTicks = (ticks.minorTicks || []).map(createMinorTick(this, this._renderer));\r\n this._isSynchronized = true\r\n },\r\n _adjustDivisionFactor: function(val) {\r\n return val\r\n },\r\n _getTicks: function(viewPort, incidentOccurred, skipTickGeneration) {\r\n var options = this._options;\r\n var customTicks = options.customTicks;\r\n var customMinorTicks = options.customMinorTicks;\r\n return getTickGenerator(options, incidentOccurred || this._incidentOccurred, skipTickGeneration, this._translator.getBusinessRange().isEmpty(), this._adjustDivisionFactor.bind(this), viewPort)({\r\n min: viewPort.minVisible,\r\n max: viewPort.maxVisible,\r\n categories: viewPort.categories,\r\n isSpacedMargin: viewPort.isSpacedMargin\r\n }, this._getScreenDelta(), options.tickInterval, \"ignore\" === options.label.overlappingBehavior || options.forceUserTickInterval, {\r\n majors: customTicks,\r\n minors: customMinorTicks\r\n }, options.minorTickInterval, options.minorTickCount, this._initialBreaks)\r\n },\r\n _createTicksAndLabelFormat: function(range, incidentOccurred) {\r\n var options = this._options;\r\n var ticks = this._getTicks(range, incidentOccurred, false);\r\n if (!range.isEmpty() && options.type === constants.discrete && \"datetime\" === options.dataType && !this._hasLabelFormat && ticks.ticks.length) {\r\n options.label.format = formatHelper.getDateFormatByTicks(ticks.ticks)\r\n }\r\n return ticks\r\n },\r\n getAggregationInfo(useAllAggregatedPoints, range) {\r\n var _visualRange$startVal, _visualRange$endValue, _that$_seriesData;\r\n var options = this._options;\r\n var marginOptions = this._marginOptions;\r\n var businessRange = new Range(this.getTranslator().getBusinessRange()).addRange(range);\r\n var visualRange = this.getViewport();\r\n var minVisible = null !== (_visualRange$startVal = null === visualRange || void 0 === visualRange ? void 0 : visualRange.startValue) && void 0 !== _visualRange$startVal ? _visualRange$startVal : businessRange.minVisible;\r\n var maxVisible = null !== (_visualRange$endValue = null === visualRange || void 0 === visualRange ? void 0 : visualRange.endValue) && void 0 !== _visualRange$endValue ? _visualRange$endValue : businessRange.maxVisible;\r\n var ticks = [];\r\n if (options.type === constants.discrete && options.aggregateByCategory) {\r\n return {\r\n aggregateByCategory: true\r\n }\r\n }\r\n var aggregationInterval = options.aggregationInterval;\r\n var aggregationGroupWidth = options.aggregationGroupWidth;\r\n if (!aggregationGroupWidth && marginOptions) {\r\n if (marginOptions.checkInterval) {\r\n aggregationGroupWidth = options.axisDivisionFactor\r\n }\r\n if (marginOptions.sizePointNormalState) {\r\n aggregationGroupWidth = Math.min(marginOptions.sizePointNormalState, options.axisDivisionFactor)\r\n }\r\n }\r\n var minInterval = !options.aggregationGroupWidth && !aggregationInterval && range.interval;\r\n var generateTicks = configureGenerator(options, aggregationGroupWidth, businessRange, this._getScreenDelta(), minInterval);\r\n var tickInterval = generateTicks(aggregationInterval, true, minVisible, maxVisible, null === (_that$_seriesData = this._seriesData) || void 0 === _that$_seriesData ? void 0 : _that$_seriesData.breaks).tickInterval;\r\n if (options.type !== constants.discrete) {\r\n var min = useAllAggregatedPoints ? businessRange.min : minVisible;\r\n var max = useAllAggregatedPoints ? businessRange.max : maxVisible;\r\n if (isDefined(min) && isDefined(max)) {\r\n var add = getAddFunction({\r\n base: options.logarithmBase,\r\n axisType: options.type,\r\n dataType: options.dataType\r\n }, false);\r\n var start = min;\r\n var end = max;\r\n if (!useAllAggregatedPoints && isDefined(tickInterval)) {\r\n var maxMinDistance = Math.max(this.calculateInterval(max, min), \"datetime\" === options.dataType ? dateUtils.dateToMilliseconds(tickInterval) : tickInterval);\r\n start = add(min, maxMinDistance, -1);\r\n end = add(max, maxMinDistance)\r\n }\r\n start = start < businessRange.min ? businessRange.min : start;\r\n end = end > businessRange.max ? businessRange.max : end;\r\n var breaks = this._getScaleBreaks(options, {\r\n minVisible: start,\r\n maxVisible: end\r\n }, this._series, this.isArgumentAxis);\r\n var filteredBreaks = this._filterBreaks(breaks, {\r\n minVisible: start,\r\n maxVisible: end\r\n }, options.breakStyle);\r\n ticks = generateTicks(tickInterval, false, start, end, filteredBreaks).ticks\r\n }\r\n }\r\n this._aggregationInterval = tickInterval;\r\n return {\r\n interval: tickInterval,\r\n ticks: ticks\r\n }\r\n },\r\n getTickInterval() {\r\n return this._tickInterval\r\n },\r\n getAggregationInterval() {\r\n return this._aggregationInterval\r\n },\r\n createTicks: function(canvas) {\r\n var that = this;\r\n var renderer = that._renderer;\r\n var options = that._options;\r\n if (!canvas) {\r\n return\r\n }\r\n that._isSynchronized = false;\r\n that.updateCanvas(canvas);\r\n var range = that._getViewportRange();\r\n that._initialBreaks = range.breaks = this._seriesData.breaks = that._filterBreaks(this._seriesData.userBreaks, range, options.breakStyle);\r\n that._estimatedTickInterval = that._getTicks(that.adjustViewport(this._seriesData), _noop, true).tickInterval;\r\n var margins = this._calculateValueMargins();\r\n range.addRange({\r\n minVisible: margins.minValue,\r\n maxVisible: margins.maxValue,\r\n isSpacedMargin: margins.isSpacedMargin\r\n });\r\n var ticks = that._createTicksAndLabelFormat(range);\r\n var boundaryTicks = that._getBoundaryTicks(ticks.ticks, that._getViewportRange());\r\n if (options.showCustomBoundaryTicks && boundaryTicks.length) {\r\n that._boundaryTicks = [boundaryTicks[0]].map(createBoundaryTick(that, renderer, true));\r\n if (boundaryTicks.length > 1) {\r\n that._boundaryTicks = that._boundaryTicks.concat([boundaryTicks[1]].map(createBoundaryTick(that, renderer, false)))\r\n }\r\n } else {\r\n that._boundaryTicks = []\r\n }\r\n var minors = (ticks.minorTicks || []).filter((function(minor) {\r\n return !boundaryTicks.some((function(boundary) {\r\n return valueOf(boundary) === valueOf(minor)\r\n }))\r\n }));\r\n that._tickInterval = ticks.tickInterval;\r\n that._minorTickInterval = ticks.minorTickInterval;\r\n var oldMajorTicks = that._majorTicks || [];\r\n var majorTicksByValues = oldMajorTicks.reduce((r, t) => {\r\n r[t.value.valueOf()] = t;\r\n return r\r\n }, {});\r\n var sameType = type(ticks.ticks[0]) === type(oldMajorTicks[0] && oldMajorTicks[0].value);\r\n var skippedCategory = that._getSkippedCategory(ticks.ticks);\r\n var majorTicks = ticks.ticks.map(v => {\r\n var tick = majorTicksByValues[v.valueOf()];\r\n if (tick && sameType) {\r\n delete majorTicksByValues[v.valueOf()];\r\n tick.setSkippedCategory(skippedCategory);\r\n return tick\r\n } else {\r\n return createMajorTick(that, renderer, skippedCategory)(v)\r\n }\r\n });\r\n that._majorTicks = majorTicks;\r\n var oldMinorTicks = that._minorTicks || [];\r\n that._minorTicks = minors.map((v, i) => {\r\n var minorTick = oldMinorTicks[i];\r\n if (minorTick) {\r\n minorTick.updateValue(v);\r\n return minorTick\r\n }\r\n return createMinorTick(that, renderer)(v)\r\n });\r\n that._ticksToRemove = Object.keys(majorTicksByValues).map(k => majorTicksByValues[k]).concat(oldMinorTicks.slice(that._minorTicks.length, oldMinorTicks.length));\r\n that._ticksToRemove.forEach(t => {\r\n var _t$label;\r\n return null === (_t$label = t.label) || void 0 === _t$label ? void 0 : _t$label.removeTitle()\r\n });\r\n if (ticks.breaks) {\r\n that._seriesData.breaks = ticks.breaks\r\n }\r\n that._reinitTranslator(that._getViewportRange())\r\n },\r\n _reinitTranslator: function(range) {\r\n var translator = this._translator;\r\n if (this._isSynchronized) {\r\n return\r\n }\r\n translator.updateBusinessRange(range)\r\n },\r\n _getViewportRange() {\r\n return this.adjustViewport(this._seriesData)\r\n },\r\n setMarginOptions: function(options) {\r\n this._marginOptions = options\r\n },\r\n getMarginOptions() {\r\n var _this$_marginOptions;\r\n return null !== (_this$_marginOptions = this._marginOptions) && void 0 !== _this$_marginOptions ? _this$_marginOptions : {}\r\n },\r\n _calculateRangeInterval: function(interval) {\r\n var isDateTime = \"datetime\" === this._options.dataType;\r\n var minArgs = [];\r\n var addToArgs = function(value) {\r\n isDefined(value) && minArgs.push(isDateTime ? dateUtils.dateToMilliseconds(value) : value)\r\n };\r\n addToArgs(this._tickInterval);\r\n addToArgs(this._estimatedTickInterval);\r\n isDefined(interval) && minArgs.push(interval);\r\n addToArgs(this._aggregationInterval);\r\n return this._calculateWorkWeekInterval(_min.apply(this, minArgs))\r\n },\r\n _calculateWorkWeekInterval(businessInterval) {\r\n var options = this._options;\r\n if (\"datetime\" === options.dataType && options.workdaysOnly && businessInterval) {\r\n var workWeek = options.workWeek.length * dateIntervals.day;\r\n var weekend = dateIntervals.week - workWeek;\r\n if (workWeek !== businessInterval && weekend < businessInterval) {\r\n var weekendsCount = Math.ceil(businessInterval / dateIntervals.week);\r\n businessInterval -= weekend * weekendsCount\r\n } else if (weekend >= businessInterval && businessInterval > dateIntervals.day) {\r\n businessInterval = dateIntervals.day\r\n }\r\n }\r\n return businessInterval\r\n },\r\n _getConvertIntervalCoefficient(intervalInPx, screenDelta) {\r\n var ratioOfCanvasRange = this._translator.ratioOfCanvasRange();\r\n return ratioOfCanvasRange / (ratioOfCanvasRange * screenDelta / (intervalInPx + screenDelta))\r\n },\r\n _calculateValueMargins(ticks) {\r\n this._resetMargins();\r\n var margins = this.getMarginOptions();\r\n var marginSize = (margins.size || 0) / 2;\r\n var options = this._options;\r\n var dataRange = this._getViewportRange();\r\n var viewPort = this.getViewport();\r\n var screenDelta = this._getScreenDelta();\r\n var isDiscrete = -1 !== (options.type || \"\").indexOf(constants.discrete);\r\n var valueMarginsEnabled = options.valueMarginsEnabled && !isDiscrete && !this.customPositionIsBoundaryOrthogonalAxis();\r\n var translator = this._translator;\r\n var minValueMargin = options.minValueMargin;\r\n var maxValueMargin = options.maxValueMargin;\r\n var minPadding = 0;\r\n var maxPadding = 0;\r\n var interval = 0;\r\n var rangeInterval;\r\n if (dataRange.stubData || !screenDelta) {\r\n return {\r\n startPadding: 0,\r\n endPadding: 0\r\n }\r\n }\r\n if (this.isArgumentAxis && margins.checkInterval) {\r\n rangeInterval = this._calculateRangeInterval(dataRange.interval);\r\n var pxInterval = translator.getInterval(rangeInterval);\r\n if (isFinite(pxInterval)) {\r\n interval = Math.ceil(pxInterval / (2 * this._getConvertIntervalCoefficient(pxInterval, screenDelta)))\r\n } else {\r\n rangeInterval = 0\r\n }\r\n }\r\n var minPercentPadding;\r\n var maxPercentPadding;\r\n var maxPaddingValue = screenDelta * MAX_MARGIN_VALUE / 2;\r\n if (valueMarginsEnabled) {\r\n if (isDefined(minValueMargin)) {\r\n minPercentPadding = isFinite(minValueMargin) ? minValueMargin : 0\r\n } else if (!this.isArgumentAxis && margins.checkInterval && valueOf(dataRange.minVisible) > 0 && valueOf(dataRange.minVisible) === valueOf(dataRange.min)) {\r\n minPadding = MIN_BAR_MARGIN\r\n } else {\r\n minPadding = Math.max(marginSize, interval);\r\n minPadding = Math.min(maxPaddingValue, minPadding)\r\n }\r\n if (isDefined(maxValueMargin)) {\r\n maxPercentPadding = isFinite(maxValueMargin) ? maxValueMargin : 0\r\n } else if (!this.isArgumentAxis && margins.checkInterval && valueOf(dataRange.maxVisible) < 0 && valueOf(dataRange.maxVisible) === valueOf(dataRange.max)) {\r\n maxPadding = MIN_BAR_MARGIN\r\n } else {\r\n maxPadding = Math.max(marginSize, interval);\r\n maxPadding = Math.min(maxPaddingValue, maxPadding)\r\n }\r\n }\r\n var percentStick = margins.percentStick && !this.isArgumentAxis;\r\n if (percentStick) {\r\n if (1 === _abs(dataRange.max)) {\r\n maxPadding = 0\r\n }\r\n if (1 === _abs(dataRange.min)) {\r\n minPadding = 0\r\n }\r\n }\r\n var canvasStartEnd = this._getCanvasStartEnd();\r\n var commonMargin = 1 + (minPercentPadding || 0) + (maxPercentPadding || 0);\r\n var screenDeltaWithMargins = (screenDelta - minPadding - maxPadding) / commonMargin || screenDelta;\r\n if (void 0 !== minPercentPadding || void 0 !== maxPercentPadding) {\r\n if (void 0 !== minPercentPadding) {\r\n minPadding = screenDeltaWithMargins * minPercentPadding\r\n }\r\n if (void 0 !== maxPercentPadding) {\r\n maxPadding = screenDeltaWithMargins * maxPercentPadding\r\n }\r\n }\r\n var minValue;\r\n var maxValue;\r\n if (options.type !== constants.discrete && ticks && ticks.length > 1 && !options.skipViewportExtending && !viewPort.action && false !== options.endOnTick) {\r\n var length = ticks.length;\r\n var firstTickPosition = translator.translate(ticks[0].value);\r\n var lastTickPosition = translator.translate(ticks[length - 1].value);\r\n var invertMultiplier = firstTickPosition > lastTickPosition ? -1 : 1;\r\n var minTickPadding = _max(invertMultiplier * (canvasStartEnd.start - firstTickPosition), 0);\r\n var maxTickPadding = _max(invertMultiplier * (lastTickPosition - canvasStartEnd.end), 0);\r\n if (minTickPadding > minPadding || maxTickPadding > maxPadding) {\r\n var commonPadding = maxTickPadding + minTickPadding;\r\n var coeff = this._getConvertIntervalCoefficient(commonPadding, screenDelta);\r\n if (minTickPadding >= minPadding) {\r\n minValue = ticks[0].value\r\n }\r\n if (maxTickPadding >= maxPadding) {\r\n maxValue = ticks[length - 1].value\r\n }\r\n minPadding = _max(minTickPadding, minPadding) / coeff;\r\n maxPadding = _max(maxTickPadding, maxPadding) / coeff\r\n }\r\n }\r\n minPercentPadding = void 0 === minPercentPadding ? minPadding / screenDeltaWithMargins : minPercentPadding;\r\n maxPercentPadding = void 0 === maxPercentPadding ? maxPadding / screenDeltaWithMargins : maxPercentPadding;\r\n if (!isDiscrete) {\r\n if (this._translator.isInverted()) {\r\n var _minValue, _maxValue;\r\n minValue = null !== (_minValue = minValue) && void 0 !== _minValue ? _minValue : translator.from(canvasStartEnd.start + screenDelta * minPercentPadding, -1);\r\n maxValue = null !== (_maxValue = maxValue) && void 0 !== _maxValue ? _maxValue : translator.from(canvasStartEnd.end - screenDelta * maxPercentPadding, 1)\r\n } else {\r\n var _minValue2, _maxValue2;\r\n minValue = null !== (_minValue2 = minValue) && void 0 !== _minValue2 ? _minValue2 : translator.from(canvasStartEnd.start - screenDelta * minPercentPadding, -1);\r\n maxValue = null !== (_maxValue2 = maxValue) && void 0 !== _maxValue2 ? _maxValue2 : translator.from(canvasStartEnd.end + screenDelta * maxPercentPadding, 1)\r\n }\r\n }\r\n var {\r\n correctedMin: correctedMin,\r\n correctedMax: correctedMax,\r\n start: start,\r\n end: end\r\n } = this.getCorrectedValuesToZero(minValue, maxValue);\r\n minPadding = null !== start && void 0 !== start ? start : minPadding;\r\n maxPadding = null !== end && void 0 !== end ? end : maxPadding;\r\n return {\r\n startPadding: translator.isInverted() ? maxPadding : minPadding,\r\n endPadding: translator.isInverted() ? minPadding : maxPadding,\r\n minValue: null !== correctedMin && void 0 !== correctedMin ? correctedMin : minValue,\r\n maxValue: null !== correctedMax && void 0 !== correctedMax ? correctedMax : maxValue,\r\n interval: rangeInterval,\r\n isSpacedMargin: minPadding === maxPadding && 0 !== minPadding\r\n }\r\n },\r\n getCorrectedValuesToZero(minValue, maxValue) {\r\n var that = this;\r\n var translator = that._translator;\r\n var canvasStartEnd = that._getCanvasStartEnd();\r\n var dataRange = that._getViewportRange();\r\n var screenDelta = that._getScreenDelta();\r\n var options = that._options;\r\n var start;\r\n var end;\r\n var correctedMin;\r\n var correctedMax;\r\n var correctZeroLevel = (minPoint, maxPoint) => {\r\n var minExpectedPadding = _abs(canvasStartEnd.start - minPoint);\r\n var maxExpectedPadding = _abs(canvasStartEnd.end - maxPoint);\r\n var coeff = that._getConvertIntervalCoefficient(minExpectedPadding + maxExpectedPadding, screenDelta);\r\n start = minExpectedPadding / coeff;\r\n end = maxExpectedPadding / coeff\r\n };\r\n if (!that.isArgumentAxis && \"datetime\" !== options.dataType) {\r\n if (minValue * dataRange.min <= 0 && minValue * dataRange.minVisible <= 0) {\r\n correctZeroLevel(translator.translate(0), translator.translate(maxValue));\r\n correctedMin = 0\r\n }\r\n if (maxValue * dataRange.max <= 0 && maxValue * dataRange.maxVisible <= 0) {\r\n correctZeroLevel(translator.translate(minValue), translator.translate(0));\r\n correctedMax = 0\r\n }\r\n }\r\n return {\r\n start: isFinite(start) ? start : null,\r\n end: isFinite(end) ? end : null,\r\n correctedMin: correctedMin,\r\n correctedMax: correctedMax\r\n }\r\n },\r\n applyMargins() {\r\n if (this._isSynchronized) {\r\n return\r\n }\r\n var margins = this._calculateValueMargins(this._majorTicks);\r\n var canvas = extend({}, this._canvas, {\r\n startPadding: margins.startPadding,\r\n endPadding: margins.endPadding\r\n });\r\n this._translator.updateCanvas(this._processCanvas(canvas));\r\n if (isFinite(margins.interval)) {\r\n var br = this._translator.getBusinessRange();\r\n br.addRange({\r\n interval: margins.interval\r\n });\r\n this._translator.updateBusinessRange(br)\r\n }\r\n },\r\n _resetMargins: function() {\r\n this._reinitTranslator(this._getViewportRange());\r\n if (this._canvas) {\r\n this._translator.updateCanvas(this._processCanvas(this._canvas))\r\n }\r\n },\r\n _createConstantLines() {\r\n var constantLines = (this._options.constantLines || []).map(o => createConstantLine(this, o));\r\n this._outsideConstantLines = constantLines.filter(l => \"outside\" === l.labelPosition);\r\n this._insideConstantLines = constantLines.filter(l => \"inside\" === l.labelPosition)\r\n },\r\n draw: function(canvas, borderOptions) {\r\n var that = this;\r\n var options = this._options;\r\n that.borderOptions = borderOptions || {\r\n visible: false\r\n };\r\n that._resetMargins();\r\n that.createTicks(canvas);\r\n that.applyMargins();\r\n that._clearAxisGroups();\r\n initTickCoords(that._majorTicks);\r\n initTickCoords(that._minorTicks);\r\n initTickCoords(that._boundaryTicks);\r\n that._axisGroup.append(that._axesContainerGroup);\r\n that._drawAxis();\r\n that._drawTitle();\r\n drawTickMarks(that._majorTicks, options.tick);\r\n drawTickMarks(that._minorTicks, options.minorTick);\r\n drawTickMarks(that._boundaryTicks, options.tick);\r\n var drawGridLine = that._getGridLineDrawer();\r\n drawGrids(that._majorTicks, drawGridLine);\r\n drawGrids(that._minorTicks, drawGridLine);\r\n callAction(that._majorTicks, \"drawLabel\", that._getViewportRange(), that._getTemplate(options.label.template));\r\n that._templatesRendered && that._templatesRendered.reject();\r\n that._templatesRendered = new Deferred;\r\n that._majorTicks.forEach((function(tick) {\r\n tick.labelRotationAngle = 0;\r\n tick.labelAlignment = void 0;\r\n tick.labelOffset = 0\r\n }));\r\n callAction(that._outsideConstantLines.concat(that._insideConstantLines), \"draw\");\r\n callAction(that._strips, \"draw\");\r\n that._dateMarkers = that._drawDateMarkers() || [];\r\n that._stripLabelAxesGroup && that._axisStripLabelGroup.append(that._stripLabelAxesGroup);\r\n that._gridContainerGroup && that._axisGridGroup.append(that._gridContainerGroup);\r\n that._stripsGroup && that._axisStripGroup.append(that._stripsGroup);\r\n that._labelsAxesGroup && that._axisElementsGroup.append(that._labelsAxesGroup);\r\n if (that._constantLinesGroup) {\r\n that._axisConstantLineGroups.above.inside.append(that._constantLinesGroup.above);\r\n that._axisConstantLineGroups.above.outside1.append(that._constantLinesGroup.above);\r\n that._axisConstantLineGroups.above.outside2.append(that._constantLinesGroup.above);\r\n that._axisConstantLineGroups.under.inside.append(that._constantLinesGroup.under);\r\n that._axisConstantLineGroups.under.outside1.append(that._constantLinesGroup.under);\r\n that._axisConstantLineGroups.under.outside2.append(that._constantLinesGroup.under)\r\n }\r\n that._measureTitle();\r\n measureLabels(that._majorTicks);\r\n !options.label.template && that._applyWordWrap();\r\n measureLabels(that._outsideConstantLines);\r\n measureLabels(that._insideConstantLines);\r\n measureLabels(that._strips);\r\n measureLabels(that._dateMarkers);\r\n that._adjustConstantLineLabels(that._insideConstantLines);\r\n that._adjustStripLabels();\r\n var offset = that._constantLabelOffset = that._adjustConstantLineLabels(that._outsideConstantLines);\r\n if (!that._translator.getBusinessRange().isEmpty()) {\r\n that._setLabelsPlacement();\r\n offset = that._adjustLabels(offset)\r\n }\r\n when.apply(this, that._majorTicks.map(tick => tick.getTemplateDeferred())).done(() => {\r\n that._templatesRendered.resolve()\r\n });\r\n offset = that._adjustDateMarkers(offset);\r\n that._adjustTitle(offset)\r\n },\r\n getTemplatesDef() {\r\n return this._templatesRendered\r\n },\r\n setRenderedState(state) {\r\n this._drawn = state\r\n },\r\n isRendered() {\r\n return this._drawn\r\n },\r\n _applyWordWrap() {\r\n var convertedTickInterval;\r\n var textWidth;\r\n var textHeight;\r\n var options = this._options;\r\n var tickInterval = this._tickInterval;\r\n if (isDefined(tickInterval)) {\r\n convertedTickInterval = this.getTranslator().getInterval(\"datetime\" === options.dataType ? dateUtils.dateToMilliseconds(tickInterval) : tickInterval)\r\n }\r\n var displayMode = this._validateDisplayMode(options.label.displayMode);\r\n var overlappingMode = this._validateOverlappingMode(options.label.overlappingBehavior, displayMode);\r\n var wordWrapMode = options.label.wordWrap || \"none\";\r\n var overflowMode = options.label.textOverflow || \"none\";\r\n if ((\"none\" !== wordWrapMode || \"none\" !== overflowMode) && displayMode !== ROTATE && overlappingMode !== ROTATE && \"auto\" !== overlappingMode) {\r\n var usefulSpace = isDefined(options.placeholderSize) ? options.placeholderSize - options.label.indentFromAxis : void 0;\r\n if (this._isHorizontal) {\r\n textWidth = convertedTickInterval;\r\n textHeight = usefulSpace\r\n } else {\r\n textWidth = usefulSpace;\r\n textHeight = convertedTickInterval\r\n }\r\n var correctByWidth = false;\r\n var correctByHeight = false;\r\n if (textWidth) {\r\n if (this._majorTicks.some(tick => tick.labelBBox.width > textWidth)) {\r\n correctByWidth = true\r\n }\r\n }\r\n if (textHeight) {\r\n if (this._majorTicks.some(tick => tick.labelBBox.height > textHeight)) {\r\n correctByHeight = true\r\n }\r\n }\r\n if (correctByWidth || correctByHeight) {\r\n this._majorTicks.forEach(tick => {\r\n tick.label && tick.label.setMaxSize(textWidth, textHeight, options.label)\r\n });\r\n measureLabels(this._majorTicks)\r\n }\r\n }\r\n },\r\n _measureTitle: _noop,\r\n animate() {\r\n callAction(this._majorTicks, \"animateLabels\")\r\n },\r\n updateSize(canvas, animate) {\r\n var updateTitle = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : true;\r\n this.updateCanvas(canvas);\r\n if (updateTitle) {\r\n this._checkTitleOverflow();\r\n this._measureTitle();\r\n this._updateTitleCoords()\r\n }\r\n this._reinitTranslator(this._getViewportRange());\r\n this.applyMargins();\r\n var animationEnabled = !this._firstDrawing && animate;\r\n var options = this._options;\r\n initTickCoords(this._majorTicks);\r\n initTickCoords(this._minorTicks);\r\n initTickCoords(this._boundaryTicks);\r\n if (this._resetApplyingAnimation && !this._firstDrawing) {\r\n this._resetStartCoordinates()\r\n }\r\n cleanUpInvalidTicks(this._majorTicks);\r\n cleanUpInvalidTicks(this._minorTicks);\r\n cleanUpInvalidTicks(this._boundaryTicks);\r\n if (this._axisElement) {\r\n this._updateAxisElementPosition()\r\n }\r\n updateTicksPosition(this._majorTicks, options.tick, animationEnabled);\r\n updateTicksPosition(this._minorTicks, options.minorTick, animationEnabled);\r\n updateTicksPosition(this._boundaryTicks, options.tick);\r\n callAction(this._majorTicks, \"updateLabelPosition\", animationEnabled);\r\n this._outsideConstantLines.concat(this._insideConstantLines || []).forEach(l => l.updatePosition(animationEnabled));\r\n callAction(this._strips, \"updatePosition\", animationEnabled);\r\n updateGridsPosition(this._majorTicks, animationEnabled);\r\n updateGridsPosition(this._minorTicks, animationEnabled);\r\n if (animationEnabled) {\r\n callAction(this._ticksToRemove || [], \"fadeOutElements\")\r\n }\r\n this.prepareAnimation();\r\n this._ticksToRemove = null;\r\n if (!this._translator.getBusinessRange().isEmpty()) {\r\n this._firstDrawing = false\r\n }\r\n this._resetApplyingAnimation = false;\r\n this._updateLabelsPosition()\r\n },\r\n _updateLabelsPosition: _noop,\r\n prepareAnimation() {\r\n var action = \"saveCoords\";\r\n callAction(this._majorTicks, action);\r\n callAction(this._minorTicks, action);\r\n callAction(this._insideConstantLines, action);\r\n callAction(this._outsideConstantLines, action);\r\n callAction(this._strips, action)\r\n },\r\n _resetStartCoordinates() {\r\n var action = \"resetCoordinates\";\r\n callAction(this._majorTicks, action);\r\n callAction(this._minorTicks, action);\r\n callAction(this._insideConstantLines, action);\r\n callAction(this._outsideConstantLines, action);\r\n callAction(this._strips, action)\r\n },\r\n applyClipRects: function(elementsClipID, canvasClipID) {\r\n this._axisGroup.attr({\r\n \"clip-path\": canvasClipID\r\n });\r\n this._axisStripGroup.attr({\r\n \"clip-path\": elementsClipID\r\n });\r\n this._axisElementsGroup.attr({\r\n \"clip-path\": canvasClipID\r\n })\r\n },\r\n _validateVisualRange(optionValue) {\r\n var range = getVizRangeObject(optionValue);\r\n if (void 0 !== range.startValue) {\r\n range.startValue = this.validateUnit(range.startValue)\r\n }\r\n if (void 0 !== range.endValue) {\r\n range.endValue = this.validateUnit(range.endValue)\r\n }\r\n return convertVisualRangeObject(range, !_isArray(optionValue))\r\n },\r\n _validateOptions(options) {\r\n options.wholeRange = this._validateVisualRange(options.wholeRange);\r\n options.visualRange = options._customVisualRange = this._validateVisualRange(options._customVisualRange);\r\n this._setVisualRange(options._customVisualRange)\r\n },\r\n validate() {\r\n var options = this._options;\r\n var dataType = this.isArgumentAxis ? options.argumentType : options.valueType;\r\n var parser = dataType ? getParser(dataType) : function(unit) {\r\n return unit\r\n };\r\n this.parser = parser;\r\n options.dataType = dataType;\r\n this._validateOptions(options)\r\n },\r\n resetVisualRange(isSilent) {\r\n this._seriesData.minVisible = this._seriesData.min;\r\n this._seriesData.maxVisible = this._seriesData.max;\r\n this.handleZooming([null, null], {\r\n start: !!isSilent,\r\n end: !!isSilent\r\n })\r\n },\r\n _setVisualRange(visualRange, allowPartialUpdate) {\r\n var range = this.adjustRange(getVizRangeObject(visualRange));\r\n if (allowPartialUpdate) {\r\n isDefined(range.startValue) && (this._viewport.startValue = range.startValue);\r\n isDefined(range.endValue) && (this._viewport.endValue = range.endValue)\r\n } else {\r\n this._viewport = range\r\n }\r\n },\r\n _applyZooming(visualRange, allowPartialUpdate) {\r\n this._resetVisualRangeOption();\r\n this._setVisualRange(visualRange, allowPartialUpdate);\r\n var viewPort = this.getViewport();\r\n this._seriesData.userBreaks = this._getScaleBreaks(this._options, {\r\n minVisible: viewPort.startValue,\r\n maxVisible: viewPort.endValue\r\n }, this._series, this.isArgumentAxis);\r\n this._translator.updateBusinessRange(this._getViewportRange())\r\n },\r\n getZoomStartEventArg(event, actionType) {\r\n return {\r\n axis: this,\r\n range: this.visualRange(),\r\n cancel: false,\r\n event: event,\r\n actionType: actionType\r\n }\r\n },\r\n _getZoomEndEventArg(previousRange, event, actionType, zoomFactor, shift) {\r\n var newRange = this.visualRange();\r\n return {\r\n axis: this,\r\n previousRange: previousRange,\r\n range: newRange,\r\n cancel: false,\r\n event: event,\r\n actionType: actionType,\r\n zoomFactor: zoomFactor,\r\n shift: shift,\r\n rangeStart: newRange.startValue,\r\n rangeEnd: newRange.endValue\r\n }\r\n },\r\n getZoomBounds() {\r\n var wholeRange = getVizRangeObject(this._options.wholeRange);\r\n var range = this.getTranslator().getBusinessRange();\r\n var secondPriorityRange = {\r\n startValue: getZoomBoundValue(this._initRange.startValue, range.min),\r\n endValue: getZoomBoundValue(this._initRange.endValue, range.max)\r\n };\r\n return {\r\n startValue: getZoomBoundValue(wholeRange.startValue, secondPriorityRange.startValue),\r\n endValue: getZoomBoundValue(wholeRange.endValue, secondPriorityRange.endValue)\r\n }\r\n },\r\n setInitRange() {\r\n this._initRange = {};\r\n if (0 === Object.keys(this._options.wholeRange || {}).length) {\r\n this._initRange = this.getZoomBounds()\r\n }\r\n },\r\n _resetVisualRangeOption() {\r\n this._options._customVisualRange = {}\r\n },\r\n getTemplatesGroups() {\r\n var ticks = this._majorTicks;\r\n if (ticks) {\r\n return this._majorTicks.map(tick => tick.templateContainer).filter(item => isDefined(item))\r\n } else {\r\n return []\r\n }\r\n },\r\n setCustomVisualRange(range) {\r\n this._options._customVisualRange = range\r\n },\r\n visualRange() {\r\n var args = arguments;\r\n var visualRange;\r\n if (0 === args.length) {\r\n var adjustedRange = this._getAdjustedBusinessRange();\r\n var startValue = adjustedRange.minVisible;\r\n var endValue = adjustedRange.maxVisible;\r\n if (this._options.type === constants.discrete) {\r\n var _startValue, _endValue;\r\n startValue = null !== (_startValue = startValue) && void 0 !== _startValue ? _startValue : adjustedRange.categories[0];\r\n endValue = null !== (_endValue = endValue) && void 0 !== _endValue ? _endValue : adjustedRange.categories[adjustedRange.categories.length - 1];\r\n return {\r\n startValue: startValue,\r\n endValue: endValue,\r\n categories: getCategoriesInfo(adjustedRange.categories, startValue, endValue).categories\r\n }\r\n }\r\n return {\r\n startValue: startValue,\r\n endValue: endValue\r\n }\r\n } else if (_isArray(args[0])) {\r\n visualRange = args[0]\r\n } else if (isPlainObject(args[0])) {\r\n visualRange = extend({}, args[0])\r\n } else {\r\n visualRange = [args[0], args[1]]\r\n }\r\n var zoomResults = this.handleZooming(visualRange, args[1]);\r\n if (!zoomResults.isPrevented) {\r\n this._visualRange(this, zoomResults)\r\n }\r\n },\r\n handleZooming(visualRange, preventEvents, domEvent, action) {\r\n preventEvents = preventEvents || {};\r\n if (isDefined(visualRange)) {\r\n visualRange = this._validateVisualRange(visualRange);\r\n visualRange.action = action\r\n }\r\n var zoomStartEvent = this.getZoomStartEventArg(domEvent, action);\r\n var previousRange = zoomStartEvent.range;\r\n !preventEvents.start && this._eventTrigger(\"zoomStart\", zoomStartEvent);\r\n var zoomResults = {\r\n isPrevented: zoomStartEvent.cancel,\r\n skipEventRising: preventEvents.skipEventRising,\r\n range: visualRange || zoomStartEvent.range\r\n };\r\n if (!zoomStartEvent.cancel) {\r\n isDefined(visualRange) && this._applyZooming(visualRange, preventEvents.allowPartialUpdate);\r\n if (!isDefined(this._storedZoomEndParams)) {\r\n this._storedZoomEndParams = {\r\n startRange: previousRange,\r\n type: this.getOptions().type\r\n }\r\n }\r\n this._storedZoomEndParams.event = domEvent;\r\n this._storedZoomEndParams.action = action;\r\n this._storedZoomEndParams.prevent = !!preventEvents.end\r\n }\r\n return zoomResults\r\n },\r\n handleZoomEnd() {\r\n if (isDefined(this._storedZoomEndParams) && !this._storedZoomEndParams.prevent) {\r\n var previousRange = this._storedZoomEndParams.startRange;\r\n var domEvent = this._storedZoomEndParams.event;\r\n var action = this._storedZoomEndParams.action;\r\n var previousBusinessRange = {\r\n minVisible: previousRange.startValue,\r\n maxVisible: previousRange.endValue,\r\n categories: previousRange.categories\r\n };\r\n var typeIsNotChanged = this.getOptions().type === this._storedZoomEndParams.type;\r\n var shift = typeIsNotChanged ? adjust(this.getVisualRangeCenter() - this.getVisualRangeCenter(previousBusinessRange, false)) : NaN;\r\n var zoomFactor = typeIsNotChanged ? +(Math.round(this.getVisualRangeLength(previousBusinessRange) / (this.getVisualRangeLength() || 1) + \"e+2\") + \"e-2\") : NaN;\r\n var zoomEndEvent = this._getZoomEndEventArg(previousRange, domEvent, action, zoomFactor, shift);\r\n zoomEndEvent.cancel = this.checkZoomingLowerLimitOvercome(1 === zoomFactor ? \"pan\" : \"zoom\", zoomFactor).stopInteraction;\r\n this._eventTrigger(\"zoomEnd\", zoomEndEvent);\r\n if (zoomEndEvent.cancel) {\r\n this._restorePreviousVisualRange(previousRange)\r\n }\r\n this._storedZoomEndParams = null\r\n }\r\n },\r\n _restorePreviousVisualRange(previousRange) {\r\n this._storedZoomEndParams = null;\r\n this._applyZooming(previousRange);\r\n this._visualRange(this, previousRange)\r\n },\r\n checkZoomingLowerLimitOvercome(actionType, zoomFactor, range) {\r\n var options = this._options;\r\n var translator = this._translator;\r\n var minZoom = options.minVisualRangeLength;\r\n var correctedRange = range;\r\n var visualRange;\r\n var isOvercoming = \"zoom\" === actionType && zoomFactor >= 1;\r\n var businessRange = translator.getBusinessRange();\r\n if (range) {\r\n visualRange = this.adjustRange(getVizRangeObject(range));\r\n visualRange = {\r\n minVisible: visualRange.startValue,\r\n maxVisible: visualRange.endValue,\r\n categories: businessRange.categories\r\n }\r\n }\r\n var beforeVisualRangeLength = this.getVisualRangeLength(businessRange);\r\n var afterVisualRangeLength = this.getVisualRangeLength(visualRange);\r\n if (isDefined(minZoom) || \"discrete\" === options.type) {\r\n minZoom = translator.convert(minZoom);\r\n if (visualRange && minZoom < beforeVisualRangeLength && minZoom >= afterVisualRangeLength) {\r\n correctedRange = getVizRangeObject(translator.getRangeByMinZoomValue(minZoom, visualRange));\r\n isOvercoming = false\r\n } else {\r\n isOvercoming &= minZoom > afterVisualRangeLength\r\n }\r\n } else {\r\n var canvasLength = this._translator.canvasLength;\r\n var fullRange = {\r\n minVisible: businessRange.min,\r\n maxVisible: businessRange.max,\r\n categories: businessRange.categories\r\n };\r\n isOvercoming &= this.getVisualRangeLength(fullRange) / canvasLength >= afterVisualRangeLength\r\n }\r\n return {\r\n stopInteraction: !!isOvercoming,\r\n correctedRange: correctedRange\r\n }\r\n },\r\n isExtremePosition(isMax) {\r\n var extremeDataValue;\r\n var seriesData;\r\n if (\"discrete\" === this._options.type) {\r\n seriesData = this._translator.getBusinessRange();\r\n extremeDataValue = isMax ? seriesData.categories[seriesData.categories.length - 1] : seriesData.categories[0]\r\n } else {\r\n seriesData = this.getZoomBounds();\r\n extremeDataValue = isMax ? seriesData.endValue : seriesData.startValue\r\n }\r\n var translator = this.getTranslator();\r\n var extremePoint = translator.translate(extremeDataValue);\r\n var visualRange = this.visualRange();\r\n var visualRangePoint = isMax ? translator.translate(visualRange.endValue) : translator.translate(visualRange.startValue);\r\n return _abs(visualRangePoint - extremePoint) < SCROLL_THRESHOLD\r\n },\r\n getViewport() {\r\n return this._viewport\r\n },\r\n getFullTicks: function() {\r\n var majors = this._majorTicks || [];\r\n if (this._options.type === constants.discrete) {\r\n return convertTicksToValues(majors)\r\n } else {\r\n return convertTicksToValues(majors.concat(this._minorTicks, this._boundaryTicks)).sort((function(a, b) {\r\n return valueOf(a) - valueOf(b)\r\n }))\r\n }\r\n },\r\n measureLabels: function(canvas, withIndents) {\r\n var that = this;\r\n var options = that._options;\r\n var widthAxis = options.visible ? options.width : 0;\r\n var ticks;\r\n var indent = withIndents ? options.label.indentFromAxis + .5 * options.tick.length : 0;\r\n var tickInterval;\r\n var viewportRange = that._getViewportRange();\r\n if (viewportRange.isEmpty() || !options.label.visible || !that._axisElementsGroup) {\r\n return {\r\n height: widthAxis,\r\n width: widthAxis,\r\n x: 0,\r\n y: 0\r\n }\r\n }\r\n if (that._majorTicks) {\r\n ticks = convertTicksToValues(that._majorTicks)\r\n } else {\r\n that.updateCanvas(canvas);\r\n ticks = that._createTicksAndLabelFormat(viewportRange, _noop);\r\n tickInterval = ticks.tickInterval;\r\n ticks = ticks.ticks\r\n }\r\n var maxText = ticks.reduce((function(prevLabel, tick, index) {\r\n var label = that.formatLabel(tick, options.label, viewportRange, void 0, tickInterval, ticks);\r\n if (prevLabel.length < label.length) {\r\n return label\r\n } else {\r\n return prevLabel\r\n }\r\n }), that.formatLabel(ticks[0], options.label, viewportRange, void 0, tickInterval, ticks));\r\n var text = that._renderer.text(maxText, 0, 0).css(that._textFontStyles).attr(that._textOptions).append(that._renderer.root);\r\n var box = text.getBBox();\r\n text.remove();\r\n return {\r\n x: box.x,\r\n y: box.y,\r\n width: box.width + indent,\r\n height: box.height + indent\r\n }\r\n },\r\n _setLabelsPlacement: function() {\r\n if (!this._options.label.visible) {\r\n return\r\n }\r\n var labelOpt = this._options.label;\r\n var displayMode = this._validateDisplayMode(labelOpt.displayMode);\r\n var overlappingMode = this._validateOverlappingMode(labelOpt.overlappingBehavior, displayMode);\r\n var ignoreOverlapping = \"none\" === overlappingMode || \"ignore\" === overlappingMode;\r\n var behavior = {\r\n rotationAngle: labelOpt.rotationAngle,\r\n staggeringSpacing: labelOpt.staggeringSpacing\r\n };\r\n var notRecastStep;\r\n var boxes = this._majorTicks.map((function(tick) {\r\n return tick.labelBBox\r\n }));\r\n var step = this._getStep(boxes);\r\n switch (displayMode) {\r\n case ROTATE:\r\n if (ignoreOverlapping) {\r\n notRecastStep = true;\r\n step = 1\r\n }\r\n this._applyLabelMode(displayMode, step, boxes, labelOpt, notRecastStep);\r\n break;\r\n case \"stagger\":\r\n if (ignoreOverlapping) {\r\n step = 2\r\n }\r\n this._applyLabelMode(displayMode, _max(step, 2), boxes, labelOpt);\r\n break;\r\n default:\r\n this._applyLabelOverlapping(boxes, overlappingMode, step, behavior)\r\n }\r\n },\r\n _applyLabelOverlapping: function(boxes, mode, step, behavior) {\r\n var labelOpt = this._options.label;\r\n var majorTicks = this._majorTicks;\r\n if (\"none\" === mode || \"ignore\" === mode) {\r\n return\r\n }\r\n if (step > 1 && boxes.some((function(box, index, array) {\r\n if (0 === index) {\r\n return false\r\n }\r\n return constants.areLabelsOverlap(box, array[index - 1], labelOpt.minSpacing, labelOpt.alignment)\r\n }))) {\r\n this._applyLabelMode(mode, step, boxes, behavior)\r\n }\r\n this._checkBoundedLabelsOverlapping(majorTicks, boxes, mode);\r\n this._checkShiftedLabels(majorTicks, boxes, labelOpt.minSpacing, labelOpt.alignment)\r\n },\r\n _applyLabelMode: function(mode, step, boxes, behavior, notRecastStep) {\r\n var majorTicks = this._majorTicks;\r\n var labelOpt = this._options.label;\r\n var angle = behavior.rotationAngle;\r\n var labelHeight;\r\n var alignment;\r\n var func;\r\n switch (mode) {\r\n case ROTATE:\r\n if (!labelOpt.userAlignment) {\r\n alignment = angle < 0 ? RIGHT : LEFT;\r\n if (angle % 90 === 0) {\r\n alignment = CENTER\r\n }\r\n }\r\n step = notRecastStep ? step : this._getStep(boxes, angle);\r\n func = function(tick) {\r\n var contentContainer = tick.getContentContainer();\r\n if (!contentContainer) {\r\n return\r\n }\r\n contentContainer.rotate(angle);\r\n tick.labelRotationAngle = angle;\r\n alignment && (tick.labelAlignment = alignment)\r\n };\r\n updateLabels(majorTicks, step, func);\r\n break;\r\n case \"stagger\":\r\n labelHeight = this._getMaxLabelHeight(boxes, behavior.staggeringSpacing);\r\n func = function(tick, index) {\r\n if (index / (step - 1) % 2 !== 0) {\r\n tick.labelOffset = labelHeight\r\n }\r\n };\r\n updateLabels(majorTicks, step - 1, func);\r\n break;\r\n case \"auto\":\r\n case \"_auto\":\r\n if (2 === step) {\r\n this._applyLabelMode(\"stagger\", step, boxes, behavior)\r\n } else {\r\n this._applyLabelMode(ROTATE, step, boxes, {\r\n rotationAngle: getOptimalAngle(boxes, labelOpt)\r\n })\r\n }\r\n break;\r\n default:\r\n updateLabels(majorTicks, step)\r\n }\r\n },\r\n getMarkerTrackers: _noop,\r\n _drawDateMarkers: _noop,\r\n _adjustDateMarkers: _noop,\r\n coordsIn: _noop,\r\n areCoordsOutsideAxis: _noop,\r\n _getSkippedCategory: _noop,\r\n _initAxisPositions: _noop,\r\n _drawTitle: _noop,\r\n _updateTitleCoords: _noop,\r\n _adjustConstantLineLabels: _noop,\r\n _createTranslator: function() {\r\n return new Translator2D({}, {}, {})\r\n },\r\n _updateTranslator: function() {\r\n var translator = this._translator;\r\n translator.update(translator.getBusinessRange(), this._canvas || {}, this._getTranslatorOptions())\r\n },\r\n _getTranslatorOptions: function() {\r\n var _options$workWeek2, _options$breakStyle$w, _options$breakStyle;\r\n var options = this._options;\r\n return {\r\n isHorizontal: this._isHorizontal,\r\n shiftZeroValue: !this.isArgumentAxis,\r\n interval: options.semiDiscreteInterval,\r\n firstDayOfWeek: null === (_options$workWeek2 = options.workWeek) || void 0 === _options$workWeek2 ? void 0 : _options$workWeek2[0],\r\n stick: this._getStick(),\r\n breaksSize: null !== (_options$breakStyle$w = null === (_options$breakStyle = options.breakStyle) || void 0 === _options$breakStyle ? void 0 : _options$breakStyle.width) && void 0 !== _options$breakStyle$w ? _options$breakStyle$w : 0\r\n }\r\n },\r\n getVisibleArea() {\r\n var canvas = this._getCanvasStartEnd();\r\n return [canvas.start, canvas.end].sort((a, b) => a - b)\r\n },\r\n _getCanvasStartEnd: function() {\r\n var isHorizontal = this._isHorizontal;\r\n var canvas = this._canvas || {};\r\n var invert = this._translator.getBusinessRange().invert;\r\n var coords = isHorizontal ? [canvas.left, canvas.width - canvas.right] : [canvas.height - canvas.bottom, canvas.top];\r\n invert && coords.reverse();\r\n return {\r\n start: coords[0],\r\n end: coords[1]\r\n }\r\n },\r\n _getScreenDelta: function() {\r\n var canvas = this._getCanvasStartEnd();\r\n var breaks = this._seriesData ? this._seriesData.breaks || [] : [];\r\n var breaksLength = breaks.length;\r\n var screenDelta = _abs(canvas.start - canvas.end);\r\n return screenDelta - (breaksLength ? breaks[breaksLength - 1].cumulativeWidth : 0)\r\n },\r\n _getScaleBreaks: function() {\r\n return []\r\n },\r\n _filterBreaks: function() {\r\n return []\r\n },\r\n _adjustTitle: _noop,\r\n _checkTitleOverflow: _noop,\r\n getSpiderTicks: _noop,\r\n setSpiderTicks: _noop,\r\n _checkBoundedLabelsOverlapping: _noop,\r\n _checkShiftedLabels: _noop,\r\n drawScaleBreaks: _noop,\r\n _visualRange: _noop,\r\n _rotateConstantLine: _noop,\r\n applyVisualRangeSetter(visualRangeSetter) {\r\n this._visualRange = visualRangeSetter\r\n },\r\n getCategoriesSorter(argCategories) {\r\n var sort;\r\n if (this.isArgumentAxis) {\r\n sort = argCategories\r\n } else {\r\n var categoriesSortingMethod = this._options.categoriesSortingMethod;\r\n sort = null !== categoriesSortingMethod && void 0 !== categoriesSortingMethod ? categoriesSortingMethod : this._options.categories\r\n }\r\n return sort\r\n },\r\n _getAdjustedBusinessRange() {\r\n return this.adjustViewport(this._translator.getBusinessRange())\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/series_family.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n map as _map,\r\n normalizeEnum as _normalizeEnum\r\n} from \"./utils\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nvar {\r\n round: round,\r\n abs: abs,\r\n pow: pow,\r\n sqrt: sqrt\r\n} = Math;\r\nvar _min = Math.min;\r\nvar DEFAULT_BAR_GROUP_PADDING = .3;\r\n\r\nfunction validateBarPadding(barPadding) {\r\n return barPadding < 0 || barPadding > 1 ? void 0 : barPadding\r\n}\r\n\r\nfunction validateBarGroupPadding(barGroupPadding) {\r\n return barGroupPadding < 0 || barGroupPadding > 1 ? DEFAULT_BAR_GROUP_PADDING : barGroupPadding\r\n}\r\n\r\nfunction isStackExist(series, arg) {\r\n return series.some((function(s) {\r\n return !s.getOptions().ignoreEmptyPoints || s.getPointsByArg(arg, true).some((function(point) {\r\n return point.hasValue()\r\n }))\r\n }))\r\n}\r\n\r\nfunction correctStackCoordinates(series, currentStacks, arg, stack, parameters, barsArea, seriesStackIndexCallback) {\r\n series.forEach((function(series) {\r\n var stackIndex = seriesStackIndexCallback(currentStacks.indexOf(stack), currentStacks.length);\r\n var points = series.getPointsByArg(arg, true);\r\n var barPadding = validateBarPadding(series.getOptions().barPadding);\r\n var barWidth = series.getOptions().barWidth;\r\n var offset = getOffset(stackIndex, parameters);\r\n var width = parameters.width;\r\n var extraParameters;\r\n if (-1 === stackIndex) {\r\n return\r\n }\r\n if (isDefined(barPadding) || isDefined(barWidth)) {\r\n extraParameters = calculateParams(barsArea, currentStacks.length, 1 - barPadding, barWidth);\r\n width = extraParameters.width;\r\n if (!series.getBarOverlapGroup()) {\r\n offset = getOffset(stackIndex, extraParameters)\r\n }\r\n }\r\n correctPointCoordinates(points, width, offset)\r\n }))\r\n}\r\n\r\nfunction getStackName(series) {\r\n return series.getStackName() || series.getBarOverlapGroup()\r\n}\r\n\r\nfunction adjustBarSeriesDimensionsCore(series, options, seriesStackIndexCallback) {\r\n var _series$, _series$2;\r\n var commonStacks = [];\r\n var allArguments = [];\r\n var seriesInStacks = {};\r\n var barGroupWidth = options.barGroupWidth;\r\n var argumentAxis = null === (_series$ = series[0]) || void 0 === _series$ ? void 0 : _series$.getArgumentAxis();\r\n var interval;\r\n if (null !== (_series$2 = series[0]) && void 0 !== _series$2 && _series$2.useAggregation()) {\r\n var _series$3;\r\n var isDateArgAxis = \"datetime\" === (null === (_series$3 = series[0]) || void 0 === _series$3 ? void 0 : _series$3.argumentType);\r\n var tickInterval = argumentAxis.getTickInterval();\r\n var aggregationInterval = argumentAxis.getAggregationInterval();\r\n tickInterval = isDateArgAxis ? dateUtils.dateToMilliseconds(tickInterval) : tickInterval;\r\n aggregationInterval = isDateArgAxis ? dateUtils.dateToMilliseconds(aggregationInterval) : aggregationInterval;\r\n interval = aggregationInterval < tickInterval ? aggregationInterval : tickInterval\r\n }\r\n interval = null === argumentAxis || void 0 === argumentAxis ? void 0 : argumentAxis.getTranslator().getInterval(interval);\r\n var barsArea = barGroupWidth ? interval > barGroupWidth ? barGroupWidth : interval : interval * (1 - validateBarGroupPadding(options.barGroupPadding));\r\n series.forEach((function(s, i) {\r\n var stackName = getStackName(s) || i.toString();\r\n var argument;\r\n for (argument in s.pointsByArgument) {\r\n if (-1 === allArguments.indexOf(argument.valueOf())) {\r\n allArguments.push(argument.valueOf())\r\n }\r\n }\r\n if (-1 === commonStacks.indexOf(stackName)) {\r\n commonStacks.push(stackName);\r\n seriesInStacks[stackName] = []\r\n }\r\n seriesInStacks[stackName].push(s)\r\n }));\r\n allArguments.forEach((function(arg) {\r\n var currentStacks = commonStacks.reduce((stacks, stack) => {\r\n if (isStackExist(seriesInStacks[stack], arg)) {\r\n stacks.push(stack)\r\n }\r\n return stacks\r\n }, []);\r\n var parameters = calculateParams(barsArea, currentStacks.length);\r\n commonStacks.forEach(stack => {\r\n correctStackCoordinates(seriesInStacks[stack], currentStacks, arg, stack, parameters, barsArea, seriesStackIndexCallback)\r\n })\r\n }))\r\n}\r\n\r\nfunction calculateParams(barsArea, count, percentWidth, fixedBarWidth) {\r\n var spacing;\r\n var width;\r\n if (fixedBarWidth) {\r\n width = _min(fixedBarWidth, barsArea / count);\r\n spacing = count > 1 ? round((barsArea - round(width) * count) / (count - 1)) : 0\r\n } else if (isDefined(percentWidth)) {\r\n width = barsArea * percentWidth / count;\r\n spacing = count > 1 ? round((barsArea - barsArea * percentWidth) / (count - 1)) : 0\r\n } else {\r\n spacing = round(barsArea / count * .2);\r\n width = (barsArea - spacing * (count - 1)) / count\r\n }\r\n return {\r\n width: width > 1 ? round(width) : 1,\r\n spacing: spacing,\r\n middleIndex: count / 2,\r\n rawWidth: width\r\n }\r\n}\r\n\r\nfunction getOffset(stackIndex, parameters) {\r\n var width = parameters.rawWidth < 1 ? parameters.rawWidth : parameters.width;\r\n return (stackIndex - parameters.middleIndex + .5) * width - (parameters.middleIndex - stackIndex - .5) * parameters.spacing\r\n}\r\n\r\nfunction correctPointCoordinates(points, width, offset) {\r\n _each(points, (function(_, point) {\r\n point.correctCoordinates({\r\n width: width,\r\n offset: offset\r\n })\r\n }))\r\n}\r\n\r\nfunction getValueType(value) {\r\n return value >= 0 ? \"positive\" : \"negative\"\r\n}\r\n\r\nfunction getVisibleSeries(that) {\r\n return that.series.filter((function(s) {\r\n return s.isVisible()\r\n }))\r\n}\r\n\r\nfunction getAbsStackSumByArg(stackKeepers, stackName, argument) {\r\n var positiveStackValue = (stackKeepers.positive[stackName] || {})[argument] || 0;\r\n var negativeStackValue = -(stackKeepers.negative[stackName] || {})[argument] || 0;\r\n return positiveStackValue + negativeStackValue\r\n}\r\n\r\nfunction getStackSumByArg(stackKeepers, stackName, argument) {\r\n var positiveStackValue = (stackKeepers.positive[stackName] || {})[argument] || 0;\r\n var negativeStackValue = (stackKeepers.negative[stackName] || {})[argument] || 0;\r\n return positiveStackValue + negativeStackValue\r\n}\r\n\r\nfunction getSeriesStackIndexCallback(inverted) {\r\n if (!inverted) {\r\n return function(index) {\r\n return index\r\n }\r\n } else {\r\n return function(index, stackCount) {\r\n return stackCount - index - 1\r\n }\r\n }\r\n}\r\n\r\nfunction isInverted(series) {\r\n return series[0] && series[0].getArgumentAxis().getTranslator().isInverted()\r\n}\r\n\r\nfunction adjustBarSeriesDimensions() {\r\n var series = getVisibleSeries(this);\r\n adjustBarSeriesDimensionsCore(series, this._options, getSeriesStackIndexCallback(isInverted(series)))\r\n}\r\n\r\nfunction getFirstValueSign(series) {\r\n var points = series.getPoints();\r\n var value;\r\n for (var i = 0; i < points.length; i++) {\r\n var point = points[i];\r\n value = point.initialValue && point.initialValue.valueOf();\r\n if (abs(value) > 0) {\r\n break\r\n }\r\n }\r\n return sign(value)\r\n}\r\n\r\nfunction adjustStackedSeriesValues() {\r\n var negativesAsZeroes = this._options.negativesAsZeroes;\r\n var series = getVisibleSeries(this);\r\n var stackKeepers = {\r\n positive: {},\r\n negative: {}\r\n };\r\n var holesStack = {\r\n left: {},\r\n right: {}\r\n };\r\n var lastSeriesInPositiveStack = {};\r\n var lastSeriesInNegativeStack = {};\r\n series.forEach((function(singleSeries) {\r\n var stackName = getStackName(singleSeries);\r\n var hole = false;\r\n var stack = getFirstValueSign(singleSeries) < 0 ? lastSeriesInNegativeStack : lastSeriesInPositiveStack;\r\n singleSeries._prevSeries = stack[stackName];\r\n stack[stackName] = singleSeries;\r\n singleSeries.holes = extend(true, {}, holesStack);\r\n singleSeries.getPoints().forEach((function(point, index, points) {\r\n var value = point.initialValue && point.initialValue.valueOf();\r\n var argument = point.argument.valueOf();\r\n var stacks = value >= 0 ? stackKeepers.positive : stackKeepers.negative;\r\n var isNotBarSeries = \"bar\" !== singleSeries.type;\r\n if (negativesAsZeroes && value < 0) {\r\n stacks = stackKeepers.positive;\r\n value = 0;\r\n point.resetValue()\r\n }\r\n stacks[stackName] = stacks[stackName] || {};\r\n var currentStack = stacks[stackName];\r\n if (currentStack[argument]) {\r\n if (isNotBarSeries) {\r\n point.correctValue(currentStack[argument])\r\n }\r\n currentStack[argument] += value\r\n } else {\r\n currentStack[argument] = value;\r\n if (isNotBarSeries) {\r\n point.resetCorrection()\r\n }\r\n }\r\n if (!point.hasValue()) {\r\n var prevPoint = points[index - 1];\r\n if (!hole && prevPoint && prevPoint.hasValue()) {\r\n argument = prevPoint.argument.valueOf();\r\n prevPoint._skipSetRightHole = true;\r\n holesStack.right[argument] = (holesStack.right[argument] || 0) + (prevPoint.value.valueOf() - (isFinite(prevPoint.minValue) ? prevPoint.minValue.valueOf() : 0))\r\n }\r\n hole = true\r\n } else if (hole) {\r\n hole = false;\r\n holesStack.left[argument] = (holesStack.left[argument] || 0) + (point.value.valueOf() - (isFinite(point.minValue) ? point.minValue.valueOf() : 0));\r\n point._skipSetLeftHole = true\r\n }\r\n }))\r\n }));\r\n series.forEach((function(singleSeries) {\r\n var holes = singleSeries.holes;\r\n singleSeries.getPoints().forEach((function(point) {\r\n var argument = point.argument.valueOf();\r\n point.resetHoles();\r\n !point._skipSetLeftHole && point.setHole(holes.left[argument] || holesStack.left[argument] && 0, \"left\");\r\n !point._skipSetRightHole && point.setHole(holes.right[argument] || holesStack.right[argument] && 0, \"right\");\r\n point._skipSetLeftHole = null;\r\n point._skipSetRightHole = null\r\n }))\r\n }));\r\n this._stackKeepers = stackKeepers;\r\n series.forEach((function(singleSeries) {\r\n singleSeries.getPoints().forEach((function(point) {\r\n var argument = point.argument.valueOf();\r\n var stackName = getStackName(singleSeries);\r\n var absTotal = getAbsStackSumByArg(stackKeepers, stackName, argument);\r\n var total = getStackSumByArg(stackKeepers, stackName, argument);\r\n point.setPercentValue(absTotal, total, holesStack.left[argument], holesStack.right[argument])\r\n }))\r\n }))\r\n}\r\n\r\nfunction updateStackedSeriesValues() {\r\n var that = this;\r\n var series = getVisibleSeries(that);\r\n var stack = that._stackKeepers;\r\n var stackKeepers = {\r\n positive: {},\r\n negative: {}\r\n };\r\n _each(series, (function(_, singleSeries) {\r\n var minBarSize = singleSeries.getOptions().minBarSize;\r\n var valueAxisTranslator = singleSeries.getValueAxis().getTranslator();\r\n var minShownBusinessValue = minBarSize && valueAxisTranslator.getMinBarSize(minBarSize);\r\n var stackName = singleSeries.getStackName();\r\n _each(singleSeries.getPoints(), (function(index, point) {\r\n if (!point.hasValue()) {\r\n return\r\n }\r\n var value = point.initialValue && point.initialValue.valueOf();\r\n var argument = point.argument.valueOf();\r\n if (that.fullStacked) {\r\n value = value / getAbsStackSumByArg(stack, stackName, argument) || 0\r\n }\r\n var updateValue = valueAxisTranslator.checkMinBarSize(value, minShownBusinessValue, point.value);\r\n var valueType = getValueType(updateValue);\r\n var currentStack = stackKeepers[valueType][stackName] = stackKeepers[valueType][stackName] || {};\r\n if (currentStack[argument]) {\r\n point.minValue = currentStack[argument];\r\n currentStack[argument] += updateValue\r\n } else {\r\n currentStack[argument] = updateValue\r\n }\r\n point.value = currentStack[argument]\r\n }))\r\n }));\r\n if (that.fullStacked) {\r\n updateFullStackedSeriesValues(series, stackKeepers)\r\n }\r\n}\r\n\r\nfunction updateFullStackedSeriesValues(series, stackKeepers) {\r\n _each(series, (function(_, singleSeries) {\r\n var stackName = singleSeries.getStackName ? singleSeries.getStackName() : \"default\";\r\n _each(singleSeries.getPoints(), (function(index, point) {\r\n var stackSum = getAbsStackSumByArg(stackKeepers, stackName, point.argument.valueOf());\r\n if (0 !== stackSum) {\r\n point.value = point.value / stackSum;\r\n if (isNumeric(point.minValue)) {\r\n point.minValue = point.minValue / stackSum\r\n }\r\n }\r\n }))\r\n }))\r\n}\r\n\r\nfunction updateRangeSeriesValues() {\r\n var series = getVisibleSeries(this);\r\n _each(series, (function(_, singleSeries) {\r\n var minBarSize = singleSeries.getOptions().minBarSize;\r\n var valueAxisTranslator = singleSeries.getValueAxis().getTranslator();\r\n var minShownBusinessValue = minBarSize && valueAxisTranslator.getMinBarSize(minBarSize);\r\n if (minShownBusinessValue) {\r\n _each(singleSeries.getPoints(), (function(_, point) {\r\n if (!point.hasValue()) {\r\n return\r\n }\r\n if (point.value.valueOf() - point.minValue.valueOf() < minShownBusinessValue) {\r\n point.value = point.value.valueOf() + minShownBusinessValue / 2;\r\n point.minValue = point.minValue.valueOf() - minShownBusinessValue / 2\r\n }\r\n }))\r\n }\r\n }))\r\n}\r\n\r\nfunction updateBarSeriesValues() {\r\n _each(this.series, (function(_, singleSeries) {\r\n var minBarSize = singleSeries.getOptions().minBarSize;\r\n var valueAxisTranslator = singleSeries.getValueAxis().getTranslator();\r\n var minShownBusinessValue = minBarSize && valueAxisTranslator.getMinBarSize(minBarSize);\r\n if (minShownBusinessValue) {\r\n _each(singleSeries.getPoints(), (function(index, point) {\r\n if (point.hasValue()) {\r\n point.value = valueAxisTranslator.checkMinBarSize(point.initialValue, minShownBusinessValue)\r\n }\r\n }))\r\n }\r\n }))\r\n}\r\n\r\nfunction adjustCandlestickSeriesDimensions() {\r\n var series = getVisibleSeries(this);\r\n adjustBarSeriesDimensionsCore(series, {\r\n barGroupPadding: .3\r\n }, getSeriesStackIndexCallback(isInverted(series)))\r\n}\r\n\r\nfunction adjustBubbleSeriesDimensions() {\r\n var series = getVisibleSeries(this);\r\n if (!series.length) {\r\n return\r\n }\r\n var options = this._options;\r\n var visibleAreaX = series[0].getArgumentAxis().getVisibleArea();\r\n var visibleAreaY = series[0].getValueAxis().getVisibleArea();\r\n var min = _min(visibleAreaX[1] - visibleAreaX[0], visibleAreaY[1] - visibleAreaY[0]);\r\n var minBubbleArea = pow(options.minBubbleSize, 2);\r\n var maxBubbleArea = pow(min * options.maxBubbleSize, 2);\r\n var equalBubbleSize = (min * options.maxBubbleSize + options.minBubbleSize) / 2;\r\n var minPointSize = 1 / 0;\r\n var maxPointSize = -1 / 0;\r\n var pointSize;\r\n var bubbleArea;\r\n var sizeProportion;\r\n _each(series, (function(_, seriesItem) {\r\n _each(seriesItem.getPoints(), (function(_, point) {\r\n maxPointSize = maxPointSize > point.size ? maxPointSize : point.size;\r\n minPointSize = minPointSize < point.size ? minPointSize : point.size\r\n }))\r\n }));\r\n var sizeDispersion = maxPointSize - minPointSize;\r\n var areaDispersion = abs(maxBubbleArea - minBubbleArea);\r\n _each(series, (function(_, seriesItem) {\r\n _each(seriesItem.getPoints(), (function(_, point) {\r\n if (maxPointSize === minPointSize) {\r\n pointSize = round(equalBubbleSize)\r\n } else {\r\n sizeProportion = abs(point.size - minPointSize) / sizeDispersion;\r\n bubbleArea = areaDispersion * sizeProportion + minBubbleArea;\r\n pointSize = round(sqrt(bubbleArea))\r\n }\r\n point.correctCoordinates(pointSize)\r\n }))\r\n }))\r\n}\r\nexport function SeriesFamily(options) {\r\n this.type = _normalizeEnum(options.type);\r\n this.pane = options.pane;\r\n this.series = [];\r\n this.updateOptions(options);\r\n switch (this.type) {\r\n case \"bar\":\r\n this.adjustSeriesDimensions = adjustBarSeriesDimensions;\r\n this.updateSeriesValues = updateBarSeriesValues;\r\n this.adjustSeriesValues = adjustStackedSeriesValues;\r\n break;\r\n case \"rangebar\":\r\n this.adjustSeriesDimensions = adjustBarSeriesDimensions;\r\n this.updateSeriesValues = updateRangeSeriesValues;\r\n break;\r\n case \"fullstackedbar\":\r\n this.fullStacked = true;\r\n this.adjustSeriesDimensions = adjustBarSeriesDimensions;\r\n this.adjustSeriesValues = adjustStackedSeriesValues;\r\n this.updateSeriesValues = updateStackedSeriesValues;\r\n break;\r\n case \"stackedbar\":\r\n this.adjustSeriesDimensions = adjustBarSeriesDimensions;\r\n this.adjustSeriesValues = adjustStackedSeriesValues;\r\n this.updateSeriesValues = updateStackedSeriesValues;\r\n break;\r\n case \"fullstackedarea\":\r\n case \"fullstackedline\":\r\n case \"fullstackedspline\":\r\n case \"fullstackedsplinearea\":\r\n this.fullStacked = true;\r\n this.adjustSeriesValues = adjustStackedSeriesValues;\r\n break;\r\n case \"stackedarea\":\r\n case \"stackedsplinearea\":\r\n case \"stackedline\":\r\n case \"stackedspline\":\r\n this.adjustSeriesValues = adjustStackedSeriesValues;\r\n break;\r\n case \"candlestick\":\r\n case \"stock\":\r\n this.adjustSeriesDimensions = adjustCandlestickSeriesDimensions;\r\n break;\r\n case \"bubble\":\r\n this.adjustSeriesDimensions = adjustBubbleSeriesDimensions\r\n }\r\n}\r\nSeriesFamily.prototype = {\r\n constructor: SeriesFamily,\r\n adjustSeriesDimensions: _noop,\r\n adjustSeriesValues: _noop,\r\n updateSeriesValues: _noop,\r\n updateOptions: function(options) {\r\n this._options = options\r\n },\r\n dispose: function() {\r\n this.series = null\r\n },\r\n add: function(series) {\r\n var type = this.type;\r\n this.series = _map(series, singleSeries => singleSeries.type === type ? singleSeries : null)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/advanced_chart.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n extend as _extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each as _each,\r\n reverseEach as _reverseEach\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n Range\r\n} from \"../translators/range\";\r\nimport {\r\n Axis\r\n} from \"../axes/base_axis\";\r\nimport {\r\n SeriesFamily\r\n} from \"../core/series_family\";\r\nimport {\r\n BaseChart\r\n} from \"./base_chart\";\r\nimport rangeDataCalculator from \"../series/helpers/range_data_calculator\";\r\nimport {\r\n isDefined as _isDefined,\r\n type\r\n} from \"../../core/utils/type\";\r\nimport {\r\n noop as _noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n convertVisualRangeObject,\r\n rangesAreEqual,\r\n map as _map,\r\n mergeMarginOptions,\r\n setCanvasValues,\r\n unique\r\n} from \"../core/utils\";\r\nvar _isArray = Array.isArray;\r\nvar DEFAULT_AXIS_NAME = \"defaultAxisName\";\r\nvar FONT = \"font\";\r\nvar COMMON_AXIS_SETTINGS = \"commonAxisSettings\";\r\nvar DEFAULT_PANE_NAME = \"default\";\r\nvar VISUAL_RANGE = \"VISUAL_RANGE\";\r\n\r\nfunction prepareAxis(axisOptions) {\r\n return _isArray(axisOptions) ? 0 === axisOptions.length ? [{}] : axisOptions : [axisOptions]\r\n}\r\n\r\nfunction processBubbleMargin(opt, bubbleSize) {\r\n if (opt.processBubbleSize) {\r\n opt.size = bubbleSize\r\n }\r\n return opt\r\n}\r\n\r\nfunction estimateBubbleSize(size, panesCount, maxSize, rotated) {\r\n var width = rotated ? size.width / panesCount : size.width;\r\n var height = rotated ? size.height : size.height / panesCount;\r\n return Math.min(width, height) * maxSize\r\n}\r\n\r\nfunction setAxisVisualRangeByOption(arg, axis, isDirectOption, index) {\r\n var options;\r\n var visualRange;\r\n if (isDirectOption) {\r\n visualRange = arg.value;\r\n options = {\r\n skipEventRising: true\r\n };\r\n var wrappedVisualRange = wrapVisualRange(arg.fullName, visualRange);\r\n if (wrappedVisualRange) {\r\n options = {\r\n allowPartialUpdate: true\r\n };\r\n visualRange = wrappedVisualRange\r\n }\r\n } else {\r\n visualRange = (_isDefined(index) ? arg.value[index] : arg.value).visualRange\r\n }\r\n axis.visualRange(visualRange, options)\r\n}\r\n\r\nfunction getAxisTypes(groupsData, axis, isArgumentAxes) {\r\n if (isArgumentAxes) {\r\n return {\r\n argumentAxisType: groupsData.argumentAxisType,\r\n argumentType: groupsData.argumentType\r\n }\r\n }\r\n var {\r\n valueAxisType: valueAxisType,\r\n valueType: valueType\r\n } = groupsData.groups.filter(g => g.valueAxis === axis)[0];\r\n return {\r\n valueAxisType: valueAxisType,\r\n valueType: valueType\r\n }\r\n}\r\n\r\nfunction wrapVisualRange(fullName, value) {\r\n var pathElements = fullName.split(\".\");\r\n var destElem = pathElements[pathElements.length - 1];\r\n if (\"endValue\" === destElem || \"startValue\" === destElem) {\r\n return {\r\n [destElem]: value\r\n }\r\n }\r\n}\r\nexport var AdvancedChart = BaseChart.inherit({\r\n _fontFields: [COMMON_AXIS_SETTINGS + \".label.\" + FONT, COMMON_AXIS_SETTINGS + \".title.\" + FONT],\r\n _partialOptionChangesMap: {\r\n visualRange: VISUAL_RANGE,\r\n _customVisualRange: VISUAL_RANGE,\r\n strips: \"REFRESH_AXES\",\r\n constantLines: \"REFRESH_AXES\"\r\n },\r\n _partialOptionChangesPath: {\r\n argumentAxis: [\"strips\", \"constantLines\", \"visualRange\", \"_customVisualRange\"],\r\n valueAxis: [\"strips\", \"constantLines\", \"visualRange\", \"_customVisualRange\"]\r\n },\r\n _initCore() {\r\n this._panesClipRects = {};\r\n this.callBase()\r\n },\r\n _disposeCore() {\r\n var disposeObjectsInArray = this._disposeObjectsInArray;\r\n var panesClipRects = this._panesClipRects;\r\n this.callBase();\r\n disposeObjectsInArray.call(panesClipRects, \"fixed\");\r\n disposeObjectsInArray.call(panesClipRects, \"base\");\r\n disposeObjectsInArray.call(panesClipRects, \"wide\");\r\n this._panesClipRects = null;\r\n this._labelsAxesGroup.linkOff();\r\n this._labelsAxesGroup.dispose();\r\n this._labelsAxesGroup = null\r\n },\r\n _dispose: function() {\r\n var disposeObjectsInArray = this._disposeObjectsInArray;\r\n this.callBase();\r\n this.panes = null;\r\n if (this._legend) {\r\n this._legend.dispose();\r\n this._legend = null\r\n }\r\n disposeObjectsInArray.call(this, \"panesBackground\");\r\n disposeObjectsInArray.call(this, \"seriesFamilies\");\r\n this._disposeAxes()\r\n },\r\n _createPanes: function() {\r\n this._cleanPanesClipRects(\"fixed\");\r\n this._cleanPanesClipRects(\"base\");\r\n this._cleanPanesClipRects(\"wide\")\r\n },\r\n _cleanPanesClipRects(clipArrayName) {\r\n var clipArray = this._panesClipRects[clipArrayName];\r\n (clipArray || []).forEach(clipRect => clipRect && clipRect.dispose());\r\n this._panesClipRects[clipArrayName] = []\r\n },\r\n _getElementsClipRectID(paneName) {\r\n var clipShape = this._panesClipRects.fixed[this._getPaneIndex(paneName)];\r\n return clipShape && clipShape.id\r\n },\r\n _getPaneIndex(paneName) {\r\n var paneIndex;\r\n var name = paneName || DEFAULT_PANE_NAME;\r\n _each(this.panes, (index, pane) => {\r\n if (pane.name === name) {\r\n paneIndex = index;\r\n return false\r\n }\r\n });\r\n return paneIndex\r\n },\r\n _updateSize() {\r\n this.callBase();\r\n setCanvasValues(this._canvas)\r\n },\r\n _reinitAxes: function() {\r\n this.panes = this._createPanes();\r\n this._populateAxes();\r\n this._axesReinitialized = true\r\n },\r\n _populateAxes() {\r\n var that = this;\r\n var panes = that.panes;\r\n var rotated = that._isRotated();\r\n var argumentAxesOptions = prepareAxis(that.option(\"argumentAxis\") || {})[0];\r\n var valueAxisOption = that.option(\"valueAxis\");\r\n var valueAxesOptions = prepareAxis(valueAxisOption || {});\r\n var argumentAxesPopulatedOptions;\r\n var valueAxesPopulatedOptions = [];\r\n var axisNames = [];\r\n var valueAxesCounter = 0;\r\n var paneWithNonVirtualAxis;\r\n var crosshairMargins = that._getCrosshairMargins();\r\n if (rotated) {\r\n paneWithNonVirtualAxis = \"right\" === argumentAxesOptions.position ? panes[panes.length - 1].name : panes[0].name\r\n } else {\r\n paneWithNonVirtualAxis = \"top\" === argumentAxesOptions.position ? panes[0].name : panes[panes.length - 1].name\r\n }\r\n argumentAxesPopulatedOptions = _map(panes, pane => {\r\n var virtual = pane.name !== paneWithNonVirtualAxis;\r\n return that._populateAxesOptions(\"argumentAxis\", argumentAxesOptions, {\r\n pane: pane.name,\r\n name: null,\r\n optionPath: \"argumentAxis\",\r\n crosshairMargin: rotated ? crosshairMargins.x : crosshairMargins.y\r\n }, rotated, virtual)\r\n });\r\n _each(valueAxesOptions, (priority, axisOptions) => {\r\n var _axisOptions$panes;\r\n var axisPanes = [];\r\n var name = axisOptions.name;\r\n if (name && axisNames.includes(name)) {\r\n that._incidentOccurred(\"E2102\");\r\n return\r\n }\r\n name && axisNames.push(name);\r\n if (axisOptions.pane) {\r\n axisPanes.push(axisOptions.pane)\r\n }\r\n if (null !== (_axisOptions$panes = axisOptions.panes) && void 0 !== _axisOptions$panes && _axisOptions$panes.length) {\r\n axisPanes = axisPanes.concat(axisOptions.panes.slice(0))\r\n }\r\n axisPanes = unique(axisPanes);\r\n if (!axisPanes.length) {\r\n axisPanes.push(void 0)\r\n }\r\n _each(axisPanes, (_, pane) => {\r\n var optionPath = _isArray(valueAxisOption) ? \"valueAxis[\".concat(priority, \"]\") : \"valueAxis\";\r\n valueAxesPopulatedOptions.push(that._populateAxesOptions(\"valueAxis\", axisOptions, {\r\n name: name || DEFAULT_AXIS_NAME + valueAxesCounter++,\r\n pane: pane,\r\n priority: priority,\r\n optionPath: optionPath,\r\n crosshairMargin: rotated ? crosshairMargins.y : crosshairMargins.x\r\n }, rotated))\r\n })\r\n });\r\n that._redesignAxes(argumentAxesPopulatedOptions, true, paneWithNonVirtualAxis);\r\n that._redesignAxes(valueAxesPopulatedOptions, false)\r\n },\r\n _redesignAxes(options, isArgumentAxes, paneWithNonVirtualAxis) {\r\n var that = this;\r\n var axesBasis = [];\r\n var axes = isArgumentAxes ? that._argumentAxes : that._valueAxes;\r\n _each(options, (_, opt) => {\r\n var curAxes = axes && axes.filter(a => a.name === opt.name && (!_isDefined(opt.pane) && that.panes.some(p => p.name === a.pane) || a.pane === opt.pane));\r\n if (curAxes && curAxes.length > 0) {\r\n _each(curAxes, (_, axis) => {\r\n var axisTypes = getAxisTypes(that._groupsData, axis, isArgumentAxes);\r\n axis.updateOptions(opt);\r\n if (isArgumentAxes) {\r\n axis.setTypes(axisTypes.argumentAxisType, axisTypes.argumentType, \"argumentType\")\r\n } else {\r\n axis.setTypes(axisTypes.valueAxisType, axisTypes.valueType, \"valueType\")\r\n }\r\n axis.validate();\r\n axesBasis.push({\r\n axis: axis\r\n })\r\n })\r\n } else {\r\n axesBasis.push({\r\n options: opt\r\n })\r\n }\r\n });\r\n if (axes) {\r\n _reverseEach(axes, (index, axis) => {\r\n if (!axesBasis.some(basis => basis.axis && basis.axis === axis)) {\r\n that._disposeAxis(index, isArgumentAxes)\r\n }\r\n })\r\n } else if (isArgumentAxes) {\r\n axes = that._argumentAxes = []\r\n } else {\r\n axes = that._valueAxes = []\r\n }\r\n _each(axesBasis, (_, basis) => {\r\n var axis = basis.axis;\r\n if (basis.axis && isArgumentAxes) {\r\n basis.axis.isVirtual = basis.axis.pane !== paneWithNonVirtualAxis\r\n } else if (basis.options) {\r\n axis = that._createAxis(isArgumentAxes, basis.options, isArgumentAxes ? basis.options.pane !== paneWithNonVirtualAxis : void 0);\r\n axes.push(axis)\r\n }\r\n axis.applyVisualRangeSetter(that._getVisualRangeSetter())\r\n })\r\n },\r\n _disposeAxis(index, isArgumentAxis) {\r\n var axes = isArgumentAxis ? this._argumentAxes : this._valueAxes;\r\n var axis = axes[index];\r\n if (!axis) {\r\n return\r\n }\r\n axis.dispose();\r\n axes.splice(index, 1)\r\n },\r\n _disposeAxes: function() {\r\n var disposeObjectsInArray = this._disposeObjectsInArray;\r\n disposeObjectsInArray.call(this, \"_argumentAxes\");\r\n disposeObjectsInArray.call(this, \"_valueAxes\")\r\n },\r\n _appendAdditionalSeriesGroups: function() {\r\n this._crosshairCursorGroup.linkAppend();\r\n this._scrollBar && this._scrollBarGroup.linkAppend()\r\n },\r\n _getLegendTargets: function() {\r\n return (this.series || []).map(s => {\r\n var item = this._getLegendOptions(s);\r\n item.legendData.series = s;\r\n if (!s.getOptions().showInLegend) {\r\n item.legendData.visible = false\r\n }\r\n return item\r\n })\r\n },\r\n _legendItemTextField: \"name\",\r\n _seriesPopulatedHandlerCore: function() {\r\n this._processSeriesFamilies();\r\n this._processValueAxisFormat()\r\n },\r\n _renderTrackers: function() {\r\n var i;\r\n for (i = 0; i < this.series.length; ++i) {\r\n this.series[i].drawTrackers()\r\n }\r\n },\r\n _specialProcessSeries: function() {\r\n this._processSeriesFamilies()\r\n },\r\n _processSeriesFamilies: function() {\r\n var _that$seriesFamilies;\r\n var that = this;\r\n var types = [];\r\n var families = [];\r\n var paneSeries;\r\n var themeManager = that._themeManager;\r\n var negativesAsZeroes = themeManager.getOptions(\"negativesAsZeroes\");\r\n var negativesAsZeros = themeManager.getOptions(\"negativesAsZeros\");\r\n var familyOptions = {\r\n minBubbleSize: themeManager.getOptions(\"minBubbleSize\"),\r\n maxBubbleSize: themeManager.getOptions(\"maxBubbleSize\"),\r\n barGroupPadding: themeManager.getOptions(\"barGroupPadding\"),\r\n barGroupWidth: themeManager.getOptions(\"barGroupWidth\"),\r\n negativesAsZeroes: _isDefined(negativesAsZeroes) ? negativesAsZeroes : negativesAsZeros\r\n };\r\n if (null !== (_that$seriesFamilies = that.seriesFamilies) && void 0 !== _that$seriesFamilies && _that$seriesFamilies.length) {\r\n _each(that.seriesFamilies, (function(_, family) {\r\n family.updateOptions(familyOptions);\r\n family.adjustSeriesValues()\r\n }));\r\n return\r\n }\r\n _each(that.series, (function(_, item) {\r\n if (!types.includes(item.type)) {\r\n types.push(item.type)\r\n }\r\n }));\r\n _each(that._getLayoutTargets(), (function(_, pane) {\r\n paneSeries = that._getSeriesForPane(pane.name);\r\n _each(types, (function(_, type) {\r\n var family = new SeriesFamily({\r\n type: type,\r\n pane: pane.name,\r\n minBubbleSize: familyOptions.minBubbleSize,\r\n maxBubbleSize: familyOptions.maxBubbleSize,\r\n barGroupPadding: familyOptions.barGroupPadding,\r\n barGroupWidth: familyOptions.barGroupWidth,\r\n negativesAsZeroes: familyOptions.negativesAsZeroes,\r\n rotated: that._isRotated()\r\n });\r\n family.add(paneSeries);\r\n family.adjustSeriesValues();\r\n families.push(family)\r\n }))\r\n }));\r\n that.seriesFamilies = families\r\n },\r\n _updateSeriesDimensions: function() {\r\n var i;\r\n var seriesFamilies = this.seriesFamilies || [];\r\n for (i = 0; i < seriesFamilies.length; i++) {\r\n var family = seriesFamilies[i];\r\n family.updateSeriesValues();\r\n family.adjustSeriesDimensions()\r\n }\r\n },\r\n _getLegendCallBack: function(series) {\r\n return this._legend && this._legend.getActionCallback(series)\r\n },\r\n _appendAxesGroups: function() {\r\n this._stripsGroup.linkAppend();\r\n this._gridGroup.linkAppend();\r\n this._axesGroup.linkAppend();\r\n this._labelsAxesGroup.linkAppend();\r\n this._constantLinesGroup.linkAppend();\r\n this._stripLabelAxesGroup.linkAppend();\r\n this._scaleBreaksGroup.linkAppend()\r\n },\r\n _populateMarginOptions() {\r\n var that = this;\r\n var bubbleSize = estimateBubbleSize(that.getSize(), that.panes.length, that._themeManager.getOptions(\"maxBubbleSize\"), that._isRotated());\r\n var argumentMarginOptions = {};\r\n that._valueAxes.forEach(valueAxis => {\r\n var groupSeries = that.series.filter((function(series) {\r\n return series.getValueAxis() === valueAxis\r\n }));\r\n var marginOptions = {};\r\n groupSeries.forEach(series => {\r\n if (series.isVisible()) {\r\n var seriesMarginOptions = processBubbleMargin(series.getMarginOptions(), bubbleSize);\r\n marginOptions = mergeMarginOptions(marginOptions, seriesMarginOptions);\r\n argumentMarginOptions = mergeMarginOptions(argumentMarginOptions, seriesMarginOptions)\r\n }\r\n });\r\n valueAxis.setMarginOptions(marginOptions)\r\n });\r\n that._argumentAxes.forEach(a => a.setMarginOptions(argumentMarginOptions))\r\n },\r\n _populateBusinessRange(updatedAxis, keepRange) {\r\n var that = this;\r\n var rotated = that._isRotated();\r\n var series = that._getVisibleSeries();\r\n var argRanges = {};\r\n var commonArgRange = new Range({\r\n rotated: !!rotated\r\n });\r\n var getPaneName = axis => axis.pane || DEFAULT_PANE_NAME;\r\n that.panes.forEach(p => argRanges[p.name] = new Range({\r\n rotated: !!rotated\r\n }));\r\n that._valueAxes.forEach(valueAxis => {\r\n var groupRange = new Range({\r\n rotated: !!rotated,\r\n pane: valueAxis.pane,\r\n axis: valueAxis.name\r\n });\r\n var groupSeries = series.filter(series => series.getValueAxis() === valueAxis);\r\n groupSeries.forEach(series => {\r\n var seriesRange = series.getRangeData();\r\n groupRange.addRange(seriesRange.val);\r\n argRanges[getPaneName(valueAxis)].addRange(seriesRange.arg)\r\n });\r\n if (!updatedAxis || updatedAxis && groupSeries.length && valueAxis === updatedAxis) {\r\n valueAxis.setGroupSeries(groupSeries);\r\n valueAxis.setBusinessRange(groupRange, that._axesReinitialized || keepRange, that._argumentAxes[0]._lastVisualRangeUpdateMode)\r\n }\r\n });\r\n if (!updatedAxis || updatedAxis && series.length) {\r\n Object.keys(argRanges).forEach(p => commonArgRange.addRange(argRanges[p]));\r\n var commonInterval = commonArgRange.interval;\r\n that._argumentAxes.forEach(a => {\r\n var _argRanges$getPaneNam;\r\n var currentInterval = null !== (_argRanges$getPaneNam = argRanges[getPaneName(a)].interval) && void 0 !== _argRanges$getPaneNam ? _argRanges$getPaneNam : commonInterval;\r\n a.setBusinessRange(new Range(_extends({}, commonArgRange, {\r\n interval: currentInterval\r\n })), that._axesReinitialized, void 0, that._groupsData.categories)\r\n })\r\n }\r\n that._populateMarginOptions()\r\n },\r\n getArgumentAxis: function() {\r\n return (this._argumentAxes || []).filter(a => !a.isVirtual)[0]\r\n },\r\n getValueAxis: function(name) {\r\n return (this._valueAxes || []).filter(_isDefined(name) ? a => a.name === name : a => a.pane === this.defaultPane)[0]\r\n },\r\n _getGroupsData: function() {\r\n var that = this;\r\n var groups = [];\r\n that._valueAxes.forEach((function(axis) {\r\n groups.push({\r\n series: that.series.filter((function(series) {\r\n return series.getValueAxis() === axis\r\n })),\r\n valueAxis: axis,\r\n valueOptions: axis.getOptions()\r\n })\r\n }));\r\n return {\r\n groups: groups,\r\n argumentAxes: that._argumentAxes,\r\n argumentOptions: that._argumentAxes[0].getOptions()\r\n }\r\n },\r\n _groupSeries: function() {\r\n this._correctValueAxes(false);\r\n this._groupsData = this._getGroupsData()\r\n },\r\n _processValueAxisFormat: function() {\r\n var axesWithFullStackedFormat = [];\r\n this.series.forEach((function(series) {\r\n var axis = series.getValueAxis();\r\n if (series.isFullStackedSeries()) {\r\n axis.setPercentLabelFormat();\r\n axesWithFullStackedFormat.push(axis)\r\n }\r\n }));\r\n this._valueAxes.forEach((function(axis) {\r\n if (-1 === axesWithFullStackedFormat.indexOf(axis)) {\r\n axis.resetAutoLabelFormat()\r\n }\r\n }))\r\n },\r\n _populateAxesOptions(typeSelector, userOptions, axisOptions, rotated, virtual) {\r\n var preparedUserOptions = this._prepareStripsAndConstantLines(typeSelector, userOptions, rotated);\r\n var options = _extend(true, {}, preparedUserOptions, axisOptions, this._prepareAxisOptions(typeSelector, preparedUserOptions, rotated));\r\n if (virtual) {\r\n options.visible = options.tick.visible = options.minorTick.visible = options.label.visible = false;\r\n options.title = {}\r\n }\r\n return options\r\n },\r\n _getValFilter: series => rangeDataCalculator.getViewPortFilter(series.getValueAxis().visualRange() || {}),\r\n _createAxis(isArgumentAxes, options, virtual) {\r\n var that = this;\r\n var typeSelector = isArgumentAxes ? \"argumentAxis\" : \"valueAxis\";\r\n var renderingSettings = _extend({\r\n renderer: that._renderer,\r\n incidentOccurred: that._incidentOccurred,\r\n eventTrigger: that._eventTrigger,\r\n axisClass: isArgumentAxes ? \"arg\" : \"val\",\r\n widgetClass: \"dxc\",\r\n stripsGroup: that._stripsGroup,\r\n stripLabelAxesGroup: that._stripLabelAxesGroup,\r\n constantLinesGroup: that._constantLinesGroup,\r\n scaleBreaksGroup: that._scaleBreaksGroup,\r\n axesContainerGroup: that._axesGroup,\r\n labelsAxesGroup: that._labelsAxesGroup,\r\n gridGroup: that._gridGroup,\r\n isArgumentAxis: isArgumentAxes,\r\n getTemplate: template => that._getTemplate(template)\r\n }, that._getAxisRenderingOptions(typeSelector));\r\n var axis = new Axis(renderingSettings);\r\n axis.updateOptions(options);\r\n axis.isVirtual = virtual;\r\n return axis\r\n },\r\n _applyVisualRangeByVirtualAxes: (axis, range) => false,\r\n _applyCustomVisualRangeOption(axis, range) {\r\n if (axis.getOptions().optionPath) {\r\n this._parseVisualRangeOption(\"\".concat(axis.getOptions().optionPath, \".visualRange\"), range)\r\n }\r\n },\r\n _getVisualRangeSetter() {\r\n var chart = this;\r\n return function(axis, _ref) {\r\n var {\r\n skipEventRising: skipEventRising,\r\n range: range\r\n } = _ref;\r\n chart._applyCustomVisualRangeOption(axis, range);\r\n axis.setCustomVisualRange(range);\r\n axis.skipEventRising = skipEventRising;\r\n if (!chart._applyVisualRangeByVirtualAxes(axis, range)) {\r\n if (chart._applyingChanges) {\r\n chart._change_VISUAL_RANGE()\r\n } else {\r\n chart._requestChange([VISUAL_RANGE])\r\n }\r\n }\r\n }\r\n },\r\n _getTrackerSettings: function() {\r\n return _extend(this.callBase(), {\r\n argumentAxis: this.getArgumentAxis()\r\n })\r\n },\r\n _prepareStripsAndConstantLines: function(typeSelector, userOptions, rotated) {\r\n userOptions = this._themeManager.getOptions(typeSelector, userOptions, rotated);\r\n if (userOptions.strips) {\r\n _each(userOptions.strips, (function(i) {\r\n userOptions.strips[i] = _extend(true, {}, userOptions.stripStyle, userOptions.strips[i])\r\n }))\r\n }\r\n if (userOptions.constantLines) {\r\n _each(userOptions.constantLines, (function(i, line) {\r\n userOptions.constantLines[i] = _extend(true, {}, userOptions.constantLineStyle, line)\r\n }))\r\n }\r\n return userOptions\r\n },\r\n refresh: function() {\r\n this._disposeAxes();\r\n this.callBase()\r\n },\r\n _layoutAxes(drawAxes) {\r\n drawAxes();\r\n var needSpace = this.checkForMoreSpaceForPanesCanvas();\r\n if (needSpace) {\r\n var rect = this._rect.slice();\r\n var size = this._layout.backward(rect, rect, [needSpace.width, needSpace.height]);\r\n needSpace.width = Math.max(0, size[0]);\r\n needSpace.height = Math.max(0, size[1]);\r\n this._canvas = this._createCanvasFromRect(rect);\r\n drawAxes(needSpace)\r\n }\r\n },\r\n checkForMoreSpaceForPanesCanvas() {\r\n return this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(), this._isRotated())\r\n },\r\n _parseVisualRangeOption(fullName, value) {\r\n var that = this;\r\n var name = fullName.split(/[.[]/)[0];\r\n var index = fullName.match(/\\d+/g);\r\n index = _isDefined(index) ? parseInt(index[0]) : index;\r\n if (fullName.indexOf(\"visualRange\") > 0) {\r\n if (\"object\" !== type(value)) {\r\n value = wrapVisualRange(fullName, value) || value\r\n }\r\n that._setCustomVisualRange(name, index, value)\r\n } else if ((\"object\" === type(value) || _isArray(value)) && name.indexOf(\"Axis\") > 0 && JSON.stringify(value).indexOf(\"visualRange\") > 0) {\r\n if (_isDefined(value.visualRange)) {\r\n that._setCustomVisualRange(name, index, value.visualRange)\r\n } else if (_isArray(value)) {\r\n value.forEach((a, i) => _isDefined(a.visualRange) && that._setCustomVisualRange(name, i, a.visualRange))\r\n }\r\n }\r\n },\r\n _setCustomVisualRange(axesName, index, value) {\r\n var options = this._options.silent(axesName);\r\n if (!options) {\r\n return\r\n }\r\n if (!_isDefined(index)) {\r\n options._customVisualRange = value\r\n } else {\r\n options[index]._customVisualRange = value\r\n }\r\n this._axesReinitialized = true\r\n },\r\n _raiseZoomEndHandlers() {\r\n this._valueAxes.forEach(axis => axis.handleZoomEnd())\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n _extend(this._optionsByReference, {\r\n \"valueAxis.visualRange\": true\r\n })\r\n },\r\n _notifyOptionChanged(option, value, previousValue) {\r\n this.callBase.apply(this, arguments);\r\n if (!this._optionChangedLocker) {\r\n this._parseVisualRangeOption(option, value)\r\n }\r\n },\r\n _notifyVisualRange() {\r\n var that = this;\r\n that._valueAxes.forEach(axis => {\r\n var axisPath = axis.getOptions().optionPath;\r\n if (axisPath) {\r\n var path = \"\".concat(axisPath, \".visualRange\");\r\n var visualRange = convertVisualRangeObject(axis.visualRange(), !_isArray(that.option(path)));\r\n if (!axis.skipEventRising || !rangesAreEqual(visualRange, that.option(path))) {\r\n if (!that.option(axisPath) && \"valueAxis\" !== axisPath) {\r\n that.option(axisPath, {\r\n name: axis.name,\r\n visualRange: visualRange\r\n })\r\n } else {\r\n that.option(path, visualRange)\r\n }\r\n } else {\r\n axis.skipEventRising = null\r\n }\r\n }\r\n })\r\n },\r\n _notify() {\r\n this.callBase();\r\n this._axesReinitialized = false;\r\n if (true !== this.option(\"disableTwoWayBinding\")) {\r\n this.skipOptionsRollBack = true;\r\n this._notifyVisualRange();\r\n this.skipOptionsRollBack = false\r\n }\r\n },\r\n _getAxesForScaling() {\r\n return this._valueAxes\r\n },\r\n _getAxesByOptionPath(arg, isDirectOption, optionName) {\r\n var sourceAxes = this._getAxesForScaling();\r\n var axes = [];\r\n if (isDirectOption) {\r\n var axisPath;\r\n if (arg.fullName) {\r\n axisPath = arg.fullName.slice(0, arg.fullName.indexOf(\".\"))\r\n }\r\n axes = sourceAxes.filter(a => a.getOptions().optionPath === axisPath)\r\n } else if (\"object\" === type(arg.value)) {\r\n axes = sourceAxes.filter(a => a.getOptions().optionPath === arg.name)\r\n } else if (_isArray(arg.value)) {\r\n arg.value.forEach((v, index) => {\r\n var axis = sourceAxes.filter(a => a.getOptions().optionPath === \"\".concat(arg.name, \"[\").concat(index, \"]\"))[0];\r\n _isDefined(v[optionName]) && _isDefined(axis) && (axes[index] = axis)\r\n })\r\n }\r\n return axes\r\n },\r\n _optionChanged(arg) {\r\n if (!this._optionChangedLocker) {\r\n var axes;\r\n var isDirectOption = arg.fullName.indexOf(\"visualRange\") > 0 ? true : this.getPartialChangeOptionsName(arg).indexOf(\"visualRange\") > -1 ? false : void 0;\r\n if (_isDefined(isDirectOption)) {\r\n axes = this._getAxesByOptionPath(arg, isDirectOption, \"visualRange\");\r\n if (axes) {\r\n if (axes.length > 1 || _isArray(arg.value)) {\r\n axes.forEach((a, index) => setAxisVisualRangeByOption(arg, a, isDirectOption, index))\r\n } else if (1 === axes.length) {\r\n setAxisVisualRangeByOption(arg, axes[0], isDirectOption)\r\n }\r\n }\r\n }\r\n }\r\n this.callBase(arg)\r\n },\r\n _change_VISUAL_RANGE: function() {\r\n this._recreateSizeDependentObjects(false);\r\n if (!this._changes.has(\"FULL_RENDER\")) {\r\n var resizePanesOnZoom = this.option(\"resizePanesOnZoom\");\r\n this._doRender({\r\n force: true,\r\n drawTitle: false,\r\n drawLegend: false,\r\n adjustAxes: null !== resizePanesOnZoom && void 0 !== resizePanesOnZoom ? resizePanesOnZoom : this.option(\"adjustAxesOnZoom\") || false,\r\n animate: false\r\n });\r\n this._raiseZoomEndHandlers()\r\n }\r\n },\r\n resetVisualRange() {\r\n var that = this;\r\n that._valueAxes.forEach(axis => {\r\n axis.resetVisualRange(false);\r\n that._applyCustomVisualRangeOption(axis)\r\n });\r\n that._requestChange([VISUAL_RANGE])\r\n },\r\n _getCrosshairMargins: () => ({\r\n x: 0,\r\n y: 0\r\n }),\r\n _legendDataField: \"series\",\r\n _adjustSeriesLabels: _noop,\r\n _correctValueAxes: _noop\r\n});\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/scroll_bar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n fireEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n Translator2D\r\n} from \"../translators/translator2d\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../../events/drag\";\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar MIN_SCROLL_BAR_SIZE = 2;\r\nexport var ScrollBar = function(renderer, group) {\r\n this._translator = new Translator2D({}, {}, {});\r\n this._scroll = renderer.rect().append(group);\r\n this._addEvents()\r\n};\r\n\r\nfunction _getXCoord(canvas, pos, offset, width) {\r\n var x = 0;\r\n if (\"right\" === pos) {\r\n x = canvas.width - canvas.right + offset\r\n } else if (\"left\" === pos) {\r\n x = canvas.left - offset - width\r\n }\r\n return x\r\n}\r\n\r\nfunction _getYCoord(canvas, pos, offset, width) {\r\n var y = 0;\r\n if (\"top\" === pos) {\r\n y = canvas.top - offset\r\n } else if (\"bottom\" === pos) {\r\n y = canvas.height - canvas.bottom + width + offset\r\n }\r\n return y\r\n}\r\nScrollBar.prototype = {\r\n _addEvents: function() {\r\n var scrollElement = this._scroll.element;\r\n eventsEngine.on(scrollElement, dragEventStart, e => {\r\n fireEvent({\r\n type: \"dxc-scroll-start\",\r\n originalEvent: e,\r\n target: scrollElement\r\n })\r\n });\r\n eventsEngine.on(scrollElement, dragEventMove, e => {\r\n var dX = -e.offset.x * this._scale;\r\n var dY = -e.offset.y * this._scale;\r\n var lx = this._offset - (this._layoutOptions.vertical ? dY : dX) / this._scale;\r\n this._applyPosition(lx, lx + this._translator.canvasLength / this._scale);\r\n fireEvent({\r\n type: \"dxc-scroll-move\",\r\n originalEvent: e,\r\n target: scrollElement,\r\n offset: {\r\n x: dX,\r\n y: dY\r\n }\r\n })\r\n });\r\n eventsEngine.on(scrollElement, dragEventEnd, e => {\r\n fireEvent({\r\n type: \"dxc-scroll-end\",\r\n originalEvent: e,\r\n target: scrollElement,\r\n offset: {\r\n x: -e.offset.x * this._scale,\r\n y: -e.offset.y * this._scale\r\n }\r\n })\r\n })\r\n },\r\n update: function(options) {\r\n var position = options.position;\r\n var isVertical = options.rotated;\r\n var defaultPosition = isVertical ? \"right\" : \"top\";\r\n var secondaryPosition = isVertical ? \"left\" : \"bottom\";\r\n if (position !== defaultPosition && position !== secondaryPosition) {\r\n position = defaultPosition\r\n }\r\n this._scroll.attr({\r\n rotate: !options.rotated ? -90 : 0,\r\n rotateX: 0,\r\n rotateY: 0,\r\n fill: options.color,\r\n width: options.width,\r\n opacity: options.opacity\r\n });\r\n this._layoutOptions = {\r\n width: options.width,\r\n offset: options.offset,\r\n vertical: isVertical,\r\n position: position\r\n };\r\n return this\r\n },\r\n init: function(range, stick) {\r\n var isDiscrete = \"discrete\" === range.axisType;\r\n this._translateWithOffset = isDiscrete && !stick ? 1 : 0;\r\n this._translator.update(extend({}, range, {\r\n minVisible: null,\r\n maxVisible: null,\r\n visibleCategories: null\r\n }, isDiscrete && {\r\n min: null,\r\n max: null\r\n } || {}), this._canvas, {\r\n isHorizontal: !this._layoutOptions.vertical,\r\n stick: stick\r\n });\r\n return this\r\n },\r\n getOptions: function() {\r\n return this._layoutOptions\r\n },\r\n setPane: function(panes) {\r\n var position = this._layoutOptions.position;\r\n var pane;\r\n if (\"left\" === position || \"top\" === position) {\r\n pane = panes[0]\r\n } else {\r\n pane = panes[panes.length - 1]\r\n }\r\n this.pane = pane.name;\r\n return this\r\n },\r\n updateSize: function(canvas) {\r\n this._canvas = extend({}, canvas);\r\n var options = this._layoutOptions;\r\n var pos = options.position;\r\n var offset = options.offset;\r\n var width = options.width;\r\n this._scroll.attr({\r\n translateX: _getXCoord(canvas, pos, offset, width),\r\n translateY: _getYCoord(canvas, pos, offset, width)\r\n })\r\n },\r\n getMultipleAxesSpacing: function() {\r\n return 0\r\n },\r\n estimateMargins: function() {\r\n return this.getMargins()\r\n },\r\n getMargins: function() {\r\n var options = this._layoutOptions;\r\n var margins = {\r\n left: 0,\r\n top: 0,\r\n right: 0,\r\n bottom: 0\r\n };\r\n margins[options.position] = options.width + options.offset;\r\n return margins\r\n },\r\n shift: function(margins) {\r\n var _that$_scroll$attr, _that$_scroll$attr2;\r\n var options = this._layoutOptions;\r\n var side = options.position;\r\n var isVertical = options.vertical;\r\n var attr = {\r\n translateX: null !== (_that$_scroll$attr = this._scroll.attr(\"translateX\")) && void 0 !== _that$_scroll$attr ? _that$_scroll$attr : 0,\r\n translateY: null !== (_that$_scroll$attr2 = this._scroll.attr(\"translateY\")) && void 0 !== _that$_scroll$attr2 ? _that$_scroll$attr2 : 0\r\n };\r\n var shift = margins[side];\r\n attr[isVertical ? \"translateX\" : \"translateY\"] += (\"left\" === side || \"top\" === side ? -1 : 1) * shift;\r\n this._scroll.attr(attr)\r\n },\r\n hideTitle: noop,\r\n hideOuterElements: noop,\r\n setPosition: function(min, max) {\r\n var translator = this._translator;\r\n var minPoint = isDefined(min) ? translator.translate(min, -this._translateWithOffset) : translator.translate(\"canvas_position_start\");\r\n var maxPoint = isDefined(max) ? translator.translate(max, this._translateWithOffset) : translator.translate(\"canvas_position_end\");\r\n this._offset = _min(minPoint, maxPoint);\r\n this._scale = translator.getScale(min, max);\r\n this._applyPosition(_min(minPoint, maxPoint), _max(minPoint, maxPoint))\r\n },\r\n customPositionIsAvailable: () => false,\r\n dispose: function() {\r\n this._scroll.dispose();\r\n this._scroll = this._translator = null\r\n },\r\n _applyPosition: function(x1, x2) {\r\n var visibleArea = this._translator.getCanvasVisibleArea();\r\n x1 = _max(x1, visibleArea.min);\r\n x1 = _min(x1, visibleArea.max);\r\n x2 = _min(x2, visibleArea.max);\r\n x2 = _max(x2, visibleArea.min);\r\n var height = Math.abs(x2 - x1);\r\n this._scroll.attr({\r\n y: x1,\r\n height: height < MIN_SCROLL_BAR_SIZE ? MIN_SCROLL_BAR_SIZE : height\r\n })\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/crosshair.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n patchFontOptions\r\n} from \"../core/utils\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar math = Math;\r\nvar mathAbs = math.abs;\r\nvar mathMin = math.min;\r\nvar mathMax = math.max;\r\nvar mathFloor = math.floor;\r\nvar HORIZONTAL = \"horizontal\";\r\nvar VERTICAL = \"vertical\";\r\nvar LABEL_BACKGROUND_PADDING_X = 8;\r\nvar LABEL_BACKGROUND_PADDING_Y = 4;\r\nvar CENTER = \"center\";\r\nvar RIGHT = \"right\";\r\nvar LEFT = \"left\";\r\nvar TOP = \"top\";\r\nvar BOTTOM = \"bottom\";\r\nexport function getMargins() {\r\n return {\r\n x: LABEL_BACKGROUND_PADDING_X,\r\n y: LABEL_BACKGROUND_PADDING_Y\r\n }\r\n}\r\n\r\nfunction getRectangleBBox(bBox) {\r\n return {\r\n x: bBox.x - LABEL_BACKGROUND_PADDING_X,\r\n y: bBox.y - LABEL_BACKGROUND_PADDING_Y,\r\n width: bBox.width + 2 * LABEL_BACKGROUND_PADDING_X,\r\n height: bBox.height + 2 * LABEL_BACKGROUND_PADDING_Y\r\n }\r\n}\r\n\r\nfunction getLabelCheckerPosition(x, y, isHorizontal, canvas) {\r\n var params = isHorizontal ? [\"x\", \"width\", \"y\", \"height\", y, 0] : [\"y\", \"height\", \"x\", \"width\", x, 1];\r\n return function(bBox, position, coord) {\r\n var labelCoord = {\r\n x: coord.x,\r\n y: coord.y\r\n };\r\n var rectangleBBox = getRectangleBBox(bBox);\r\n var delta = isHorizontal ? coord.y - bBox.y - bBox.height / 2 : coord.y - bBox.y;\r\n labelCoord.y = isHorizontal || !isHorizontal && position === BOTTOM ? coord.y + delta : coord.y;\r\n if (rectangleBBox[params[0]] < 0) {\r\n labelCoord[params[0]] -= rectangleBBox[params[0]]\r\n } else if (rectangleBBox[params[0]] + rectangleBBox[params[1]] + delta * params[5] > canvas[params[1]]) {\r\n labelCoord[params[0]] -= rectangleBBox[params[0]] + rectangleBBox[params[1]] + delta * params[5] - canvas[params[1]]\r\n }\r\n if (params[4] - rectangleBBox[params[3]] / 2 < 0) {\r\n labelCoord[params[2]] -= params[4] - rectangleBBox[params[3]] / 2\r\n } else if (params[4] + rectangleBBox[params[3]] / 2 > canvas[params[3]]) {\r\n labelCoord[params[2]] -= params[4] + rectangleBBox[params[3]] / 2 - canvas[params[3]]\r\n }\r\n return labelCoord\r\n }\r\n}\r\nexport function Crosshair(renderer, options, params, group) {\r\n this._renderer = renderer;\r\n this._crosshairGroup = group;\r\n this._options = {};\r\n this.update(options, params)\r\n}\r\nCrosshair.prototype = {\r\n constructor: Crosshair,\r\n update: function(options, params) {\r\n var canvas = params.canvas;\r\n this._canvas = {\r\n top: canvas.top,\r\n bottom: canvas.height - canvas.bottom,\r\n left: canvas.left,\r\n right: canvas.width - canvas.right,\r\n width: canvas.width,\r\n height: canvas.height\r\n };\r\n this._axes = params.axes;\r\n this._panes = params.panes;\r\n this._prepareOptions(options, HORIZONTAL);\r\n this._prepareOptions(options, VERTICAL)\r\n },\r\n dispose: function() {\r\n this._renderer = this._crosshairGroup = this._options = this._axes = this._canvas = this._horizontalGroup = this._verticalGroup = this._horizontal = this._vertical = this._circle = this._panes = null\r\n },\r\n _prepareOptions: function(options, direction) {\r\n var lineOptions = options[direction + \"Line\"];\r\n this._options[direction] = {\r\n visible: lineOptions.visible,\r\n line: {\r\n stroke: lineOptions.color || options.color,\r\n \"stroke-width\": lineOptions.width || options.width,\r\n dashStyle: lineOptions.dashStyle || options.dashStyle,\r\n opacity: lineOptions.opacity || options.opacity,\r\n \"stroke-linecap\": \"butt\"\r\n },\r\n label: extend(true, {}, options.label, lineOptions.label)\r\n }\r\n },\r\n _createLines: function(options, sharpParam, group) {\r\n var lines = [];\r\n var canvas = this._canvas;\r\n var points = [canvas.left, canvas.top, canvas.left, canvas.top];\r\n for (var i = 0; i < 2; i++) {\r\n lines.push(this._renderer.path(points, \"line\").attr(options).sharp(sharpParam).append(group))\r\n }\r\n return lines\r\n },\r\n render: function() {\r\n var renderer = this._renderer;\r\n var options = this._options;\r\n var verticalOptions = options.vertical;\r\n var horizontalOptions = options.horizontal;\r\n var extraOptions = horizontalOptions.visible ? horizontalOptions.line : verticalOptions.line;\r\n var circleOptions = {\r\n stroke: extraOptions.stroke,\r\n \"stroke-width\": extraOptions[\"stroke-width\"],\r\n dashStyle: extraOptions.dashStyle,\r\n opacity: extraOptions.opacity\r\n };\r\n var canvas = this._canvas;\r\n this._horizontal = {};\r\n this._vertical = {};\r\n this._circle = renderer.circle(canvas.left, canvas.top, 0).attr(circleOptions).append(this._crosshairGroup);\r\n this._horizontalGroup = renderer.g().append(this._crosshairGroup);\r\n this._verticalGroup = renderer.g().append(this._crosshairGroup);\r\n if (verticalOptions.visible) {\r\n this._vertical.lines = this._createLines(verticalOptions.line, \"h\", this._verticalGroup);\r\n this._vertical.labels = this._createLabels(this._axes[0], verticalOptions, false, this._verticalGroup)\r\n }\r\n if (horizontalOptions.visible) {\r\n this._horizontal.lines = this._createLines(horizontalOptions.line, \"v\", this._horizontalGroup);\r\n this._horizontal.labels = this._createLabels(this._axes[1], horizontalOptions, true, this._horizontalGroup)\r\n }\r\n this.hide()\r\n },\r\n _createLabels: function(axes, options, isHorizontal, group) {\r\n var canvas = this._canvas;\r\n var renderer = this._renderer;\r\n var x;\r\n var y;\r\n var text;\r\n var labels = [];\r\n var background;\r\n var currentLabelPos;\r\n var labelOptions = options.label;\r\n if (labelOptions.visible) {\r\n axes.forEach((function(axis) {\r\n var position = axis.getOptions().position;\r\n if (axis.getTranslator().getBusinessRange().isEmpty()) {\r\n return\r\n }\r\n currentLabelPos = axis.getLabelsPosition();\r\n if (isHorizontal) {\r\n y = canvas.top;\r\n x = currentLabelPos\r\n } else {\r\n x = canvas.left;\r\n y = currentLabelPos\r\n }\r\n var align = position === TOP || position === BOTTOM ? CENTER : position === RIGHT ? LEFT : RIGHT;\r\n background = renderer.rect(0, 0, 0, 0).attr({\r\n fill: labelOptions.backgroundColor || options.line.stroke\r\n }).append(group);\r\n text = renderer.text(\"0\", 0, 0).css(patchFontOptions(options.label.font)).attr({\r\n align: align,\r\n class: labelOptions.cssClass\r\n }).append(group);\r\n labels.push({\r\n text: text,\r\n background: background,\r\n axis: axis,\r\n options: labelOptions,\r\n pos: {\r\n coord: currentLabelPos,\r\n side: position\r\n },\r\n startXY: {\r\n x: x,\r\n y: y\r\n }\r\n })\r\n }))\r\n }\r\n return labels\r\n },\r\n _updateText: function(value, axisName, labels, point, func) {\r\n var that = this;\r\n labels.forEach((function(label) {\r\n var axis = label.axis;\r\n var coord = label.startXY;\r\n var textElement = label.text;\r\n var backgroundElement = label.background;\r\n var text = \"\";\r\n if (!axis.name || axis.name === axisName) {\r\n text = axis.getFormattedValue(value, label.options, point)\r\n }\r\n if (text) {\r\n textElement.attr({\r\n text: text,\r\n x: coord.x,\r\n y: coord.y\r\n });\r\n textElement.attr(func(textElement.getBBox(), label.pos.side, coord));\r\n that._updateLinesCanvas(label);\r\n backgroundElement.attr(getRectangleBBox(textElement.getBBox()))\r\n } else {\r\n textElement.attr({\r\n text: \"\"\r\n });\r\n backgroundElement.attr({\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0\r\n })\r\n }\r\n }))\r\n },\r\n hide: function() {\r\n this._crosshairGroup.attr({\r\n visibility: \"hidden\"\r\n })\r\n },\r\n _updateLinesCanvas: function(label) {\r\n var position = label.pos.side;\r\n var labelCoord = label.pos.coord;\r\n var coords = this._linesCanvas;\r\n var canvas = this._canvas;\r\n coords[position] = coords[position] !== canvas[position] && mathAbs(coords[position] - canvas[position]) < mathAbs(labelCoord - canvas[position]) ? coords[position] : labelCoord\r\n },\r\n _updateLines: function(lines, x, y, r, isHorizontal) {\r\n var coords = this._linesCanvas;\r\n var canvas = this._canvas;\r\n var points = isHorizontal ? [\r\n [mathMin(x - r, coords.left), canvas.top, x - r, canvas.top],\r\n [x + r, canvas.top, mathMax(coords.right, x + r), canvas.top]\r\n ] : [\r\n [canvas.left, mathMin(coords.top, y - r), canvas.left, y - r],\r\n [canvas.left, y + r, canvas.left, mathMax(coords.bottom, y + r)]\r\n ];\r\n for (var i = 0; i < 2; i++) {\r\n lines[i].attr({\r\n points: points[i]\r\n }).sharp(isHorizontal ? \"v\" : \"h\", isHorizontal ? y === canvas.bottom ? -1 : 1 : x === canvas.right ? -1 : 1)\r\n }\r\n },\r\n _resetLinesCanvas: function() {\r\n var canvas = this._canvas;\r\n this._linesCanvas = {\r\n left: canvas.left,\r\n right: canvas.right,\r\n top: canvas.top,\r\n bottom: canvas.bottom\r\n }\r\n },\r\n _getClipRectForPane: function(x, y) {\r\n var panes = this._panes;\r\n var i;\r\n var coords;\r\n for (i = 0; i < panes.length; i++) {\r\n coords = panes[i].coords;\r\n if (coords.left <= x && coords.right >= x && coords.top <= y && coords.bottom >= y) {\r\n return panes[i].clipRect\r\n }\r\n }\r\n return {\r\n id: null\r\n }\r\n },\r\n show: function(data) {\r\n var point = data.point;\r\n var pointData = point.getCrosshairData(data.x, data.y);\r\n var r = point.getPointRadius();\r\n var horizontal = this._horizontal;\r\n var vertical = this._vertical;\r\n var rad = !r ? 0 : r + 3;\r\n var canvas = this._canvas;\r\n var x = mathFloor(pointData.x);\r\n var y = mathFloor(pointData.y);\r\n if (x >= canvas.left && x <= canvas.right && y >= canvas.top && y <= canvas.bottom) {\r\n this._crosshairGroup.attr({\r\n visibility: \"visible\"\r\n });\r\n this._resetLinesCanvas();\r\n this._circle.attr({\r\n cx: x,\r\n cy: y,\r\n r: rad,\r\n \"clip-path\": this._getClipRectForPane(x, y).id\r\n });\r\n if (horizontal.lines) {\r\n this._updateText(pointData.yValue, pointData.axis, horizontal.labels, point, getLabelCheckerPosition(x, y, true, canvas));\r\n this._updateLines(horizontal.lines, x, y, rad, true);\r\n this._horizontalGroup.attr({\r\n translateY: y - canvas.top\r\n })\r\n }\r\n if (vertical.lines) {\r\n this._updateText(pointData.xValue, pointData.axis, vertical.labels, point, getLabelCheckerPosition(x, y, false, canvas));\r\n this._updateLines(vertical.lines, x, y, rad, false);\r\n this._verticalGroup.attr({\r\n translateX: x - canvas.left\r\n })\r\n }\r\n } else {\r\n this.hide()\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/shutter_zoom.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../../events/drag\";\r\nvar SHUTTER_EVENTS_NS = \".shutter-zoom\";\r\nvar DRAG_START_EVENT_NAME = dragEventStart + SHUTTER_EVENTS_NS;\r\nvar DRAG_UPDATE_EVENT_NAME = dragEventMove + SHUTTER_EVENTS_NS;\r\nvar DRAG_END_EVENT_NAME = dragEventEnd + SHUTTER_EVENTS_NS;\r\n\r\nfunction getPointerCoord(rootOffset, canvas, rotated, e) {\r\n var coord = Math.floor(rotated ? e.pageY - rootOffset.top : e.pageX - rootOffset.left);\r\n var min = rotated ? canvas.y1 : canvas.x1;\r\n var max = rotated ? canvas.y2 : canvas.x2;\r\n if (coord < min) {\r\n coord = min\r\n } else if (coord > max) {\r\n coord = max\r\n }\r\n return coord\r\n}\r\n\r\nfunction checkCoords(rootOffset, canvas, e) {\r\n var x = e.pageX - rootOffset.left;\r\n var y = e.pageY - rootOffset.top;\r\n return x >= canvas.x1 && x <= canvas.x2 && y >= canvas.y1 && y <= canvas.y2\r\n}\r\n\r\nfunction dragStartHandler(ctx) {\r\n return function(e) {\r\n var offset = ctx.getRootOffset();\r\n var canvas = ctx.getCanvas();\r\n if (!checkCoords(offset, canvas, e)) {\r\n e.cancel = true;\r\n return\r\n }\r\n ctx.rootOffset = offset;\r\n ctx.canvas = canvas;\r\n ctx.startCoord = getPointerCoord(offset, canvas, ctx.rotated, e);\r\n ctx.triggerStart();\r\n ctx.rect.attr({\r\n x: canvas.x1,\r\n y: canvas.y1,\r\n width: canvas.width,\r\n height: canvas.height\r\n }).append(ctx.root)\r\n }\r\n}\r\n\r\nfunction dragHandler(ctx) {\r\n return function(e) {\r\n var curCoord = getPointerCoord(ctx.rootOffset, ctx.canvas, ctx.rotated, e);\r\n var attr = {};\r\n ctx.curCoord = curCoord;\r\n attr[ctx.rotated ? \"y\" : \"x\"] = Math.min(ctx.startCoord, curCoord);\r\n attr[ctx.rotated ? \"height\" : \"width\"] = Math.abs(ctx.startCoord - curCoord);\r\n ctx.rect.attr(attr)\r\n }\r\n}\r\n\r\nfunction dragEndHandler(ctx) {\r\n return function(e) {\r\n ctx.triggerEnd();\r\n ctx.rect.remove()\r\n }\r\n}\r\n\r\nfunction shutterZoom(options) {\r\n var chart = options.chart;\r\n var renderer = options.renderer;\r\n var rotated = options.rotated;\r\n var rect = renderer.rect(0, 0, 0, 0).attr(options.shutterOptions);\r\n var shutter = {\r\n rect: rect,\r\n root: renderer.root,\r\n rotated: rotated,\r\n triggerStart: function() {\r\n chart._eventTrigger(\"zoomStart\")\r\n },\r\n triggerEnd: function() {\r\n var tr = chart._argumentAxes[0].getTranslator();\r\n var rangeStart = Math.min(this.startCoord, this.curCoord);\r\n var rangeEnd = Math.max(this.startCoord, this.curCoord);\r\n chart._eventTrigger(\"zoomEnd\", {\r\n rangeStart: tr.from(rangeStart),\r\n rangeEnd: tr.from(rangeEnd)\r\n })\r\n },\r\n dispose: function() {\r\n renderer.root.off(SHUTTER_EVENTS_NS);\r\n rect.dispose()\r\n },\r\n getRootOffset: function() {\r\n return renderer.getRootOffset()\r\n },\r\n getCanvas: function() {\r\n var canvas = chart._canvas;\r\n var panes = chart.panes;\r\n var firstPane = panes[0].canvas;\r\n var lastPane = panes[panes.length - 1].canvas;\r\n return {\r\n x1: firstPane.left,\r\n y1: firstPane.top,\r\n x2: canvas.width - lastPane.right,\r\n y2: canvas.height - lastPane.bottom,\r\n width: canvas.width - firstPane.left - lastPane.right,\r\n height: canvas.height - firstPane.top - lastPane.bottom\r\n }\r\n }\r\n };\r\n renderer.root.off(SHUTTER_EVENTS_NS).on(DRAG_START_EVENT_NAME, {\r\n direction: rotated ? \"vertical\" : \"horizontal\",\r\n immediate: true\r\n }, dragStartHandler(shutter)).on(DRAG_UPDATE_EVENT_NAME, dragHandler(shutter)).on(DRAG_END_EVENT_NAME, dragEndHandler(shutter));\r\n return shutter\r\n}\r\nexport default {\r\n name: \"shutter_zoom\",\r\n init: function() {\r\n var options = this.option(\"shutterZoom\") || {};\r\n if (!options.enabled) {\r\n return\r\n }\r\n this._shutterZoom = shutterZoom({\r\n chart: this,\r\n renderer: this._renderer,\r\n rotated: this.option(\"rotated\"),\r\n shutterOptions: options\r\n })\r\n },\r\n dispose: function() {\r\n this._shutterZoom && this._shutterZoom.dispose()\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/events/transform.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n sign as mathSign,\r\n fitIntoRange\r\n} from \"../core/utils/math\";\r\nimport * as iteratorUtils from \"../core/utils/iterator\";\r\nimport {\r\n hasTouches\r\n} from \"./utils/index\";\r\nimport Emitter from \"./core/emitter\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar DX_PREFIX = \"dx\";\r\nvar TRANSFORM = \"transform\";\r\nvar TRANSLATE = \"translate\";\r\nvar PINCH = \"pinch\";\r\nvar ROTATE = \"rotate\";\r\nvar START_POSTFIX = \"start\";\r\nvar UPDATE_POSTFIX = \"\";\r\nvar END_POSTFIX = \"end\";\r\nvar eventAliases = [];\r\nvar addAlias = function(eventName, eventArgs) {\r\n eventAliases.push({\r\n name: eventName,\r\n args: eventArgs\r\n })\r\n};\r\naddAlias(TRANSFORM, {\r\n scale: true,\r\n deltaScale: true,\r\n rotation: true,\r\n deltaRotation: true,\r\n translation: true,\r\n deltaTranslation: true\r\n});\r\naddAlias(TRANSLATE, {\r\n translation: true,\r\n deltaTranslation: true\r\n});\r\naddAlias(PINCH, {\r\n scale: true,\r\n deltaScale: true\r\n});\r\naddAlias(ROTATE, {\r\n rotation: true,\r\n deltaRotation: true\r\n});\r\nvar getVector = function(first, second) {\r\n return {\r\n x: second.pageX - first.pageX,\r\n y: -second.pageY + first.pageY,\r\n centerX: .5 * (second.pageX + first.pageX),\r\n centerY: .5 * (second.pageY + first.pageY)\r\n }\r\n};\r\nvar getEventVector = function(e) {\r\n var pointers = e.pointers;\r\n return getVector(pointers[0], pointers[1])\r\n};\r\nvar getDistance = function(vector) {\r\n return Math.sqrt(vector.x * vector.x + vector.y * vector.y)\r\n};\r\nvar getScale = function(firstVector, secondVector) {\r\n return getDistance(firstVector) / getDistance(secondVector)\r\n};\r\nvar getRotation = function(firstVector, secondVector) {\r\n var scalarProduct = firstVector.x * secondVector.x + firstVector.y * secondVector.y;\r\n var distanceProduct = getDistance(firstVector) * getDistance(secondVector);\r\n if (0 === distanceProduct) {\r\n return 0\r\n }\r\n var sign = mathSign(firstVector.x * secondVector.y - secondVector.x * firstVector.y);\r\n var angle = Math.acos(fitIntoRange(scalarProduct / distanceProduct, -1, 1));\r\n return sign * angle\r\n};\r\nvar getTranslation = function(firstVector, secondVector) {\r\n return {\r\n x: firstVector.centerX - secondVector.centerX,\r\n y: firstVector.centerY - secondVector.centerY\r\n }\r\n};\r\nvar TransformEmitter = Emitter.inherit({\r\n validatePointers: function(e) {\r\n return hasTouches(e) > 1\r\n },\r\n start: function(e) {\r\n this._accept(e);\r\n var startVector = getEventVector(e);\r\n this._startVector = startVector;\r\n this._prevVector = startVector;\r\n this._fireEventAliases(START_POSTFIX, e)\r\n },\r\n move: function(e) {\r\n var currentVector = getEventVector(e);\r\n var eventArgs = this._getEventArgs(currentVector);\r\n this._fireEventAliases(UPDATE_POSTFIX, e, eventArgs);\r\n this._prevVector = currentVector\r\n },\r\n end: function(e) {\r\n var eventArgs = this._getEventArgs(this._prevVector);\r\n this._fireEventAliases(END_POSTFIX, e, eventArgs)\r\n },\r\n _getEventArgs: function(vector) {\r\n return {\r\n scale: getScale(vector, this._startVector),\r\n deltaScale: getScale(vector, this._prevVector),\r\n rotation: getRotation(vector, this._startVector),\r\n deltaRotation: getRotation(vector, this._prevVector),\r\n translation: getTranslation(vector, this._startVector),\r\n deltaTranslation: getTranslation(vector, this._prevVector)\r\n }\r\n },\r\n _fireEventAliases: function(eventPostfix, originalEvent, eventArgs) {\r\n eventArgs = eventArgs || {};\r\n iteratorUtils.each(eventAliases, function(_, eventAlias) {\r\n var args = {};\r\n iteratorUtils.each(eventAlias.args, (function(name) {\r\n if (name in eventArgs) {\r\n args[name] = eventArgs[name]\r\n }\r\n }));\r\n this._fireEvent(DX_PREFIX + eventAlias.name + eventPostfix, originalEvent, args)\r\n }.bind(this))\r\n }\r\n});\r\nvar eventNames = eventAliases.reduce((result, eventAlias) => {\r\n [START_POSTFIX, UPDATE_POSTFIX, END_POSTFIX].forEach(eventPostfix => {\r\n result.push(DX_PREFIX + eventAlias.name + eventPostfix)\r\n });\r\n return result\r\n}, []);\r\nregisterEmitter({\r\n emitter: TransformEmitter,\r\n events: eventNames\r\n});\r\nvar exportNames = {};\r\niteratorUtils.each(eventNames, (function(_, eventName) {\r\n exportNames[eventName.substring(DX_PREFIX.length)] = eventName\r\n}));\r\nexport var {\r\n transformstart: transformstart,\r\n transform: transform,\r\n transformend: transformend,\r\n translatestart: translatestart,\r\n translate: translate,\r\n translateend: translateend,\r\n zoomstart: zoomstart,\r\n zoom: zoom,\r\n zoomend: zoomend,\r\n pinchstart: pinchstart,\r\n pinch: pinch,\r\n pinchend: pinchend,\r\n rotatestart: rotatestart,\r\n rotate: rotate,\r\n rotateend: rotateend\r\n} = exportNames;\r\n","/**\r\n * DevExtreme (esm/viz/chart_components/zoom_and_pan.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n normalizeEnum,\r\n getVizRangeObject\r\n} from \"../core/utils\";\r\nimport {\r\n name as wheelEvent\r\n} from \"../../events/core/wheel\";\r\nimport * as transformEvents from \"../../events/transform\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../../events/drag\";\r\nvar EVENTS_NS = \".zoomAndPanNS\";\r\nvar DRAG_START_EVENT_NAME = dragEventStart + EVENTS_NS;\r\nvar DRAG_EVENT_NAME = dragEventMove + EVENTS_NS;\r\nvar DRAG_END_EVENT_NAME = dragEventEnd + EVENTS_NS;\r\nvar PINCH_START_EVENT_NAME = transformEvents.pinchstart + EVENTS_NS;\r\nvar PINCH_EVENT_NAME = transformEvents.pinch + EVENTS_NS;\r\nvar PINCH_END_EVENT_NAME = transformEvents.pinchend + EVENTS_NS;\r\nvar SCROLL_BAR_START_EVENT_NAME = \"dxc-scroll-start\" + EVENTS_NS;\r\nvar SCROLL_BAR_MOVE_EVENT_NAME = \"dxc-scroll-move\" + EVENTS_NS;\r\nvar SCROLL_BAR_END_EVENT_NAME = \"dxc-scroll-end\" + EVENTS_NS;\r\nvar GESTURE_TIMEOUT = 300;\r\nvar MIN_DRAG_DELTA = 5;\r\nvar _min = Math.min;\r\nvar _max = Math.max;\r\nvar _abs = Math.abs;\r\n\r\nfunction canvasToRect(canvas) {\r\n return {\r\n x: canvas.left,\r\n y: canvas.top,\r\n width: canvas.width - canvas.left - canvas.right,\r\n height: canvas.height - canvas.top - canvas.bottom\r\n }\r\n}\r\n\r\nfunction checkCoords(rect, coords) {\r\n var x = coords.x;\r\n var y = coords.y;\r\n return x >= rect.x && x <= rect.width + rect.x && y >= rect.y && y <= rect.height + rect.y\r\n}\r\n\r\nfunction sortAxes(axes, onlyAxisToNotify) {\r\n if (onlyAxisToNotify) {\r\n axes = axes.sort((a, b) => {\r\n if (a === onlyAxisToNotify) {\r\n return -1\r\n }\r\n if (b === onlyAxisToNotify) {\r\n return 1\r\n }\r\n return 0\r\n })\r\n }\r\n return axes\r\n}\r\n\r\nfunction getFilteredAxes(axes) {\r\n return axes.filter(a => !a.getTranslator().getBusinessRange().isEmpty())\r\n}\r\n\r\nfunction isAxisAvailablePanning(axes) {\r\n return axes.some(axis => !axis.isExtremePosition(false) || !axis.isExtremePosition(true))\r\n}\r\n\r\nfunction axisZoom(axis, onlyAxisToNotify, getRange, getParameters, actionField, scale, e) {\r\n var silent = onlyAxisToNotify && axis !== onlyAxisToNotify;\r\n var range = getRange(axis);\r\n var {\r\n stopInteraction: stopInteraction,\r\n correctedRange: correctedRange\r\n } = axis.checkZoomingLowerLimitOvercome(actionField, scale, range);\r\n var result = axis.handleZooming(stopInteraction ? null : correctedRange, getParameters(silent), e, actionField);\r\n stopInteraction && axis.handleZoomEnd();\r\n return {\r\n stopInteraction: stopInteraction,\r\n result: result\r\n }\r\n}\r\n\r\nfunction zoomAxes(e, axes, getRange, zoom, params, onlyAxisToNotify) {\r\n axes = sortAxes(axes, onlyAxisToNotify);\r\n var zoomStarted = false;\r\n var getParameters = silent => ({\r\n start: !!silent,\r\n end: !!silent\r\n });\r\n getFilteredAxes(axes).some(axis => {\r\n var translator = axis.getTranslator();\r\n var scale = translator.getMinScale(zoom);\r\n var {\r\n stopInteraction: stopInteraction,\r\n result: result\r\n } = axisZoom(axis, onlyAxisToNotify, getRange(_extends({\r\n scale: scale,\r\n translator: translator,\r\n axis: axis\r\n }, params)), getParameters, \"zoom\", scale, e);\r\n zoomStarted = !stopInteraction;\r\n return onlyAxisToNotify && result.isPrevented\r\n });\r\n return zoomStarted\r\n}\r\n\r\nfunction cancelEvent(e) {\r\n if (e.originalEvent) {\r\n cancelEvent(e.originalEvent)\r\n }\r\n if (false !== e.cancelable) {\r\n e.cancel = true\r\n }\r\n}\r\nexport default {\r\n name: \"zoom_and_pan\",\r\n init: function() {\r\n var chart = this;\r\n var renderer = this._renderer;\r\n\r\n function getAxesCopy(zoomAndPan, actionField) {\r\n var axes = [];\r\n var options = zoomAndPan.options;\r\n var actionData = zoomAndPan.actionData;\r\n if (options.argumentAxis[actionField]) {\r\n axes.push(chart.getArgumentAxis())\r\n }\r\n if (options.valueAxis[actionField]) {\r\n axes = axes.concat(actionData.valueAxes)\r\n }\r\n return axes\r\n }\r\n\r\n function startAxesViewportChanging(zoomAndPan, actionField, e) {\r\n var axes = getAxesCopy(zoomAndPan, actionField);\r\n getFilteredAxes(axes).some(axis => axis.handleZooming(null, {\r\n end: true\r\n }, e, actionField).isPrevented) && cancelEvent(e)\r\n }\r\n\r\n function axesViewportChanging(zoomAndPan, actionField, e, offsetCalc, centerCalc) {\r\n function zoomAxes(axes, criteria, coordField, e, actionData) {\r\n var zoom = {\r\n zoomed: false\r\n };\r\n criteria && getFilteredAxes(axes).forEach(axis => {\r\n var options = axis.getOptions();\r\n var viewport = axis.visualRange();\r\n var scale = axis.getTranslator().getEventScale(e);\r\n var translate = -offsetCalc(e, actionData, coordField, scale);\r\n zoom = extend(true, zoom, axis.getTranslator().zoom(translate, scale, axis.getZoomBounds()));\r\n var range = axis.adjustRange(getVizRangeObject([zoom.min, zoom.max]));\r\n var {\r\n stopInteraction: stopInteraction,\r\n correctedRange: correctedRange\r\n } = axis.checkZoomingLowerLimitOvercome(actionField, scale, range);\r\n if (!isDefined(viewport) || viewport.startValue.valueOf() !== correctedRange.startValue.valueOf() || viewport.endValue.valueOf() !== correctedRange.endValue.valueOf()) {\r\n axis.handleZooming(stopInteraction ? null : correctedRange, {\r\n start: true,\r\n end: true\r\n }, e, actionField);\r\n if (!stopInteraction) {\r\n zoom.zoomed = true;\r\n zoom.deltaTranslate = translate - zoom.translate\r\n }\r\n } else if (\"touch\" === e.pointerType && \"discrete\" === options.type) {\r\n var isMinPosition = axis.isExtremePosition(false);\r\n var isMaxPosition = axis.isExtremePosition(true);\r\n var zoomInEnabled = scale > 1 && !stopInteraction;\r\n var zoomOutEnabled = scale < 1 && (!isMinPosition || !isMaxPosition);\r\n var panningEnabled = 1 === scale && !(isMinPosition && (translate < 0 && !options.inverted || translate > 0 && options.inverted) || isMaxPosition && (translate > 0 && !options.inverted || translate < 0 && options.inverted));\r\n zoom.enabled = zoomInEnabled || zoomOutEnabled || panningEnabled\r\n }\r\n });\r\n return zoom\r\n }\r\n\r\n function storeOffset(e, actionData, zoom, coordField) {\r\n if (zoom.zoomed) {\r\n actionData.offset[coordField] = (e.offset ? e.offset[coordField] : actionData.offset[coordField]) + zoom.deltaTranslate\r\n }\r\n }\r\n\r\n function storeCenter(center, actionData, zoom, coordField) {\r\n if (zoom.zoomed) {\r\n actionData.center[coordField] = center[coordField] + zoom.deltaTranslate\r\n }\r\n }\r\n var rotated = chart.option(\"rotated\");\r\n var actionData = zoomAndPan.actionData;\r\n var options = zoomAndPan.options;\r\n var argZoom = {};\r\n var valZoom = {};\r\n if (!actionData.fallback) {\r\n argZoom = zoomAxes(chart._argumentAxes, options.argumentAxis[actionField], rotated ? \"y\" : \"x\", e, actionData);\r\n valZoom = zoomAxes(actionData.valueAxes, options.valueAxis[actionField], rotated ? \"x\" : \"y\", e, actionData);\r\n chart._requestChange([\"VISUAL_RANGE\"]);\r\n storeOffset(e, actionData, argZoom, rotated ? \"y\" : \"x\");\r\n storeOffset(e, actionData, valZoom, rotated ? \"x\" : \"y\")\r\n }\r\n var center = centerCalc(e);\r\n storeCenter(center, actionData, argZoom, rotated ? \"y\" : \"x\");\r\n storeCenter(center, actionData, valZoom, rotated ? \"x\" : \"y\");\r\n if (!argZoom.zoomed && !valZoom.zoomed) {\r\n actionData.center = center\r\n }\r\n return argZoom.zoomed || valZoom.zoomed || actionData.fallback || argZoom.enabled || valZoom.enabled\r\n }\r\n\r\n function finishAxesViewportChanging(zoomAndPan, actionField, e, offsetCalc) {\r\n function zoomAxes(axes, coordField, actionData, onlyAxisToNotify) {\r\n var zoomStarted = false;\r\n var scale = e.scale || 1;\r\n var getRange = axis => {\r\n var zoom = axis.getTranslator().zoom(-offsetCalc(e, actionData, coordField, scale), scale, axis.getZoomBounds());\r\n return {\r\n startValue: zoom.min,\r\n endValue: zoom.max\r\n }\r\n };\r\n var getParameters = silent => ({\r\n start: true,\r\n end: silent\r\n });\r\n getFilteredAxes(axes).forEach(axis => {\r\n zoomStarted = !axisZoom(axis, onlyAxisToNotify, getRange, getParameters, actionField, scale, e).stopInteraction\r\n });\r\n return zoomStarted\r\n }\r\n var rotated = chart.option(\"rotated\");\r\n var actionData = zoomAndPan.actionData;\r\n var options = zoomAndPan.options;\r\n var zoomStarted = true;\r\n if (actionData.fallback) {\r\n zoomStarted &= options.argumentAxis[actionField] && zoomAxes(chart._argumentAxes, rotated ? \"y\" : \"x\", actionData, chart.getArgumentAxis());\r\n zoomStarted |= options.valueAxis[actionField] && zoomAxes(actionData.valueAxes, rotated ? \"x\" : \"y\", actionData)\r\n } else {\r\n var axes = getAxesCopy(zoomAndPan, actionField);\r\n getFilteredAxes(axes).forEach(axis => {\r\n axis.handleZooming(null, {\r\n start: true\r\n }, e, actionField)\r\n });\r\n zoomStarted = axes.length\r\n }\r\n zoomStarted && chart._requestChange([\"VISUAL_RANGE\"])\r\n }\r\n\r\n function prepareActionData(coords, action) {\r\n var axes = chart._argumentAxes.filter(axis => checkCoords(canvasToRect(axis.getCanvas()), coords));\r\n return {\r\n fallback: chart._lastRenderingTime > GESTURE_TIMEOUT,\r\n cancel: !axes.length || !isDefined(action),\r\n action: action,\r\n curAxisRect: axes.length && canvasToRect(axes[0].getCanvas()),\r\n valueAxes: axes.length && chart._valueAxes.filter(axis => checkCoords(canvasToRect(axis.getCanvas()), coords)),\r\n offset: {\r\n x: 0,\r\n y: 0\r\n },\r\n center: coords,\r\n startCenter: coords\r\n }\r\n }\r\n\r\n function getPointerCoord(rect, e) {\r\n var rootOffset = renderer.getRootOffset();\r\n return {\r\n x: _min(_max(e.pageX - rootOffset.left, rect.x), rect.width + rect.x),\r\n y: _min(_max(e.pageY - rootOffset.top, rect.y), rect.height + rect.y)\r\n }\r\n }\r\n\r\n function calcCenterForPinch(e) {\r\n var rootOffset = renderer.getRootOffset();\r\n var x1 = e.pointers[0].pageX;\r\n var x2 = e.pointers[1].pageX;\r\n var y1 = e.pointers[0].pageY;\r\n var y2 = e.pointers[1].pageY;\r\n return {\r\n x: _min(x1, x2) + _abs(x2 - x1) / 2 - rootOffset.left,\r\n y: _min(y1, y2) + _abs(y2 - y1) / 2 - rootOffset.top\r\n }\r\n }\r\n\r\n function calcCenterForDrag(e) {\r\n var rootOffset = renderer.getRootOffset();\r\n return {\r\n x: e.pageX - rootOffset.left,\r\n y: e.pageY - rootOffset.top\r\n }\r\n }\r\n\r\n function calcOffsetForDrag(e, actionData, coordField) {\r\n return e.offset[coordField] - actionData.offset[coordField]\r\n }\r\n\r\n function preventDefaults(e) {\r\n if (false !== e.cancelable) {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n chart._stopCurrentHandling()\r\n }\r\n var zoomAndPan = {\r\n dragStartHandler: function(e) {\r\n var options = zoomAndPan.options;\r\n var isTouch = \"touch\" === e.pointerType;\r\n var wantPan = options.argumentAxis.pan || options.valueAxis.pan;\r\n var wantZoom = options.argumentAxis.zoom || options.valueAxis.zoom;\r\n var panKeyPressed = isDefined(options.panKey) && e[normalizeEnum(options.panKey) + \"Key\"];\r\n var dragToZoom = options.dragToZoom;\r\n var action;\r\n e._cancelPreventDefault = true;\r\n if (isTouch) {\r\n if (options.allowTouchGestures && wantPan) {\r\n var cancelPanning = !zoomAndPan.panningVisualRangeEnabled() || zoomAndPan.skipEvent;\r\n action = cancelPanning ? null : \"pan\"\r\n }\r\n } else if (dragToZoom && wantPan && panKeyPressed || !dragToZoom && wantPan) {\r\n action = \"pan\"\r\n } else if (dragToZoom && wantZoom) {\r\n action = \"zoom\"\r\n }\r\n var actionData = prepareActionData(calcCenterForDrag(e), action);\r\n if (actionData.cancel) {\r\n zoomAndPan.skipEvent = false;\r\n if (false !== e.cancelable) {\r\n e.cancel = true\r\n }\r\n return\r\n }\r\n zoomAndPan.actionData = actionData;\r\n if (\"zoom\" === action) {\r\n actionData.startCoords = getPointerCoord(actionData.curAxisRect, e);\r\n actionData.rect = renderer.rect(0, 0, 0, 0).attr(options.dragBoxStyle).append(renderer.root)\r\n } else {\r\n startAxesViewportChanging(zoomAndPan, \"pan\", e)\r\n }\r\n },\r\n dragHandler: function(e) {\r\n var rotated = chart.option(\"rotated\");\r\n var options = zoomAndPan.options;\r\n var actionData = zoomAndPan.actionData;\r\n var isTouch = \"touch\" === e.pointerType;\r\n e._cancelPreventDefault = true;\r\n if (!actionData || isTouch && !zoomAndPan.panningVisualRangeEnabled()) {\r\n return\r\n }\r\n if (\"zoom\" === actionData.action) {\r\n preventDefaults(e);\r\n var curCanvas = actionData.curAxisRect;\r\n var startCoords = actionData.startCoords;\r\n var curCoords = getPointerCoord(curCanvas, e);\r\n var zoomArg = options.argumentAxis.zoom;\r\n var zoomVal = options.valueAxis.zoom;\r\n var rect = {\r\n x: _min(startCoords.x, curCoords.x),\r\n y: _min(startCoords.y, curCoords.y),\r\n width: _abs(startCoords.x - curCoords.x),\r\n height: _abs(startCoords.y - curCoords.y)\r\n };\r\n if (!zoomArg || !zoomVal) {\r\n if (!zoomArg && !rotated || !zoomVal && rotated) {\r\n rect.x = curCanvas.x;\r\n rect.width = curCanvas.width\r\n } else {\r\n rect.y = curCanvas.y;\r\n rect.height = curCanvas.height\r\n }\r\n }\r\n actionData.rect.attr(rect)\r\n } else if (\"pan\" === actionData.action) {\r\n axesViewportChanging(zoomAndPan, \"pan\", e, calcOffsetForDrag, e => e.offset);\r\n var deltaOffsetY = Math.abs(e.offset.y - actionData.offset.y);\r\n var deltaOffsetX = Math.abs(e.offset.x - actionData.offset.x);\r\n if (isTouch && (deltaOffsetY > MIN_DRAG_DELTA && deltaOffsetY > Math.abs(actionData.offset.x) || deltaOffsetX > MIN_DRAG_DELTA && deltaOffsetX > Math.abs(actionData.offset.y))) {\r\n return\r\n }\r\n preventDefaults(e)\r\n }\r\n },\r\n dragEndHandler: function(e) {\r\n var rotated = chart.option(\"rotated\");\r\n var options = zoomAndPan.options;\r\n var actionData = zoomAndPan.actionData;\r\n var isTouch = \"touch\" === e.pointerType;\r\n var getRange = _ref => {\r\n var {\r\n translator: translator,\r\n startCoord: startCoord,\r\n curCoord: curCoord\r\n } = _ref;\r\n return () => [translator.from(startCoord), translator.from(curCoord)]\r\n };\r\n var getCoords = (curCoords, startCoords, field) => ({\r\n curCoord: curCoords[field],\r\n startCoord: startCoords[field]\r\n });\r\n var needToZoom = (axisOption, coords) => axisOption.zoom && _abs(coords.curCoord - coords.startCoord) > MIN_DRAG_DELTA;\r\n var panIsEmpty = actionData && \"pan\" === actionData.action && !actionData.fallback && 0 === actionData.offset.x && 0 === actionData.offset.y;\r\n if (!actionData || isTouch && !zoomAndPan.panningVisualRangeEnabled() || panIsEmpty) {\r\n return\r\n }!isTouch && preventDefaults(e);\r\n if (\"zoom\" === actionData.action) {\r\n var curCoords = getPointerCoord(actionData.curAxisRect, e);\r\n var argumentCoords = getCoords(curCoords, actionData.startCoords, rotated ? \"y\" : \"x\");\r\n var valueCoords = getCoords(curCoords, actionData.startCoords, rotated ? \"x\" : \"y\");\r\n var argumentAxesZoomed = needToZoom(options.argumentAxis, argumentCoords) && zoomAxes(e, chart._argumentAxes, getRange, true, argumentCoords, chart.getArgumentAxis());\r\n var valueAxesZoomed = needToZoom(options.valueAxis, valueCoords) && zoomAxes(e, actionData.valueAxes, getRange, true, valueCoords);\r\n if (valueAxesZoomed || argumentAxesZoomed) {\r\n chart._requestChange([\"VISUAL_RANGE\"])\r\n }\r\n actionData.rect.dispose()\r\n } else if (\"pan\" === actionData.action) {\r\n finishAxesViewportChanging(zoomAndPan, \"pan\", e, calcOffsetForDrag)\r\n }\r\n zoomAndPan.actionData = null\r\n },\r\n pinchStartHandler: function(e) {\r\n var actionData = prepareActionData(calcCenterForPinch(e), \"zoom\");\r\n if (actionData.cancel) {\r\n cancelEvent(e);\r\n return\r\n }\r\n zoomAndPan.actionData = actionData;\r\n startAxesViewportChanging(zoomAndPan, \"zoom\", e)\r\n },\r\n pinchHandler: function(e) {\r\n if (!zoomAndPan.actionData) {\r\n return\r\n }\r\n axesViewportChanging(zoomAndPan, \"zoom\", e, (e, actionData, coordField, scale) => calcCenterForPinch(e)[coordField] - actionData.center[coordField] + (actionData.center[coordField] - actionData.center[coordField] * scale), calcCenterForPinch);\r\n preventDefaults(e)\r\n },\r\n pinchEndHandler: function(e) {\r\n if (!zoomAndPan.actionData) {\r\n return\r\n }\r\n finishAxesViewportChanging(zoomAndPan, \"zoom\", e, (e, actionData, coordField, scale) => actionData.center[coordField] - actionData.startCenter[coordField] + (actionData.startCenter[coordField] - actionData.startCenter[coordField] * scale));\r\n zoomAndPan.actionData = null\r\n },\r\n mouseWheelHandler: function(e) {\r\n var options = zoomAndPan.options;\r\n var rotated = chart.option(\"rotated\");\r\n var getRange = _ref2 => {\r\n var {\r\n translator: translator,\r\n coord: coord,\r\n scale: scale,\r\n axis: axis\r\n } = _ref2;\r\n return () => {\r\n var zoom = translator.zoom(-(coord - coord * scale), scale, axis.getZoomBounds());\r\n return {\r\n startValue: zoom.min,\r\n endValue: zoom.max\r\n }\r\n }\r\n };\r\n var coords = calcCenterForDrag(e);\r\n var axesZoomed = false;\r\n var targetAxes;\r\n if (options.valueAxis.zoom) {\r\n targetAxes = chart._valueAxes.filter(axis => checkCoords(canvasToRect(axis.getCanvas()), coords));\r\n if (0 === targetAxes.length) {\r\n var targetCanvas = chart._valueAxes.reduce((r, axis) => {\r\n if (!r && axis.coordsIn(coords.x, coords.y)) {\r\n r = axis.getCanvas()\r\n }\r\n return r\r\n }, null);\r\n if (targetCanvas) {\r\n targetAxes = chart._valueAxes.filter(axis => checkCoords(canvasToRect(axis.getCanvas()), {\r\n x: targetCanvas.left,\r\n y: targetCanvas.top\r\n }))\r\n }\r\n }\r\n axesZoomed |= zoomAxes(e, targetAxes, getRange, e.delta > 0, {\r\n coord: rotated ? coords.x : coords.y\r\n })\r\n }\r\n if (options.argumentAxis.zoom) {\r\n var canZoom = chart._argumentAxes.some(axis => {\r\n if (checkCoords(canvasToRect(axis.getCanvas()), coords) || axis.coordsIn(coords.x, coords.y)) {\r\n return true\r\n }\r\n return false\r\n });\r\n axesZoomed |= canZoom && zoomAxes(e, chart._argumentAxes, getRange, e.delta > 0, {\r\n coord: rotated ? coords.y : coords.x\r\n }, chart.getArgumentAxis())\r\n }\r\n if (axesZoomed) {\r\n chart._requestChange([\"VISUAL_RANGE\"]);\r\n if (targetAxes && isAxisAvailablePanning(targetAxes) || !targetAxes && zoomAndPan.panningVisualRangeEnabled()) {\r\n preventDefaults(e)\r\n }\r\n }\r\n },\r\n cleanup: function() {\r\n renderer.root.off(EVENTS_NS);\r\n zoomAndPan.actionData && zoomAndPan.actionData.rect && zoomAndPan.actionData.rect.dispose();\r\n zoomAndPan.actionData = null;\r\n renderer.root.css({\r\n \"touch-action\": \"\",\r\n \"-ms-touch-action\": \"\"\r\n })\r\n },\r\n setup: function(options) {\r\n zoomAndPan.cleanup();\r\n if (!options.argumentAxis.pan) {\r\n renderer.root.on(SCROLL_BAR_START_EVENT_NAME, cancelEvent)\r\n }\r\n if (options.argumentAxis.none && options.valueAxis.none) {\r\n return\r\n }\r\n zoomAndPan.options = options;\r\n if ((options.argumentAxis.zoom || options.valueAxis.zoom) && options.allowMouseWheel) {\r\n renderer.root.on(wheelEvent + EVENTS_NS, zoomAndPan.mouseWheelHandler)\r\n }\r\n if ((options.argumentAxis.zoom || options.valueAxis.zoom) && options.allowTouchGestures) {\r\n renderer.root.on(PINCH_START_EVENT_NAME, {\r\n passive: false\r\n }, zoomAndPan.pinchStartHandler).on(PINCH_EVENT_NAME, {\r\n passive: false\r\n }, zoomAndPan.pinchHandler).on(PINCH_END_EVENT_NAME, zoomAndPan.pinchEndHandler)\r\n }\r\n renderer.root.on(DRAG_START_EVENT_NAME, {\r\n immediate: true,\r\n passive: false\r\n }, zoomAndPan.dragStartHandler).on(DRAG_EVENT_NAME, {\r\n immediate: true,\r\n passive: false\r\n }, zoomAndPan.dragHandler).on(DRAG_END_EVENT_NAME, zoomAndPan.dragEndHandler);\r\n renderer.root.on(SCROLL_BAR_START_EVENT_NAME, (function(e) {\r\n zoomAndPan.actionData = {\r\n valueAxes: [],\r\n offset: {\r\n x: 0,\r\n y: 0\r\n },\r\n center: {\r\n x: 0,\r\n y: 0\r\n }\r\n };\r\n preventDefaults(e);\r\n startAxesViewportChanging(zoomAndPan, \"pan\", e)\r\n })).on(SCROLL_BAR_MOVE_EVENT_NAME, (function(e) {\r\n preventDefaults(e);\r\n axesViewportChanging(zoomAndPan, \"pan\", e, calcOffsetForDrag, e => e.offset)\r\n })).on(SCROLL_BAR_END_EVENT_NAME, (function(e) {\r\n preventDefaults(e);\r\n finishAxesViewportChanging(zoomAndPan, \"pan\", e, calcOffsetForDrag);\r\n zoomAndPan.actionData = null\r\n }))\r\n },\r\n panningVisualRangeEnabled: function() {\r\n return isAxisAvailablePanning(chart._valueAxes) || isAxisAvailablePanning(chart._argumentAxes)\r\n }\r\n };\r\n this._zoomAndPan = zoomAndPan\r\n },\r\n members: {\r\n _setupZoomAndPan: function() {\r\n this._zoomAndPan.setup(this._themeManager.getOptions(\"zoomAndPan\"))\r\n }\r\n },\r\n dispose: function() {\r\n this._zoomAndPan.cleanup()\r\n },\r\n customize: function(constructor) {\r\n constructor.addChange({\r\n code: \"ZOOM_AND_PAN\",\r\n handler: function() {\r\n this._setupZoomAndPan()\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true,\r\n option: \"zoomAndPan\"\r\n })\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/core/annotations.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Tooltip\r\n} from \"../core/tooltip\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n patchFontOptions\r\n} from \"./utils\";\r\nimport {\r\n Plaque\r\n} from \"./plaque\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../../events/drag\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nvar getDocument = domAdapter.getDocument;\r\nvar EVENT_NS = \"annotations\";\r\nvar DOT_EVENT_NS = \".\" + EVENT_NS;\r\nvar POINTER_ACTION = addNamespace([pointerEvents.down, pointerEvents.move], EVENT_NS);\r\nvar POINTER_UP_EVENT_NAME = addNamespace(pointerEvents.up, EVENT_NS);\r\nvar DRAG_START_EVENT_NAME = dragEventStart + DOT_EVENT_NS;\r\nvar DRAG_EVENT_NAME = dragEventMove + DOT_EVENT_NS;\r\nvar DRAG_END_EVENT_NAME = dragEventEnd + DOT_EVENT_NS;\r\n\r\nfunction coreAnnotation(options, contentTemplate) {\r\n return {\r\n draw: function(widget, group) {\r\n var annotationGroup = widget._renderer.g().append(group).css(patchFontOptions(options.font));\r\n if (this.plaque) {\r\n this.plaque.clear()\r\n }\r\n this.plaque = new Plaque(extend(true, {}, options, {\r\n cornerRadius: (options.border || {}).cornerRadius\r\n }), widget, annotationGroup, contentTemplate, widget._isAnnotationBounded(options));\r\n this.plaque.draw(widget._getAnnotationCoords(this));\r\n if (options.allowDragging) {\r\n annotationGroup.on(DRAG_START_EVENT_NAME, {\r\n immediate: true\r\n }, e => {\r\n this._dragOffsetX = this.plaque.x - e.pageX;\r\n this._dragOffsetY = this.plaque.y - e.pageY\r\n }).on(DRAG_EVENT_NAME, e => {\r\n this.plaque.move(e.pageX + this._dragOffsetX, e.pageY + this._dragOffsetY)\r\n }).on(DRAG_END_EVENT_NAME, e => {\r\n this.offsetX = (this.offsetX || 0) + e.offset.x;\r\n this.offsetY = (this.offsetY || 0) + e.offset.y\r\n })\r\n }\r\n },\r\n hitTest(x, y) {\r\n return this.plaque.hitTest(x, y)\r\n },\r\n showTooltip(tooltip, _ref) {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref;\r\n var that = this;\r\n var options = that.options;\r\n if (tooltip.annotation !== that) {\r\n tooltip.setTemplate(options.tooltipTemplate);\r\n var callback = result => {\r\n result && (tooltip.annotation = that)\r\n };\r\n callback(tooltip.show(options, {\r\n x: x,\r\n y: y\r\n }, {\r\n target: options\r\n }, options.customizeTooltip, callback))\r\n } else if (!tooltip.isCursorOnTooltip(x, y)) {\r\n tooltip.move(x, y)\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction getTemplateFunction(options, widget) {\r\n var template;\r\n if (\"text\" === options.type) {\r\n template = function(item, groupElement) {\r\n var text = widget._renderer.text(item.text).attr({\r\n class: item.cssClass\r\n }).append({\r\n element: groupElement\r\n });\r\n if (item.width > 0 || item.height > 0) {\r\n text.setMaxSize(item.width, item.height, {\r\n wordWrap: item.wordWrap,\r\n textOverflow: item.textOverflow\r\n })\r\n }\r\n }\r\n } else if (\"image\" === options.type) {\r\n template = function(item, groupElement) {\r\n var {\r\n width: width,\r\n height: height,\r\n url: url,\r\n location: location\r\n } = item.image || {};\r\n var {\r\n width: outerWidth,\r\n height: outerHeight\r\n } = item;\r\n var imageWidth = outerWidth > 0 ? Math.min(width, outerWidth) : width;\r\n var imageHeight = outerHeight > 0 ? Math.min(height, outerHeight) : height;\r\n widget._renderer.image(0, 0, imageWidth, imageHeight, url, location || \"center\").append({\r\n element: groupElement\r\n })\r\n }\r\n } else if (\"custom\" === options.type) {\r\n template = options.template\r\n }\r\n return template\r\n}\r\n\r\nfunction getImageObject(image) {\r\n return \"string\" === typeof image ? {\r\n url: image\r\n } : image\r\n}\r\nexport var createAnnotations = function(widget, items) {\r\n var commonAnnotationSettings = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var customizeAnnotation = arguments.length > 3 ? arguments[3] : void 0;\r\n var pullOptions = arguments.length > 4 ? arguments[4] : void 0;\r\n var commonImageOptions = getImageObject(commonAnnotationSettings.image);\r\n return items.reduce((arr, item) => {\r\n var currentImageOptions = getImageObject(item.image);\r\n var customizedItem = isFunction(customizeAnnotation) ? customizeAnnotation(item) : {};\r\n if (customizedItem) {\r\n customizedItem.image = getImageObject(customizedItem.image)\r\n }\r\n var options = extend(true, {}, commonAnnotationSettings, item, {\r\n image: commonImageOptions\r\n }, {\r\n image: currentImageOptions\r\n }, customizedItem);\r\n var templateFunction = getTemplateFunction(options, widget);\r\n var annotation = templateFunction && extend(true, pullOptions(options), coreAnnotation(options, widget._getTemplate(templateFunction)));\r\n annotation && arr.push(annotation);\r\n return arr\r\n }, [])\r\n};\r\nvar chartPlugin = {\r\n name: \"annotations_chart\",\r\n init() {},\r\n dispose() {},\r\n members: {\r\n _getAnnotationCoords(annotation) {\r\n var _axis, _axis2;\r\n var coords = {\r\n offsetX: annotation.offsetX,\r\n offsetY: annotation.offsetY\r\n };\r\n var argCoordName = this._options.silent(\"rotated\") ? \"y\" : \"x\";\r\n var valCoordName = this._options.silent(\"rotated\") ? \"x\" : \"y\";\r\n var argAxis = this.getArgumentAxis();\r\n var argument = argAxis.validateUnit(annotation.argument);\r\n var axis = this.getValueAxis(annotation.axis);\r\n var series;\r\n var pane = null === (_axis = axis) || void 0 === _axis ? void 0 : _axis.pane;\r\n if (annotation.series) {\r\n var _series;\r\n series = this.series.filter(s => s.name === annotation.series)[0];\r\n axis = null === (_series = series) || void 0 === _series ? void 0 : _series.getValueAxis();\r\n isDefined(axis) && (pane = axis.pane)\r\n }\r\n if (isDefined(argument)) {\r\n if (series) {\r\n var center = series.getPointCenterByArg(argument);\r\n center && (coords[argCoordName] = center[argCoordName])\r\n } else {\r\n coords[argCoordName] = argAxis.getTranslator().translate(argument)\r\n }!isDefined(pane) && (pane = argAxis.pane)\r\n }\r\n var value = null === (_axis2 = axis) || void 0 === _axis2 ? void 0 : _axis2.validateUnit(annotation.value);\r\n if (isDefined(value)) {\r\n var _axis3;\r\n coords[valCoordName] = null === (_axis3 = axis) || void 0 === _axis3 ? void 0 : _axis3.getTranslator().translate(value);\r\n !isDefined(pane) && isDefined(axis) && (pane = axis.pane)\r\n }\r\n coords.canvas = this._getCanvasForPane(pane);\r\n if (isDefined(coords[argCoordName]) && !isDefined(value)) {\r\n var _series2;\r\n if (!isDefined(axis) && !isDefined(series)) {\r\n coords[valCoordName] = argAxis.getAxisPosition()\r\n } else if (isDefined(axis) && !isDefined(series)) {\r\n coords[valCoordName] = this._argumentAxes.filter(a => a.pane === axis.pane)[0].getAxisPosition()\r\n } else if (null !== (_series2 = series) && void 0 !== _series2 && _series2.checkSeriesViewportCoord(argAxis, coords[argCoordName])) {\r\n coords[valCoordName] = series.getSeriesPairCoord(coords[argCoordName], true)\r\n }\r\n }\r\n if (!isDefined(argument) && isDefined(coords[valCoordName])) {\r\n if (isDefined(axis) && !isDefined(series)) {\r\n coords[argCoordName] = axis.getAxisPosition()\r\n } else if (isDefined(series)) {\r\n if (series.checkSeriesViewportCoord(axis, coords[valCoordName])) {\r\n coords[argCoordName] = series.getSeriesPairCoord(coords[valCoordName], false)\r\n }\r\n }\r\n }\r\n return coords\r\n },\r\n _annotationsPointerEventHandler(event) {\r\n if (this._disposed) {\r\n return\r\n }\r\n var originalEvent = event.originalEvent || {};\r\n var touch = originalEvent.touches && originalEvent.touches[0] || {};\r\n var rootOffset = this._renderer.getRootOffset();\r\n var coords = {\r\n x: touch.pageX || originalEvent.pageX || event.pageX,\r\n y: touch.pageY || originalEvent.pageY || event.pageY\r\n };\r\n var annotation = this._annotations.items.filter(a => a.hitTest(coords.x - rootOffset.left, coords.y - rootOffset.top))[0];\r\n if (!annotation || !annotation.options.tooltipEnabled) {\r\n this._annotations.hideTooltip();\r\n return\r\n }\r\n this._clear();\r\n if (annotation.options.allowDragging && event.type === pointerEvents.down) {\r\n this._annotations._hideToolTipForDrag = true\r\n }\r\n if (!this._annotations._hideToolTipForDrag) {\r\n annotation.showTooltip(this._annotations.tooltip, coords);\r\n event.stopPropagation()\r\n }\r\n },\r\n _isAnnotationBounded: options => isDefined(options.value) || isDefined(options.argument),\r\n _pullOptions: options => ({\r\n type: options.type,\r\n name: options.name,\r\n x: options.x,\r\n y: options.y,\r\n value: options.value,\r\n argument: options.argument,\r\n axis: options.axis,\r\n series: options.series,\r\n options: options,\r\n offsetX: options.offsetX,\r\n offsetY: options.offsetY\r\n }),\r\n _forceAnnotationRender() {\r\n this._change([\"FORCE_RENDER\"])\r\n },\r\n _clear() {\r\n this.hideTooltip();\r\n this.clearHover()\r\n }\r\n }\r\n};\r\nvar polarChartPlugin = {\r\n name: \"annotations_polar_chart\",\r\n init() {},\r\n dispose() {},\r\n members: {\r\n _getAnnotationCoords(annotation) {\r\n var coords = {\r\n offsetX: annotation.offsetX,\r\n offsetY: annotation.offsetY,\r\n canvas: this._calcCanvas()\r\n };\r\n var argAxis = this.getArgumentAxis();\r\n var argument = argAxis.validateUnit(annotation.argument);\r\n var value = this.getValueAxis().validateUnit(annotation.value);\r\n var radius = annotation.radius;\r\n var angle = annotation.angle;\r\n var pointCoords;\r\n var series;\r\n if (annotation.series) {\r\n series = this.series.filter(s => s.name === annotation.series)[0]\r\n }\r\n extend(true, coords, this.getXYFromPolar(angle, radius, argument, value));\r\n if (isDefined(series)) {\r\n if (isDefined(coords.angle) && !isDefined(value) && !isDefined(radius)) {\r\n if (!isDefined(argument)) {\r\n argument = argAxis.getTranslator().from(isFinite(angle) ? this.getActualAngle(angle) : coords.angle)\r\n }\r\n pointCoords = series.getSeriesPairCoord({\r\n argument: argument,\r\n angle: -coords.angle\r\n }, true)\r\n } else if (isDefined(coords.radius) && !isDefined(argument) && !isDefined(angle)) {\r\n pointCoords = series.getSeriesPairCoord({\r\n radius: coords.radius\r\n }, false)\r\n }\r\n if (isDefined(pointCoords)) {\r\n coords.x = pointCoords.x;\r\n coords.y = pointCoords.y\r\n }\r\n }\r\n if (annotation.series && !isDefined(pointCoords)) {\r\n coords.x = coords.y = void 0\r\n }\r\n return coords\r\n },\r\n _annotationsPointerEventHandler: chartPlugin.members._annotationsPointerEventHandler,\r\n _isAnnotationBounded: chartPlugin.members._isAnnotationBounded,\r\n _pullOptions(options) {\r\n var polarOptions = extend({}, {\r\n radius: options.radius,\r\n angle: options.angle\r\n }, chartPlugin.members._pullOptions(options));\r\n delete polarOptions.axis;\r\n return polarOptions\r\n },\r\n _forceAnnotationRender: chartPlugin.members._forceAnnotationRender,\r\n _clear: chartPlugin.members._clear\r\n }\r\n};\r\nvar vectorMapPlugin = {\r\n name: \"annotations_vector_map\",\r\n init() {},\r\n dispose() {\r\n this._annotations._offTracker();\r\n this._annotations._offTracker = null\r\n },\r\n members: {\r\n _getAnnotationCoords(annotation) {\r\n var coords = {\r\n offsetX: annotation.offsetX,\r\n offsetY: annotation.offsetY\r\n };\r\n coords.canvas = this._projection.getCanvas();\r\n if (annotation.coordinates) {\r\n var data = this._projection.toScreenPoint(annotation.coordinates);\r\n coords.x = data[0];\r\n coords.y = data[1]\r\n }\r\n return coords\r\n },\r\n _annotationsPointerEventHandler: chartPlugin.members._annotationsPointerEventHandler,\r\n _isAnnotationBounded: options => isDefined(options.coordinates),\r\n _pullOptions(options) {\r\n var vectorMapOptions = extend({}, {\r\n coordinates: options.coordinates\r\n }, chartPlugin.members._pullOptions(options));\r\n delete vectorMapOptions.axis;\r\n delete vectorMapOptions.series;\r\n delete vectorMapOptions.argument;\r\n delete vectorMapOptions.value;\r\n return vectorMapOptions\r\n },\r\n _forceAnnotationRender() {\r\n this._change([\"EXTRA_ELEMENTS\"])\r\n },\r\n _getAnnotationStyles: () => ({\r\n \"text-anchor\": \"start\"\r\n }),\r\n _clear() {}\r\n },\r\n extenders: {\r\n _prepareExtraElements() {\r\n var that = this;\r\n var renderElements = () => {\r\n that._renderExtraElements()\r\n };\r\n that._annotations._offTracker = that._tracker.on({\r\n move: renderElements,\r\n zoom: renderElements,\r\n end: renderElements\r\n })\r\n }\r\n }\r\n};\r\nvar pieChartPlugin = {\r\n name: \"annotations_pie_chart\",\r\n init() {},\r\n dispose() {},\r\n members: {\r\n _getAnnotationCoords(annotation) {\r\n var series;\r\n var coords = {\r\n offsetX: annotation.offsetX,\r\n offsetY: annotation.offsetY,\r\n canvas: this._canvas\r\n };\r\n if (annotation.argument) {\r\n if (annotation.series) {\r\n series = this.getSeriesByName(annotation.series)\r\n } else {\r\n series = this.series[0]\r\n }\r\n var argument = series.getPointsByArg(annotation.argument)[0];\r\n var {\r\n x: x,\r\n y: y\r\n } = argument.getAnnotationCoords(annotation.location);\r\n coords.x = x;\r\n coords.y = y\r\n }\r\n return coords\r\n },\r\n _isAnnotationBounded: options => options.argument,\r\n _annotationsPointerEventHandler: chartPlugin.members._annotationsPointerEventHandler,\r\n _pullOptions(options) {\r\n var pieChartOptions = extend({}, {\r\n location: options.location\r\n }, chartPlugin.members._pullOptions(options));\r\n delete pieChartOptions.axis;\r\n return pieChartOptions\r\n },\r\n _clear: chartPlugin.members._clear,\r\n _forceAnnotationRender: chartPlugin.members._forceAnnotationRender\r\n }\r\n};\r\nvar corePlugin = {\r\n name: \"annotations_core\",\r\n init() {\r\n this._annotations = {\r\n items: [],\r\n _hideToolTipForDrag: false,\r\n tooltip: new Tooltip({\r\n cssClass: \"\".concat(this._rootClassPrefix, \"-annotation-tooltip\"),\r\n eventTrigger: this._eventTrigger,\r\n widgetRoot: this.element(),\r\n widget: this\r\n }),\r\n hideTooltip() {\r\n this.tooltip.annotation = null;\r\n this.tooltip.hide()\r\n },\r\n clearItems() {\r\n this.items.forEach(i => i.plaque.clear());\r\n this.items = []\r\n }\r\n };\r\n this._annotations.tooltip.setRendererOptions(this._getRendererOptions())\r\n },\r\n dispose() {\r\n this._annotationsGroup.linkRemove().linkOff();\r\n eventsEngine.off(getDocument(), DOT_EVENT_NS);\r\n this._annotationsGroup.off(DOT_EVENT_NS);\r\n this._annotations.tooltip && this._annotations.tooltip.dispose()\r\n },\r\n extenders: {\r\n _createHtmlStructure() {\r\n this._annotationsGroup = this._renderer.g().attr({\r\n class: \"\".concat(this._rootClassPrefix, \"-annotations\")\r\n }).css(this._getAnnotationStyles()).linkOn(this._renderer.root, \"annotations\").linkAppend();\r\n eventsEngine.on(getDocument(), POINTER_ACTION, e => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!this._annotations.tooltip.isCursorOnTooltip(e.pageX, e.pageY)) {\r\n this._annotations.hideTooltip()\r\n }\r\n });\r\n eventsEngine.on(getDocument(), POINTER_UP_EVENT_NAME, event => {\r\n this._annotations._hideToolTipForDrag = false;\r\n this._annotationsPointerEventHandler(event)\r\n });\r\n this._annotationsGroup.on(POINTER_ACTION, this._annotationsPointerEventHandler.bind(this))\r\n },\r\n _renderExtraElements() {\r\n this._annotationsGroup.clear();\r\n this._annotations.items.forEach(item => item.draw(this, this._annotationsGroup))\r\n },\r\n _stopCurrentHandling() {\r\n this._annotations.hideTooltip()\r\n }\r\n },\r\n members: {\r\n _buildAnnotations() {\r\n this._annotations.clearItems();\r\n var items = this._getOption(\"annotations\", true);\r\n if (!(null !== items && void 0 !== items && items.length)) {\r\n return\r\n }\r\n this._annotations.items = createAnnotations(this, items, this._getOption(\"commonAnnotationSettings\"), this._getOption(\"customizeAnnotation\", true), this._pullOptions)\r\n },\r\n _setAnnotationTooltipOptions() {\r\n var tooltipOptions = extend({}, this._getOption(\"tooltip\"));\r\n tooltipOptions.contentTemplate = tooltipOptions.customizeTooltip = void 0;\r\n this._annotations.tooltip.update(tooltipOptions)\r\n },\r\n _getAnnotationCoords: () => ({}),\r\n _pullOptions: () => ({}),\r\n _getAnnotationStyles: () => ({})\r\n },\r\n customize(constructor) {\r\n constructor.addChange({\r\n code: \"ANNOTATIONITEMS\",\r\n handler() {\r\n this._requestChange([\"ANNOTATIONS\"])\r\n },\r\n isOptionChange: true,\r\n option: \"annotations\"\r\n });\r\n constructor.addChange({\r\n code: \"ANNOTATIONSSETTINGS\",\r\n handler() {\r\n this._requestChange([\"ANNOTATIONS\"])\r\n },\r\n isOptionChange: true,\r\n option: \"commonAnnotationSettings\"\r\n });\r\n constructor.addChange({\r\n code: \"ANNOTATIONS\",\r\n handler() {\r\n this._buildAnnotations();\r\n this._setAnnotationTooltipOptions();\r\n this._forceAnnotationRender()\r\n },\r\n isThemeDependent: true,\r\n isOptionChange: true\r\n })\r\n },\r\n fontFields: [\"commonAnnotationSettings.font\"]\r\n};\r\nexport var plugins = {\r\n core: corePlugin,\r\n chart: chartPlugin,\r\n polarChart: polarChartPlugin,\r\n vectorMap: vectorMapPlugin,\r\n pieChart: pieChartPlugin\r\n};\r\n","/**\r\n * DevExtreme (esm/viz/chart.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend as _extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n each as _each\r\n} from \"../core/utils/iterator\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n prepareSegmentRectPoints\r\n} from \"./utils\";\r\nimport {\r\n map as _map,\r\n getLog,\r\n getCategoriesInfo,\r\n updatePanesCanvases,\r\n convertVisualRangeObject,\r\n PANE_PADDING,\r\n normalizePanesHeight,\r\n rangesAreEqual,\r\n isRelativeHeightPane,\r\n extractColor\r\n} from \"./core/utils\";\r\nimport {\r\n type,\r\n isDefined as _isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n getPrecision\r\n} from \"../core/utils/math\";\r\nimport {\r\n overlapping\r\n} from \"./chart_components/base_chart\";\r\nimport multiAxesSynchronizer from \"./chart_components/multi_axes_synchronizer\";\r\nimport {\r\n AdvancedChart\r\n} from \"./chart_components/advanced_chart\";\r\nimport {\r\n ScrollBar\r\n} from \"./chart_components/scroll_bar\";\r\nimport {\r\n Crosshair,\r\n getMargins\r\n} from \"./chart_components/crosshair\";\r\nimport rangeDataCalculator from \"./series/helpers/range_data_calculator\";\r\nimport {\r\n LayoutManager\r\n} from \"./chart_components/layout_manager\";\r\nimport {\r\n Range\r\n} from \"./translators/range\";\r\nvar DEFAULT_PANE_NAME = \"default\";\r\nvar VISUAL_RANGE = \"VISUAL_RANGE\";\r\nvar DEFAULT_PANES = [{\r\n name: DEFAULT_PANE_NAME,\r\n border: {}\r\n}];\r\nvar DISCRETE = \"discrete\";\r\nvar _isArray = Array.isArray;\r\n\r\nfunction getFirstAxisNameForPane(axes, paneName, defaultPane) {\r\n var result;\r\n for (var i = 0; i < axes.length; i++) {\r\n if (axes[i].pane === paneName || void 0 === axes[i].pane && paneName === defaultPane) {\r\n result = axes[i].name;\r\n break\r\n }\r\n }\r\n if (!result) {\r\n result = axes[0].name\r\n }\r\n return result\r\n}\r\n\r\nfunction changeVisibilityAxisGrids(axis, gridVisibility, minorGridVisibility) {\r\n var gridOpt = axis.getOptions().grid;\r\n var minorGridOpt = axis.getOptions().minorGrid;\r\n gridOpt.visible = gridVisibility;\r\n minorGridOpt && (minorGridOpt.visible = minorGridVisibility)\r\n}\r\n\r\nfunction hideGridsOnNonFirstValueAxisForPane(axesForPane) {\r\n var axisShown = false;\r\n var hiddenStubAxis = [];\r\n var minorGridVisibility = axesForPane.some((function(axis) {\r\n var minorGridOptions = axis.getOptions().minorGrid;\r\n return minorGridOptions && minorGridOptions.visible\r\n }));\r\n var gridVisibility = axesForPane.some((function(axis) {\r\n var gridOptions = axis.getOptions().grid;\r\n return gridOptions && gridOptions.visible\r\n }));\r\n if (axesForPane.length > 1) {\r\n axesForPane.forEach((function(axis) {\r\n var gridOpt = axis.getOptions().grid;\r\n if (axisShown) {\r\n changeVisibilityAxisGrids(axis, false, false)\r\n } else if (gridOpt && gridOpt.visible) {\r\n if (axis.getTranslator().getBusinessRange().isEmpty()) {\r\n changeVisibilityAxisGrids(axis, false, false);\r\n hiddenStubAxis.push(axis)\r\n } else {\r\n axisShown = true;\r\n changeVisibilityAxisGrids(axis, gridVisibility, minorGridVisibility)\r\n }\r\n }\r\n }));\r\n !axisShown && hiddenStubAxis.length && changeVisibilityAxisGrids(hiddenStubAxis[0], gridVisibility, minorGridVisibility)\r\n }\r\n}\r\n\r\nfunction findAxisOptions(valueAxes, valueAxesOptions, axisName) {\r\n var result;\r\n var axInd;\r\n for (axInd = 0; axInd < valueAxesOptions.length; axInd++) {\r\n if (valueAxesOptions[axInd].name === axisName) {\r\n result = valueAxesOptions[axInd];\r\n result.priority = axInd;\r\n break\r\n }\r\n }\r\n if (!result) {\r\n for (axInd = 0; axInd < valueAxes.length; axInd++) {\r\n if (valueAxes[axInd].name === axisName) {\r\n result = valueAxes[axInd].getOptions();\r\n result.priority = valueAxes[axInd].priority;\r\n break\r\n }\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction findAxis(paneName, axisName, axes) {\r\n var axis;\r\n var i;\r\n for (i = 0; i < axes.length; i++) {\r\n axis = axes[i];\r\n if (axis.name === axisName && axis.pane === paneName) {\r\n return axis\r\n }\r\n }\r\n if (paneName) {\r\n return findAxis(void 0, axisName, axes)\r\n }\r\n}\r\n\r\nfunction compareAxes(a, b) {\r\n return a.priority - b.priority\r\n}\r\n\r\nfunction doesPaneExist(panes, paneName) {\r\n var found = false;\r\n _each(panes, (function(_, pane) {\r\n if (pane.name === paneName) {\r\n found = true;\r\n return false\r\n }\r\n }));\r\n return found\r\n}\r\n\r\nfunction accumulate(field, src1, src2, auxSpacing) {\r\n var val1 = src1[field] || 0;\r\n var val2 = src2[field] || 0;\r\n return val1 + val2 + (val1 && val2 ? auxSpacing : 0)\r\n}\r\n\r\nfunction pickMax(field, src1, src2) {\r\n return pickMaxValue(src1[field], src2[field])\r\n}\r\n\r\nfunction pickMaxValue(val1, val2) {\r\n return Math.max(val1 || 0, val2 || 0)\r\n}\r\n\r\nfunction getAxisMargins(axis) {\r\n return axis.getMargins()\r\n}\r\n\r\nfunction getHorizontalAxesMargins(axes, getMarginsFunc) {\r\n return axes.reduce((function(margins, axis) {\r\n var _axis$getOrthogonalAx;\r\n var axisMargins = getMarginsFunc(axis);\r\n var paneMargins = margins.panes[axis.pane] = margins.panes[axis.pane] || {};\r\n var spacing = axis.getMultipleAxesSpacing();\r\n paneMargins.top = accumulate(\"top\", paneMargins, axisMargins, spacing);\r\n paneMargins.bottom = accumulate(\"bottom\", paneMargins, axisMargins, spacing);\r\n paneMargins.left = pickMax(\"left\", paneMargins, axisMargins);\r\n paneMargins.right = pickMax(\"right\", paneMargins, axisMargins);\r\n margins.top = pickMax(\"top\", paneMargins, margins);\r\n margins.bottom = pickMax(\"bottom\", paneMargins, margins);\r\n margins.left = pickMax(\"left\", paneMargins, margins);\r\n margins.right = pickMax(\"right\", paneMargins, margins);\r\n var orthogonalAxis = null === (_axis$getOrthogonalAx = axis.getOrthogonalAxis) || void 0 === _axis$getOrthogonalAx ? void 0 : _axis$getOrthogonalAx.call(axis);\r\n if (orthogonalAxis && orthogonalAxis.customPositionIsAvailable() && (!axis.customPositionIsBoundaryOrthogonalAxis() || !orthogonalAxis.customPositionEqualsToPredefined())) {\r\n margins[orthogonalAxis.getResolvedBoundaryPosition()] = 0\r\n }\r\n return margins\r\n }), {\r\n panes: {}\r\n })\r\n}\r\n\r\nfunction getVerticalAxesMargins(axes) {\r\n return axes.reduce((function(margins, axis) {\r\n var axisMargins = axis.getMargins();\r\n var paneMargins = margins.panes[axis.pane] = margins.panes[axis.pane] || {};\r\n var spacing = axis.getMultipleAxesSpacing();\r\n paneMargins.top = pickMax(\"top\", paneMargins, axisMargins);\r\n paneMargins.bottom = pickMax(\"bottom\", paneMargins, axisMargins);\r\n paneMargins.left = accumulate(\"left\", paneMargins, axisMargins, spacing);\r\n paneMargins.right = accumulate(\"right\", paneMargins, axisMargins, spacing);\r\n margins.top = pickMax(\"top\", paneMargins, margins);\r\n margins.bottom = pickMax(\"bottom\", paneMargins, margins);\r\n margins.left = pickMax(\"left\", paneMargins, margins);\r\n margins.right = pickMax(\"right\", paneMargins, margins);\r\n return margins\r\n }), {\r\n panes: {}\r\n })\r\n}\r\n\r\nfunction performActionOnAxes(axes, action, actionArgument1, actionArgument2, actionArgument3) {\r\n axes.forEach((function(axis) {\r\n axis[action](actionArgument1 && actionArgument1[axis.pane], actionArgument2 && actionArgument2[axis.pane] || actionArgument2, actionArgument3)\r\n }))\r\n}\r\n\r\nfunction shrinkCanvases(isRotated, canvases, sizes, verticalMargins, horizontalMargins) {\r\n function getMargin(side, margins, pane) {\r\n var m = -1 === (isRotated ? [\"left\", \"right\"] : [\"top\", \"bottom\"]).indexOf(side) ? margins : margins.panes[pane] || {};\r\n return m[side]\r\n }\r\n\r\n function getMaxMargin(side, margins1, margins2, pane) {\r\n return pickMaxValue(getMargin(side, margins1, pane), getMargin(side, margins2, pane))\r\n }\r\n var getOriginalField = field => \"original\".concat(field[0].toUpperCase()).concat(field.slice(1));\r\n\r\n function shrink(canvases, paneNames, sizeField, startMargin, endMargin, oppositeMargins) {\r\n paneNames = paneNames.sort((p1, p2) => canvases[p2][startMargin] - canvases[p1][startMargin]);\r\n paneNames.forEach(pane => {\r\n var canvas = canvases[pane];\r\n oppositeMargins.forEach(margin => {\r\n canvas[margin] = canvas[getOriginalField(margin)] + getMaxMargin(margin, verticalMargins, horizontalMargins, pane)\r\n })\r\n });\r\n var firstPane = canvases[paneNames[0]];\r\n var emptySpace = paneNames.reduce((space, paneName) => {\r\n space -= getMaxMargin(startMargin, verticalMargins, horizontalMargins, paneName) + getMaxMargin(endMargin, verticalMargins, horizontalMargins, paneName);\r\n return space\r\n }, firstPane[sizeField] - firstPane[getOriginalField(endMargin)] - canvases[paneNames[paneNames.length - 1]][getOriginalField(startMargin)]) - PANE_PADDING * (paneNames.length - 1);\r\n emptySpace -= Object.keys(sizes).reduce((prev, key) => prev + (!isRelativeHeightPane(sizes[key]) ? sizes[key].height : 0), 0);\r\n paneNames.reduce((offset, pane) => {\r\n var canvas = canvases[pane];\r\n var paneSize = sizes[pane];\r\n offset -= getMaxMargin(endMargin, verticalMargins, horizontalMargins, pane);\r\n canvas[endMargin] = firstPane[sizeField] - offset;\r\n offset -= !isRelativeHeightPane(paneSize) ? paneSize.height : Math.floor(emptySpace * paneSize.height);\r\n canvas[startMargin] = offset;\r\n offset -= getMaxMargin(startMargin, verticalMargins, horizontalMargins, pane) + PANE_PADDING;\r\n return offset\r\n }, firstPane[sizeField] - firstPane[getOriginalField(endMargin)] - (emptySpace < 0 ? emptySpace : 0))\r\n }\r\n var paneNames = Object.keys(canvases);\r\n if (!isRotated) {\r\n shrink(canvases, paneNames, \"height\", \"top\", \"bottom\", [\"left\", \"right\"])\r\n } else {\r\n shrink(canvases, paneNames, \"width\", \"left\", \"right\", [\"top\", \"bottom\"])\r\n }\r\n return canvases\r\n}\r\n\r\nfunction drawAxesWithTicks(axes, condition, canvases, panesBorderOptions) {\r\n if (condition) {\r\n performActionOnAxes(axes, \"createTicks\", canvases);\r\n multiAxesSynchronizer.synchronize(axes)\r\n }\r\n performActionOnAxes(axes, \"draw\", !condition && canvases, panesBorderOptions)\r\n}\r\n\r\nfunction shiftAxis(side1, side2) {\r\n var shifts = {};\r\n return function(axis) {\r\n if (!axis.customPositionIsAvailable() || axis.customPositionEqualsToPredefined()) {\r\n var shift = shifts[axis.pane] = shifts[axis.pane] || {\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n right: 0\r\n };\r\n var spacing = axis.getMultipleAxesSpacing();\r\n var margins = axis.getMargins();\r\n axis.shift(shift);\r\n shift[side1] = accumulate(side1, shift, margins, spacing);\r\n shift[side2] = accumulate(side2, shift, margins, spacing)\r\n } else {\r\n axis.shift({\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n right: 0\r\n })\r\n }\r\n }\r\n}\r\n\r\nfunction getCommonSize(side, margins) {\r\n var size = 0;\r\n var pane;\r\n var paneMargins;\r\n for (pane in margins.panes) {\r\n paneMargins = margins.panes[pane];\r\n size += \"height\" === side ? paneMargins.top + paneMargins.bottom : paneMargins.left + paneMargins.right\r\n }\r\n return size\r\n}\r\n\r\nfunction checkUsedSpace(sizeShortage, side, axes, getMarginFunc) {\r\n var size = 0;\r\n if (sizeShortage[side] > 0) {\r\n size = getCommonSize(side, getMarginFunc(axes, getAxisMargins));\r\n performActionOnAxes(axes, \"hideTitle\");\r\n sizeShortage[side] -= size - getCommonSize(side, getMarginFunc(axes, getAxisMargins))\r\n }\r\n if (sizeShortage[side] > 0) {\r\n performActionOnAxes(axes, \"hideOuterElements\")\r\n }\r\n}\r\n\r\nfunction axisAnimationEnabled(drawOptions, pointsToAnimation) {\r\n var pointsCount = pointsToAnimation.reduce((sum, count) => sum + count, 0) / pointsToAnimation.length;\r\n return drawOptions.animate && pointsCount <= drawOptions.animationPointsLimit\r\n}\r\n\r\nfunction collectMarkersInfoBySeries(allSeries, filteredSeries, argAxis) {\r\n var series = [];\r\n var overloadedSeries = {};\r\n var argVisualRange = argAxis.visualRange();\r\n var argTranslator = argAxis.getTranslator();\r\n var argViewPortFilter = rangeDataCalculator.getViewPortFilter(argVisualRange || {});\r\n filteredSeries.forEach(s => {\r\n var valAxis = s.getValueAxis();\r\n var valVisualRange = valAxis.getCanvasRange();\r\n var valTranslator = valAxis.getTranslator();\r\n var seriesIndex = allSeries.indexOf(s);\r\n var valViewPortFilter = rangeDataCalculator.getViewPortFilter(valVisualRange || {});\r\n overloadedSeries[seriesIndex] = {};\r\n filteredSeries.forEach(sr => overloadedSeries[seriesIndex][allSeries.indexOf(sr)] = 0);\r\n var seriesPoints = [];\r\n s.getPoints().filter(p => p.getOptions().visible && argViewPortFilter(p.argument) && (valViewPortFilter(p.getMinValue(true)) || valViewPortFilter(p.getMaxValue(true)))).forEach(p => {\r\n var tp = {\r\n seriesIndex: seriesIndex,\r\n argument: p.argument,\r\n value: p.getMaxValue(true),\r\n size: p.bubbleSize || p.getOptions().size\r\n };\r\n if (p.getMinValue(true) !== p.getMaxValue(true)) {\r\n var mp = _extend({}, tp);\r\n mp.value = p.getMinValue(true);\r\n mp.x = argTranslator.to(mp.argument, 1);\r\n mp.y = valTranslator.to(mp.value, 1);\r\n seriesPoints.push(mp)\r\n }\r\n tp.x = argTranslator.to(tp.argument, 1);\r\n tp.y = valTranslator.to(tp.value, 1);\r\n seriesPoints.push(tp)\r\n });\r\n overloadedSeries[seriesIndex].pointsCount = seriesPoints.length;\r\n overloadedSeries[seriesIndex].total = 0;\r\n overloadedSeries[seriesIndex].continuousSeries = 0;\r\n series.push({\r\n name: s.name,\r\n index: seriesIndex,\r\n points: seriesPoints\r\n })\r\n });\r\n return {\r\n series: series,\r\n overloadedSeries: overloadedSeries\r\n }\r\n}\r\nvar isOverlay = (currentPoint, overlayPoint, pointRadius) => {\r\n var pointHitsLeftBorder = overlayPoint.x - pointRadius <= currentPoint.x;\r\n var pointHitsRightBorder = overlayPoint.x + pointRadius >= currentPoint.x;\r\n var pointHitsTopBorder = overlayPoint.y - pointRadius <= currentPoint.y;\r\n var pointHitsBottomBorder = overlayPoint.y + pointRadius >= currentPoint.y;\r\n var isPointOverlappedHorizontally = pointHitsLeftBorder && pointHitsRightBorder;\r\n var isPointOverlappedVertically = pointHitsTopBorder && pointHitsBottomBorder;\r\n return isPointOverlappedHorizontally && isPointOverlappedVertically\r\n};\r\nvar isPointOverlapped = (currentPoint, points, skipSamePointsComparing) => {\r\n var radiusPoint = currentPoint.getOptions().size / 2;\r\n for (var i = 0; i < points.length; i++) {\r\n if (!skipSamePointsComparing) {\r\n var isXCoordinateSame = points[i].x === currentPoint.x;\r\n var isYCoordinateSame = points[i].y === currentPoint.y;\r\n if (isXCoordinateSame && isYCoordinateSame) {\r\n continue\r\n }\r\n }\r\n if (isOverlay(currentPoint, points[i], radiusPoint)) {\r\n return true\r\n }\r\n }\r\n return false\r\n};\r\n\r\nfunction fastHidingPointMarkersByArea(canvas, markersInfo, series) {\r\n var area = canvas.width * canvas.height;\r\n var seriesPoints = markersInfo.series;\r\n var _loop = function(i) {\r\n var currentSeries = series.filter(s => s.name === seriesPoints[i].name)[0];\r\n var points = seriesPoints[i].points;\r\n var pointSize = points.length ? points[0].size : 0;\r\n var pointsArea = pointSize * pointSize * points.length;\r\n if (currentSeries.autoHidePointMarkersEnabled() && pointsArea >= area / seriesPoints.length) {\r\n var index = seriesPoints[i].index;\r\n currentSeries.autoHidePointMarkers = true;\r\n seriesPoints.splice(i, 1);\r\n series.splice(series.indexOf(currentSeries), 1);\r\n delete markersInfo.overloadedSeries[index]\r\n }\r\n };\r\n for (var i = seriesPoints.length - 1; i >= 0; i--) {\r\n _loop(i)\r\n }\r\n}\r\n\r\nfunction updateMarkersInfo(points, overloadedSeries) {\r\n var isContinuousSeries = false;\r\n for (var i = 0; i < points.length - 1; i++) {\r\n var curPoint = points[i];\r\n var size = curPoint.size;\r\n if (_isDefined(curPoint.x) && _isDefined(curPoint.y)) {\r\n for (var j = i + 1; j < points.length; j++) {\r\n var nextPoint = points[j];\r\n var next_x = null === nextPoint || void 0 === nextPoint ? void 0 : nextPoint.x;\r\n var next_y = null === nextPoint || void 0 === nextPoint ? void 0 : nextPoint.y;\r\n if (!_isDefined(next_x) || Math.abs(curPoint.x - next_x) >= size) {\r\n isContinuousSeries &= j !== i + 1;\r\n break\r\n } else {\r\n var distance = _isDefined(next_x) && _isDefined(next_y) && Math.sqrt(Math.pow(curPoint.x - next_x, 2) + Math.pow(curPoint.y - next_y, 2));\r\n if (distance && distance < size) {\r\n overloadedSeries[curPoint.seriesIndex][nextPoint.seriesIndex]++;\r\n overloadedSeries[curPoint.seriesIndex].total++;\r\n if (!isContinuousSeries) {\r\n overloadedSeries[curPoint.seriesIndex].continuousSeries++;\r\n isContinuousSeries = true\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\nvar dxChart = AdvancedChart.inherit({\r\n _themeSection: \"chart\",\r\n _fontFields: [\"crosshair.label.font\"],\r\n _initCore: function() {\r\n this.paneAxis = {};\r\n this.callBase()\r\n },\r\n _init() {\r\n this._containerInitialHeight = hasWindow() ? getHeight(this._$element) : 0;\r\n this.callBase()\r\n },\r\n _correctAxes: function() {\r\n this._correctValueAxes(true)\r\n },\r\n _setDeprecatedOptions() {\r\n this.callBase();\r\n _extend(this._deprecatedOptions, {\r\n \"argumentAxis.aggregateByCategory\": {\r\n since: \"23.1\",\r\n message: \"Use the aggregation.enabled property\"\r\n }\r\n })\r\n },\r\n _getExtraOptions: noop,\r\n _createPanes: function() {\r\n var panes = this.option(\"panes\");\r\n var panesNameCounter = 0;\r\n var defaultPane;\r\n if (!panes || _isArray(panes) && !panes.length) {\r\n panes = DEFAULT_PANES\r\n }\r\n this.callBase();\r\n defaultPane = this.option(\"defaultPane\");\r\n panes = _extend(true, [], _isArray(panes) ? panes : [panes]);\r\n _each(panes, (function(_, pane) {\r\n pane.name = !_isDefined(pane.name) ? DEFAULT_PANE_NAME + panesNameCounter++ : pane.name\r\n }));\r\n if (_isDefined(defaultPane)) {\r\n if (!doesPaneExist(panes, defaultPane)) {\r\n this._incidentOccurred(\"W2101\", [defaultPane]);\r\n defaultPane = panes[panes.length - 1].name\r\n }\r\n } else {\r\n defaultPane = panes[panes.length - 1].name\r\n }\r\n this.defaultPane = defaultPane;\r\n panes = this._isRotated() ? panes.reverse() : panes;\r\n return panes\r\n },\r\n _getAxisRenderingOptions: function() {\r\n return {\r\n axisType: \"xyAxes\",\r\n drawingType: \"linear\"\r\n }\r\n },\r\n _prepareAxisOptions: function(typeSelector, userOptions, rotated) {\r\n return {\r\n isHorizontal: \"argumentAxis\" === typeSelector !== rotated,\r\n containerColor: this._themeManager.getOptions(\"containerBackgroundColor\")\r\n }\r\n },\r\n _checkPaneName: function(seriesTheme) {\r\n var paneList = _map(this.panes, (function(pane) {\r\n return pane.name\r\n }));\r\n seriesTheme.pane = seriesTheme.pane || this.defaultPane;\r\n return paneList.includes(seriesTheme.pane)\r\n },\r\n _initCustomPositioningAxes() {\r\n var that = this;\r\n var argumentAxis = that.getArgumentAxis();\r\n var valueAxisName = argumentAxis.getOptions().customPositionAxis;\r\n var valueAxis = that._valueAxes.filter(v => v.pane === argumentAxis.pane && (!valueAxisName || valueAxisName === v.name))[0];\r\n that._valueAxes.forEach(v => {\r\n if (argumentAxis !== v.getOrthogonalAxis()) {\r\n v.getOrthogonalAxis = () => argumentAxis;\r\n v.customPositionIsBoundaryOrthogonalAxis = () => argumentAxis.customPositionIsBoundary()\r\n }\r\n });\r\n if (_isDefined(valueAxis) && valueAxis !== argumentAxis.getOrthogonalAxis()) {\r\n argumentAxis.getOrthogonalAxis = () => valueAxis;\r\n argumentAxis.customPositionIsBoundaryOrthogonalAxis = () => that._valueAxes.some(v => v.customPositionIsBoundary())\r\n } else if (_isDefined(argumentAxis.getOrthogonalAxis()) && !_isDefined(valueAxis)) {\r\n argumentAxis.getOrthogonalAxis = noop\r\n }\r\n },\r\n _getAllAxes() {\r\n return this._argumentAxes.concat(this._valueAxes)\r\n },\r\n _resetAxesAnimation(isFirstDrawing, isHorizontal) {\r\n var axes = _isDefined(isHorizontal) ? isHorizontal ^ this._isRotated() ? this._argumentAxes : this._valueAxes : this._getAllAxes();\r\n axes.forEach(a => {\r\n a.resetApplyingAnimation(isFirstDrawing)\r\n })\r\n },\r\n _axesBoundaryPositioning() {\r\n var allAxes = this._getAllAxes();\r\n var boundaryStateChanged = false;\r\n allAxes.forEach(a => {\r\n if (!a.customPositionIsAvailable()) {\r\n return false\r\n }\r\n var prevBoundaryState = a.customPositionIsBoundary();\r\n a._customBoundaryPosition = a.getCustomBoundaryPosition();\r\n boundaryStateChanged |= prevBoundaryState !== a.customPositionIsBoundary()\r\n });\r\n return boundaryStateChanged\r\n },\r\n _getCrosshairMargins: function() {\r\n var crosshairOptions = this._getCrosshairOptions() || {};\r\n var crosshairEnabled = crosshairOptions.enabled;\r\n var margins = getMargins();\r\n var horizontalLabel = _extend(true, {}, crosshairOptions.label, crosshairOptions.horizontalLine.label);\r\n var verticalLabel = _extend(true, {}, crosshairOptions.label, crosshairOptions.verticalLine.label);\r\n return {\r\n x: crosshairEnabled && crosshairOptions.horizontalLine.visible && horizontalLabel.visible ? margins.x : 0,\r\n y: crosshairEnabled && crosshairOptions.verticalLine.visible && verticalLabel.visible ? margins.y : 0\r\n }\r\n },\r\n _getValueAxis: function(paneName, axisName) {\r\n var valueAxes = this._valueAxes;\r\n var valueAxisOptions = this.option(\"valueAxis\") || {};\r\n var valueAxesOptions = _isArray(valueAxisOptions) ? valueAxisOptions : [valueAxisOptions];\r\n var rotated = this._isRotated();\r\n var crosshairMargins = this._getCrosshairMargins();\r\n var axisOptions;\r\n var axis;\r\n axisName = axisName || getFirstAxisNameForPane(valueAxes, paneName, this.defaultPane);\r\n axis = findAxis(paneName, axisName, valueAxes);\r\n if (!axis) {\r\n axisOptions = findAxisOptions(valueAxes, valueAxesOptions, axisName);\r\n if (!axisOptions) {\r\n this._incidentOccurred(\"W2102\", [axisName]);\r\n axisOptions = {\r\n name: axisName,\r\n priority: valueAxes.length\r\n }\r\n }\r\n axis = this._createAxis(false, this._populateAxesOptions(\"valueAxis\", axisOptions, {\r\n pane: paneName,\r\n name: axisName,\r\n optionPath: _isArray(valueAxisOptions) ? \"valueAxis[\".concat(axisOptions.priority, \"]\") : \"valueAxis\",\r\n crosshairMargin: rotated ? crosshairMargins.y : crosshairMargins.x\r\n }, rotated));\r\n axis.applyVisualRangeSetter(this._getVisualRangeSetter());\r\n valueAxes.push(axis)\r\n }\r\n axis.setPane(paneName);\r\n return axis\r\n },\r\n _correctValueAxes: function(needHideGrids) {\r\n var that = this;\r\n var synchronizeMultiAxes = that._themeManager.getOptions(\"synchronizeMultiAxes\");\r\n var valueAxes = that._valueAxes;\r\n var paneWithAxis = {};\r\n that.series.forEach((function(series) {\r\n var axis = series.getValueAxis();\r\n paneWithAxis[axis.pane] = true\r\n }));\r\n that.panes.forEach((function(pane) {\r\n var paneName = pane.name;\r\n if (!paneWithAxis[paneName]) {\r\n that._getValueAxis(paneName)\r\n }\r\n if (needHideGrids && synchronizeMultiAxes) {\r\n hideGridsOnNonFirstValueAxisForPane(valueAxes.filter((function(axis) {\r\n return axis.pane === paneName\r\n })))\r\n }\r\n }));\r\n that._valueAxes = valueAxes.filter((function(axis) {\r\n if (!axis.pane) {\r\n axis.setPane(that.defaultPane)\r\n }\r\n var paneExists = doesPaneExist(that.panes, axis.pane);\r\n if (!paneExists) {\r\n axis.dispose();\r\n axis = null\r\n }\r\n return paneExists\r\n })).sort(compareAxes);\r\n var defaultAxis = this.getValueAxis();\r\n that._valueAxes.forEach(axis => {\r\n var optionPath = axis.getOptions().optionPath;\r\n if (optionPath) {\r\n var axesWithSamePath = that._valueAxes.filter(a => a.getOptions().optionPath === optionPath);\r\n if (axesWithSamePath.length > 1) {\r\n if (axesWithSamePath.some(a => a === defaultAxis)) {\r\n axesWithSamePath.forEach(a => {\r\n if (a !== defaultAxis) {\r\n a.getOptions().optionPath = null\r\n }\r\n })\r\n } else {\r\n axesWithSamePath.forEach((a, i) => {\r\n if (0 !== i) {\r\n a.getOptions().optionPath = null\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n },\r\n _getSeriesForPane: function(paneName) {\r\n var paneSeries = [];\r\n _each(this.series, (function(_, oneSeries) {\r\n if (oneSeries.pane === paneName) {\r\n paneSeries.push(oneSeries)\r\n }\r\n }));\r\n return paneSeries\r\n },\r\n _createPanesBorderOptions: function() {\r\n var commonBorderOptions = this._themeManager.getOptions(\"commonPaneSettings\").border;\r\n var panesBorderOptions = {};\r\n this.panes.forEach(pane => panesBorderOptions[pane.name] = _extend(true, {}, commonBorderOptions, pane.border));\r\n return panesBorderOptions\r\n },\r\n _createScrollBar: function() {\r\n var scrollBarOptions = this._themeManager.getOptions(\"scrollBar\") || {};\r\n var scrollBarGroup = this._scrollBarGroup;\r\n if (scrollBarOptions.visible) {\r\n scrollBarOptions.rotated = this._isRotated();\r\n this._scrollBar = (this._scrollBar || new ScrollBar(this._renderer, scrollBarGroup)).update(scrollBarOptions)\r\n } else {\r\n scrollBarGroup.linkRemove();\r\n this._scrollBar && this._scrollBar.dispose();\r\n this._scrollBar = null\r\n }\r\n },\r\n _executeAppendAfterSeries(append) {\r\n append()\r\n },\r\n _prepareToRender(drawOptions) {\r\n var panesBorderOptions = this._createPanesBorderOptions();\r\n this._createPanesBackground();\r\n this._appendAxesGroups();\r\n this._adjustViewport();\r\n return panesBorderOptions\r\n },\r\n _adjustViewport() {\r\n var adjustOnZoom = this._themeManager.getOptions(\"adjustOnZoom\");\r\n if (!adjustOnZoom) {\r\n return\r\n }\r\n this._valueAxes.forEach(axis => axis.adjust())\r\n },\r\n _recreateSizeDependentObjects(isCanvasChanged) {\r\n var that = this;\r\n var series = that._getVisibleSeries();\r\n var useAggregation = series.some(s => s.useAggregation());\r\n var zoomChanged = that._isZooming();\r\n if (!useAggregation) {\r\n return\r\n }\r\n that._argumentAxes.forEach((function(axis) {\r\n axis.updateCanvas(that._canvas, true)\r\n }));\r\n series.forEach((function(series) {\r\n if (series.useAggregation() && (isCanvasChanged || zoomChanged || !series._useAllAggregatedPoints)) {\r\n series.createPoints()\r\n }\r\n }));\r\n that._processSeriesFamilies()\r\n },\r\n _isZooming() {\r\n var argumentAxis = this.getArgumentAxis();\r\n if (!argumentAxis || !argumentAxis.getTranslator()) {\r\n return false\r\n }\r\n var businessRange = argumentAxis.getTranslator().getBusinessRange();\r\n var zoomRange = argumentAxis.getViewport();\r\n var min = zoomRange ? zoomRange.min : 0;\r\n var max = zoomRange ? zoomRange.max : 0;\r\n if (\"logarithmic\" === businessRange.axisType) {\r\n min = getLog(min, businessRange.base);\r\n max = getLog(max, businessRange.base)\r\n }\r\n var viewportDistance = businessRange.axisType === DISCRETE ? getCategoriesInfo(businessRange.categories, min, max).categories.length : Math.abs(max - min);\r\n var precision = getPrecision(viewportDistance);\r\n precision = precision > 1 ? Math.pow(10, precision - 2) : 1;\r\n var zoomChanged = Math.round((this._zoomLength - viewportDistance) * precision) / precision !== 0;\r\n this._zoomLength = viewportDistance;\r\n return zoomChanged\r\n },\r\n _handleSeriesDataUpdated: function() {\r\n var that = this;\r\n var viewport = new Range;\r\n that.series.forEach((function(s) {\r\n viewport.addRange(s.getArgumentRange())\r\n }));\r\n that._argumentAxes.forEach((function(axis) {\r\n axis.updateCanvas(that._canvas, true);\r\n axis.setBusinessRange(viewport, that._axesReinitialized)\r\n }));\r\n that.callBase()\r\n },\r\n _isLegendInside: function() {\r\n return this._legend && \"inside\" === this._legend.getPosition()\r\n },\r\n _isRotated: function() {\r\n return this._themeManager.getOptions(\"rotated\")\r\n },\r\n _getLayoutTargets: function() {\r\n return this.panes\r\n },\r\n _applyClipRects: function(panesBorderOptions) {\r\n this._drawPanesBorders(panesBorderOptions);\r\n this._createClipRectsForPanes();\r\n this._applyClipRectsForAxes();\r\n this._fillPanesBackground()\r\n },\r\n _updateLegendPosition: function(drawOptions, legendHasInsidePosition) {\r\n if (drawOptions.drawLegend && this._legend && legendHasInsidePosition) {\r\n var panes = this.panes;\r\n var newCanvas = _extend({}, panes[0].canvas);\r\n var layoutManager = new LayoutManager;\r\n newCanvas.right = panes[panes.length - 1].canvas.right;\r\n newCanvas.bottom = panes[panes.length - 1].canvas.bottom;\r\n layoutManager.layoutInsideLegend(this._legend, newCanvas)\r\n }\r\n },\r\n _allowLegendInsidePosition: () => true,\r\n _applyExtraSettings: function(series) {\r\n var paneIndex = this._getPaneIndex(series.pane);\r\n var panesClipRects = this._panesClipRects;\r\n var wideClipRect = panesClipRects.wide[paneIndex];\r\n series.setClippingParams(panesClipRects.base[paneIndex].id, wideClipRect && wideClipRect.id, this._getPaneBorderVisibility(paneIndex))\r\n },\r\n _updatePanesCanvases: function(drawOptions) {\r\n if (!drawOptions.recreateCanvas) {\r\n return\r\n }\r\n updatePanesCanvases(this.panes, this._canvas, this._isRotated())\r\n },\r\n _normalizePanesHeight: function() {\r\n normalizePanesHeight(this.panes)\r\n },\r\n _renderScaleBreaks: function() {\r\n this._valueAxes.concat(this._argumentAxes).forEach((function(axis) {\r\n axis.drawScaleBreaks()\r\n }))\r\n },\r\n _getArgFilter() {\r\n return rangeDataCalculator.getViewPortFilter(this.getArgumentAxis().visualRange() || {})\r\n },\r\n _hidePointsForSingleSeriesIfNeeded(series) {\r\n var seriesPoints = series.getPoints();\r\n var overlappedPointsCount = 0;\r\n for (var i = 0; i < seriesPoints.length; i++) {\r\n var currentPoint = seriesPoints[i];\r\n var overlappingPoints = seriesPoints.slice(i + 1);\r\n overlappedPointsCount += isPointOverlapped(currentPoint, overlappingPoints);\r\n if (overlappedPointsCount > seriesPoints.length / 2) {\r\n series.autoHidePointMarkers = true;\r\n break\r\n }\r\n }\r\n },\r\n _applyAutoHidePointMarkers(filteredSeries) {\r\n var overlappingPoints = [];\r\n for (var i = filteredSeries.length - 1; i >= 0; i--) {\r\n var currentSeries = filteredSeries[i];\r\n if (!currentSeries.autoHidePointMarkersEnabled()) {\r\n continue\r\n }\r\n currentSeries.autoHidePointMarkers = false;\r\n this._hidePointsForSingleSeriesIfNeeded(currentSeries);\r\n if (!currentSeries.autoHidePointMarkers) {\r\n var seriesPoints = currentSeries.getPoints();\r\n var overlappingPointsCount = seriesPoints.reduce((pointsCount, currentPoint) => pointsCount + isPointOverlapped(currentPoint, overlappingPoints, true), 0);\r\n if (overlappingPointsCount < seriesPoints.length) {\r\n overlappingPoints = overlappingPoints.concat(seriesPoints)\r\n } else {\r\n currentSeries.autoHidePointMarkers = true\r\n }\r\n }\r\n }\r\n },\r\n _applyPointMarkersAutoHiding() {\r\n var that = this;\r\n var allSeries = that.series;\r\n if (!that._themeManager.getOptions(\"autoHidePointMarkers\")) {\r\n allSeries.forEach(s => s.autoHidePointMarkers = false);\r\n return\r\n }\r\n that.panes.forEach(_ref => {\r\n var {\r\n borderCoords: borderCoords,\r\n name: name\r\n } = _ref;\r\n var series = allSeries.filter(s => s.pane === name && s.usePointsToDefineAutoHiding());\r\n series.forEach(singleSeries => {\r\n singleSeries.prepareCoordinatesForPoints()\r\n });\r\n var argAxis = that.getArgumentAxis();\r\n var markersInfo = collectMarkersInfoBySeries(allSeries, series, argAxis);\r\n fastHidingPointMarkersByArea(borderCoords, markersInfo, series);\r\n if (markersInfo.series.length) {\r\n var argVisualRange = argAxis.visualRange();\r\n var argAxisIsDiscrete = argAxis.getOptions().type === DISCRETE;\r\n var sortingCallback = argAxisIsDiscrete ? (p1, p2) => argVisualRange.categories.indexOf(p1.argument) - argVisualRange.categories.indexOf(p2.argument) : (p1, p2) => p1.argument - p2.argument;\r\n var points = [];\r\n markersInfo.series.forEach(s => points = points.concat(s.points));\r\n points.sort(sortingCallback);\r\n updateMarkersInfo(points, markersInfo.overloadedSeries);\r\n that._applyAutoHidePointMarkers(series)\r\n }\r\n })\r\n },\r\n _renderAxes: function(drawOptions, panesBorderOptions) {\r\n function calculateTitlesWidth(axes) {\r\n return axes.map(axis => {\r\n if (!axis.getTitle) {\r\n return 0\r\n }\r\n var title = axis.getTitle();\r\n return title ? title.bBox.width : 0\r\n })\r\n }\r\n var that = this;\r\n var rotated = that._isRotated();\r\n var synchronizeMultiAxes = that._themeManager.getOptions(\"synchronizeMultiAxes\");\r\n var scrollBar = that._scrollBar ? [that._scrollBar] : [];\r\n var extendedArgAxes = that._isArgumentAxisBeforeScrollBar() ? that._argumentAxes.concat(scrollBar) : scrollBar.concat(that._argumentAxes);\r\n var verticalAxes = rotated ? that._argumentAxes : that._valueAxes;\r\n var verticalElements = rotated ? extendedArgAxes : that._valueAxes;\r\n var horizontalAxes = rotated ? that._valueAxes : that._argumentAxes;\r\n var horizontalElements = rotated ? that._valueAxes : extendedArgAxes;\r\n var allAxes = verticalAxes.concat(horizontalAxes);\r\n var allElements = allAxes.concat(scrollBar);\r\n var verticalAxesFirstDrawing = verticalAxes.some(v => v.isFirstDrawing());\r\n that._normalizePanesHeight();\r\n that._updatePanesCanvases(drawOptions);\r\n var panesCanvases = that.panes.reduce((function(canvases, pane) {\r\n canvases[pane.name] = _extend({}, pane.canvas);\r\n return canvases\r\n }), {});\r\n var paneSizes = that.panes.reduce((sizes, pane) => {\r\n sizes[pane.name] = {\r\n height: pane.height,\r\n unit: pane.unit\r\n };\r\n return sizes\r\n }, {});\r\n var cleanPanesCanvases = _extend(true, {}, panesCanvases);\r\n that._initCustomPositioningAxes();\r\n var needCustomAdjustAxes = that._axesBoundaryPositioning();\r\n if (!drawOptions.adjustAxes && !needCustomAdjustAxes) {\r\n drawAxesWithTicks(verticalAxes, !rotated && synchronizeMultiAxes, panesCanvases, panesBorderOptions);\r\n drawAxesWithTicks(horizontalAxes, rotated && synchronizeMultiAxes, panesCanvases, panesBorderOptions);\r\n performActionOnAxes(allAxes, \"prepareAnimation\");\r\n that._renderScaleBreaks();\r\n horizontalAxes.forEach(a => a.resolveOverlappingForCustomPositioning(verticalAxes));\r\n verticalAxes.forEach(a => a.resolveOverlappingForCustomPositioning(horizontalAxes));\r\n return false\r\n }\r\n if (needCustomAdjustAxes) {\r\n allAxes.forEach(a => a.customPositionIsAvailable() && a.shift({\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n right: 0\r\n }))\r\n }\r\n if (that._scrollBar) {\r\n that._scrollBar.setPane(that.panes)\r\n }\r\n var vAxesMargins = {\r\n panes: {}\r\n };\r\n var hAxesMargins = getHorizontalAxesMargins(horizontalElements, axis => axis.estimateMargins(panesCanvases[axis.pane]));\r\n panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins);\r\n var drawAxesAndSetCanvases = isHorizontal => {\r\n var axes = isHorizontal ? horizontalAxes : verticalAxes;\r\n var condition = (isHorizontal ? rotated : !rotated) && synchronizeMultiAxes;\r\n drawAxesWithTicks(axes, condition, panesCanvases, panesBorderOptions);\r\n if (isHorizontal) {\r\n hAxesMargins = getHorizontalAxesMargins(horizontalElements, getAxisMargins)\r\n } else {\r\n vAxesMargins = getVerticalAxesMargins(verticalElements)\r\n }\r\n panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins)\r\n };\r\n drawAxesAndSetCanvases(false);\r\n drawAxesAndSetCanvases(true);\r\n if (!that._changesApplying && that._estimateTickIntervals(verticalAxes, panesCanvases)) {\r\n drawAxesAndSetCanvases(false)\r\n }\r\n var oldTitlesWidth = calculateTitlesWidth(verticalAxes);\r\n var visibleSeries = that._getVisibleSeries();\r\n var pointsToAnimation = that._getPointsToAnimation(visibleSeries);\r\n var axesIsAnimated = axisAnimationEnabled(drawOptions, pointsToAnimation);\r\n performActionOnAxes(allElements, \"updateSize\", panesCanvases, axesIsAnimated);\r\n horizontalElements.forEach(shiftAxis(\"top\", \"bottom\"));\r\n verticalElements.forEach(shiftAxis(\"left\", \"right\"));\r\n that._renderScaleBreaks();\r\n that.panes.forEach((function(pane) {\r\n _extend(pane.canvas, panesCanvases[pane.name])\r\n }));\r\n that._valueAxes.forEach(axis => {\r\n axis.setInitRange()\r\n });\r\n verticalAxes.forEach((axis, i) => {\r\n var _axis$hasWrap;\r\n if (null !== (_axis$hasWrap = axis.hasWrap) && void 0 !== _axis$hasWrap && _axis$hasWrap.call(axis)) {\r\n var title = axis.getTitle();\r\n var newTitleWidth = title ? title.bBox.width : 0;\r\n var offset = newTitleWidth - oldTitlesWidth[i];\r\n if (\"right\" === axis.getOptions().position) {\r\n vAxesMargins.right += offset\r\n } else {\r\n vAxesMargins.left += offset;\r\n that.panes.forEach(_ref2 => {\r\n var {\r\n name: name\r\n } = _ref2;\r\n return vAxesMargins.panes[name].left += offset\r\n })\r\n }\r\n panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, vAxesMargins, hAxesMargins);\r\n performActionOnAxes(allElements, \"updateSize\", panesCanvases, false, false);\r\n oldTitlesWidth = calculateTitlesWidth(verticalAxes)\r\n }\r\n });\r\n if (verticalAxes.some(v => v.customPositionIsAvailable() && v.getCustomPosition() !== v._axisPosition)) {\r\n axesIsAnimated && that._resetAxesAnimation(verticalAxesFirstDrawing, false);\r\n performActionOnAxes(verticalAxes, \"updateSize\", panesCanvases, axesIsAnimated)\r\n }\r\n horizontalAxes.forEach(a => a.resolveOverlappingForCustomPositioning(verticalAxes));\r\n verticalAxes.forEach(a => a.resolveOverlappingForCustomPositioning(horizontalAxes));\r\n return cleanPanesCanvases\r\n },\r\n _getExtraTemplatesItems() {\r\n var allAxes = (this._argumentAxes || []).concat(this._valueAxes || []);\r\n var elements = this._collectTemplatesFromItems(allAxes);\r\n return {\r\n items: elements.items,\r\n groups: elements.groups,\r\n launchRequest() {\r\n allAxes.forEach((function(a) {\r\n a.setRenderedState(true)\r\n }))\r\n },\r\n doneRequest() {\r\n allAxes.forEach((function(a) {\r\n a.setRenderedState(false)\r\n }))\r\n }\r\n }\r\n },\r\n _estimateTickIntervals: (axes, canvases) => axes.some(axis => axis.estimateTickInterval(canvases[axis.pane])),\r\n checkForMoreSpaceForPanesCanvas() {\r\n var rotated = this._isRotated();\r\n var panesAreCustomSized = this.panes.filter(p => p.unit).length === this.panes.length;\r\n var needSpace = false;\r\n if (panesAreCustomSized) {\r\n var needHorizontalSpace = 0;\r\n var needVerticalSpace = 0;\r\n if (rotated) {\r\n var argAxisRightMargin = this.getArgumentAxis().getMargins().right;\r\n var rightPanesIndent = Math.min.apply(Math, this.panes.map(p => p.canvas.right));\r\n needHorizontalSpace = this._canvas.right + argAxisRightMargin - rightPanesIndent\r\n } else {\r\n var argAxisBottomMargin = this.getArgumentAxis().getMargins().bottom;\r\n var bottomPanesIndent = Math.min.apply(Math, this.panes.map(p => p.canvas.bottom));\r\n needVerticalSpace = this._canvas.bottom + argAxisBottomMargin - bottomPanesIndent\r\n }\r\n needSpace = needHorizontalSpace > 0 || needVerticalSpace > 0 ? {\r\n width: needHorizontalSpace,\r\n height: needVerticalSpace\r\n } : false;\r\n if (0 !== needVerticalSpace) {\r\n var realSize = this.getSize();\r\n var customSize = this.option(\"size\");\r\n var container = this._$element[0];\r\n var containerHasStyledHeight = !!parseInt(container.style.height) || 0 !== this._containerInitialHeight;\r\n if (!rotated && !(customSize && customSize.height) && !containerHasStyledHeight) {\r\n this._forceResize(realSize.width, realSize.height + needVerticalSpace);\r\n needSpace = false\r\n }\r\n }\r\n } else {\r\n needSpace = this.layoutManager.needMoreSpaceForPanesCanvas(this._getLayoutTargets(), rotated, pane => ({\r\n width: rotated && !!pane.unit,\r\n height: !rotated && !!pane.unit\r\n }))\r\n }\r\n return needSpace\r\n },\r\n _forceResize(width, height) {\r\n this._renderer.resize(width, height);\r\n this._updateSize();\r\n this._setContentSize();\r\n this._preserveOriginalCanvas();\r\n this._updateCanvasClipRect(this._canvas)\r\n },\r\n _shrinkAxes(sizeShortage, panesCanvases) {\r\n if (!sizeShortage || !panesCanvases) {\r\n return\r\n }\r\n this._renderer.stopAllAnimations(true);\r\n var rotated = this._isRotated();\r\n var scrollBar = this._scrollBar ? [this._scrollBar] : [];\r\n var extendedArgAxes = this._isArgumentAxisBeforeScrollBar() ? this._argumentAxes.concat(scrollBar) : scrollBar.concat(this._argumentAxes);\r\n var verticalAxes = rotated ? extendedArgAxes : this._valueAxes;\r\n var horizontalAxes = rotated ? this._valueAxes : extendedArgAxes;\r\n var allAxes = verticalAxes.concat(horizontalAxes);\r\n if (sizeShortage.width || sizeShortage.height) {\r\n checkUsedSpace(sizeShortage, \"height\", horizontalAxes, getHorizontalAxesMargins);\r\n checkUsedSpace(sizeShortage, \"width\", verticalAxes, getVerticalAxesMargins);\r\n performActionOnAxes(allAxes, \"updateSize\", panesCanvases);\r\n var paneSizes = this.panes.reduce((sizes, pane) => {\r\n sizes[pane.name] = {\r\n height: pane.height,\r\n unit: pane.unit\r\n };\r\n return sizes\r\n }, {});\r\n panesCanvases = shrinkCanvases(rotated, panesCanvases, paneSizes, getVerticalAxesMargins(verticalAxes), getHorizontalAxesMargins(horizontalAxes, getAxisMargins));\r\n performActionOnAxes(allAxes, \"updateSize\", panesCanvases);\r\n horizontalAxes.forEach(shiftAxis(\"top\", \"bottom\"));\r\n verticalAxes.forEach(shiftAxis(\"left\", \"right\"));\r\n this.panes.forEach(pane => _extend(pane.canvas, panesCanvases[pane.name]))\r\n }\r\n },\r\n _isArgumentAxisBeforeScrollBar() {\r\n var argumentAxis = this.getArgumentAxis();\r\n if (this._scrollBar) {\r\n var _argumentAxis$getOpti;\r\n var argAxisPosition = argumentAxis.getResolvedBoundaryPosition();\r\n var argAxisLabelPosition = null === (_argumentAxis$getOpti = argumentAxis.getOptions().label) || void 0 === _argumentAxis$getOpti ? void 0 : _argumentAxis$getOpti.position;\r\n var scrollBarPosition = this._scrollBar.getOptions().position;\r\n return argumentAxis.hasNonBoundaryPosition() || scrollBarPosition === argAxisPosition && argAxisLabelPosition !== scrollBarPosition\r\n }\r\n return false\r\n },\r\n _getPanesParameters: function() {\r\n var panes = this.panes;\r\n var i;\r\n var params = [];\r\n for (i = 0; i < panes.length; i++) {\r\n if (this._getPaneBorderVisibility(i)) {\r\n params.push({\r\n coords: panes[i].borderCoords,\r\n clipRect: this._panesClipRects.fixed[i]\r\n })\r\n }\r\n }\r\n return params\r\n },\r\n _createCrosshairCursor: function() {\r\n var options = this._themeManager.getOptions(\"crosshair\") || {};\r\n var argumentAxis = this.getArgumentAxis();\r\n var axes = !this._isRotated() ? [\r\n [argumentAxis], this._valueAxes\r\n ] : [this._valueAxes, [argumentAxis]];\r\n var parameters = {\r\n canvas: this._getCommonCanvas(),\r\n panes: this._getPanesParameters(),\r\n axes: axes\r\n };\r\n if (!options || !options.enabled) {\r\n return\r\n }\r\n if (!this._crosshair) {\r\n this._crosshair = new Crosshair(this._renderer, options, parameters, this._crosshairCursorGroup)\r\n } else {\r\n this._crosshair.update(options, parameters)\r\n }\r\n this._crosshair.render()\r\n },\r\n _getCommonCanvas: function() {\r\n var i;\r\n var canvas;\r\n var commonCanvas;\r\n var panes = this.panes;\r\n for (i = 0; i < panes.length; i++) {\r\n canvas = panes[i].canvas;\r\n if (!commonCanvas) {\r\n commonCanvas = _extend({}, canvas)\r\n } else {\r\n commonCanvas.right = canvas.right;\r\n commonCanvas.bottom = canvas.bottom\r\n }\r\n }\r\n return commonCanvas\r\n },\r\n _createPanesBackground: function() {\r\n var defaultBackgroundColor = this._themeManager.getOptions(\"commonPaneSettings\").backgroundColor;\r\n var backgroundColor;\r\n var renderer = this._renderer;\r\n var rect;\r\n var i;\r\n var rects = [];\r\n this._panesBackgroundGroup.clear();\r\n for (i = 0; i < this.panes.length; i++) {\r\n backgroundColor = this.panes[i].backgroundColor || defaultBackgroundColor;\r\n if (!backgroundColor || \"none\" === backgroundColor) {\r\n rects.push(null);\r\n continue\r\n }\r\n rect = renderer.rect(0, 0, 0, 0).attr({\r\n fill: extractColor(backgroundColor),\r\n \"stroke-width\": 0\r\n }).append(this._panesBackgroundGroup);\r\n rects.push(rect)\r\n }\r\n this.panesBackground = rects\r\n },\r\n _fillPanesBackground: function() {\r\n var that = this;\r\n var bc;\r\n _each(that.panes, (function(i, pane) {\r\n bc = pane.borderCoords;\r\n if (null !== that.panesBackground[i]) {\r\n that.panesBackground[i].attr({\r\n x: bc.left,\r\n y: bc.top,\r\n width: bc.width,\r\n height: bc.height\r\n })\r\n }\r\n }))\r\n },\r\n _calcPaneBorderCoords: function(pane) {\r\n var canvas = pane.canvas;\r\n var bc = pane.borderCoords = pane.borderCoords || {};\r\n bc.left = canvas.left;\r\n bc.top = canvas.top;\r\n bc.right = canvas.width - canvas.right;\r\n bc.bottom = canvas.height - canvas.bottom;\r\n bc.width = Math.max(bc.right - bc.left, 0);\r\n bc.height = Math.max(bc.bottom - bc.top, 0)\r\n },\r\n _drawPanesBorders: function(panesBorderOptions) {\r\n var that = this;\r\n var rotated = that._isRotated();\r\n that._panesBorderGroup.linkRemove().clear();\r\n _each(that.panes, (function(i, pane) {\r\n var borderOptions = panesBorderOptions[pane.name];\r\n var attr = {\r\n fill: \"none\",\r\n stroke: borderOptions.color,\r\n \"stroke-opacity\": borderOptions.opacity,\r\n \"stroke-width\": borderOptions.width,\r\n dashStyle: borderOptions.dashStyle,\r\n \"stroke-linecap\": \"square\"\r\n };\r\n that._calcPaneBorderCoords(pane, rotated);\r\n if (!borderOptions.visible) {\r\n return\r\n }\r\n var bc = pane.borderCoords;\r\n var segmentRectParams = prepareSegmentRectPoints(bc.left, bc.top, bc.width, bc.height, borderOptions);\r\n that._renderer.path(segmentRectParams.points, segmentRectParams.pathType).attr(attr).append(that._panesBorderGroup)\r\n }));\r\n that._panesBorderGroup.linkAppend()\r\n },\r\n _createClipRect: function(clipArray, index, left, top, width, height) {\r\n var clipRect = clipArray[index];\r\n if (!clipRect) {\r\n clipRect = this._renderer.clipRect(left, top, width, height);\r\n clipArray[index] = clipRect\r\n } else {\r\n clipRect.attr({\r\n x: left,\r\n y: top,\r\n width: width,\r\n height: height\r\n })\r\n }\r\n },\r\n _createClipRectsForPanes: function() {\r\n var that = this;\r\n var canvas = that._canvas;\r\n _each(that.panes, (function(i, pane) {\r\n var needWideClipRect = false;\r\n var bc = pane.borderCoords;\r\n var left = bc.left;\r\n var top = bc.top;\r\n var width = bc.width;\r\n var height = bc.height;\r\n var panesClipRects = that._panesClipRects;\r\n that._createClipRect(panesClipRects.fixed, i, left, top, width, height);\r\n that._createClipRect(panesClipRects.base, i, left, top, width, height);\r\n _each(that.series, (function(_, series) {\r\n if (series.pane === pane.name && (series.isFinancialSeries() || series.areErrorBarsVisible())) {\r\n needWideClipRect = true\r\n }\r\n }));\r\n if (needWideClipRect) {\r\n if (that._isRotated()) {\r\n top = 0;\r\n height = canvas.height\r\n } else {\r\n left = 0;\r\n width = canvas.width\r\n }\r\n that._createClipRect(panesClipRects.wide, i, left, top, width, height)\r\n } else {\r\n panesClipRects.wide[i] = null\r\n }\r\n }))\r\n },\r\n _applyClipRectsForAxes() {\r\n var axes = this._getAllAxes();\r\n var chartCanvasClipRectID = this._getCanvasClipRectID();\r\n for (var i = 0; i < axes.length; i++) {\r\n var elementsClipRectID = this._getElementsClipRectID(axes[i].pane);\r\n axes[i].applyClipRects(elementsClipRectID, chartCanvasClipRectID)\r\n }\r\n },\r\n _getPaneBorderVisibility: function(paneIndex) {\r\n var commonPaneBorderVisible = this._themeManager.getOptions(\"commonPaneSettings\").border.visible;\r\n var pane = this.panes[paneIndex] || {};\r\n var paneBorder = pane.border || {};\r\n return \"visible\" in paneBorder ? paneBorder.visible : commonPaneBorderVisible\r\n },\r\n _getCanvasForPane: function(paneName) {\r\n var panes = this.panes;\r\n var panesNumber = panes.length;\r\n var i;\r\n for (i = 0; i < panesNumber; i++) {\r\n if (panes[i].name === paneName) {\r\n return panes[i].canvas\r\n }\r\n }\r\n },\r\n _getTrackerSettings: function() {\r\n var themeManager = this._themeManager;\r\n return _extend(this.callBase(), {\r\n chart: this,\r\n rotated: this._isRotated(),\r\n crosshair: this._getCrosshairOptions().enabled ? this._crosshair : null,\r\n stickyHovering: themeManager.getOptions(\"stickyHovering\")\r\n })\r\n },\r\n _resolveLabelOverlappingStack: function() {\r\n var that = this;\r\n var isRotated = that._isRotated();\r\n var shiftDirection = isRotated ? function(box, length) {\r\n return {\r\n x: box.x - length,\r\n y: box.y\r\n }\r\n } : function(box, length) {\r\n return {\r\n x: box.x,\r\n y: box.y - length\r\n }\r\n };\r\n _each(that._getStackPoints(), (function(_, stacks) {\r\n _each(stacks, (function(_, points) {\r\n var isInverted = points[0].series.getValueAxis().getOptions().inverted;\r\n overlapping.resolveLabelOverlappingInOneDirection(points, that._getCommonCanvas(), isRotated, isInverted, shiftDirection, (a, b) => {\r\n var coordPosition = isRotated ? 1 : 0;\r\n var figureCenter1 = a.labels[0].getFigureCenter()[coordPosition];\r\n var figureCenter12 = b.labels[0].getFigureCenter()[coordPosition];\r\n if (figureCenter1 - figureCenter12 === 0) {\r\n return (a.value() - b.value()) * (a.labels[0].getPoint().series.getValueAxis().getTranslator().isInverted() ? -1 : 1)\r\n }\r\n return 0\r\n })\r\n }))\r\n }))\r\n },\r\n _getStackPoints: function() {\r\n var stackPoints = {};\r\n var visibleSeries = this._getVisibleSeries();\r\n _each(visibleSeries, (function(_, singleSeries) {\r\n var points = singleSeries.getPoints();\r\n var stackName = singleSeries.getStackName() || null;\r\n _each(points, (function(_, point) {\r\n var argument = point.argument;\r\n if (!stackPoints[argument]) {\r\n stackPoints[argument] = {}\r\n }\r\n if (!stackPoints[argument][stackName]) {\r\n stackPoints[argument][stackName] = []\r\n }\r\n stackPoints[argument][stackName].push(point)\r\n }))\r\n }));\r\n return stackPoints\r\n },\r\n _getCrosshairOptions: function() {\r\n return this._getOption(\"crosshair\")\r\n },\r\n zoomArgument(min, max) {\r\n if (!this._initialized || !_isDefined(min) && !_isDefined(max)) {\r\n return\r\n }\r\n this.getArgumentAxis().visualRange([min, max])\r\n },\r\n resetVisualRange() {\r\n var that = this;\r\n var axes = that._argumentAxes;\r\n var nonVirtualArgumentAxis = that.getArgumentAxis();\r\n axes.forEach(axis => {\r\n axis.resetVisualRange(nonVirtualArgumentAxis !== axis);\r\n that._applyCustomVisualRangeOption(axis)\r\n });\r\n that.callBase()\r\n },\r\n getVisibleArgumentBounds: function() {\r\n var translator = this._argumentAxes[0].getTranslator();\r\n var range = translator.getBusinessRange();\r\n var isDiscrete = range.axisType === DISCRETE;\r\n var categories = range.categories;\r\n return {\r\n minVisible: isDiscrete ? range.minVisible || categories[0] : range.minVisible,\r\n maxVisible: isDiscrete ? range.maxVisible || categories[categories.length - 1] : range.maxVisible\r\n }\r\n },\r\n _change_FULL_RENDER() {\r\n this.callBase();\r\n if (this._changes.has(VISUAL_RANGE)) {\r\n this._raiseZoomEndHandlers()\r\n }\r\n },\r\n _getAxesForScaling() {\r\n return [this.getArgumentAxis()].concat(this._valueAxes)\r\n },\r\n _applyVisualRangeByVirtualAxes(axis, range) {\r\n if (axis.isArgumentAxis) {\r\n if (axis !== this.getArgumentAxis()) {\r\n return true\r\n }\r\n this._argumentAxes.filter(a => a !== axis).forEach(a => a.visualRange(range, {\r\n start: true,\r\n end: true\r\n }))\r\n }\r\n return false\r\n },\r\n _raiseZoomEndHandlers() {\r\n this._argumentAxes.forEach(axis => axis.handleZoomEnd());\r\n this.callBase()\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n _extend(this._optionsByReference, {\r\n \"argumentAxis.visualRange\": true\r\n })\r\n },\r\n option() {\r\n var option = this.callBase.apply(this, arguments);\r\n var valueAxis = this._options.silent(\"valueAxis\");\r\n if (\"array\" === type(valueAxis)) {\r\n for (var i = 0; i < valueAxis.length; i++) {\r\n var optionPath = \"valueAxis[\".concat(i, \"].visualRange\");\r\n this._optionsByReference[optionPath] = true\r\n }\r\n }\r\n return option\r\n },\r\n _notifyVisualRange() {\r\n var argAxis = this._argumentAxes[0];\r\n var argumentVisualRange = convertVisualRangeObject(argAxis.visualRange(), !_isArray(this.option(\"argumentAxis.visualRange\")));\r\n if (!argAxis.skipEventRising || !rangesAreEqual(argumentVisualRange, this.option(\"argumentAxis.visualRange\"))) {\r\n this.option(\"argumentAxis.visualRange\", argumentVisualRange)\r\n } else {\r\n argAxis.skipEventRising = null\r\n }\r\n this.callBase()\r\n }\r\n});\r\nimport shutterZoom from \"./chart_components/shutter_zoom\";\r\nimport zoomAndPan from \"./chart_components/zoom_and_pan\";\r\nimport {\r\n plugins\r\n} from \"./core/annotations\";\r\ndxChart.addPlugin(shutterZoom);\r\ndxChart.addPlugin(zoomAndPan);\r\ndxChart.addPlugin(plugins.core);\r\ndxChart.addPlugin(plugins.chart);\r\nregisterComponent(\"dxChart\", dxChart);\r\nexport default dxChart;\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticStyle:{\"position\":\"relative\",\"float\":\"right\"}},[_c('search',{ref:\"search-component\",staticStyle:{\"width\":\"275px\"},on:{\"search\":_vm.search}})],1),_c('br'),_c('br'),_c('dx-tree-list',{attrs:{\"data-source\":_vm.projects,\"key-expr\":\"PrCode\",\"height\":\"300px\",\"focused-row-enabled\":true,\"focused-row-key\":_vm.focusedRow},on:{\"update:focusedRowKey\":function($event){_vm.focusedRow=$event},\"update:focused-row-key\":function($event){_vm.focusedRow=$event},\"row-dbl-click\":_vm.onRowDblClick}},[_c('dx-scrolling',{attrs:{\"mode\":\"standard\"}}),_c('dx-column',{attrs:{\"data-field\":\"PrCode\",\"caption\":_vm.$t('columnTitles.ProjectCode')}}),_c('dx-column',{attrs:{\"data-field\":\"PrName\",\"caption\":_vm.$t('columnTitles.MpName')}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectSelectDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectSelectDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./projectSelectDialog.vue?vue&type=template&id=684af0bb&scoped=true\"\nimport script from \"./projectSelectDialog.vue?vue&type=script&lang=js\"\nexport * from \"./projectSelectDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./projectSelectDialog.vue?vue&type=style&index=0&id=684af0bb&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"684af0bb\",\n null\n \n)\n\nexport default component.exports","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/geom/MultiLineString\n */\nimport GeometryLayout from './GeometryLayout.js';\nimport LineString from './LineString.js';\nimport SimpleGeometry from './SimpleGeometry.js';\nimport { arrayMaxSquaredDelta, assignClosestArrayPoint } from './flat/closest.js';\nimport { closestSquaredDistanceXY } from '../extent.js';\nimport { deflateCoordinatesArray } from './flat/deflate.js';\nimport { douglasPeuckerArray } from './flat/simplify.js';\nimport { extend } from '../array.js';\nimport { inflateCoordinatesArray } from './flat/inflate.js';\nimport { interpolatePoint, lineStringsCoordinateAtM, } from './flat/interpolate.js';\nimport { intersectsLineStringArray } from './flat/intersectsextent.js';\n/**\n * @classdesc\n * Multi-linestring geometry.\n *\n * @api\n */\nvar MultiLineString = /** @class */ (function (_super) {\n __extends(MultiLineString, _super);\n /**\n * @param {Array|LineString>|Array} coordinates\n * Coordinates or LineString geometries. (For internal use, flat coordinates in\n * combination with `opt_layout` and `opt_ends` are also accepted.)\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n * @param {Array} [opt_ends] Flat coordinate ends for internal use.\n */\n function MultiLineString(coordinates, opt_layout, opt_ends) {\n var _this = _super.call(this) || this;\n /**\n * @type {Array}\n * @private\n */\n _this.ends_ = [];\n /**\n * @private\n * @type {number}\n */\n _this.maxDelta_ = -1;\n /**\n * @private\n * @type {number}\n */\n _this.maxDeltaRevision_ = -1;\n if (Array.isArray(coordinates[0])) {\n _this.setCoordinates(\n /** @type {Array>} */ (coordinates), opt_layout);\n }\n else if (opt_layout !== undefined && opt_ends) {\n _this.setFlatCoordinates(opt_layout, \n /** @type {Array} */ (coordinates));\n _this.ends_ = opt_ends;\n }\n else {\n var layout = _this.getLayout();\n var lineStrings = /** @type {Array} */ (coordinates);\n var flatCoordinates = [];\n var ends = [];\n for (var i = 0, ii = lineStrings.length; i < ii; ++i) {\n var lineString = lineStrings[i];\n if (i === 0) {\n layout = lineString.getLayout();\n }\n extend(flatCoordinates, lineString.getFlatCoordinates());\n ends.push(flatCoordinates.length);\n }\n _this.setFlatCoordinates(layout, flatCoordinates);\n _this.ends_ = ends;\n }\n return _this;\n }\n /**\n * Append the passed linestring to the multilinestring.\n * @param {LineString} lineString LineString.\n * @api\n */\n MultiLineString.prototype.appendLineString = function (lineString) {\n if (!this.flatCoordinates) {\n this.flatCoordinates = lineString.getFlatCoordinates().slice();\n }\n else {\n extend(this.flatCoordinates, lineString.getFlatCoordinates().slice());\n }\n this.ends_.push(this.flatCoordinates.length);\n this.changed();\n };\n /**\n * Make a complete copy of the geometry.\n * @return {!MultiLineString} Clone.\n * @api\n */\n MultiLineString.prototype.clone = function () {\n var multiLineString = new MultiLineString(this.flatCoordinates.slice(), this.layout, this.ends_.slice());\n multiLineString.applyProperties(this);\n return multiLineString;\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../coordinate.js\").Coordinate} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @return {number} Minimum squared distance.\n */\n MultiLineString.prototype.closestPointXY = function (x, y, closestPoint, minSquaredDistance) {\n if (minSquaredDistance < closestSquaredDistanceXY(this.getExtent(), x, y)) {\n return minSquaredDistance;\n }\n if (this.maxDeltaRevision_ != this.getRevision()) {\n this.maxDelta_ = Math.sqrt(arrayMaxSquaredDelta(this.flatCoordinates, 0, this.ends_, this.stride, 0));\n this.maxDeltaRevision_ = this.getRevision();\n }\n return assignClosestArrayPoint(this.flatCoordinates, 0, this.ends_, this.stride, this.maxDelta_, false, x, y, closestPoint, minSquaredDistance);\n };\n /**\n * Returns the coordinate at `m` using linear interpolation, or `null` if no\n * such coordinate exists.\n *\n * `opt_extrapolate` controls extrapolation beyond the range of Ms in the\n * MultiLineString. If `opt_extrapolate` is `true` then Ms less than the first\n * M will return the first coordinate and Ms greater than the last M will\n * return the last coordinate.\n *\n * `opt_interpolate` controls interpolation between consecutive LineStrings\n * within the MultiLineString. If `opt_interpolate` is `true` the coordinates\n * will be linearly interpolated between the last coordinate of one LineString\n * and the first coordinate of the next LineString. If `opt_interpolate` is\n * `false` then the function will return `null` for Ms falling between\n * LineStrings.\n *\n * @param {number} m M.\n * @param {boolean} [opt_extrapolate] Extrapolate. Default is `false`.\n * @param {boolean} [opt_interpolate] Interpolate. Default is `false`.\n * @return {import(\"../coordinate.js\").Coordinate|null} Coordinate.\n * @api\n */\n MultiLineString.prototype.getCoordinateAtM = function (m, opt_extrapolate, opt_interpolate) {\n if ((this.layout != GeometryLayout.XYM &&\n this.layout != GeometryLayout.XYZM) ||\n this.flatCoordinates.length === 0) {\n return null;\n }\n var extrapolate = opt_extrapolate !== undefined ? opt_extrapolate : false;\n var interpolate = opt_interpolate !== undefined ? opt_interpolate : false;\n return lineStringsCoordinateAtM(this.flatCoordinates, 0, this.ends_, this.stride, m, extrapolate, interpolate);\n };\n /**\n * Return the coordinates of the multilinestring.\n * @return {Array>} Coordinates.\n * @api\n */\n MultiLineString.prototype.getCoordinates = function () {\n return inflateCoordinatesArray(this.flatCoordinates, 0, this.ends_, this.stride);\n };\n /**\n * @return {Array} Ends.\n */\n MultiLineString.prototype.getEnds = function () {\n return this.ends_;\n };\n /**\n * Return the linestring at the specified index.\n * @param {number} index Index.\n * @return {LineString} LineString.\n * @api\n */\n MultiLineString.prototype.getLineString = function (index) {\n if (index < 0 || this.ends_.length <= index) {\n return null;\n }\n return new LineString(this.flatCoordinates.slice(index === 0 ? 0 : this.ends_[index - 1], this.ends_[index]), this.layout);\n };\n /**\n * Return the linestrings of this multilinestring.\n * @return {Array} LineStrings.\n * @api\n */\n MultiLineString.prototype.getLineStrings = function () {\n var flatCoordinates = this.flatCoordinates;\n var ends = this.ends_;\n var layout = this.layout;\n /** @type {Array} */\n var lineStrings = [];\n var offset = 0;\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n var lineString = new LineString(flatCoordinates.slice(offset, end), layout);\n lineStrings.push(lineString);\n offset = end;\n }\n return lineStrings;\n };\n /**\n * @return {Array} Flat midpoints.\n */\n MultiLineString.prototype.getFlatMidpoints = function () {\n var midpoints = [];\n var flatCoordinates = this.flatCoordinates;\n var offset = 0;\n var ends = this.ends_;\n var stride = this.stride;\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n var midpoint = interpolatePoint(flatCoordinates, offset, end, stride, 0.5);\n extend(midpoints, midpoint);\n offset = end;\n }\n return midpoints;\n };\n /**\n * @param {number} squaredTolerance Squared tolerance.\n * @return {MultiLineString} Simplified MultiLineString.\n * @protected\n */\n MultiLineString.prototype.getSimplifiedGeometryInternal = function (squaredTolerance) {\n var simplifiedFlatCoordinates = [];\n var simplifiedEnds = [];\n simplifiedFlatCoordinates.length = douglasPeuckerArray(this.flatCoordinates, 0, this.ends_, this.stride, squaredTolerance, simplifiedFlatCoordinates, 0, simplifiedEnds);\n return new MultiLineString(simplifiedFlatCoordinates, GeometryLayout.XY, simplifiedEnds);\n };\n /**\n * Get the type of this geometry.\n * @return {import(\"./Geometry.js\").Type} Geometry type.\n * @api\n */\n MultiLineString.prototype.getType = function () {\n return 'MultiLineString';\n };\n /**\n * Test if the geometry and the passed extent intersect.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {boolean} `true` if the geometry and the extent intersect.\n * @api\n */\n MultiLineString.prototype.intersectsExtent = function (extent) {\n return intersectsLineStringArray(this.flatCoordinates, 0, this.ends_, this.stride, extent);\n };\n /**\n * Set the coordinates of the multilinestring.\n * @param {!Array>} coordinates Coordinates.\n * @param {GeometryLayout} [opt_layout] Layout.\n * @api\n */\n MultiLineString.prototype.setCoordinates = function (coordinates, opt_layout) {\n this.setLayout(opt_layout, coordinates, 2);\n if (!this.flatCoordinates) {\n this.flatCoordinates = [];\n }\n var ends = deflateCoordinatesArray(this.flatCoordinates, 0, coordinates, this.stride, this.ends_);\n this.flatCoordinates.length = ends.length === 0 ? 0 : ends[ends.length - 1];\n this.changed();\n };\n return MultiLineString;\n}(SimpleGeometry));\nexport default MultiLineString;\n//# sourceMappingURL=MultiLineString.js.map","/**\n * @module ol/layer/TileProperty\n */\n/**\n * @enum {string}\n */\nexport default {\n PRELOAD: 'preload',\n USE_INTERIM_TILES_ON_ERROR: 'useInterimTilesOnError',\n};\n//# sourceMappingURL=TileProperty.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/layer/BaseTile\n */\nimport Layer from './Layer.js';\nimport TileProperty from './TileProperty.js';\nimport { assign } from '../obj.js';\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").CombinedOnSignature} BaseTileLayerOnSignature\n */\n/**\n * @template {import(\"../source/Tile.js\").default} TileSourceType\n * @typedef {Object} Options\n * @property {string} [className='ol-layer'] A CSS class name to set to the layer element.\n * @property {number} [opacity=1] Opacity (0, 1).\n * @property {boolean} [visible=true] Visibility.\n * @property {import(\"../extent.js\").Extent} [extent] The bounding extent for layer rendering. The layer will not be\n * rendered outside of this extent.\n * @property {number} [zIndex] The z-index for layer rendering. At rendering time, the layers\n * will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed\n * for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()`\n * method was used.\n * @property {number} [minResolution] The minimum resolution (inclusive) at which this layer will be\n * visible.\n * @property {number} [maxResolution] The maximum resolution (exclusive) below which this layer will\n * be visible.\n * @property {number} [minZoom] The minimum view zoom level (exclusive) above which this layer will be\n * visible.\n * @property {number} [maxZoom] The maximum view zoom level (inclusive) at which this layer will\n * be visible.\n * @property {number} [preload=0] Preload. Load low-resolution tiles up to `preload` levels. `0`\n * means no preloading.\n * @property {TileSourceType} [source] Source for this layer.\n * @property {import(\"../PluggableMap.js\").default} [map] Sets the layer as overlay on a map. The map will not manage\n * this layer in its layers collection, and the layer will be rendered on top. This is useful for\n * temporary layers. The standard way to add a layer to a map and have it managed by the map is to\n * use {@link import(\"../PluggableMap.js\").default#addLayer map.addLayer()}.\n * @property {boolean} [useInterimTilesOnError=true] Use interim tiles on error.\n * @property {Object} [properties] Arbitrary observable properties. Can be accessed with `#get()` and `#set()`.\n */\n/**\n * @classdesc\n * For layer sources that provide pre-rendered, tiled images in grids that are\n * organized by zoom levels for specific resolutions.\n * Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}\n * property on the layer object; for example, setting `title: 'My Title'` in the\n * options means that `title` is observable, and has get/set accessors.\n *\n * @template {import(\"../source/Tile.js\").default} TileSourceType\n * @template {import(\"../renderer/Layer.js\").default} RendererType\n * @extends {Layer}\n * @api\n */\nvar BaseTileLayer = /** @class */ (function (_super) {\n __extends(BaseTileLayer, _super);\n /**\n * @param {Options} [opt_options] Tile layer options.\n */\n function BaseTileLayer(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n var baseOptions = assign({}, options);\n delete baseOptions.preload;\n delete baseOptions.useInterimTilesOnError;\n _this = _super.call(this, baseOptions) || this;\n /***\n * @type {BaseTileLayerOnSignature}\n */\n _this.on;\n /***\n * @type {BaseTileLayerOnSignature}\n */\n _this.once;\n /***\n * @type {BaseTileLayerOnSignature}\n */\n _this.un;\n _this.setPreload(options.preload !== undefined ? options.preload : 0);\n _this.setUseInterimTilesOnError(options.useInterimTilesOnError !== undefined\n ? options.useInterimTilesOnError\n : true);\n return _this;\n }\n /**\n * Return the level as number to which we will preload tiles up to.\n * @return {number} The level to preload tiles up to.\n * @observable\n * @api\n */\n BaseTileLayer.prototype.getPreload = function () {\n return /** @type {number} */ (this.get(TileProperty.PRELOAD));\n };\n /**\n * Set the level as number to which we will preload tiles up to.\n * @param {number} preload The level to preload tiles up to.\n * @observable\n * @api\n */\n BaseTileLayer.prototype.setPreload = function (preload) {\n this.set(TileProperty.PRELOAD, preload);\n };\n /**\n * Whether we use interim tiles on error.\n * @return {boolean} Use interim tiles on error.\n * @observable\n * @api\n */\n BaseTileLayer.prototype.getUseInterimTilesOnError = function () {\n return /** @type {boolean} */ (this.get(TileProperty.USE_INTERIM_TILES_ON_ERROR));\n };\n /**\n * Set whether we use interim tiles on error.\n * @param {boolean} useInterimTilesOnError Use interim tiles on error.\n * @observable\n * @api\n */\n BaseTileLayer.prototype.setUseInterimTilesOnError = function (useInterimTilesOnError) {\n this.set(TileProperty.USE_INTERIM_TILES_ON_ERROR, useInterimTilesOnError);\n };\n /**\n * Get data for a pixel location. The return type depends on the source data. For image tiles,\n * a four element RGBA array will be returned. For data tiles, the array length will match the\n * number of bands in the dataset. For requests outside the layer extent, `null` will be returned.\n * Data for a image tiles can only be retrieved if the source's `crossOrigin` property is set.\n *\n * ```js\n * // display layer data on every pointer move\n * map.on('pointermove', (event) => {\n * console.log(layer.getData(event.pixel));\n * });\n * ```\n * @param {import(\"../pixel\").Pixel} pixel Pixel.\n * @return {Uint8ClampedArray|Uint8Array|Float32Array|DataView|null} Pixel data.\n * @api\n */\n BaseTileLayer.prototype.getData = function (pixel) {\n return _super.prototype.getData.call(this, pixel);\n };\n return BaseTileLayer;\n}(Layer));\nexport default BaseTileLayer;\n//# sourceMappingURL=BaseTile.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/renderer/canvas/TileLayer\n */\nimport CanvasLayerRenderer from './Layer.js';\nimport ImageTile from '../../ImageTile.js';\nimport ReprojTile from '../../reproj/Tile.js';\nimport TileRange from '../../TileRange.js';\nimport TileState from '../../TileState.js';\nimport { IMAGE_SMOOTHING_DISABLED, IMAGE_SMOOTHING_ENABLED } from './common.js';\nimport { apply as applyTransform, compose as composeTransform, makeInverse, toString as toTransformString, } from '../../transform.js';\nimport { assign } from '../../obj.js';\nimport { containsCoordinate, createEmpty, equals, getHeight, getIntersection, getRotatedViewport, getTopLeft, getWidth, intersects, } from '../../extent.js';\nimport { fromUserExtent } from '../../proj.js';\nimport { getUid } from '../../util.js';\nimport { numberSafeCompareFunction } from '../../array.js';\nimport { toSize } from '../../size.js';\n/**\n * @classdesc\n * Canvas renderer for tile layers.\n * @api\n * @template {import(\"../../layer/Tile.js\").default|import(\"../../layer/VectorTile.js\").default} [LayerType=import(\"../../layer/Tile.js\").default|import(\"../../layer/VectorTile.js\").default]\n * @extends {CanvasLayerRenderer}\n */\nvar CanvasTileLayerRenderer = /** @class */ (function (_super) {\n __extends(CanvasTileLayerRenderer, _super);\n /**\n * @param {LayerType} tileLayer Tile layer.\n */\n function CanvasTileLayerRenderer(tileLayer) {\n var _this = _super.call(this, tileLayer) || this;\n /**\n * Rendered extent has changed since the previous `renderFrame()` call\n * @type {boolean}\n */\n _this.extentChanged = true;\n /**\n * @private\n * @type {?import(\"../../extent.js\").Extent}\n */\n _this.renderedExtent_ = null;\n /**\n * @protected\n * @type {number}\n */\n _this.renderedPixelRatio;\n /**\n * @protected\n * @type {import(\"../../proj/Projection.js\").default}\n */\n _this.renderedProjection = null;\n /**\n * @protected\n * @type {number}\n */\n _this.renderedRevision;\n /**\n * @protected\n * @type {!Array}\n */\n _this.renderedTiles = [];\n /**\n * @private\n * @type {boolean}\n */\n _this.newTiles_ = false;\n /**\n * @protected\n * @type {import(\"../../extent.js\").Extent}\n */\n _this.tmpExtent = createEmpty();\n /**\n * @private\n * @type {import(\"../../TileRange.js\").default}\n */\n _this.tmpTileRange_ = new TileRange(0, 0, 0, 0);\n return _this;\n }\n /**\n * @protected\n * @param {import(\"../../Tile.js\").default} tile Tile.\n * @return {boolean} Tile is drawable.\n */\n CanvasTileLayerRenderer.prototype.isDrawableTile = function (tile) {\n var tileLayer = this.getLayer();\n var tileState = tile.getState();\n var useInterimTilesOnError = tileLayer.getUseInterimTilesOnError();\n return (tileState == TileState.LOADED ||\n tileState == TileState.EMPTY ||\n (tileState == TileState.ERROR && !useInterimTilesOnError));\n };\n /**\n * @param {number} z Tile coordinate z.\n * @param {number} x Tile coordinate x.\n * @param {number} y Tile coordinate y.\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n * @return {!import(\"../../Tile.js\").default} Tile.\n */\n CanvasTileLayerRenderer.prototype.getTile = function (z, x, y, frameState) {\n var pixelRatio = frameState.pixelRatio;\n var projection = frameState.viewState.projection;\n var tileLayer = this.getLayer();\n var tileSource = tileLayer.getSource();\n var tile = tileSource.getTile(z, x, y, pixelRatio, projection);\n if (tile.getState() == TileState.ERROR) {\n if (!tileLayer.getUseInterimTilesOnError()) {\n // When useInterimTilesOnError is false, we consider the error tile as loaded.\n tile.setState(TileState.LOADED);\n }\n else if (tileLayer.getPreload() > 0) {\n // Preloaded tiles for lower resolutions might have finished loading.\n this.newTiles_ = true;\n }\n }\n if (!this.isDrawableTile(tile)) {\n tile = tile.getInterimTile();\n }\n return tile;\n };\n /**\n * @param {import(\"../../pixel.js\").Pixel} pixel Pixel.\n * @return {Uint8ClampedArray} Data at the pixel location.\n */\n CanvasTileLayerRenderer.prototype.getData = function (pixel) {\n var frameState = this.frameState;\n if (!frameState) {\n return null;\n }\n var layer = this.getLayer();\n var coordinate = applyTransform(frameState.pixelToCoordinateTransform, pixel.slice());\n var layerExtent = layer.getExtent();\n if (layerExtent) {\n if (!containsCoordinate(layerExtent, coordinate)) {\n return null;\n }\n }\n var pixelRatio = frameState.pixelRatio;\n var projection = frameState.viewState.projection;\n var viewState = frameState.viewState;\n var source = layer.getRenderSource();\n var tileGrid = source.getTileGridForProjection(viewState.projection);\n var tilePixelRatio = source.getTilePixelRatio(frameState.pixelRatio);\n for (var z = tileGrid.getZForResolution(viewState.resolution); z >= tileGrid.getMinZoom(); --z) {\n var tileCoord = tileGrid.getTileCoordForCoordAndZ(coordinate, z);\n var tile = source.getTile(z, tileCoord[1], tileCoord[2], pixelRatio, projection);\n if (!(tile instanceof ImageTile || tile instanceof ReprojTile)) {\n return null;\n }\n if (tile.getState() !== TileState.LOADED) {\n continue;\n }\n var tileOrigin = tileGrid.getOrigin(z);\n var tileSize = toSize(tileGrid.getTileSize(z));\n var tileResolution = tileGrid.getResolution(z);\n var col = Math.floor(tilePixelRatio *\n ((coordinate[0] - tileOrigin[0]) / tileResolution -\n tileCoord[1] * tileSize[0]));\n var row = Math.floor(tilePixelRatio *\n ((tileOrigin[1] - coordinate[1]) / tileResolution -\n tileCoord[2] * tileSize[1]));\n var gutter = Math.round(tilePixelRatio * source.getGutterForProjection(viewState.projection));\n return this.getImageData(tile.getImage(), col + gutter, row + gutter);\n }\n return null;\n };\n /**\n * @param {Object>} tiles Lookup of loaded tiles by zoom level.\n * @param {number} zoom Zoom level.\n * @param {import(\"../../Tile.js\").default} tile Tile.\n * @return {boolean|void} If `false`, the tile will not be considered loaded.\n */\n CanvasTileLayerRenderer.prototype.loadedTileCallback = function (tiles, zoom, tile) {\n if (this.isDrawableTile(tile)) {\n return _super.prototype.loadedTileCallback.call(this, tiles, zoom, tile);\n }\n return false;\n };\n /**\n * Determine whether render should be called.\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n * @return {boolean} Layer is ready to be rendered.\n */\n CanvasTileLayerRenderer.prototype.prepareFrame = function (frameState) {\n return !!this.getLayer().getSource();\n };\n /**\n * Render the layer.\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n * @param {HTMLElement} target Target that may be used to render content to.\n * @return {HTMLElement} The rendered element.\n */\n CanvasTileLayerRenderer.prototype.renderFrame = function (frameState, target) {\n var layerState = frameState.layerStatesArray[frameState.layerIndex];\n var viewState = frameState.viewState;\n var projection = viewState.projection;\n var viewResolution = viewState.resolution;\n var viewCenter = viewState.center;\n var rotation = viewState.rotation;\n var pixelRatio = frameState.pixelRatio;\n var tileLayer = this.getLayer();\n var tileSource = tileLayer.getSource();\n var sourceRevision = tileSource.getRevision();\n var tileGrid = tileSource.getTileGridForProjection(projection);\n var z = tileGrid.getZForResolution(viewResolution, tileSource.zDirection);\n var tileResolution = tileGrid.getResolution(z);\n var extent = frameState.extent;\n var resolution = frameState.viewState.resolution;\n var tilePixelRatio = tileSource.getTilePixelRatio(pixelRatio);\n // desired dimensions of the canvas in pixels\n var width = Math.round((getWidth(extent) / resolution) * pixelRatio);\n var height = Math.round((getHeight(extent) / resolution) * pixelRatio);\n var layerExtent = layerState.extent && fromUserExtent(layerState.extent, projection);\n if (layerExtent) {\n extent = getIntersection(extent, fromUserExtent(layerState.extent, projection));\n }\n var dx = (tileResolution * width) / 2 / tilePixelRatio;\n var dy = (tileResolution * height) / 2 / tilePixelRatio;\n var canvasExtent = [\n viewCenter[0] - dx,\n viewCenter[1] - dy,\n viewCenter[0] + dx,\n viewCenter[1] + dy,\n ];\n var tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z);\n /**\n * @type {Object>}\n */\n var tilesToDrawByZ = {};\n tilesToDrawByZ[z] = {};\n var findLoadedTiles = this.createLoadedTileFinder(tileSource, projection, tilesToDrawByZ);\n var tmpExtent = this.tmpExtent;\n var tmpTileRange = this.tmpTileRange_;\n this.newTiles_ = false;\n var viewport = rotation\n ? getRotatedViewport(viewState.center, resolution, rotation, frameState.size)\n : undefined;\n for (var x = tileRange.minX; x <= tileRange.maxX; ++x) {\n for (var y = tileRange.minY; y <= tileRange.maxY; ++y) {\n if (rotation &&\n !tileGrid.tileCoordIntersectsViewport([z, x, y], viewport)) {\n continue;\n }\n var tile = this.getTile(z, x, y, frameState);\n if (this.isDrawableTile(tile)) {\n var uid = getUid(this);\n if (tile.getState() == TileState.LOADED) {\n tilesToDrawByZ[z][tile.tileCoord.toString()] = tile;\n var inTransition = tile.inTransition(uid);\n if (inTransition && layerState.opacity !== 1) {\n // Skipping transition when layer is not fully opaque avoids visual artifacts.\n tile.endTransition(uid);\n inTransition = false;\n }\n if (!this.newTiles_ &&\n (inTransition || this.renderedTiles.indexOf(tile) === -1)) {\n this.newTiles_ = true;\n }\n }\n if (tile.getAlpha(uid, frameState.time) === 1) {\n // don't look for alt tiles if alpha is 1\n continue;\n }\n }\n var childTileRange = tileGrid.getTileCoordChildTileRange(tile.tileCoord, tmpTileRange, tmpExtent);\n var covered = false;\n if (childTileRange) {\n covered = findLoadedTiles(z + 1, childTileRange);\n }\n if (!covered) {\n tileGrid.forEachTileCoordParentTileRange(tile.tileCoord, findLoadedTiles, tmpTileRange, tmpExtent);\n }\n }\n }\n var canvasScale = ((tileResolution / viewResolution) * pixelRatio) / tilePixelRatio;\n // set forward and inverse pixel transforms\n composeTransform(this.pixelTransform, frameState.size[0] / 2, frameState.size[1] / 2, 1 / pixelRatio, 1 / pixelRatio, rotation, -width / 2, -height / 2);\n var canvasTransform = toTransformString(this.pixelTransform);\n this.useContainer(target, canvasTransform, this.getBackground(frameState));\n var context = this.context;\n var canvas = context.canvas;\n makeInverse(this.inversePixelTransform, this.pixelTransform);\n // set scale transform for calculating tile positions on the canvas\n composeTransform(this.tempTransform, width / 2, height / 2, canvasScale, canvasScale, 0, -width / 2, -height / 2);\n if (canvas.width != width || canvas.height != height) {\n canvas.width = width;\n canvas.height = height;\n }\n else if (!this.containerReused) {\n context.clearRect(0, 0, width, height);\n }\n if (layerExtent) {\n this.clipUnrotated(context, frameState, layerExtent);\n }\n if (!tileSource.getInterpolate()) {\n assign(context, IMAGE_SMOOTHING_DISABLED);\n }\n this.preRender(context, frameState);\n this.renderedTiles.length = 0;\n /** @type {Array} */\n var zs = Object.keys(tilesToDrawByZ).map(Number);\n zs.sort(numberSafeCompareFunction);\n var clips, clipZs, currentClip;\n if (layerState.opacity === 1 &&\n (!this.containerReused ||\n tileSource.getOpaque(frameState.viewState.projection))) {\n zs = zs.reverse();\n }\n else {\n clips = [];\n clipZs = [];\n }\n for (var i = zs.length - 1; i >= 0; --i) {\n var currentZ = zs[i];\n var currentTilePixelSize = tileSource.getTilePixelSize(currentZ, pixelRatio, projection);\n var currentResolution = tileGrid.getResolution(currentZ);\n var currentScale = currentResolution / tileResolution;\n var dx_1 = currentTilePixelSize[0] * currentScale * canvasScale;\n var dy_1 = currentTilePixelSize[1] * currentScale * canvasScale;\n var originTileCoord = tileGrid.getTileCoordForCoordAndZ(getTopLeft(canvasExtent), currentZ);\n var originTileExtent = tileGrid.getTileCoordExtent(originTileCoord);\n var origin_1 = applyTransform(this.tempTransform, [\n (tilePixelRatio * (originTileExtent[0] - canvasExtent[0])) /\n tileResolution,\n (tilePixelRatio * (canvasExtent[3] - originTileExtent[3])) /\n tileResolution,\n ]);\n var tileGutter = tilePixelRatio * tileSource.getGutterForProjection(projection);\n var tilesToDraw = tilesToDrawByZ[currentZ];\n for (var tileCoordKey in tilesToDraw) {\n var tile = /** @type {import(\"../../ImageTile.js\").default} */ (tilesToDraw[tileCoordKey]);\n var tileCoord = tile.tileCoord;\n // Calculate integer positions and sizes so that tiles align\n var xIndex = originTileCoord[1] - tileCoord[1];\n var nextX = Math.round(origin_1[0] - (xIndex - 1) * dx_1);\n var yIndex = originTileCoord[2] - tileCoord[2];\n var nextY = Math.round(origin_1[1] - (yIndex - 1) * dy_1);\n var x = Math.round(origin_1[0] - xIndex * dx_1);\n var y = Math.round(origin_1[1] - yIndex * dy_1);\n var w = nextX - x;\n var h = nextY - y;\n var transition = z === currentZ;\n var inTransition = transition && tile.getAlpha(getUid(this), frameState.time) !== 1;\n var contextSaved = false;\n if (!inTransition) {\n if (clips) {\n // Clip mask for regions in this tile that already filled by a higher z tile\n currentClip = [x, y, x + w, y, x + w, y + h, x, y + h];\n for (var i_1 = 0, ii = clips.length; i_1 < ii; ++i_1) {\n if (z !== currentZ && currentZ < clipZs[i_1]) {\n var clip = clips[i_1];\n if (intersects([x, y, x + w, y + h], [clip[0], clip[3], clip[4], clip[7]])) {\n if (!contextSaved) {\n context.save();\n contextSaved = true;\n }\n context.beginPath();\n // counter-clockwise (outer ring) for current tile\n context.moveTo(currentClip[0], currentClip[1]);\n context.lineTo(currentClip[2], currentClip[3]);\n context.lineTo(currentClip[4], currentClip[5]);\n context.lineTo(currentClip[6], currentClip[7]);\n // clockwise (inner ring) for higher z tile\n context.moveTo(clip[6], clip[7]);\n context.lineTo(clip[4], clip[5]);\n context.lineTo(clip[2], clip[3]);\n context.lineTo(clip[0], clip[1]);\n context.clip();\n }\n }\n }\n clips.push(currentClip);\n clipZs.push(currentZ);\n }\n else {\n context.clearRect(x, y, w, h);\n }\n }\n this.drawTileImage(tile, frameState, x, y, w, h, tileGutter, transition);\n if (clips && !inTransition) {\n if (contextSaved) {\n context.restore();\n }\n this.renderedTiles.unshift(tile);\n }\n else {\n this.renderedTiles.push(tile);\n }\n this.updateUsedTiles(frameState.usedTiles, tileSource, tile);\n }\n }\n this.renderedRevision = sourceRevision;\n this.renderedResolution = tileResolution;\n this.extentChanged =\n !this.renderedExtent_ || !equals(this.renderedExtent_, canvasExtent);\n this.renderedExtent_ = canvasExtent;\n this.renderedPixelRatio = pixelRatio;\n this.renderedProjection = projection;\n this.manageTilePyramid(frameState, tileSource, tileGrid, pixelRatio, projection, extent, z, tileLayer.getPreload());\n this.scheduleExpireCache(frameState, tileSource);\n this.postRender(context, frameState);\n if (layerState.extent) {\n context.restore();\n }\n assign(context, IMAGE_SMOOTHING_ENABLED);\n if (canvasTransform !== canvas.style.transform) {\n canvas.style.transform = canvasTransform;\n }\n return this.container;\n };\n /**\n * @param {import(\"../../ImageTile.js\").default} tile Tile.\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n * @param {number} x Left of the tile.\n * @param {number} y Top of the tile.\n * @param {number} w Width of the tile.\n * @param {number} h Height of the tile.\n * @param {number} gutter Tile gutter.\n * @param {boolean} transition Apply an alpha transition.\n */\n CanvasTileLayerRenderer.prototype.drawTileImage = function (tile, frameState, x, y, w, h, gutter, transition) {\n var image = this.getTileImage(tile);\n if (!image) {\n return;\n }\n var uid = getUid(this);\n var layerState = frameState.layerStatesArray[frameState.layerIndex];\n var alpha = layerState.opacity *\n (transition ? tile.getAlpha(uid, frameState.time) : 1);\n var alphaChanged = alpha !== this.context.globalAlpha;\n if (alphaChanged) {\n this.context.save();\n this.context.globalAlpha = alpha;\n }\n this.context.drawImage(image, gutter, gutter, image.width - 2 * gutter, image.height - 2 * gutter, x, y, w, h);\n if (alphaChanged) {\n this.context.restore();\n }\n if (alpha !== layerState.opacity) {\n frameState.animate = true;\n }\n else if (transition) {\n tile.endTransition(uid);\n }\n };\n /**\n * @return {HTMLCanvasElement} Image\n */\n CanvasTileLayerRenderer.prototype.getImage = function () {\n var context = this.context;\n return context ? context.canvas : null;\n };\n /**\n * Get the image from a tile.\n * @param {import(\"../../ImageTile.js\").default} tile Tile.\n * @return {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} Image.\n * @protected\n */\n CanvasTileLayerRenderer.prototype.getTileImage = function (tile) {\n return tile.getImage();\n };\n /**\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n * @param {import(\"../../source/Tile.js\").default} tileSource Tile source.\n * @protected\n */\n CanvasTileLayerRenderer.prototype.scheduleExpireCache = function (frameState, tileSource) {\n if (tileSource.canExpireCache()) {\n /**\n * @param {import(\"../../source/Tile.js\").default} tileSource Tile source.\n * @param {import(\"../../PluggableMap.js\").default} map Map.\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n */\n var postRenderFunction = function (tileSource, map, frameState) {\n var tileSourceKey = getUid(tileSource);\n if (tileSourceKey in frameState.usedTiles) {\n tileSource.expireCache(frameState.viewState.projection, frameState.usedTiles[tileSourceKey]);\n }\n }.bind(null, tileSource);\n frameState.postRenderFunctions.push(\n /** @type {import(\"../../PluggableMap.js\").PostRenderFunction} */ (postRenderFunction));\n }\n };\n /**\n * @param {!Object>} usedTiles Used tiles.\n * @param {import(\"../../source/Tile.js\").default} tileSource Tile source.\n * @param {import('../../Tile.js').default} tile Tile.\n * @protected\n */\n CanvasTileLayerRenderer.prototype.updateUsedTiles = function (usedTiles, tileSource, tile) {\n // FIXME should we use tilesToDrawByZ instead?\n var tileSourceKey = getUid(tileSource);\n if (!(tileSourceKey in usedTiles)) {\n usedTiles[tileSourceKey] = {};\n }\n usedTiles[tileSourceKey][tile.getKey()] = true;\n };\n /**\n * Manage tile pyramid.\n * This function performs a number of functions related to the tiles at the\n * current zoom and lower zoom levels:\n * - registers idle tiles in frameState.wantedTiles so that they are not\n * discarded by the tile queue\n * - enqueues missing tiles\n * @param {import(\"../../PluggableMap.js\").FrameState} frameState Frame state.\n * @param {import(\"../../source/Tile.js\").default} tileSource Tile source.\n * @param {import(\"../../tilegrid/TileGrid.js\").default} tileGrid Tile grid.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"../../proj/Projection.js\").default} projection Projection.\n * @param {import(\"../../extent.js\").Extent} extent Extent.\n * @param {number} currentZ Current Z.\n * @param {number} preload Load low resolution tiles up to `preload` levels.\n * @param {function(import(\"../../Tile.js\").default):void} [opt_tileCallback] Tile callback.\n * @protected\n */\n CanvasTileLayerRenderer.prototype.manageTilePyramid = function (frameState, tileSource, tileGrid, pixelRatio, projection, extent, currentZ, preload, opt_tileCallback) {\n var tileSourceKey = getUid(tileSource);\n if (!(tileSourceKey in frameState.wantedTiles)) {\n frameState.wantedTiles[tileSourceKey] = {};\n }\n var wantedTiles = frameState.wantedTiles[tileSourceKey];\n var tileQueue = frameState.tileQueue;\n var minZoom = tileGrid.getMinZoom();\n var rotation = frameState.viewState.rotation;\n var viewport = rotation\n ? getRotatedViewport(frameState.viewState.center, frameState.viewState.resolution, rotation, frameState.size)\n : undefined;\n var tileCount = 0;\n var tile, tileRange, tileResolution, x, y, z;\n for (z = minZoom; z <= currentZ; ++z) {\n tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z, tileRange);\n tileResolution = tileGrid.getResolution(z);\n for (x = tileRange.minX; x <= tileRange.maxX; ++x) {\n for (y = tileRange.minY; y <= tileRange.maxY; ++y) {\n if (rotation &&\n !tileGrid.tileCoordIntersectsViewport([z, x, y], viewport)) {\n continue;\n }\n if (currentZ - z <= preload) {\n ++tileCount;\n tile = tileSource.getTile(z, x, y, pixelRatio, projection);\n if (tile.getState() == TileState.IDLE) {\n wantedTiles[tile.getKey()] = true;\n if (!tileQueue.isKeyQueued(tile.getKey())) {\n tileQueue.enqueue([\n tile,\n tileSourceKey,\n tileGrid.getTileCoordCenter(tile.tileCoord),\n tileResolution,\n ]);\n }\n }\n if (opt_tileCallback !== undefined) {\n opt_tileCallback(tile);\n }\n }\n else {\n tileSource.useTile(z, x, y, projection);\n }\n }\n }\n }\n tileSource.updateCacheSize(tileCount, projection);\n };\n return CanvasTileLayerRenderer;\n}(CanvasLayerRenderer));\nexport default CanvasTileLayerRenderer;\n//# sourceMappingURL=TileLayer.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/layer/Tile\n */\nimport BaseTileLayer from './BaseTile.js';\nimport CanvasTileLayerRenderer from '../renderer/canvas/TileLayer.js';\n/**\n * @classdesc\n * For layer sources that provide pre-rendered, tiled images in grids that are\n * organized by zoom levels for specific resolutions.\n * Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}\n * property on the layer object; for example, setting `title: 'My Title'` in the\n * options means that `title` is observable, and has get/set accessors.\n *\n * @template {import(\"../source/Tile.js\").default} TileSourceType\n * @extends BaseTileLayer\n * @api\n */\nvar TileLayer = /** @class */ (function (_super) {\n __extends(TileLayer, _super);\n /**\n * @param {import(\"./BaseTile.js\").Options} [opt_options] Tile layer options.\n */\n function TileLayer(opt_options) {\n return _super.call(this, opt_options) || this;\n }\n TileLayer.prototype.createRenderer = function () {\n return new CanvasTileLayerRenderer(this);\n };\n return TileLayer;\n}(BaseTileLayer));\nexport default TileLayer;\n//# sourceMappingURL=Tile.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./groundWaterDataTableOverview.vue?vue&type=style&index=0&id=3a4f08c2&prod&lang=css\"","/**\n * @module ol/ViewHint\n */\n/**\n * @enum {number}\n */\nexport default {\n ANIMATING: 0,\n INTERACTING: 1,\n};\n//# sourceMappingURL=ViewHint.js.map","export default {\n checkForLabStatusCell(cellFieldType) {\n return (cellFieldType === 'LbLabStatusCode') ? 'lab-status-codes-cell' : ''\n },\n\n getClassNameForLabStatusCode(labAssignmentData, labAssignmentStatusCodeList) {\n const yellowLabCodes = ['3', '2']\n const orangeLabCodes = ['10', '4', '1']\n const redLabCodes = ['11', '12', '7']\n const greenLabCodes = ['5', '6', '9', '13', '14', '8']\n let LabStatusObject = labAssignmentStatusCodeList.find(StatusCode => StatusCode.GcDescription === labAssignmentData.value)\n if (!labAssignmentData.data.LbIsSent || labAssignmentData.data.LbIsSent === 'false') {\n return 'red-lab-code-cell-status'\n }\n if (typeof LabStatusObject !== 'object' && labAssignmentData.data.LbIsSent) {\n return 'light-yellow-lab-code-cell-status'\n }\n if (typeof LabStatusObject === 'object') {\n if (yellowLabCodes.includes(LabStatusObject.GcCode)) {\n return 'yellow-lab-code-cell-status'\n }\n if (orangeLabCodes.includes(LabStatusObject.GcCode)) {\n return 'orange-lab-code-cell-status'\n }\n if (redLabCodes.includes(LabStatusObject.GcCode)) {\n return 'red-lab-code-cell-status'\n }\n if (greenLabCodes.includes(LabStatusObject.GcCode)) {\n return 'green-lab-code-cell-status'\n }\n }\n }\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./waterSamplesWidget.vue?vue&type=style&index=0&id=18920d45&prod&scoped=true&lang=less\"","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/Feature\n */\nimport BaseObject from './Object.js';\nimport EventType from './events/EventType.js';\nimport { assert } from './asserts.js';\nimport { listen, unlistenByKey } from './events.js';\n/**\n * @typedef {typeof Feature|typeof import(\"./render/Feature.js\").default} FeatureClass\n */\n/**\n * @typedef {Feature|import(\"./render/Feature.js\").default} FeatureLike\n */\n/***\n * @template Return\n * @typedef {import(\"./Observable\").OnSignature &\n * import(\"./Observable\").OnSignature &\n * import(\"./Observable\").CombinedOnSignature} FeatureOnSignature\n */\n/***\n * @template Geometry\n * @typedef {Object & { geometry?: Geometry }} ObjectWithGeometry\n */\n/**\n * @classdesc\n * A vector object for geographic features with a geometry and other\n * attribute properties, similar to the features in vector file formats like\n * GeoJSON.\n *\n * Features can be styled individually with `setStyle`; otherwise they use the\n * style of their vector layer.\n *\n * Note that attribute properties are set as {@link module:ol/Object~BaseObject} properties on\n * the feature object, so they are observable, and have get/set accessors.\n *\n * Typically, a feature has a single geometry property. You can set the\n * geometry using the `setGeometry` method and get it with `getGeometry`.\n * It is possible to store more than one geometry on a feature using attribute\n * properties. By default, the geometry used for rendering is identified by\n * the property name `geometry`. If you want to use another geometry property\n * for rendering, use the `setGeometryName` method to change the attribute\n * property associated with the geometry for the feature. For example:\n *\n * ```js\n *\n * import Feature from 'ol/Feature';\n * import Polygon from 'ol/geom/Polygon';\n * import Point from 'ol/geom/Point';\n *\n * var feature = new Feature({\n * geometry: new Polygon(polyCoords),\n * labelPoint: new Point(labelCoords),\n * name: 'My Polygon'\n * });\n *\n * // get the polygon geometry\n * var poly = feature.getGeometry();\n *\n * // Render the feature as a point using the coordinates from labelPoint\n * feature.setGeometryName('labelPoint');\n *\n * // get the point geometry\n * var point = feature.getGeometry();\n * ```\n *\n * @api\n * @template {import(\"./geom/Geometry.js\").default} [Geometry=import(\"./geom/Geometry.js\").default]\n */\nvar Feature = /** @class */ (function (_super) {\n __extends(Feature, _super);\n /**\n * @param {Geometry|ObjectWithGeometry} [opt_geometryOrProperties]\n * You may pass a Geometry object directly, or an object literal containing\n * properties. If you pass an object literal, you may include a Geometry\n * associated with a `geometry` key.\n */\n function Feature(opt_geometryOrProperties) {\n var _this = _super.call(this) || this;\n /***\n * @type {FeatureOnSignature}\n */\n _this.on;\n /***\n * @type {FeatureOnSignature}\n */\n _this.once;\n /***\n * @type {FeatureOnSignature}\n */\n _this.un;\n /**\n * @private\n * @type {number|string|undefined}\n */\n _this.id_ = undefined;\n /**\n * @type {string}\n * @private\n */\n _this.geometryName_ = 'geometry';\n /**\n * User provided style.\n * @private\n * @type {import(\"./style/Style.js\").StyleLike}\n */\n _this.style_ = null;\n /**\n * @private\n * @type {import(\"./style/Style.js\").StyleFunction|undefined}\n */\n _this.styleFunction_ = undefined;\n /**\n * @private\n * @type {?import(\"./events.js\").EventsKey}\n */\n _this.geometryChangeKey_ = null;\n _this.addChangeListener(_this.geometryName_, _this.handleGeometryChanged_);\n if (opt_geometryOrProperties) {\n if (typeof (\n /** @type {?} */ (opt_geometryOrProperties).getSimplifiedGeometry) === 'function') {\n var geometry = /** @type {Geometry} */ (opt_geometryOrProperties);\n _this.setGeometry(geometry);\n }\n else {\n /** @type {Object} */\n var properties = opt_geometryOrProperties;\n _this.setProperties(properties);\n }\n }\n return _this;\n }\n /**\n * Clone this feature. If the original feature has a geometry it\n * is also cloned. The feature id is not set in the clone.\n * @return {Feature} The clone.\n * @api\n */\n Feature.prototype.clone = function () {\n var clone = /** @type {Feature} */ (new Feature(this.hasProperties() ? this.getProperties() : null));\n clone.setGeometryName(this.getGeometryName());\n var geometry = this.getGeometry();\n if (geometry) {\n clone.setGeometry(/** @type {Geometry} */ (geometry.clone()));\n }\n var style = this.getStyle();\n if (style) {\n clone.setStyle(style);\n }\n return clone;\n };\n /**\n * Get the feature's default geometry. A feature may have any number of named\n * geometries. The \"default\" geometry (the one that is rendered by default) is\n * set when calling {@link module:ol/Feature~Feature#setGeometry}.\n * @return {Geometry|undefined} The default geometry for the feature.\n * @api\n * @observable\n */\n Feature.prototype.getGeometry = function () {\n return /** @type {Geometry|undefined} */ (this.get(this.geometryName_));\n };\n /**\n * Get the feature identifier. This is a stable identifier for the feature and\n * is either set when reading data from a remote source or set explicitly by\n * calling {@link module:ol/Feature~Feature#setId}.\n * @return {number|string|undefined} Id.\n * @api\n */\n Feature.prototype.getId = function () {\n return this.id_;\n };\n /**\n * Get the name of the feature's default geometry. By default, the default\n * geometry is named `geometry`.\n * @return {string} Get the property name associated with the default geometry\n * for this feature.\n * @api\n */\n Feature.prototype.getGeometryName = function () {\n return this.geometryName_;\n };\n /**\n * Get the feature's style. Will return what was provided to the\n * {@link module:ol/Feature~Feature#setStyle} method.\n * @return {import(\"./style/Style.js\").StyleLike|undefined} The feature style.\n * @api\n */\n Feature.prototype.getStyle = function () {\n return this.style_;\n };\n /**\n * Get the feature's style function.\n * @return {import(\"./style/Style.js\").StyleFunction|undefined} Return a function\n * representing the current style of this feature.\n * @api\n */\n Feature.prototype.getStyleFunction = function () {\n return this.styleFunction_;\n };\n /**\n * @private\n */\n Feature.prototype.handleGeometryChange_ = function () {\n this.changed();\n };\n /**\n * @private\n */\n Feature.prototype.handleGeometryChanged_ = function () {\n if (this.geometryChangeKey_) {\n unlistenByKey(this.geometryChangeKey_);\n this.geometryChangeKey_ = null;\n }\n var geometry = this.getGeometry();\n if (geometry) {\n this.geometryChangeKey_ = listen(geometry, EventType.CHANGE, this.handleGeometryChange_, this);\n }\n this.changed();\n };\n /**\n * Set the default geometry for the feature. This will update the property\n * with the name returned by {@link module:ol/Feature~Feature#getGeometryName}.\n * @param {Geometry|undefined} geometry The new geometry.\n * @api\n * @observable\n */\n Feature.prototype.setGeometry = function (geometry) {\n this.set(this.geometryName_, geometry);\n };\n /**\n * Set the style for the feature to override the layer style. This can be a\n * single style object, an array of styles, or a function that takes a\n * resolution and returns an array of styles. To unset the feature style, call\n * `setStyle()` without arguments or a falsey value.\n * @param {import(\"./style/Style.js\").StyleLike} [opt_style] Style for this feature.\n * @api\n * @fires module:ol/events/Event~BaseEvent#event:change\n */\n Feature.prototype.setStyle = function (opt_style) {\n this.style_ = opt_style;\n this.styleFunction_ = !opt_style\n ? undefined\n : createStyleFunction(opt_style);\n this.changed();\n };\n /**\n * Set the feature id. The feature id is considered stable and may be used when\n * requesting features or comparing identifiers returned from a remote source.\n * The feature id can be used with the\n * {@link module:ol/source/Vector~VectorSource#getFeatureById} method.\n * @param {number|string|undefined} id The feature id.\n * @api\n * @fires module:ol/events/Event~BaseEvent#event:change\n */\n Feature.prototype.setId = function (id) {\n this.id_ = id;\n this.changed();\n };\n /**\n * Set the property name to be used when getting the feature's default geometry.\n * When calling {@link module:ol/Feature~Feature#getGeometry}, the value of the property with\n * this name will be returned.\n * @param {string} name The property name of the default geometry.\n * @api\n */\n Feature.prototype.setGeometryName = function (name) {\n this.removeChangeListener(this.geometryName_, this.handleGeometryChanged_);\n this.geometryName_ = name;\n this.addChangeListener(this.geometryName_, this.handleGeometryChanged_);\n this.handleGeometryChanged_();\n };\n return Feature;\n}(BaseObject));\n/**\n * Convert the provided object into a feature style function. Functions passed\n * through unchanged. Arrays of Style or single style objects wrapped\n * in a new feature style function.\n * @param {!import(\"./style/Style.js\").StyleFunction|!Array|!import(\"./style/Style.js\").default} obj\n * A feature style function, a single style, or an array of styles.\n * @return {import(\"./style/Style.js\").StyleFunction} A style function.\n */\nexport function createStyleFunction(obj) {\n if (typeof obj === 'function') {\n return obj;\n }\n else {\n /**\n * @type {Array}\n */\n var styles_1;\n if (Array.isArray(obj)) {\n styles_1 = obj;\n }\n else {\n assert(typeof ( /** @type {?} */(obj).getZIndex) === 'function', 41); // Expected an `import(\"./style/Style.js\").Style` or an array of `import(\"./style/Style.js\").Style`\n var style = /** @type {import(\"./style/Style.js\").default} */ (obj);\n styles_1 = [style];\n }\n return function () {\n return styles_1;\n };\n }\n}\nexport default Feature;\n//# sourceMappingURL=Feature.js.map","/**\n * @module ol/geom/flat/reverse\n */\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n */\nexport function coordinates(flatCoordinates, offset, end, stride) {\n while (offset < end - stride) {\n for (var i = 0; i < stride; ++i) {\n var tmp = flatCoordinates[offset + i];\n flatCoordinates[offset + i] = flatCoordinates[end - stride + i];\n flatCoordinates[end - stride + i] = tmp;\n }\n offset += stride;\n end -= stride;\n }\n}\n//# sourceMappingURL=reverse.js.map","/**\n * @module ol/geom/flat/orient\n */\nimport { coordinates as reverseCoordinates } from './reverse.js';\n/**\n * Is the linear ring oriented clockwise in a coordinate system with a bottom-left\n * coordinate origin? For a coordinate system with a top-left coordinate origin,\n * the ring's orientation is clockwise when this function returns false.\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @return {boolean} Is clockwise.\n */\nexport function linearRingIsClockwise(flatCoordinates, offset, end, stride) {\n // https://stackoverflow.com/q/1165647/clockwise-method#1165943\n // https://github.com/OSGeo/gdal/blob/master/gdal/ogr/ogrlinearring.cpp\n var edge = 0;\n var x1 = flatCoordinates[end - stride];\n var y1 = flatCoordinates[end - stride + 1];\n for (; offset < end; offset += stride) {\n var x2 = flatCoordinates[offset];\n var y2 = flatCoordinates[offset + 1];\n edge += (x2 - x1) * (y2 + y1);\n x1 = x2;\n y1 = y2;\n }\n return edge === 0 ? undefined : edge > 0;\n}\n/**\n * Determines if linear rings are oriented. By default, left-hand orientation\n * is tested (first ring must be clockwise, remaining rings counter-clockwise).\n * To test for right-hand orientation, use the `opt_right` argument.\n *\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Array of end indexes.\n * @param {number} stride Stride.\n * @param {boolean} [opt_right] Test for right-hand orientation\n * (counter-clockwise exterior ring and clockwise interior rings).\n * @return {boolean} Rings are correctly oriented.\n */\nexport function linearRingsAreOriented(flatCoordinates, offset, ends, stride, opt_right) {\n var right = opt_right !== undefined ? opt_right : false;\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n var isClockwise = linearRingIsClockwise(flatCoordinates, offset, end, stride);\n if (i === 0) {\n if ((right && isClockwise) || (!right && !isClockwise)) {\n return false;\n }\n }\n else {\n if ((right && !isClockwise) || (!right && isClockwise)) {\n return false;\n }\n }\n offset = end;\n }\n return true;\n}\n/**\n * Determines if linear rings are oriented. By default, left-hand orientation\n * is tested (first ring must be clockwise, remaining rings counter-clockwise).\n * To test for right-hand orientation, use the `opt_right` argument.\n *\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Array of array of end indexes.\n * @param {number} stride Stride.\n * @param {boolean} [opt_right] Test for right-hand orientation\n * (counter-clockwise exterior ring and clockwise interior rings).\n * @return {boolean} Rings are correctly oriented.\n */\nexport function linearRingssAreOriented(flatCoordinates, offset, endss, stride, opt_right) {\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n if (!linearRingsAreOriented(flatCoordinates, offset, ends, stride, opt_right)) {\n return false;\n }\n if (ends.length) {\n offset = ends[ends.length - 1];\n }\n }\n return true;\n}\n/**\n * Orient coordinates in a flat array of linear rings. By default, rings\n * are oriented following the left-hand rule (clockwise for exterior and\n * counter-clockwise for interior rings). To orient according to the\n * right-hand rule, use the `opt_right` argument.\n *\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {boolean} [opt_right] Follow the right-hand rule for orientation.\n * @return {number} End.\n */\nexport function orientLinearRings(flatCoordinates, offset, ends, stride, opt_right) {\n var right = opt_right !== undefined ? opt_right : false;\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n var isClockwise = linearRingIsClockwise(flatCoordinates, offset, end, stride);\n var reverse = i === 0\n ? (right && isClockwise) || (!right && !isClockwise)\n : (right && !isClockwise) || (!right && isClockwise);\n if (reverse) {\n reverseCoordinates(flatCoordinates, offset, end, stride);\n }\n offset = end;\n }\n return offset;\n}\n/**\n * Orient coordinates in a flat array of linear rings. By default, rings\n * are oriented following the left-hand rule (clockwise for exterior and\n * counter-clockwise for interior rings). To orient according to the\n * right-hand rule, use the `opt_right` argument.\n *\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Array of array of end indexes.\n * @param {number} stride Stride.\n * @param {boolean} [opt_right] Follow the right-hand rule for orientation.\n * @return {number} End.\n */\nexport function orientLinearRingsArray(flatCoordinates, offset, endss, stride, opt_right) {\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n offset = orientLinearRings(flatCoordinates, offset, endss[i], stride, opt_right);\n }\n return offset;\n}\n/**\n * Return a two-dimensional endss\n * @param {Array} flatCoordinates Flat coordinates\n * @param {Array} ends Linear ring end indexes\n * @return {Array>} Two dimensional endss array that can\n * be used to contruct a MultiPolygon\n */\nexport function inflateEnds(flatCoordinates, ends) {\n var endss = [];\n var offset = 0;\n var prevEndIndex = 0;\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n // classifies an array of rings into polygons with outer rings and holes\n if (!linearRingIsClockwise(flatCoordinates, offset, end, 2)) {\n endss.push(ends.slice(prevEndIndex, i + 1));\n }\n else {\n if (endss.length === 0) {\n continue;\n }\n endss[endss.length - 1].push(ends[prevEndIndex]);\n }\n prevEndIndex = i + 1;\n offset = end;\n }\n return endss;\n}\n//# sourceMappingURL=orient.js.map","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./openLayers.vue?vue&type=style&index=0&id=142dddf4&prod&lang=less\"","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/MapBrowserEvent\n */\nimport MapEvent from './MapEvent.js';\n/**\n * @classdesc\n * Events emitted as map browser events are instances of this type.\n * See {@link module:ol/PluggableMap~PluggableMap} for which events trigger a map browser event.\n * @template {UIEvent} EVENT\n */\nvar MapBrowserEvent = /** @class */ (function (_super) {\n __extends(MapBrowserEvent, _super);\n /**\n * @param {string} type Event type.\n * @param {import(\"./PluggableMap.js\").default} map Map.\n * @param {EVENT} originalEvent Original event.\n * @param {boolean} [opt_dragging] Is the map currently being dragged?\n * @param {import(\"./PluggableMap.js\").FrameState} [opt_frameState] Frame state.\n * @param {Array} [opt_activePointers] Active pointers.\n */\n function MapBrowserEvent(type, map, originalEvent, opt_dragging, opt_frameState, opt_activePointers) {\n var _this = _super.call(this, type, map, opt_frameState) || this;\n /**\n * The original browser event.\n * @const\n * @type {EVENT}\n * @api\n */\n _this.originalEvent = originalEvent;\n /**\n * The map pixel relative to the viewport corresponding to the original browser event.\n * @type {?import(\"./pixel.js\").Pixel}\n */\n _this.pixel_ = null;\n /**\n * The coordinate in the user projection corresponding to the original browser event.\n * @type {?import(\"./coordinate.js\").Coordinate}\n */\n _this.coordinate_ = null;\n /**\n * Indicates if the map is currently being dragged. Only set for\n * `POINTERDRAG` and `POINTERMOVE` events. Default is `false`.\n *\n * @type {boolean}\n * @api\n */\n _this.dragging = opt_dragging !== undefined ? opt_dragging : false;\n /**\n * @type {Array|undefined}\n */\n _this.activePointers = opt_activePointers;\n return _this;\n }\n Object.defineProperty(MapBrowserEvent.prototype, \"pixel\", {\n /**\n * The map pixel relative to the viewport corresponding to the original event.\n * @type {import(\"./pixel.js\").Pixel}\n * @api\n */\n get: function () {\n if (!this.pixel_) {\n this.pixel_ = this.map.getEventPixel(this.originalEvent);\n }\n return this.pixel_;\n },\n set: function (pixel) {\n this.pixel_ = pixel;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MapBrowserEvent.prototype, \"coordinate\", {\n /**\n * The coordinate corresponding to the original browser event. This will be in the user\n * projection if one is set. Otherwise it will be in the view projection.\n * @type {import(\"./coordinate.js\").Coordinate}\n * @api\n */\n get: function () {\n if (!this.coordinate_) {\n this.coordinate_ = this.map.getCoordinateFromPixel(this.pixel);\n }\n return this.coordinate_;\n },\n set: function (coordinate) {\n this.coordinate_ = coordinate;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Prevents the default browser action.\n * See https://developer.mozilla.org/en-US/docs/Web/API/event.preventDefault.\n * @api\n */\n MapBrowserEvent.prototype.preventDefault = function () {\n _super.prototype.preventDefault.call(this);\n if ('preventDefault' in this.originalEvent) {\n /** @type {UIEvent} */ (this.originalEvent).preventDefault();\n }\n };\n /**\n * Prevents further propagation of the current event.\n * See https://developer.mozilla.org/en-US/docs/Web/API/event.stopPropagation.\n * @api\n */\n MapBrowserEvent.prototype.stopPropagation = function () {\n _super.prototype.stopPropagation.call(this);\n if ('stopPropagation' in this.originalEvent) {\n /** @type {UIEvent} */ (this.originalEvent).stopPropagation();\n }\n };\n return MapBrowserEvent;\n}(MapEvent));\nexport default MapBrowserEvent;\n//# sourceMappingURL=MapBrowserEvent.js.map","\"use strict\";\r\n/**\r\n * dd-resizable.ts 7.3.0\r\n * Copyright (c) 2021-2022 Alain Dumesny - see GridStack root license\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DDResizable = void 0;\r\nconst dd_resizable_handle_1 = require(\"./dd-resizable-handle\");\r\nconst dd_base_impl_1 = require(\"./dd-base-impl\");\r\nconst utils_1 = require(\"./utils\");\r\nconst dd_manager_1 = require(\"./dd-manager\");\r\nclass DDResizable extends dd_base_impl_1.DDBaseImplement {\r\n constructor(el, opts = {}) {\r\n super();\r\n /** @internal */\r\n this._ui = () => {\r\n const containmentEl = this.el.parentElement;\r\n const containmentRect = containmentEl.getBoundingClientRect();\r\n const newRect = {\r\n width: this.originalRect.width,\r\n height: this.originalRect.height + this.scrolled,\r\n left: this.originalRect.left,\r\n top: this.originalRect.top - this.scrolled\r\n };\r\n const rect = this.temporalRect || newRect;\r\n return {\r\n position: {\r\n left: rect.left - containmentRect.left,\r\n top: rect.top - containmentRect.top\r\n },\r\n size: {\r\n width: rect.width,\r\n height: rect.height\r\n }\r\n /* Gridstack ONLY needs position set above... keep around in case.\r\n element: [this.el], // The object representing the element to be resized\r\n helper: [], // TODO: not support yet - The object representing the helper that's being resized\r\n originalElement: [this.el],// we don't wrap here, so simplify as this.el //The object representing the original element before it is wrapped\r\n originalPosition: { // The position represented as { left, top } before the resizable is resized\r\n left: this.originalRect.left - containmentRect.left,\r\n top: this.originalRect.top - containmentRect.top\r\n },\r\n originalSize: { // The size represented as { width, height } before the resizable is resized\r\n width: this.originalRect.width,\r\n height: this.originalRect.height\r\n }\r\n */\r\n };\r\n };\r\n this.el = el;\r\n this.option = opts;\r\n // create var event binding so we can easily remove and still look like TS methods (unlike anonymous functions)\r\n this._mouseOver = this._mouseOver.bind(this);\r\n this._mouseOut = this._mouseOut.bind(this);\r\n this.enable();\r\n this._setupAutoHide(this.option.autoHide);\r\n this._setupHandlers();\r\n }\r\n on(event, callback) {\r\n super.on(event, callback);\r\n }\r\n off(event) {\r\n super.off(event);\r\n }\r\n enable() {\r\n super.enable();\r\n this.el.classList.add('ui-resizable');\r\n this.el.classList.remove('ui-resizable-disabled');\r\n this._setupAutoHide(this.option.autoHide);\r\n }\r\n disable() {\r\n super.disable();\r\n this.el.classList.add('ui-resizable-disabled');\r\n this.el.classList.remove('ui-resizable');\r\n this._setupAutoHide(false);\r\n }\r\n destroy() {\r\n this._removeHandlers();\r\n this._setupAutoHide(false);\r\n this.el.classList.remove('ui-resizable');\r\n delete this.el;\r\n super.destroy();\r\n }\r\n updateOption(opts) {\r\n let updateHandles = (opts.handles && opts.handles !== this.option.handles);\r\n let updateAutoHide = (opts.autoHide && opts.autoHide !== this.option.autoHide);\r\n Object.keys(opts).forEach(key => this.option[key] = opts[key]);\r\n if (updateHandles) {\r\n this._removeHandlers();\r\n this._setupHandlers();\r\n }\r\n if (updateAutoHide) {\r\n this._setupAutoHide(this.option.autoHide);\r\n }\r\n return this;\r\n }\r\n /** @internal turns auto hide on/off */\r\n _setupAutoHide(auto) {\r\n if (auto) {\r\n this.el.classList.add('ui-resizable-autohide');\r\n // use mouseover and not mouseenter to get better performance and track for nested cases\r\n this.el.addEventListener('mouseover', this._mouseOver);\r\n this.el.addEventListener('mouseout', this._mouseOut);\r\n }\r\n else {\r\n this.el.classList.remove('ui-resizable-autohide');\r\n this.el.removeEventListener('mouseover', this._mouseOver);\r\n this.el.removeEventListener('mouseout', this._mouseOut);\r\n if (dd_manager_1.DDManager.overResizeElement === this) {\r\n delete dd_manager_1.DDManager.overResizeElement;\r\n }\r\n }\r\n return this;\r\n }\r\n /** @internal */\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n _mouseOver(e) {\r\n // console.log(`${count++} pre-enter ${(this.el as GridItemHTMLElement).gridstackNode._id}`)\r\n // already over a child, ignore. Ideally we just call e.stopPropagation() but see https://github.com/gridstack/gridstack.js/issues/2018\r\n if (dd_manager_1.DDManager.overResizeElement || dd_manager_1.DDManager.dragElement)\r\n return;\r\n dd_manager_1.DDManager.overResizeElement = this;\r\n // console.log(`${count++} enter ${(this.el as GridItemHTMLElement).gridstackNode._id}`)\r\n this.el.classList.remove('ui-resizable-autohide');\r\n }\r\n /** @internal */\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n _mouseOut(e) {\r\n // console.log(`${count++} pre-leave ${(this.el as GridItemHTMLElement).gridstackNode._id}`)\r\n if (dd_manager_1.DDManager.overResizeElement !== this)\r\n return;\r\n delete dd_manager_1.DDManager.overResizeElement;\r\n // console.log(`${count++} leave ${(this.el as GridItemHTMLElement).gridstackNode._id}`)\r\n this.el.classList.add('ui-resizable-autohide');\r\n }\r\n /** @internal */\r\n _setupHandlers() {\r\n let handlerDirection = this.option.handles || 'e,s,se';\r\n if (handlerDirection === 'all') {\r\n handlerDirection = 'n,e,s,w,se,sw,ne,nw';\r\n }\r\n this.handlers = handlerDirection.split(',')\r\n .map(dir => dir.trim())\r\n .map(dir => new dd_resizable_handle_1.DDResizableHandle(this.el, dir, {\r\n start: (event) => {\r\n this._resizeStart(event);\r\n },\r\n stop: (event) => {\r\n this._resizeStop(event);\r\n },\r\n move: (event) => {\r\n this._resizing(event, dir);\r\n }\r\n }));\r\n return this;\r\n }\r\n /** @internal */\r\n _resizeStart(event) {\r\n this.originalRect = this.el.getBoundingClientRect();\r\n this.scrollEl = utils_1.Utils.getScrollElement(this.el);\r\n this.scrollY = this.scrollEl.scrollTop;\r\n this.scrolled = 0;\r\n this.startEvent = event;\r\n this._setupHelper();\r\n this._applyChange();\r\n const ev = utils_1.Utils.initEvent(event, { type: 'resizestart', target: this.el });\r\n if (this.option.start) {\r\n this.option.start(ev, this._ui());\r\n }\r\n this.el.classList.add('ui-resizable-resizing');\r\n this.triggerEvent('resizestart', ev);\r\n return this;\r\n }\r\n /** @internal */\r\n _resizing(event, dir) {\r\n this.scrolled = this.scrollEl.scrollTop - this.scrollY;\r\n this.temporalRect = this._getChange(event, dir);\r\n this._applyChange();\r\n const ev = utils_1.Utils.initEvent(event, { type: 'resize', target: this.el });\r\n if (this.option.resize) {\r\n this.option.resize(ev, this._ui());\r\n }\r\n this.triggerEvent('resize', ev);\r\n return this;\r\n }\r\n /** @internal */\r\n _resizeStop(event) {\r\n const ev = utils_1.Utils.initEvent(event, { type: 'resizestop', target: this.el });\r\n if (this.option.stop) {\r\n this.option.stop(ev); // Note: ui() not used by gridstack so don't pass\r\n }\r\n this.el.classList.remove('ui-resizable-resizing');\r\n this.triggerEvent('resizestop', ev);\r\n this._cleanHelper();\r\n delete this.startEvent;\r\n delete this.originalRect;\r\n delete this.temporalRect;\r\n delete this.scrollY;\r\n delete this.scrolled;\r\n return this;\r\n }\r\n /** @internal */\r\n _setupHelper() {\r\n this.elOriginStyleVal = DDResizable._originStyleProp.map(prop => this.el.style[prop]);\r\n this.parentOriginStylePosition = this.el.parentElement.style.position;\r\n if (window.getComputedStyle(this.el.parentElement).position.match(/static/)) {\r\n this.el.parentElement.style.position = 'relative';\r\n }\r\n this.el.style.position = 'absolute';\r\n this.el.style.opacity = '0.8';\r\n return this;\r\n }\r\n /** @internal */\r\n _cleanHelper() {\r\n DDResizable._originStyleProp.forEach((prop, i) => {\r\n this.el.style[prop] = this.elOriginStyleVal[i] || null;\r\n });\r\n this.el.parentElement.style.position = this.parentOriginStylePosition || null;\r\n return this;\r\n }\r\n /** @internal */\r\n _getChange(event, dir) {\r\n const oEvent = this.startEvent;\r\n const newRect = {\r\n width: this.originalRect.width,\r\n height: this.originalRect.height + this.scrolled,\r\n left: this.originalRect.left,\r\n top: this.originalRect.top - this.scrolled\r\n };\r\n const offsetX = event.clientX - oEvent.clientX;\r\n const offsetY = event.clientY - oEvent.clientY;\r\n if (dir.indexOf('e') > -1) {\r\n newRect.width += offsetX;\r\n }\r\n else if (dir.indexOf('w') > -1) {\r\n newRect.width -= offsetX;\r\n newRect.left += offsetX;\r\n }\r\n if (dir.indexOf('s') > -1) {\r\n newRect.height += offsetY;\r\n }\r\n else if (dir.indexOf('n') > -1) {\r\n newRect.height -= offsetY;\r\n newRect.top += offsetY;\r\n }\r\n const constrain = this._constrainSize(newRect.width, newRect.height);\r\n if (Math.round(newRect.width) !== Math.round(constrain.width)) { // round to ignore slight round-off errors\r\n if (dir.indexOf('w') > -1) {\r\n newRect.left += newRect.width - constrain.width;\r\n }\r\n newRect.width = constrain.width;\r\n }\r\n if (Math.round(newRect.height) !== Math.round(constrain.height)) {\r\n if (dir.indexOf('n') > -1) {\r\n newRect.top += newRect.height - constrain.height;\r\n }\r\n newRect.height = constrain.height;\r\n }\r\n return newRect;\r\n }\r\n /** @internal constrain the size to the set min/max values */\r\n _constrainSize(oWidth, oHeight) {\r\n const maxWidth = this.option.maxWidth || Number.MAX_SAFE_INTEGER;\r\n const minWidth = this.option.minWidth || oWidth;\r\n const maxHeight = this.option.maxHeight || Number.MAX_SAFE_INTEGER;\r\n const minHeight = this.option.minHeight || oHeight;\r\n const width = Math.min(maxWidth, Math.max(minWidth, oWidth));\r\n const height = Math.min(maxHeight, Math.max(minHeight, oHeight));\r\n return { width, height };\r\n }\r\n /** @internal */\r\n _applyChange() {\r\n let containmentRect = { left: 0, top: 0, width: 0, height: 0 };\r\n if (this.el.style.position === 'absolute') {\r\n const containmentEl = this.el.parentElement;\r\n const { left, top } = containmentEl.getBoundingClientRect();\r\n containmentRect = { left, top, width: 0, height: 0 };\r\n }\r\n if (!this.temporalRect)\r\n return this;\r\n Object.keys(this.temporalRect).forEach(key => {\r\n const value = this.temporalRect[key];\r\n this.el.style[key] = value - containmentRect[key] + 'px';\r\n });\r\n return this;\r\n }\r\n /** @internal */\r\n _removeHandlers() {\r\n this.handlers.forEach(handle => handle.destroy());\r\n delete this.handlers;\r\n return this;\r\n }\r\n}\r\nexports.DDResizable = DDResizable;\r\n/** @internal */\r\nDDResizable._originStyleProp = ['width', 'height', 'position', 'left', 'top', 'opacity', 'zIndex'];\r\n//# sourceMappingURL=dd-resizable.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/layer/Base\n */\nimport BaseObject from '../Object.js';\nimport LayerProperty from './Property.js';\nimport { abstract } from '../util.js';\nimport { assert } from '../asserts.js';\nimport { assign } from '../obj.js';\nimport { clamp } from '../math.js';\n/**\n * A css color, or a function called with a view resolution returning a css color.\n *\n * @typedef {string|function(number):string} BackgroundColor\n * @api\n */\n/**\n * @typedef {import(\"../ObjectEventType\").Types|'change:extent'|'change:maxResolution'|'change:maxZoom'|\n * 'change:minResolution'|'change:minZoom'|'change:opacity'|'change:visible'|'change:zIndex'} BaseLayerObjectEventTypes\n */\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").CombinedOnSignature} BaseLayerOnSignature\n */\n/**\n * @typedef {Object} Options\n * @property {string} [className='ol-layer'] A CSS class name to set to the layer element.\n * @property {number} [opacity=1] Opacity (0, 1).\n * @property {boolean} [visible=true] Visibility.\n * @property {import(\"../extent.js\").Extent} [extent] The bounding extent for layer rendering. The layer will not be\n * rendered outside of this extent.\n * @property {number} [zIndex] The z-index for layer rendering. At rendering time, the layers\n * will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed\n * for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()`\n * method was used.\n * @property {number} [minResolution] The minimum resolution (inclusive) at which this layer will be\n * visible.\n * @property {number} [maxResolution] The maximum resolution (exclusive) below which this layer will\n * be visible.\n * @property {number} [minZoom] The minimum view zoom level (exclusive) above which this layer will be\n * visible.\n * @property {number} [maxZoom] The maximum view zoom level (inclusive) at which this layer will\n * be visible.\n * @property {BackgroundColor} [background] Background color for the layer. If not specified, no background\n * will be rendered.\n * @property {Object} [properties] Arbitrary observable properties. Can be accessed with `#get()` and `#set()`.\n */\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * Note that with {@link module:ol/layer/Base~BaseLayer} and all its subclasses, any property set in\n * the options is set as a {@link module:ol/Object~BaseObject} property on the layer object, so\n * is observable, and has get/set accessors.\n *\n * @api\n */\nvar BaseLayer = /** @class */ (function (_super) {\n __extends(BaseLayer, _super);\n /**\n * @param {Options} options Layer options.\n */\n function BaseLayer(options) {\n var _this = _super.call(this) || this;\n /***\n * @type {BaseLayerOnSignature}\n */\n _this.on;\n /***\n * @type {BaseLayerOnSignature}\n */\n _this.once;\n /***\n * @type {BaseLayerOnSignature}\n */\n _this.un;\n /**\n * @type {BackgroundColor|false}\n * @private\n */\n _this.background_ = options.background;\n /**\n * @type {Object}\n */\n var properties = assign({}, options);\n if (typeof options.properties === 'object') {\n delete properties.properties;\n assign(properties, options.properties);\n }\n properties[LayerProperty.OPACITY] =\n options.opacity !== undefined ? options.opacity : 1;\n assert(typeof properties[LayerProperty.OPACITY] === 'number', 64); // Layer opacity must be a number\n properties[LayerProperty.VISIBLE] =\n options.visible !== undefined ? options.visible : true;\n properties[LayerProperty.Z_INDEX] = options.zIndex;\n properties[LayerProperty.MAX_RESOLUTION] =\n options.maxResolution !== undefined ? options.maxResolution : Infinity;\n properties[LayerProperty.MIN_RESOLUTION] =\n options.minResolution !== undefined ? options.minResolution : 0;\n properties[LayerProperty.MIN_ZOOM] =\n options.minZoom !== undefined ? options.minZoom : -Infinity;\n properties[LayerProperty.MAX_ZOOM] =\n options.maxZoom !== undefined ? options.maxZoom : Infinity;\n /**\n * @type {string}\n * @private\n */\n _this.className_ =\n properties.className !== undefined ? properties.className : 'ol-layer';\n delete properties.className;\n _this.setProperties(properties);\n /**\n * @type {import(\"./Layer.js\").State}\n * @private\n */\n _this.state_ = null;\n return _this;\n }\n /**\n * Get the background for this layer.\n * @return {BackgroundColor|false} Layer background.\n */\n BaseLayer.prototype.getBackground = function () {\n return this.background_;\n };\n /**\n * @return {string} CSS class name.\n */\n BaseLayer.prototype.getClassName = function () {\n return this.className_;\n };\n /**\n * This method is not meant to be called by layers or layer renderers because the state\n * is incorrect if the layer is included in a layer group.\n *\n * @param {boolean} [opt_managed] Layer is managed.\n * @return {import(\"./Layer.js\").State} Layer state.\n */\n BaseLayer.prototype.getLayerState = function (opt_managed) {\n /** @type {import(\"./Layer.js\").State} */\n var state = this.state_ ||\n /** @type {?} */ ({\n layer: this,\n managed: opt_managed === undefined ? true : opt_managed,\n });\n var zIndex = this.getZIndex();\n state.opacity = clamp(Math.round(this.getOpacity() * 100) / 100, 0, 1);\n state.visible = this.getVisible();\n state.extent = this.getExtent();\n state.zIndex = zIndex === undefined && !state.managed ? Infinity : zIndex;\n state.maxResolution = this.getMaxResolution();\n state.minResolution = Math.max(this.getMinResolution(), 0);\n state.minZoom = this.getMinZoom();\n state.maxZoom = this.getMaxZoom();\n this.state_ = state;\n return state;\n };\n /**\n * @abstract\n * @param {Array} [opt_array] Array of layers (to be\n * modified in place).\n * @return {Array} Array of layers.\n */\n BaseLayer.prototype.getLayersArray = function (opt_array) {\n return abstract();\n };\n /**\n * @abstract\n * @param {Array} [opt_states] Optional list of layer\n * states (to be modified in place).\n * @return {Array} List of layer states.\n */\n BaseLayer.prototype.getLayerStatesArray = function (opt_states) {\n return abstract();\n };\n /**\n * Return the {@link module:ol/extent~Extent extent} of the layer or `undefined` if it\n * will be visible regardless of extent.\n * @return {import(\"../extent.js\").Extent|undefined} The layer extent.\n * @observable\n * @api\n */\n BaseLayer.prototype.getExtent = function () {\n return /** @type {import(\"../extent.js\").Extent|undefined} */ (this.get(LayerProperty.EXTENT));\n };\n /**\n * Return the maximum resolution of the layer.\n * @return {number} The maximum resolution of the layer.\n * @observable\n * @api\n */\n BaseLayer.prototype.getMaxResolution = function () {\n return /** @type {number} */ (this.get(LayerProperty.MAX_RESOLUTION));\n };\n /**\n * Return the minimum resolution of the layer.\n * @return {number} The minimum resolution of the layer.\n * @observable\n * @api\n */\n BaseLayer.prototype.getMinResolution = function () {\n return /** @type {number} */ (this.get(LayerProperty.MIN_RESOLUTION));\n };\n /**\n * Return the minimum zoom level of the layer.\n * @return {number} The minimum zoom level of the layer.\n * @observable\n * @api\n */\n BaseLayer.prototype.getMinZoom = function () {\n return /** @type {number} */ (this.get(LayerProperty.MIN_ZOOM));\n };\n /**\n * Return the maximum zoom level of the layer.\n * @return {number} The maximum zoom level of the layer.\n * @observable\n * @api\n */\n BaseLayer.prototype.getMaxZoom = function () {\n return /** @type {number} */ (this.get(LayerProperty.MAX_ZOOM));\n };\n /**\n * Return the opacity of the layer (between 0 and 1).\n * @return {number} The opacity of the layer.\n * @observable\n * @api\n */\n BaseLayer.prototype.getOpacity = function () {\n return /** @type {number} */ (this.get(LayerProperty.OPACITY));\n };\n /**\n * @abstract\n * @return {import(\"../source/Source.js\").State} Source state.\n */\n BaseLayer.prototype.getSourceState = function () {\n return abstract();\n };\n /**\n * Return the visibility of the layer (`true` or `false`).\n * @return {boolean} The visibility of the layer.\n * @observable\n * @api\n */\n BaseLayer.prototype.getVisible = function () {\n return /** @type {boolean} */ (this.get(LayerProperty.VISIBLE));\n };\n /**\n * Return the Z-index of the layer, which is used to order layers before\n * rendering. The default Z-index is 0.\n * @return {number} The Z-index of the layer.\n * @observable\n * @api\n */\n BaseLayer.prototype.getZIndex = function () {\n return /** @type {number} */ (this.get(LayerProperty.Z_INDEX));\n };\n /**\n * Sets the background color.\n * @param {BackgroundColor} [opt_background] Background color.\n */\n BaseLayer.prototype.setBackground = function (opt_background) {\n this.background_ = opt_background;\n this.changed();\n };\n /**\n * Set the extent at which the layer is visible. If `undefined`, the layer\n * will be visible at all extents.\n * @param {import(\"../extent.js\").Extent|undefined} extent The extent of the layer.\n * @observable\n * @api\n */\n BaseLayer.prototype.setExtent = function (extent) {\n this.set(LayerProperty.EXTENT, extent);\n };\n /**\n * Set the maximum resolution at which the layer is visible.\n * @param {number} maxResolution The maximum resolution of the layer.\n * @observable\n * @api\n */\n BaseLayer.prototype.setMaxResolution = function (maxResolution) {\n this.set(LayerProperty.MAX_RESOLUTION, maxResolution);\n };\n /**\n * Set the minimum resolution at which the layer is visible.\n * @param {number} minResolution The minimum resolution of the layer.\n * @observable\n * @api\n */\n BaseLayer.prototype.setMinResolution = function (minResolution) {\n this.set(LayerProperty.MIN_RESOLUTION, minResolution);\n };\n /**\n * Set the maximum zoom (exclusive) at which the layer is visible.\n * Note that the zoom levels for layer visibility are based on the\n * view zoom level, which may be different from a tile source zoom level.\n * @param {number} maxZoom The maximum zoom of the layer.\n * @observable\n * @api\n */\n BaseLayer.prototype.setMaxZoom = function (maxZoom) {\n this.set(LayerProperty.MAX_ZOOM, maxZoom);\n };\n /**\n * Set the minimum zoom (inclusive) at which the layer is visible.\n * Note that the zoom levels for layer visibility are based on the\n * view zoom level, which may be different from a tile source zoom level.\n * @param {number} minZoom The minimum zoom of the layer.\n * @observable\n * @api\n */\n BaseLayer.prototype.setMinZoom = function (minZoom) {\n this.set(LayerProperty.MIN_ZOOM, minZoom);\n };\n /**\n * Set the opacity of the layer, allowed values range from 0 to 1.\n * @param {number} opacity The opacity of the layer.\n * @observable\n * @api\n */\n BaseLayer.prototype.setOpacity = function (opacity) {\n assert(typeof opacity === 'number', 64); // Layer opacity must be a number\n this.set(LayerProperty.OPACITY, opacity);\n };\n /**\n * Set the visibility of the layer (`true` or `false`).\n * @param {boolean} visible The visibility of the layer.\n * @observable\n * @api\n */\n BaseLayer.prototype.setVisible = function (visible) {\n this.set(LayerProperty.VISIBLE, visible);\n };\n /**\n * Set Z-index of the layer, which is used to order layers before rendering.\n * The default Z-index is 0.\n * @param {number} zindex The z-index of the layer.\n * @observable\n * @api\n */\n BaseLayer.prototype.setZIndex = function (zindex) {\n this.set(LayerProperty.Z_INDEX, zindex);\n };\n /**\n * Clean up.\n */\n BaseLayer.prototype.disposeInternal = function () {\n if (this.state_) {\n this.state_.layer = null;\n this.state_ = null;\n }\n _super.prototype.disposeInternal.call(this);\n };\n return BaseLayer;\n}(BaseObject));\nexport default BaseLayer;\n//# sourceMappingURL=Base.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search.vue?vue&type=style&index=0&id=e445e8dc&prod&lang=less\"","/*!\n * devextreme-vue\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DxLabel = exports.DxImage = exports.DxHoverStyle = exports.DxHorizontalLineLabel = exports.DxHorizontalLine = exports.DxHeight = exports.DxHatching = exports.DxGrid = exports.DxFormat = exports.DxFont = exports.DxExport = exports.DxDragBoxStyle = exports.DxDataPrepareSettings = exports.DxCrosshair = exports.DxConstantLineStyle = exports.DxConstantLineLabel = exports.DxConstantLine = exports.DxConnector = exports.DxCommonSeriesSettingsSelectionStyle = exports.DxCommonSeriesSettingsLabel = exports.DxCommonSeriesSettingsHoverStyle = exports.DxCommonSeriesSettings = exports.DxCommonPaneSettings = exports.DxCommonAxisSettingsTitle = exports.DxCommonAxisSettingsLabel = exports.DxCommonAxisSettingsConstantLineStyleLabel = exports.DxCommonAxisSettingsConstantLineStyle = exports.DxCommonAxisSettings = exports.DxCommonAnnotationSettings = exports.DxColor = exports.DxChartTitleSubtitle = exports.DxChartTitle = exports.DxBreakStyle = exports.DxBreak = exports.DxBorder = exports.DxBackgroundColor = exports.DxAxisTitle = exports.DxAxisLabel = exports.DxAxisConstantLineStyleLabel = exports.DxAxisConstantLineStyle = exports.DxArgumentFormat = exports.DxArgumentAxis = exports.DxAnnotationImage = exports.DxAnnotationBorder = exports.DxAnnotation = exports.DxAnimation = exports.DxAggregationInterval = exports.DxAggregation = exports.DxAdaptiveLayout = exports.DxChart = void 0;\nexports.DxZoomAndPan = exports.DxWidth = exports.DxWholeRange = exports.DxVisualRange = exports.DxVerticalLine = exports.DxValueErrorBar = exports.DxValueAxis = exports.DxUrl = exports.DxTooltipBorder = exports.DxTooltip = exports.DxTitle = exports.DxTickInterval = exports.DxTick = exports.DxSubtitle = exports.DxStripStyleLabel = exports.DxStripStyle = exports.DxStripLabel = exports.DxStrip = exports.DxSize = exports.DxShadow = exports.DxSeriesTemplate = exports.DxSeriesBorder = exports.DxSeries = exports.DxSelectionStyle = exports.DxScrollBar = exports.DxReduction = exports.DxPointSelectionStyle = exports.DxPointImage = exports.DxPointHoverStyle = exports.DxPointBorder = exports.DxPoint = exports.DxPaneBorder = exports.DxPane = exports.DxMinVisualRangeLength = exports.DxMinorTickInterval = exports.DxMinorTick = exports.DxMinorGrid = exports.DxMargin = exports.DxLoadingIndicator = exports.DxLength = exports.DxLegendTitleSubtitle = exports.DxLegendTitle = exports.DxLegend = void 0;\nvar chart_1 = __importDefault(require(\"devextreme/viz/chart\"));\nvar index_1 = require(\"./core/index\");\nvar index_2 = require(\"./core/index\");\nvar DxChart = (0, index_1.createComponent)({\n props: {\n adaptiveLayout: Object,\n adjustOnZoom: Boolean,\n animation: [Boolean, Object],\n annotations: Array,\n argumentAxis: Object,\n autoHidePointMarkers: Boolean,\n barGroupPadding: Number,\n barGroupWidth: Number,\n commonAnnotationSettings: Object,\n commonAxisSettings: Object,\n commonPaneSettings: Object,\n commonSeriesSettings: Object,\n containerBackgroundColor: String,\n crosshair: Object,\n customizeAnnotation: Function,\n customizeLabel: Function,\n customizePoint: Function,\n dataPrepareSettings: Object,\n dataSource: {},\n defaultPane: String,\n disabled: Boolean,\n elementAttr: Object,\n export: Object,\n legend: Object,\n loadingIndicator: Object,\n margin: Object,\n maxBubbleSize: Number,\n minBubbleSize: Number,\n negativesAsZeroes: Boolean,\n onArgumentAxisClick: Function,\n onDisposing: Function,\n onDone: Function,\n onDrawn: Function,\n onExported: Function,\n onExporting: Function,\n onFileSaving: Function,\n onIncidentOccurred: Function,\n onInitialized: Function,\n onLegendClick: Function,\n onOptionChanged: Function,\n onPointClick: Function,\n onPointHoverChanged: Function,\n onPointSelectionChanged: Function,\n onSeriesClick: Function,\n onSeriesHoverChanged: Function,\n onSeriesSelectionChanged: Function,\n onTooltipHidden: Function,\n onTooltipShown: Function,\n onZoomEnd: Function,\n onZoomStart: Function,\n palette: [Array, String],\n paletteExtensionMode: String,\n panes: [Array, Object],\n pathModified: Boolean,\n pointSelectionMode: String,\n redrawOnResize: Boolean,\n resizePanesOnZoom: Boolean,\n resolveLabelOverlapping: String,\n rotated: Boolean,\n rtlEnabled: Boolean,\n scrollBar: Object,\n series: [Array, Object],\n seriesSelectionMode: String,\n seriesTemplate: Object,\n size: Object,\n stickyHovering: Boolean,\n synchronizeMultiAxes: Boolean,\n theme: String,\n title: [Object, String],\n tooltip: Object,\n valueAxis: [Array, Object],\n zoomAndPan: Object\n },\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:adaptiveLayout\": null,\n \"update:adjustOnZoom\": null,\n \"update:animation\": null,\n \"update:annotations\": null,\n \"update:argumentAxis\": null,\n \"update:autoHidePointMarkers\": null,\n \"update:barGroupPadding\": null,\n \"update:barGroupWidth\": null,\n \"update:commonAnnotationSettings\": null,\n \"update:commonAxisSettings\": null,\n \"update:commonPaneSettings\": null,\n \"update:commonSeriesSettings\": null,\n \"update:containerBackgroundColor\": null,\n \"update:crosshair\": null,\n \"update:customizeAnnotation\": null,\n \"update:customizeLabel\": null,\n \"update:customizePoint\": null,\n \"update:dataPrepareSettings\": null,\n \"update:dataSource\": null,\n \"update:defaultPane\": null,\n \"update:disabled\": null,\n \"update:elementAttr\": null,\n \"update:export\": null,\n \"update:legend\": null,\n \"update:loadingIndicator\": null,\n \"update:margin\": null,\n \"update:maxBubbleSize\": null,\n \"update:minBubbleSize\": null,\n \"update:negativesAsZeroes\": null,\n \"update:onArgumentAxisClick\": null,\n \"update:onDisposing\": null,\n \"update:onDone\": null,\n \"update:onDrawn\": null,\n \"update:onExported\": null,\n \"update:onExporting\": null,\n \"update:onFileSaving\": null,\n \"update:onIncidentOccurred\": null,\n \"update:onInitialized\": null,\n \"update:onLegendClick\": null,\n \"update:onOptionChanged\": null,\n \"update:onPointClick\": null,\n \"update:onPointHoverChanged\": null,\n \"update:onPointSelectionChanged\": null,\n \"update:onSeriesClick\": null,\n \"update:onSeriesHoverChanged\": null,\n \"update:onSeriesSelectionChanged\": null,\n \"update:onTooltipHidden\": null,\n \"update:onTooltipShown\": null,\n \"update:onZoomEnd\": null,\n \"update:onZoomStart\": null,\n \"update:palette\": null,\n \"update:paletteExtensionMode\": null,\n \"update:panes\": null,\n \"update:pathModified\": null,\n \"update:pointSelectionMode\": null,\n \"update:redrawOnResize\": null,\n \"update:resizePanesOnZoom\": null,\n \"update:resolveLabelOverlapping\": null,\n \"update:rotated\": null,\n \"update:rtlEnabled\": null,\n \"update:scrollBar\": null,\n \"update:series\": null,\n \"update:seriesSelectionMode\": null,\n \"update:seriesTemplate\": null,\n \"update:size\": null,\n \"update:stickyHovering\": null,\n \"update:synchronizeMultiAxes\": null,\n \"update:theme\": null,\n \"update:title\": null,\n \"update:tooltip\": null,\n \"update:valueAxis\": null,\n \"update:zoomAndPan\": null,\n },\n computed: {\n instance: function () {\n return this.$_instance;\n }\n },\n beforeCreate: function () {\n this.$_WidgetClass = chart_1.default;\n this.$_hasAsyncTemplate = true;\n this.$_expectedChildren = {\n adaptiveLayout: { isCollectionItem: false, optionName: \"adaptiveLayout\" },\n animation: { isCollectionItem: false, optionName: \"animation\" },\n annotation: { isCollectionItem: true, optionName: \"annotations\" },\n argumentAxis: { isCollectionItem: false, optionName: \"argumentAxis\" },\n chartTitle: { isCollectionItem: false, optionName: \"title\" },\n commonAnnotationSettings: { isCollectionItem: false, optionName: \"commonAnnotationSettings\" },\n commonAxisSettings: { isCollectionItem: false, optionName: \"commonAxisSettings\" },\n commonPaneSettings: { isCollectionItem: false, optionName: \"commonPaneSettings\" },\n commonSeriesSettings: { isCollectionItem: false, optionName: \"commonSeriesSettings\" },\n crosshair: { isCollectionItem: false, optionName: \"crosshair\" },\n dataPrepareSettings: { isCollectionItem: false, optionName: \"dataPrepareSettings\" },\n export: { isCollectionItem: false, optionName: \"export\" },\n legend: { isCollectionItem: false, optionName: \"legend\" },\n loadingIndicator: { isCollectionItem: false, optionName: \"loadingIndicator\" },\n margin: { isCollectionItem: false, optionName: \"margin\" },\n pane: { isCollectionItem: true, optionName: \"panes\" },\n scrollBar: { isCollectionItem: false, optionName: \"scrollBar\" },\n series: { isCollectionItem: true, optionName: \"series\" },\n seriesTemplate: { isCollectionItem: false, optionName: \"seriesTemplate\" },\n size: { isCollectionItem: false, optionName: \"size\" },\n title: { isCollectionItem: false, optionName: \"title\" },\n tooltip: { isCollectionItem: false, optionName: \"tooltip\" },\n valueAxis: { isCollectionItem: true, optionName: \"valueAxis\" },\n zoomAndPan: { isCollectionItem: false, optionName: \"zoomAndPan\" }\n };\n }\n});\nexports.DxChart = DxChart;\nvar DxAdaptiveLayout = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:height\": null,\n \"update:keepLabels\": null,\n \"update:width\": null,\n },\n props: {\n height: Number,\n keepLabels: Boolean,\n width: Number\n }\n});\nexports.DxAdaptiveLayout = DxAdaptiveLayout;\nDxAdaptiveLayout.$_optionName = \"adaptiveLayout\";\nvar DxAggregation = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:calculate\": null,\n \"update:enabled\": null,\n \"update:method\": null,\n },\n props: {\n calculate: Function,\n enabled: Boolean,\n method: String\n }\n});\nexports.DxAggregation = DxAggregation;\nDxAggregation.$_optionName = \"aggregation\";\nvar DxAggregationInterval = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:days\": null,\n \"update:hours\": null,\n \"update:milliseconds\": null,\n \"update:minutes\": null,\n \"update:months\": null,\n \"update:quarters\": null,\n \"update:seconds\": null,\n \"update:weeks\": null,\n \"update:years\": null,\n },\n props: {\n days: Number,\n hours: Number,\n milliseconds: Number,\n minutes: Number,\n months: Number,\n quarters: Number,\n seconds: Number,\n weeks: Number,\n years: Number\n }\n});\nexports.DxAggregationInterval = DxAggregationInterval;\nDxAggregationInterval.$_optionName = \"aggregationInterval\";\nvar DxAnimation = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:duration\": null,\n \"update:easing\": null,\n \"update:enabled\": null,\n \"update:maxPointCountSupported\": null,\n },\n props: {\n duration: Number,\n easing: String,\n enabled: Boolean,\n maxPointCountSupported: Number\n }\n});\nexports.DxAnimation = DxAnimation;\nDxAnimation.$_optionName = \"animation\";\nvar DxAnnotation = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowDragging\": null,\n \"update:argument\": null,\n \"update:arrowLength\": null,\n \"update:arrowWidth\": null,\n \"update:axis\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:customizeTooltip\": null,\n \"update:data\": null,\n \"update:description\": null,\n \"update:font\": null,\n \"update:height\": null,\n \"update:image\": null,\n \"update:name\": null,\n \"update:offsetX\": null,\n \"update:offsetY\": null,\n \"update:opacity\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:series\": null,\n \"update:shadow\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:tooltipEnabled\": null,\n \"update:tooltipTemplate\": null,\n \"update:type\": null,\n \"update:value\": null,\n \"update:width\": null,\n \"update:wordWrap\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n allowDragging: Boolean,\n argument: {},\n arrowLength: Number,\n arrowWidth: Number,\n axis: String,\n border: Object,\n color: String,\n customizeTooltip: Function,\n data: {},\n description: String,\n font: Object,\n height: Number,\n image: [Object, String],\n name: String,\n offsetX: Number,\n offsetY: Number,\n opacity: Number,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n series: String,\n shadow: Object,\n template: {},\n text: String,\n textOverflow: String,\n tooltipEnabled: Boolean,\n tooltipTemplate: {},\n type: String,\n value: {},\n width: Number,\n wordWrap: String,\n x: Number,\n y: Number\n }\n});\nexports.DxAnnotation = DxAnnotation;\nDxAnnotation.$_optionName = \"annotations\";\nDxAnnotation.$_isCollectionItem = true;\nDxAnnotation.$_expectedChildren = {\n annotationBorder: { isCollectionItem: false, optionName: \"border\" },\n annotationImage: { isCollectionItem: false, optionName: \"image\" },\n border: { isCollectionItem: false, optionName: \"border\" },\n font: { isCollectionItem: false, optionName: \"font\" },\n image: { isCollectionItem: false, optionName: \"image\" },\n shadow: { isCollectionItem: false, optionName: \"shadow\" }\n};\nvar DxAnnotationBorder = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:cornerRadius\": null,\n \"update:dashStyle\": null,\n \"update:opacity\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n cornerRadius: Number,\n dashStyle: String,\n opacity: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxAnnotationBorder = DxAnnotationBorder;\nDxAnnotationBorder.$_optionName = \"border\";\nvar DxAnnotationImage = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:height\": null,\n \"update:url\": null,\n \"update:width\": null,\n },\n props: {\n height: Number,\n url: String,\n width: Number\n }\n});\nexports.DxAnnotationImage = DxAnnotationImage;\nDxAnnotationImage.$_optionName = \"image\";\nvar DxArgumentAxis = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:aggregateByCategory\": null,\n \"update:aggregatedPointsPosition\": null,\n \"update:aggregationGroupWidth\": null,\n \"update:aggregationInterval\": null,\n \"update:allowDecimals\": null,\n \"update:argumentType\": null,\n \"update:axisDivisionFactor\": null,\n \"update:breaks\": null,\n \"update:breakStyle\": null,\n \"update:categories\": null,\n \"update:color\": null,\n \"update:constantLines\": null,\n \"update:constantLineStyle\": null,\n \"update:customPosition\": null,\n \"update:customPositionAxis\": null,\n \"update:discreteAxisDivisionMode\": null,\n \"update:endOnTick\": null,\n \"update:grid\": null,\n \"update:holidays\": null,\n \"update:hoverMode\": null,\n \"update:inverted\": null,\n \"update:label\": null,\n \"update:linearThreshold\": null,\n \"update:logarithmBase\": null,\n \"update:maxValueMargin\": null,\n \"update:minorGrid\": null,\n \"update:minorTick\": null,\n \"update:minorTickCount\": null,\n \"update:minorTickInterval\": null,\n \"update:minValueMargin\": null,\n \"update:minVisualRangeLength\": null,\n \"update:offset\": null,\n \"update:opacity\": null,\n \"update:placeholderSize\": null,\n \"update:position\": null,\n \"update:singleWorkdays\": null,\n \"update:strips\": null,\n \"update:stripStyle\": null,\n \"update:tick\": null,\n \"update:tickInterval\": null,\n \"update:title\": null,\n \"update:type\": null,\n \"update:valueMarginsEnabled\": null,\n \"update:visible\": null,\n \"update:visualRange\": null,\n \"update:visualRangeUpdateMode\": null,\n \"update:wholeRange\": null,\n \"update:width\": null,\n \"update:workdaysOnly\": null,\n \"update:workWeek\": null,\n },\n props: {\n aggregateByCategory: Boolean,\n aggregatedPointsPosition: String,\n aggregationGroupWidth: Number,\n aggregationInterval: [Number, Object, String],\n allowDecimals: Boolean,\n argumentType: String,\n axisDivisionFactor: Number,\n breaks: Array,\n breakStyle: Object,\n categories: Array,\n color: String,\n constantLines: Array,\n constantLineStyle: Object,\n customPosition: {},\n customPositionAxis: String,\n discreteAxisDivisionMode: String,\n endOnTick: Boolean,\n grid: Object,\n holidays: Array,\n hoverMode: String,\n inverted: Boolean,\n label: Object,\n linearThreshold: Number,\n logarithmBase: Number,\n maxValueMargin: Number,\n minorGrid: Object,\n minorTick: Object,\n minorTickCount: Number,\n minorTickInterval: [Number, Object, String],\n minValueMargin: Number,\n minVisualRangeLength: [Number, Object, String],\n offset: Number,\n opacity: Number,\n placeholderSize: Number,\n position: String,\n singleWorkdays: Array,\n strips: Array,\n stripStyle: Object,\n tick: Object,\n tickInterval: [Number, Object, String],\n title: [Object, String],\n type: String,\n valueMarginsEnabled: Boolean,\n visible: Boolean,\n visualRange: [Array, Object],\n visualRangeUpdateMode: String,\n wholeRange: [Array, Object],\n width: Number,\n workdaysOnly: Boolean,\n workWeek: Array\n }\n});\nexports.DxArgumentAxis = DxArgumentAxis;\nDxArgumentAxis.$_optionName = \"argumentAxis\";\nDxArgumentAxis.$_expectedChildren = {\n aggregationInterval: { isCollectionItem: false, optionName: \"aggregationInterval\" },\n axisConstantLineStyle: { isCollectionItem: false, optionName: \"constantLineStyle\" },\n axisLabel: { isCollectionItem: false, optionName: \"label\" },\n axisTitle: { isCollectionItem: false, optionName: \"title\" },\n break: { isCollectionItem: true, optionName: \"breaks\" },\n breakStyle: { isCollectionItem: false, optionName: \"breakStyle\" },\n constantLine: { isCollectionItem: true, optionName: \"constantLines\" },\n constantLineStyle: { isCollectionItem: false, optionName: \"constantLineStyle\" },\n grid: { isCollectionItem: false, optionName: \"grid\" },\n label: { isCollectionItem: false, optionName: \"label\" },\n minorGrid: { isCollectionItem: false, optionName: \"minorGrid\" },\n minorTick: { isCollectionItem: false, optionName: \"minorTick\" },\n minorTickInterval: { isCollectionItem: false, optionName: \"minorTickInterval\" },\n minVisualRangeLength: { isCollectionItem: false, optionName: \"minVisualRangeLength\" },\n strip: { isCollectionItem: true, optionName: \"strips\" },\n stripStyle: { isCollectionItem: false, optionName: \"stripStyle\" },\n tick: { isCollectionItem: false, optionName: \"tick\" },\n tickInterval: { isCollectionItem: false, optionName: \"tickInterval\" },\n title: { isCollectionItem: false, optionName: \"title\" },\n visualRange: { isCollectionItem: false, optionName: \"visualRange\" },\n wholeRange: { isCollectionItem: false, optionName: \"wholeRange\" }\n};\nvar DxArgumentFormat = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:currency\": null,\n \"update:formatter\": null,\n \"update:parser\": null,\n \"update:precision\": null,\n \"update:type\": null,\n \"update:useCurrencyAccountingStyle\": null,\n },\n props: {\n currency: String,\n formatter: Function,\n parser: Function,\n precision: Number,\n type: String,\n useCurrencyAccountingStyle: Boolean\n }\n});\nexports.DxArgumentFormat = DxArgumentFormat;\nDxArgumentFormat.$_optionName = \"argumentFormat\";\nvar DxAxisConstantLineStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:label\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n label: Object,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n width: Number\n }\n});\nexports.DxAxisConstantLineStyle = DxAxisConstantLineStyle;\nDxAxisConstantLineStyle.$_optionName = \"constantLineStyle\";\nvar DxAxisConstantLineStyleLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:position\": null,\n \"update:verticalAlignment\": null,\n \"update:visible\": null,\n },\n props: {\n font: Object,\n horizontalAlignment: String,\n position: String,\n verticalAlignment: String,\n visible: Boolean\n }\n});\nexports.DxAxisConstantLineStyleLabel = DxAxisConstantLineStyleLabel;\nDxAxisConstantLineStyleLabel.$_optionName = \"label\";\nvar DxAxisLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:customizeHint\": null,\n \"update:customizeText\": null,\n \"update:displayMode\": null,\n \"update:font\": null,\n \"update:format\": null,\n \"update:indentFromAxis\": null,\n \"update:overlappingBehavior\": null,\n \"update:position\": null,\n \"update:rotationAngle\": null,\n \"update:staggeringSpacing\": null,\n \"update:template\": null,\n \"update:textOverflow\": null,\n \"update:visible\": null,\n \"update:wordWrap\": null,\n },\n props: {\n alignment: String,\n customizeHint: Function,\n customizeText: Function,\n displayMode: String,\n font: Object,\n format: [Object, Function, String],\n indentFromAxis: Number,\n overlappingBehavior: String,\n position: String,\n rotationAngle: Number,\n staggeringSpacing: Number,\n template: {},\n textOverflow: String,\n visible: Boolean,\n wordWrap: String\n }\n});\nexports.DxAxisLabel = DxAxisLabel;\nDxAxisLabel.$_optionName = \"label\";\nvar DxAxisTitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:font\": null,\n \"update:margin\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:wordWrap\": null,\n },\n props: {\n alignment: String,\n font: Object,\n margin: Number,\n text: String,\n textOverflow: String,\n wordWrap: String\n }\n});\nexports.DxAxisTitle = DxAxisTitle;\nDxAxisTitle.$_optionName = \"title\";\nvar DxBackgroundColor = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:base\": null,\n \"update:fillId\": null,\n },\n props: {\n base: String,\n fillId: String\n }\n});\nexports.DxBackgroundColor = DxBackgroundColor;\nDxBackgroundColor.$_optionName = \"backgroundColor\";\nvar DxBorder = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:bottom\": null,\n \"update:color\": null,\n \"update:cornerRadius\": null,\n \"update:dashStyle\": null,\n \"update:left\": null,\n \"update:opacity\": null,\n \"update:right\": null,\n \"update:top\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n bottom: Boolean,\n color: String,\n cornerRadius: Number,\n dashStyle: String,\n left: Boolean,\n opacity: Number,\n right: Boolean,\n top: Boolean,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxBorder = DxBorder;\nDxBorder.$_optionName = \"border\";\nvar DxBreak = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:endValue\": null,\n \"update:startValue\": null,\n },\n props: {\n endValue: {},\n startValue: {}\n }\n});\nexports.DxBreak = DxBreak;\nDxBreak.$_optionName = \"breaks\";\nDxBreak.$_isCollectionItem = true;\nvar DxBreakStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:line\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n line: String,\n width: Number\n }\n});\nexports.DxBreakStyle = DxBreakStyle;\nDxBreakStyle.$_optionName = \"breakStyle\";\nvar DxChartTitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:margin\": null,\n \"update:placeholderSize\": null,\n \"update:subtitle\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:verticalAlignment\": null,\n \"update:wordWrap\": null,\n },\n props: {\n font: Object,\n horizontalAlignment: String,\n margin: [Number, Object],\n placeholderSize: Number,\n subtitle: [Object, String],\n text: String,\n textOverflow: String,\n verticalAlignment: String,\n wordWrap: String\n }\n});\nexports.DxChartTitle = DxChartTitle;\nDxChartTitle.$_optionName = \"title\";\nDxChartTitle.$_expectedChildren = {\n chartTitleSubtitle: { isCollectionItem: false, optionName: \"subtitle\" },\n font: { isCollectionItem: false, optionName: \"font\" },\n margin: { isCollectionItem: false, optionName: \"margin\" },\n subtitle: { isCollectionItem: false, optionName: \"subtitle\" }\n};\nvar DxChartTitleSubtitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:offset\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:wordWrap\": null,\n },\n props: {\n font: Object,\n offset: Number,\n text: String,\n textOverflow: String,\n wordWrap: String\n }\n});\nexports.DxChartTitleSubtitle = DxChartTitleSubtitle;\nDxChartTitleSubtitle.$_optionName = \"subtitle\";\nDxChartTitleSubtitle.$_expectedChildren = {\n font: { isCollectionItem: false, optionName: \"font\" }\n};\nvar DxColor = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:base\": null,\n \"update:fillId\": null,\n },\n props: {\n base: String,\n fillId: String\n }\n});\nexports.DxColor = DxColor;\nDxColor.$_optionName = \"color\";\nvar DxCommonAnnotationSettings = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowDragging\": null,\n \"update:argument\": null,\n \"update:arrowLength\": null,\n \"update:arrowWidth\": null,\n \"update:axis\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:customizeTooltip\": null,\n \"update:data\": null,\n \"update:description\": null,\n \"update:font\": null,\n \"update:height\": null,\n \"update:image\": null,\n \"update:offsetX\": null,\n \"update:offsetY\": null,\n \"update:opacity\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:series\": null,\n \"update:shadow\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:tooltipEnabled\": null,\n \"update:tooltipTemplate\": null,\n \"update:type\": null,\n \"update:value\": null,\n \"update:width\": null,\n \"update:wordWrap\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n allowDragging: Boolean,\n argument: {},\n arrowLength: Number,\n arrowWidth: Number,\n axis: String,\n border: Object,\n color: String,\n customizeTooltip: Function,\n data: {},\n description: String,\n font: Object,\n height: Number,\n image: [Object, String],\n offsetX: Number,\n offsetY: Number,\n opacity: Number,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n series: String,\n shadow: Object,\n template: {},\n text: String,\n textOverflow: String,\n tooltipEnabled: Boolean,\n tooltipTemplate: {},\n type: String,\n value: {},\n width: Number,\n wordWrap: String,\n x: Number,\n y: Number\n }\n});\nexports.DxCommonAnnotationSettings = DxCommonAnnotationSettings;\nDxCommonAnnotationSettings.$_optionName = \"commonAnnotationSettings\";\nvar DxCommonAxisSettings = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:aggregatedPointsPosition\": null,\n \"update:allowDecimals\": null,\n \"update:breakStyle\": null,\n \"update:color\": null,\n \"update:constantLineStyle\": null,\n \"update:discreteAxisDivisionMode\": null,\n \"update:endOnTick\": null,\n \"update:grid\": null,\n \"update:inverted\": null,\n \"update:label\": null,\n \"update:maxValueMargin\": null,\n \"update:minorGrid\": null,\n \"update:minorTick\": null,\n \"update:minValueMargin\": null,\n \"update:opacity\": null,\n \"update:placeholderSize\": null,\n \"update:stripStyle\": null,\n \"update:tick\": null,\n \"update:title\": null,\n \"update:valueMarginsEnabled\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n aggregatedPointsPosition: String,\n allowDecimals: Boolean,\n breakStyle: Object,\n color: String,\n constantLineStyle: Object,\n discreteAxisDivisionMode: String,\n endOnTick: Boolean,\n grid: Object,\n inverted: Boolean,\n label: Object,\n maxValueMargin: Number,\n minorGrid: Object,\n minorTick: Object,\n minValueMargin: Number,\n opacity: Number,\n placeholderSize: Number,\n stripStyle: Object,\n tick: Object,\n title: Object,\n valueMarginsEnabled: Boolean,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxCommonAxisSettings = DxCommonAxisSettings;\nDxCommonAxisSettings.$_optionName = \"commonAxisSettings\";\nDxCommonAxisSettings.$_expectedChildren = {\n commonAxisSettingsConstantLineStyle: { isCollectionItem: false, optionName: \"constantLineStyle\" },\n commonAxisSettingsLabel: { isCollectionItem: false, optionName: \"label\" },\n commonAxisSettingsTitle: { isCollectionItem: false, optionName: \"title\" },\n constantLineStyle: { isCollectionItem: false, optionName: \"constantLineStyle\" },\n label: { isCollectionItem: false, optionName: \"label\" },\n title: { isCollectionItem: false, optionName: \"title\" }\n};\nvar DxCommonAxisSettingsConstantLineStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:label\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n label: Object,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n width: Number\n }\n});\nexports.DxCommonAxisSettingsConstantLineStyle = DxCommonAxisSettingsConstantLineStyle;\nDxCommonAxisSettingsConstantLineStyle.$_optionName = \"constantLineStyle\";\nDxCommonAxisSettingsConstantLineStyle.$_expectedChildren = {\n commonAxisSettingsConstantLineStyleLabel: { isCollectionItem: false, optionName: \"label\" },\n label: { isCollectionItem: false, optionName: \"label\" }\n};\nvar DxCommonAxisSettingsConstantLineStyleLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:position\": null,\n \"update:visible\": null,\n },\n props: {\n font: Object,\n position: String,\n visible: Boolean\n }\n});\nexports.DxCommonAxisSettingsConstantLineStyleLabel = DxCommonAxisSettingsConstantLineStyleLabel;\nDxCommonAxisSettingsConstantLineStyleLabel.$_optionName = \"label\";\nvar DxCommonAxisSettingsLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:displayMode\": null,\n \"update:font\": null,\n \"update:indentFromAxis\": null,\n \"update:overlappingBehavior\": null,\n \"update:position\": null,\n \"update:rotationAngle\": null,\n \"update:staggeringSpacing\": null,\n \"update:template\": null,\n \"update:textOverflow\": null,\n \"update:visible\": null,\n \"update:wordWrap\": null,\n },\n props: {\n alignment: String,\n displayMode: String,\n font: Object,\n indentFromAxis: Number,\n overlappingBehavior: String,\n position: String,\n rotationAngle: Number,\n staggeringSpacing: Number,\n template: {},\n textOverflow: String,\n visible: Boolean,\n wordWrap: String\n }\n});\nexports.DxCommonAxisSettingsLabel = DxCommonAxisSettingsLabel;\nDxCommonAxisSettingsLabel.$_optionName = \"label\";\nvar DxCommonAxisSettingsTitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:font\": null,\n \"update:margin\": null,\n \"update:textOverflow\": null,\n \"update:wordWrap\": null,\n },\n props: {\n alignment: String,\n font: Object,\n margin: Number,\n textOverflow: String,\n wordWrap: String\n }\n});\nexports.DxCommonAxisSettingsTitle = DxCommonAxisSettingsTitle;\nDxCommonAxisSettingsTitle.$_optionName = \"title\";\nvar DxCommonPaneSettings = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:backgroundColor\": null,\n \"update:border\": null,\n },\n props: {\n backgroundColor: [Object, String],\n border: Object\n }\n});\nexports.DxCommonPaneSettings = DxCommonPaneSettings;\nDxCommonPaneSettings.$_optionName = \"commonPaneSettings\";\nDxCommonPaneSettings.$_expectedChildren = {\n backgroundColor: { isCollectionItem: false, optionName: \"backgroundColor\" },\n border: { isCollectionItem: false, optionName: \"border\" },\n paneBorder: { isCollectionItem: false, optionName: \"border\" }\n};\nvar DxCommonSeriesSettings = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:aggregation\": null,\n \"update:area\": null,\n \"update:argumentField\": null,\n \"update:axis\": null,\n \"update:bar\": null,\n \"update:barOverlapGroup\": null,\n \"update:barPadding\": null,\n \"update:barWidth\": null,\n \"update:border\": null,\n \"update:bubble\": null,\n \"update:candlestick\": null,\n \"update:closeValueField\": null,\n \"update:color\": null,\n \"update:cornerRadius\": null,\n \"update:dashStyle\": null,\n \"update:fullstackedarea\": null,\n \"update:fullstackedbar\": null,\n \"update:fullstackedline\": null,\n \"update:fullstackedspline\": null,\n \"update:fullstackedsplinearea\": null,\n \"update:highValueField\": null,\n \"update:hoverMode\": null,\n \"update:hoverStyle\": null,\n \"update:ignoreEmptyPoints\": null,\n \"update:innerColor\": null,\n \"update:label\": null,\n \"update:line\": null,\n \"update:lowValueField\": null,\n \"update:maxLabelCount\": null,\n \"update:minBarSize\": null,\n \"update:opacity\": null,\n \"update:openValueField\": null,\n \"update:pane\": null,\n \"update:point\": null,\n \"update:rangearea\": null,\n \"update:rangebar\": null,\n \"update:rangeValue1Field\": null,\n \"update:rangeValue2Field\": null,\n \"update:reduction\": null,\n \"update:scatter\": null,\n \"update:selectionMode\": null,\n \"update:selectionStyle\": null,\n \"update:showInLegend\": null,\n \"update:sizeField\": null,\n \"update:spline\": null,\n \"update:splinearea\": null,\n \"update:stack\": null,\n \"update:stackedarea\": null,\n \"update:stackedbar\": null,\n \"update:stackedline\": null,\n \"update:stackedspline\": null,\n \"update:stackedsplinearea\": null,\n \"update:steparea\": null,\n \"update:stepline\": null,\n \"update:stock\": null,\n \"update:tagField\": null,\n \"update:type\": null,\n \"update:valueErrorBar\": null,\n \"update:valueField\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n aggregation: Object,\n area: {},\n argumentField: String,\n axis: String,\n bar: {},\n barOverlapGroup: String,\n barPadding: Number,\n barWidth: Number,\n border: Object,\n bubble: {},\n candlestick: {},\n closeValueField: String,\n color: [Object, String],\n cornerRadius: Number,\n dashStyle: String,\n fullstackedarea: {},\n fullstackedbar: {},\n fullstackedline: {},\n fullstackedspline: {},\n fullstackedsplinearea: {},\n highValueField: String,\n hoverMode: String,\n hoverStyle: Object,\n ignoreEmptyPoints: Boolean,\n innerColor: String,\n label: Object,\n line: {},\n lowValueField: String,\n maxLabelCount: Number,\n minBarSize: Number,\n opacity: Number,\n openValueField: String,\n pane: String,\n point: Object,\n rangearea: {},\n rangebar: {},\n rangeValue1Field: String,\n rangeValue2Field: String,\n reduction: Object,\n scatter: {},\n selectionMode: String,\n selectionStyle: Object,\n showInLegend: Boolean,\n sizeField: String,\n spline: {},\n splinearea: {},\n stack: String,\n stackedarea: {},\n stackedbar: {},\n stackedline: {},\n stackedspline: {},\n stackedsplinearea: {},\n steparea: {},\n stepline: {},\n stock: {},\n tagField: String,\n type: String,\n valueErrorBar: Object,\n valueField: String,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxCommonSeriesSettings = DxCommonSeriesSettings;\nDxCommonSeriesSettings.$_optionName = \"commonSeriesSettings\";\nDxCommonSeriesSettings.$_expectedChildren = {\n aggregation: { isCollectionItem: false, optionName: \"aggregation\" },\n border: { isCollectionItem: false, optionName: \"border\" },\n color: { isCollectionItem: false, optionName: \"color\" },\n commonSeriesSettingsHoverStyle: { isCollectionItem: false, optionName: \"hoverStyle\" },\n commonSeriesSettingsLabel: { isCollectionItem: false, optionName: \"label\" },\n commonSeriesSettingsSelectionStyle: { isCollectionItem: false, optionName: \"selectionStyle\" },\n hoverStyle: { isCollectionItem: false, optionName: \"hoverStyle\" },\n label: { isCollectionItem: false, optionName: \"label\" },\n point: { isCollectionItem: false, optionName: \"point\" },\n reduction: { isCollectionItem: false, optionName: \"reduction\" },\n selectionStyle: { isCollectionItem: false, optionName: \"selectionStyle\" },\n seriesBorder: { isCollectionItem: false, optionName: \"border\" },\n valueErrorBar: { isCollectionItem: false, optionName: \"valueErrorBar\" }\n};\nvar DxCommonSeriesSettingsHoverStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:hatching\": null,\n \"update:highlight\": null,\n \"update:width\": null,\n },\n props: {\n border: Object,\n color: [Object, String],\n dashStyle: String,\n hatching: Object,\n highlight: Boolean,\n width: Number\n }\n});\nexports.DxCommonSeriesSettingsHoverStyle = DxCommonSeriesSettingsHoverStyle;\nDxCommonSeriesSettingsHoverStyle.$_optionName = \"hoverStyle\";\nDxCommonSeriesSettingsHoverStyle.$_expectedChildren = {\n border: { isCollectionItem: false, optionName: \"border\" },\n color: { isCollectionItem: false, optionName: \"color\" },\n hatching: { isCollectionItem: false, optionName: \"hatching\" },\n seriesBorder: { isCollectionItem: false, optionName: \"border\" }\n};\nvar DxCommonSeriesSettingsLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:argumentFormat\": null,\n \"update:backgroundColor\": null,\n \"update:border\": null,\n \"update:connector\": null,\n \"update:customizeText\": null,\n \"update:displayFormat\": null,\n \"update:font\": null,\n \"update:format\": null,\n \"update:horizontalOffset\": null,\n \"update:position\": null,\n \"update:rotationAngle\": null,\n \"update:showForZeroValues\": null,\n \"update:verticalOffset\": null,\n \"update:visible\": null,\n },\n props: {\n alignment: String,\n argumentFormat: [Object, Function, String],\n backgroundColor: String,\n border: Object,\n connector: Object,\n customizeText: Function,\n displayFormat: String,\n font: Object,\n format: [Object, Function, String],\n horizontalOffset: Number,\n position: String,\n rotationAngle: Number,\n showForZeroValues: Boolean,\n verticalOffset: Number,\n visible: Boolean\n }\n});\nexports.DxCommonSeriesSettingsLabel = DxCommonSeriesSettingsLabel;\nDxCommonSeriesSettingsLabel.$_optionName = \"label\";\nDxCommonSeriesSettingsLabel.$_expectedChildren = {\n argumentFormat: { isCollectionItem: false, optionName: \"argumentFormat\" },\n border: { isCollectionItem: false, optionName: \"border\" },\n connector: { isCollectionItem: false, optionName: \"connector\" },\n font: { isCollectionItem: false, optionName: \"font\" },\n format: { isCollectionItem: false, optionName: \"format\" },\n seriesBorder: { isCollectionItem: false, optionName: \"border\" }\n};\nvar DxCommonSeriesSettingsSelectionStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:hatching\": null,\n \"update:highlight\": null,\n \"update:width\": null,\n },\n props: {\n border: Object,\n color: [Object, String],\n dashStyle: String,\n hatching: Object,\n highlight: Boolean,\n width: Number\n }\n});\nexports.DxCommonSeriesSettingsSelectionStyle = DxCommonSeriesSettingsSelectionStyle;\nDxCommonSeriesSettingsSelectionStyle.$_optionName = \"selectionStyle\";\nDxCommonSeriesSettingsSelectionStyle.$_expectedChildren = {\n border: { isCollectionItem: false, optionName: \"border\" },\n color: { isCollectionItem: false, optionName: \"color\" },\n hatching: { isCollectionItem: false, optionName: \"hatching\" },\n seriesBorder: { isCollectionItem: false, optionName: \"border\" }\n};\nvar DxConnector = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxConnector = DxConnector;\nDxConnector.$_optionName = \"connector\";\nvar DxConstantLine = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:displayBehindSeries\": null,\n \"update:extendAxis\": null,\n \"update:label\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:value\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n displayBehindSeries: Boolean,\n extendAxis: Boolean,\n label: Object,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n value: {},\n width: Number\n }\n});\nexports.DxConstantLine = DxConstantLine;\nDxConstantLine.$_optionName = \"constantLines\";\nDxConstantLine.$_isCollectionItem = true;\nvar DxConstantLineLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:position\": null,\n \"update:text\": null,\n \"update:verticalAlignment\": null,\n \"update:visible\": null,\n },\n props: {\n font: Object,\n horizontalAlignment: String,\n position: String,\n text: String,\n verticalAlignment: String,\n visible: Boolean\n }\n});\nexports.DxConstantLineLabel = DxConstantLineLabel;\nDxConstantLineLabel.$_optionName = \"label\";\nvar DxConstantLineStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:label\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n label: Object,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n width: Number\n }\n});\nexports.DxConstantLineStyle = DxConstantLineStyle;\nDxConstantLineStyle.$_optionName = \"constantLineStyle\";\nvar DxCrosshair = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:enabled\": null,\n \"update:horizontalLine\": null,\n \"update:label\": null,\n \"update:opacity\": null,\n \"update:verticalLine\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n enabled: Boolean,\n horizontalLine: [Boolean, Object],\n label: Object,\n opacity: Number,\n verticalLine: [Boolean, Object],\n width: Number\n }\n});\nexports.DxCrosshair = DxCrosshair;\nDxCrosshair.$_optionName = \"crosshair\";\nDxCrosshair.$_expectedChildren = {\n horizontalLine: { isCollectionItem: false, optionName: \"horizontalLine\" },\n horizontalLineLabel: { isCollectionItem: false, optionName: \"label\" },\n label: { isCollectionItem: false, optionName: \"label\" },\n verticalLine: { isCollectionItem: false, optionName: \"verticalLine\" }\n};\nvar DxDataPrepareSettings = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:checkTypeForAllData\": null,\n \"update:convertToAxisDataType\": null,\n \"update:sortingMethod\": null,\n },\n props: {\n checkTypeForAllData: Boolean,\n convertToAxisDataType: Boolean,\n sortingMethod: [Boolean, Function]\n }\n});\nexports.DxDataPrepareSettings = DxDataPrepareSettings;\nDxDataPrepareSettings.$_optionName = \"dataPrepareSettings\";\nvar DxDragBoxStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:opacity\": null,\n },\n props: {\n color: String,\n opacity: Number\n }\n});\nexports.DxDragBoxStyle = DxDragBoxStyle;\nDxDragBoxStyle.$_optionName = \"dragBoxStyle\";\nvar DxExport = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:backgroundColor\": null,\n \"update:enabled\": null,\n \"update:fileName\": null,\n \"update:formats\": null,\n \"update:margin\": null,\n \"update:printingEnabled\": null,\n \"update:svgToCanvas\": null,\n },\n props: {\n backgroundColor: String,\n enabled: Boolean,\n fileName: String,\n formats: Array,\n margin: Number,\n printingEnabled: Boolean,\n svgToCanvas: Function\n }\n});\nexports.DxExport = DxExport;\nDxExport.$_optionName = \"export\";\nvar DxFont = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:family\": null,\n \"update:opacity\": null,\n \"update:size\": null,\n \"update:weight\": null,\n },\n props: {\n color: String,\n family: String,\n opacity: Number,\n size: [Number, String],\n weight: Number\n }\n});\nexports.DxFont = DxFont;\nDxFont.$_optionName = \"font\";\nvar DxFormat = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:currency\": null,\n \"update:formatter\": null,\n \"update:parser\": null,\n \"update:precision\": null,\n \"update:type\": null,\n \"update:useCurrencyAccountingStyle\": null,\n },\n props: {\n currency: String,\n formatter: Function,\n parser: Function,\n precision: Number,\n type: String,\n useCurrencyAccountingStyle: Boolean\n }\n});\nexports.DxFormat = DxFormat;\nDxFormat.$_optionName = \"format\";\nvar DxGrid = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:opacity\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n opacity: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxGrid = DxGrid;\nDxGrid.$_optionName = \"grid\";\nvar DxHatching = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:direction\": null,\n \"update:opacity\": null,\n \"update:step\": null,\n \"update:width\": null,\n },\n props: {\n direction: String,\n opacity: Number,\n step: Number,\n width: Number\n }\n});\nexports.DxHatching = DxHatching;\nDxHatching.$_optionName = \"hatching\";\nvar DxHeight = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:rangeMaxPoint\": null,\n \"update:rangeMinPoint\": null,\n },\n props: {\n rangeMaxPoint: Number,\n rangeMinPoint: Number\n }\n});\nexports.DxHeight = DxHeight;\nDxHeight.$_optionName = \"height\";\nvar DxHorizontalLine = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:label\": null,\n \"update:opacity\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n label: Object,\n opacity: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxHorizontalLine = DxHorizontalLine;\nDxHorizontalLine.$_optionName = \"horizontalLine\";\nDxHorizontalLine.$_expectedChildren = {\n horizontalLineLabel: { isCollectionItem: false, optionName: \"label\" },\n label: { isCollectionItem: false, optionName: \"label\" }\n};\nvar DxHorizontalLineLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:backgroundColor\": null,\n \"update:customizeText\": null,\n \"update:font\": null,\n \"update:format\": null,\n \"update:visible\": null,\n },\n props: {\n backgroundColor: String,\n customizeText: Function,\n font: Object,\n format: [Object, Function, String],\n visible: Boolean\n }\n});\nexports.DxHorizontalLineLabel = DxHorizontalLineLabel;\nDxHorizontalLineLabel.$_optionName = \"label\";\nvar DxHoverStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:hatching\": null,\n \"update:highlight\": null,\n \"update:size\": null,\n \"update:width\": null,\n },\n props: {\n border: Object,\n color: [Object, String],\n dashStyle: String,\n hatching: Object,\n highlight: Boolean,\n size: Number,\n width: Number\n }\n});\nexports.DxHoverStyle = DxHoverStyle;\nDxHoverStyle.$_optionName = \"hoverStyle\";\nvar DxImage = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:height\": null,\n \"update:url\": null,\n \"update:width\": null,\n },\n props: {\n height: [Number, Object],\n url: [String, Object],\n width: [Number, Object]\n }\n});\nexports.DxImage = DxImage;\nDxImage.$_optionName = \"image\";\nvar DxLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:argumentFormat\": null,\n \"update:backgroundColor\": null,\n \"update:border\": null,\n \"update:connector\": null,\n \"update:customizeHint\": null,\n \"update:customizeText\": null,\n \"update:displayFormat\": null,\n \"update:displayMode\": null,\n \"update:font\": null,\n \"update:format\": null,\n \"update:horizontalAlignment\": null,\n \"update:horizontalOffset\": null,\n \"update:indentFromAxis\": null,\n \"update:overlappingBehavior\": null,\n \"update:position\": null,\n \"update:rotationAngle\": null,\n \"update:showForZeroValues\": null,\n \"update:staggeringSpacing\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:verticalAlignment\": null,\n \"update:verticalOffset\": null,\n \"update:visible\": null,\n \"update:wordWrap\": null,\n },\n props: {\n alignment: String,\n argumentFormat: [Object, Function, String],\n backgroundColor: String,\n border: Object,\n connector: Object,\n customizeHint: Function,\n customizeText: Function,\n displayFormat: String,\n displayMode: String,\n font: Object,\n format: [Object, Function, String],\n horizontalAlignment: String,\n horizontalOffset: Number,\n indentFromAxis: Number,\n overlappingBehavior: String,\n position: String,\n rotationAngle: Number,\n showForZeroValues: Boolean,\n staggeringSpacing: Number,\n template: {},\n text: String,\n textOverflow: String,\n verticalAlignment: String,\n verticalOffset: Number,\n visible: Boolean,\n wordWrap: String\n }\n});\nexports.DxLabel = DxLabel;\nDxLabel.$_optionName = \"label\";\nvar DxLegend = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:backgroundColor\": null,\n \"update:border\": null,\n \"update:columnCount\": null,\n \"update:columnItemSpacing\": null,\n \"update:customizeHint\": null,\n \"update:customizeItems\": null,\n \"update:customizeText\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:hoverMode\": null,\n \"update:itemsAlignment\": null,\n \"update:itemTextPosition\": null,\n \"update:margin\": null,\n \"update:markerSize\": null,\n \"update:markerTemplate\": null,\n \"update:orientation\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:position\": null,\n \"update:rowCount\": null,\n \"update:rowItemSpacing\": null,\n \"update:title\": null,\n \"update:verticalAlignment\": null,\n \"update:visible\": null,\n },\n props: {\n backgroundColor: String,\n border: Object,\n columnCount: Number,\n columnItemSpacing: Number,\n customizeHint: Function,\n customizeItems: Function,\n customizeText: Function,\n font: Object,\n horizontalAlignment: String,\n hoverMode: String,\n itemsAlignment: String,\n itemTextPosition: String,\n margin: [Number, Object],\n markerSize: Number,\n markerTemplate: {},\n orientation: String,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n position: String,\n rowCount: Number,\n rowItemSpacing: Number,\n title: [Object, String],\n verticalAlignment: String,\n visible: Boolean\n }\n});\nexports.DxLegend = DxLegend;\nDxLegend.$_optionName = \"legend\";\nDxLegend.$_expectedChildren = {\n annotationBorder: { isCollectionItem: false, optionName: \"border\" },\n border: { isCollectionItem: false, optionName: \"border\" },\n font: { isCollectionItem: false, optionName: \"font\" },\n legendTitle: { isCollectionItem: false, optionName: \"title\" },\n margin: { isCollectionItem: false, optionName: \"margin\" },\n title: { isCollectionItem: false, optionName: \"title\" }\n};\nvar DxLegendTitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:margin\": null,\n \"update:placeholderSize\": null,\n \"update:subtitle\": null,\n \"update:text\": null,\n \"update:verticalAlignment\": null,\n },\n props: {\n font: Object,\n horizontalAlignment: String,\n margin: Object,\n placeholderSize: Number,\n subtitle: [Object, String],\n text: String,\n verticalAlignment: String\n }\n});\nexports.DxLegendTitle = DxLegendTitle;\nDxLegendTitle.$_optionName = \"title\";\nDxLegendTitle.$_expectedChildren = {\n font: { isCollectionItem: false, optionName: \"font\" },\n legendTitleSubtitle: { isCollectionItem: false, optionName: \"subtitle\" },\n margin: { isCollectionItem: false, optionName: \"margin\" },\n subtitle: { isCollectionItem: false, optionName: \"subtitle\" }\n};\nvar DxLegendTitleSubtitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:offset\": null,\n \"update:text\": null,\n },\n props: {\n font: Object,\n offset: Number,\n text: String\n }\n});\nexports.DxLegendTitleSubtitle = DxLegendTitleSubtitle;\nDxLegendTitleSubtitle.$_optionName = \"subtitle\";\nDxLegendTitleSubtitle.$_expectedChildren = {\n font: { isCollectionItem: false, optionName: \"font\" }\n};\nvar DxLength = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:days\": null,\n \"update:hours\": null,\n \"update:milliseconds\": null,\n \"update:minutes\": null,\n \"update:months\": null,\n \"update:quarters\": null,\n \"update:seconds\": null,\n \"update:weeks\": null,\n \"update:years\": null,\n },\n props: {\n days: Number,\n hours: Number,\n milliseconds: Number,\n minutes: Number,\n months: Number,\n quarters: Number,\n seconds: Number,\n weeks: Number,\n years: Number\n }\n});\nexports.DxLength = DxLength;\nDxLength.$_optionName = \"length\";\nvar DxLoadingIndicator = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:backgroundColor\": null,\n \"update:enabled\": null,\n \"update:font\": null,\n \"update:show\": null,\n \"update:text\": null,\n },\n props: {\n backgroundColor: String,\n enabled: Boolean,\n font: Object,\n show: Boolean,\n text: String\n }\n});\nexports.DxLoadingIndicator = DxLoadingIndicator;\nDxLoadingIndicator.$_optionName = \"loadingIndicator\";\nDxLoadingIndicator.$_expectedChildren = {\n font: { isCollectionItem: false, optionName: \"font\" }\n};\nvar DxMargin = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:bottom\": null,\n \"update:left\": null,\n \"update:right\": null,\n \"update:top\": null,\n },\n props: {\n bottom: Number,\n left: Number,\n right: Number,\n top: Number\n }\n});\nexports.DxMargin = DxMargin;\nDxMargin.$_optionName = \"margin\";\nvar DxMinorGrid = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:opacity\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n opacity: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxMinorGrid = DxMinorGrid;\nDxMinorGrid.$_optionName = \"minorGrid\";\nvar DxMinorTick = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:length\": null,\n \"update:opacity\": null,\n \"update:shift\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n length: Number,\n opacity: Number,\n shift: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxMinorTick = DxMinorTick;\nDxMinorTick.$_optionName = \"minorTick\";\nvar DxMinorTickInterval = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:days\": null,\n \"update:hours\": null,\n \"update:milliseconds\": null,\n \"update:minutes\": null,\n \"update:months\": null,\n \"update:quarters\": null,\n \"update:seconds\": null,\n \"update:weeks\": null,\n \"update:years\": null,\n },\n props: {\n days: Number,\n hours: Number,\n milliseconds: Number,\n minutes: Number,\n months: Number,\n quarters: Number,\n seconds: Number,\n weeks: Number,\n years: Number\n }\n});\nexports.DxMinorTickInterval = DxMinorTickInterval;\nDxMinorTickInterval.$_optionName = \"minorTickInterval\";\nvar DxMinVisualRangeLength = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:days\": null,\n \"update:hours\": null,\n \"update:milliseconds\": null,\n \"update:minutes\": null,\n \"update:months\": null,\n \"update:quarters\": null,\n \"update:seconds\": null,\n \"update:weeks\": null,\n \"update:years\": null,\n },\n props: {\n days: Number,\n hours: Number,\n milliseconds: Number,\n minutes: Number,\n months: Number,\n quarters: Number,\n seconds: Number,\n weeks: Number,\n years: Number\n }\n});\nexports.DxMinVisualRangeLength = DxMinVisualRangeLength;\nDxMinVisualRangeLength.$_optionName = \"minVisualRangeLength\";\nvar DxPane = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:backgroundColor\": null,\n \"update:border\": null,\n \"update:height\": null,\n \"update:name\": null,\n },\n props: {\n backgroundColor: [Object, String],\n border: Object,\n height: [Number, String],\n name: String\n }\n});\nexports.DxPane = DxPane;\nDxPane.$_optionName = \"panes\";\nDxPane.$_isCollectionItem = true;\nvar DxPaneBorder = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:bottom\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:left\": null,\n \"update:opacity\": null,\n \"update:right\": null,\n \"update:top\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n bottom: Boolean,\n color: String,\n dashStyle: String,\n left: Boolean,\n opacity: Number,\n right: Boolean,\n top: Boolean,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxPaneBorder = DxPaneBorder;\nDxPaneBorder.$_optionName = \"border\";\nvar DxPoint = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:hoverMode\": null,\n \"update:hoverStyle\": null,\n \"update:image\": null,\n \"update:selectionMode\": null,\n \"update:selectionStyle\": null,\n \"update:size\": null,\n \"update:symbol\": null,\n \"update:visible\": null,\n },\n props: {\n border: Object,\n color: [Object, String],\n hoverMode: String,\n hoverStyle: Object,\n image: [Object, String],\n selectionMode: String,\n selectionStyle: Object,\n size: Number,\n symbol: String,\n visible: Boolean\n }\n});\nexports.DxPoint = DxPoint;\nDxPoint.$_optionName = \"point\";\nDxPoint.$_expectedChildren = {\n border: { isCollectionItem: false, optionName: \"border\" },\n color: { isCollectionItem: false, optionName: \"color\" },\n hoverStyle: { isCollectionItem: false, optionName: \"hoverStyle\" },\n image: { isCollectionItem: false, optionName: \"image\" },\n pointBorder: { isCollectionItem: false, optionName: \"border\" },\n pointHoverStyle: { isCollectionItem: false, optionName: \"hoverStyle\" },\n pointImage: { isCollectionItem: false, optionName: \"image\" },\n pointSelectionStyle: { isCollectionItem: false, optionName: \"selectionStyle\" },\n selectionStyle: { isCollectionItem: false, optionName: \"selectionStyle\" }\n};\nvar DxPointBorder = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxPointBorder = DxPointBorder;\nDxPointBorder.$_optionName = \"border\";\nvar DxPointHoverStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:size\": null,\n },\n props: {\n border: Object,\n color: [Object, String],\n size: Number\n }\n});\nexports.DxPointHoverStyle = DxPointHoverStyle;\nDxPointHoverStyle.$_optionName = \"hoverStyle\";\nDxPointHoverStyle.$_expectedChildren = {\n border: { isCollectionItem: false, optionName: \"border\" },\n color: { isCollectionItem: false, optionName: \"color\" },\n pointBorder: { isCollectionItem: false, optionName: \"border\" }\n};\nvar DxPointImage = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:height\": null,\n \"update:url\": null,\n \"update:width\": null,\n },\n props: {\n height: [Number, Object],\n url: [Object, String],\n width: [Number, Object]\n }\n});\nexports.DxPointImage = DxPointImage;\nDxPointImage.$_optionName = \"image\";\nDxPointImage.$_expectedChildren = {\n height: { isCollectionItem: false, optionName: \"height\" },\n url: { isCollectionItem: false, optionName: \"url\" },\n width: { isCollectionItem: false, optionName: \"width\" }\n};\nvar DxPointSelectionStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:size\": null,\n },\n props: {\n border: Object,\n color: [Object, String],\n size: Number\n }\n});\nexports.DxPointSelectionStyle = DxPointSelectionStyle;\nDxPointSelectionStyle.$_optionName = \"selectionStyle\";\nDxPointSelectionStyle.$_expectedChildren = {\n border: { isCollectionItem: false, optionName: \"border\" },\n color: { isCollectionItem: false, optionName: \"color\" },\n pointBorder: { isCollectionItem: false, optionName: \"border\" }\n};\nvar DxReduction = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:level\": null,\n },\n props: {\n color: String,\n level: String\n }\n});\nexports.DxReduction = DxReduction;\nDxReduction.$_optionName = \"reduction\";\nvar DxScrollBar = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:offset\": null,\n \"update:opacity\": null,\n \"update:position\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n offset: Number,\n opacity: Number,\n position: String,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxScrollBar = DxScrollBar;\nDxScrollBar.$_optionName = \"scrollBar\";\nvar DxSelectionStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:hatching\": null,\n \"update:highlight\": null,\n \"update:size\": null,\n \"update:width\": null,\n },\n props: {\n border: Object,\n color: [Object, String],\n dashStyle: String,\n hatching: Object,\n highlight: Boolean,\n size: Number,\n width: Number\n }\n});\nexports.DxSelectionStyle = DxSelectionStyle;\nDxSelectionStyle.$_optionName = \"selectionStyle\";\nvar DxSeries = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:aggregation\": null,\n \"update:argumentField\": null,\n \"update:axis\": null,\n \"update:barOverlapGroup\": null,\n \"update:barPadding\": null,\n \"update:barWidth\": null,\n \"update:border\": null,\n \"update:closeValueField\": null,\n \"update:color\": null,\n \"update:cornerRadius\": null,\n \"update:dashStyle\": null,\n \"update:highValueField\": null,\n \"update:hoverMode\": null,\n \"update:hoverStyle\": null,\n \"update:ignoreEmptyPoints\": null,\n \"update:innerColor\": null,\n \"update:label\": null,\n \"update:lowValueField\": null,\n \"update:maxLabelCount\": null,\n \"update:minBarSize\": null,\n \"update:name\": null,\n \"update:opacity\": null,\n \"update:openValueField\": null,\n \"update:pane\": null,\n \"update:point\": null,\n \"update:rangeValue1Field\": null,\n \"update:rangeValue2Field\": null,\n \"update:reduction\": null,\n \"update:selectionMode\": null,\n \"update:selectionStyle\": null,\n \"update:showInLegend\": null,\n \"update:sizeField\": null,\n \"update:stack\": null,\n \"update:tag\": null,\n \"update:tagField\": null,\n \"update:type\": null,\n \"update:valueErrorBar\": null,\n \"update:valueField\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n aggregation: Object,\n argumentField: String,\n axis: String,\n barOverlapGroup: String,\n barPadding: Number,\n barWidth: Number,\n border: Object,\n closeValueField: String,\n color: [Object, String],\n cornerRadius: Number,\n dashStyle: String,\n highValueField: String,\n hoverMode: String,\n hoverStyle: Object,\n ignoreEmptyPoints: Boolean,\n innerColor: String,\n label: Object,\n lowValueField: String,\n maxLabelCount: Number,\n minBarSize: Number,\n name: String,\n opacity: Number,\n openValueField: String,\n pane: String,\n point: Object,\n rangeValue1Field: String,\n rangeValue2Field: String,\n reduction: Object,\n selectionMode: String,\n selectionStyle: Object,\n showInLegend: Boolean,\n sizeField: String,\n stack: String,\n tag: {},\n tagField: String,\n type: String,\n valueErrorBar: Object,\n valueField: String,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxSeries = DxSeries;\nDxSeries.$_optionName = \"series\";\nDxSeries.$_isCollectionItem = true;\nvar DxSeriesBorder = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxSeriesBorder = DxSeriesBorder;\nDxSeriesBorder.$_optionName = \"border\";\nvar DxSeriesTemplate = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:customizeSeries\": null,\n \"update:nameField\": null,\n },\n props: {\n customizeSeries: Function,\n nameField: String\n }\n});\nexports.DxSeriesTemplate = DxSeriesTemplate;\nDxSeriesTemplate.$_optionName = \"seriesTemplate\";\nvar DxShadow = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:blur\": null,\n \"update:color\": null,\n \"update:offsetX\": null,\n \"update:offsetY\": null,\n \"update:opacity\": null,\n },\n props: {\n blur: Number,\n color: String,\n offsetX: Number,\n offsetY: Number,\n opacity: Number\n }\n});\nexports.DxShadow = DxShadow;\nDxShadow.$_optionName = \"shadow\";\nvar DxSize = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:height\": null,\n \"update:width\": null,\n },\n props: {\n height: Number,\n width: Number\n }\n});\nexports.DxSize = DxSize;\nDxSize.$_optionName = \"size\";\nvar DxStrip = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:endValue\": null,\n \"update:label\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:startValue\": null,\n },\n props: {\n color: String,\n endValue: {},\n label: Object,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n startValue: {}\n }\n});\nexports.DxStrip = DxStrip;\nDxStrip.$_optionName = \"strips\";\nDxStrip.$_isCollectionItem = true;\nvar DxStripLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:text\": null,\n \"update:verticalAlignment\": null,\n },\n props: {\n font: Object,\n horizontalAlignment: String,\n text: String,\n verticalAlignment: String\n }\n});\nexports.DxStripLabel = DxStripLabel;\nDxStripLabel.$_optionName = \"label\";\nvar DxStripStyle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:label\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n },\n props: {\n label: Object,\n paddingLeftRight: Number,\n paddingTopBottom: Number\n }\n});\nexports.DxStripStyle = DxStripStyle;\nDxStripStyle.$_optionName = \"stripStyle\";\nDxStripStyle.$_expectedChildren = {\n label: { isCollectionItem: false, optionName: \"label\" },\n stripStyleLabel: { isCollectionItem: false, optionName: \"label\" }\n};\nvar DxStripStyleLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:verticalAlignment\": null,\n },\n props: {\n font: Object,\n horizontalAlignment: String,\n verticalAlignment: String\n }\n});\nexports.DxStripStyleLabel = DxStripStyleLabel;\nDxStripStyleLabel.$_optionName = \"label\";\nvar DxSubtitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:font\": null,\n \"update:offset\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:wordWrap\": null,\n },\n props: {\n font: Object,\n offset: Number,\n text: String,\n textOverflow: String,\n wordWrap: String\n }\n});\nexports.DxSubtitle = DxSubtitle;\nDxSubtitle.$_optionName = \"subtitle\";\nvar DxTick = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:length\": null,\n \"update:opacity\": null,\n \"update:shift\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n length: Number,\n opacity: Number,\n shift: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxTick = DxTick;\nDxTick.$_optionName = \"tick\";\nvar DxTickInterval = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:days\": null,\n \"update:hours\": null,\n \"update:milliseconds\": null,\n \"update:minutes\": null,\n \"update:months\": null,\n \"update:quarters\": null,\n \"update:seconds\": null,\n \"update:weeks\": null,\n \"update:years\": null,\n },\n props: {\n days: Number,\n hours: Number,\n milliseconds: Number,\n minutes: Number,\n months: Number,\n quarters: Number,\n seconds: Number,\n weeks: Number,\n years: Number\n }\n});\nexports.DxTickInterval = DxTickInterval;\nDxTickInterval.$_optionName = \"tickInterval\";\nvar DxTitle = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:font\": null,\n \"update:horizontalAlignment\": null,\n \"update:margin\": null,\n \"update:placeholderSize\": null,\n \"update:subtitle\": null,\n \"update:text\": null,\n \"update:textOverflow\": null,\n \"update:verticalAlignment\": null,\n \"update:wordWrap\": null,\n },\n props: {\n alignment: String,\n font: Object,\n horizontalAlignment: String,\n margin: [Number, Object],\n placeholderSize: Number,\n subtitle: [Object, String],\n text: String,\n textOverflow: String,\n verticalAlignment: String,\n wordWrap: String\n }\n});\nexports.DxTitle = DxTitle;\nDxTitle.$_optionName = \"title\";\nvar DxTooltip = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:argumentFormat\": null,\n \"update:arrowLength\": null,\n \"update:border\": null,\n \"update:color\": null,\n \"update:container\": null,\n \"update:contentTemplate\": null,\n \"update:cornerRadius\": null,\n \"update:customizeTooltip\": null,\n \"update:enabled\": null,\n \"update:font\": null,\n \"update:format\": null,\n \"update:interactive\": null,\n \"update:location\": null,\n \"update:opacity\": null,\n \"update:paddingLeftRight\": null,\n \"update:paddingTopBottom\": null,\n \"update:shadow\": null,\n \"update:shared\": null,\n \"update:zIndex\": null,\n },\n props: {\n argumentFormat: [Object, Function, String],\n arrowLength: Number,\n border: Object,\n color: String,\n container: {},\n contentTemplate: {},\n cornerRadius: Number,\n customizeTooltip: Function,\n enabled: Boolean,\n font: Object,\n format: [Object, Function, String],\n interactive: Boolean,\n location: String,\n opacity: Number,\n paddingLeftRight: Number,\n paddingTopBottom: Number,\n shadow: Object,\n shared: Boolean,\n zIndex: Number\n }\n});\nexports.DxTooltip = DxTooltip;\nDxTooltip.$_optionName = \"tooltip\";\nDxTooltip.$_expectedChildren = {\n argumentFormat: { isCollectionItem: false, optionName: \"argumentFormat\" },\n border: { isCollectionItem: false, optionName: \"border\" },\n font: { isCollectionItem: false, optionName: \"font\" },\n format: { isCollectionItem: false, optionName: \"format\" },\n shadow: { isCollectionItem: false, optionName: \"shadow\" },\n tooltipBorder: { isCollectionItem: false, optionName: \"border\" }\n};\nvar DxTooltipBorder = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:opacity\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n opacity: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxTooltipBorder = DxTooltipBorder;\nDxTooltipBorder.$_optionName = \"border\";\nvar DxUrl = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:rangeMaxPoint\": null,\n \"update:rangeMinPoint\": null,\n },\n props: {\n rangeMaxPoint: String,\n rangeMinPoint: String\n }\n});\nexports.DxUrl = DxUrl;\nDxUrl.$_optionName = \"url\";\nvar DxValueAxis = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:aggregatedPointsPosition\": null,\n \"update:allowDecimals\": null,\n \"update:autoBreaksEnabled\": null,\n \"update:axisDivisionFactor\": null,\n \"update:breaks\": null,\n \"update:breakStyle\": null,\n \"update:categories\": null,\n \"update:color\": null,\n \"update:constantLines\": null,\n \"update:constantLineStyle\": null,\n \"update:customPosition\": null,\n \"update:discreteAxisDivisionMode\": null,\n \"update:endOnTick\": null,\n \"update:grid\": null,\n \"update:inverted\": null,\n \"update:label\": null,\n \"update:linearThreshold\": null,\n \"update:logarithmBase\": null,\n \"update:maxAutoBreakCount\": null,\n \"update:maxValueMargin\": null,\n \"update:minorGrid\": null,\n \"update:minorTick\": null,\n \"update:minorTickCount\": null,\n \"update:minorTickInterval\": null,\n \"update:minValueMargin\": null,\n \"update:minVisualRangeLength\": null,\n \"update:multipleAxesSpacing\": null,\n \"update:name\": null,\n \"update:offset\": null,\n \"update:opacity\": null,\n \"update:pane\": null,\n \"update:placeholderSize\": null,\n \"update:position\": null,\n \"update:showZero\": null,\n \"update:strips\": null,\n \"update:stripStyle\": null,\n \"update:synchronizedValue\": null,\n \"update:tick\": null,\n \"update:tickInterval\": null,\n \"update:title\": null,\n \"update:type\": null,\n \"update:valueMarginsEnabled\": null,\n \"update:valueType\": null,\n \"update:visible\": null,\n \"update:visualRange\": null,\n \"update:visualRangeUpdateMode\": null,\n \"update:wholeRange\": null,\n \"update:width\": null,\n },\n props: {\n aggregatedPointsPosition: String,\n allowDecimals: Boolean,\n autoBreaksEnabled: Boolean,\n axisDivisionFactor: Number,\n breaks: Array,\n breakStyle: Object,\n categories: Array,\n color: String,\n constantLines: Array,\n constantLineStyle: Object,\n customPosition: {},\n discreteAxisDivisionMode: String,\n endOnTick: Boolean,\n grid: Object,\n inverted: Boolean,\n label: Object,\n linearThreshold: Number,\n logarithmBase: Number,\n maxAutoBreakCount: Number,\n maxValueMargin: Number,\n minorGrid: Object,\n minorTick: Object,\n minorTickCount: Number,\n minorTickInterval: [Number, Object, String],\n minValueMargin: Number,\n minVisualRangeLength: [Number, Object, String],\n multipleAxesSpacing: Number,\n name: String,\n offset: Number,\n opacity: Number,\n pane: String,\n placeholderSize: Number,\n position: String,\n showZero: Boolean,\n strips: Array,\n stripStyle: Object,\n synchronizedValue: Number,\n tick: Object,\n tickInterval: [Number, Object, String],\n title: [Object, String],\n type: String,\n valueMarginsEnabled: Boolean,\n valueType: String,\n visible: Boolean,\n visualRange: [Array, Object],\n visualRangeUpdateMode: String,\n wholeRange: [Array, Object],\n width: Number\n }\n});\nexports.DxValueAxis = DxValueAxis;\nDxValueAxis.$_optionName = \"valueAxis\";\nDxValueAxis.$_isCollectionItem = true;\nDxValueAxis.$_expectedChildren = {\n axisConstantLineStyle: { isCollectionItem: false, optionName: \"constantLineStyle\" },\n axisLabel: { isCollectionItem: false, optionName: \"label\" },\n axisTitle: { isCollectionItem: false, optionName: \"title\" },\n break: { isCollectionItem: true, optionName: \"breaks\" },\n constantLine: { isCollectionItem: true, optionName: \"constantLines\" },\n constantLineStyle: { isCollectionItem: false, optionName: \"constantLineStyle\" },\n label: { isCollectionItem: false, optionName: \"label\" },\n minorTickInterval: { isCollectionItem: false, optionName: \"minorTickInterval\" },\n minVisualRangeLength: { isCollectionItem: false, optionName: \"minVisualRangeLength\" },\n strip: { isCollectionItem: true, optionName: \"strips\" },\n tickInterval: { isCollectionItem: false, optionName: \"tickInterval\" },\n title: { isCollectionItem: false, optionName: \"title\" },\n visualRange: { isCollectionItem: false, optionName: \"visualRange\" },\n wholeRange: { isCollectionItem: false, optionName: \"wholeRange\" }\n};\nvar DxValueErrorBar = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:displayMode\": null,\n \"update:edgeLength\": null,\n \"update:highValueField\": null,\n \"update:lineWidth\": null,\n \"update:lowValueField\": null,\n \"update:opacity\": null,\n \"update:type\": null,\n \"update:value\": null,\n },\n props: {\n color: String,\n displayMode: String,\n edgeLength: Number,\n highValueField: String,\n lineWidth: Number,\n lowValueField: String,\n opacity: Number,\n type: String,\n value: Number\n }\n});\nexports.DxValueErrorBar = DxValueErrorBar;\nDxValueErrorBar.$_optionName = \"valueErrorBar\";\nvar DxVerticalLine = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:color\": null,\n \"update:dashStyle\": null,\n \"update:label\": null,\n \"update:opacity\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n color: String,\n dashStyle: String,\n label: Object,\n opacity: Number,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxVerticalLine = DxVerticalLine;\nDxVerticalLine.$_optionName = \"verticalLine\";\nDxVerticalLine.$_expectedChildren = {\n horizontalLineLabel: { isCollectionItem: false, optionName: \"label\" },\n label: { isCollectionItem: false, optionName: \"label\" }\n};\nvar DxVisualRange = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:endValue\": null,\n \"update:length\": null,\n \"update:startValue\": null,\n },\n props: {\n endValue: {},\n length: [Number, Object, String],\n startValue: {}\n }\n});\nexports.DxVisualRange = DxVisualRange;\nDxVisualRange.$_optionName = \"visualRange\";\nvar DxWholeRange = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:endValue\": null,\n \"update:length\": null,\n \"update:startValue\": null,\n },\n props: {\n endValue: {},\n length: [Number, Object, String],\n startValue: {}\n }\n});\nexports.DxWholeRange = DxWholeRange;\nDxWholeRange.$_optionName = \"wholeRange\";\nvar DxWidth = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:rangeMaxPoint\": null,\n \"update:rangeMinPoint\": null,\n },\n props: {\n rangeMaxPoint: Number,\n rangeMinPoint: Number\n }\n});\nexports.DxWidth = DxWidth;\nDxWidth.$_optionName = \"width\";\nvar DxZoomAndPan = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowMouseWheel\": null,\n \"update:allowTouchGestures\": null,\n \"update:argumentAxis\": null,\n \"update:dragBoxStyle\": null,\n \"update:dragToZoom\": null,\n \"update:panKey\": null,\n \"update:valueAxis\": null,\n },\n props: {\n allowMouseWheel: Boolean,\n allowTouchGestures: Boolean,\n argumentAxis: String,\n dragBoxStyle: Object,\n dragToZoom: Boolean,\n panKey: String,\n valueAxis: String\n }\n});\nexports.DxZoomAndPan = DxZoomAndPan;\nDxZoomAndPan.$_optionName = \"zoomAndPan\";\nDxZoomAndPan.$_expectedChildren = {\n dragBoxStyle: { isCollectionItem: false, optionName: \"dragBoxStyle\" }\n};\nexports.default = DxChart;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.show),expression:\"show\"}],ref:\"tidialog\"},[(_vm.show)?_c('div',{ref:\"tidialogbg\",staticClass:\"modal modal-backdrop\",staticStyle:{\"display\":\"block\"},attrs:{\"id\":\"tidialogbg\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"},on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(\"×\")]),_c('h4',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.options.title))]),(_vm.options.subHeader)?_c('small',{staticClass:\"h6\"},[_vm._v(_vm._s(_vm.options.subHeader))]):_vm._e()]),_c('div',{staticClass:\"modal-body\"},[_vm._t(\"default\")],2),_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"btn\",class:{ disabled: !_vm.valid },staticStyle:{\"min-width\":\"100px\"},attrs:{\"type\":\"button\",\"disabled\":!_vm.valid},on:{\"click\":function($event){return _vm.agree()}}},[_vm._v(_vm._s(_vm.options.buttonLabel))])])])])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tiDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tiDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./tiDialog.vue?vue&type=template&id=7b82b9b5&scoped=true\"\nimport script from \"./tiDialog.vue?vue&type=script&lang=js\"\nexport * from \"./tiDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./tiDialog.vue?vue&type=style&index=0&id=7b82b9b5&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7b82b9b5\",\n null\n \n)\n\nexport default component.exports","/**\n * @module ol/structs/RBush\n */\nimport RBush_ from 'rbush';\nimport { createOrUpdate, equals } from '../extent.js';\nimport { getUid } from '../util.js';\nimport { isEmpty } from '../obj.js';\n/**\n * @typedef {Object} Entry\n * @property {number} minX MinX.\n * @property {number} minY MinY.\n * @property {number} maxX MaxX.\n * @property {number} maxY MaxY.\n * @property {Object} [value] Value.\n */\n/**\n * @classdesc\n * Wrapper around the RBush by Vladimir Agafonkin.\n * See https://github.com/mourner/rbush.\n *\n * @template T\n */\nvar RBush = /** @class */ (function () {\n /**\n * @param {number} [opt_maxEntries] Max entries.\n */\n function RBush(opt_maxEntries) {\n /**\n * @private\n */\n this.rbush_ = new RBush_(opt_maxEntries);\n /**\n * A mapping between the objects added to this rbush wrapper\n * and the objects that are actually added to the internal rbush.\n * @private\n * @type {Object}\n */\n this.items_ = {};\n }\n /**\n * Insert a value into the RBush.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {T} value Value.\n */\n RBush.prototype.insert = function (extent, value) {\n /** @type {Entry} */\n var item = {\n minX: extent[0],\n minY: extent[1],\n maxX: extent[2],\n maxY: extent[3],\n value: value,\n };\n this.rbush_.insert(item);\n this.items_[getUid(value)] = item;\n };\n /**\n * Bulk-insert values into the RBush.\n * @param {Array} extents Extents.\n * @param {Array} values Values.\n */\n RBush.prototype.load = function (extents, values) {\n var items = new Array(values.length);\n for (var i = 0, l = values.length; i < l; i++) {\n var extent = extents[i];\n var value = values[i];\n /** @type {Entry} */\n var item = {\n minX: extent[0],\n minY: extent[1],\n maxX: extent[2],\n maxY: extent[3],\n value: value,\n };\n items[i] = item;\n this.items_[getUid(value)] = item;\n }\n this.rbush_.load(items);\n };\n /**\n * Remove a value from the RBush.\n * @param {T} value Value.\n * @return {boolean} Removed.\n */\n RBush.prototype.remove = function (value) {\n var uid = getUid(value);\n // get the object in which the value was wrapped when adding to the\n // internal rbush. then use that object to do the removal.\n var item = this.items_[uid];\n delete this.items_[uid];\n return this.rbush_.remove(item) !== null;\n };\n /**\n * Update the extent of a value in the RBush.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {T} value Value.\n */\n RBush.prototype.update = function (extent, value) {\n var item = this.items_[getUid(value)];\n var bbox = [item.minX, item.minY, item.maxX, item.maxY];\n if (!equals(bbox, extent)) {\n this.remove(value);\n this.insert(extent, value);\n }\n };\n /**\n * Return all values in the RBush.\n * @return {Array} All.\n */\n RBush.prototype.getAll = function () {\n var items = this.rbush_.all();\n return items.map(function (item) {\n return item.value;\n });\n };\n /**\n * Return all values in the given extent.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {Array} All in extent.\n */\n RBush.prototype.getInExtent = function (extent) {\n /** @type {Entry} */\n var bbox = {\n minX: extent[0],\n minY: extent[1],\n maxX: extent[2],\n maxY: extent[3],\n };\n var items = this.rbush_.search(bbox);\n return items.map(function (item) {\n return item.value;\n });\n };\n /**\n * Calls a callback function with each value in the tree.\n * If the callback returns a truthy value, this value is returned without\n * checking the rest of the tree.\n * @param {function(T): *} callback Callback.\n * @return {*} Callback return value.\n */\n RBush.prototype.forEach = function (callback) {\n return this.forEach_(this.getAll(), callback);\n };\n /**\n * Calls a callback function with each value in the provided extent.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {function(T): *} callback Callback.\n * @return {*} Callback return value.\n */\n RBush.prototype.forEachInExtent = function (extent, callback) {\n return this.forEach_(this.getInExtent(extent), callback);\n };\n /**\n * @param {Array} values Values.\n * @param {function(T): *} callback Callback.\n * @private\n * @return {*} Callback return value.\n */\n RBush.prototype.forEach_ = function (values, callback) {\n var result;\n for (var i = 0, l = values.length; i < l; i++) {\n result = callback(values[i]);\n if (result) {\n return result;\n }\n }\n return result;\n };\n /**\n * @return {boolean} Is empty.\n */\n RBush.prototype.isEmpty = function () {\n return isEmpty(this.items_);\n };\n /**\n * Remove all values from the RBush.\n */\n RBush.prototype.clear = function () {\n this.rbush_.clear();\n this.items_ = {};\n };\n /**\n * @param {import(\"../extent.js\").Extent} [opt_extent] Extent.\n * @return {import(\"../extent.js\").Extent} Extent.\n */\n RBush.prototype.getExtent = function (opt_extent) {\n var data = this.rbush_.toJSON();\n return createOrUpdate(data.minX, data.minY, data.maxX, data.maxY, opt_extent);\n };\n /**\n * @param {RBush} rbush R-Tree.\n */\n RBush.prototype.concat = function (rbush) {\n this.rbush_.load(rbush.rbush_.all());\n for (var i in rbush.items_) {\n this.items_[i] = rbush.items_[i];\n }\n };\n return RBush;\n}());\nexport default RBush;\n//# sourceMappingURL=RBush.js.map","/**\n * @module ol/source/VectorEventType\n */\n/**\n * @enum {string}\n */\nexport default {\n /**\n * Triggered when a feature is added to the source.\n * @event module:ol/source/Vector.VectorSourceEvent#addfeature\n * @api\n */\n ADDFEATURE: 'addfeature',\n /**\n * Triggered when a feature is updated.\n * @event module:ol/source/Vector.VectorSourceEvent#changefeature\n * @api\n */\n CHANGEFEATURE: 'changefeature',\n /**\n * Triggered when the clear method is called on the source.\n * @event module:ol/source/Vector.VectorSourceEvent#clear\n * @api\n */\n CLEAR: 'clear',\n /**\n * Triggered when a feature is removed from the source.\n * See {@link module:ol/source/Vector~VectorSource#clear source.clear()} for exceptions.\n * @event module:ol/source/Vector.VectorSourceEvent#removefeature\n * @api\n */\n REMOVEFEATURE: 'removefeature',\n /**\n * Triggered when features starts loading.\n * @event module:ol/source/Vector.VectorSourceEvent#featuresloadstart\n * @api\n */\n FEATURESLOADSTART: 'featuresloadstart',\n /**\n * Triggered when features finishes loading.\n * @event module:ol/source/Vector.VectorSourceEvent#featuresloadend\n * @api\n */\n FEATURESLOADEND: 'featuresloadend',\n /**\n * Triggered if feature loading results in an error.\n * @event module:ol/source/Vector.VectorSourceEvent#featuresloaderror\n * @api\n */\n FEATURESLOADERROR: 'featuresloaderror',\n};\n/**\n * @typedef {'addfeature'|'changefeature'|'clear'|'removefeature'|'featuresloadstart'|'featuresloadend'|'featuresloaderror'} VectorSourceEventTypes\n */\n//# sourceMappingURL=VectorEventType.js.map","/**\n * @module ol/loadingstrategy\n */\nimport { fromUserExtent, fromUserResolution, toUserExtent } from './proj.js';\n/**\n * Strategy function for loading all features with a single request.\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {number} resolution Resolution.\n * @return {Array} Extents.\n * @api\n */\nexport function all(extent, resolution) {\n return [[-Infinity, -Infinity, Infinity, Infinity]];\n}\n/**\n * Strategy function for loading features based on the view's extent and\n * resolution.\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {number} resolution Resolution.\n * @return {Array} Extents.\n * @api\n */\nexport function bbox(extent, resolution) {\n return [extent];\n}\n/**\n * Creates a strategy function for loading features based on a tile grid.\n * @param {import(\"./tilegrid/TileGrid.js\").default} tileGrid Tile grid.\n * @return {function(import(\"./extent.js\").Extent, number, import(\"./proj.js\").Projection): Array} Loading strategy.\n * @api\n */\nexport function tile(tileGrid) {\n return (\n /**\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {number} resolution Resolution.\n * @param {import(\"./proj.js\").Projection} projection Projection.\n * @return {Array} Extents.\n */\n function (extent, resolution, projection) {\n var z = tileGrid.getZForResolution(fromUserResolution(resolution, projection));\n var tileRange = tileGrid.getTileRangeForExtentAndZ(fromUserExtent(extent, projection), z);\n /** @type {Array} */\n var extents = [];\n /** @type {import(\"./tilecoord.js\").TileCoord} */\n var tileCoord = [z, 0, 0];\n for (tileCoord[1] = tileRange.minX; tileCoord[1] <= tileRange.maxX; ++tileCoord[1]) {\n for (tileCoord[2] = tileRange.minY; tileCoord[2] <= tileRange.maxY; ++tileCoord[2]) {\n extents.push(toUserExtent(tileGrid.getTileCoordExtent(tileCoord), projection));\n }\n }\n return extents;\n });\n}\n//# sourceMappingURL=loadingstrategy.js.map","/**\n * @module ol/featureloader\n */\nimport { VOID } from './functions.js';\n/**\n *\n * @type {boolean}\n * @private\n */\nvar withCredentials = false;\n/**\n * {@link module:ol/source/Vector~VectorSource} sources use a function of this type to\n * load features.\n *\n * This function takes up to 5 arguments. These are an {@link module:ol/extent~Extent} representing\n * the area to be loaded, a `{number}` representing the resolution (map units per pixel), an\n * {@link module:ol/proj/Projection~Projection} for the projection, an optional success callback that should get\n * the loaded features passed as an argument and an optional failure callback with no arguments. If\n * the callbacks are not used, the corresponding vector source will not fire `'featuresloadend'` and\n * `'featuresloaderror'` events. `this` within the function is bound to the\n * {@link module:ol/source/Vector~VectorSource} it's called from.\n *\n * The function is responsible for loading the features and adding them to the\n * source.\n * @typedef {function(this:(import(\"./source/Vector\").default|import(\"./VectorTile.js\").default),\n * import(\"./extent.js\").Extent,\n * number,\n * import(\"./proj/Projection.js\").default,\n * function(Array): void=,\n * function(): void=): void} FeatureLoader\n * @api\n */\n/**\n * {@link module:ol/source/Vector~VectorSource} sources use a function of this type to\n * get the url to load features from.\n *\n * This function takes an {@link module:ol/extent~Extent} representing the area\n * to be loaded, a `{number}` representing the resolution (map units per pixel)\n * and an {@link module:ol/proj/Projection~Projection} for the projection as\n * arguments and returns a `{string}` representing the URL.\n * @typedef {function(import(\"./extent.js\").Extent, number, import(\"./proj/Projection.js\").default): string} FeatureUrlFunction\n * @api\n */\n/**\n * @param {string|FeatureUrlFunction} url Feature URL service.\n * @param {import(\"./format/Feature.js\").default} format Feature format.\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {number} resolution Resolution.\n * @param {import(\"./proj/Projection.js\").default} projection Projection.\n * @param {function(Array, import(\"./proj/Projection.js\").default): void} success Success\n * Function called with the loaded features and optionally with the data projection.\n * @param {function(): void} failure Failure\n * Function called when loading failed.\n */\nexport function loadFeaturesXhr(url, format, extent, resolution, projection, success, failure) {\n var xhr = new XMLHttpRequest();\n xhr.open('GET', typeof url === 'function' ? url(extent, resolution, projection) : url, true);\n if (format.getType() == 'arraybuffer') {\n xhr.responseType = 'arraybuffer';\n }\n xhr.withCredentials = withCredentials;\n /**\n * @param {Event} event Event.\n * @private\n */\n xhr.onload = function (event) {\n // status will be 0 for file:// urls\n if (!xhr.status || (xhr.status >= 200 && xhr.status < 300)) {\n var type = format.getType();\n /** @type {Document|Node|Object|string|undefined} */\n var source = void 0;\n if (type == 'json' || type == 'text') {\n source = xhr.responseText;\n }\n else if (type == 'xml') {\n source = xhr.responseXML;\n if (!source) {\n source = new DOMParser().parseFromString(xhr.responseText, 'application/xml');\n }\n }\n else if (type == 'arraybuffer') {\n source = /** @type {ArrayBuffer} */ (xhr.response);\n }\n if (source) {\n success(\n /** @type {Array} */\n (format.readFeatures(source, {\n extent: extent,\n featureProjection: projection,\n })), format.readProjection(source));\n }\n else {\n failure();\n }\n }\n else {\n failure();\n }\n };\n /**\n * @private\n */\n xhr.onerror = failure;\n xhr.send();\n}\n/**\n * Create an XHR feature loader for a `url` and `format`. The feature loader\n * loads features (with XHR), parses the features, and adds them to the\n * vector source.\n * @param {string|FeatureUrlFunction} url Feature URL service.\n * @param {import(\"./format/Feature.js\").default} format Feature format.\n * @return {FeatureLoader} The feature loader.\n * @api\n */\nexport function xhr(url, format) {\n /**\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {number} resolution Resolution.\n * @param {import(\"./proj/Projection.js\").default} projection Projection.\n * @param {function(Array): void} [success] Success\n * Function called when loading succeeded.\n * @param {function(): void} [failure] Failure\n * Function called when loading failed.\n * @this {import(\"./source/Vector\").default}\n */\n return function (extent, resolution, projection, success, failure) {\n var source = /** @type {import(\"./source/Vector\").default} */ (this);\n loadFeaturesXhr(url, format, extent, resolution, projection, \n /**\n * @param {Array} features The loaded features.\n * @param {import(\"./proj/Projection.js\").default} dataProjection Data\n * projection.\n */\n function (features, dataProjection) {\n source.addFeatures(features);\n if (success !== undefined) {\n success(features);\n }\n }, \n /* FIXME handle error */ failure ? failure : VOID);\n };\n}\n/**\n * Setter for the withCredentials configuration for the XHR.\n *\n * @param {boolean} xhrWithCredentials The value of withCredentials to set.\n * Compare https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/\n * @api\n */\nexport function setWithCredentials(xhrWithCredentials) {\n withCredentials = xhrWithCredentials;\n}\n//# sourceMappingURL=featureloader.js.map","/**\n * @module ol/source/Vector\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Collection from '../Collection.js';\nimport CollectionEventType from '../CollectionEventType.js';\nimport Event from '../events/Event.js';\nimport EventType from '../events/EventType.js';\nimport ObjectEventType from '../ObjectEventType.js';\nimport RBush from '../structs/RBush.js';\nimport Source from './Source.js';\nimport VectorEventType from './VectorEventType.js';\nimport { TRUE, VOID } from '../functions.js';\nimport { all as allStrategy } from '../loadingstrategy.js';\nimport { assert } from '../asserts.js';\nimport { containsExtent, equals, wrapAndSliceX } from '../extent.js';\nimport { extend } from '../array.js';\nimport { getUid } from '../util.js';\nimport { getValues, isEmpty } from '../obj.js';\nimport { listen, unlistenByKey } from '../events.js';\nimport { xhr } from '../featureloader.js';\n/**\n * A function that takes an {@link module:ol/extent~Extent} and a resolution as arguments, and\n * returns an array of {@link module:ol/extent~Extent} with the extents to load. Usually this\n * is one of the standard {@link module:ol/loadingstrategy} strategies.\n *\n * @typedef {function(import(\"../extent.js\").Extent, number, import(\"../proj/Projection.js\").default): Array} LoadingStrategy\n * @api\n */\n/**\n * @classdesc\n * Events emitted by {@link module:ol/source/Vector~VectorSource} instances are instances of this\n * type.\n * @template {import(\"../geom/Geometry.js\").default} [Geometry=import(\"../geom/Geometry.js\").default]\n */\nvar VectorSourceEvent = /** @class */ (function (_super) {\n __extends(VectorSourceEvent, _super);\n /**\n * @param {string} type Type.\n * @param {import(\"../Feature.js\").default} [opt_feature] Feature.\n * @param {Array>} [opt_features] Features.\n */\n function VectorSourceEvent(type, opt_feature, opt_features) {\n var _this = _super.call(this, type) || this;\n /**\n * The added or removed feature for the `ADDFEATURE` and `REMOVEFEATURE` events, `undefined` otherwise.\n * @type {import(\"../Feature.js\").default|undefined}\n * @api\n */\n _this.feature = opt_feature;\n /**\n * The loaded features for the `FEATURESLOADED` event, `undefined` otherwise.\n * @type {Array>|undefined}\n * @api\n */\n _this.features = opt_features;\n return _this;\n }\n return VectorSourceEvent;\n}(Event));\nexport { VectorSourceEvent };\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").CombinedOnSignature} VectorSourceOnSignature\n */\n/**\n * @typedef {Object} Options\n * @property {import(\"./Source.js\").AttributionLike} [attributions] Attributions.\n * @property {Array|Collection} [features]\n * Features. If provided as {@link module:ol/Collection~Collection}, the features in the source\n * and the collection will stay in sync.\n * @property {import(\"../format/Feature.js\").default} [format] The feature format used by the XHR\n * feature loader when `url` is set. Required if `url` is set, otherwise ignored.\n * @property {import(\"../featureloader.js\").FeatureLoader} [loader]\n * The loader function used to load features, from a remote source for example.\n * If this is not set and `url` is set, the source will create and use an XHR\n * feature loader. The `'featuresloadend'` and `'featuresloaderror'` events\n * will only fire if the `success` and `failure` callbacks are used.\n *\n * Example:\n *\n * ```js\n * import {Vector} from 'ol/source';\n * import {GeoJSON} from 'ol/format';\n * import {bbox} from 'ol/loadingstrategy';\n *\n * var vectorSource = new Vector({\n * format: new GeoJSON(),\n * loader: function(extent, resolution, projection, success, failure) {\n * var proj = projection.getCode();\n * var url = 'https://ahocevar.com/geoserver/wfs?service=WFS&' +\n * 'version=1.1.0&request=GetFeature&typename=osm:water_areas&' +\n * 'outputFormat=application/json&srsname=' + proj + '&' +\n * 'bbox=' + extent.join(',') + ',' + proj;\n * var xhr = new XMLHttpRequest();\n * xhr.open('GET', url);\n * var onError = function() {\n * vectorSource.removeLoadedExtent(extent);\n * failure();\n * }\n * xhr.onerror = onError;\n * xhr.onload = function() {\n * if (xhr.status == 200) {\n * var features = vectorSource.getFormat().readFeatures(xhr.responseText);\n * vectorSource.addFeatures(features);\n * success(features);\n * } else {\n * onError();\n * }\n * }\n * xhr.send();\n * },\n * strategy: bbox\n * });\n * ```\n * @property {boolean} [overlaps=true] This source may have overlapping geometries.\n * Setting this to `false` (e.g. for sources with polygons that represent administrative\n * boundaries or TopoJSON sources) allows the renderer to optimise fill and\n * stroke operations.\n * @property {LoadingStrategy} [strategy] The loading strategy to use.\n * By default an {@link module:ol/loadingstrategy.all}\n * strategy is used, a one-off strategy which loads all features at once.\n * @property {string|import(\"../featureloader.js\").FeatureUrlFunction} [url]\n * Setting this option instructs the source to load features using an XHR loader\n * (see {@link module:ol/featureloader.xhr}). Use a `string` and an\n * {@link module:ol/loadingstrategy.all} for a one-off download of all features from\n * the given URL. Use a {@link module:ol/featureloader~FeatureUrlFunction} to generate the url with\n * other loading strategies.\n * Requires `format` to be set as well.\n * When default XHR feature loader is provided, the features will\n * be transformed from the data projection to the view projection\n * during parsing. If your remote data source does not advertise its projection\n * properly, this transformation will be incorrect. For some formats, the\n * default projection (usually EPSG:4326) can be overridden by setting the\n * dataProjection constructor option on the format.\n * Note that if a source contains non-feature data, such as a GeoJSON geometry\n * or a KML NetworkLink, these will be ignored. Use a custom loader to load these.\n * @property {boolean} [useSpatialIndex=true]\n * By default, an RTree is used as spatial index. When features are removed and\n * added frequently, and the total number of features is low, setting this to\n * `false` may improve performance.\n *\n * Note that\n * {@link module:ol/source/Vector~VectorSource#getFeaturesInExtent},\n * {@link module:ol/source/Vector~VectorSource#getClosestFeatureToCoordinate} and\n * {@link module:ol/source/Vector~VectorSource#getExtent} cannot be used when `useSpatialIndex` is\n * set to `false`, and {@link module:ol/source/Vector~VectorSource#forEachFeatureInExtent} will loop\n * through all features.\n *\n * When set to `false`, the features will be maintained in an\n * {@link module:ol/Collection~Collection}, which can be retrieved through\n * {@link module:ol/source/Vector~VectorSource#getFeaturesCollection}.\n * @property {boolean} [wrapX=true] Wrap the world horizontally. For vector editing across the\n * -180° and 180° meridians to work properly, this should be set to `false`. The\n * resulting geometry coordinates will then exceed the world bounds.\n */\n/**\n * @classdesc\n * Provides a source of features for vector layers. Vector features provided\n * by this source are suitable for editing. See {@link module:ol/source/VectorTile~VectorTile} for\n * vector data that is optimized for rendering.\n *\n * @fires VectorSourceEvent\n * @api\n * @template {import(\"../geom/Geometry.js\").default} [Geometry=import(\"../geom/Geometry.js\").default]\n */\nvar VectorSource = /** @class */ (function (_super) {\n __extends(VectorSource, _super);\n /**\n * @param {Options} [opt_options] Vector source options.\n */\n function VectorSource(opt_options) {\n var _this = this;\n var options = opt_options || {};\n _this = _super.call(this, {\n attributions: options.attributions,\n interpolate: true,\n projection: undefined,\n state: 'ready',\n wrapX: options.wrapX !== undefined ? options.wrapX : true,\n }) || this;\n /***\n * @type {VectorSourceOnSignature}\n */\n _this.on;\n /***\n * @type {VectorSourceOnSignature}\n */\n _this.once;\n /***\n * @type {VectorSourceOnSignature}\n */\n _this.un;\n /**\n * @private\n * @type {import(\"../featureloader.js\").FeatureLoader}\n */\n _this.loader_ = VOID;\n /**\n * @private\n * @type {import(\"../format/Feature.js\").default|undefined}\n */\n _this.format_ = options.format;\n /**\n * @private\n * @type {boolean}\n */\n _this.overlaps_ = options.overlaps === undefined ? true : options.overlaps;\n /**\n * @private\n * @type {string|import(\"../featureloader.js\").FeatureUrlFunction|undefined}\n */\n _this.url_ = options.url;\n if (options.loader !== undefined) {\n _this.loader_ = options.loader;\n }\n else if (_this.url_ !== undefined) {\n assert(_this.format_, 7); // `format` must be set when `url` is set\n // create a XHR feature loader for \"url\" and \"format\"\n _this.loader_ = xhr(_this.url_, \n /** @type {import(\"../format/Feature.js\").default} */ (_this.format_));\n }\n /**\n * @private\n * @type {LoadingStrategy}\n */\n _this.strategy_ =\n options.strategy !== undefined ? options.strategy : allStrategy;\n var useSpatialIndex = options.useSpatialIndex !== undefined ? options.useSpatialIndex : true;\n /**\n * @private\n * @type {RBush>}\n */\n _this.featuresRtree_ = useSpatialIndex ? new RBush() : null;\n /**\n * @private\n * @type {RBush<{extent: import(\"../extent.js\").Extent}>}\n */\n _this.loadedExtentsRtree_ = new RBush();\n /**\n * @type {number}\n * @private\n */\n _this.loadingExtentsCount_ = 0;\n /**\n * @private\n * @type {!Object>}\n */\n _this.nullGeometryFeatures_ = {};\n /**\n * A lookup of features by id (the return from feature.getId()).\n * @private\n * @type {!Object>}\n */\n _this.idIndex_ = {};\n /**\n * A lookup of features by uid (using getUid(feature)).\n * @private\n * @type {!Object>}\n */\n _this.uidIndex_ = {};\n /**\n * @private\n * @type {Object>}\n */\n _this.featureChangeKeys_ = {};\n /**\n * @private\n * @type {Collection>|null}\n */\n _this.featuresCollection_ = null;\n var collection, features;\n if (Array.isArray(options.features)) {\n features =\n /** @type {Array>} */ (options.features);\n }\n else if (options.features) {\n collection =\n /** @type {Collection>} */ (options.features);\n features = collection.getArray();\n }\n if (!useSpatialIndex && collection === undefined) {\n collection = new Collection(features);\n }\n if (features !== undefined) {\n _this.addFeaturesInternal(features);\n }\n if (collection !== undefined) {\n _this.bindFeaturesCollection_(collection);\n }\n return _this;\n }\n /**\n * Add a single feature to the source. If you want to add a batch of features\n * at once, call {@link module:ol/source/Vector~VectorSource#addFeatures #addFeatures()}\n * instead. A feature will not be added to the source if feature with\n * the same id is already there. The reason for this behavior is to avoid\n * feature duplication when using bbox or tile loading strategies.\n * Note: this also applies if an {@link module:ol/Collection~Collection} is used for features,\n * meaning that if a feature with a duplicate id is added in the collection, it will\n * be removed from it right away.\n * @param {import(\"../Feature.js\").default} feature Feature to add.\n * @api\n */\n VectorSource.prototype.addFeature = function (feature) {\n this.addFeatureInternal(feature);\n this.changed();\n };\n /**\n * Add a feature without firing a `change` event.\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @protected\n */\n VectorSource.prototype.addFeatureInternal = function (feature) {\n var featureKey = getUid(feature);\n if (!this.addToIndex_(featureKey, feature)) {\n if (this.featuresCollection_) {\n this.featuresCollection_.remove(feature);\n }\n return;\n }\n this.setupChangeEvents_(featureKey, feature);\n var geometry = feature.getGeometry();\n if (geometry) {\n var extent = geometry.getExtent();\n if (this.featuresRtree_) {\n this.featuresRtree_.insert(extent, feature);\n }\n }\n else {\n this.nullGeometryFeatures_[featureKey] = feature;\n }\n this.dispatchEvent(new VectorSourceEvent(VectorEventType.ADDFEATURE, feature));\n };\n /**\n * @param {string} featureKey Unique identifier for the feature.\n * @param {import(\"../Feature.js\").default} feature The feature.\n * @private\n */\n VectorSource.prototype.setupChangeEvents_ = function (featureKey, feature) {\n this.featureChangeKeys_[featureKey] = [\n listen(feature, EventType.CHANGE, this.handleFeatureChange_, this),\n listen(feature, ObjectEventType.PROPERTYCHANGE, this.handleFeatureChange_, this),\n ];\n };\n /**\n * @param {string} featureKey Unique identifier for the feature.\n * @param {import(\"../Feature.js\").default} feature The feature.\n * @return {boolean} The feature is \"valid\", in the sense that it is also a\n * candidate for insertion into the Rtree.\n * @private\n */\n VectorSource.prototype.addToIndex_ = function (featureKey, feature) {\n var valid = true;\n var id = feature.getId();\n if (id !== undefined) {\n if (!(id.toString() in this.idIndex_)) {\n this.idIndex_[id.toString()] = feature;\n }\n else {\n valid = false;\n }\n }\n if (valid) {\n assert(!(featureKey in this.uidIndex_), 30); // The passed `feature` was already added to the source\n this.uidIndex_[featureKey] = feature;\n }\n return valid;\n };\n /**\n * Add a batch of features to the source.\n * @param {Array>} features Features to add.\n * @api\n */\n VectorSource.prototype.addFeatures = function (features) {\n this.addFeaturesInternal(features);\n this.changed();\n };\n /**\n * Add features without firing a `change` event.\n * @param {Array>} features Features.\n * @protected\n */\n VectorSource.prototype.addFeaturesInternal = function (features) {\n var extents = [];\n var newFeatures = [];\n var geometryFeatures = [];\n for (var i = 0, length_1 = features.length; i < length_1; i++) {\n var feature = features[i];\n var featureKey = getUid(feature);\n if (this.addToIndex_(featureKey, feature)) {\n newFeatures.push(feature);\n }\n }\n for (var i = 0, length_2 = newFeatures.length; i < length_2; i++) {\n var feature = newFeatures[i];\n var featureKey = getUid(feature);\n this.setupChangeEvents_(featureKey, feature);\n var geometry = feature.getGeometry();\n if (geometry) {\n var extent = geometry.getExtent();\n extents.push(extent);\n geometryFeatures.push(feature);\n }\n else {\n this.nullGeometryFeatures_[featureKey] = feature;\n }\n }\n if (this.featuresRtree_) {\n this.featuresRtree_.load(extents, geometryFeatures);\n }\n if (this.hasListener(VectorEventType.ADDFEATURE)) {\n for (var i = 0, length_3 = newFeatures.length; i < length_3; i++) {\n this.dispatchEvent(new VectorSourceEvent(VectorEventType.ADDFEATURE, newFeatures[i]));\n }\n }\n };\n /**\n * @param {!Collection>} collection Collection.\n * @private\n */\n VectorSource.prototype.bindFeaturesCollection_ = function (collection) {\n var modifyingCollection = false;\n this.addEventListener(VectorEventType.ADDFEATURE, \n /**\n * @param {VectorSourceEvent} evt The vector source event\n */\n function (evt) {\n if (!modifyingCollection) {\n modifyingCollection = true;\n collection.push(evt.feature);\n modifyingCollection = false;\n }\n });\n this.addEventListener(VectorEventType.REMOVEFEATURE, \n /**\n * @param {VectorSourceEvent} evt The vector source event\n */\n function (evt) {\n if (!modifyingCollection) {\n modifyingCollection = true;\n collection.remove(evt.feature);\n modifyingCollection = false;\n }\n });\n collection.addEventListener(CollectionEventType.ADD, \n /**\n * @param {import(\"../Collection.js\").CollectionEvent} evt The collection event\n */\n function (evt) {\n if (!modifyingCollection) {\n modifyingCollection = true;\n this.addFeature(\n /** @type {import(\"../Feature.js\").default} */ (evt.element));\n modifyingCollection = false;\n }\n }.bind(this));\n collection.addEventListener(CollectionEventType.REMOVE, \n /**\n * @param {import(\"../Collection.js\").CollectionEvent} evt The collection event\n */\n function (evt) {\n if (!modifyingCollection) {\n modifyingCollection = true;\n this.removeFeature(\n /** @type {import(\"../Feature.js\").default} */ (evt.element));\n modifyingCollection = false;\n }\n }.bind(this));\n this.featuresCollection_ = collection;\n };\n /**\n * Remove all features from the source.\n * @param {boolean} [opt_fast] Skip dispatching of {@link module:ol/source/Vector.VectorSourceEvent#event:removefeature removefeature} events.\n * @api\n */\n VectorSource.prototype.clear = function (opt_fast) {\n if (opt_fast) {\n for (var featureId in this.featureChangeKeys_) {\n var keys = this.featureChangeKeys_[featureId];\n keys.forEach(unlistenByKey);\n }\n if (!this.featuresCollection_) {\n this.featureChangeKeys_ = {};\n this.idIndex_ = {};\n this.uidIndex_ = {};\n }\n }\n else {\n if (this.featuresRtree_) {\n var removeAndIgnoreReturn = function (feature) {\n this.removeFeatureInternal(feature);\n }.bind(this);\n this.featuresRtree_.forEach(removeAndIgnoreReturn);\n for (var id in this.nullGeometryFeatures_) {\n this.removeFeatureInternal(this.nullGeometryFeatures_[id]);\n }\n }\n }\n if (this.featuresCollection_) {\n this.featuresCollection_.clear();\n }\n if (this.featuresRtree_) {\n this.featuresRtree_.clear();\n }\n this.nullGeometryFeatures_ = {};\n var clearEvent = new VectorSourceEvent(VectorEventType.CLEAR);\n this.dispatchEvent(clearEvent);\n this.changed();\n };\n /**\n * Iterate through all features on the source, calling the provided callback\n * with each one. If the callback returns any \"truthy\" value, iteration will\n * stop and the function will return the same value.\n * Note: this function only iterate through the feature that have a defined geometry.\n *\n * @param {function(import(\"../Feature.js\").default): T} callback Called with each feature\n * on the source. Return a truthy value to stop iteration.\n * @return {T|undefined} The return value from the last call to the callback.\n * @template T\n * @api\n */\n VectorSource.prototype.forEachFeature = function (callback) {\n if (this.featuresRtree_) {\n return this.featuresRtree_.forEach(callback);\n }\n else if (this.featuresCollection_) {\n this.featuresCollection_.forEach(callback);\n }\n };\n /**\n * Iterate through all features whose geometries contain the provided\n * coordinate, calling the callback with each feature. If the callback returns\n * a \"truthy\" value, iteration will stop and the function will return the same\n * value.\n *\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {function(import(\"../Feature.js\").default): T} callback Called with each feature\n * whose goemetry contains the provided coordinate.\n * @return {T|undefined} The return value from the last call to the callback.\n * @template T\n */\n VectorSource.prototype.forEachFeatureAtCoordinateDirect = function (coordinate, callback) {\n var extent = [coordinate[0], coordinate[1], coordinate[0], coordinate[1]];\n return this.forEachFeatureInExtent(extent, function (feature) {\n var geometry = feature.getGeometry();\n if (geometry.intersectsCoordinate(coordinate)) {\n return callback(feature);\n }\n else {\n return undefined;\n }\n });\n };\n /**\n * Iterate through all features whose bounding box intersects the provided\n * extent (note that the feature's geometry may not intersect the extent),\n * calling the callback with each feature. If the callback returns a \"truthy\"\n * value, iteration will stop and the function will return the same value.\n *\n * If you are interested in features whose geometry intersects an extent, call\n * the {@link module:ol/source/Vector~VectorSource#forEachFeatureIntersectingExtent #forEachFeatureIntersectingExtent()} method instead.\n *\n * When `useSpatialIndex` is set to false, this method will loop through all\n * features, equivalent to {@link module:ol/source/Vector~VectorSource#forEachFeature #forEachFeature()}.\n *\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {function(import(\"../Feature.js\").default): T} callback Called with each feature\n * whose bounding box intersects the provided extent.\n * @return {T|undefined} The return value from the last call to the callback.\n * @template T\n * @api\n */\n VectorSource.prototype.forEachFeatureInExtent = function (extent, callback) {\n if (this.featuresRtree_) {\n return this.featuresRtree_.forEachInExtent(extent, callback);\n }\n else if (this.featuresCollection_) {\n this.featuresCollection_.forEach(callback);\n }\n };\n /**\n * Iterate through all features whose geometry intersects the provided extent,\n * calling the callback with each feature. If the callback returns a \"truthy\"\n * value, iteration will stop and the function will return the same value.\n *\n * If you only want to test for bounding box intersection, call the\n * {@link module:ol/source/Vector~VectorSource#forEachFeatureInExtent #forEachFeatureInExtent()} method instead.\n *\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {function(import(\"../Feature.js\").default): T} callback Called with each feature\n * whose geometry intersects the provided extent.\n * @return {T|undefined} The return value from the last call to the callback.\n * @template T\n * @api\n */\n VectorSource.prototype.forEachFeatureIntersectingExtent = function (extent, callback) {\n return this.forEachFeatureInExtent(extent, \n /**\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @return {T|undefined} The return value from the last call to the callback.\n */\n function (feature) {\n var geometry = feature.getGeometry();\n if (geometry.intersectsExtent(extent)) {\n var result = callback(feature);\n if (result) {\n return result;\n }\n }\n });\n };\n /**\n * Get the features collection associated with this source. Will be `null`\n * unless the source was configured with `useSpatialIndex` set to `false`, or\n * with an {@link module:ol/Collection~Collection} as `features`.\n * @return {Collection>|null} The collection of features.\n * @api\n */\n VectorSource.prototype.getFeaturesCollection = function () {\n return this.featuresCollection_;\n };\n /**\n * Get a snapshot of the features currently on the source in random order. The returned array\n * is a copy, the features are references to the features in the source.\n * @return {Array>} Features.\n * @api\n */\n VectorSource.prototype.getFeatures = function () {\n var features;\n if (this.featuresCollection_) {\n features = this.featuresCollection_.getArray().slice(0);\n }\n else if (this.featuresRtree_) {\n features = this.featuresRtree_.getAll();\n if (!isEmpty(this.nullGeometryFeatures_)) {\n extend(features, getValues(this.nullGeometryFeatures_));\n }\n }\n return /** @type {Array>} */ (features);\n };\n /**\n * Get all features whose geometry intersects the provided coordinate.\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @return {Array>} Features.\n * @api\n */\n VectorSource.prototype.getFeaturesAtCoordinate = function (coordinate) {\n var features = [];\n this.forEachFeatureAtCoordinateDirect(coordinate, function (feature) {\n features.push(feature);\n });\n return features;\n };\n /**\n * Get all features whose bounding box intersects the provided extent. Note that this returns an array of\n * all features intersecting the given extent in random order (so it may include\n * features whose geometries do not intersect the extent).\n *\n * When `useSpatialIndex` is set to false, this method will return all\n * features.\n *\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {import(\"../proj/Projection.js\").default} [opt_projection] Include features\n * where `extent` exceeds the x-axis bounds of `projection` and wraps around the world.\n * @return {Array>} Features.\n * @api\n */\n VectorSource.prototype.getFeaturesInExtent = function (extent, opt_projection) {\n var _this = this;\n if (this.featuresRtree_) {\n var multiWorld = opt_projection && opt_projection.canWrapX() && this.getWrapX();\n if (!multiWorld) {\n return this.featuresRtree_.getInExtent(extent);\n }\n var extents = wrapAndSliceX(extent, opt_projection);\n return [].concat.apply([], extents.map(function (anExtent) { return _this.featuresRtree_.getInExtent(anExtent); }));\n }\n else if (this.featuresCollection_) {\n return this.featuresCollection_.getArray().slice(0);\n }\n else {\n return [];\n }\n };\n /**\n * Get the closest feature to the provided coordinate.\n *\n * This method is not available when the source is configured with\n * `useSpatialIndex` set to `false`.\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {function(import(\"../Feature.js\").default):boolean} [opt_filter] Feature filter function.\n * The filter function will receive one argument, the {@link module:ol/Feature~Feature feature}\n * and it should return a boolean value. By default, no filtering is made.\n * @return {import(\"../Feature.js\").default} Closest feature.\n * @api\n */\n VectorSource.prototype.getClosestFeatureToCoordinate = function (coordinate, opt_filter) {\n // Find the closest feature using branch and bound. We start searching an\n // infinite extent, and find the distance from the first feature found. This\n // becomes the closest feature. We then compute a smaller extent which any\n // closer feature must intersect. We continue searching with this smaller\n // extent, trying to find a closer feature. Every time we find a closer\n // feature, we update the extent being searched so that any even closer\n // feature must intersect it. We continue until we run out of features.\n var x = coordinate[0];\n var y = coordinate[1];\n var closestFeature = null;\n var closestPoint = [NaN, NaN];\n var minSquaredDistance = Infinity;\n var extent = [-Infinity, -Infinity, Infinity, Infinity];\n var filter = opt_filter ? opt_filter : TRUE;\n this.featuresRtree_.forEachInExtent(extent, \n /**\n * @param {import(\"../Feature.js\").default} feature Feature.\n */\n function (feature) {\n if (filter(feature)) {\n var geometry = feature.getGeometry();\n var previousMinSquaredDistance = minSquaredDistance;\n minSquaredDistance = geometry.closestPointXY(x, y, closestPoint, minSquaredDistance);\n if (minSquaredDistance < previousMinSquaredDistance) {\n closestFeature = feature;\n // This is sneaky. Reduce the extent that it is currently being\n // searched while the R-Tree traversal using this same extent object\n // is still in progress. This is safe because the new extent is\n // strictly contained by the old extent.\n var minDistance = Math.sqrt(minSquaredDistance);\n extent[0] = x - minDistance;\n extent[1] = y - minDistance;\n extent[2] = x + minDistance;\n extent[3] = y + minDistance;\n }\n }\n });\n return closestFeature;\n };\n /**\n * Get the extent of the features currently in the source.\n *\n * This method is not available when the source is configured with\n * `useSpatialIndex` set to `false`.\n * @param {import(\"../extent.js\").Extent} [opt_extent] Destination extent. If provided, no new extent\n * will be created. Instead, that extent's coordinates will be overwritten.\n * @return {import(\"../extent.js\").Extent} Extent.\n * @api\n */\n VectorSource.prototype.getExtent = function (opt_extent) {\n return this.featuresRtree_.getExtent(opt_extent);\n };\n /**\n * Get a feature by its identifier (the value returned by feature.getId()).\n * Note that the index treats string and numeric identifiers as the same. So\n * `source.getFeatureById(2)` will return a feature with id `'2'` or `2`.\n *\n * @param {string|number} id Feature identifier.\n * @return {import(\"../Feature.js\").default|null} The feature (or `null` if not found).\n * @api\n */\n VectorSource.prototype.getFeatureById = function (id) {\n var feature = this.idIndex_[id.toString()];\n return feature !== undefined ? feature : null;\n };\n /**\n * Get a feature by its internal unique identifier (using `getUid`).\n *\n * @param {string} uid Feature identifier.\n * @return {import(\"../Feature.js\").default|null} The feature (or `null` if not found).\n */\n VectorSource.prototype.getFeatureByUid = function (uid) {\n var feature = this.uidIndex_[uid];\n return feature !== undefined ? feature : null;\n };\n /**\n * Get the format associated with this source.\n *\n * @return {import(\"../format/Feature.js\").default|undefined} The feature format.\n * @api\n */\n VectorSource.prototype.getFormat = function () {\n return this.format_;\n };\n /**\n * @return {boolean} The source can have overlapping geometries.\n */\n VectorSource.prototype.getOverlaps = function () {\n return this.overlaps_;\n };\n /**\n * Get the url associated with this source.\n *\n * @return {string|import(\"../featureloader.js\").FeatureUrlFunction|undefined} The url.\n * @api\n */\n VectorSource.prototype.getUrl = function () {\n return this.url_;\n };\n /**\n * @param {Event} event Event.\n * @private\n */\n VectorSource.prototype.handleFeatureChange_ = function (event) {\n var feature = /** @type {import(\"../Feature.js\").default} */ (event.target);\n var featureKey = getUid(feature);\n var geometry = feature.getGeometry();\n if (!geometry) {\n if (!(featureKey in this.nullGeometryFeatures_)) {\n if (this.featuresRtree_) {\n this.featuresRtree_.remove(feature);\n }\n this.nullGeometryFeatures_[featureKey] = feature;\n }\n }\n else {\n var extent = geometry.getExtent();\n if (featureKey in this.nullGeometryFeatures_) {\n delete this.nullGeometryFeatures_[featureKey];\n if (this.featuresRtree_) {\n this.featuresRtree_.insert(extent, feature);\n }\n }\n else {\n if (this.featuresRtree_) {\n this.featuresRtree_.update(extent, feature);\n }\n }\n }\n var id = feature.getId();\n if (id !== undefined) {\n var sid = id.toString();\n if (this.idIndex_[sid] !== feature) {\n this.removeFromIdIndex_(feature);\n this.idIndex_[sid] = feature;\n }\n }\n else {\n this.removeFromIdIndex_(feature);\n this.uidIndex_[featureKey] = feature;\n }\n this.changed();\n this.dispatchEvent(new VectorSourceEvent(VectorEventType.CHANGEFEATURE, feature));\n };\n /**\n * Returns true if the feature is contained within the source.\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @return {boolean} Has feature.\n * @api\n */\n VectorSource.prototype.hasFeature = function (feature) {\n var id = feature.getId();\n if (id !== undefined) {\n return id in this.idIndex_;\n }\n else {\n return getUid(feature) in this.uidIndex_;\n }\n };\n /**\n * @return {boolean} Is empty.\n */\n VectorSource.prototype.isEmpty = function () {\n if (this.featuresRtree_) {\n return (this.featuresRtree_.isEmpty() && isEmpty(this.nullGeometryFeatures_));\n }\n if (this.featuresCollection_) {\n return this.featuresCollection_.getLength() === 0;\n }\n return true;\n };\n /**\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {number} resolution Resolution.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n */\n VectorSource.prototype.loadFeatures = function (extent, resolution, projection) {\n var loadedExtentsRtree = this.loadedExtentsRtree_;\n var extentsToLoad = this.strategy_(extent, resolution, projection);\n var _loop_1 = function (i, ii) {\n var extentToLoad = extentsToLoad[i];\n var alreadyLoaded = loadedExtentsRtree.forEachInExtent(extentToLoad, \n /**\n * @param {{extent: import(\"../extent.js\").Extent}} object Object.\n * @return {boolean} Contains.\n */\n function (object) {\n return containsExtent(object.extent, extentToLoad);\n });\n if (!alreadyLoaded) {\n ++this_1.loadingExtentsCount_;\n this_1.dispatchEvent(new VectorSourceEvent(VectorEventType.FEATURESLOADSTART));\n this_1.loader_.call(this_1, extentToLoad, resolution, projection, function (features) {\n --this.loadingExtentsCount_;\n this.dispatchEvent(new VectorSourceEvent(VectorEventType.FEATURESLOADEND, undefined, features));\n }.bind(this_1), function () {\n --this.loadingExtentsCount_;\n this.dispatchEvent(new VectorSourceEvent(VectorEventType.FEATURESLOADERROR));\n }.bind(this_1));\n loadedExtentsRtree.insert(extentToLoad, { extent: extentToLoad.slice() });\n }\n };\n var this_1 = this;\n for (var i = 0, ii = extentsToLoad.length; i < ii; ++i) {\n _loop_1(i, ii);\n }\n this.loading =\n this.loader_.length < 4 ? false : this.loadingExtentsCount_ > 0;\n };\n VectorSource.prototype.refresh = function () {\n this.clear(true);\n this.loadedExtentsRtree_.clear();\n _super.prototype.refresh.call(this);\n };\n /**\n * Remove an extent from the list of loaded extents.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @api\n */\n VectorSource.prototype.removeLoadedExtent = function (extent) {\n var loadedExtentsRtree = this.loadedExtentsRtree_;\n var obj;\n loadedExtentsRtree.forEachInExtent(extent, function (object) {\n if (equals(object.extent, extent)) {\n obj = object;\n return true;\n }\n });\n if (obj) {\n loadedExtentsRtree.remove(obj);\n }\n };\n /**\n * Remove a single feature from the source. If you want to remove all features\n * at once, use the {@link module:ol/source/Vector~VectorSource#clear #clear()} method\n * instead.\n * @param {import(\"../Feature.js\").default} feature Feature to remove.\n * @api\n */\n VectorSource.prototype.removeFeature = function (feature) {\n if (!feature) {\n return;\n }\n var featureKey = getUid(feature);\n if (featureKey in this.nullGeometryFeatures_) {\n delete this.nullGeometryFeatures_[featureKey];\n }\n else {\n if (this.featuresRtree_) {\n this.featuresRtree_.remove(feature);\n }\n }\n var result = this.removeFeatureInternal(feature);\n if (result) {\n this.changed();\n }\n };\n /**\n * Remove feature without firing a `change` event.\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @return {import(\"../Feature.js\").default|undefined} The removed feature\n * (or undefined if the feature was not found).\n * @protected\n */\n VectorSource.prototype.removeFeatureInternal = function (feature) {\n var featureKey = getUid(feature);\n var featureChangeKeys = this.featureChangeKeys_[featureKey];\n if (!featureChangeKeys) {\n return;\n }\n featureChangeKeys.forEach(unlistenByKey);\n delete this.featureChangeKeys_[featureKey];\n var id = feature.getId();\n if (id !== undefined) {\n delete this.idIndex_[id.toString()];\n }\n delete this.uidIndex_[featureKey];\n this.dispatchEvent(new VectorSourceEvent(VectorEventType.REMOVEFEATURE, feature));\n return feature;\n };\n /**\n * Remove a feature from the id index. Called internally when the feature id\n * may have changed.\n * @param {import(\"../Feature.js\").default} feature The feature.\n * @return {boolean} Removed the feature from the index.\n * @private\n */\n VectorSource.prototype.removeFromIdIndex_ = function (feature) {\n var removed = false;\n for (var id in this.idIndex_) {\n if (this.idIndex_[id] === feature) {\n delete this.idIndex_[id];\n removed = true;\n break;\n }\n }\n return removed;\n };\n /**\n * Set the new loader of the source. The next render cycle will use the\n * new loader.\n * @param {import(\"../featureloader.js\").FeatureLoader} loader The loader to set.\n * @api\n */\n VectorSource.prototype.setLoader = function (loader) {\n this.loader_ = loader;\n };\n /**\n * Points the source to a new url. The next render cycle will use the new url.\n * @param {string|import(\"../featureloader.js\").FeatureUrlFunction} url Url.\n * @api\n */\n VectorSource.prototype.setUrl = function (url) {\n assert(this.format_, 7); // `format` must be set when `url` is set\n this.url_ = url;\n this.setLoader(xhr(url, this.format_));\n };\n return VectorSource;\n}(Source));\nexport default VectorSource;\n//# sourceMappingURL=Vector.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectSelectDialog.vue?vue&type=style&index=0&id=684af0bb&prod&scoped=true&lang=css\"","/**\n * @module ol/MapEventType\n */\n/**\n * @enum {string}\n */\nexport default {\n /**\n * Triggered after a map frame is rendered.\n * @event module:ol/MapEvent~MapEvent#postrender\n * @api\n */\n POSTRENDER: 'postrender',\n /**\n * Triggered when the map starts moving.\n * @event module:ol/MapEvent~MapEvent#movestart\n * @api\n */\n MOVESTART: 'movestart',\n /**\n * Triggered after the map is moved.\n * @event module:ol/MapEvent~MapEvent#moveend\n * @api\n */\n MOVEEND: 'moveend',\n /**\n * Triggered when loading of additional map data (tiles, images, features) starts.\n * @event module:ol/MapEvent~MapEvent#loadstart\n * @api\n */\n LOADSTART: 'loadstart',\n /**\n * Triggered when loading of additional map data has completed.\n * @event module:ol/MapEvent~MapEvent#loadend\n * @api\n */\n LOADEND: 'loadend',\n};\n/***\n * @typedef {'postrender'|'movestart'|'moveend'|'loadstart'|'loadend'} Types\n */\n//# sourceMappingURL=MapEventType.js.map","/**\n * @module ol/geom/flat/length\n */\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @return {number} Length.\n */\nexport function lineStringLength(flatCoordinates, offset, end, stride) {\n var x1 = flatCoordinates[offset];\n var y1 = flatCoordinates[offset + 1];\n var length = 0;\n for (var i = offset + stride; i < end; i += stride) {\n var x2 = flatCoordinates[i];\n var y2 = flatCoordinates[i + 1];\n length += Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n x1 = x2;\n y1 = y2;\n }\n return length;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @return {number} Perimeter.\n */\nexport function linearRingLength(flatCoordinates, offset, end, stride) {\n var perimeter = lineStringLength(flatCoordinates, offset, end, stride);\n var dx = flatCoordinates[end - stride] - flatCoordinates[offset];\n var dy = flatCoordinates[end - stride + 1] - flatCoordinates[offset + 1];\n perimeter += Math.sqrt(dx * dx + dy * dy);\n return perimeter;\n}\n//# sourceMappingURL=length.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/geom/LinearRing\n */\nimport GeometryLayout from './GeometryLayout.js';\nimport SimpleGeometry from './SimpleGeometry.js';\nimport { assignClosestPoint, maxSquaredDelta } from './flat/closest.js';\nimport { closestSquaredDistanceXY } from '../extent.js';\nimport { deflateCoordinates } from './flat/deflate.js';\nimport { douglasPeucker } from './flat/simplify.js';\nimport { inflateCoordinates } from './flat/inflate.js';\nimport { linearRing as linearRingArea } from './flat/area.js';\n/**\n * @classdesc\n * Linear ring geometry. Only used as part of polygon; cannot be rendered\n * on its own.\n *\n * @api\n */\nvar LinearRing = /** @class */ (function (_super) {\n __extends(LinearRing, _super);\n /**\n * @param {Array|Array} coordinates Coordinates.\n * For internal use, flat coordinates in combination with `opt_layout` are also accepted.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n */\n function LinearRing(coordinates, opt_layout) {\n var _this = _super.call(this) || this;\n /**\n * @private\n * @type {number}\n */\n _this.maxDelta_ = -1;\n /**\n * @private\n * @type {number}\n */\n _this.maxDeltaRevision_ = -1;\n if (opt_layout !== undefined && !Array.isArray(coordinates[0])) {\n _this.setFlatCoordinates(opt_layout, \n /** @type {Array} */ (coordinates));\n }\n else {\n _this.setCoordinates(\n /** @type {Array} */ (coordinates), opt_layout);\n }\n return _this;\n }\n /**\n * Make a complete copy of the geometry.\n * @return {!LinearRing} Clone.\n * @api\n */\n LinearRing.prototype.clone = function () {\n return new LinearRing(this.flatCoordinates.slice(), this.layout);\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../coordinate.js\").Coordinate} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @return {number} Minimum squared distance.\n */\n LinearRing.prototype.closestPointXY = function (x, y, closestPoint, minSquaredDistance) {\n if (minSquaredDistance < closestSquaredDistanceXY(this.getExtent(), x, y)) {\n return minSquaredDistance;\n }\n if (this.maxDeltaRevision_ != this.getRevision()) {\n this.maxDelta_ = Math.sqrt(maxSquaredDelta(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, 0));\n this.maxDeltaRevision_ = this.getRevision();\n }\n return assignClosestPoint(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, this.maxDelta_, true, x, y, closestPoint, minSquaredDistance);\n };\n /**\n * Return the area of the linear ring on projected plane.\n * @return {number} Area (on projected plane).\n * @api\n */\n LinearRing.prototype.getArea = function () {\n return linearRingArea(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride);\n };\n /**\n * Return the coordinates of the linear ring.\n * @return {Array} Coordinates.\n * @api\n */\n LinearRing.prototype.getCoordinates = function () {\n return inflateCoordinates(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride);\n };\n /**\n * @param {number} squaredTolerance Squared tolerance.\n * @return {LinearRing} Simplified LinearRing.\n * @protected\n */\n LinearRing.prototype.getSimplifiedGeometryInternal = function (squaredTolerance) {\n var simplifiedFlatCoordinates = [];\n simplifiedFlatCoordinates.length = douglasPeucker(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, squaredTolerance, simplifiedFlatCoordinates, 0);\n return new LinearRing(simplifiedFlatCoordinates, GeometryLayout.XY);\n };\n /**\n * Get the type of this geometry.\n * @return {import(\"./Geometry.js\").Type} Geometry type.\n * @api\n */\n LinearRing.prototype.getType = function () {\n return 'LinearRing';\n };\n /**\n * Test if the geometry and the passed extent intersect.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {boolean} `true` if the geometry and the extent intersect.\n * @api\n */\n LinearRing.prototype.intersectsExtent = function (extent) {\n return false;\n };\n /**\n * Set the coordinates of the linear ring.\n * @param {!Array} coordinates Coordinates.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n * @api\n */\n LinearRing.prototype.setCoordinates = function (coordinates, opt_layout) {\n this.setLayout(opt_layout, coordinates, 1);\n if (!this.flatCoordinates) {\n this.flatCoordinates = [];\n }\n this.flatCoordinates.length = deflateCoordinates(this.flatCoordinates, 0, coordinates, this.stride);\n this.changed();\n };\n return LinearRing;\n}(SimpleGeometry));\nexport default LinearRing;\n//# sourceMappingURL=LinearRing.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/geom/Polygon\n */\nimport GeometryLayout from './GeometryLayout.js';\nimport LinearRing from './LinearRing.js';\nimport Point from './Point.js';\nimport SimpleGeometry from './SimpleGeometry.js';\nimport { arrayMaxSquaredDelta, assignClosestArrayPoint } from './flat/closest.js';\nimport { closestSquaredDistanceXY, getCenter } from '../extent.js';\nimport { deflateCoordinatesArray } from './flat/deflate.js';\nimport { extend } from '../array.js';\nimport { getInteriorPointOfArray } from './flat/interiorpoint.js';\nimport { inflateCoordinatesArray } from './flat/inflate.js';\nimport { intersectsLinearRingArray } from './flat/intersectsextent.js';\nimport { linearRingsAreOriented, orientLinearRings } from './flat/orient.js';\nimport { linearRings as linearRingsArea } from './flat/area.js';\nimport { linearRingsContainsXY } from './flat/contains.js';\nimport { modulo } from '../math.js';\nimport { quantizeArray } from './flat/simplify.js';\nimport { offset as sphereOffset } from '../sphere.js';\n/**\n * @classdesc\n * Polygon geometry.\n *\n * @api\n */\nvar Polygon = /** @class */ (function (_super) {\n __extends(Polygon, _super);\n /**\n * @param {!Array>|!Array} coordinates\n * Array of linear rings that define the polygon. The first linear ring of the\n * array defines the outer-boundary or surface of the polygon. Each subsequent\n * linear ring defines a hole in the surface of the polygon. A linear ring is\n * an array of vertices' coordinates where the first coordinate and the last are\n * equivalent. (For internal use, flat coordinates in combination with\n * `opt_layout` and `opt_ends` are also accepted.)\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n * @param {Array} [opt_ends] Ends (for internal use with flat coordinates).\n */\n function Polygon(coordinates, opt_layout, opt_ends) {\n var _this = _super.call(this) || this;\n /**\n * @type {Array}\n * @private\n */\n _this.ends_ = [];\n /**\n * @private\n * @type {number}\n */\n _this.flatInteriorPointRevision_ = -1;\n /**\n * @private\n * @type {import(\"../coordinate.js\").Coordinate}\n */\n _this.flatInteriorPoint_ = null;\n /**\n * @private\n * @type {number}\n */\n _this.maxDelta_ = -1;\n /**\n * @private\n * @type {number}\n */\n _this.maxDeltaRevision_ = -1;\n /**\n * @private\n * @type {number}\n */\n _this.orientedRevision_ = -1;\n /**\n * @private\n * @type {Array}\n */\n _this.orientedFlatCoordinates_ = null;\n if (opt_layout !== undefined && opt_ends) {\n _this.setFlatCoordinates(opt_layout, \n /** @type {Array} */ (coordinates));\n _this.ends_ = opt_ends;\n }\n else {\n _this.setCoordinates(\n /** @type {Array>} */ (coordinates), opt_layout);\n }\n return _this;\n }\n /**\n * Append the passed linear ring to this polygon.\n * @param {LinearRing} linearRing Linear ring.\n * @api\n */\n Polygon.prototype.appendLinearRing = function (linearRing) {\n if (!this.flatCoordinates) {\n this.flatCoordinates = linearRing.getFlatCoordinates().slice();\n }\n else {\n extend(this.flatCoordinates, linearRing.getFlatCoordinates());\n }\n this.ends_.push(this.flatCoordinates.length);\n this.changed();\n };\n /**\n * Make a complete copy of the geometry.\n * @return {!Polygon} Clone.\n * @api\n */\n Polygon.prototype.clone = function () {\n var polygon = new Polygon(this.flatCoordinates.slice(), this.layout, this.ends_.slice());\n polygon.applyProperties(this);\n return polygon;\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../coordinate.js\").Coordinate} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @return {number} Minimum squared distance.\n */\n Polygon.prototype.closestPointXY = function (x, y, closestPoint, minSquaredDistance) {\n if (minSquaredDistance < closestSquaredDistanceXY(this.getExtent(), x, y)) {\n return minSquaredDistance;\n }\n if (this.maxDeltaRevision_ != this.getRevision()) {\n this.maxDelta_ = Math.sqrt(arrayMaxSquaredDelta(this.flatCoordinates, 0, this.ends_, this.stride, 0));\n this.maxDeltaRevision_ = this.getRevision();\n }\n return assignClosestArrayPoint(this.flatCoordinates, 0, this.ends_, this.stride, this.maxDelta_, true, x, y, closestPoint, minSquaredDistance);\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\n Polygon.prototype.containsXY = function (x, y) {\n return linearRingsContainsXY(this.getOrientedFlatCoordinates(), 0, this.ends_, this.stride, x, y);\n };\n /**\n * Return the area of the polygon on projected plane.\n * @return {number} Area (on projected plane).\n * @api\n */\n Polygon.prototype.getArea = function () {\n return linearRingsArea(this.getOrientedFlatCoordinates(), 0, this.ends_, this.stride);\n };\n /**\n * Get the coordinate array for this geometry. This array has the structure\n * of a GeoJSON coordinate array for polygons.\n *\n * @param {boolean} [opt_right] Orient coordinates according to the right-hand\n * rule (counter-clockwise for exterior and clockwise for interior rings).\n * If `false`, coordinates will be oriented according to the left-hand rule\n * (clockwise for exterior and counter-clockwise for interior rings).\n * By default, coordinate orientation will depend on how the geometry was\n * constructed.\n * @return {Array>} Coordinates.\n * @api\n */\n Polygon.prototype.getCoordinates = function (opt_right) {\n var flatCoordinates;\n if (opt_right !== undefined) {\n flatCoordinates = this.getOrientedFlatCoordinates().slice();\n orientLinearRings(flatCoordinates, 0, this.ends_, this.stride, opt_right);\n }\n else {\n flatCoordinates = this.flatCoordinates;\n }\n return inflateCoordinatesArray(flatCoordinates, 0, this.ends_, this.stride);\n };\n /**\n * @return {Array} Ends.\n */\n Polygon.prototype.getEnds = function () {\n return this.ends_;\n };\n /**\n * @return {Array} Interior point.\n */\n Polygon.prototype.getFlatInteriorPoint = function () {\n if (this.flatInteriorPointRevision_ != this.getRevision()) {\n var flatCenter = getCenter(this.getExtent());\n this.flatInteriorPoint_ = getInteriorPointOfArray(this.getOrientedFlatCoordinates(), 0, this.ends_, this.stride, flatCenter, 0);\n this.flatInteriorPointRevision_ = this.getRevision();\n }\n return this.flatInteriorPoint_;\n };\n /**\n * Return an interior point of the polygon.\n * @return {Point} Interior point as XYM coordinate, where M is the\n * length of the horizontal intersection that the point belongs to.\n * @api\n */\n Polygon.prototype.getInteriorPoint = function () {\n return new Point(this.getFlatInteriorPoint(), GeometryLayout.XYM);\n };\n /**\n * Return the number of rings of the polygon, this includes the exterior\n * ring and any interior rings.\n *\n * @return {number} Number of rings.\n * @api\n */\n Polygon.prototype.getLinearRingCount = function () {\n return this.ends_.length;\n };\n /**\n * Return the Nth linear ring of the polygon geometry. Return `null` if the\n * given index is out of range.\n * The exterior linear ring is available at index `0` and the interior rings\n * at index `1` and beyond.\n *\n * @param {number} index Index.\n * @return {LinearRing|null} Linear ring.\n * @api\n */\n Polygon.prototype.getLinearRing = function (index) {\n if (index < 0 || this.ends_.length <= index) {\n return null;\n }\n return new LinearRing(this.flatCoordinates.slice(index === 0 ? 0 : this.ends_[index - 1], this.ends_[index]), this.layout);\n };\n /**\n * Return the linear rings of the polygon.\n * @return {Array} Linear rings.\n * @api\n */\n Polygon.prototype.getLinearRings = function () {\n var layout = this.layout;\n var flatCoordinates = this.flatCoordinates;\n var ends = this.ends_;\n var linearRings = [];\n var offset = 0;\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n var linearRing = new LinearRing(flatCoordinates.slice(offset, end), layout);\n linearRings.push(linearRing);\n offset = end;\n }\n return linearRings;\n };\n /**\n * @return {Array} Oriented flat coordinates.\n */\n Polygon.prototype.getOrientedFlatCoordinates = function () {\n if (this.orientedRevision_ != this.getRevision()) {\n var flatCoordinates = this.flatCoordinates;\n if (linearRingsAreOriented(flatCoordinates, 0, this.ends_, this.stride)) {\n this.orientedFlatCoordinates_ = flatCoordinates;\n }\n else {\n this.orientedFlatCoordinates_ = flatCoordinates.slice();\n this.orientedFlatCoordinates_.length = orientLinearRings(this.orientedFlatCoordinates_, 0, this.ends_, this.stride);\n }\n this.orientedRevision_ = this.getRevision();\n }\n return this.orientedFlatCoordinates_;\n };\n /**\n * @param {number} squaredTolerance Squared tolerance.\n * @return {Polygon} Simplified Polygon.\n * @protected\n */\n Polygon.prototype.getSimplifiedGeometryInternal = function (squaredTolerance) {\n var simplifiedFlatCoordinates = [];\n var simplifiedEnds = [];\n simplifiedFlatCoordinates.length = quantizeArray(this.flatCoordinates, 0, this.ends_, this.stride, Math.sqrt(squaredTolerance), simplifiedFlatCoordinates, 0, simplifiedEnds);\n return new Polygon(simplifiedFlatCoordinates, GeometryLayout.XY, simplifiedEnds);\n };\n /**\n * Get the type of this geometry.\n * @return {import(\"./Geometry.js\").Type} Geometry type.\n * @api\n */\n Polygon.prototype.getType = function () {\n return 'Polygon';\n };\n /**\n * Test if the geometry and the passed extent intersect.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {boolean} `true` if the geometry and the extent intersect.\n * @api\n */\n Polygon.prototype.intersectsExtent = function (extent) {\n return intersectsLinearRingArray(this.getOrientedFlatCoordinates(), 0, this.ends_, this.stride, extent);\n };\n /**\n * Set the coordinates of the polygon.\n * @param {!Array>} coordinates Coordinates.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n * @api\n */\n Polygon.prototype.setCoordinates = function (coordinates, opt_layout) {\n this.setLayout(opt_layout, coordinates, 2);\n if (!this.flatCoordinates) {\n this.flatCoordinates = [];\n }\n var ends = deflateCoordinatesArray(this.flatCoordinates, 0, coordinates, this.stride, this.ends_);\n this.flatCoordinates.length = ends.length === 0 ? 0 : ends[ends.length - 1];\n this.changed();\n };\n return Polygon;\n}(SimpleGeometry));\nexport default Polygon;\n/**\n * Create an approximation of a circle on the surface of a sphere.\n * @param {import(\"../coordinate.js\").Coordinate} center Center (`[lon, lat]` in degrees).\n * @param {number} radius The great-circle distance from the center to\n * the polygon vertices in meters.\n * @param {number} [opt_n] Optional number of vertices for the resulting\n * polygon. Default is `32`.\n * @param {number} [opt_sphereRadius] Optional radius for the sphere (defaults to\n * the Earth's mean radius using the WGS84 ellipsoid).\n * @return {Polygon} The \"circular\" polygon.\n * @api\n */\nexport function circular(center, radius, opt_n, opt_sphereRadius) {\n var n = opt_n ? opt_n : 32;\n /** @type {Array} */\n var flatCoordinates = [];\n for (var i = 0; i < n; ++i) {\n extend(flatCoordinates, sphereOffset(center, radius, (2 * Math.PI * i) / n, opt_sphereRadius));\n }\n flatCoordinates.push(flatCoordinates[0], flatCoordinates[1]);\n return new Polygon(flatCoordinates, GeometryLayout.XY, [\n flatCoordinates.length,\n ]);\n}\n/**\n * Create a polygon from an extent. The layout used is `XY`.\n * @param {import(\"../extent.js\").Extent} extent The extent.\n * @return {Polygon} The polygon.\n * @api\n */\nexport function fromExtent(extent) {\n var minX = extent[0];\n var minY = extent[1];\n var maxX = extent[2];\n var maxY = extent[3];\n var flatCoordinates = [\n minX,\n minY,\n minX,\n maxY,\n maxX,\n maxY,\n maxX,\n minY,\n minX,\n minY,\n ];\n return new Polygon(flatCoordinates, GeometryLayout.XY, [\n flatCoordinates.length,\n ]);\n}\n/**\n * Create a regular polygon from a circle.\n * @param {import(\"./Circle.js\").default} circle Circle geometry.\n * @param {number} [opt_sides] Number of sides of the polygon. Default is 32.\n * @param {number} [opt_angle] Start angle for the first vertex of the polygon in\n * counter-clockwise radians. 0 means East. Default is 0.\n * @return {Polygon} Polygon geometry.\n * @api\n */\nexport function fromCircle(circle, opt_sides, opt_angle) {\n var sides = opt_sides ? opt_sides : 32;\n var stride = circle.getStride();\n var layout = circle.getLayout();\n var center = circle.getCenter();\n var arrayLength = stride * (sides + 1);\n var flatCoordinates = new Array(arrayLength);\n for (var i = 0; i < arrayLength; i += stride) {\n flatCoordinates[i] = 0;\n flatCoordinates[i + 1] = 0;\n for (var j = 2; j < stride; j++) {\n flatCoordinates[i + j] = center[j];\n }\n }\n var ends = [flatCoordinates.length];\n var polygon = new Polygon(flatCoordinates, layout, ends);\n makeRegular(polygon, center, circle.getRadius(), opt_angle);\n return polygon;\n}\n/**\n * Modify the coordinates of a polygon to make it a regular polygon.\n * @param {Polygon} polygon Polygon geometry.\n * @param {import(\"../coordinate.js\").Coordinate} center Center of the regular polygon.\n * @param {number} radius Radius of the regular polygon.\n * @param {number} [opt_angle] Start angle for the first vertex of the polygon in\n * counter-clockwise radians. 0 means East. Default is 0.\n */\nexport function makeRegular(polygon, center, radius, opt_angle) {\n var flatCoordinates = polygon.getFlatCoordinates();\n var stride = polygon.getStride();\n var sides = flatCoordinates.length / stride - 1;\n var startAngle = opt_angle ? opt_angle : 0;\n for (var i = 0; i <= sides; ++i) {\n var offset = i * stride;\n var angle = startAngle + (modulo(i, sides) * 2 * Math.PI) / sides;\n flatCoordinates[offset] = center[0] + radius * Math.cos(angle);\n flatCoordinates[offset + 1] = center[1] + radius * Math.sin(angle);\n }\n polygon.changed();\n}\n//# sourceMappingURL=Polygon.js.map","/**\n * @module ol/color\n */\nimport { assert } from './asserts.js';\nimport { clamp } from './math.js';\n/**\n * A color represented as a short array [red, green, blue, alpha].\n * red, green, and blue should be integers in the range 0..255 inclusive.\n * alpha should be a float in the range 0..1 inclusive. If no alpha value is\n * given then `1` will be used.\n * @typedef {Array} Color\n * @api\n */\n/**\n * This RegExp matches # followed by 3, 4, 6, or 8 hex digits.\n * @const\n * @type {RegExp}\n * @private\n */\nvar HEX_COLOR_RE_ = /^#([a-f0-9]{3}|[a-f0-9]{4}(?:[a-f0-9]{2}){0,2})$/i;\n/**\n * Regular expression for matching potential named color style strings.\n * @const\n * @type {RegExp}\n * @private\n */\nvar NAMED_COLOR_RE_ = /^([a-z]*)$|^hsla?\\(.*\\)$/i;\n/**\n * Return the color as an rgba string.\n * @param {Color|string} color Color.\n * @return {string} Rgba string.\n * @api\n */\nexport function asString(color) {\n if (typeof color === 'string') {\n return color;\n }\n else {\n return toString(color);\n }\n}\n/**\n * Return named color as an rgba string.\n * @param {string} color Named color.\n * @return {string} Rgb string.\n */\nfunction fromNamed(color) {\n var el = document.createElement('div');\n el.style.color = color;\n if (el.style.color !== '') {\n document.body.appendChild(el);\n var rgb = getComputedStyle(el).color;\n document.body.removeChild(el);\n return rgb;\n }\n else {\n return '';\n }\n}\n/**\n * @param {string} s String.\n * @return {Color} Color.\n */\nexport var fromString = (function () {\n // We maintain a small cache of parsed strings. To provide cheap LRU-like\n // semantics, whenever the cache grows too large we simply delete an\n // arbitrary 25% of the entries.\n /**\n * @const\n * @type {number}\n */\n var MAX_CACHE_SIZE = 1024;\n /**\n * @type {Object}\n */\n var cache = {};\n /**\n * @type {number}\n */\n var cacheSize = 0;\n return (\n /**\n * @param {string} s String.\n * @return {Color} Color.\n */\n function (s) {\n var color;\n if (cache.hasOwnProperty(s)) {\n color = cache[s];\n }\n else {\n if (cacheSize >= MAX_CACHE_SIZE) {\n var i = 0;\n for (var key in cache) {\n if ((i++ & 3) === 0) {\n delete cache[key];\n --cacheSize;\n }\n }\n }\n color = fromStringInternal_(s);\n cache[s] = color;\n ++cacheSize;\n }\n return color;\n });\n})();\n/**\n * Return the color as an array. This function maintains a cache of calculated\n * arrays which means the result should not be modified.\n * @param {Color|string} color Color.\n * @return {Color} Color.\n * @api\n */\nexport function asArray(color) {\n if (Array.isArray(color)) {\n return color;\n }\n else {\n return fromString(color);\n }\n}\n/**\n * @param {string} s String.\n * @private\n * @return {Color} Color.\n */\nfunction fromStringInternal_(s) {\n var r, g, b, a, color;\n if (NAMED_COLOR_RE_.exec(s)) {\n s = fromNamed(s);\n }\n if (HEX_COLOR_RE_.exec(s)) {\n // hex\n var n = s.length - 1; // number of hex digits\n var d = // number of digits per channel\n void 0; // number of digits per channel\n if (n <= 4) {\n d = 1;\n }\n else {\n d = 2;\n }\n var hasAlpha = n === 4 || n === 8;\n r = parseInt(s.substr(1 + 0 * d, d), 16);\n g = parseInt(s.substr(1 + 1 * d, d), 16);\n b = parseInt(s.substr(1 + 2 * d, d), 16);\n if (hasAlpha) {\n a = parseInt(s.substr(1 + 3 * d, d), 16);\n }\n else {\n a = 255;\n }\n if (d == 1) {\n r = (r << 4) + r;\n g = (g << 4) + g;\n b = (b << 4) + b;\n if (hasAlpha) {\n a = (a << 4) + a;\n }\n }\n color = [r, g, b, a / 255];\n }\n else if (s.indexOf('rgba(') == 0) {\n // rgba()\n color = s.slice(5, -1).split(',').map(Number);\n normalize(color);\n }\n else if (s.indexOf('rgb(') == 0) {\n // rgb()\n color = s.slice(4, -1).split(',').map(Number);\n color.push(1);\n normalize(color);\n }\n else {\n assert(false, 14); // Invalid color\n }\n return color;\n}\n/**\n * TODO this function is only used in the test, we probably shouldn't export it\n * @param {Color} color Color.\n * @return {Color} Clamped color.\n */\nexport function normalize(color) {\n color[0] = clamp((color[0] + 0.5) | 0, 0, 255);\n color[1] = clamp((color[1] + 0.5) | 0, 0, 255);\n color[2] = clamp((color[2] + 0.5) | 0, 0, 255);\n color[3] = clamp(color[3], 0, 1);\n return color;\n}\n/**\n * @param {Color} color Color.\n * @return {string} String.\n */\nexport function toString(color) {\n var r = color[0];\n if (r != (r | 0)) {\n r = (r + 0.5) | 0;\n }\n var g = color[1];\n if (g != (g | 0)) {\n g = (g + 0.5) | 0;\n }\n var b = color[2];\n if (b != (b | 0)) {\n b = (b + 0.5) | 0;\n }\n var a = color[3] === undefined ? 1 : Math.round(color[3] * 100) / 100;\n return 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';\n}\n/**\n * @param {string} s String.\n * @return {boolean} Whether the string is actually a valid color\n */\nexport function isStringColor(s) {\n if (NAMED_COLOR_RE_.test(s)) {\n s = fromNamed(s);\n }\n return (HEX_COLOR_RE_.test(s) || s.indexOf('rgba(') === 0 || s.indexOf('rgb(') === 0);\n}\n//# sourceMappingURL=color.js.map","module.exports = \"data:image/png;base64,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\"","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/Tile\n */\nimport EventTarget from './events/Target.js';\nimport EventType from './events/EventType.js';\nimport TileState from './TileState.js';\nimport { abstract } from './util.js';\nimport { easeIn } from './easing.js';\n/**\n * A function that takes an {@link module:ol/Tile~Tile} for the tile and a\n * `{string}` for the url as arguments. The default is\n * ```js\n * source.setTileLoadFunction(function(tile, src) {\n * tile.getImage().src = src;\n * });\n * ```\n * For more fine grained control, the load function can use fetch or XMLHttpRequest and involve\n * error handling:\n *\n * ```js\n * import TileState from 'ol/TileState';\n *\n * source.setTileLoadFunction(function(tile, src) {\n * var xhr = new XMLHttpRequest();\n * xhr.responseType = 'blob';\n * xhr.addEventListener('loadend', function (evt) {\n * var data = this.response;\n * if (data !== undefined) {\n * tile.getImage().src = URL.createObjectURL(data);\n * } else {\n * tile.setState(TileState.ERROR);\n * }\n * });\n * xhr.addEventListener('error', function () {\n * tile.setState(TileState.ERROR);\n * });\n * xhr.open('GET', src);\n * xhr.send();\n * });\n * ```\n *\n * @typedef {function(Tile, string): void} LoadFunction\n * @api\n */\n/**\n * {@link module:ol/source/Tile~TileSource} sources use a function of this type to get\n * the url that provides a tile for a given tile coordinate.\n *\n * This function takes an {@link module:ol/tilecoord~TileCoord} for the tile\n * coordinate, a `{number}` representing the pixel ratio and a\n * {@link module:ol/proj/Projection~Projection} for the projection as arguments\n * and returns a `{string}` representing the tile URL, or undefined if no tile\n * should be requested for the passed tile coordinate.\n *\n * @typedef {function(import(\"./tilecoord.js\").TileCoord, number,\n * import(\"./proj/Projection.js\").default): (string|undefined)} UrlFunction\n * @api\n */\n/**\n * @typedef {Object} Options\n * @property {number} [transition=250] A duration for tile opacity\n * transitions in milliseconds. A duration of 0 disables the opacity transition.\n * @property {boolean} [interpolate=false] Use interpolated values when resampling. By default,\n * the nearest neighbor is used when resampling.\n * @api\n */\n/**\n * @classdesc\n * Base class for tiles.\n *\n * @abstract\n */\nvar Tile = /** @class */ (function (_super) {\n __extends(Tile, _super);\n /**\n * @param {import(\"./tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {import(\"./TileState.js\").default} state State.\n * @param {Options} [opt_options] Tile options.\n */\n function Tile(tileCoord, state, opt_options) {\n var _this = _super.call(this) || this;\n var options = opt_options ? opt_options : {};\n /**\n * @type {import(\"./tilecoord.js\").TileCoord}\n */\n _this.tileCoord = tileCoord;\n /**\n * @protected\n * @type {import(\"./TileState.js\").default}\n */\n _this.state = state;\n /**\n * An \"interim\" tile for this tile. The interim tile may be used while this\n * one is loading, for \"smooth\" transitions when changing params/dimensions\n * on the source.\n * @type {Tile}\n */\n _this.interimTile = null;\n /**\n * A key assigned to the tile. This is used by the tile source to determine\n * if this tile can effectively be used, or if a new tile should be created\n * and this one be used as an interim tile for this new tile.\n * @type {string}\n */\n _this.key = '';\n /**\n * The duration for the opacity transition.\n * @type {number}\n */\n _this.transition_ =\n options.transition === undefined ? 250 : options.transition;\n /**\n * Lookup of start times for rendering transitions. If the start time is\n * equal to -1, the transition is complete.\n * @type {Object}\n */\n _this.transitionStarts_ = {};\n /**\n * @type {boolean}\n */\n _this.interpolate = !!options.interpolate;\n return _this;\n }\n /**\n * @protected\n */\n Tile.prototype.changed = function () {\n this.dispatchEvent(EventType.CHANGE);\n };\n /**\n * Called by the tile cache when the tile is removed from the cache due to expiry\n */\n Tile.prototype.release = function () { };\n /**\n * @return {string} Key.\n */\n Tile.prototype.getKey = function () {\n return this.key + '/' + this.tileCoord;\n };\n /**\n * Get the interim tile most suitable for rendering using the chain of interim\n * tiles. This corresponds to the most recent tile that has been loaded, if no\n * such tile exists, the original tile is returned.\n * @return {!Tile} Best tile for rendering.\n */\n Tile.prototype.getInterimTile = function () {\n if (!this.interimTile) {\n //empty chain\n return this;\n }\n var tile = this.interimTile;\n // find the first loaded tile and return it. Since the chain is sorted in\n // decreasing order of creation time, there is no need to search the remainder\n // of the list (all those tiles correspond to older requests and will be\n // cleaned up by refreshInterimChain)\n do {\n if (tile.getState() == TileState.LOADED) {\n // Show tile immediately instead of fading it in after loading, because\n // the interim tile is in place already\n this.transition_ = 0;\n return tile;\n }\n tile = tile.interimTile;\n } while (tile);\n // we can not find a better tile\n return this;\n };\n /**\n * Goes through the chain of interim tiles and discards sections of the chain\n * that are no longer relevant.\n */\n Tile.prototype.refreshInterimChain = function () {\n if (!this.interimTile) {\n return;\n }\n var tile = this.interimTile;\n /**\n * @type {Tile}\n */\n var prev = this;\n do {\n if (tile.getState() == TileState.LOADED) {\n //we have a loaded tile, we can discard the rest of the list\n //we would could abort any LOADING tile request\n //older than this tile (i.e. any LOADING tile following this entry in the chain)\n tile.interimTile = null;\n break;\n }\n else if (tile.getState() == TileState.LOADING) {\n //keep this LOADING tile any loaded tiles later in the chain are\n //older than this tile, so we're still interested in the request\n prev = tile;\n }\n else if (tile.getState() == TileState.IDLE) {\n //the head of the list is the most current tile, we don't need\n //to start any other requests for this chain\n prev.interimTile = tile.interimTile;\n }\n else {\n prev = tile;\n }\n tile = prev.interimTile;\n } while (tile);\n };\n /**\n * Get the tile coordinate for this tile.\n * @return {import(\"./tilecoord.js\").TileCoord} The tile coordinate.\n * @api\n */\n Tile.prototype.getTileCoord = function () {\n return this.tileCoord;\n };\n /**\n * @return {import(\"./TileState.js\").default} State.\n */\n Tile.prototype.getState = function () {\n return this.state;\n };\n /**\n * Sets the state of this tile. If you write your own {@link module:ol/Tile~LoadFunction tileLoadFunction} ,\n * it is important to set the state correctly to {@link module:ol/TileState~ERROR}\n * when the tile cannot be loaded. Otherwise the tile cannot be removed from\n * the tile queue and will block other requests.\n * @param {import(\"./TileState.js\").default} state State.\n * @api\n */\n Tile.prototype.setState = function (state) {\n if (this.state !== TileState.ERROR && this.state > state) {\n throw new Error('Tile load sequence violation');\n }\n this.state = state;\n this.changed();\n };\n /**\n * Load the image or retry if loading previously failed.\n * Loading is taken care of by the tile queue, and calling this method is\n * only needed for preloading or for reloading in case of an error.\n * @abstract\n * @api\n */\n Tile.prototype.load = function () {\n abstract();\n };\n /**\n * Get the alpha value for rendering.\n * @param {string} id An id for the renderer.\n * @param {number} time The render frame time.\n * @return {number} A number between 0 and 1.\n */\n Tile.prototype.getAlpha = function (id, time) {\n if (!this.transition_) {\n return 1;\n }\n var start = this.transitionStarts_[id];\n if (!start) {\n start = time;\n this.transitionStarts_[id] = start;\n }\n else if (start === -1) {\n return 1;\n }\n var delta = time - start + 1000 / 60; // avoid rendering at 0\n if (delta >= this.transition_) {\n return 1;\n }\n return easeIn(delta / this.transition_);\n };\n /**\n * Determine if a tile is in an alpha transition. A tile is considered in\n * transition if tile.getAlpha() has not yet been called or has been called\n * and returned 1.\n * @param {string} id An id for the renderer.\n * @return {boolean} The tile is in transition.\n */\n Tile.prototype.inTransition = function (id) {\n if (!this.transition_) {\n return false;\n }\n return this.transitionStarts_[id] !== -1;\n };\n /**\n * Mark a transition as complete.\n * @param {string} id An id for the renderer.\n */\n Tile.prototype.endTransition = function (id) {\n if (this.transition_) {\n this.transitionStarts_[id] = -1;\n }\n };\n return Tile;\n}(EventTarget));\nexport default Tile;\n//# sourceMappingURL=Tile.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/renderer/Map\n */\nimport Disposable from '../Disposable.js';\nimport { TRUE } from '../functions.js';\nimport { abstract } from '../util.js';\nimport { compose as composeTransform, makeInverse } from '../transform.js';\nimport { getWidth } from '../extent.js';\nimport { shared as iconImageCache } from '../style/IconImageCache.js';\nimport { inView } from '../layer/Layer.js';\nimport { wrapX } from '../coordinate.js';\n/**\n * @typedef HitMatch\n * @property {import(\"../Feature.js\").FeatureLike} feature Feature.\n * @property {import(\"../layer/Layer.js\").default} layer Layer.\n * @property {import(\"../geom/SimpleGeometry.js\").default} geometry Geometry.\n * @property {number} distanceSq Squared distance.\n * @property {import(\"./vector.js\").FeatureCallback} callback Callback.\n * @template T\n */\n/**\n * @abstract\n */\nvar MapRenderer = /** @class */ (function (_super) {\n __extends(MapRenderer, _super);\n /**\n * @param {import(\"../PluggableMap.js\").default} map Map.\n */\n function MapRenderer(map) {\n var _this = _super.call(this) || this;\n /**\n * @private\n * @type {import(\"../PluggableMap.js\").default}\n */\n _this.map_ = map;\n return _this;\n }\n /**\n * @abstract\n * @param {import(\"../render/EventType.js\").default} type Event type.\n * @param {import(\"../PluggableMap.js\").FrameState} frameState Frame state.\n */\n MapRenderer.prototype.dispatchRenderEvent = function (type, frameState) {\n abstract();\n };\n /**\n * @param {import(\"../PluggableMap.js\").FrameState} frameState FrameState.\n * @protected\n */\n MapRenderer.prototype.calculateMatrices2D = function (frameState) {\n var viewState = frameState.viewState;\n var coordinateToPixelTransform = frameState.coordinateToPixelTransform;\n var pixelToCoordinateTransform = frameState.pixelToCoordinateTransform;\n composeTransform(coordinateToPixelTransform, frameState.size[0] / 2, frameState.size[1] / 2, 1 / viewState.resolution, -1 / viewState.resolution, -viewState.rotation, -viewState.center[0], -viewState.center[1]);\n makeInverse(pixelToCoordinateTransform, coordinateToPixelTransform);\n };\n /**\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {import(\"../PluggableMap.js\").FrameState} frameState FrameState.\n * @param {number} hitTolerance Hit tolerance in pixels.\n * @param {boolean} checkWrapped Check for wrapped geometries.\n * @param {import(\"./vector.js\").FeatureCallback} callback Feature callback.\n * @param {S} thisArg Value to use as `this` when executing `callback`.\n * @param {function(this: U, import(\"../layer/Layer.js\").default): boolean} layerFilter Layer filter\n * function, only layers which are visible and for which this function\n * returns `true` will be tested for features. By default, all visible\n * layers will be tested.\n * @param {U} thisArg2 Value to use as `this` when executing `layerFilter`.\n * @return {T|undefined} Callback result.\n * @template S,T,U\n */\n MapRenderer.prototype.forEachFeatureAtCoordinate = function (coordinate, frameState, hitTolerance, checkWrapped, callback, thisArg, layerFilter, thisArg2) {\n var result;\n var viewState = frameState.viewState;\n /**\n * @param {boolean} managed Managed layer.\n * @param {import(\"../Feature.js\").FeatureLike} feature Feature.\n * @param {import(\"../layer/Layer.js\").default} layer Layer.\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @return {T|undefined} Callback result.\n */\n function forEachFeatureAtCoordinate(managed, feature, layer, geometry) {\n return callback.call(thisArg, feature, managed ? layer : null, geometry);\n }\n var projection = viewState.projection;\n var translatedCoordinate = wrapX(coordinate.slice(), projection);\n var offsets = [[0, 0]];\n if (projection.canWrapX() && checkWrapped) {\n var projectionExtent = projection.getExtent();\n var worldWidth = getWidth(projectionExtent);\n offsets.push([-worldWidth, 0], [worldWidth, 0]);\n }\n var layerStates = frameState.layerStatesArray;\n var numLayers = layerStates.length;\n var matches = /** @type {Array>} */ ([]);\n var tmpCoord = [];\n for (var i = 0; i < offsets.length; i++) {\n for (var j = numLayers - 1; j >= 0; --j) {\n var layerState = layerStates[j];\n var layer = layerState.layer;\n if (layer.hasRenderer() &&\n inView(layerState, viewState) &&\n layerFilter.call(thisArg2, layer)) {\n var layerRenderer = layer.getRenderer();\n var source = layer.getSource();\n if (layerRenderer && source) {\n var coordinates = source.getWrapX()\n ? translatedCoordinate\n : coordinate;\n var callback_1 = forEachFeatureAtCoordinate.bind(null, layerState.managed);\n tmpCoord[0] = coordinates[0] + offsets[i][0];\n tmpCoord[1] = coordinates[1] + offsets[i][1];\n result = layerRenderer.forEachFeatureAtCoordinate(tmpCoord, frameState, hitTolerance, callback_1, matches);\n }\n if (result) {\n return result;\n }\n }\n }\n }\n if (matches.length === 0) {\n return undefined;\n }\n var order = 1 / matches.length;\n matches.forEach(function (m, i) { return (m.distanceSq += i * order); });\n matches.sort(function (a, b) { return a.distanceSq - b.distanceSq; });\n matches.some(function (m) {\n return (result = m.callback(m.feature, m.layer, m.geometry));\n });\n return result;\n };\n /**\n * @abstract\n * @param {import(\"../pixel.js\").Pixel} pixel Pixel.\n * @param {import(\"../PluggableMap.js\").FrameState} frameState FrameState.\n * @param {number} hitTolerance Hit tolerance in pixels.\n * @param {function(import(\"../layer/Layer.js\").default, (Uint8ClampedArray|Uint8Array)): T} callback Layer\n * callback.\n * @param {function(import(\"../layer/Layer.js\").default): boolean} layerFilter Layer filter\n * function, only layers which are visible and for which this function\n * returns `true` will be tested for features. By default, all visible\n * layers will be tested.\n * @return {T|undefined} Callback result.\n * @template T\n */\n MapRenderer.prototype.forEachLayerAtPixel = function (pixel, frameState, hitTolerance, callback, layerFilter) {\n return abstract();\n };\n /**\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {import(\"../PluggableMap.js\").FrameState} frameState FrameState.\n * @param {number} hitTolerance Hit tolerance in pixels.\n * @param {boolean} checkWrapped Check for wrapped geometries.\n * @param {function(this: U, import(\"../layer/Layer.js\").default): boolean} layerFilter Layer filter\n * function, only layers which are visible and for which this function\n * returns `true` will be tested for features. By default, all visible\n * layers will be tested.\n * @param {U} thisArg Value to use as `this` when executing `layerFilter`.\n * @return {boolean} Is there a feature at the given coordinate?\n * @template U\n */\n MapRenderer.prototype.hasFeatureAtCoordinate = function (coordinate, frameState, hitTolerance, checkWrapped, layerFilter, thisArg) {\n var hasFeature = this.forEachFeatureAtCoordinate(coordinate, frameState, hitTolerance, checkWrapped, TRUE, this, layerFilter, thisArg);\n return hasFeature !== undefined;\n };\n /**\n * @return {import(\"../PluggableMap.js\").default} Map.\n */\n MapRenderer.prototype.getMap = function () {\n return this.map_;\n };\n /**\n * Render.\n * @abstract\n * @param {?import(\"../PluggableMap.js\").FrameState} frameState Frame state.\n */\n MapRenderer.prototype.renderFrame = function (frameState) {\n abstract();\n };\n /**\n * @param {import(\"../PluggableMap.js\").FrameState} frameState Frame state.\n * @protected\n */\n MapRenderer.prototype.scheduleExpireIconCache = function (frameState) {\n if (iconImageCache.canExpireCache()) {\n frameState.postRenderFunctions.push(expireIconCache);\n }\n };\n return MapRenderer;\n}(Disposable));\n/**\n * @param {import(\"../PluggableMap.js\").default} map Map.\n * @param {import(\"../PluggableMap.js\").FrameState} frameState Frame state.\n */\nfunction expireIconCache(map, frameState) {\n iconImageCache.expire();\n}\nexport default MapRenderer;\n//# sourceMappingURL=Map.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/renderer/Composite\n */\nimport MapRenderer from './Map.js';\nimport ObjectEventType from '../ObjectEventType.js';\nimport RenderEvent from '../render/Event.js';\nimport RenderEventType from '../render/EventType.js';\nimport { CLASS_UNSELECTABLE } from '../css.js';\nimport { checkedFonts } from '../render/canvas.js';\nimport { inView } from '../layer/Layer.js';\nimport { listen, unlistenByKey } from '../events.js';\nimport { replaceChildren } from '../dom.js';\n/**\n * @classdesc\n * Canvas map renderer.\n * @api\n */\nvar CompositeMapRenderer = /** @class */ (function (_super) {\n __extends(CompositeMapRenderer, _super);\n /**\n * @param {import(\"../PluggableMap.js\").default} map Map.\n */\n function CompositeMapRenderer(map) {\n var _this = _super.call(this, map) || this;\n /**\n * @type {import(\"../events.js\").EventsKey}\n */\n _this.fontChangeListenerKey_ = listen(checkedFonts, ObjectEventType.PROPERTYCHANGE, map.redrawText.bind(map));\n /**\n * @private\n * @type {HTMLDivElement}\n */\n _this.element_ = document.createElement('div');\n var style = _this.element_.style;\n style.position = 'absolute';\n style.width = '100%';\n style.height = '100%';\n style.zIndex = '0';\n _this.element_.className = CLASS_UNSELECTABLE + ' ol-layers';\n var container = map.getViewport();\n container.insertBefore(_this.element_, container.firstChild || null);\n /**\n * @private\n * @type {Array}\n */\n _this.children_ = [];\n /**\n * @private\n * @type {boolean}\n */\n _this.renderedVisible_ = true;\n return _this;\n }\n /**\n * @param {import(\"../render/EventType.js\").default} type Event type.\n * @param {import(\"../PluggableMap.js\").FrameState} frameState Frame state.\n */\n CompositeMapRenderer.prototype.dispatchRenderEvent = function (type, frameState) {\n var map = this.getMap();\n if (map.hasListener(type)) {\n var event_1 = new RenderEvent(type, undefined, frameState);\n map.dispatchEvent(event_1);\n }\n };\n CompositeMapRenderer.prototype.disposeInternal = function () {\n unlistenByKey(this.fontChangeListenerKey_);\n this.element_.parentNode.removeChild(this.element_);\n _super.prototype.disposeInternal.call(this);\n };\n /**\n * Render.\n * @param {?import(\"../PluggableMap.js\").FrameState} frameState Frame state.\n */\n CompositeMapRenderer.prototype.renderFrame = function (frameState) {\n if (!frameState) {\n if (this.renderedVisible_) {\n this.element_.style.display = 'none';\n this.renderedVisible_ = false;\n }\n return;\n }\n this.calculateMatrices2D(frameState);\n this.dispatchRenderEvent(RenderEventType.PRECOMPOSE, frameState);\n var layerStatesArray = frameState.layerStatesArray.sort(function (a, b) {\n return a.zIndex - b.zIndex;\n });\n var viewState = frameState.viewState;\n this.children_.length = 0;\n /**\n * @type {Array}\n */\n var declutterLayers = [];\n var previousElement = null;\n for (var i = 0, ii = layerStatesArray.length; i < ii; ++i) {\n var layerState = layerStatesArray[i];\n frameState.layerIndex = i;\n var layer = layerState.layer;\n var sourceState = layer.getSourceState();\n if (!inView(layerState, viewState) ||\n (sourceState != 'ready' && sourceState != 'undefined')) {\n layer.unrender();\n continue;\n }\n var element = layer.render(frameState, previousElement);\n if (!element) {\n continue;\n }\n if (element !== previousElement) {\n this.children_.push(element);\n previousElement = element;\n }\n if ('getDeclutter' in layer) {\n declutterLayers.push(\n /** @type {import(\"../layer/BaseVector.js\").default} */ (layer));\n }\n }\n for (var i = declutterLayers.length - 1; i >= 0; --i) {\n declutterLayers[i].renderDeclutter(frameState);\n }\n replaceChildren(this.element_, this.children_);\n this.dispatchRenderEvent(RenderEventType.POSTCOMPOSE, frameState);\n if (!this.renderedVisible_) {\n this.element_.style.display = '';\n this.renderedVisible_ = true;\n }\n this.scheduleExpireIconCache(frameState);\n };\n /**\n * @param {import(\"../pixel.js\").Pixel} pixel Pixel.\n * @param {import(\"../PluggableMap.js\").FrameState} frameState FrameState.\n * @param {number} hitTolerance Hit tolerance in pixels.\n * @param {function(import(\"../layer/Layer.js\").default, (Uint8ClampedArray|Uint8Array)): T} callback Layer\n * callback.\n * @param {function(import(\"../layer/Layer.js\").default): boolean} layerFilter Layer filter\n * function, only layers which are visible and for which this function\n * returns `true` will be tested for features. By default, all visible\n * layers will be tested.\n * @return {T|undefined} Callback result.\n * @template T\n */\n CompositeMapRenderer.prototype.forEachLayerAtPixel = function (pixel, frameState, hitTolerance, callback, layerFilter) {\n var viewState = frameState.viewState;\n var layerStates = frameState.layerStatesArray;\n var numLayers = layerStates.length;\n for (var i = numLayers - 1; i >= 0; --i) {\n var layerState = layerStates[i];\n var layer = layerState.layer;\n if (layer.hasRenderer() &&\n inView(layerState, viewState) &&\n layerFilter(layer)) {\n var layerRenderer = layer.getRenderer();\n var data = layerRenderer.getDataAtPixel(pixel, frameState, hitTolerance);\n if (data) {\n var result = callback(layer, data);\n if (result) {\n return result;\n }\n }\n }\n }\n return undefined;\n };\n return CompositeMapRenderer;\n}(MapRenderer));\nexport default CompositeMapRenderer;\n//# sourceMappingURL=Composite.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/layer/Group\n */\nimport BaseLayer from './Base.js';\nimport Collection from '../Collection.js';\nimport CollectionEventType from '../CollectionEventType.js';\nimport Event from '../events/Event.js';\nimport EventType from '../events/EventType.js';\nimport ObjectEventType from '../ObjectEventType.js';\nimport { assert } from '../asserts.js';\nimport { assign, clear } from '../obj.js';\nimport { getIntersection } from '../extent.js';\nimport { getUid } from '../util.js';\nimport { listen, unlistenByKey } from '../events.js';\n/**\n * @typedef {'addlayer'|'removelayer'} EventType\n */\n/**\n * @classdesc\n * A layer group triggers 'addlayer' and 'removelayer' events when layers are added to or removed from\n * the group or one of its child groups. When a layer group is added to or removed from another layer group,\n * a single event will be triggered (instead of one per layer in the group added or removed).\n */\nvar GroupEvent = /** @class */ (function (_super) {\n __extends(GroupEvent, _super);\n /**\n * @param {EventType} type The event type.\n * @param {BaseLayer} layer The layer.\n */\n function GroupEvent(type, layer) {\n var _this = _super.call(this, type) || this;\n /**\n * The added or removed layer.\n * @type {BaseLayer}\n * @api\n */\n _this.layer = layer;\n return _this;\n }\n return GroupEvent;\n}(Event));\nexport { GroupEvent };\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").CombinedOnSignature} GroupOnSignature\n */\n/**\n * @typedef {Object} Options\n * @property {number} [opacity=1] Opacity (0, 1).\n * @property {boolean} [visible=true] Visibility.\n * @property {import(\"../extent.js\").Extent} [extent] The bounding extent for layer rendering. The layer will not be\n * rendered outside of this extent.\n * @property {number} [zIndex] The z-index for layer rendering. At rendering time, the layers\n * will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed\n * for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()`\n * method was used.\n * @property {number} [minResolution] The minimum resolution (inclusive) at which this layer will be\n * visible.\n * @property {number} [maxResolution] The maximum resolution (exclusive) below which this layer will\n * be visible.\n * @property {number} [minZoom] The minimum view zoom level (exclusive) above which this layer will be\n * visible.\n * @property {number} [maxZoom] The maximum view zoom level (inclusive) at which this layer will\n * be visible.\n * @property {Array|import(\"../Collection.js\").default} [layers] Child layers.\n * @property {Object} [properties] Arbitrary observable properties. Can be accessed with `#get()` and `#set()`.\n */\n/**\n * @enum {string}\n * @private\n */\nvar Property = {\n LAYERS: 'layers',\n};\n/**\n * @classdesc\n * A {@link module:ol/Collection~Collection} of layers that are handled together.\n *\n * A generic `change` event is triggered when the group/Collection changes.\n *\n * @api\n */\nvar LayerGroup = /** @class */ (function (_super) {\n __extends(LayerGroup, _super);\n /**\n * @param {Options} [opt_options] Layer options.\n */\n function LayerGroup(opt_options) {\n var _this = this;\n var options = opt_options || {};\n var baseOptions = /** @type {Options} */ (assign({}, options));\n delete baseOptions.layers;\n var layers = options.layers;\n _this = _super.call(this, baseOptions) || this;\n /***\n * @type {GroupOnSignature}\n */\n _this.on;\n /***\n * @type {GroupOnSignature}\n */\n _this.once;\n /***\n * @type {GroupOnSignature}\n */\n _this.un;\n /**\n * @private\n * @type {Array}\n */\n _this.layersListenerKeys_ = [];\n /**\n * @private\n * @type {Object>}\n */\n _this.listenerKeys_ = {};\n _this.addChangeListener(Property.LAYERS, _this.handleLayersChanged_);\n if (layers) {\n if (Array.isArray(layers)) {\n layers = new Collection(layers.slice(), { unique: true });\n }\n else {\n assert(typeof ( /** @type {?} */(layers).getArray) === 'function', 43); // Expected `layers` to be an array or a `Collection`\n }\n }\n else {\n layers = new Collection(undefined, { unique: true });\n }\n _this.setLayers(layers);\n return _this;\n }\n /**\n * @private\n */\n LayerGroup.prototype.handleLayerChange_ = function () {\n this.changed();\n };\n /**\n * @private\n */\n LayerGroup.prototype.handleLayersChanged_ = function () {\n this.layersListenerKeys_.forEach(unlistenByKey);\n this.layersListenerKeys_.length = 0;\n var layers = this.getLayers();\n this.layersListenerKeys_.push(listen(layers, CollectionEventType.ADD, this.handleLayersAdd_, this), listen(layers, CollectionEventType.REMOVE, this.handleLayersRemove_, this));\n for (var id in this.listenerKeys_) {\n this.listenerKeys_[id].forEach(unlistenByKey);\n }\n clear(this.listenerKeys_);\n var layersArray = layers.getArray();\n for (var i = 0, ii = layersArray.length; i < ii; i++) {\n var layer = layersArray[i];\n this.registerLayerListeners_(layer);\n this.dispatchEvent(new GroupEvent('addlayer', layer));\n }\n this.changed();\n };\n /**\n * @param {BaseLayer} layer The layer.\n */\n LayerGroup.prototype.registerLayerListeners_ = function (layer) {\n var listenerKeys = [\n listen(layer, ObjectEventType.PROPERTYCHANGE, this.handleLayerChange_, this),\n listen(layer, EventType.CHANGE, this.handleLayerChange_, this),\n ];\n if (layer instanceof LayerGroup) {\n listenerKeys.push(listen(layer, 'addlayer', this.handleLayerGroupAdd_, this), listen(layer, 'removelayer', this.handleLayerGroupRemove_, this));\n }\n this.listenerKeys_[getUid(layer)] = listenerKeys;\n };\n /**\n * @param {GroupEvent} event The layer group event.\n */\n LayerGroup.prototype.handleLayerGroupAdd_ = function (event) {\n this.dispatchEvent(new GroupEvent('addlayer', event.layer));\n };\n /**\n * @param {GroupEvent} event The layer group event.\n */\n LayerGroup.prototype.handleLayerGroupRemove_ = function (event) {\n this.dispatchEvent(new GroupEvent('removelayer', event.layer));\n };\n /**\n * @param {import(\"../Collection.js\").CollectionEvent} collectionEvent CollectionEvent.\n * @private\n */\n LayerGroup.prototype.handleLayersAdd_ = function (collectionEvent) {\n var layer = /** @type {import(\"./Base.js\").default} */ (collectionEvent.element);\n this.registerLayerListeners_(layer);\n this.dispatchEvent(new GroupEvent('addlayer', layer));\n this.changed();\n };\n /**\n * @param {import(\"../Collection.js\").CollectionEvent} collectionEvent CollectionEvent.\n * @private\n */\n LayerGroup.prototype.handleLayersRemove_ = function (collectionEvent) {\n var layer = /** @type {import(\"./Base.js\").default} */ (collectionEvent.element);\n var key = getUid(layer);\n this.listenerKeys_[key].forEach(unlistenByKey);\n delete this.listenerKeys_[key];\n this.dispatchEvent(new GroupEvent('removelayer', layer));\n this.changed();\n };\n /**\n * Returns the {@link module:ol/Collection~Collection collection} of {@link module:ol/layer/Layer~Layer layers}\n * in this group.\n * @return {!import(\"../Collection.js\").default} Collection of\n * {@link module:ol/layer/Base~BaseLayer layers} that are part of this group.\n * @observable\n * @api\n */\n LayerGroup.prototype.getLayers = function () {\n return /** @type {!import(\"../Collection.js\").default} */ (this.get(Property.LAYERS));\n };\n /**\n * Set the {@link module:ol/Collection~Collection collection} of {@link module:ol/layer/Layer~Layer layers}\n * in this group.\n * @param {!import(\"../Collection.js\").default} layers Collection of\n * {@link module:ol/layer/Base~BaseLayer layers} that are part of this group.\n * @observable\n * @api\n */\n LayerGroup.prototype.setLayers = function (layers) {\n var collection = this.getLayers();\n if (collection) {\n var currentLayers = collection.getArray();\n for (var i = 0, ii = currentLayers.length; i < ii; ++i) {\n this.dispatchEvent(new GroupEvent('removelayer', currentLayers[i]));\n }\n }\n this.set(Property.LAYERS, layers);\n };\n /**\n * @param {Array} [opt_array] Array of layers (to be modified in place).\n * @return {Array} Array of layers.\n */\n LayerGroup.prototype.getLayersArray = function (opt_array) {\n var array = opt_array !== undefined ? opt_array : [];\n this.getLayers().forEach(function (layer) {\n layer.getLayersArray(array);\n });\n return array;\n };\n /**\n * Get the layer states list and use this groups z-index as the default\n * for all layers in this and nested groups, if it is unset at this point.\n * If opt_states is not provided and this group's z-index is undefined\n * 0 is used a the default z-index.\n * @param {Array} [opt_states] Optional list\n * of layer states (to be modified in place).\n * @return {Array} List of layer states.\n */\n LayerGroup.prototype.getLayerStatesArray = function (opt_states) {\n var states = opt_states !== undefined ? opt_states : [];\n var pos = states.length;\n this.getLayers().forEach(function (layer) {\n layer.getLayerStatesArray(states);\n });\n var ownLayerState = this.getLayerState();\n var defaultZIndex = ownLayerState.zIndex;\n if (!opt_states && ownLayerState.zIndex === undefined) {\n defaultZIndex = 0;\n }\n for (var i = pos, ii = states.length; i < ii; i++) {\n var layerState = states[i];\n layerState.opacity *= ownLayerState.opacity;\n layerState.visible = layerState.visible && ownLayerState.visible;\n layerState.maxResolution = Math.min(layerState.maxResolution, ownLayerState.maxResolution);\n layerState.minResolution = Math.max(layerState.minResolution, ownLayerState.minResolution);\n layerState.minZoom = Math.max(layerState.minZoom, ownLayerState.minZoom);\n layerState.maxZoom = Math.min(layerState.maxZoom, ownLayerState.maxZoom);\n if (ownLayerState.extent !== undefined) {\n if (layerState.extent !== undefined) {\n layerState.extent = getIntersection(layerState.extent, ownLayerState.extent);\n }\n else {\n layerState.extent = ownLayerState.extent;\n }\n }\n if (layerState.zIndex === undefined) {\n layerState.zIndex = defaultZIndex;\n }\n }\n return states;\n };\n /**\n * @return {import(\"../source/Source.js\").State} Source state.\n */\n LayerGroup.prototype.getSourceState = function () {\n return 'ready';\n };\n return LayerGroup;\n}(BaseLayer));\nexport default LayerGroup;\n//# sourceMappingURL=Group.js.map","/**\n * @module ol/pointer/EventType\n */\n/**\n * Constants for event names.\n * @enum {string}\n */\nexport default {\n POINTERMOVE: 'pointermove',\n POINTERDOWN: 'pointerdown',\n POINTERUP: 'pointerup',\n POINTEROVER: 'pointerover',\n POINTEROUT: 'pointerout',\n POINTERENTER: 'pointerenter',\n POINTERLEAVE: 'pointerleave',\n POINTERCANCEL: 'pointercancel',\n};\n//# sourceMappingURL=EventType.js.map","/**\n * @module ol/MapBrowserEventHandler\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport EventType from './events/EventType.js';\nimport MapBrowserEvent from './MapBrowserEvent.js';\nimport MapBrowserEventType from './MapBrowserEventType.js';\nimport PointerEventType from './pointer/EventType.js';\nimport Target from './events/Target.js';\nimport { PASSIVE_EVENT_LISTENERS } from './has.js';\nimport { VOID } from './functions.js';\nimport { getValues } from './obj.js';\nimport { listen, unlistenByKey } from './events.js';\nvar MapBrowserEventHandler = /** @class */ (function (_super) {\n __extends(MapBrowserEventHandler, _super);\n /**\n * @param {import(\"./PluggableMap.js\").default} map The map with the viewport to listen to events on.\n * @param {number} [moveTolerance] The minimal distance the pointer must travel to trigger a move.\n */\n function MapBrowserEventHandler(map, moveTolerance) {\n var _this = _super.call(this, map) || this;\n /**\n * This is the element that we will listen to the real events on.\n * @type {import(\"./PluggableMap.js\").default}\n * @private\n */\n _this.map_ = map;\n /**\n * @type {any}\n * @private\n */\n _this.clickTimeoutId_;\n /**\n * Emulate dblclick and singleclick. Will be true when only one pointer is active.\n * @type {boolean}\n */\n _this.emulateClicks_ = false;\n /**\n * @type {boolean}\n * @private\n */\n _this.dragging_ = false;\n /**\n * @type {!Array}\n * @private\n */\n _this.dragListenerKeys_ = [];\n /**\n * @type {number}\n * @private\n */\n _this.moveTolerance_ = moveTolerance === undefined ? 1 : moveTolerance;\n /**\n * The most recent \"down\" type event (or null if none have occurred).\n * Set on pointerdown.\n * @type {PointerEvent|null}\n * @private\n */\n _this.down_ = null;\n var element = _this.map_.getViewport();\n /**\n * @type {Array}\n * @private\n */\n _this.activePointers_ = [];\n /**\n * @type {!Object}\n * @private\n */\n _this.trackedTouches_ = {};\n _this.element_ = element;\n /**\n * @type {?import(\"./events.js\").EventsKey}\n * @private\n */\n _this.pointerdownListenerKey_ = listen(element, PointerEventType.POINTERDOWN, _this.handlePointerDown_, _this);\n /**\n * @type {PointerEvent}\n * @private\n */\n _this.originalPointerMoveEvent_;\n /**\n * @type {?import(\"./events.js\").EventsKey}\n * @private\n */\n _this.relayedListenerKey_ = listen(element, PointerEventType.POINTERMOVE, _this.relayMoveEvent_, _this);\n /**\n * @private\n */\n _this.boundHandleTouchMove_ = _this.handleTouchMove_.bind(_this);\n _this.element_.addEventListener(EventType.TOUCHMOVE, _this.boundHandleTouchMove_, PASSIVE_EVENT_LISTENERS ? { passive: false } : false);\n return _this;\n }\n /**\n * @param {PointerEvent} pointerEvent Pointer\n * event.\n * @private\n */\n MapBrowserEventHandler.prototype.emulateClick_ = function (pointerEvent) {\n var newEvent = new MapBrowserEvent(MapBrowserEventType.CLICK, this.map_, pointerEvent);\n this.dispatchEvent(newEvent);\n if (this.clickTimeoutId_ !== undefined) {\n // double-click\n clearTimeout(this.clickTimeoutId_);\n this.clickTimeoutId_ = undefined;\n newEvent = new MapBrowserEvent(MapBrowserEventType.DBLCLICK, this.map_, pointerEvent);\n this.dispatchEvent(newEvent);\n }\n else {\n // click\n this.clickTimeoutId_ = setTimeout(\n /** @this {MapBrowserEventHandler} */\n function () {\n this.clickTimeoutId_ = undefined;\n var newEvent = new MapBrowserEvent(MapBrowserEventType.SINGLECLICK, this.map_, pointerEvent);\n this.dispatchEvent(newEvent);\n }.bind(this), 250);\n }\n };\n /**\n * Keeps track on how many pointers are currently active.\n *\n * @param {PointerEvent} pointerEvent Pointer\n * event.\n * @private\n */\n MapBrowserEventHandler.prototype.updateActivePointers_ = function (pointerEvent) {\n var event = pointerEvent;\n var id = event.pointerId;\n if (event.type == MapBrowserEventType.POINTERUP ||\n event.type == MapBrowserEventType.POINTERCANCEL) {\n delete this.trackedTouches_[id];\n for (var pointerId in this.trackedTouches_) {\n if (this.trackedTouches_[pointerId].target !== event.target) {\n // Some platforms assign a new pointerId when the target changes.\n // If this happens, delete one tracked pointer. If there is more\n // than one tracked pointer for the old target, it will be cleared\n // by subsequent POINTERUP events from other pointers.\n delete this.trackedTouches_[pointerId];\n break;\n }\n }\n }\n else if (event.type == MapBrowserEventType.POINTERDOWN ||\n event.type == MapBrowserEventType.POINTERMOVE) {\n this.trackedTouches_[id] = event;\n }\n this.activePointers_ = getValues(this.trackedTouches_);\n };\n /**\n * @param {PointerEvent} pointerEvent Pointer\n * event.\n * @private\n */\n MapBrowserEventHandler.prototype.handlePointerUp_ = function (pointerEvent) {\n this.updateActivePointers_(pointerEvent);\n var newEvent = new MapBrowserEvent(MapBrowserEventType.POINTERUP, this.map_, pointerEvent, undefined, undefined, this.activePointers_);\n this.dispatchEvent(newEvent);\n // We emulate click events on left mouse button click, touch contact, and pen\n // contact. isMouseActionButton returns true in these cases (evt.button is set\n // to 0).\n // See http://www.w3.org/TR/pointerevents/#button-states\n // We only fire click, singleclick, and doubleclick if nobody has called\n // event.preventDefault().\n if (this.emulateClicks_ &&\n !newEvent.defaultPrevented &&\n !this.dragging_ &&\n this.isMouseActionButton_(pointerEvent)) {\n this.emulateClick_(this.down_);\n }\n if (this.activePointers_.length === 0) {\n this.dragListenerKeys_.forEach(unlistenByKey);\n this.dragListenerKeys_.length = 0;\n this.dragging_ = false;\n this.down_ = null;\n }\n };\n /**\n * @param {PointerEvent} pointerEvent Pointer\n * event.\n * @return {boolean} If the left mouse button was pressed.\n * @private\n */\n MapBrowserEventHandler.prototype.isMouseActionButton_ = function (pointerEvent) {\n return pointerEvent.button === 0;\n };\n /**\n * @param {PointerEvent} pointerEvent Pointer\n * event.\n * @private\n */\n MapBrowserEventHandler.prototype.handlePointerDown_ = function (pointerEvent) {\n this.emulateClicks_ = this.activePointers_.length === 0;\n this.updateActivePointers_(pointerEvent);\n var newEvent = new MapBrowserEvent(MapBrowserEventType.POINTERDOWN, this.map_, pointerEvent, undefined, undefined, this.activePointers_);\n this.dispatchEvent(newEvent);\n // Store a copy of the down event\n this.down_ = /** @type {PointerEvent} */ ({});\n for (var property in pointerEvent) {\n var value = pointerEvent[property];\n this.down_[property] = typeof value === 'function' ? VOID : value;\n }\n if (this.dragListenerKeys_.length === 0) {\n var doc = this.map_.getOwnerDocument();\n this.dragListenerKeys_.push(listen(doc, MapBrowserEventType.POINTERMOVE, this.handlePointerMove_, this), listen(doc, MapBrowserEventType.POINTERUP, this.handlePointerUp_, this), \n /* Note that the listener for `pointercancel is set up on\n * `pointerEventHandler_` and not `documentPointerEventHandler_` like\n * the `pointerup` and `pointermove` listeners.\n *\n * The reason for this is the following: `TouchSource.vacuumTouches_()`\n * issues `pointercancel` events, when there was no `touchend` for a\n * `touchstart`. Now, let's say a first `touchstart` is registered on\n * `pointerEventHandler_`. The `documentPointerEventHandler_` is set up.\n * But `documentPointerEventHandler_` doesn't know about the first\n * `touchstart`. If there is no `touchend` for the `touchstart`, we can\n * only receive a `touchcancel` from `pointerEventHandler_`, because it is\n * only registered there.\n */\n listen(this.element_, MapBrowserEventType.POINTERCANCEL, this.handlePointerUp_, this));\n if (this.element_.getRootNode && this.element_.getRootNode() !== doc) {\n this.dragListenerKeys_.push(listen(this.element_.getRootNode(), MapBrowserEventType.POINTERUP, this.handlePointerUp_, this));\n }\n }\n };\n /**\n * @param {PointerEvent} pointerEvent Pointer\n * event.\n * @private\n */\n MapBrowserEventHandler.prototype.handlePointerMove_ = function (pointerEvent) {\n // Between pointerdown and pointerup, pointermove events are triggered.\n // To avoid a 'false' touchmove event to be dispatched, we test if the pointer\n // moved a significant distance.\n if (this.isMoving_(pointerEvent)) {\n this.updateActivePointers_(pointerEvent);\n this.dragging_ = true;\n var newEvent = new MapBrowserEvent(MapBrowserEventType.POINTERDRAG, this.map_, pointerEvent, this.dragging_, undefined, this.activePointers_);\n this.dispatchEvent(newEvent);\n }\n };\n /**\n * Wrap and relay a pointermove event.\n * @param {PointerEvent} pointerEvent Pointer\n * event.\n * @private\n */\n MapBrowserEventHandler.prototype.relayMoveEvent_ = function (pointerEvent) {\n this.originalPointerMoveEvent_ = pointerEvent;\n var dragging = !!(this.down_ && this.isMoving_(pointerEvent));\n this.dispatchEvent(new MapBrowserEvent(MapBrowserEventType.POINTERMOVE, this.map_, pointerEvent, dragging));\n };\n /**\n * Flexible handling of a `touch-action: none` css equivalent: because calling\n * `preventDefault()` on a `pointermove` event does not stop native page scrolling\n * and zooming, we also listen for `touchmove` and call `preventDefault()` on it\n * when an interaction (currently `DragPan` handles the event.\n * @param {TouchEvent} event Event.\n * @private\n */\n MapBrowserEventHandler.prototype.handleTouchMove_ = function (event) {\n // Due to https://github.com/mpizenberg/elm-pep/issues/2, `this.originalPointerMoveEvent_`\n // may not be initialized yet when we get here on a platform without native pointer events.\n var originalEvent = this.originalPointerMoveEvent_;\n if ((!originalEvent || originalEvent.defaultPrevented) &&\n (typeof event.cancelable !== 'boolean' || event.cancelable === true)) {\n event.preventDefault();\n }\n };\n /**\n * @param {PointerEvent} pointerEvent Pointer\n * event.\n * @return {boolean} Is moving.\n * @private\n */\n MapBrowserEventHandler.prototype.isMoving_ = function (pointerEvent) {\n return (this.dragging_ ||\n Math.abs(pointerEvent.clientX - this.down_.clientX) >\n this.moveTolerance_ ||\n Math.abs(pointerEvent.clientY - this.down_.clientY) > this.moveTolerance_);\n };\n /**\n * Clean up.\n */\n MapBrowserEventHandler.prototype.disposeInternal = function () {\n if (this.relayedListenerKey_) {\n unlistenByKey(this.relayedListenerKey_);\n this.relayedListenerKey_ = null;\n }\n this.element_.removeEventListener(EventType.TOUCHMOVE, this.boundHandleTouchMove_);\n if (this.pointerdownListenerKey_) {\n unlistenByKey(this.pointerdownListenerKey_);\n this.pointerdownListenerKey_ = null;\n }\n this.dragListenerKeys_.forEach(unlistenByKey);\n this.dragListenerKeys_.length = 0;\n this.element_ = null;\n _super.prototype.disposeInternal.call(this);\n };\n return MapBrowserEventHandler;\n}(Target));\nexport default MapBrowserEventHandler;\n//# sourceMappingURL=MapBrowserEventHandler.js.map","/**\n * @module ol/structs/PriorityQueue\n */\nimport { assert } from '../asserts.js';\nimport { clear } from '../obj.js';\n/**\n * @type {number}\n */\nexport var DROP = Infinity;\n/**\n * @classdesc\n * Priority queue.\n *\n * The implementation is inspired from the Closure Library's Heap class and\n * Python's heapq module.\n *\n * See https://github.com/google/closure-library/blob/master/closure/goog/structs/heap.js\n * and https://hg.python.org/cpython/file/2.7/Lib/heapq.py.\n *\n * @template T\n */\nvar PriorityQueue = /** @class */ (function () {\n /**\n * @param {function(T): number} priorityFunction Priority function.\n * @param {function(T): string} keyFunction Key function.\n */\n function PriorityQueue(priorityFunction, keyFunction) {\n /**\n * @type {function(T): number}\n * @private\n */\n this.priorityFunction_ = priorityFunction;\n /**\n * @type {function(T): string}\n * @private\n */\n this.keyFunction_ = keyFunction;\n /**\n * @type {Array}\n * @private\n */\n this.elements_ = [];\n /**\n * @type {Array}\n * @private\n */\n this.priorities_ = [];\n /**\n * @type {!Object}\n * @private\n */\n this.queuedElements_ = {};\n }\n /**\n * FIXME empty description for jsdoc\n */\n PriorityQueue.prototype.clear = function () {\n this.elements_.length = 0;\n this.priorities_.length = 0;\n clear(this.queuedElements_);\n };\n /**\n * Remove and return the highest-priority element. O(log N).\n * @return {T} Element.\n */\n PriorityQueue.prototype.dequeue = function () {\n var elements = this.elements_;\n var priorities = this.priorities_;\n var element = elements[0];\n if (elements.length == 1) {\n elements.length = 0;\n priorities.length = 0;\n }\n else {\n elements[0] = elements.pop();\n priorities[0] = priorities.pop();\n this.siftUp_(0);\n }\n var elementKey = this.keyFunction_(element);\n delete this.queuedElements_[elementKey];\n return element;\n };\n /**\n * Enqueue an element. O(log N).\n * @param {T} element Element.\n * @return {boolean} The element was added to the queue.\n */\n PriorityQueue.prototype.enqueue = function (element) {\n assert(!(this.keyFunction_(element) in this.queuedElements_), 31); // Tried to enqueue an `element` that was already added to the queue\n var priority = this.priorityFunction_(element);\n if (priority != DROP) {\n this.elements_.push(element);\n this.priorities_.push(priority);\n this.queuedElements_[this.keyFunction_(element)] = true;\n this.siftDown_(0, this.elements_.length - 1);\n return true;\n }\n return false;\n };\n /**\n * @return {number} Count.\n */\n PriorityQueue.prototype.getCount = function () {\n return this.elements_.length;\n };\n /**\n * Gets the index of the left child of the node at the given index.\n * @param {number} index The index of the node to get the left child for.\n * @return {number} The index of the left child.\n * @private\n */\n PriorityQueue.prototype.getLeftChildIndex_ = function (index) {\n return index * 2 + 1;\n };\n /**\n * Gets the index of the right child of the node at the given index.\n * @param {number} index The index of the node to get the right child for.\n * @return {number} The index of the right child.\n * @private\n */\n PriorityQueue.prototype.getRightChildIndex_ = function (index) {\n return index * 2 + 2;\n };\n /**\n * Gets the index of the parent of the node at the given index.\n * @param {number} index The index of the node to get the parent for.\n * @return {number} The index of the parent.\n * @private\n */\n PriorityQueue.prototype.getParentIndex_ = function (index) {\n return (index - 1) >> 1;\n };\n /**\n * Make this a heap. O(N).\n * @private\n */\n PriorityQueue.prototype.heapify_ = function () {\n var i;\n for (i = (this.elements_.length >> 1) - 1; i >= 0; i--) {\n this.siftUp_(i);\n }\n };\n /**\n * @return {boolean} Is empty.\n */\n PriorityQueue.prototype.isEmpty = function () {\n return this.elements_.length === 0;\n };\n /**\n * @param {string} key Key.\n * @return {boolean} Is key queued.\n */\n PriorityQueue.prototype.isKeyQueued = function (key) {\n return key in this.queuedElements_;\n };\n /**\n * @param {T} element Element.\n * @return {boolean} Is queued.\n */\n PriorityQueue.prototype.isQueued = function (element) {\n return this.isKeyQueued(this.keyFunction_(element));\n };\n /**\n * @param {number} index The index of the node to move down.\n * @private\n */\n PriorityQueue.prototype.siftUp_ = function (index) {\n var elements = this.elements_;\n var priorities = this.priorities_;\n var count = elements.length;\n var element = elements[index];\n var priority = priorities[index];\n var startIndex = index;\n while (index < count >> 1) {\n var lIndex = this.getLeftChildIndex_(index);\n var rIndex = this.getRightChildIndex_(index);\n var smallerChildIndex = rIndex < count && priorities[rIndex] < priorities[lIndex]\n ? rIndex\n : lIndex;\n elements[index] = elements[smallerChildIndex];\n priorities[index] = priorities[smallerChildIndex];\n index = smallerChildIndex;\n }\n elements[index] = element;\n priorities[index] = priority;\n this.siftDown_(startIndex, index);\n };\n /**\n * @param {number} startIndex The index of the root.\n * @param {number} index The index of the node to move up.\n * @private\n */\n PriorityQueue.prototype.siftDown_ = function (startIndex, index) {\n var elements = this.elements_;\n var priorities = this.priorities_;\n var element = elements[index];\n var priority = priorities[index];\n while (index > startIndex) {\n var parentIndex = this.getParentIndex_(index);\n if (priorities[parentIndex] > priority) {\n elements[index] = elements[parentIndex];\n priorities[index] = priorities[parentIndex];\n index = parentIndex;\n }\n else {\n break;\n }\n }\n elements[index] = element;\n priorities[index] = priority;\n };\n /**\n * FIXME empty description for jsdoc\n */\n PriorityQueue.prototype.reprioritize = function () {\n var priorityFunction = this.priorityFunction_;\n var elements = this.elements_;\n var priorities = this.priorities_;\n var index = 0;\n var n = elements.length;\n var element, i, priority;\n for (i = 0; i < n; ++i) {\n element = elements[i];\n priority = priorityFunction(element);\n if (priority == DROP) {\n delete this.queuedElements_[this.keyFunction_(element)];\n }\n else {\n priorities[index] = priority;\n elements[index++] = element;\n }\n }\n elements.length = index;\n priorities.length = index;\n this.heapify_();\n };\n return PriorityQueue;\n}());\nexport default PriorityQueue;\n//# sourceMappingURL=PriorityQueue.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/TileQueue\n */\nimport EventType from './events/EventType.js';\nimport PriorityQueue, { DROP } from './structs/PriorityQueue.js';\nimport TileState from './TileState.js';\n/**\n * @typedef {function(import(\"./Tile.js\").default, string, import(\"./coordinate.js\").Coordinate, number): number} PriorityFunction\n */\nvar TileQueue = /** @class */ (function (_super) {\n __extends(TileQueue, _super);\n /**\n * @param {PriorityFunction} tilePriorityFunction Tile priority function.\n * @param {function(): ?} tileChangeCallback Function called on each tile change event.\n */\n function TileQueue(tilePriorityFunction, tileChangeCallback) {\n var _this = _super.call(this, \n /**\n * @param {Array} element Element.\n * @return {number} Priority.\n */\n function (element) {\n return tilePriorityFunction.apply(null, element);\n }, \n /**\n * @param {Array} element Element.\n * @return {string} Key.\n */\n function (element) {\n return /** @type {import(\"./Tile.js\").default} */ (element[0]).getKey();\n }) || this;\n /** @private */\n _this.boundHandleTileChange_ = _this.handleTileChange.bind(_this);\n /**\n * @private\n * @type {function(): ?}\n */\n _this.tileChangeCallback_ = tileChangeCallback;\n /**\n * @private\n * @type {number}\n */\n _this.tilesLoading_ = 0;\n /**\n * @private\n * @type {!Object}\n */\n _this.tilesLoadingKeys_ = {};\n return _this;\n }\n /**\n * @param {Array} element Element.\n * @return {boolean} The element was added to the queue.\n */\n TileQueue.prototype.enqueue = function (element) {\n var added = _super.prototype.enqueue.call(this, element);\n if (added) {\n var tile = element[0];\n tile.addEventListener(EventType.CHANGE, this.boundHandleTileChange_);\n }\n return added;\n };\n /**\n * @return {number} Number of tiles loading.\n */\n TileQueue.prototype.getTilesLoading = function () {\n return this.tilesLoading_;\n };\n /**\n * @param {import(\"./events/Event.js\").default} event Event.\n * @protected\n */\n TileQueue.prototype.handleTileChange = function (event) {\n var tile = /** @type {import(\"./Tile.js\").default} */ (event.target);\n var state = tile.getState();\n if (state === TileState.LOADED ||\n state === TileState.ERROR ||\n state === TileState.EMPTY) {\n tile.removeEventListener(EventType.CHANGE, this.boundHandleTileChange_);\n var tileKey = tile.getKey();\n if (tileKey in this.tilesLoadingKeys_) {\n delete this.tilesLoadingKeys_[tileKey];\n --this.tilesLoading_;\n }\n this.tileChangeCallback_();\n }\n };\n /**\n * @param {number} maxTotalLoading Maximum number tiles to load simultaneously.\n * @param {number} maxNewLoads Maximum number of new tiles to load.\n */\n TileQueue.prototype.loadMoreTiles = function (maxTotalLoading, maxNewLoads) {\n var newLoads = 0;\n var state, tile, tileKey;\n while (this.tilesLoading_ < maxTotalLoading &&\n newLoads < maxNewLoads &&\n this.getCount() > 0) {\n tile = /** @type {import(\"./Tile.js\").default} */ (this.dequeue()[0]);\n tileKey = tile.getKey();\n state = tile.getState();\n if (state === TileState.IDLE && !(tileKey in this.tilesLoadingKeys_)) {\n this.tilesLoadingKeys_[tileKey] = true;\n ++this.tilesLoading_;\n ++newLoads;\n tile.load();\n }\n }\n };\n return TileQueue;\n}(PriorityQueue));\nexport default TileQueue;\n/**\n * @param {import('./PluggableMap.js').FrameState} frameState Frame state.\n * @param {import(\"./Tile.js\").default} tile Tile.\n * @param {string} tileSourceKey Tile source key.\n * @param {import(\"./coordinate.js\").Coordinate} tileCenter Tile center.\n * @param {number} tileResolution Tile resolution.\n * @return {number} Tile priority.\n */\nexport function getTilePriority(frameState, tile, tileSourceKey, tileCenter, tileResolution) {\n // Filter out tiles at higher zoom levels than the current zoom level, or that\n // are outside the visible extent.\n if (!frameState || !(tileSourceKey in frameState.wantedTiles)) {\n return DROP;\n }\n if (!frameState.wantedTiles[tileSourceKey][tile.getKey()]) {\n return DROP;\n }\n // Prioritize the highest zoom level tiles closest to the focus.\n // Tiles at higher zoom levels are prioritized using Math.log(tileResolution).\n // Within a zoom level, tiles are prioritized by the distance in pixels between\n // the center of the tile and the center of the viewport. The factor of 65536\n // means that the prioritization should behave as desired for tiles up to\n // 65536 * Math.log(2) = 45426 pixels from the focus.\n var center = frameState.viewState.center;\n var deltaX = tileCenter[0] - center[0];\n var deltaY = tileCenter[1] - center[1];\n return (65536 * Math.log(tileResolution) +\n Math.sqrt(deltaX * deltaX + deltaY * deltaY) / tileResolution);\n}\n//# sourceMappingURL=TileQueue.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/PluggableMap\n */\nimport BaseObject from './Object.js';\nimport Collection from './Collection.js';\nimport CollectionEventType from './CollectionEventType.js';\nimport EventType from './events/EventType.js';\nimport Layer from './layer/Layer.js';\nimport LayerGroup, { GroupEvent } from './layer/Group.js';\nimport MapBrowserEvent from './MapBrowserEvent.js';\nimport MapBrowserEventHandler from './MapBrowserEventHandler.js';\nimport MapBrowserEventType from './MapBrowserEventType.js';\nimport MapEvent from './MapEvent.js';\nimport MapEventType from './MapEventType.js';\nimport MapProperty from './MapProperty.js';\nimport ObjectEventType from './ObjectEventType.js';\nimport PointerEventType from './pointer/EventType.js';\nimport RenderEventType from './render/EventType.js';\nimport TileQueue, { getTilePriority } from './TileQueue.js';\nimport View from './View.js';\nimport ViewHint from './ViewHint.js';\nimport { DEVICE_PIXEL_RATIO, PASSIVE_EVENT_LISTENERS } from './has.js';\nimport { TRUE } from './functions.js';\nimport { apply as applyTransform, create as createTransform, } from './transform.js';\nimport { assert } from './asserts.js';\nimport { clone, createOrUpdateEmpty, equals, getForViewAndSize, isEmpty, } from './extent.js';\nimport { fromUserCoordinate, toUserCoordinate } from './proj.js';\nimport { getUid } from './util.js';\nimport { hasArea } from './size.js';\nimport { listen, unlistenByKey } from './events.js';\nimport { removeNode } from './dom.js';\n/**\n * State of the current frame. Only `pixelRatio`, `time` and `viewState` should\n * be used in applications.\n * @typedef {Object} FrameState\n * @property {number} pixelRatio The pixel ratio of the frame.\n * @property {number} time The time when rendering of the frame was requested.\n * @property {import(\"./View.js\").State} viewState The state of the current view.\n * @property {boolean} animate Animate.\n * @property {import(\"./transform.js\").Transform} coordinateToPixelTransform CoordinateToPixelTransform.\n * @property {import(\"rbush\").default} declutterTree DeclutterTree.\n * @property {null|import(\"./extent.js\").Extent} extent Extent.\n * @property {import(\"./extent.js\").Extent} [nextExtent] Next extent during an animation series.\n * @property {number} index Index.\n * @property {Array} layerStatesArray LayerStatesArray.\n * @property {number} layerIndex LayerIndex.\n * @property {import(\"./transform.js\").Transform} pixelToCoordinateTransform PixelToCoordinateTransform.\n * @property {Array} postRenderFunctions PostRenderFunctions.\n * @property {import(\"./size.js\").Size} size Size.\n * @property {TileQueue} tileQueue TileQueue.\n * @property {!Object>} usedTiles UsedTiles.\n * @property {Array} viewHints ViewHints.\n * @property {!Object>} wantedTiles WantedTiles.\n * @property {string} mapId The id of the map.\n * @property {Object} renderTargets Identifiers of previously rendered elements.\n */\n/**\n * @typedef {function(PluggableMap, ?FrameState): any} PostRenderFunction\n */\n/**\n * @typedef {Object} AtPixelOptions\n * @property {undefined|function(import(\"./layer/Layer.js\").default): boolean} [layerFilter] Layer filter\n * function. The filter function will receive one argument, the\n * {@link module:ol/layer/Layer~Layer layer-candidate} and it should return a boolean value.\n * Only layers which are visible and for which this function returns `true`\n * will be tested for features. By default, all visible layers will be tested.\n * @property {number} [hitTolerance=0] Hit-detection tolerance in css pixels. Pixels\n * inside the radius around the given position will be checked for features.\n * @property {boolean} [checkWrapped=true] Check-Wrapped Will check for for wrapped geometries inside the range of\n * +/- 1 world width. Works only if a projection is used that can be wrapped.\n */\n/**\n * @typedef {Object} MapOptionsInternal\n * @property {Collection} [controls] Controls.\n * @property {Collection} [interactions] Interactions.\n * @property {HTMLElement|Document} keyboardEventTarget KeyboardEventTarget.\n * @property {Collection} overlays Overlays.\n * @property {Object} values Values.\n */\n/**\n * @typedef {import(\"./ObjectEventType\").Types|'change:layergroup'|'change:size'|'change:target'|'change:view'} MapObjectEventTypes\n */\n/***\n * @template Return\n * @typedef {import(\"./Observable\").OnSignature &\n * import(\"./Observable\").OnSignature &\n * import(\"./Observable\").OnSignature &\n * import(\"./Observable\").OnSignature &\n * import(\"./Observable\").OnSignature &\n * import(\"./Observable\").CombinedOnSignature} PluggableMapOnSignature\n */\n/**\n * Object literal with config options for the map.\n * @typedef {Object} MapOptions\n * @property {Collection|Array} [controls]\n * Controls initially added to the map. If not specified,\n * {@link module:ol/control.defaults} is used.\n * @property {number} [pixelRatio=window.devicePixelRatio] The ratio between\n * physical pixels and device-independent pixels (dips) on the device.\n * @property {Collection|Array} [interactions]\n * Interactions that are initially added to the map. If not specified,\n * {@link module:ol/interaction.defaults} is used.\n * @property {HTMLElement|Document|string} [keyboardEventTarget] The element to\n * listen to keyboard events on. This determines when the `KeyboardPan` and\n * `KeyboardZoom` interactions trigger. For example, if this option is set to\n * `document` the keyboard interactions will always trigger. If this option is\n * not specified, the element the library listens to keyboard events on is the\n * map target (i.e. the user-provided div for the map). If this is not\n * `document`, the target element needs to be focused for key events to be\n * emitted, requiring that the target element has a `tabindex` attribute.\n * @property {Array|Collection|LayerGroup} [layers]\n * Layers. If this is not defined, a map with no layers will be rendered. Note\n * that layers are rendered in the order supplied, so if you want, for example,\n * a vector layer to appear on top of a tile layer, it must come after the tile\n * layer.\n * @property {number} [maxTilesLoading=16] Maximum number tiles to load\n * simultaneously.\n * @property {number} [moveTolerance=1] The minimum distance in pixels the\n * cursor must move to be detected as a map move event instead of a click.\n * Increasing this value can make it easier to click on the map.\n * @property {Collection|Array} [overlays]\n * Overlays initially added to the map. By default, no overlays are added.\n * @property {HTMLElement|string} [target] The container for the map, either the\n * element itself or the `id` of the element. If not specified at construction\n * time, {@link module:ol/Map~Map#setTarget} must be called for the map to be\n * rendered. If passed by element, the container can be in a secondary document.\n * @property {View|Promise} [view] The map's view. No layer sources will be\n * fetched unless this is specified at construction time or through\n * {@link module:ol/Map~Map#setView}.\n */\n/**\n * @param {import(\"./layer/Base.js\").default} layer Layer.\n */\nfunction removeLayerMapProperty(layer) {\n if (layer instanceof Layer) {\n layer.setMapInternal(null);\n return;\n }\n if (layer instanceof LayerGroup) {\n layer.getLayers().forEach(removeLayerMapProperty);\n }\n}\n/**\n * @param {import(\"./layer/Base.js\").default} layer Layer.\n * @param {PluggableMap} map Map.\n */\nfunction setLayerMapProperty(layer, map) {\n if (layer instanceof Layer) {\n layer.setMapInternal(map);\n return;\n }\n if (layer instanceof LayerGroup) {\n var layers = layer.getLayers().getArray();\n for (var i = 0, ii = layers.length; i < ii; ++i) {\n setLayerMapProperty(layers[i], map);\n }\n }\n}\n/**\n * @fires import(\"./MapBrowserEvent.js\").MapBrowserEvent\n * @fires import(\"./MapEvent.js\").MapEvent\n * @fires import(\"./render/Event.js\").default#precompose\n * @fires import(\"./render/Event.js\").default#postcompose\n * @fires import(\"./render/Event.js\").default#rendercomplete\n * @api\n */\nvar PluggableMap = /** @class */ (function (_super) {\n __extends(PluggableMap, _super);\n /**\n * @param {MapOptions} options Map options.\n */\n function PluggableMap(options) {\n var _this = _super.call(this) || this;\n /***\n * @type {PluggableMapOnSignature}\n */\n _this.on;\n /***\n * @type {PluggableMapOnSignature}\n */\n _this.once;\n /***\n * @type {PluggableMapOnSignature}\n */\n _this.un;\n var optionsInternal = createOptionsInternal(options);\n /**\n * @private\n * @type {boolean|undefined}\n */\n _this.renderComplete_;\n /**\n * @private\n * @type {boolean}\n */\n _this.loaded_ = true;\n /** @private */\n _this.boundHandleBrowserEvent_ = _this.handleBrowserEvent.bind(_this);\n /**\n * @type {number}\n * @private\n */\n _this.maxTilesLoading_ =\n options.maxTilesLoading !== undefined ? options.maxTilesLoading : 16;\n /**\n * @private\n * @type {number}\n */\n _this.pixelRatio_ =\n options.pixelRatio !== undefined\n ? options.pixelRatio\n : DEVICE_PIXEL_RATIO;\n /**\n * @private\n * @type {*}\n */\n _this.postRenderTimeoutHandle_;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.animationDelayKey_;\n /**\n * @private\n */\n _this.animationDelay_ = /** @this {PluggableMap} */ function () {\n this.animationDelayKey_ = undefined;\n this.renderFrame_(Date.now());\n }.bind(_this);\n /**\n * @private\n * @type {import(\"./transform.js\").Transform}\n */\n _this.coordinateToPixelTransform_ = createTransform();\n /**\n * @private\n * @type {import(\"./transform.js\").Transform}\n */\n _this.pixelToCoordinateTransform_ = createTransform();\n /**\n * @private\n * @type {number}\n */\n _this.frameIndex_ = 0;\n /**\n * @private\n * @type {?FrameState}\n */\n _this.frameState_ = null;\n /**\n * The extent at the previous 'moveend' event.\n * @private\n * @type {import(\"./extent.js\").Extent}\n */\n _this.previousExtent_ = null;\n /**\n * @private\n * @type {?import(\"./events.js\").EventsKey}\n */\n _this.viewPropertyListenerKey_ = null;\n /**\n * @private\n * @type {?import(\"./events.js\").EventsKey}\n */\n _this.viewChangeListenerKey_ = null;\n /**\n * @private\n * @type {?Array}\n */\n _this.layerGroupPropertyListenerKeys_ = null;\n /**\n * @private\n * @type {!HTMLElement}\n */\n _this.viewport_ = document.createElement('div');\n _this.viewport_.className =\n 'ol-viewport' + ('ontouchstart' in window ? ' ol-touch' : '');\n _this.viewport_.style.position = 'relative';\n _this.viewport_.style.overflow = 'hidden';\n _this.viewport_.style.width = '100%';\n _this.viewport_.style.height = '100%';\n /**\n * @private\n * @type {!HTMLElement}\n */\n _this.overlayContainer_ = document.createElement('div');\n _this.overlayContainer_.style.position = 'absolute';\n _this.overlayContainer_.style.zIndex = '0';\n _this.overlayContainer_.style.width = '100%';\n _this.overlayContainer_.style.height = '100%';\n _this.overlayContainer_.style.pointerEvents = 'none';\n _this.overlayContainer_.className = 'ol-overlaycontainer';\n _this.viewport_.appendChild(_this.overlayContainer_);\n /**\n * @private\n * @type {!HTMLElement}\n */\n _this.overlayContainerStopEvent_ = document.createElement('div');\n _this.overlayContainerStopEvent_.style.position = 'absolute';\n _this.overlayContainerStopEvent_.style.zIndex = '0';\n _this.overlayContainerStopEvent_.style.width = '100%';\n _this.overlayContainerStopEvent_.style.height = '100%';\n _this.overlayContainerStopEvent_.style.pointerEvents = 'none';\n _this.overlayContainerStopEvent_.className = 'ol-overlaycontainer-stopevent';\n _this.viewport_.appendChild(_this.overlayContainerStopEvent_);\n /**\n * @private\n * @type {MapBrowserEventHandler}\n */\n _this.mapBrowserEventHandler_ = null;\n /**\n * @private\n * @type {number}\n */\n _this.moveTolerance_ = options.moveTolerance;\n /**\n * @private\n * @type {HTMLElement|Document}\n */\n _this.keyboardEventTarget_ = optionsInternal.keyboardEventTarget;\n /**\n * @private\n * @type {?Array}\n */\n _this.targetChangeHandlerKeys_ = null;\n /**\n * @type {Collection}\n * @protected\n */\n _this.controls = optionsInternal.controls || new Collection();\n /**\n * @type {Collection}\n * @protected\n */\n _this.interactions = optionsInternal.interactions || new Collection();\n /**\n * @type {Collection}\n * @private\n */\n _this.overlays_ = optionsInternal.overlays;\n /**\n * A lookup of overlays by id.\n * @private\n * @type {Object}\n */\n _this.overlayIdIndex_ = {};\n /**\n * @type {import(\"./renderer/Map.js\").default|null}\n * @private\n */\n _this.renderer_ = null;\n /**\n * @private\n * @type {!Array}\n */\n _this.postRenderFunctions_ = [];\n /**\n * @private\n * @type {TileQueue}\n */\n _this.tileQueue_ = new TileQueue(_this.getTilePriority.bind(_this), _this.handleTileChange_.bind(_this));\n _this.addChangeListener(MapProperty.LAYERGROUP, _this.handleLayerGroupChanged_);\n _this.addChangeListener(MapProperty.VIEW, _this.handleViewChanged_);\n _this.addChangeListener(MapProperty.SIZE, _this.handleSizeChanged_);\n _this.addChangeListener(MapProperty.TARGET, _this.handleTargetChanged_);\n // setProperties will trigger the rendering of the map if the map\n // is \"defined\" already.\n _this.setProperties(optionsInternal.values);\n var map = _this;\n if (options.view && !(options.view instanceof View)) {\n options.view.then(function (viewOptions) {\n map.setView(new View(viewOptions));\n });\n }\n _this.controls.addEventListener(CollectionEventType.ADD, \n /**\n * @param {import(\"./Collection.js\").CollectionEvent} event CollectionEvent.\n */\n function (event) {\n event.element.setMap(this);\n }.bind(_this));\n _this.controls.addEventListener(CollectionEventType.REMOVE, \n /**\n * @param {import(\"./Collection.js\").CollectionEvent} event CollectionEvent.\n */\n function (event) {\n event.element.setMap(null);\n }.bind(_this));\n _this.interactions.addEventListener(CollectionEventType.ADD, \n /**\n * @param {import(\"./Collection.js\").CollectionEvent} event CollectionEvent.\n */\n function (event) {\n event.element.setMap(this);\n }.bind(_this));\n _this.interactions.addEventListener(CollectionEventType.REMOVE, \n /**\n * @param {import(\"./Collection.js\").CollectionEvent} event CollectionEvent.\n */\n function (event) {\n event.element.setMap(null);\n }.bind(_this));\n _this.overlays_.addEventListener(CollectionEventType.ADD, \n /**\n * @param {import(\"./Collection.js\").CollectionEvent} event CollectionEvent.\n */\n function (event) {\n this.addOverlayInternal_(\n /** @type {import(\"./Overlay.js\").default} */ (event.element));\n }.bind(_this));\n _this.overlays_.addEventListener(CollectionEventType.REMOVE, \n /**\n * @param {import(\"./Collection.js\").CollectionEvent} event CollectionEvent.\n */\n function (event) {\n var overlay = /** @type {import(\"./Overlay.js\").default} */ (event.element);\n var id = overlay.getId();\n if (id !== undefined) {\n delete this.overlayIdIndex_[id.toString()];\n }\n event.element.setMap(null);\n }.bind(_this));\n _this.controls.forEach(\n /**\n * @param {import(\"./control/Control.js\").default} control Control.\n * @this {PluggableMap}\n */\n function (control) {\n control.setMap(this);\n }.bind(_this));\n _this.interactions.forEach(\n /**\n * @param {import(\"./interaction/Interaction.js\").default} interaction Interaction.\n * @this {PluggableMap}\n */\n function (interaction) {\n interaction.setMap(this);\n }.bind(_this));\n _this.overlays_.forEach(_this.addOverlayInternal_.bind(_this));\n return _this;\n }\n /**\n * @abstract\n * @return {import(\"./renderer/Map.js\").default} The map renderer\n */\n PluggableMap.prototype.createRenderer = function () {\n throw new Error('Use a map type that has a createRenderer method');\n };\n /**\n * Add the given control to the map.\n * @param {import(\"./control/Control.js\").default} control Control.\n * @api\n */\n PluggableMap.prototype.addControl = function (control) {\n this.getControls().push(control);\n };\n /**\n * Add the given interaction to the map. If you want to add an interaction\n * at another point of the collection use `getInteractions()` and the methods\n * available on {@link module:ol/Collection~Collection}. This can be used to\n * stop the event propagation from the handleEvent function. The interactions\n * get to handle the events in the reverse order of this collection.\n * @param {import(\"./interaction/Interaction.js\").default} interaction Interaction to add.\n * @api\n */\n PluggableMap.prototype.addInteraction = function (interaction) {\n this.getInteractions().push(interaction);\n };\n /**\n * Adds the given layer to the top of this map. If you want to add a layer\n * elsewhere in the stack, use `getLayers()` and the methods available on\n * {@link module:ol/Collection~Collection}.\n * @param {import(\"./layer/Base.js\").default} layer Layer.\n * @api\n */\n PluggableMap.prototype.addLayer = function (layer) {\n var layers = this.getLayerGroup().getLayers();\n layers.push(layer);\n };\n /**\n * @param {import(\"./layer/Group.js\").GroupEvent} event The layer add event.\n * @private\n */\n PluggableMap.prototype.handleLayerAdd_ = function (event) {\n setLayerMapProperty(event.layer, this);\n };\n /**\n * Add the given overlay to the map.\n * @param {import(\"./Overlay.js\").default} overlay Overlay.\n * @api\n */\n PluggableMap.prototype.addOverlay = function (overlay) {\n this.getOverlays().push(overlay);\n };\n /**\n * This deals with map's overlay collection changes.\n * @param {import(\"./Overlay.js\").default} overlay Overlay.\n * @private\n */\n PluggableMap.prototype.addOverlayInternal_ = function (overlay) {\n var id = overlay.getId();\n if (id !== undefined) {\n this.overlayIdIndex_[id.toString()] = overlay;\n }\n overlay.setMap(this);\n };\n /**\n *\n * Clean up.\n */\n PluggableMap.prototype.disposeInternal = function () {\n this.controls.clear();\n this.interactions.clear();\n this.overlays_.clear();\n this.setTarget(null);\n _super.prototype.disposeInternal.call(this);\n };\n /**\n * Detect features that intersect a pixel on the viewport, and execute a\n * callback with each intersecting feature. Layers included in the detection can\n * be configured through the `layerFilter` option in `opt_options`.\n * @param {import(\"./pixel.js\").Pixel} pixel Pixel.\n * @param {function(import(\"./Feature.js\").FeatureLike, import(\"./layer/Layer.js\").default, import(\"./geom/SimpleGeometry.js\").default): T} callback Feature callback. The callback will be\n * called with two arguments. The first argument is one\n * {@link module:ol/Feature~Feature feature} or\n * {@link module:ol/render/Feature~RenderFeature render feature} at the pixel, the second is\n * the {@link module:ol/layer/Layer~Layer layer} of the feature and will be null for\n * unmanaged layers. To stop detection, callback functions can return a\n * truthy value.\n * @param {AtPixelOptions} [opt_options] Optional options.\n * @return {T|undefined} Callback result, i.e. the return value of last\n * callback execution, or the first truthy callback return value.\n * @template T\n * @api\n */\n PluggableMap.prototype.forEachFeatureAtPixel = function (pixel, callback, opt_options) {\n if (!this.frameState_ || !this.renderer_) {\n return;\n }\n var coordinate = this.getCoordinateFromPixelInternal(pixel);\n opt_options = opt_options !== undefined ? opt_options : {};\n var hitTolerance = opt_options.hitTolerance !== undefined ? opt_options.hitTolerance : 0;\n var layerFilter = opt_options.layerFilter !== undefined ? opt_options.layerFilter : TRUE;\n var checkWrapped = opt_options.checkWrapped !== false;\n return this.renderer_.forEachFeatureAtCoordinate(coordinate, this.frameState_, hitTolerance, checkWrapped, callback, null, layerFilter, null);\n };\n /**\n * Get all features that intersect a pixel on the viewport.\n * @param {import(\"./pixel.js\").Pixel} pixel Pixel.\n * @param {AtPixelOptions} [opt_options] Optional options.\n * @return {Array} The detected features or\n * an empty array if none were found.\n * @api\n */\n PluggableMap.prototype.getFeaturesAtPixel = function (pixel, opt_options) {\n var features = [];\n this.forEachFeatureAtPixel(pixel, function (feature) {\n features.push(feature);\n }, opt_options);\n return features;\n };\n /**\n * Get all layers from all layer groups.\n * @return {Array} Layers.\n * @api\n */\n PluggableMap.prototype.getAllLayers = function () {\n var layers = [];\n function addLayersFrom(layerGroup) {\n layerGroup.forEach(function (layer) {\n if (layer instanceof LayerGroup) {\n addLayersFrom(layer.getLayers());\n }\n else {\n layers.push(layer);\n }\n });\n }\n addLayersFrom(this.getLayers());\n return layers;\n };\n /**\n * Please the `layer.getData()` method for {@link module:ol/layer/Tile~TileLayer#getData tile layers} or\n * {@link module:ol/layer/Image~ImageLayer#getData image layers} instead of using this method.\n *\n * Detect layers that have a color value at a pixel on the viewport, and\n * execute a callback with each matching layer. Layers included in the\n * detection can be configured through `opt_layerFilter`.\n *\n * Note: In maps with more than one layer, this method will typically return pixel data\n * representing the composed image of all layers visible at the given pixel – because layers\n * will generally share the same rendering context. To force layers to render separately, and\n * to get pixel data representing only one layer at a time, you can assign each layer a unique\n * `className` in its constructor.\n *\n * @param {import(\"./pixel.js\").Pixel} pixel Pixel.\n * @param {function(this: S, import(\"./layer/Layer.js\").default, (Uint8ClampedArray|Uint8Array)): T} callback\n * Layer callback. This callback will receive two arguments: first is the\n * {@link module:ol/layer/Layer~Layer layer}, second argument is an array representing\n * [R, G, B, A] pixel values (0 - 255) and will be `null` for layer types\n * that do not currently support this argument. To stop detection, callback\n * functions can return a truthy value.\n * @param {AtPixelOptions} [opt_options] Configuration options.\n * @return {T|undefined} Callback result, i.e. the return value of last\n * callback execution, or the first truthy callback return value.\n * @template S,T\n * @api\n * @deprecated\n */\n PluggableMap.prototype.forEachLayerAtPixel = function (pixel, callback, opt_options) {\n if (!this.frameState_ || !this.renderer_) {\n return;\n }\n var options = opt_options || {};\n var hitTolerance = options.hitTolerance !== undefined ? options.hitTolerance : 0;\n var layerFilter = options.layerFilter || TRUE;\n return this.renderer_.forEachLayerAtPixel(pixel, this.frameState_, hitTolerance, callback, layerFilter);\n };\n /**\n * Detect if features intersect a pixel on the viewport. Layers included in the\n * detection can be configured through `opt_layerFilter`.\n * @param {import(\"./pixel.js\").Pixel} pixel Pixel.\n * @param {AtPixelOptions} [opt_options] Optional options.\n * @return {boolean} Is there a feature at the given pixel?\n * @api\n */\n PluggableMap.prototype.hasFeatureAtPixel = function (pixel, opt_options) {\n if (!this.frameState_ || !this.renderer_) {\n return false;\n }\n var coordinate = this.getCoordinateFromPixelInternal(pixel);\n opt_options = opt_options !== undefined ? opt_options : {};\n var layerFilter = opt_options.layerFilter !== undefined ? opt_options.layerFilter : TRUE;\n var hitTolerance = opt_options.hitTolerance !== undefined ? opt_options.hitTolerance : 0;\n var checkWrapped = opt_options.checkWrapped !== false;\n return this.renderer_.hasFeatureAtCoordinate(coordinate, this.frameState_, hitTolerance, checkWrapped, layerFilter, null);\n };\n /**\n * Returns the coordinate in user projection for a browser event.\n * @param {MouseEvent} event Event.\n * @return {import(\"./coordinate.js\").Coordinate} Coordinate.\n * @api\n */\n PluggableMap.prototype.getEventCoordinate = function (event) {\n return this.getCoordinateFromPixel(this.getEventPixel(event));\n };\n /**\n * Returns the coordinate in view projection for a browser event.\n * @param {MouseEvent} event Event.\n * @return {import(\"./coordinate.js\").Coordinate} Coordinate.\n */\n PluggableMap.prototype.getEventCoordinateInternal = function (event) {\n return this.getCoordinateFromPixelInternal(this.getEventPixel(event));\n };\n /**\n * Returns the map pixel position for a browser event relative to the viewport.\n * @param {UIEvent} event Event.\n * @return {import(\"./pixel.js\").Pixel} Pixel.\n * @api\n */\n PluggableMap.prototype.getEventPixel = function (event) {\n var viewportPosition = this.viewport_.getBoundingClientRect();\n var eventPosition = \n //FIXME Are we really calling this with a TouchEvent anywhere?\n 'changedTouches' in event\n ? /** @type {TouchEvent} */ (event).changedTouches[0]\n : /** @type {MouseEvent} */ (event);\n return [\n eventPosition.clientX - viewportPosition.left,\n eventPosition.clientY - viewportPosition.top,\n ];\n };\n /**\n * Get the target in which this map is rendered.\n * Note that this returns what is entered as an option or in setTarget:\n * if that was an element, it returns an element; if a string, it returns that.\n * @return {HTMLElement|string|undefined} The Element or id of the Element that the\n * map is rendered in.\n * @observable\n * @api\n */\n PluggableMap.prototype.getTarget = function () {\n return /** @type {HTMLElement|string|undefined} */ (this.get(MapProperty.TARGET));\n };\n /**\n * Get the DOM element into which this map is rendered. In contrast to\n * `getTarget` this method always return an `Element`, or `null` if the\n * map has no target.\n * @return {HTMLElement} The element that the map is rendered in.\n * @api\n */\n PluggableMap.prototype.getTargetElement = function () {\n var target = this.getTarget();\n if (target !== undefined) {\n return typeof target === 'string'\n ? document.getElementById(target)\n : target;\n }\n else {\n return null;\n }\n };\n /**\n * Get the coordinate for a given pixel. This returns a coordinate in the\n * user projection.\n * @param {import(\"./pixel.js\").Pixel} pixel Pixel position in the map viewport.\n * @return {import(\"./coordinate.js\").Coordinate} The coordinate for the pixel position.\n * @api\n */\n PluggableMap.prototype.getCoordinateFromPixel = function (pixel) {\n return toUserCoordinate(this.getCoordinateFromPixelInternal(pixel), this.getView().getProjection());\n };\n /**\n * Get the coordinate for a given pixel. This returns a coordinate in the\n * map view projection.\n * @param {import(\"./pixel.js\").Pixel} pixel Pixel position in the map viewport.\n * @return {import(\"./coordinate.js\").Coordinate} The coordinate for the pixel position.\n */\n PluggableMap.prototype.getCoordinateFromPixelInternal = function (pixel) {\n var frameState = this.frameState_;\n if (!frameState) {\n return null;\n }\n else {\n return applyTransform(frameState.pixelToCoordinateTransform, pixel.slice());\n }\n };\n /**\n * Get the map controls. Modifying this collection changes the controls\n * associated with the map.\n * @return {Collection} Controls.\n * @api\n */\n PluggableMap.prototype.getControls = function () {\n return this.controls;\n };\n /**\n * Get the map overlays. Modifying this collection changes the overlays\n * associated with the map.\n * @return {Collection} Overlays.\n * @api\n */\n PluggableMap.prototype.getOverlays = function () {\n return this.overlays_;\n };\n /**\n * Get an overlay by its identifier (the value returned by overlay.getId()).\n * Note that the index treats string and numeric identifiers as the same. So\n * `map.getOverlayById(2)` will return an overlay with id `'2'` or `2`.\n * @param {string|number} id Overlay identifier.\n * @return {import(\"./Overlay.js\").default} Overlay.\n * @api\n */\n PluggableMap.prototype.getOverlayById = function (id) {\n var overlay = this.overlayIdIndex_[id.toString()];\n return overlay !== undefined ? overlay : null;\n };\n /**\n * Get the map interactions. Modifying this collection changes the interactions\n * associated with the map.\n *\n * Interactions are used for e.g. pan, zoom and rotate.\n * @return {Collection} Interactions.\n * @api\n */\n PluggableMap.prototype.getInteractions = function () {\n return this.interactions;\n };\n /**\n * Get the layergroup associated with this map.\n * @return {LayerGroup} A layer group containing the layers in this map.\n * @observable\n * @api\n */\n PluggableMap.prototype.getLayerGroup = function () {\n return /** @type {LayerGroup} */ (this.get(MapProperty.LAYERGROUP));\n };\n /**\n * Clear any existing layers and add layers to the map.\n * @param {Array|Collection} layers The layers to be added to the map.\n * @api\n */\n PluggableMap.prototype.setLayers = function (layers) {\n var group = this.getLayerGroup();\n if (layers instanceof Collection) {\n group.setLayers(layers);\n return;\n }\n var collection = group.getLayers();\n collection.clear();\n collection.extend(layers);\n };\n /**\n * Get the collection of layers associated with this map.\n * @return {!Collection} Layers.\n * @api\n */\n PluggableMap.prototype.getLayers = function () {\n var layers = this.getLayerGroup().getLayers();\n return layers;\n };\n /**\n * @return {boolean} Layers have sources that are still loading.\n */\n PluggableMap.prototype.getLoadingOrNotReady = function () {\n var layerStatesArray = this.getLayerGroup().getLayerStatesArray();\n for (var i = 0, ii = layerStatesArray.length; i < ii; ++i) {\n var state = layerStatesArray[i];\n if (!state.visible) {\n continue;\n }\n var renderer = state.layer.getRenderer();\n if (renderer && !renderer.ready) {\n return true;\n }\n var source = /** @type {import(\"./layer/Layer.js\").default} */ (state.layer).getSource();\n if (source && source.loading) {\n return true;\n }\n }\n return false;\n };\n /**\n * Get the pixel for a coordinate. This takes a coordinate in the user\n * projection and returns the corresponding pixel.\n * @param {import(\"./coordinate.js\").Coordinate} coordinate A map coordinate.\n * @return {import(\"./pixel.js\").Pixel} A pixel position in the map viewport.\n * @api\n */\n PluggableMap.prototype.getPixelFromCoordinate = function (coordinate) {\n var viewCoordinate = fromUserCoordinate(coordinate, this.getView().getProjection());\n return this.getPixelFromCoordinateInternal(viewCoordinate);\n };\n /**\n * Get the pixel for a coordinate. This takes a coordinate in the map view\n * projection and returns the corresponding pixel.\n * @param {import(\"./coordinate.js\").Coordinate} coordinate A map coordinate.\n * @return {import(\"./pixel.js\").Pixel} A pixel position in the map viewport.\n */\n PluggableMap.prototype.getPixelFromCoordinateInternal = function (coordinate) {\n var frameState = this.frameState_;\n if (!frameState) {\n return null;\n }\n else {\n return applyTransform(frameState.coordinateToPixelTransform, coordinate.slice(0, 2));\n }\n };\n /**\n * Get the map renderer.\n * @return {import(\"./renderer/Map.js\").default|null} Renderer\n */\n PluggableMap.prototype.getRenderer = function () {\n return this.renderer_;\n };\n /**\n * Get the size of this map.\n * @return {import(\"./size.js\").Size|undefined} The size in pixels of the map in the DOM.\n * @observable\n * @api\n */\n PluggableMap.prototype.getSize = function () {\n return /** @type {import(\"./size.js\").Size|undefined} */ (this.get(MapProperty.SIZE));\n };\n /**\n * Get the view associated with this map. A view manages properties such as\n * center and resolution.\n * @return {View} The view that controls this map.\n * @observable\n * @api\n */\n PluggableMap.prototype.getView = function () {\n return /** @type {View} */ (this.get(MapProperty.VIEW));\n };\n /**\n * Get the element that serves as the map viewport.\n * @return {HTMLElement} Viewport.\n * @api\n */\n PluggableMap.prototype.getViewport = function () {\n return this.viewport_;\n };\n /**\n * Get the element that serves as the container for overlays. Elements added to\n * this container will let mousedown and touchstart events through to the map,\n * so clicks and gestures on an overlay will trigger {@link module:ol/MapBrowserEvent~MapBrowserEvent}\n * events.\n * @return {!HTMLElement} The map's overlay container.\n */\n PluggableMap.prototype.getOverlayContainer = function () {\n return this.overlayContainer_;\n };\n /**\n * Get the element that serves as a container for overlays that don't allow\n * event propagation. Elements added to this container won't let mousedown and\n * touchstart events through to the map, so clicks and gestures on an overlay\n * don't trigger any {@link module:ol/MapBrowserEvent~MapBrowserEvent}.\n * @return {!HTMLElement} The map's overlay container that stops events.\n */\n PluggableMap.prototype.getOverlayContainerStopEvent = function () {\n return this.overlayContainerStopEvent_;\n };\n /**\n * @return {!Document} The document where the map is displayed.\n */\n PluggableMap.prototype.getOwnerDocument = function () {\n var targetElement = this.getTargetElement();\n return targetElement ? targetElement.ownerDocument : document;\n };\n /**\n * @param {import(\"./Tile.js\").default} tile Tile.\n * @param {string} tileSourceKey Tile source key.\n * @param {import(\"./coordinate.js\").Coordinate} tileCenter Tile center.\n * @param {number} tileResolution Tile resolution.\n * @return {number} Tile priority.\n */\n PluggableMap.prototype.getTilePriority = function (tile, tileSourceKey, tileCenter, tileResolution) {\n return getTilePriority(this.frameState_, tile, tileSourceKey, tileCenter, tileResolution);\n };\n /**\n * @param {UIEvent} browserEvent Browser event.\n * @param {string} [opt_type] Type.\n */\n PluggableMap.prototype.handleBrowserEvent = function (browserEvent, opt_type) {\n var type = opt_type || browserEvent.type;\n var mapBrowserEvent = new MapBrowserEvent(type, this, browserEvent);\n this.handleMapBrowserEvent(mapBrowserEvent);\n };\n /**\n * @param {MapBrowserEvent} mapBrowserEvent The event to handle.\n */\n PluggableMap.prototype.handleMapBrowserEvent = function (mapBrowserEvent) {\n if (!this.frameState_) {\n // With no view defined, we cannot translate pixels into geographical\n // coordinates so interactions cannot be used.\n return;\n }\n var originalEvent = /** @type {PointerEvent} */ (mapBrowserEvent.originalEvent);\n var eventType = originalEvent.type;\n if (eventType === PointerEventType.POINTERDOWN ||\n eventType === EventType.WHEEL ||\n eventType === EventType.KEYDOWN) {\n var doc = this.getOwnerDocument();\n var rootNode = this.viewport_.getRootNode\n ? this.viewport_.getRootNode()\n : doc;\n var target = /** @type {Node} */ (originalEvent.target);\n if (\n // Abort if the target is a child of the container for elements whose events are not meant\n // to be handled by map interactions.\n this.overlayContainerStopEvent_.contains(target) ||\n // Abort if the event target is a child of the container that is no longer in the page.\n // It's possible for the target to no longer be in the page if it has been removed in an\n // event listener, this might happen in a Control that recreates it's content based on\n // user interaction either manually or via a render in something like https://reactjs.org/\n !(rootNode === doc ? doc.documentElement : rootNode).contains(target)) {\n return;\n }\n }\n mapBrowserEvent.frameState = this.frameState_;\n if (this.dispatchEvent(mapBrowserEvent) !== false) {\n var interactionsArray = this.getInteractions().getArray().slice();\n for (var i = interactionsArray.length - 1; i >= 0; i--) {\n var interaction = interactionsArray[i];\n if (interaction.getMap() !== this ||\n !interaction.getActive() ||\n !this.getTargetElement()) {\n continue;\n }\n var cont = interaction.handleEvent(mapBrowserEvent);\n if (!cont || mapBrowserEvent.propagationStopped) {\n break;\n }\n }\n }\n };\n /**\n * @protected\n */\n PluggableMap.prototype.handlePostRender = function () {\n var frameState = this.frameState_;\n // Manage the tile queue\n // Image loads are expensive and a limited resource, so try to use them\n // efficiently:\n // * When the view is static we allow a large number of parallel tile loads\n // to complete the frame as quickly as possible.\n // * When animating or interacting, image loads can cause janks, so we reduce\n // the maximum number of loads per frame and limit the number of parallel\n // tile loads to remain reactive to view changes and to reduce the chance of\n // loading tiles that will quickly disappear from view.\n var tileQueue = this.tileQueue_;\n if (!tileQueue.isEmpty()) {\n var maxTotalLoading = this.maxTilesLoading_;\n var maxNewLoads = maxTotalLoading;\n if (frameState) {\n var hints = frameState.viewHints;\n if (hints[ViewHint.ANIMATING] || hints[ViewHint.INTERACTING]) {\n var lowOnFrameBudget = Date.now() - frameState.time > 8;\n maxTotalLoading = lowOnFrameBudget ? 0 : 8;\n maxNewLoads = lowOnFrameBudget ? 0 : 2;\n }\n }\n if (tileQueue.getTilesLoading() < maxTotalLoading) {\n tileQueue.reprioritize(); // FIXME only call if view has changed\n tileQueue.loadMoreTiles(maxTotalLoading, maxNewLoads);\n }\n }\n if (frameState && this.renderer_ && !frameState.animate) {\n if (this.renderComplete_ === true) {\n if (this.hasListener(RenderEventType.RENDERCOMPLETE)) {\n this.renderer_.dispatchRenderEvent(RenderEventType.RENDERCOMPLETE, frameState);\n }\n if (this.loaded_ === false) {\n this.loaded_ = true;\n this.dispatchEvent(new MapEvent(MapEventType.LOADEND, this, frameState));\n }\n }\n else if (this.loaded_ === true) {\n this.loaded_ = false;\n this.dispatchEvent(new MapEvent(MapEventType.LOADSTART, this, frameState));\n }\n }\n var postRenderFunctions = this.postRenderFunctions_;\n for (var i = 0, ii = postRenderFunctions.length; i < ii; ++i) {\n postRenderFunctions[i](this, frameState);\n }\n postRenderFunctions.length = 0;\n };\n /**\n * @private\n */\n PluggableMap.prototype.handleSizeChanged_ = function () {\n if (this.getView() && !this.getView().getAnimating()) {\n this.getView().resolveConstraints(0);\n }\n this.render();\n };\n /**\n * @private\n */\n PluggableMap.prototype.handleTargetChanged_ = function () {\n if (this.mapBrowserEventHandler_) {\n for (var i = 0, ii = this.targetChangeHandlerKeys_.length; i < ii; ++i) {\n unlistenByKey(this.targetChangeHandlerKeys_[i]);\n }\n this.targetChangeHandlerKeys_ = null;\n this.viewport_.removeEventListener(EventType.CONTEXTMENU, this.boundHandleBrowserEvent_);\n this.viewport_.removeEventListener(EventType.WHEEL, this.boundHandleBrowserEvent_);\n this.mapBrowserEventHandler_.dispose();\n this.mapBrowserEventHandler_ = null;\n removeNode(this.viewport_);\n }\n // target may be undefined, null, a string or an Element.\n // If it's a string we convert it to an Element before proceeding.\n // If it's not now an Element we remove the viewport from the DOM.\n // If it's an Element we append the viewport element to it.\n var targetElement = this.getTargetElement();\n if (!targetElement) {\n if (this.renderer_) {\n clearTimeout(this.postRenderTimeoutHandle_);\n this.postRenderTimeoutHandle_ = undefined;\n this.postRenderFunctions_.length = 0;\n this.renderer_.dispose();\n this.renderer_ = null;\n }\n if (this.animationDelayKey_) {\n cancelAnimationFrame(this.animationDelayKey_);\n this.animationDelayKey_ = undefined;\n }\n }\n else {\n targetElement.appendChild(this.viewport_);\n if (!this.renderer_) {\n this.renderer_ = this.createRenderer();\n }\n this.mapBrowserEventHandler_ = new MapBrowserEventHandler(this, this.moveTolerance_);\n for (var key in MapBrowserEventType) {\n this.mapBrowserEventHandler_.addEventListener(MapBrowserEventType[key], this.handleMapBrowserEvent.bind(this));\n }\n this.viewport_.addEventListener(EventType.CONTEXTMENU, this.boundHandleBrowserEvent_, false);\n this.viewport_.addEventListener(EventType.WHEEL, this.boundHandleBrowserEvent_, PASSIVE_EVENT_LISTENERS ? { passive: false } : false);\n var defaultView = this.getOwnerDocument().defaultView;\n var keyboardEventTarget = !this.keyboardEventTarget_\n ? targetElement\n : this.keyboardEventTarget_;\n this.targetChangeHandlerKeys_ = [\n listen(keyboardEventTarget, EventType.KEYDOWN, this.handleBrowserEvent, this),\n listen(keyboardEventTarget, EventType.KEYPRESS, this.handleBrowserEvent, this),\n listen(defaultView, EventType.RESIZE, this.updateSize, this),\n ];\n }\n this.updateSize();\n // updateSize calls setSize, so no need to call this.render\n // ourselves here.\n };\n /**\n * @private\n */\n PluggableMap.prototype.handleTileChange_ = function () {\n this.render();\n };\n /**\n * @private\n */\n PluggableMap.prototype.handleViewPropertyChanged_ = function () {\n this.render();\n };\n /**\n * @private\n */\n PluggableMap.prototype.handleViewChanged_ = function () {\n if (this.viewPropertyListenerKey_) {\n unlistenByKey(this.viewPropertyListenerKey_);\n this.viewPropertyListenerKey_ = null;\n }\n if (this.viewChangeListenerKey_) {\n unlistenByKey(this.viewChangeListenerKey_);\n this.viewChangeListenerKey_ = null;\n }\n var view = this.getView();\n if (view) {\n this.updateViewportSize_();\n this.viewPropertyListenerKey_ = listen(view, ObjectEventType.PROPERTYCHANGE, this.handleViewPropertyChanged_, this);\n this.viewChangeListenerKey_ = listen(view, EventType.CHANGE, this.handleViewPropertyChanged_, this);\n view.resolveConstraints(0);\n }\n this.render();\n };\n /**\n * @private\n */\n PluggableMap.prototype.handleLayerGroupChanged_ = function () {\n if (this.layerGroupPropertyListenerKeys_) {\n this.layerGroupPropertyListenerKeys_.forEach(unlistenByKey);\n this.layerGroupPropertyListenerKeys_ = null;\n }\n var layerGroup = this.getLayerGroup();\n if (layerGroup) {\n this.handleLayerAdd_(new GroupEvent('addlayer', layerGroup));\n this.layerGroupPropertyListenerKeys_ = [\n listen(layerGroup, ObjectEventType.PROPERTYCHANGE, this.render, this),\n listen(layerGroup, EventType.CHANGE, this.render, this),\n listen(layerGroup, 'addlayer', this.handleLayerAdd_, this),\n listen(layerGroup, 'removelayer', this.handleLayerRemove_, this),\n ];\n }\n this.render();\n };\n /**\n * @return {boolean} Is rendered.\n */\n PluggableMap.prototype.isRendered = function () {\n return !!this.frameState_;\n };\n /**\n * Requests an immediate render in a synchronous manner.\n * @api\n */\n PluggableMap.prototype.renderSync = function () {\n if (this.animationDelayKey_) {\n cancelAnimationFrame(this.animationDelayKey_);\n }\n this.animationDelay_();\n };\n /**\n * Redraws all text after new fonts have loaded\n */\n PluggableMap.prototype.redrawText = function () {\n var layerStates = this.getLayerGroup().getLayerStatesArray();\n for (var i = 0, ii = layerStates.length; i < ii; ++i) {\n var layer = layerStates[i].layer;\n if (layer.hasRenderer()) {\n layer.getRenderer().handleFontsChanged();\n }\n }\n };\n /**\n * Request a map rendering (at the next animation frame).\n * @api\n */\n PluggableMap.prototype.render = function () {\n if (this.renderer_ && this.animationDelayKey_ === undefined) {\n this.animationDelayKey_ = requestAnimationFrame(this.animationDelay_);\n }\n };\n /**\n * Remove the given control from the map.\n * @param {import(\"./control/Control.js\").default} control Control.\n * @return {import(\"./control/Control.js\").default|undefined} The removed control (or undefined\n * if the control was not found).\n * @api\n */\n PluggableMap.prototype.removeControl = function (control) {\n return this.getControls().remove(control);\n };\n /**\n * Remove the given interaction from the map.\n * @param {import(\"./interaction/Interaction.js\").default} interaction Interaction to remove.\n * @return {import(\"./interaction/Interaction.js\").default|undefined} The removed interaction (or\n * undefined if the interaction was not found).\n * @api\n */\n PluggableMap.prototype.removeInteraction = function (interaction) {\n return this.getInteractions().remove(interaction);\n };\n /**\n * Removes the given layer from the map.\n * @param {import(\"./layer/Base.js\").default} layer Layer.\n * @return {import(\"./layer/Base.js\").default|undefined} The removed layer (or undefined if the\n * layer was not found).\n * @api\n */\n PluggableMap.prototype.removeLayer = function (layer) {\n var layers = this.getLayerGroup().getLayers();\n return layers.remove(layer);\n };\n /**\n * @param {import(\"./layer/Group.js\").GroupEvent} event The layer remove event.\n * @private\n */\n PluggableMap.prototype.handleLayerRemove_ = function (event) {\n removeLayerMapProperty(event.layer);\n };\n /**\n * Remove the given overlay from the map.\n * @param {import(\"./Overlay.js\").default} overlay Overlay.\n * @return {import(\"./Overlay.js\").default|undefined} The removed overlay (or undefined\n * if the overlay was not found).\n * @api\n */\n PluggableMap.prototype.removeOverlay = function (overlay) {\n return this.getOverlays().remove(overlay);\n };\n /**\n * @param {number} time Time.\n * @private\n */\n PluggableMap.prototype.renderFrame_ = function (time) {\n var _this = this;\n var size = this.getSize();\n var view = this.getView();\n var previousFrameState = this.frameState_;\n /** @type {?FrameState} */\n var frameState = null;\n if (size !== undefined && hasArea(size) && view && view.isDef()) {\n var viewHints = view.getHints(this.frameState_ ? this.frameState_.viewHints : undefined);\n var viewState = view.getState();\n frameState = {\n animate: false,\n coordinateToPixelTransform: this.coordinateToPixelTransform_,\n declutterTree: null,\n extent: getForViewAndSize(viewState.center, viewState.resolution, viewState.rotation, size),\n index: this.frameIndex_++,\n layerIndex: 0,\n layerStatesArray: this.getLayerGroup().getLayerStatesArray(),\n pixelRatio: this.pixelRatio_,\n pixelToCoordinateTransform: this.pixelToCoordinateTransform_,\n postRenderFunctions: [],\n size: size,\n tileQueue: this.tileQueue_,\n time: time,\n usedTiles: {},\n viewState: viewState,\n viewHints: viewHints,\n wantedTiles: {},\n mapId: getUid(this),\n renderTargets: {},\n };\n if (viewState.nextCenter && viewState.nextResolution) {\n var rotation = isNaN(viewState.nextRotation)\n ? viewState.rotation\n : viewState.nextRotation;\n frameState.nextExtent = getForViewAndSize(viewState.nextCenter, viewState.nextResolution, rotation, size);\n }\n }\n this.frameState_ = frameState;\n /** @type {import(\"./renderer/Map.js\").default} */ (this.renderer_).renderFrame(frameState);\n if (frameState) {\n if (frameState.animate) {\n this.render();\n }\n Array.prototype.push.apply(this.postRenderFunctions_, frameState.postRenderFunctions);\n if (previousFrameState) {\n var moveStart = !this.previousExtent_ ||\n (!isEmpty(this.previousExtent_) &&\n !equals(frameState.extent, this.previousExtent_));\n if (moveStart) {\n this.dispatchEvent(new MapEvent(MapEventType.MOVESTART, this, previousFrameState));\n this.previousExtent_ = createOrUpdateEmpty(this.previousExtent_);\n }\n }\n var idle = this.previousExtent_ &&\n !frameState.viewHints[ViewHint.ANIMATING] &&\n !frameState.viewHints[ViewHint.INTERACTING] &&\n !equals(frameState.extent, this.previousExtent_);\n if (idle) {\n this.dispatchEvent(new MapEvent(MapEventType.MOVEEND, this, frameState));\n clone(frameState.extent, this.previousExtent_);\n }\n }\n this.dispatchEvent(new MapEvent(MapEventType.POSTRENDER, this, frameState));\n this.renderComplete_ =\n this.hasListener(MapEventType.LOADSTART) ||\n this.hasListener(MapEventType.LOADEND) ||\n this.hasListener(RenderEventType.RENDERCOMPLETE)\n ? !this.tileQueue_.getTilesLoading() &&\n !this.tileQueue_.getCount() &&\n !this.getLoadingOrNotReady()\n : undefined;\n if (!this.postRenderTimeoutHandle_) {\n this.postRenderTimeoutHandle_ = setTimeout(function () {\n _this.postRenderTimeoutHandle_ = undefined;\n _this.handlePostRender();\n }, 0);\n }\n };\n /**\n * Sets the layergroup of this map.\n * @param {LayerGroup} layerGroup A layer group containing the layers in this map.\n * @observable\n * @api\n */\n PluggableMap.prototype.setLayerGroup = function (layerGroup) {\n var oldLayerGroup = this.getLayerGroup();\n if (oldLayerGroup) {\n this.handleLayerRemove_(new GroupEvent('removelayer', oldLayerGroup));\n }\n this.set(MapProperty.LAYERGROUP, layerGroup);\n };\n /**\n * Set the size of this map.\n * @param {import(\"./size.js\").Size|undefined} size The size in pixels of the map in the DOM.\n * @observable\n * @api\n */\n PluggableMap.prototype.setSize = function (size) {\n this.set(MapProperty.SIZE, size);\n };\n /**\n * Set the target element to render this map into.\n * @param {HTMLElement|string} [target] The Element or id of the Element\n * that the map is rendered in.\n * @observable\n * @api\n */\n PluggableMap.prototype.setTarget = function (target) {\n this.set(MapProperty.TARGET, target);\n };\n /**\n * Set the view for this map.\n * @param {View|Promise} view The view that controls this map.\n * It is also possible to pass a promise that resolves to options for constructing a view. This\n * alternative allows view properties to be resolved by sources or other components that load\n * view-related metadata.\n * @observable\n * @api\n */\n PluggableMap.prototype.setView = function (view) {\n if (!view || view instanceof View) {\n this.set(MapProperty.VIEW, view);\n return;\n }\n this.set(MapProperty.VIEW, new View());\n var map = this;\n view.then(function (viewOptions) {\n map.setView(new View(viewOptions));\n });\n };\n /**\n * Force a recalculation of the map viewport size. This should be called when\n * third-party code changes the size of the map viewport.\n * @api\n */\n PluggableMap.prototype.updateSize = function () {\n var targetElement = this.getTargetElement();\n var size = undefined;\n if (targetElement) {\n var computedStyle = getComputedStyle(targetElement);\n var width = targetElement.offsetWidth -\n parseFloat(computedStyle['borderLeftWidth']) -\n parseFloat(computedStyle['paddingLeft']) -\n parseFloat(computedStyle['paddingRight']) -\n parseFloat(computedStyle['borderRightWidth']);\n var height = targetElement.offsetHeight -\n parseFloat(computedStyle['borderTopWidth']) -\n parseFloat(computedStyle['paddingTop']) -\n parseFloat(computedStyle['paddingBottom']) -\n parseFloat(computedStyle['borderBottomWidth']);\n if (!isNaN(width) && !isNaN(height)) {\n size = [width, height];\n if (!hasArea(size) &&\n !!(targetElement.offsetWidth ||\n targetElement.offsetHeight ||\n targetElement.getClientRects().length)) {\n // eslint-disable-next-line\n console.warn(\"No map visible because the map container's width or height are 0.\");\n }\n }\n }\n this.setSize(size);\n this.updateViewportSize_();\n };\n /**\n * Recomputes the viewport size and save it on the view object (if any)\n * @private\n */\n PluggableMap.prototype.updateViewportSize_ = function () {\n var view = this.getView();\n if (view) {\n var size = undefined;\n var computedStyle = getComputedStyle(this.viewport_);\n if (computedStyle.width && computedStyle.height) {\n size = [\n parseInt(computedStyle.width, 10),\n parseInt(computedStyle.height, 10),\n ];\n }\n view.setViewportSize(size);\n }\n };\n return PluggableMap;\n}(BaseObject));\n/**\n * @param {MapOptions} options Map options.\n * @return {MapOptionsInternal} Internal map options.\n */\nfunction createOptionsInternal(options) {\n /**\n * @type {HTMLElement|Document}\n */\n var keyboardEventTarget = null;\n if (options.keyboardEventTarget !== undefined) {\n keyboardEventTarget =\n typeof options.keyboardEventTarget === 'string'\n ? document.getElementById(options.keyboardEventTarget)\n : options.keyboardEventTarget;\n }\n /**\n * @type {Object}\n */\n var values = {};\n var layerGroup = options.layers &&\n typeof ( /** @type {?} */(options.layers).getLayers) === 'function'\n ? /** @type {LayerGroup} */ (options.layers)\n : new LayerGroup({ layers: /** @type {Collection} */ (options.layers) });\n values[MapProperty.LAYERGROUP] = layerGroup;\n values[MapProperty.TARGET] = options.target;\n values[MapProperty.VIEW] =\n options.view instanceof View ? options.view : new View();\n var controls;\n if (options.controls !== undefined) {\n if (Array.isArray(options.controls)) {\n controls = new Collection(options.controls.slice());\n }\n else {\n assert(typeof ( /** @type {?} */(options.controls).getArray) === 'function', 47); // Expected `controls` to be an array or an `import(\"./Collection.js\").Collection`\n controls = /** @type {Collection} */ (options.controls);\n }\n }\n var interactions;\n if (options.interactions !== undefined) {\n if (Array.isArray(options.interactions)) {\n interactions = new Collection(options.interactions.slice());\n }\n else {\n assert(typeof ( /** @type {?} */(options.interactions).getArray) ===\n 'function', 48); // Expected `interactions` to be an array or an `import(\"./Collection.js\").Collection`\n interactions = /** @type {Collection} */ (options.interactions);\n }\n }\n var overlays;\n if (options.overlays !== undefined) {\n if (Array.isArray(options.overlays)) {\n overlays = new Collection(options.overlays.slice());\n }\n else {\n assert(typeof ( /** @type {?} */(options.overlays).getArray) === 'function', 49); // Expected `overlays` to be an array or an `import(\"./Collection.js\").Collection`\n overlays = options.overlays;\n }\n }\n else {\n overlays = new Collection();\n }\n return {\n controls: controls,\n interactions: interactions,\n keyboardEventTarget: keyboardEventTarget,\n overlays: overlays,\n values: values,\n };\n}\nexport default PluggableMap;\n//# sourceMappingURL=PluggableMap.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/Map\n */\nimport CompositeMapRenderer from './renderer/Composite.js';\nimport PluggableMap from './PluggableMap.js';\nimport { assign } from './obj.js';\nimport { defaults as defaultControls } from './control.js';\nimport { defaults as defaultInteractions } from './interaction.js';\n/**\n * @classdesc\n * The map is the core component of OpenLayers. For a map to render, a view,\n * one or more layers, and a target container are needed:\n *\n * import Map from 'ol/Map';\n * import View from 'ol/View';\n * import TileLayer from 'ol/layer/Tile';\n * import OSM from 'ol/source/OSM';\n *\n * var map = new Map({\n * view: new View({\n * center: [0, 0],\n * zoom: 1\n * }),\n * layers: [\n * new TileLayer({\n * source: new OSM()\n * })\n * ],\n * target: 'map'\n * });\n *\n * The above snippet creates a map using a {@link module:ol/layer/Tile~TileLayer} to\n * display {@link module:ol/source/OSM~OSM} OSM data and render it to a DOM\n * element with the id `map`.\n *\n * The constructor places a viewport container (with CSS class name\n * `ol-viewport`) in the target element (see `getViewport()`), and then two\n * further elements within the viewport: one with CSS class name\n * `ol-overlaycontainer-stopevent` for controls and some overlays, and one with\n * CSS class name `ol-overlaycontainer` for other overlays (see the `stopEvent`\n * option of {@link module:ol/Overlay~Overlay} for the difference). The map\n * itself is placed in a further element within the viewport.\n *\n * Layers are stored as a {@link module:ol/Collection~Collection} in\n * layerGroups. A top-level group is provided by the library. This is what is\n * accessed by `getLayerGroup` and `setLayerGroup`. Layers entered in the\n * options are added to this group, and `addLayer` and `removeLayer` change the\n * layer collection in the group. `getLayers` is a convenience function for\n * `getLayerGroup().getLayers()`. Note that {@link module:ol/layer/Group~LayerGroup}\n * is a subclass of {@link module:ol/layer/Base~BaseLayer}, so layers entered in the\n * options or added with `addLayer` can be groups, which can contain further\n * groups, and so on.\n *\n * @api\n */\nvar Map = /** @class */ (function (_super) {\n __extends(Map, _super);\n /**\n * @param {import(\"./PluggableMap.js\").MapOptions} options Map options.\n */\n function Map(options) {\n options = assign({}, options);\n if (!options.controls) {\n options.controls = defaultControls();\n }\n if (!options.interactions) {\n options.interactions = defaultInteractions({\n onFocusOnly: true,\n });\n }\n return _super.call(this, options) || this;\n }\n Map.prototype.createRenderer = function () {\n return new CompositeMapRenderer(this);\n };\n return Map;\n}(PluggableMap));\nexport default Map;\n//# sourceMappingURL=Map.js.map","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./deleteDashboard.vue?vue&type=style&index=0&id=0cbae4e7&prod&lang=less&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./surfaceSamplesTableOverview.vue?vue&type=style&index=0&id=c07593ac&prod&lang=css\"","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/ImageBase\n */\nimport EventTarget from './events/Target.js';\nimport EventType from './events/EventType.js';\nimport { abstract } from './util.js';\n/**\n * @abstract\n */\nvar ImageBase = /** @class */ (function (_super) {\n __extends(ImageBase, _super);\n /**\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {number|undefined} resolution Resolution.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"./ImageState.js\").default} state State.\n */\n function ImageBase(extent, resolution, pixelRatio, state) {\n var _this = _super.call(this) || this;\n /**\n * @protected\n * @type {import(\"./extent.js\").Extent}\n */\n _this.extent = extent;\n /**\n * @private\n * @type {number}\n */\n _this.pixelRatio_ = pixelRatio;\n /**\n * @protected\n * @type {number|undefined}\n */\n _this.resolution = resolution;\n /**\n * @protected\n * @type {import(\"./ImageState.js\").default}\n */\n _this.state = state;\n return _this;\n }\n /**\n * @protected\n */\n ImageBase.prototype.changed = function () {\n this.dispatchEvent(EventType.CHANGE);\n };\n /**\n * @return {import(\"./extent.js\").Extent} Extent.\n */\n ImageBase.prototype.getExtent = function () {\n return this.extent;\n };\n /**\n * @abstract\n * @return {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} Image.\n */\n ImageBase.prototype.getImage = function () {\n return abstract();\n };\n /**\n * @return {number} PixelRatio.\n */\n ImageBase.prototype.getPixelRatio = function () {\n return this.pixelRatio_;\n };\n /**\n * @return {number} Resolution.\n */\n ImageBase.prototype.getResolution = function () {\n return /** @type {number} */ (this.resolution);\n };\n /**\n * @return {import(\"./ImageState.js\").default} State.\n */\n ImageBase.prototype.getState = function () {\n return this.state;\n };\n /**\n * Load not yet loaded URI.\n * @abstract\n */\n ImageBase.prototype.load = function () {\n abstract();\n };\n return ImageBase;\n}(EventTarget));\nexport default ImageBase;\n//# sourceMappingURL=ImageBase.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/Image\n */\nimport EventType from './events/EventType.js';\nimport ImageBase from './ImageBase.js';\nimport ImageState from './ImageState.js';\nimport { IMAGE_DECODE } from './has.js';\nimport { getHeight } from './extent.js';\nimport { listenOnce, unlistenByKey } from './events.js';\n/**\n * A function that takes an {@link module:ol/Image~ImageWrapper} for the image and a\n * `{string}` for the src as arguments. It is supposed to make it so the\n * underlying image {@link module:ol/Image~ImageWrapper#getImage} is assigned the\n * content specified by the src. If not specified, the default is\n *\n * function(image, src) {\n * image.getImage().src = src;\n * }\n *\n * Providing a custom `imageLoadFunction` can be useful to load images with\n * post requests or - in general - through XHR requests, where the src of the\n * image element would be set to a data URI when the content is loaded.\n *\n * @typedef {function(ImageWrapper, string): void} LoadFunction\n * @api\n */\nvar ImageWrapper = /** @class */ (function (_super) {\n __extends(ImageWrapper, _super);\n /**\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {number|undefined} resolution Resolution.\n * @param {number} pixelRatio Pixel ratio.\n * @param {string} src Image source URI.\n * @param {?string} crossOrigin Cross origin.\n * @param {LoadFunction} imageLoadFunction Image load function.\n */\n function ImageWrapper(extent, resolution, pixelRatio, src, crossOrigin, imageLoadFunction) {\n var _this = _super.call(this, extent, resolution, pixelRatio, ImageState.IDLE) || this;\n /**\n * @private\n * @type {string}\n */\n _this.src_ = src;\n /**\n * @private\n * @type {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement}\n */\n _this.image_ = new Image();\n if (crossOrigin !== null) {\n _this.image_.crossOrigin = crossOrigin;\n }\n /**\n * @private\n * @type {?function():void}\n */\n _this.unlisten_ = null;\n /**\n * @protected\n * @type {import(\"./ImageState.js\").default}\n */\n _this.state = ImageState.IDLE;\n /**\n * @private\n * @type {LoadFunction}\n */\n _this.imageLoadFunction_ = imageLoadFunction;\n return _this;\n }\n /**\n * @return {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} Image.\n * @api\n */\n ImageWrapper.prototype.getImage = function () {\n return this.image_;\n };\n /**\n * Tracks loading or read errors.\n *\n * @private\n */\n ImageWrapper.prototype.handleImageError_ = function () {\n this.state = ImageState.ERROR;\n this.unlistenImage_();\n this.changed();\n };\n /**\n * Tracks successful image load.\n *\n * @private\n */\n ImageWrapper.prototype.handleImageLoad_ = function () {\n if (this.resolution === undefined) {\n this.resolution = getHeight(this.extent) / this.image_.height;\n }\n this.state = ImageState.LOADED;\n this.unlistenImage_();\n this.changed();\n };\n /**\n * Load the image or retry if loading previously failed.\n * Loading is taken care of by the tile queue, and calling this method is\n * only needed for preloading or for reloading in case of an error.\n * @api\n */\n ImageWrapper.prototype.load = function () {\n if (this.state == ImageState.IDLE || this.state == ImageState.ERROR) {\n this.state = ImageState.LOADING;\n this.changed();\n this.imageLoadFunction_(this, this.src_);\n this.unlisten_ = listenImage(this.image_, this.handleImageLoad_.bind(this), this.handleImageError_.bind(this));\n }\n };\n /**\n * @param {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} image Image.\n */\n ImageWrapper.prototype.setImage = function (image) {\n this.image_ = image;\n this.resolution = getHeight(this.extent) / this.image_.height;\n };\n /**\n * Discards event handlers which listen for load completion or errors.\n *\n * @private\n */\n ImageWrapper.prototype.unlistenImage_ = function () {\n if (this.unlisten_) {\n this.unlisten_();\n this.unlisten_ = null;\n }\n };\n return ImageWrapper;\n}(ImageBase));\n/**\n * @param {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} image Image element.\n * @param {function():any} loadHandler Load callback function.\n * @param {function():any} errorHandler Error callback function.\n * @return {function():void} Callback to stop listening.\n */\nexport function listenImage(image, loadHandler, errorHandler) {\n var img = /** @type {HTMLImageElement} */ (image);\n var listening = true;\n var decoding = false;\n var loaded = false;\n var listenerKeys = [\n listenOnce(img, EventType.LOAD, function () {\n loaded = true;\n if (!decoding) {\n loadHandler();\n }\n }),\n ];\n if (img.src && IMAGE_DECODE) {\n decoding = true;\n img\n .decode()\n .then(function () {\n if (listening) {\n loadHandler();\n }\n })\n .catch(function (error) {\n if (listening) {\n if (loaded) {\n loadHandler();\n }\n else {\n errorHandler();\n }\n }\n });\n }\n else {\n listenerKeys.push(listenOnce(img, EventType.ERROR, errorHandler));\n }\n return function unlisten() {\n listening = false;\n listenerKeys.forEach(unlistenByKey);\n };\n}\nexport default ImageWrapper;\n//# sourceMappingURL=Image.js.map","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"openLayersContainer\",class:{ whileDrawing: _vm.clickToDrawContour }},[(!!_vm.map && _vm.showActionButtons)?_c('action-buttons',{attrs:{\"map\":_vm.map,\"isScreenshotActive\":_vm.clickToPlaceMarker,\"isMoveActive\":!!_vm.translateInteraction,\"isPencilActive\":_vm.clickToDrawContour},on:{\"clickScreenshotBtn\":_vm.enableClickToPlaceMarker,\"clickMoveBtn\":_vm.toggleFeatureTranslateInteraction,\"clickFloppyBtn\":_vm.saveMapImage,\"clickSaveBtn\":_vm.openPrintToScaleModal,\"clickPencilBtn\":_vm.toggleDrawMode}}):_vm._e(),(!!_vm.map)?_c('layer-handler',{attrs:{\"map\":_vm.map,\"editableMapLayers\":!!_vm.editableMapLayers,\"isHidden\":_vm.isLayerHandlerHidden,\"groupedEditableMapLayers\":_vm.groupedEditableMapLayers,\"expandedGroups\":_vm.expandedGroups},on:{\"clickHandler\":function($event){_vm.isLayerHandlerHidden = false},\"clickGroupArrow\":_vm.collapseGroup,\"clickLayerArrow\":_vm.collapseLayers,\"clickLayerBox\":_vm.setLayerVisible,\"scrollOpacity\":_vm.scrollOpacity,\"clickOpacity\":_vm.applyLayerConfiguration,\"clickSpinner\":_vm.changeOpacity,\"clickSubLayerBox\":_vm.setSubLayerVisible,\"clickKMLVisible\":_vm.changeVisibilityOfFeatures}}):_vm._e(),(_vm.showSearchBar)?_c('div',{staticClass:\"search-container\"},[_c('search',{ref:\"search-component\",staticStyle:{\"width\":\"250px\"},attrs:{\"immediate\":false},on:{\"search\":_vm.search}})],1):_vm._e(),_c('div',{staticClass:\"ol-map\",attrs:{\"id\":\"ol-map\"},on:{\"mousemove\":_vm.moveCursor,\"click\":function($event){_vm.isLayerHandlerHidden = true}}}),(_vm.clickToPlaceMarker)?_c('div',{staticClass:\"placeMarker\",style:({\n top: _vm.cursorYPixel - _vm.rectTop() - 18 + 'px',\n left: _vm.cursorXPixel - _vm.rectLeft() + 30 + 'px'\n })},[_c('span',{staticClass:\"glyphicons glyphicons-screenshot\"})]):_vm._e(),_c('start-draw-modal',{attrs:{\"drawSource\":_vm.drawSource},on:{\"startConfirmedDraw\":_vm.toggleClickToDrawContour}}),(!!_vm.selectedDrawFeature && _vm.showClickToContextMenu)?_c('context-menu',{attrs:{\"selectedDrawFeature\":_vm.selectedDrawFeature,\"clickToContextMenu\":_vm.clickToContextMenu,\"position\":_vm.position},on:{\"clickOutside\":function($event){_vm.clickToContextMenu = false},\"clickDelete\":_vm.deleteDrawFeature}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/geom/GeometryCollection\n */\nimport EventType from '../events/EventType.js';\nimport Geometry from './Geometry.js';\nimport { closestSquaredDistanceXY, createOrUpdateEmpty, extend, getCenter, } from '../extent.js';\nimport { listen, unlistenByKey } from '../events.js';\n/**\n * @classdesc\n * An array of {@link module:ol/geom/Geometry~Geometry} objects.\n *\n * @api\n */\nvar GeometryCollection = /** @class */ (function (_super) {\n __extends(GeometryCollection, _super);\n /**\n * @param {Array} [opt_geometries] Geometries.\n */\n function GeometryCollection(opt_geometries) {\n var _this = _super.call(this) || this;\n /**\n * @private\n * @type {Array}\n */\n _this.geometries_ = opt_geometries ? opt_geometries : null;\n /**\n * @type {Array}\n */\n _this.changeEventsKeys_ = [];\n _this.listenGeometriesChange_();\n return _this;\n }\n /**\n * @private\n */\n GeometryCollection.prototype.unlistenGeometriesChange_ = function () {\n this.changeEventsKeys_.forEach(unlistenByKey);\n this.changeEventsKeys_.length = 0;\n };\n /**\n * @private\n */\n GeometryCollection.prototype.listenGeometriesChange_ = function () {\n if (!this.geometries_) {\n return;\n }\n for (var i = 0, ii = this.geometries_.length; i < ii; ++i) {\n this.changeEventsKeys_.push(listen(this.geometries_[i], EventType.CHANGE, this.changed, this));\n }\n };\n /**\n * Make a complete copy of the geometry.\n * @return {!GeometryCollection} Clone.\n * @api\n */\n GeometryCollection.prototype.clone = function () {\n var geometryCollection = new GeometryCollection(null);\n geometryCollection.setGeometries(this.geometries_);\n geometryCollection.applyProperties(this);\n return geometryCollection;\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../coordinate.js\").Coordinate} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @return {number} Minimum squared distance.\n */\n GeometryCollection.prototype.closestPointXY = function (x, y, closestPoint, minSquaredDistance) {\n if (minSquaredDistance < closestSquaredDistanceXY(this.getExtent(), x, y)) {\n return minSquaredDistance;\n }\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n minSquaredDistance = geometries[i].closestPointXY(x, y, closestPoint, minSquaredDistance);\n }\n return minSquaredDistance;\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\n GeometryCollection.prototype.containsXY = function (x, y) {\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n if (geometries[i].containsXY(x, y)) {\n return true;\n }\n }\n return false;\n };\n /**\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @protected\n * @return {import(\"../extent.js\").Extent} extent Extent.\n */\n GeometryCollection.prototype.computeExtent = function (extent) {\n createOrUpdateEmpty(extent);\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n extend(extent, geometries[i].getExtent());\n }\n return extent;\n };\n /**\n * Return the geometries that make up this geometry collection.\n * @return {Array} Geometries.\n * @api\n */\n GeometryCollection.prototype.getGeometries = function () {\n return cloneGeometries(this.geometries_);\n };\n /**\n * @return {Array} Geometries.\n */\n GeometryCollection.prototype.getGeometriesArray = function () {\n return this.geometries_;\n };\n /**\n * @return {Array} Geometries.\n */\n GeometryCollection.prototype.getGeometriesArrayRecursive = function () {\n /** @type {Array} */\n var geometriesArray = [];\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n if (geometries[i].getType() === this.getType()) {\n geometriesArray = geometriesArray.concat(\n /** @type {GeometryCollection} */ (geometries[i]).getGeometriesArrayRecursive());\n }\n else {\n geometriesArray.push(geometries[i]);\n }\n }\n return geometriesArray;\n };\n /**\n * Create a simplified version of this geometry using the Douglas Peucker algorithm.\n * @param {number} squaredTolerance Squared tolerance.\n * @return {GeometryCollection} Simplified GeometryCollection.\n */\n GeometryCollection.prototype.getSimplifiedGeometry = function (squaredTolerance) {\n if (this.simplifiedGeometryRevision !== this.getRevision()) {\n this.simplifiedGeometryMaxMinSquaredTolerance = 0;\n this.simplifiedGeometryRevision = this.getRevision();\n }\n if (squaredTolerance < 0 ||\n (this.simplifiedGeometryMaxMinSquaredTolerance !== 0 &&\n squaredTolerance < this.simplifiedGeometryMaxMinSquaredTolerance)) {\n return this;\n }\n var simplifiedGeometries = [];\n var geometries = this.geometries_;\n var simplified = false;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n var geometry = geometries[i];\n var simplifiedGeometry = geometry.getSimplifiedGeometry(squaredTolerance);\n simplifiedGeometries.push(simplifiedGeometry);\n if (simplifiedGeometry !== geometry) {\n simplified = true;\n }\n }\n if (simplified) {\n var simplifiedGeometryCollection = new GeometryCollection(null);\n simplifiedGeometryCollection.setGeometriesArray(simplifiedGeometries);\n return simplifiedGeometryCollection;\n }\n else {\n this.simplifiedGeometryMaxMinSquaredTolerance = squaredTolerance;\n return this;\n }\n };\n /**\n * Get the type of this geometry.\n * @return {import(\"./Geometry.js\").Type} Geometry type.\n * @api\n */\n GeometryCollection.prototype.getType = function () {\n return 'GeometryCollection';\n };\n /**\n * Test if the geometry and the passed extent intersect.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {boolean} `true` if the geometry and the extent intersect.\n * @api\n */\n GeometryCollection.prototype.intersectsExtent = function (extent) {\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n if (geometries[i].intersectsExtent(extent)) {\n return true;\n }\n }\n return false;\n };\n /**\n * @return {boolean} Is empty.\n */\n GeometryCollection.prototype.isEmpty = function () {\n return this.geometries_.length === 0;\n };\n /**\n * Rotate the geometry around a given coordinate. This modifies the geometry\n * coordinates in place.\n * @param {number} angle Rotation angle in radians.\n * @param {import(\"../coordinate.js\").Coordinate} anchor The rotation center.\n * @api\n */\n GeometryCollection.prototype.rotate = function (angle, anchor) {\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n geometries[i].rotate(angle, anchor);\n }\n this.changed();\n };\n /**\n * Scale the geometry (with an optional origin). This modifies the geometry\n * coordinates in place.\n * @abstract\n * @param {number} sx The scaling factor in the x-direction.\n * @param {number} [opt_sy] The scaling factor in the y-direction (defaults to sx).\n * @param {import(\"../coordinate.js\").Coordinate} [opt_anchor] The scale origin (defaults to the center\n * of the geometry extent).\n * @api\n */\n GeometryCollection.prototype.scale = function (sx, opt_sy, opt_anchor) {\n var anchor = opt_anchor;\n if (!anchor) {\n anchor = getCenter(this.getExtent());\n }\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n geometries[i].scale(sx, opt_sy, anchor);\n }\n this.changed();\n };\n /**\n * Set the geometries that make up this geometry collection.\n * @param {Array} geometries Geometries.\n * @api\n */\n GeometryCollection.prototype.setGeometries = function (geometries) {\n this.setGeometriesArray(cloneGeometries(geometries));\n };\n /**\n * @param {Array} geometries Geometries.\n */\n GeometryCollection.prototype.setGeometriesArray = function (geometries) {\n this.unlistenGeometriesChange_();\n this.geometries_ = geometries;\n this.listenGeometriesChange_();\n this.changed();\n };\n /**\n * Apply a transform function to the coordinates of the geometry.\n * The geometry is modified in place.\n * If you do not want the geometry modified in place, first `clone()` it and\n * then use this function on the clone.\n * @param {import(\"../proj.js\").TransformFunction} transformFn Transform function.\n * Called with a flat array of geometry coordinates.\n * @api\n */\n GeometryCollection.prototype.applyTransform = function (transformFn) {\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n geometries[i].applyTransform(transformFn);\n }\n this.changed();\n };\n /**\n * Translate the geometry. This modifies the geometry coordinates in place. If\n * instead you want a new geometry, first `clone()` this geometry.\n * @param {number} deltaX Delta X.\n * @param {number} deltaY Delta Y.\n * @api\n */\n GeometryCollection.prototype.translate = function (deltaX, deltaY) {\n var geometries = this.geometries_;\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n geometries[i].translate(deltaX, deltaY);\n }\n this.changed();\n };\n /**\n * Clean up.\n */\n GeometryCollection.prototype.disposeInternal = function () {\n this.unlistenGeometriesChange_();\n _super.prototype.disposeInternal.call(this);\n };\n return GeometryCollection;\n}(Geometry));\n/**\n * @param {Array} geometries Geometries.\n * @return {Array} Cloned geometries.\n */\nfunction cloneGeometries(geometries) {\n var clonedGeometries = [];\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n clonedGeometries.push(geometries[i].clone());\n }\n return clonedGeometries;\n}\nexport default GeometryCollection;\n//# sourceMappingURL=GeometryCollection.js.map","/**\n * @module ol/format/Feature\n */\nimport Units from '../proj/Units.js';\nimport { abstract } from '../util.js';\nimport { assign } from '../obj.js';\nimport { equivalent as equivalentProjection, get as getProjection, transformExtent, } from '../proj.js';\n/**\n * @typedef {Object} ReadOptions\n * @property {import(\"../proj.js\").ProjectionLike} [dataProjection] Projection of the data we are reading.\n * If not provided, the projection will be derived from the data (where possible) or\n * the `dataProjection` of the format is assigned (where set). If the projection\n * can not be derived from the data and if no `dataProjection` is set for a format,\n * the features will not be reprojected.\n * @property {import(\"../extent.js\").Extent} [extent] Tile extent in map units of the tile being read.\n * This is only required when reading data with tile pixels as geometry units. When configured,\n * a `dataProjection` with `TILE_PIXELS` as `units` and the tile's pixel extent as `extent` needs to be\n * provided.\n * @property {import(\"../proj.js\").ProjectionLike} [featureProjection] Projection of the feature geometries\n * created by the format reader. If not provided, features will be returned in the\n * `dataProjection`.\n */\n/**\n * @typedef {Object} WriteOptions\n * @property {import(\"../proj.js\").ProjectionLike} [dataProjection] Projection of the data we are writing.\n * If not provided, the `dataProjection` of the format is assigned (where set).\n * If no `dataProjection` is set for a format, the features will be returned\n * in the `featureProjection`.\n * @property {import(\"../proj.js\").ProjectionLike} [featureProjection] Projection of the feature geometries\n * that will be serialized by the format writer. If not provided, geometries are assumed\n * to be in the `dataProjection` if that is set; in other words, they are not transformed.\n * @property {boolean} [rightHanded] When writing geometries, follow the right-hand\n * rule for linear ring orientation. This means that polygons will have counter-clockwise\n * exterior rings and clockwise interior rings. By default, coordinates are serialized\n * as they are provided at construction. If `true`, the right-hand rule will\n * be applied. If `false`, the left-hand rule will be applied (clockwise for\n * exterior and counter-clockwise for interior rings). Note that not all\n * formats support this. The GeoJSON format does use this property when writing\n * geometries.\n * @property {number} [decimals] Maximum number of decimal places for coordinates.\n * Coordinates are stored internally as floats, but floating-point arithmetic can create\n * coordinates with a large number of decimal places, not generally wanted on output.\n * Set a number here to round coordinates. Can also be used to ensure that\n * coordinates read in can be written back out with the same number of decimals.\n * Default is no rounding.\n */\n/**\n * @typedef {'arraybuffer' | 'json' | 'text' | 'xml'} Type\n */\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * Base class for feature formats.\n * {@link module:ol/format/Feature~FeatureFormat} subclasses provide the ability to decode and encode\n * {@link module:ol/Feature~Feature} objects from a variety of commonly used geospatial\n * file formats. See the documentation for each format for more details.\n *\n * @abstract\n * @api\n */\nvar FeatureFormat = /** @class */ (function () {\n function FeatureFormat() {\n /**\n * @protected\n * @type {import(\"../proj/Projection.js\").default|undefined}\n */\n this.dataProjection = undefined;\n /**\n * @protected\n * @type {import(\"../proj/Projection.js\").default|undefined}\n */\n this.defaultFeatureProjection = undefined;\n /**\n * A list media types supported by the format in descending order of preference.\n * @type {Array}\n */\n this.supportedMediaTypes = null;\n }\n /**\n * Adds the data projection to the read options.\n * @param {Document|Element|Object|string} source Source.\n * @param {ReadOptions} [opt_options] Options.\n * @return {ReadOptions|undefined} Options.\n * @protected\n */\n FeatureFormat.prototype.getReadOptions = function (source, opt_options) {\n var options;\n if (opt_options) {\n var dataProjection = opt_options.dataProjection\n ? getProjection(opt_options.dataProjection)\n : this.readProjection(source);\n if (opt_options.extent &&\n dataProjection &&\n dataProjection.getUnits() === Units.TILE_PIXELS) {\n dataProjection = getProjection(dataProjection);\n dataProjection.setWorldExtent(opt_options.extent);\n }\n options = {\n dataProjection: dataProjection,\n featureProjection: opt_options.featureProjection,\n };\n }\n return this.adaptOptions(options);\n };\n /**\n * Sets the `dataProjection` on the options, if no `dataProjection`\n * is set.\n * @param {WriteOptions|ReadOptions|undefined} options\n * Options.\n * @protected\n * @return {WriteOptions|ReadOptions|undefined}\n * Updated options.\n */\n FeatureFormat.prototype.adaptOptions = function (options) {\n return assign({\n dataProjection: this.dataProjection,\n featureProjection: this.defaultFeatureProjection,\n }, options);\n };\n /**\n * @abstract\n * @return {Type} The format type.\n */\n FeatureFormat.prototype.getType = function () {\n return abstract();\n };\n /**\n * Read a single feature from a source.\n *\n * @abstract\n * @param {Document|Element|Object|string} source Source.\n * @param {ReadOptions} [opt_options] Read options.\n * @return {import(\"../Feature.js\").FeatureLike} Feature.\n */\n FeatureFormat.prototype.readFeature = function (source, opt_options) {\n return abstract();\n };\n /**\n * Read all features from a source.\n *\n * @abstract\n * @param {Document|Element|ArrayBuffer|Object|string} source Source.\n * @param {ReadOptions} [opt_options] Read options.\n * @return {Array} Features.\n */\n FeatureFormat.prototype.readFeatures = function (source, opt_options) {\n return abstract();\n };\n /**\n * Read a single geometry from a source.\n *\n * @abstract\n * @param {Document|Element|Object|string} source Source.\n * @param {ReadOptions} [opt_options] Read options.\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n */\n FeatureFormat.prototype.readGeometry = function (source, opt_options) {\n return abstract();\n };\n /**\n * Read the projection from a source.\n *\n * @abstract\n * @param {Document|Element|Object|string} source Source.\n * @return {import(\"../proj/Projection.js\").default|undefined} Projection.\n */\n FeatureFormat.prototype.readProjection = function (source) {\n return abstract();\n };\n /**\n * Encode a feature in this format.\n *\n * @abstract\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @param {WriteOptions} [opt_options] Write options.\n * @return {string|ArrayBuffer} Result.\n */\n FeatureFormat.prototype.writeFeature = function (feature, opt_options) {\n return abstract();\n };\n /**\n * Encode an array of features in this format.\n *\n * @abstract\n * @param {Array} features Features.\n * @param {WriteOptions} [opt_options] Write options.\n * @return {string|ArrayBuffer} Result.\n */\n FeatureFormat.prototype.writeFeatures = function (features, opt_options) {\n return abstract();\n };\n /**\n * Write a single geometry in this format.\n *\n * @abstract\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {WriteOptions} [opt_options] Write options.\n * @return {string|ArrayBuffer} Result.\n */\n FeatureFormat.prototype.writeGeometry = function (geometry, opt_options) {\n return abstract();\n };\n return FeatureFormat;\n}());\nexport default FeatureFormat;\n/**\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {boolean} write Set to true for writing, false for reading.\n * @param {WriteOptions|ReadOptions} [opt_options] Options.\n * @return {import(\"../geom/Geometry.js\").default} Transformed geometry.\n */\nexport function transformGeometryWithOptions(geometry, write, opt_options) {\n var featureProjection = opt_options\n ? getProjection(opt_options.featureProjection)\n : null;\n var dataProjection = opt_options\n ? getProjection(opt_options.dataProjection)\n : null;\n var transformed;\n if (featureProjection &&\n dataProjection &&\n !equivalentProjection(featureProjection, dataProjection)) {\n transformed = (write ? geometry.clone() : geometry).transform(write ? featureProjection : dataProjection, write ? dataProjection : featureProjection);\n }\n else {\n transformed = geometry;\n }\n if (write &&\n opt_options &&\n /** @type {WriteOptions} */ (opt_options).decimals !== undefined) {\n var power_1 = Math.pow(10, \n /** @type {WriteOptions} */ (opt_options).decimals);\n // if decimals option on write, round each coordinate appropriately\n /**\n * @param {Array} coordinates Coordinates.\n * @return {Array} Transformed coordinates.\n */\n var transform = function (coordinates) {\n for (var i = 0, ii = coordinates.length; i < ii; ++i) {\n coordinates[i] = Math.round(coordinates[i] * power_1) / power_1;\n }\n return coordinates;\n };\n if (transformed === geometry) {\n transformed = geometry.clone();\n }\n transformed.applyTransform(transform);\n }\n return transformed;\n}\n/**\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {ReadOptions} [opt_options] Read options.\n * @return {import(\"../extent.js\").Extent} Transformed extent.\n */\nexport function transformExtentWithOptions(extent, opt_options) {\n var featureProjection = opt_options\n ? getProjection(opt_options.featureProjection)\n : null;\n var dataProjection = opt_options\n ? getProjection(opt_options.dataProjection)\n : null;\n if (featureProjection &&\n dataProjection &&\n !equivalentProjection(featureProjection, dataProjection)) {\n return transformExtent(extent, dataProjection, featureProjection);\n }\n else {\n return extent;\n }\n}\n//# sourceMappingURL=Feature.js.map","/**\n * @module ol/xml\n */\nimport { extend } from './array.js';\n/**\n * When using {@link module:ol/xml.makeChildAppender} or\n * {@link module:ol/xml.makeSimpleNodeFactory}, the top `objectStack` item needs\n * to have this structure.\n * @typedef {Object} NodeStackItem\n * @property {Element} node Node.\n */\n/**\n * @typedef {function(Element, Array<*>): void} Parser\n */\n/**\n * @typedef {function(Element, *, Array<*>): void} Serializer\n */\n/**\n * @type {string}\n */\nexport var XML_SCHEMA_INSTANCE_URI = 'http://www.w3.org/2001/XMLSchema-instance';\n/**\n * @param {string} namespaceURI Namespace URI.\n * @param {string} qualifiedName Qualified name.\n * @return {Element} Node.\n */\nexport function createElementNS(namespaceURI, qualifiedName) {\n return getDocument().createElementNS(namespaceURI, qualifiedName);\n}\n/**\n * Recursively grab all text content of child nodes into a single string.\n * @param {Node} node Node.\n * @param {boolean} normalizeWhitespace Normalize whitespace: remove all line\n * breaks.\n * @return {string} All text content.\n * @api\n */\nexport function getAllTextContent(node, normalizeWhitespace) {\n return getAllTextContent_(node, normalizeWhitespace, []).join('');\n}\n/**\n * Recursively grab all text content of child nodes into a single string.\n * @param {Node} node Node.\n * @param {boolean} normalizeWhitespace Normalize whitespace: remove all line\n * breaks.\n * @param {Array} accumulator Accumulator.\n * @private\n * @return {Array} Accumulator.\n */\nexport function getAllTextContent_(node, normalizeWhitespace, accumulator) {\n if (node.nodeType == Node.CDATA_SECTION_NODE ||\n node.nodeType == Node.TEXT_NODE) {\n if (normalizeWhitespace) {\n accumulator.push(String(node.nodeValue).replace(/(\\r\\n|\\r|\\n)/g, ''));\n }\n else {\n accumulator.push(node.nodeValue);\n }\n }\n else {\n var n = void 0;\n for (n = node.firstChild; n; n = n.nextSibling) {\n getAllTextContent_(n, normalizeWhitespace, accumulator);\n }\n }\n return accumulator;\n}\n/**\n * @param {Object} object Object.\n * @return {boolean} Is a document.\n */\nexport function isDocument(object) {\n return 'documentElement' in object;\n}\n/**\n * @param {Element} node Node.\n * @param {?string} namespaceURI Namespace URI.\n * @param {string} name Attribute name.\n * @return {string} Value\n */\nexport function getAttributeNS(node, namespaceURI, name) {\n return node.getAttributeNS(namespaceURI, name) || '';\n}\n/**\n * Parse an XML string to an XML Document.\n * @param {string} xml XML.\n * @return {Document} Document.\n * @api\n */\nexport function parse(xml) {\n return new DOMParser().parseFromString(xml, 'application/xml');\n}\n/**\n * Make an array extender function for extending the array at the top of the\n * object stack.\n * @param {function(this: T, Node, Array<*>): (Array<*>|undefined)} valueReader Value reader.\n * @param {T} [opt_this] The object to use as `this` in `valueReader`.\n * @return {Parser} Parser.\n * @template T\n */\nexport function makeArrayExtender(valueReader, opt_this) {\n return (\n /**\n * @param {Node} node Node.\n * @param {Array<*>} objectStack Object stack.\n */\n function (node, objectStack) {\n var value = valueReader.call(opt_this !== undefined ? opt_this : this, node, objectStack);\n if (value !== undefined) {\n var array = /** @type {Array<*>} */ (objectStack[objectStack.length - 1]);\n extend(array, value);\n }\n });\n}\n/**\n * Make an array pusher function for pushing to the array at the top of the\n * object stack.\n * @param {function(this: T, Element, Array<*>): *} valueReader Value reader.\n * @param {T} [opt_this] The object to use as `this` in `valueReader`.\n * @return {Parser} Parser.\n * @template T\n */\nexport function makeArrayPusher(valueReader, opt_this) {\n return (\n /**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n */\n function (node, objectStack) {\n var value = valueReader.call(opt_this !== undefined ? opt_this : this, node, objectStack);\n if (value !== undefined) {\n var array = /** @type {Array<*>} */ (objectStack[objectStack.length - 1]);\n array.push(value);\n }\n });\n}\n/**\n * Make an object stack replacer function for replacing the object at the\n * top of the stack.\n * @param {function(this: T, Node, Array<*>): *} valueReader Value reader.\n * @param {T} [opt_this] The object to use as `this` in `valueReader`.\n * @return {Parser} Parser.\n * @template T\n */\nexport function makeReplacer(valueReader, opt_this) {\n return (\n /**\n * @param {Node} node Node.\n * @param {Array<*>} objectStack Object stack.\n */\n function (node, objectStack) {\n var value = valueReader.call(opt_this !== undefined ? opt_this : this, node, objectStack);\n if (value !== undefined) {\n objectStack[objectStack.length - 1] = value;\n }\n });\n}\n/**\n * Make an object property pusher function for adding a property to the\n * object at the top of the stack.\n * @param {function(this: T, Element, Array<*>): *} valueReader Value reader.\n * @param {string} [opt_property] Property.\n * @param {T} [opt_this] The object to use as `this` in `valueReader`.\n * @return {Parser} Parser.\n * @template T\n */\nexport function makeObjectPropertyPusher(valueReader, opt_property, opt_this) {\n return (\n /**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n */\n function (node, objectStack) {\n var value = valueReader.call(opt_this !== undefined ? opt_this : this, node, objectStack);\n if (value !== undefined) {\n var object = /** @type {!Object} */ (objectStack[objectStack.length - 1]);\n var property = opt_property !== undefined ? opt_property : node.localName;\n var array = void 0;\n if (property in object) {\n array = object[property];\n }\n else {\n array = [];\n object[property] = array;\n }\n array.push(value);\n }\n });\n}\n/**\n * Make an object property setter function.\n * @param {function(this: T, Element, Array<*>): *} valueReader Value reader.\n * @param {string} [opt_property] Property.\n * @param {T} [opt_this] The object to use as `this` in `valueReader`.\n * @return {Parser} Parser.\n * @template T\n */\nexport function makeObjectPropertySetter(valueReader, opt_property, opt_this) {\n return (\n /**\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n */\n function (node, objectStack) {\n var value = valueReader.call(opt_this !== undefined ? opt_this : this, node, objectStack);\n if (value !== undefined) {\n var object = /** @type {!Object} */ (objectStack[objectStack.length - 1]);\n var property = opt_property !== undefined ? opt_property : node.localName;\n object[property] = value;\n }\n });\n}\n/**\n * Create a serializer that appends nodes written by its `nodeWriter` to its\n * designated parent. The parent is the `node` of the\n * {@link module:ol/xml~NodeStackItem} at the top of the `objectStack`.\n * @param {function(this: T, Node, V, Array<*>): void} nodeWriter Node writer.\n * @param {T} [opt_this] The object to use as `this` in `nodeWriter`.\n * @return {Serializer} Serializer.\n * @template T, V\n */\nexport function makeChildAppender(nodeWriter, opt_this) {\n return function (node, value, objectStack) {\n nodeWriter.call(opt_this !== undefined ? opt_this : this, node, value, objectStack);\n var parent = /** @type {NodeStackItem} */ (objectStack[objectStack.length - 1]);\n var parentNode = parent.node;\n parentNode.appendChild(node);\n };\n}\n/**\n * Create a serializer that calls the provided `nodeWriter` from\n * {@link module:ol/xml.serialize}. This can be used by the parent writer to have the\n * `nodeWriter` called with an array of values when the `nodeWriter` was\n * designed to serialize a single item. An example would be a LineString\n * geometry writer, which could be reused for writing MultiLineString\n * geometries.\n * @param {function(this: T, Element, V, Array<*>): void} nodeWriter Node writer.\n * @param {T} [opt_this] The object to use as `this` in `nodeWriter`.\n * @return {Serializer} Serializer.\n * @template T, V\n */\nexport function makeArraySerializer(nodeWriter, opt_this) {\n var serializersNS, nodeFactory;\n return function (node, value, objectStack) {\n if (serializersNS === undefined) {\n serializersNS = {};\n var serializers = {};\n serializers[node.localName] = nodeWriter;\n serializersNS[node.namespaceURI] = serializers;\n nodeFactory = makeSimpleNodeFactory(node.localName);\n }\n serialize(serializersNS, nodeFactory, value, objectStack);\n };\n}\n/**\n * Create a node factory which can use the `opt_keys` passed to\n * {@link module:ol/xml.serialize} or {@link module:ol/xml.pushSerializeAndPop} as node names,\n * or a fixed node name. The namespace of the created nodes can either be fixed,\n * or the parent namespace will be used.\n * @param {string} [opt_nodeName] Fixed node name which will be used for all\n * created nodes. If not provided, the 3rd argument to the resulting node\n * factory needs to be provided and will be the nodeName.\n * @param {string} [opt_namespaceURI] Fixed namespace URI which will be used for\n * all created nodes. If not provided, the namespace of the parent node will\n * be used.\n * @return {function(*, Array<*>, string=): (Node|undefined)} Node factory.\n */\nexport function makeSimpleNodeFactory(opt_nodeName, opt_namespaceURI) {\n var fixedNodeName = opt_nodeName;\n return (\n /**\n * @param {*} value Value.\n * @param {Array<*>} objectStack Object stack.\n * @param {string} [opt_nodeName] Node name.\n * @return {Node} Node.\n */\n function (value, objectStack, opt_nodeName) {\n var context = /** @type {NodeStackItem} */ (objectStack[objectStack.length - 1]);\n var node = context.node;\n var nodeName = fixedNodeName;\n if (nodeName === undefined) {\n nodeName = opt_nodeName;\n }\n var namespaceURI = opt_namespaceURI !== undefined ? opt_namespaceURI : node.namespaceURI;\n return createElementNS(namespaceURI, /** @type {string} */ (nodeName));\n });\n}\n/**\n * A node factory that creates a node using the parent's `namespaceURI` and the\n * `nodeName` passed by {@link module:ol/xml.serialize} or\n * {@link module:ol/xml.pushSerializeAndPop} to the node factory.\n * @const\n * @type {function(*, Array<*>, string=): (Node|undefined)}\n */\nexport var OBJECT_PROPERTY_NODE_FACTORY = makeSimpleNodeFactory();\n/**\n * Create an array of `values` to be used with {@link module:ol/xml.serialize} or\n * {@link module:ol/xml.pushSerializeAndPop}, where `orderedKeys` has to be provided as\n * `opt_key` argument.\n * @param {Object} object Key-value pairs for the sequence. Keys can\n * be a subset of the `orderedKeys`.\n * @param {Array} orderedKeys Keys in the order of the sequence.\n * @return {Array<*>} Values in the order of the sequence. The resulting array\n * has the same length as the `orderedKeys` array. Values that are not\n * present in `object` will be `undefined` in the resulting array.\n */\nexport function makeSequence(object, orderedKeys) {\n var length = orderedKeys.length;\n var sequence = new Array(length);\n for (var i = 0; i < length; ++i) {\n sequence[i] = object[orderedKeys[i]];\n }\n return sequence;\n}\n/**\n * Create a namespaced structure, using the same values for each namespace.\n * This can be used as a starting point for versioned parsers, when only a few\n * values are version specific.\n * @param {Array} namespaceURIs Namespace URIs.\n * @param {T} structure Structure.\n * @param {Object} [opt_structureNS] Namespaced structure to add to.\n * @return {Object} Namespaced structure.\n * @template T\n */\nexport function makeStructureNS(namespaceURIs, structure, opt_structureNS) {\n /**\n * @type {Object}\n */\n var structureNS = opt_structureNS !== undefined ? opt_structureNS : {};\n var i, ii;\n for (i = 0, ii = namespaceURIs.length; i < ii; ++i) {\n structureNS[namespaceURIs[i]] = structure;\n }\n return structureNS;\n}\n/**\n * Parse a node using the parsers and object stack.\n * @param {Object>} parsersNS\n * Parsers by namespace.\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @param {*} [opt_this] The object to use as `this`.\n */\nexport function parseNode(parsersNS, node, objectStack, opt_this) {\n var n;\n for (n = node.firstElementChild; n; n = n.nextElementSibling) {\n var parsers = parsersNS[n.namespaceURI];\n if (parsers !== undefined) {\n var parser = parsers[n.localName];\n if (parser !== undefined) {\n parser.call(opt_this, n, objectStack);\n }\n }\n }\n}\n/**\n * Push an object on top of the stack, parse and return the popped object.\n * @param {T} object Object.\n * @param {Object>} parsersNS\n * Parsers by namespace.\n * @param {Element} node Node.\n * @param {Array<*>} objectStack Object stack.\n * @param {*} [opt_this] The object to use as `this`.\n * @return {T} Object.\n * @template T\n */\nexport function pushParseAndPop(object, parsersNS, node, objectStack, opt_this) {\n objectStack.push(object);\n parseNode(parsersNS, node, objectStack, opt_this);\n return /** @type {T} */ (objectStack.pop());\n}\n/**\n * Walk through an array of `values` and call a serializer for each value.\n * @param {Object>} serializersNS\n * Namespaced serializers.\n * @param {function(this: T, *, Array<*>, (string|undefined)): (Node|undefined)} nodeFactory\n * Node factory. The `nodeFactory` creates the node whose namespace and name\n * will be used to choose a node writer from `serializersNS`. This\n * separation allows us to decide what kind of node to create, depending on\n * the value we want to serialize. An example for this would be different\n * geometry writers based on the geometry type.\n * @param {Array<*>} values Values to serialize. An example would be an array\n * of {@link module:ol/Feature~Feature} instances.\n * @param {Array<*>} objectStack Node stack.\n * @param {Array} [opt_keys] Keys of the `values`. Will be passed to the\n * `nodeFactory`. This is used for serializing object literals where the\n * node name relates to the property key. The array length of `opt_keys` has\n * to match the length of `values`. For serializing a sequence, `opt_keys`\n * determines the order of the sequence.\n * @param {T} [opt_this] The object to use as `this` for the node factory and\n * serializers.\n * @template T\n */\nexport function serialize(serializersNS, nodeFactory, values, objectStack, opt_keys, opt_this) {\n var length = (opt_keys !== undefined ? opt_keys : values).length;\n var value, node;\n for (var i = 0; i < length; ++i) {\n value = values[i];\n if (value !== undefined) {\n node = nodeFactory.call(opt_this !== undefined ? opt_this : this, value, objectStack, opt_keys !== undefined ? opt_keys[i] : undefined);\n if (node !== undefined) {\n serializersNS[node.namespaceURI][node.localName].call(opt_this, node, value, objectStack);\n }\n }\n }\n}\n/**\n * @param {O} object Object.\n * @param {Object>} serializersNS\n * Namespaced serializers.\n * @param {function(this: T, *, Array<*>, (string|undefined)): (Node|undefined)} nodeFactory\n * Node factory. The `nodeFactory` creates the node whose namespace and name\n * will be used to choose a node writer from `serializersNS`. This\n * separation allows us to decide what kind of node to create, depending on\n * the value we want to serialize. An example for this would be different\n * geometry writers based on the geometry type.\n * @param {Array<*>} values Values to serialize. An example would be an array\n * of {@link module:ol/Feature~Feature} instances.\n * @param {Array<*>} objectStack Node stack.\n * @param {Array} [opt_keys] Keys of the `values`. Will be passed to the\n * `nodeFactory`. This is used for serializing object literals where the\n * node name relates to the property key. The array length of `opt_keys` has\n * to match the length of `values`. For serializing a sequence, `opt_keys`\n * determines the order of the sequence.\n * @param {T} [opt_this] The object to use as `this` for the node factory and\n * serializers.\n * @return {O|undefined} Object.\n * @template O, T\n */\nexport function pushSerializeAndPop(object, serializersNS, nodeFactory, values, objectStack, opt_keys, opt_this) {\n objectStack.push(object);\n serialize(serializersNS, nodeFactory, values, objectStack, opt_keys, opt_this);\n return /** @type {O|undefined} */ (objectStack.pop());\n}\nvar xmlSerializer_ = undefined;\n/**\n * Register a XMLSerializer. Can be used to inject a XMLSerializer\n * where there is no globally available implementation.\n *\n * @param {XMLSerializer} xmlSerializer A XMLSerializer.\n * @api\n */\nexport function registerXMLSerializer(xmlSerializer) {\n xmlSerializer_ = xmlSerializer;\n}\n/**\n * @return {XMLSerializer} The XMLSerializer.\n */\nexport function getXMLSerializer() {\n if (xmlSerializer_ === undefined && typeof XMLSerializer !== 'undefined') {\n xmlSerializer_ = new XMLSerializer();\n }\n return xmlSerializer_;\n}\nvar document_ = undefined;\n/**\n * Register a Document to use when creating nodes for XML serializations. Can be used\n * to inject a Document where there is no globally available implementation.\n *\n * @param {Document} document A Document.\n * @api\n */\nexport function registerDocument(document) {\n document_ = document;\n}\n/**\n * Get a document that should be used when creating nodes for XML serializations.\n * @return {Document} The document.\n */\nexport function getDocument() {\n if (document_ === undefined && typeof document !== 'undefined') {\n document_ = document.implementation.createDocument('', '', null);\n }\n return document_;\n}\n//# sourceMappingURL=xml.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/format/XMLFeature\n */\nimport FeatureFormat from '../format/Feature.js';\nimport { abstract } from '../util.js';\nimport { extend } from '../array.js';\nimport { getXMLSerializer, isDocument, parse } from '../xml.js';\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * Base class for XML feature formats.\n *\n * @abstract\n */\nvar XMLFeature = /** @class */ (function (_super) {\n __extends(XMLFeature, _super);\n function XMLFeature() {\n var _this = _super.call(this) || this;\n /**\n * @type {XMLSerializer}\n * @private\n */\n _this.xmlSerializer_ = getXMLSerializer();\n return _this;\n }\n /**\n * @return {import(\"./Feature.js\").Type} Format.\n */\n XMLFeature.prototype.getType = function () {\n return 'xml';\n };\n /**\n * Read a single feature.\n *\n * @param {Document|Element|Object|string} source Source.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {import(\"../Feature.js\").default} Feature.\n * @api\n */\n XMLFeature.prototype.readFeature = function (source, opt_options) {\n if (!source) {\n return null;\n }\n else if (typeof source === 'string') {\n var doc = parse(source);\n return this.readFeatureFromDocument(doc, opt_options);\n }\n else if (isDocument(source)) {\n return this.readFeatureFromDocument(\n /** @type {Document} */ (source), opt_options);\n }\n else {\n return this.readFeatureFromNode(\n /** @type {Element} */ (source), opt_options);\n }\n };\n /**\n * @param {Document} doc Document.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Options.\n * @return {import(\"../Feature.js\").default} Feature.\n */\n XMLFeature.prototype.readFeatureFromDocument = function (doc, opt_options) {\n var features = this.readFeaturesFromDocument(doc, opt_options);\n if (features.length > 0) {\n return features[0];\n }\n else {\n return null;\n }\n };\n /**\n * @param {Element} node Node.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Options.\n * @return {import(\"../Feature.js\").default} Feature.\n */\n XMLFeature.prototype.readFeatureFromNode = function (node, opt_options) {\n return null; // not implemented\n };\n /**\n * Read all features from a feature collection.\n *\n * @param {Document|Element|Object|string} source Source.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Options.\n * @return {Array} Features.\n * @api\n */\n XMLFeature.prototype.readFeatures = function (source, opt_options) {\n if (!source) {\n return [];\n }\n else if (typeof source === 'string') {\n var doc = parse(source);\n return this.readFeaturesFromDocument(doc, opt_options);\n }\n else if (isDocument(source)) {\n return this.readFeaturesFromDocument(\n /** @type {Document} */ (source), opt_options);\n }\n else {\n return this.readFeaturesFromNode(\n /** @type {Element} */ (source), opt_options);\n }\n };\n /**\n * @param {Document} doc Document.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Options.\n * @protected\n * @return {Array} Features.\n */\n XMLFeature.prototype.readFeaturesFromDocument = function (doc, opt_options) {\n /** @type {Array} */\n var features = [];\n for (var n = doc.firstChild; n; n = n.nextSibling) {\n if (n.nodeType == Node.ELEMENT_NODE) {\n extend(features, this.readFeaturesFromNode(/** @type {Element} */ (n), opt_options));\n }\n }\n return features;\n };\n /**\n * @abstract\n * @param {Element} node Node.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Options.\n * @protected\n * @return {Array} Features.\n */\n XMLFeature.prototype.readFeaturesFromNode = function (node, opt_options) {\n return abstract();\n };\n /**\n * Read a single geometry from a source.\n *\n * @param {Document|Element|Object|string} source Source.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n */\n XMLFeature.prototype.readGeometry = function (source, opt_options) {\n if (!source) {\n return null;\n }\n else if (typeof source === 'string') {\n var doc = parse(source);\n return this.readGeometryFromDocument(doc, opt_options);\n }\n else if (isDocument(source)) {\n return this.readGeometryFromDocument(\n /** @type {Document} */ (source), opt_options);\n }\n else {\n return this.readGeometryFromNode(\n /** @type {Element} */ (source), opt_options);\n }\n };\n /**\n * @param {Document} doc Document.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Options.\n * @protected\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n */\n XMLFeature.prototype.readGeometryFromDocument = function (doc, opt_options) {\n return null; // not implemented\n };\n /**\n * @param {Element} node Node.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Options.\n * @protected\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n */\n XMLFeature.prototype.readGeometryFromNode = function (node, opt_options) {\n return null; // not implemented\n };\n /**\n * Read the projection from the source.\n *\n * @param {Document|Element|Object|string} source Source.\n * @return {import(\"../proj/Projection.js\").default} Projection.\n * @api\n */\n XMLFeature.prototype.readProjection = function (source) {\n if (!source) {\n return null;\n }\n else if (typeof source === 'string') {\n var doc = parse(source);\n return this.readProjectionFromDocument(doc);\n }\n else if (isDocument(source)) {\n return this.readProjectionFromDocument(/** @type {Document} */ (source));\n }\n else {\n return this.readProjectionFromNode(/** @type {Element} */ (source));\n }\n };\n /**\n * @param {Document} doc Document.\n * @protected\n * @return {import(\"../proj/Projection.js\").default} Projection.\n */\n XMLFeature.prototype.readProjectionFromDocument = function (doc) {\n return this.dataProjection;\n };\n /**\n * @param {Element} node Node.\n * @protected\n * @return {import(\"../proj/Projection.js\").default} Projection.\n */\n XMLFeature.prototype.readProjectionFromNode = function (node) {\n return this.dataProjection;\n };\n /**\n * Encode a feature as string.\n *\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {string} Encoded feature.\n */\n XMLFeature.prototype.writeFeature = function (feature, opt_options) {\n var node = this.writeFeatureNode(feature, opt_options);\n return this.xmlSerializer_.serializeToString(node);\n };\n /**\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Options.\n * @protected\n * @return {Node} Node.\n */\n XMLFeature.prototype.writeFeatureNode = function (feature, opt_options) {\n return null; // not implemented\n };\n /**\n * Encode an array of features as string.\n *\n * @param {Array} features Features.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {string} Result.\n * @api\n */\n XMLFeature.prototype.writeFeatures = function (features, opt_options) {\n var node = this.writeFeaturesNode(features, opt_options);\n return this.xmlSerializer_.serializeToString(node);\n };\n /**\n * @param {Array} features Features.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Options.\n * @return {Node} Node.\n */\n XMLFeature.prototype.writeFeaturesNode = function (features, opt_options) {\n return null; // not implemented\n };\n /**\n * Encode a geometry as string.\n *\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {string} Encoded geometry.\n */\n XMLFeature.prototype.writeGeometry = function (geometry, opt_options) {\n var node = this.writeGeometryNode(geometry, opt_options);\n return this.xmlSerializer_.serializeToString(node);\n };\n /**\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Options.\n * @return {Node} Node.\n */\n XMLFeature.prototype.writeGeometryNode = function (geometry, opt_options) {\n return null; // not implemented\n };\n return XMLFeature;\n}(FeatureFormat));\nexport default XMLFeature;\n//# sourceMappingURL=XMLFeature.js.map","/**\n * @module ol/format/xsd\n */\nimport { getAllTextContent, getDocument } from '../xml.js';\nimport { padNumber } from '../string.js';\n/**\n * @param {Node} node Node.\n * @return {boolean|undefined} Boolean.\n */\nexport function readBoolean(node) {\n var s = getAllTextContent(node, false);\n return readBooleanString(s);\n}\n/**\n * @param {string} string String.\n * @return {boolean|undefined} Boolean.\n */\nexport function readBooleanString(string) {\n var m = /^\\s*(true|1)|(false|0)\\s*$/.exec(string);\n if (m) {\n return m[1] !== undefined || false;\n }\n else {\n return undefined;\n }\n}\n/**\n * @param {Node} node Node.\n * @return {number|undefined} DateTime in seconds.\n */\nexport function readDateTime(node) {\n var s = getAllTextContent(node, false);\n var dateTime = Date.parse(s);\n return isNaN(dateTime) ? undefined : dateTime / 1000;\n}\n/**\n * @param {Node} node Node.\n * @return {number|undefined} Decimal.\n */\nexport function readDecimal(node) {\n var s = getAllTextContent(node, false);\n return readDecimalString(s);\n}\n/**\n * @param {string} string String.\n * @return {number|undefined} Decimal.\n */\nexport function readDecimalString(string) {\n // FIXME check spec\n var m = /^\\s*([+\\-]?\\d*\\.?\\d+(?:e[+\\-]?\\d+)?)\\s*$/i.exec(string);\n if (m) {\n return parseFloat(m[1]);\n }\n else {\n return undefined;\n }\n}\n/**\n * @param {Node} node Node.\n * @return {number|undefined} Non negative integer.\n */\nexport function readPositiveInteger(node) {\n var s = getAllTextContent(node, false);\n return readNonNegativeIntegerString(s);\n}\n/**\n * @param {string} string String.\n * @return {number|undefined} Non negative integer.\n */\nexport function readNonNegativeIntegerString(string) {\n var m = /^\\s*(\\d+)\\s*$/.exec(string);\n if (m) {\n return parseInt(m[1], 10);\n }\n else {\n return undefined;\n }\n}\n/**\n * @param {Node} node Node.\n * @return {string|undefined} String.\n */\nexport function readString(node) {\n return getAllTextContent(node, false).trim();\n}\n/**\n * @param {Node} node Node to append a TextNode with the boolean to.\n * @param {boolean} bool Boolean.\n */\nexport function writeBooleanTextNode(node, bool) {\n writeStringTextNode(node, bool ? '1' : '0');\n}\n/**\n * @param {Node} node Node to append a CDATA Section with the string to.\n * @param {string} string String.\n */\nexport function writeCDATASection(node, string) {\n node.appendChild(getDocument().createCDATASection(string));\n}\n/**\n * @param {Node} node Node to append a TextNode with the dateTime to.\n * @param {number} dateTime DateTime in seconds.\n */\nexport function writeDateTimeTextNode(node, dateTime) {\n var date = new Date(dateTime * 1000);\n var string = date.getUTCFullYear() +\n '-' +\n padNumber(date.getUTCMonth() + 1, 2) +\n '-' +\n padNumber(date.getUTCDate(), 2) +\n 'T' +\n padNumber(date.getUTCHours(), 2) +\n ':' +\n padNumber(date.getUTCMinutes(), 2) +\n ':' +\n padNumber(date.getUTCSeconds(), 2) +\n 'Z';\n node.appendChild(getDocument().createTextNode(string));\n}\n/**\n * @param {Node} node Node to append a TextNode with the decimal to.\n * @param {number} decimal Decimal.\n */\nexport function writeDecimalTextNode(node, decimal) {\n var string = decimal.toPrecision();\n node.appendChild(getDocument().createTextNode(string));\n}\n/**\n * @param {Node} node Node to append a TextNode with the decimal to.\n * @param {number} nonNegativeInteger Non negative integer.\n */\nexport function writeNonNegativeIntegerTextNode(node, nonNegativeInteger) {\n var string = nonNegativeInteger.toString();\n node.appendChild(getDocument().createTextNode(string));\n}\n/**\n * @param {Node} node Node to append a TextNode with the string to.\n * @param {string} string String.\n */\nexport function writeStringTextNode(node, string) {\n node.appendChild(getDocument().createTextNode(string));\n}\n//# sourceMappingURL=xsd.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/format/KML\n */\nimport Feature from '../Feature.js';\nimport Fill from '../style/Fill.js';\nimport GeometryCollection from '../geom/GeometryCollection.js';\nimport GeometryLayout from '../geom/GeometryLayout.js';\nimport Icon from '../style/Icon.js';\nimport IconAnchorUnits from '../style/IconAnchorUnits.js';\nimport IconOrigin from '../style/IconOrigin.js';\nimport ImageState from '../ImageState.js';\nimport LineString from '../geom/LineString.js';\nimport MultiLineString from '../geom/MultiLineString.js';\nimport MultiPoint from '../geom/MultiPoint.js';\nimport MultiPolygon from '../geom/MultiPolygon.js';\nimport Point from '../geom/Point.js';\nimport Polygon from '../geom/Polygon.js';\nimport Stroke from '../style/Stroke.js';\nimport Style from '../style/Style.js';\nimport Text from '../style/Text.js';\nimport XMLFeature from './XMLFeature.js';\nimport { OBJECT_PROPERTY_NODE_FACTORY, XML_SCHEMA_INSTANCE_URI, createElementNS, getAllTextContent, isDocument, makeArrayExtender, makeArrayPusher, makeChildAppender, makeObjectPropertySetter, makeReplacer, makeSequence, makeSimpleNodeFactory, makeStructureNS, parse, parseNode, pushParseAndPop, pushSerializeAndPop, } from '../xml.js';\nimport { asArray } from '../color.js';\nimport { assert } from '../asserts.js';\nimport { extend, includes } from '../array.js';\nimport { get as getProjection } from '../proj.js';\nimport { readBoolean, readDecimal, readString, writeBooleanTextNode, writeCDATASection, writeDecimalTextNode, writeStringTextNode, } from './xsd.js';\nimport { toRadians } from '../math.js';\nimport { transformGeometryWithOptions } from './Feature.js';\n/**\n * @typedef {Object} Vec2\n * @property {number} x X coordinate.\n * @property {import(\"../style/IconAnchorUnits\").default} xunits Units of x.\n * @property {number} y Y coordinate.\n * @property {import(\"../style/IconAnchorUnits\").default} yunits Units of Y.\n * @property {import(\"../style/IconOrigin.js\").default} [origin] Origin.\n */\n/**\n * @typedef {Object} GxTrackObject\n * @property {Array>} coordinates Coordinates.\n * @property {Array} whens Whens.\n */\n/**\n * @const\n * @type {Array}\n */\nvar GX_NAMESPACE_URIS = ['http://www.google.com/kml/ext/2.2'];\n/**\n * @const\n * @type {Array}\n */\nvar NAMESPACE_URIS = [\n null,\n 'http://earth.google.com/kml/2.0',\n 'http://earth.google.com/kml/2.1',\n 'http://earth.google.com/kml/2.2',\n 'http://www.opengis.net/kml/2.2',\n];\n/**\n * @const\n * @type {string}\n */\nvar SCHEMA_LOCATION = 'http://www.opengis.net/kml/2.2 ' +\n 'https://developers.google.com/kml/schema/kml22gx.xsd';\n/**\n * @type {Object}\n */\nvar ICON_ANCHOR_UNITS_MAP = {\n 'fraction': IconAnchorUnits.FRACTION,\n 'pixels': IconAnchorUnits.PIXELS,\n 'insetPixels': IconAnchorUnits.PIXELS,\n};\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nvar PLACEMARK_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'ExtendedData': extendedDataParser,\n 'Region': regionParser,\n 'MultiGeometry': makeObjectPropertySetter(readMultiGeometry, 'geometry'),\n 'LineString': makeObjectPropertySetter(readLineString, 'geometry'),\n 'LinearRing': makeObjectPropertySetter(readLinearRing, 'geometry'),\n 'Point': makeObjectPropertySetter(readPoint, 'geometry'),\n 'Polygon': makeObjectPropertySetter(readPolygon, 'geometry'),\n 'Style': makeObjectPropertySetter(readStyle),\n 'StyleMap': placemarkStyleMapParser,\n 'address': makeObjectPropertySetter(readString),\n 'description': makeObjectPropertySetter(readString),\n 'name': makeObjectPropertySetter(readString),\n 'open': makeObjectPropertySetter(readBoolean),\n 'phoneNumber': makeObjectPropertySetter(readString),\n 'styleUrl': makeObjectPropertySetter(readStyleURL),\n 'visibility': makeObjectPropertySetter(readBoolean),\n}, makeStructureNS(GX_NAMESPACE_URIS, {\n 'MultiTrack': makeObjectPropertySetter(readGxMultiTrack, 'geometry'),\n 'Track': makeObjectPropertySetter(readGxTrack, 'geometry'),\n}));\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nvar NETWORK_LINK_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'ExtendedData': extendedDataParser,\n 'Region': regionParser,\n 'Link': linkParser,\n 'address': makeObjectPropertySetter(readString),\n 'description': makeObjectPropertySetter(readString),\n 'name': makeObjectPropertySetter(readString),\n 'open': makeObjectPropertySetter(readBoolean),\n 'phoneNumber': makeObjectPropertySetter(readString),\n 'visibility': makeObjectPropertySetter(readBoolean),\n});\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nvar LINK_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'href': makeObjectPropertySetter(readURI),\n});\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nvar REGION_PARSERS = makeStructureNS(NAMESPACE_URIS, {\n 'LatLonAltBox': latLonAltBoxParser,\n 'Lod': lodParser,\n});\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nvar KML_SEQUENCE = makeStructureNS(NAMESPACE_URIS, ['Document', 'Placemark']);\n/**\n * @const\n * @type {Object>}\n */\n// @ts-ignore\nvar KML_SERIALIZERS = makeStructureNS(NAMESPACE_URIS, {\n 'Document': makeChildAppender(writeDocument),\n 'Placemark': makeChildAppender(writePlacemark),\n});\n/**\n * @type {import(\"../color.js\").Color}\n */\nvar DEFAULT_COLOR;\n/**\n * @type {Fill|null}\n */\nvar DEFAULT_FILL_STYLE = null;\n/**\n * Get the default fill style (or null if not yet set).\n * @return {Fill|null} The default fill style.\n */\nexport function getDefaultFillStyle() {\n return DEFAULT_FILL_STYLE;\n}\n/**\n * @type {import(\"../size.js\").Size}\n */\nvar DEFAULT_IMAGE_STYLE_ANCHOR;\n/**\n * @type {import(\"../style/IconAnchorUnits\").default}\n */\nvar DEFAULT_IMAGE_STYLE_ANCHOR_X_UNITS;\n/**\n * @type {import(\"../style/IconAnchorUnits\").default}\n */\nvar DEFAULT_IMAGE_STYLE_ANCHOR_Y_UNITS;\n/**\n * @type {import(\"../size.js\").Size}\n */\nvar DEFAULT_IMAGE_STYLE_SIZE;\n/**\n * @type {string}\n */\nvar DEFAULT_IMAGE_STYLE_SRC;\n/**\n * @type {import(\"../style/Image.js\").default|null}\n */\nvar DEFAULT_IMAGE_STYLE = null;\n/**\n * Get the default image style (or null if not yet set).\n * @return {import(\"../style/Image.js\").default|null} The default image style.\n */\nexport function getDefaultImageStyle() {\n return DEFAULT_IMAGE_STYLE;\n}\n/**\n * @type {string}\n */\nvar DEFAULT_NO_IMAGE_STYLE;\n/**\n * @type {Stroke|null}\n */\nvar DEFAULT_STROKE_STYLE = null;\n/**\n * Get the default stroke style (or null if not yet set).\n * @return {Stroke|null} The default stroke style.\n */\nexport function getDefaultStrokeStyle() {\n return DEFAULT_STROKE_STYLE;\n}\n/**\n * @type {Stroke}\n */\nvar DEFAULT_TEXT_STROKE_STYLE;\n/**\n * @type {Text|null}\n */\nvar DEFAULT_TEXT_STYLE = null;\n/**\n * Get the default text style (or null if not yet set).\n * @return {Text|null} The default text style.\n */\nexport function getDefaultTextStyle() {\n return DEFAULT_TEXT_STYLE;\n}\n/**\n * @type {Style|null}\n */\nvar DEFAULT_STYLE = null;\n/**\n * Get the default style (or null if not yet set).\n * @return {Style|null} The default style.\n */\nexport function getDefaultStyle() {\n return DEFAULT_STYLE;\n}\n/**\n * @type {Array\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./actionButtons.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./actionButtons.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./actionButtons.vue?vue&type=template&id=3c13881f\"\nimport script from \"./actionButtons.vue?vue&type=script&lang=js\"\nexport * from \"./actionButtons.vue?vue&type=script&lang=js\"\nimport style0 from \"./actionButtons.vue?vue&type=style&index=0&id=3c13881f&prod&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.editableMapLayers)?_c('div',{class:{ layerBtnCollapsed: _vm.isHidden },attrs:{\"id\":\"layerHandler\"},on:{\"click\":_vm.collapseHandler}},[_c('div',{staticClass:\"titleBar\"},[_vm._m(0),_vm._v(\" \"+_vm._s(_vm.$t(\"map.layer.title\"))+\" \")]),_c('div',{staticClass:\"layerList\"},_vm._l((_vm.groupedEditableMapLayers),function(value,groupKey){return _c('ul',{key:groupKey},[_c('span',{staticClass:\"listTitle\",on:{\"click\":function($event){return _vm.collapseGroup(groupKey)}}},[_vm._v(_vm._s(_vm.$t(\"map.layer.category.\" + groupKey)))]),_c('span',{class:[_vm.expandedGroups[groupKey].isGroupExpanded || false ? 'glyphicon glyphicon-chevron-up' : 'glyphicon glyphicon-chevron-down', 'collapseIcon'],on:{\"click\":function($event){return _vm.collapseGroup(groupKey)}}}),(_vm.getGroupVisibility(groupKey, value))?_c('span',{class:['glyphicon glyphicon-eye-open', 'eyeIcon']}):_vm._e(),_vm._l((value),function(mapLayer,layerKey){return _c('li',{key:layerKey,class:[_vm.expandedGroups[groupKey].isGroupExpanded ? 'expanded' : 'collapsed']},[_c('div',{staticClass:\"layerCategoryTitle\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(mapLayer.values_.visible),expression:\"mapLayer.values_.visible\"}],attrs:{\"id\":mapLayer.ol_uid,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(mapLayer.values_.visible)?_vm._i(mapLayer.values_.visible,null)>-1:(mapLayer.values_.visible)},on:{\"change\":[function($event){var $$a=mapLayer.values_.visible,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(mapLayer.values_, \"visible\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(mapLayer.values_, \"visible\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(mapLayer.values_, \"visible\", $$c)}},function($event){return _vm.setLayerVisible(mapLayer)}]}}),_c('label',{staticClass:\"noselect\",attrs:{\"for\":mapLayer.ol_uid}},[_c('span',{staticClass:\"ckbx\"}),(mapLayer.values_.name.includes('.'))?_c('span',{staticClass:\"layerName\",attrs:{\"title\":_vm.$t(mapLayer.values_.name.toString())}},[_vm._v(_vm._s(_vm.$t(mapLayer.values_.name.toString())))]):_c('span',{staticClass:\"layerName\",attrs:{\"title\":mapLayer.values_.name}},[_vm._v(_vm._s(mapLayer.values_.name))])]),(mapLayer.values_.source.params_ || mapLayer.type === 'kmlLayer')?_c('span',{class:[\n _vm.expandedGroups[groupKey].expandedLayers[layerKey] ? 'glyphicon glyphicon-chevron-up' : 'glyphicon glyphicon-chevron-down',\n 'collapseIcon'\n ],on:{\"click\":function($event){return _vm.collapseLayers(groupKey, layerKey)}}}):_vm._e(),_c('span',{staticClass:\"glyphicons glyphicons-adjust opacityIcon\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(mapLayer.values_.opacityPercentage),expression:\"mapLayer.values_.opacityPercentage\"}],staticClass:\"opacityModifier\",attrs:{\"type\":\"number\",\"inputmode\":\"numeric\",\"min\":\"0\",\"max\":\"100\",\"step\":\"10\"},domProps:{\"value\":(mapLayer.values_.opacityPercentage)},on:{\"wheel\":_vm.scrollOpacity,\"input\":[function($event){if($event.target.composing)return;_vm.$set(mapLayer.values_, \"opacityPercentage\", $event.target.value)},function($event){return _vm.applyLayerConfiguration(mapLayer)}]}}),_c('div',{staticClass:\"number-spinner\"},[_c('div',{staticClass:\"up noselect\",on:{\"click\":function($event){return _vm.changeOpacity(mapLayer, 5, 0, 100)}}},[_c('span',{staticClass:\"glyphicons glyphicons-plus\"})]),_c('div',{staticClass:\"down noselect\",on:{\"click\":function($event){return _vm.changeOpacity(mapLayer, -5, 0, 100)}}},[_c('span',{staticClass:\"glyphicons glyphicons-minus\"})])])]),(mapLayer.values_.source.params_)?_c('ul',_vm._l((mapLayer.values_.subLayers),function(subMapLayer,key){return _c('li',{key:key,class:[_vm.expandedGroups[groupKey].expandedLayers[layerKey] ? 'expanded' : 'collapsed']},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(subMapLayer.visible),expression:\"subMapLayer.visible\"}],attrs:{\"id\":key + mapLayer.ol_uid,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(subMapLayer.visible)?_vm._i(subMapLayer.visible,null)>-1:(subMapLayer.visible)},on:{\"change\":[function($event){var $$a=subMapLayer.visible,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(subMapLayer, \"visible\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(subMapLayer, \"visible\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(subMapLayer, \"visible\", $$c)}},function($event){return _vm.setSubLayerVisible(mapLayer)}]}}),_c('label',{staticClass:\"noselect\",attrs:{\"for\":key + mapLayer.ol_uid}},[_c('span',{staticClass:\"ckbx\"}),_c('span',{staticClass:\"layerName\",attrs:{\"title\":key}},[_vm._v(_vm._s(subMapLayer[\"title\"]))])])])}),0):_vm._e(),(mapLayer.type === 'kmlLayer')?_c('ul',_vm._l((_vm.prepareMapLayers(mapLayer)),function(subMapLayer,key){return _c('li',{key:key,class:[_vm.expandedGroups[groupKey].expandedLayers[layerKey] ? 'expanded' : 'collapsed']},[_c('input',{attrs:{\"id\":key + mapLayer.ol_uid,\"type\":\"checkbox\"},domProps:{\"value\":subMapLayer['visible'],\"checked\":subMapLayer['visible']},on:{\"change\":function($event){return _vm.setFeaturesVisible(mapLayer, subMapLayer.featureIDS, key + mapLayer.ol_uid)}}}),_c('label',{staticClass:\"noselect\",attrs:{\"for\":key + mapLayer.ol_uid}},[_c('span',{staticClass:\"ckbx\"}),_c('span',{staticClass:\"layerName\",attrs:{\"title\":key}},[_vm._v(_vm._s(subMapLayer[\"title\"]))])])])}),0):_vm._e()])})],2)}),0)]):_vm._e()\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"titleIcon\"},[_c('span',{staticClass:\"glyphicons glyphicons-sort backgroundIcon\"}),_c('span',{staticClass:\"glyphicons glyphicons-cadastral-map frontIcon\"})])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./layerHandler.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./layerHandler.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./layerHandler.vue?vue&type=template&id=16adb5d1\"\nimport script from \"./layerHandler.vue?vue&type=script&lang=js\"\nexport * from \"./layerHandler.vue?vue&type=script&lang=js\"\nimport style0 from \"./layerHandler.vue?vue&type=style&index=0&id=16adb5d1&prod&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"contextMenu\",class:{ enabled: _vm.clickToContextMenu },style:({ top: _vm.position.y + 'px', left: _vm.position.x + 50 + 'px' }),on:{\"click\":_vm.clickDelete}},[_vm._v(\" \"+_vm._s(_vm.$t('map.DrawContour.ContourActions.delete', {0: _vm.selectedDrawFeature.values_.name }))+\" \")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextMenu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextMenu.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./contextMenu.vue?vue&type=template&id=4481442d\"\nimport script from \"./contextMenu.vue?vue&type=script&lang=js\"\nexport * from \"./contextMenu.vue?vue&type=script&lang=js\"\nimport style0 from \"./contextMenu.vue?vue&type=style&index=0&id=4481442d&prod&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import olStyleText from 'ol/style/Text'\nimport olStyleFill from 'ol/style/Fill'\nimport olStyleStroke from 'ol/style/Stroke'\n\nexport default {\n /**\n * Adds a label with readable text 20 pixels above the provided style\n */\n addTextToStyle: function (style, text, invertMapTextColour) {\n let mapTextStroke = '#000000'\n let mapTextColour = '#ffffff'\n\n if (invertMapTextColour) {\n mapTextStroke = '#ffffff'\n mapTextColour = '#000000'\n }\n\n // eslint-disable-next-line new-cap\n let newText = new olStyleText({\n text: text,\n // eslint-disable-next-line new-cap\n fill: new olStyleFill({\n color: mapTextColour\n }),\n offsetY: -20,\n // eslint-disable-next-line new-cap\n stroke: new olStyleStroke({\n color: mapTextStroke,\n width: 1\n }),\n font: '14px sans-serif'\n })\n style.setText(newText)\n },\n\n /**\n * Changes scale presented on the corner of the map\n */\n writeScaleToCanvas: function (canvas, ctx, olScale) {\n let line1 = 10\n // Offset from the left\n let xOffset = 10\n // offset from the bottom\n let yOffset = 30\n let fontsize1 = 20\n let font1 = fontsize1 + 'px Arial'\n let multiplier = 2\n\n let scalewidth = parseInt(olScale.css('width'), 10) * multiplier\n let scale = olScale.text()\n let scalenumber = parseInt(scale, 10) * multiplier\n let scaleunit = scale.match(/[Aa-zZ]{1,}/g)\n\n // Scale Text\n ctx.beginPath()\n ctx.textAlign = 'center'\n ctx.strokeStyle = '#ffffff'\n ctx.fillStyle = '#000000'\n ctx.lineWidth = 1\n ctx.font = font1\n ctx.strokeText(\n [scalenumber + ' ' + scaleunit],\n xOffset + fontsize1 / 2 + scalewidth / 2,\n canvas.height - yOffset - fontsize1 / 2\n )\n ctx.fillText(\n [scalenumber + ' ' + scaleunit],\n xOffset + fontsize1 / 2 + scalewidth / 2,\n canvas.height - yOffset - fontsize1 / 2\n )\n\n // Scale Dimensions\n let xzero = scalewidth + xOffset\n let yzero = canvas.height - yOffset\n let xfirst = xOffset + scalewidth / 4\n let xsecond = xfirst + scalewidth / 4\n let xthird = xsecond + scalewidth / 4\n let xfourth = xthird + scalewidth / 4\n\n // Stroke\n ctx.beginPath()\n ctx.lineWidth = line1 + 2\n ctx.strokeStyle = '#838383'\n ctx.fillStyle = '#ffffff'\n ctx.moveTo(xOffset, yzero)\n ctx.lineTo(xzero + 1, yzero)\n ctx.stroke()\n\n // sections black/white\n ctx.beginPath()\n ctx.lineWidth = line1\n ctx.strokeStyle = '#838383'\n ctx.moveTo(xOffset, yzero)\n ctx.lineTo(xfirst, yzero)\n ctx.stroke()\n\n ctx.beginPath()\n ctx.lineWidth = line1\n ctx.strokeStyle = '#FFFFFF'\n ctx.moveTo(xfirst, yzero)\n ctx.lineTo(xsecond, yzero)\n ctx.stroke()\n\n ctx.beginPath()\n ctx.lineWidth = line1\n ctx.strokeStyle = '#838383'\n ctx.moveTo(xsecond, yzero)\n ctx.lineTo(xthird, yzero)\n ctx.stroke()\n\n ctx.beginPath()\n ctx.lineWidth = line1\n ctx.strokeStyle = '#FFFFFF'\n ctx.moveTo(xthird, yzero)\n ctx.lineTo(xfourth, yzero)\n ctx.stroke()\n }\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/format/TextFeature\n */\nimport FeatureFormat from '../format/Feature.js';\nimport { abstract } from '../util.js';\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * Base class for text feature formats.\n *\n * @abstract\n */\nvar TextFeature = /** @class */ (function (_super) {\n __extends(TextFeature, _super);\n function TextFeature() {\n return _super.call(this) || this;\n }\n /**\n * @return {import(\"./Feature.js\").Type} Format.\n */\n TextFeature.prototype.getType = function () {\n return 'text';\n };\n /**\n * Read the feature from the source.\n *\n * @param {Document|Element|Object|string} source Source.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {import(\"../Feature.js\").default} Feature.\n * @api\n */\n TextFeature.prototype.readFeature = function (source, opt_options) {\n return this.readFeatureFromText(getText(source), this.adaptOptions(opt_options));\n };\n /**\n * @abstract\n * @param {string} text Text.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {import(\"../Feature.js\").default} Feature.\n */\n TextFeature.prototype.readFeatureFromText = function (text, opt_options) {\n return abstract();\n };\n /**\n * Read the features from the source.\n *\n * @param {Document|Element|Object|string} source Source.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {Array} Features.\n * @api\n */\n TextFeature.prototype.readFeatures = function (source, opt_options) {\n return this.readFeaturesFromText(getText(source), this.adaptOptions(opt_options));\n };\n /**\n * @abstract\n * @param {string} text Text.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {Array} Features.\n */\n TextFeature.prototype.readFeaturesFromText = function (text, opt_options) {\n return abstract();\n };\n /**\n * Read the geometry from the source.\n *\n * @param {Document|Element|Object|string} source Source.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n * @api\n */\n TextFeature.prototype.readGeometry = function (source, opt_options) {\n return this.readGeometryFromText(getText(source), this.adaptOptions(opt_options));\n };\n /**\n * @abstract\n * @param {string} text Text.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n */\n TextFeature.prototype.readGeometryFromText = function (text, opt_options) {\n return abstract();\n };\n /**\n * Read the projection from the source.\n *\n * @param {Document|Element|Object|string} source Source.\n * @return {import(\"../proj/Projection.js\").default|undefined} Projection.\n * @api\n */\n TextFeature.prototype.readProjection = function (source) {\n return this.readProjectionFromText(getText(source));\n };\n /**\n * @param {string} text Text.\n * @protected\n * @return {import(\"../proj/Projection.js\").default|undefined} Projection.\n */\n TextFeature.prototype.readProjectionFromText = function (text) {\n return this.dataProjection;\n };\n /**\n * Encode a feature as a string.\n *\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {string} Encoded feature.\n * @api\n */\n TextFeature.prototype.writeFeature = function (feature, opt_options) {\n return this.writeFeatureText(feature, this.adaptOptions(opt_options));\n };\n /**\n * @abstract\n * @param {import(\"../Feature.js\").default} feature Features.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @protected\n * @return {string} Text.\n */\n TextFeature.prototype.writeFeatureText = function (feature, opt_options) {\n return abstract();\n };\n /**\n * Encode an array of features as string.\n *\n * @param {Array} features Features.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {string} Encoded features.\n * @api\n */\n TextFeature.prototype.writeFeatures = function (features, opt_options) {\n return this.writeFeaturesText(features, this.adaptOptions(opt_options));\n };\n /**\n * @abstract\n * @param {Array} features Features.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @protected\n * @return {string} Text.\n */\n TextFeature.prototype.writeFeaturesText = function (features, opt_options) {\n return abstract();\n };\n /**\n * Write a single geometry.\n *\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {string} Geometry.\n * @api\n */\n TextFeature.prototype.writeGeometry = function (geometry, opt_options) {\n return this.writeGeometryText(geometry, this.adaptOptions(opt_options));\n };\n /**\n * @abstract\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @protected\n * @return {string} Text.\n */\n TextFeature.prototype.writeGeometryText = function (geometry, opt_options) {\n return abstract();\n };\n return TextFeature;\n}(FeatureFormat));\n/**\n * @param {Document|Element|Object|string} source Source.\n * @return {string} Text.\n */\nfunction getText(source) {\n if (typeof source === 'string') {\n return source;\n }\n else {\n return '';\n }\n}\nexport default TextFeature;\n//# sourceMappingURL=TextFeature.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/format/WKT\n */\nimport Feature from '../Feature.js';\nimport GeometryCollection from '../geom/GeometryCollection.js';\nimport GeometryLayout from '../geom/GeometryLayout.js';\nimport LineString from '../geom/LineString.js';\nimport MultiLineString from '../geom/MultiLineString.js';\nimport MultiPoint from '../geom/MultiPoint.js';\nimport MultiPolygon from '../geom/MultiPolygon.js';\nimport Point from '../geom/Point.js';\nimport Polygon from '../geom/Polygon.js';\nimport TextFeature from './TextFeature.js';\nimport { transformGeometryWithOptions } from './Feature.js';\n/**\n * Geometry constructors\n * @enum {function (new:import(\"../geom/Geometry.js\").default, Array, import(\"../geom/GeometryLayout.js\").default)}\n */\nvar GeometryConstructor = {\n 'POINT': Point,\n 'LINESTRING': LineString,\n 'POLYGON': Polygon,\n 'MULTIPOINT': MultiPoint,\n 'MULTILINESTRING': MultiLineString,\n 'MULTIPOLYGON': MultiPolygon,\n};\n/**\n * @typedef {Object} Options\n * @property {boolean} [splitCollection=false] Whether to split GeometryCollections into\n * multiple features on reading.\n */\n/**\n * @typedef {Object} Token\n * @property {number} type Type.\n * @property {number|string} [value] Value.\n * @property {number} position Position.\n */\n/**\n * @const\n * @type {string}\n */\nvar EMPTY = 'EMPTY';\n/**\n * @const\n * @type {string}\n */\nvar Z = 'Z';\n/**\n * @const\n * @type {string}\n */\nvar M = 'M';\n/**\n * @const\n * @type {string}\n */\nvar ZM = 'ZM';\n/**\n * @const\n * @enum {number}\n */\nvar TokenType = {\n START: 0,\n TEXT: 1,\n LEFT_PAREN: 2,\n RIGHT_PAREN: 3,\n NUMBER: 4,\n COMMA: 5,\n EOF: 6,\n};\n/**\n * @type {Object}\n */\nvar wktTypeLookup = {\n Point: 'POINT',\n LineString: 'LINESTRING',\n Polygon: 'POLYGON',\n MultiPoint: 'MULTIPOINT',\n MultiLineString: 'MULTILINESTRING',\n MultiPolygon: 'MULTIPOLYGON',\n GeometryCollection: 'GEOMETRYCOLLECTION',\n Circle: 'CIRCLE',\n};\n/**\n * Class to tokenize a WKT string.\n */\nvar Lexer = /** @class */ (function () {\n /**\n * @param {string} wkt WKT string.\n */\n function Lexer(wkt) {\n /**\n * @type {string}\n */\n this.wkt = wkt;\n /**\n * @type {number}\n * @private\n */\n this.index_ = -1;\n }\n /**\n * @param {string} c Character.\n * @return {boolean} Whether the character is alphabetic.\n * @private\n */\n Lexer.prototype.isAlpha_ = function (c) {\n return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');\n };\n /**\n * @param {string} c Character.\n * @param {boolean} [opt_decimal] Whether the string number\n * contains a dot, i.e. is a decimal number.\n * @return {boolean} Whether the character is numeric.\n * @private\n */\n Lexer.prototype.isNumeric_ = function (c, opt_decimal) {\n var decimal = opt_decimal !== undefined ? opt_decimal : false;\n return (c >= '0' && c <= '9') || (c == '.' && !decimal);\n };\n /**\n * @param {string} c Character.\n * @return {boolean} Whether the character is whitespace.\n * @private\n */\n Lexer.prototype.isWhiteSpace_ = function (c) {\n return c == ' ' || c == '\\t' || c == '\\r' || c == '\\n';\n };\n /**\n * @return {string} Next string character.\n * @private\n */\n Lexer.prototype.nextChar_ = function () {\n return this.wkt.charAt(++this.index_);\n };\n /**\n * Fetch and return the next token.\n * @return {Token} Next string token.\n */\n Lexer.prototype.nextToken = function () {\n var c = this.nextChar_();\n var position = this.index_;\n /** @type {number|string} */\n var value = c;\n var type;\n if (c == '(') {\n type = TokenType.LEFT_PAREN;\n }\n else if (c == ',') {\n type = TokenType.COMMA;\n }\n else if (c == ')') {\n type = TokenType.RIGHT_PAREN;\n }\n else if (this.isNumeric_(c) || c == '-') {\n type = TokenType.NUMBER;\n value = this.readNumber_();\n }\n else if (this.isAlpha_(c)) {\n type = TokenType.TEXT;\n value = this.readText_();\n }\n else if (this.isWhiteSpace_(c)) {\n return this.nextToken();\n }\n else if (c === '') {\n type = TokenType.EOF;\n }\n else {\n throw new Error('Unexpected character: ' + c);\n }\n return { position: position, value: value, type: type };\n };\n /**\n * @return {number} Numeric token value.\n * @private\n */\n Lexer.prototype.readNumber_ = function () {\n var c;\n var index = this.index_;\n var decimal = false;\n var scientificNotation = false;\n do {\n if (c == '.') {\n decimal = true;\n }\n else if (c == 'e' || c == 'E') {\n scientificNotation = true;\n }\n c = this.nextChar_();\n } while (this.isNumeric_(c, decimal) ||\n // if we haven't detected a scientific number before, 'e' or 'E'\n // hint that we should continue to read\n (!scientificNotation && (c == 'e' || c == 'E')) ||\n // once we know that we have a scientific number, both '-' and '+'\n // are allowed\n (scientificNotation && (c == '-' || c == '+')));\n return parseFloat(this.wkt.substring(index, this.index_--));\n };\n /**\n * @return {string} String token value.\n * @private\n */\n Lexer.prototype.readText_ = function () {\n var c;\n var index = this.index_;\n do {\n c = this.nextChar_();\n } while (this.isAlpha_(c));\n return this.wkt.substring(index, this.index_--).toUpperCase();\n };\n return Lexer;\n}());\n/**\n * Class to parse the tokens from the WKT string.\n */\nvar Parser = /** @class */ (function () {\n /**\n * @param {Lexer} lexer The lexer.\n */\n function Parser(lexer) {\n /**\n * @type {Lexer}\n * @private\n */\n this.lexer_ = lexer;\n /**\n * @type {Token}\n * @private\n */\n this.token_ = {\n position: 0,\n type: TokenType.START,\n };\n /**\n * @type {import(\"../geom/GeometryLayout.js\").default}\n * @private\n */\n this.layout_ = GeometryLayout.XY;\n }\n /**\n * Fetch the next token form the lexer and replace the active token.\n * @private\n */\n Parser.prototype.consume_ = function () {\n this.token_ = this.lexer_.nextToken();\n };\n /**\n * Tests if the given type matches the type of the current token.\n * @param {TokenType} type Token type.\n * @return {boolean} Whether the token matches the given type.\n */\n Parser.prototype.isTokenType = function (type) {\n return this.token_.type == type;\n };\n /**\n * If the given type matches the current token, consume it.\n * @param {TokenType} type Token type.\n * @return {boolean} Whether the token matches the given type.\n */\n Parser.prototype.match = function (type) {\n var isMatch = this.isTokenType(type);\n if (isMatch) {\n this.consume_();\n }\n return isMatch;\n };\n /**\n * Try to parse the tokens provided by the lexer.\n * @return {import(\"../geom/Geometry.js\").default} The geometry.\n */\n Parser.prototype.parse = function () {\n this.consume_();\n return this.parseGeometry_();\n };\n /**\n * Try to parse the dimensional info.\n * @return {import(\"../geom/GeometryLayout.js\").default} The layout.\n * @private\n */\n Parser.prototype.parseGeometryLayout_ = function () {\n var layout = GeometryLayout.XY;\n var dimToken = this.token_;\n if (this.isTokenType(TokenType.TEXT)) {\n var dimInfo = dimToken.value;\n if (dimInfo === Z) {\n layout = GeometryLayout.XYZ;\n }\n else if (dimInfo === M) {\n layout = GeometryLayout.XYM;\n }\n else if (dimInfo === ZM) {\n layout = GeometryLayout.XYZM;\n }\n if (layout !== GeometryLayout.XY) {\n this.consume_();\n }\n }\n return layout;\n };\n /**\n * @return {Array} A collection of geometries.\n * @private\n */\n Parser.prototype.parseGeometryCollectionText_ = function () {\n if (this.match(TokenType.LEFT_PAREN)) {\n var geometries = [];\n do {\n geometries.push(this.parseGeometry_());\n } while (this.match(TokenType.COMMA));\n if (this.match(TokenType.RIGHT_PAREN)) {\n return geometries;\n }\n }\n throw new Error(this.formatErrorMessage_());\n };\n /**\n * @return {Array} All values in a point.\n * @private\n */\n Parser.prototype.parsePointText_ = function () {\n if (this.match(TokenType.LEFT_PAREN)) {\n var coordinates = this.parsePoint_();\n if (this.match(TokenType.RIGHT_PAREN)) {\n return coordinates;\n }\n }\n throw new Error(this.formatErrorMessage_());\n };\n /**\n * @return {Array>} All points in a linestring.\n * @private\n */\n Parser.prototype.parseLineStringText_ = function () {\n if (this.match(TokenType.LEFT_PAREN)) {\n var coordinates = this.parsePointList_();\n if (this.match(TokenType.RIGHT_PAREN)) {\n return coordinates;\n }\n }\n throw new Error(this.formatErrorMessage_());\n };\n /**\n * @return {Array>>} All points in a polygon.\n * @private\n */\n Parser.prototype.parsePolygonText_ = function () {\n if (this.match(TokenType.LEFT_PAREN)) {\n var coordinates = this.parseLineStringTextList_();\n if (this.match(TokenType.RIGHT_PAREN)) {\n return coordinates;\n }\n }\n throw new Error(this.formatErrorMessage_());\n };\n /**\n * @return {Array>} All points in a multipoint.\n * @private\n */\n Parser.prototype.parseMultiPointText_ = function () {\n if (this.match(TokenType.LEFT_PAREN)) {\n var coordinates = void 0;\n if (this.token_.type == TokenType.LEFT_PAREN) {\n coordinates = this.parsePointTextList_();\n }\n else {\n coordinates = this.parsePointList_();\n }\n if (this.match(TokenType.RIGHT_PAREN)) {\n return coordinates;\n }\n }\n throw new Error(this.formatErrorMessage_());\n };\n /**\n * @return {Array>>} All linestring points\n * in a multilinestring.\n * @private\n */\n Parser.prototype.parseMultiLineStringText_ = function () {\n if (this.match(TokenType.LEFT_PAREN)) {\n var coordinates = this.parseLineStringTextList_();\n if (this.match(TokenType.RIGHT_PAREN)) {\n return coordinates;\n }\n }\n throw new Error(this.formatErrorMessage_());\n };\n /**\n * @return {Array>>>} All polygon points in a multipolygon.\n * @private\n */\n Parser.prototype.parseMultiPolygonText_ = function () {\n if (this.match(TokenType.LEFT_PAREN)) {\n var coordinates = this.parsePolygonTextList_();\n if (this.match(TokenType.RIGHT_PAREN)) {\n return coordinates;\n }\n }\n throw new Error(this.formatErrorMessage_());\n };\n /**\n * @return {Array} A point.\n * @private\n */\n Parser.prototype.parsePoint_ = function () {\n var coordinates = [];\n var dimensions = this.layout_.length;\n for (var i = 0; i < dimensions; ++i) {\n var token = this.token_;\n if (this.match(TokenType.NUMBER)) {\n coordinates.push(/** @type {number} */ (token.value));\n }\n else {\n break;\n }\n }\n if (coordinates.length == dimensions) {\n return coordinates;\n }\n throw new Error(this.formatErrorMessage_());\n };\n /**\n * @return {Array>} An array of points.\n * @private\n */\n Parser.prototype.parsePointList_ = function () {\n var coordinates = [this.parsePoint_()];\n while (this.match(TokenType.COMMA)) {\n coordinates.push(this.parsePoint_());\n }\n return coordinates;\n };\n /**\n * @return {Array>} An array of points.\n * @private\n */\n Parser.prototype.parsePointTextList_ = function () {\n var coordinates = [this.parsePointText_()];\n while (this.match(TokenType.COMMA)) {\n coordinates.push(this.parsePointText_());\n }\n return coordinates;\n };\n /**\n * @return {Array>>} An array of points.\n * @private\n */\n Parser.prototype.parseLineStringTextList_ = function () {\n var coordinates = [this.parseLineStringText_()];\n while (this.match(TokenType.COMMA)) {\n coordinates.push(this.parseLineStringText_());\n }\n return coordinates;\n };\n /**\n * @return {Array>>>} An array of points.\n * @private\n */\n Parser.prototype.parsePolygonTextList_ = function () {\n var coordinates = [this.parsePolygonText_()];\n while (this.match(TokenType.COMMA)) {\n coordinates.push(this.parsePolygonText_());\n }\n return coordinates;\n };\n /**\n * @return {boolean} Whether the token implies an empty geometry.\n * @private\n */\n Parser.prototype.isEmptyGeometry_ = function () {\n var isEmpty = this.isTokenType(TokenType.TEXT) && this.token_.value == EMPTY;\n if (isEmpty) {\n this.consume_();\n }\n return isEmpty;\n };\n /**\n * Create an error message for an unexpected token error.\n * @return {string} Error message.\n * @private\n */\n Parser.prototype.formatErrorMessage_ = function () {\n return ('Unexpected `' +\n this.token_.value +\n '` at position ' +\n this.token_.position +\n ' in `' +\n this.lexer_.wkt +\n '`');\n };\n /**\n * @return {import(\"../geom/Geometry.js\").default} The geometry.\n * @private\n */\n Parser.prototype.parseGeometry_ = function () {\n var token = this.token_;\n if (this.match(TokenType.TEXT)) {\n var geomType = /** @type {string} */ (token.value);\n this.layout_ = this.parseGeometryLayout_();\n var isEmpty = this.isEmptyGeometry_();\n if (geomType == 'GEOMETRYCOLLECTION') {\n if (isEmpty) {\n return new GeometryCollection([]);\n }\n var geometries = this.parseGeometryCollectionText_();\n return new GeometryCollection(geometries);\n }\n else {\n var ctor = GeometryConstructor[geomType];\n if (!ctor) {\n throw new Error('Invalid geometry type: ' + geomType);\n }\n var coordinates = void 0;\n if (isEmpty) {\n if (geomType == 'POINT') {\n coordinates = [NaN, NaN];\n }\n else {\n coordinates = [];\n }\n }\n else {\n switch (geomType) {\n case 'POINT': {\n coordinates = this.parsePointText_();\n break;\n }\n case 'LINESTRING': {\n coordinates = this.parseLineStringText_();\n break;\n }\n case 'POLYGON': {\n coordinates = this.parsePolygonText_();\n break;\n }\n case 'MULTIPOINT': {\n coordinates = this.parseMultiPointText_();\n break;\n }\n case 'MULTILINESTRING': {\n coordinates = this.parseMultiLineStringText_();\n break;\n }\n case 'MULTIPOLYGON': {\n coordinates = this.parseMultiPolygonText_();\n break;\n }\n default:\n break;\n }\n }\n return new ctor(coordinates, this.layout_);\n }\n }\n throw new Error(this.formatErrorMessage_());\n };\n return Parser;\n}());\n/**\n * @classdesc\n * Geometry format for reading and writing data in the `WellKnownText` (WKT)\n * format.\n *\n * @api\n */\nvar WKT = /** @class */ (function (_super) {\n __extends(WKT, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function WKT(opt_options) {\n var _this = _super.call(this) || this;\n var options = opt_options ? opt_options : {};\n /**\n * Split GeometryCollection into multiple features.\n * @type {boolean}\n * @private\n */\n _this.splitCollection_ =\n options.splitCollection !== undefined ? options.splitCollection : false;\n return _this;\n }\n /**\n * Parse a WKT string.\n * @param {string} wkt WKT string.\n * @return {import(\"../geom/Geometry.js\").default}\n * The geometry created.\n * @private\n */\n WKT.prototype.parse_ = function (wkt) {\n var lexer = new Lexer(wkt);\n var parser = new Parser(lexer);\n return parser.parse();\n };\n /**\n * @protected\n * @param {string} text Text.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {import(\"../Feature.js\").default} Feature.\n */\n WKT.prototype.readFeatureFromText = function (text, opt_options) {\n var geom = this.readGeometryFromText(text, opt_options);\n var feature = new Feature();\n feature.setGeometry(geom);\n return feature;\n };\n /**\n * @param {string} text Text.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {Array} Features.\n */\n WKT.prototype.readFeaturesFromText = function (text, opt_options) {\n var geometries = [];\n var geometry = this.readGeometryFromText(text, opt_options);\n if (this.splitCollection_ && geometry.getType() == 'GeometryCollection') {\n geometries = /** @type {GeometryCollection} */ (geometry).getGeometriesArray();\n }\n else {\n geometries = [geometry];\n }\n var features = [];\n for (var i = 0, ii = geometries.length; i < ii; ++i) {\n var feature = new Feature();\n feature.setGeometry(geometries[i]);\n features.push(feature);\n }\n return features;\n };\n /**\n * @param {string} text Text.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n */\n WKT.prototype.readGeometryFromText = function (text, opt_options) {\n var geometry = this.parse_(text);\n return transformGeometryWithOptions(geometry, false, opt_options);\n };\n /**\n * @param {import(\"../Feature.js\").default} feature Features.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @protected\n * @return {string} Text.\n */\n WKT.prototype.writeFeatureText = function (feature, opt_options) {\n var geometry = feature.getGeometry();\n if (geometry) {\n return this.writeGeometryText(geometry, opt_options);\n }\n return '';\n };\n /**\n * @param {Array} features Features.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @protected\n * @return {string} Text.\n */\n WKT.prototype.writeFeaturesText = function (features, opt_options) {\n if (features.length == 1) {\n return this.writeFeatureText(features[0], opt_options);\n }\n var geometries = [];\n for (var i = 0, ii = features.length; i < ii; ++i) {\n geometries.push(features[i].getGeometry());\n }\n var collection = new GeometryCollection(geometries);\n return this.writeGeometryText(collection, opt_options);\n };\n /**\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @protected\n * @return {string} Text.\n */\n WKT.prototype.writeGeometryText = function (geometry, opt_options) {\n return encode(transformGeometryWithOptions(geometry, true, opt_options));\n };\n return WKT;\n}(TextFeature));\n/**\n * @param {Point} geom Point geometry.\n * @return {string} Coordinates part of Point as WKT.\n */\nfunction encodePointGeometry(geom) {\n var coordinates = geom.getCoordinates();\n if (coordinates.length === 0) {\n return '';\n }\n return coordinates.join(' ');\n}\n/**\n * @param {MultiPoint} geom MultiPoint geometry.\n * @return {string} Coordinates part of MultiPoint as WKT.\n */\nfunction encodeMultiPointGeometry(geom) {\n var array = [];\n var components = geom.getPoints();\n for (var i = 0, ii = components.length; i < ii; ++i) {\n array.push('(' + encodePointGeometry(components[i]) + ')');\n }\n return array.join(',');\n}\n/**\n * @param {GeometryCollection} geom GeometryCollection geometry.\n * @return {string} Coordinates part of GeometryCollection as WKT.\n */\nfunction encodeGeometryCollectionGeometry(geom) {\n var array = [];\n var geoms = geom.getGeometries();\n for (var i = 0, ii = geoms.length; i < ii; ++i) {\n array.push(encode(geoms[i]));\n }\n return array.join(',');\n}\n/**\n * @param {LineString|import(\"../geom/LinearRing.js\").default} geom LineString geometry.\n * @return {string} Coordinates part of LineString as WKT.\n */\nfunction encodeLineStringGeometry(geom) {\n var coordinates = geom.getCoordinates();\n var array = [];\n for (var i = 0, ii = coordinates.length; i < ii; ++i) {\n array.push(coordinates[i].join(' '));\n }\n return array.join(',');\n}\n/**\n * @param {MultiLineString} geom MultiLineString geometry.\n * @return {string} Coordinates part of MultiLineString as WKT.\n */\nfunction encodeMultiLineStringGeometry(geom) {\n var array = [];\n var components = geom.getLineStrings();\n for (var i = 0, ii = components.length; i < ii; ++i) {\n array.push('(' + encodeLineStringGeometry(components[i]) + ')');\n }\n return array.join(',');\n}\n/**\n * @param {Polygon} geom Polygon geometry.\n * @return {string} Coordinates part of Polygon as WKT.\n */\nfunction encodePolygonGeometry(geom) {\n var array = [];\n var rings = geom.getLinearRings();\n for (var i = 0, ii = rings.length; i < ii; ++i) {\n array.push('(' + encodeLineStringGeometry(rings[i]) + ')');\n }\n return array.join(',');\n}\n/**\n * @param {MultiPolygon} geom MultiPolygon geometry.\n * @return {string} Coordinates part of MultiPolygon as WKT.\n */\nfunction encodeMultiPolygonGeometry(geom) {\n var array = [];\n var components = geom.getPolygons();\n for (var i = 0, ii = components.length; i < ii; ++i) {\n array.push('(' + encodePolygonGeometry(components[i]) + ')');\n }\n return array.join(',');\n}\n/**\n * @param {import(\"../geom/SimpleGeometry.js\").default} geom SimpleGeometry geometry.\n * @return {string} Potential dimensional information for WKT type.\n */\nfunction encodeGeometryLayout(geom) {\n var layout = geom.getLayout();\n var dimInfo = '';\n if (layout === GeometryLayout.XYZ || layout === GeometryLayout.XYZM) {\n dimInfo += Z;\n }\n if (layout === GeometryLayout.XYM || layout === GeometryLayout.XYZM) {\n dimInfo += M;\n }\n return dimInfo;\n}\n/**\n * @const\n * @type {Object}\n */\nvar GeometryEncoder = {\n 'Point': encodePointGeometry,\n 'LineString': encodeLineStringGeometry,\n 'Polygon': encodePolygonGeometry,\n 'MultiPoint': encodeMultiPointGeometry,\n 'MultiLineString': encodeMultiLineStringGeometry,\n 'MultiPolygon': encodeMultiPolygonGeometry,\n 'GeometryCollection': encodeGeometryCollectionGeometry,\n};\n/**\n * Encode a geometry as WKT.\n * @param {import(\"../geom/Geometry.js\").default} geom The geometry to encode.\n * @return {string} WKT string for the geometry.\n */\nfunction encode(geom) {\n var type = geom.getType();\n var geometryEncoder = GeometryEncoder[type];\n var enc = geometryEncoder(geom);\n var wktType = wktTypeLookup[type];\n if (typeof ( /** @type {?} */(geom).getFlatCoordinates) === 'function') {\n var dimInfo = encodeGeometryLayout(\n /** @type {import(\"../geom/SimpleGeometry.js\").default} */ (geom));\n if (dimInfo.length > 0) {\n wktType += ' ' + dimInfo;\n }\n }\n if (enc.length === 0) {\n return wktType + ' ' + EMPTY;\n }\n return wktType + '(' + enc + ')';\n}\nexport default WKT;\n//# sourceMappingURL=WKT.js.map","/**\n * @module ol/source/wms\n */\n/**\n * Default WMS version.\n * @type {string}\n */\nexport var DEFAULT_VERSION = '1.3.0';\n/**\n * @api\n * @typedef {'carmentaserver' | 'geoserver' | 'mapserver' | 'qgis'} ServerType\n * Set the server type to use implementation-specific parameters beyond the WMS specification.\n * - `'carmentaserver'`: HiDPI support for [Carmenta Server](https://www.carmenta.com/en/products/carmenta-server)\n * - `'geoserver'`: HiDPI support for [GeoServer](https://geoserver.org/)\n * - `'mapserver'`: HiDPI support for [MapServer](https://mapserver.org/)\n * - `'qgis'`: HiDPI support for [QGIS](https://qgis.org/)\n */\n//# sourceMappingURL=wms.js.map","/**\n * @module ol/source/TileWMS\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport TileImage from './TileImage.js';\nimport { DEFAULT_VERSION } from './wms.js';\nimport { appendParams } from '../uri.js';\nimport { assert } from '../asserts.js';\nimport { assign } from '../obj.js';\nimport { buffer, createEmpty } from '../extent.js';\nimport { buffer as bufferSize, scale as scaleSize, toSize } from '../size.js';\nimport { calculateSourceResolution } from '../reproj.js';\nimport { compareVersions } from '../string.js';\nimport { get as getProjection, transform, transformExtent } from '../proj.js';\nimport { modulo } from '../math.js';\nimport { hash as tileCoordHash } from '../tilecoord.js';\n/**\n * @typedef {Object} Options\n * @property {import(\"./Source.js\").AttributionLike} [attributions] Attributions.\n * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible.\n * @property {number} [cacheSize] Initial tile cache size. Will auto-grow to hold at least the number of tiles in the viewport.\n * @property {null|string} [crossOrigin] The `crossOrigin` attribute for loaded images. Note that\n * you must provide a `crossOrigin` value if you want to access pixel data with the Canvas renderer.\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.\n * @property {boolean} [imageSmoothing=true] Deprecated. Use the `interpolate` option instead.\n * @property {boolean} [interpolate=true] Use interpolated values when resampling. By default,\n * linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.\n * @property {Object} params WMS request parameters.\n * At least a `LAYERS` param is required. `STYLES` is\n * `''` by default. `VERSION` is `1.3.0` by default. `WIDTH`, `HEIGHT`, `BBOX`\n * and `CRS` (`SRS` for WMS version < 1.3.0) will be set dynamically.\n * @property {number} [gutter=0]\n * The size in pixels of the gutter around image tiles to ignore. By setting\n * this property to a non-zero value, images will be requested that are wider\n * and taller than the tile size by a value of `2 x gutter`.\n * Using a non-zero value allows artifacts of rendering at tile edges to be\n * ignored. If you control the WMS service it is recommended to address\n * \"artifacts at tile edges\" issues by properly configuring the WMS service. For\n * example, MapServer has a `tile_map_edge_buffer` configuration parameter for\n * this. See https://mapserver.org/output/tile_mode.html.\n * @property {boolean} [hidpi=true] Use the `ol/Map#pixelRatio` value when requesting\n * the image from the remote server.\n * @property {import(\"../proj.js\").ProjectionLike} [projection] Projection. Default is the view projection.\n * @property {number} [reprojectionErrorThreshold=0.5] Maximum allowed reprojection error (in pixels).\n * Higher values can increase reprojection performance, but decrease precision.\n * @property {typeof import(\"../ImageTile.js\").default} [tileClass] Class used to instantiate image tiles.\n * Default is {@link module:ol/ImageTile~ImageTile}.\n * @property {import(\"../tilegrid/TileGrid.js\").default} [tileGrid] Tile grid. Base this on the resolutions,\n * tilesize and extent supported by the server.\n * If this is not defined, a default grid will be used: if there is a projection\n * extent, the grid will be based on that; if not, a grid based on a global\n * extent with origin at 0,0 will be used.\n * @property {import(\"./wms.js\").ServerType} [serverType] The type of\n * the remote WMS server: `mapserver`, `geoserver`, `carmentaserver`, or `qgis`.\n * Only needed if `hidpi` is `true`.\n * @property {import(\"../Tile.js\").LoadFunction} [tileLoadFunction] Optional function to load a tile given a URL. The default is\n * ```js\n * function(imageTile, src) {\n * imageTile.getImage().src = src;\n * };\n * ```\n * @property {string} [url] WMS service URL.\n * @property {Array} [urls] WMS service urls.\n * Use this instead of `url` when the WMS supports multiple urls for GetMap requests.\n * @property {boolean} [wrapX=true] Whether to wrap the world horizontally.\n * When set to `false`, only one world\n * will be rendered. When `true`, tiles will be requested for one world only,\n * but they will be wrapped horizontally to render multiple worlds.\n * @property {number} [transition] Duration of the opacity transition for rendering.\n * To disable the opacity transition, pass `transition: 0`.\n * @property {number|import(\"../array.js\").NearestDirectionFunction} [zDirection=0]\n * Choose whether to use tiles with a higher or lower zoom level when between integer\n * zoom levels. See {@link module:ol/tilegrid/TileGrid~TileGrid#getZForResolution}.\n */\n/**\n * @classdesc\n * Layer source for tile data from WMS servers.\n * @api\n */\nvar TileWMS = /** @class */ (function (_super) {\n __extends(TileWMS, _super);\n /**\n * @param {Options} [opt_options] Tile WMS options.\n */\n function TileWMS(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : /** @type {Options} */ ({});\n var interpolate = options.imageSmoothing !== undefined ? options.imageSmoothing : true;\n if (options.interpolate !== undefined) {\n interpolate = options.interpolate;\n }\n var params = options.params || {};\n var transparent = 'TRANSPARENT' in params ? params['TRANSPARENT'] : true;\n _this = _super.call(this, {\n attributions: options.attributions,\n attributionsCollapsible: options.attributionsCollapsible,\n cacheSize: options.cacheSize,\n crossOrigin: options.crossOrigin,\n interpolate: interpolate,\n opaque: !transparent,\n projection: options.projection,\n reprojectionErrorThreshold: options.reprojectionErrorThreshold,\n tileClass: options.tileClass,\n tileGrid: options.tileGrid,\n tileLoadFunction: options.tileLoadFunction,\n url: options.url,\n urls: options.urls,\n wrapX: options.wrapX !== undefined ? options.wrapX : true,\n transition: options.transition,\n zDirection: options.zDirection,\n }) || this;\n /**\n * @private\n * @type {number}\n */\n _this.gutter_ = options.gutter !== undefined ? options.gutter : 0;\n /**\n * @private\n * @type {!Object}\n */\n _this.params_ = params;\n /**\n * @private\n * @type {boolean}\n */\n _this.v13_ = true;\n /**\n * @private\n * @type {import(\"./wms.js\").ServerType}\n */\n _this.serverType_ = options.serverType;\n /**\n * @private\n * @type {boolean}\n */\n _this.hidpi_ = options.hidpi !== undefined ? options.hidpi : true;\n /**\n * @private\n * @type {import(\"../extent.js\").Extent}\n */\n _this.tmpExtent_ = createEmpty();\n _this.updateV13_();\n _this.setKey(_this.getKeyForParams_());\n return _this;\n }\n /**\n * Return the GetFeatureInfo URL for the passed coordinate, resolution, and\n * projection. Return `undefined` if the GetFeatureInfo URL cannot be\n * constructed.\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {number} resolution Resolution.\n * @param {import(\"../proj.js\").ProjectionLike} projection Projection.\n * @param {!Object} params GetFeatureInfo params. `INFO_FORMAT` at least should\n * be provided. If `QUERY_LAYERS` is not provided then the layers specified\n * in the `LAYERS` parameter will be used. `VERSION` should not be\n * specified here.\n * @return {string|undefined} GetFeatureInfo URL.\n * @api\n */\n TileWMS.prototype.getFeatureInfoUrl = function (coordinate, resolution, projection, params) {\n var projectionObj = getProjection(projection);\n var sourceProjectionObj = this.getProjection();\n var tileGrid = this.getTileGrid();\n if (!tileGrid) {\n tileGrid = this.getTileGridForProjection(projectionObj);\n }\n var z = tileGrid.getZForResolution(resolution, this.zDirection);\n var tileCoord = tileGrid.getTileCoordForCoordAndZ(coordinate, z);\n if (tileGrid.getResolutions().length <= tileCoord[0]) {\n return undefined;\n }\n var tileResolution = tileGrid.getResolution(tileCoord[0]);\n var tileExtent = tileGrid.getTileCoordExtent(tileCoord, this.tmpExtent_);\n var tileSize = toSize(tileGrid.getTileSize(tileCoord[0]), this.tmpSize);\n var gutter = this.gutter_;\n if (gutter !== 0) {\n tileSize = bufferSize(tileSize, gutter, this.tmpSize);\n tileExtent = buffer(tileExtent, tileResolution * gutter, tileExtent);\n }\n if (sourceProjectionObj && sourceProjectionObj !== projectionObj) {\n tileResolution = calculateSourceResolution(sourceProjectionObj, projectionObj, coordinate, tileResolution);\n tileExtent = transformExtent(tileExtent, projectionObj, sourceProjectionObj);\n coordinate = transform(coordinate, projectionObj, sourceProjectionObj);\n }\n var baseParams = {\n 'SERVICE': 'WMS',\n 'VERSION': DEFAULT_VERSION,\n 'REQUEST': 'GetFeatureInfo',\n 'FORMAT': 'image/png',\n 'TRANSPARENT': true,\n 'QUERY_LAYERS': this.params_['LAYERS'],\n };\n assign(baseParams, this.params_, params);\n var x = Math.floor((coordinate[0] - tileExtent[0]) / tileResolution);\n var y = Math.floor((tileExtent[3] - coordinate[1]) / tileResolution);\n baseParams[this.v13_ ? 'I' : 'X'] = x;\n baseParams[this.v13_ ? 'J' : 'Y'] = y;\n return this.getRequestUrl_(tileCoord, tileSize, tileExtent, 1, sourceProjectionObj || projectionObj, baseParams);\n };\n /**\n * Return the GetLegendGraphic URL, optionally optimized for the passed\n * resolution and possibly including any passed specific parameters. Returns\n * `undefined` if the GetLegendGraphic URL cannot be constructed.\n *\n * @param {number} [resolution] Resolution. If set to undefined, `SCALE`\n * will not be calculated and included in URL.\n * @param {Object} [params] GetLegendGraphic params. If `LAYER` is set, the\n * request is generated for this wms layer, else it will try to use the\n * configured wms layer. Default `FORMAT` is `image/png`.\n * `VERSION` should not be specified here.\n * @return {string|undefined} GetLegendGraphic URL.\n * @api\n */\n TileWMS.prototype.getLegendUrl = function (resolution, params) {\n if (this.urls[0] === undefined) {\n return undefined;\n }\n var baseParams = {\n 'SERVICE': 'WMS',\n 'VERSION': DEFAULT_VERSION,\n 'REQUEST': 'GetLegendGraphic',\n 'FORMAT': 'image/png',\n };\n if (params === undefined || params['LAYER'] === undefined) {\n var layers = this.params_.LAYERS;\n var isSingleLayer = !Array.isArray(layers) || layers.length === 1;\n if (!isSingleLayer) {\n return undefined;\n }\n baseParams['LAYER'] = layers;\n }\n if (resolution !== undefined) {\n var mpu = this.getProjection()\n ? this.getProjection().getMetersPerUnit()\n : 1;\n var pixelSize = 0.00028;\n baseParams['SCALE'] = (resolution * mpu) / pixelSize;\n }\n assign(baseParams, params);\n return appendParams(/** @type {string} */ (this.urls[0]), baseParams);\n };\n /**\n * @return {number} Gutter.\n */\n TileWMS.prototype.getGutter = function () {\n return this.gutter_;\n };\n /**\n * Get the user-provided params, i.e. those passed to the constructor through\n * the \"params\" option, and possibly updated using the updateParams method.\n * @return {Object} Params.\n * @api\n */\n TileWMS.prototype.getParams = function () {\n return this.params_;\n };\n /**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {import(\"../size.js\").Size} tileSize Tile size.\n * @param {import(\"../extent.js\").Extent} tileExtent Tile extent.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @param {Object} params Params.\n * @return {string|undefined} Request URL.\n * @private\n */\n TileWMS.prototype.getRequestUrl_ = function (tileCoord, tileSize, tileExtent, pixelRatio, projection, params) {\n var urls = this.urls;\n if (!urls) {\n return undefined;\n }\n params['WIDTH'] = tileSize[0];\n params['HEIGHT'] = tileSize[1];\n params[this.v13_ ? 'CRS' : 'SRS'] = projection.getCode();\n if (!('STYLES' in this.params_)) {\n params['STYLES'] = '';\n }\n if (pixelRatio != 1) {\n switch (this.serverType_) {\n case 'geoserver':\n var dpi = (90 * pixelRatio + 0.5) | 0;\n if ('FORMAT_OPTIONS' in params) {\n params['FORMAT_OPTIONS'] += ';dpi:' + dpi;\n }\n else {\n params['FORMAT_OPTIONS'] = 'dpi:' + dpi;\n }\n break;\n case 'mapserver':\n params['MAP_RESOLUTION'] = 90 * pixelRatio;\n break;\n case 'carmentaserver':\n case 'qgis':\n params['DPI'] = 90 * pixelRatio;\n break;\n default: // Unknown `serverType` configured\n assert(false, 52);\n break;\n }\n }\n var axisOrientation = projection.getAxisOrientation();\n var bbox = tileExtent;\n if (this.v13_ && axisOrientation.substr(0, 2) == 'ne') {\n var tmp = void 0;\n tmp = tileExtent[0];\n bbox[0] = tileExtent[1];\n bbox[1] = tmp;\n tmp = tileExtent[2];\n bbox[2] = tileExtent[3];\n bbox[3] = tmp;\n }\n params['BBOX'] = bbox.join(',');\n var url;\n if (urls.length == 1) {\n url = urls[0];\n }\n else {\n var index = modulo(tileCoordHash(tileCoord), urls.length);\n url = urls[index];\n }\n return appendParams(url, params);\n };\n /**\n * Get the tile pixel ratio for this source.\n * @param {number} pixelRatio Pixel ratio.\n * @return {number} Tile pixel ratio.\n */\n TileWMS.prototype.getTilePixelRatio = function (pixelRatio) {\n return !this.hidpi_ || this.serverType_ === undefined ? 1 : pixelRatio;\n };\n /**\n * @private\n * @return {string} The key for the current params.\n */\n TileWMS.prototype.getKeyForParams_ = function () {\n var i = 0;\n var res = [];\n for (var key in this.params_) {\n res[i++] = key + '-' + this.params_[key];\n }\n return res.join('/');\n };\n /**\n * Update the user-provided params.\n * @param {Object} params Params.\n * @api\n */\n TileWMS.prototype.updateParams = function (params) {\n assign(this.params_, params);\n this.updateV13_();\n this.setKey(this.getKeyForParams_());\n };\n /**\n * @private\n */\n TileWMS.prototype.updateV13_ = function () {\n var version = this.params_['VERSION'] || DEFAULT_VERSION;\n this.v13_ = compareVersions(version, '1.3') >= 0;\n };\n /**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord The tile coordinate\n * @param {number} pixelRatio The pixel ratio\n * @param {import(\"../proj/Projection.js\").default} projection The projection\n * @return {string|undefined} The tile URL\n * @override\n */\n TileWMS.prototype.tileUrlFunction = function (tileCoord, pixelRatio, projection) {\n var tileGrid = this.getTileGrid();\n if (!tileGrid) {\n tileGrid = this.getTileGridForProjection(projection);\n }\n if (tileGrid.getResolutions().length <= tileCoord[0]) {\n return undefined;\n }\n if (pixelRatio != 1 && (!this.hidpi_ || this.serverType_ === undefined)) {\n pixelRatio = 1;\n }\n var tileResolution = tileGrid.getResolution(tileCoord[0]);\n var tileExtent = tileGrid.getTileCoordExtent(tileCoord, this.tmpExtent_);\n var tileSize = toSize(tileGrid.getTileSize(tileCoord[0]), this.tmpSize);\n var gutter = this.gutter_;\n if (gutter !== 0) {\n tileSize = bufferSize(tileSize, gutter, this.tmpSize);\n tileExtent = buffer(tileExtent, tileResolution * gutter, tileExtent);\n }\n if (pixelRatio != 1) {\n tileSize = scaleSize(tileSize, pixelRatio, this.tmpSize);\n }\n var baseParams = {\n 'SERVICE': 'WMS',\n 'VERSION': DEFAULT_VERSION,\n 'REQUEST': 'GetMap',\n 'FORMAT': 'image/png',\n 'TRANSPARENT': true,\n };\n assign(baseParams, this.params_);\n return this.getRequestUrl_(tileCoord, tileSize, tileExtent, pixelRatio, projection, baseParams);\n };\n return TileWMS;\n}(TileImage));\nexport default TileWMS;\n//# sourceMappingURL=TileWMS.js.map","/**\n * @module ol/source/BingMaps\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport TileImage from './TileImage.js';\nimport { applyTransform, intersects } from '../extent.js';\nimport { createFromTileUrlFunctions } from '../tileurlfunction.js';\nimport { createOrUpdate } from '../tilecoord.js';\nimport { createXYZ, extentFromProjection } from '../tilegrid.js';\nimport { get as getProjection, getTransformFromProjections } from '../proj.js';\nimport { jsonp as requestJSONP } from '../net.js';\n/**\n * @param {import('../tilecoord.js').TileCoord} tileCoord Tile coord.\n * @return {string} Quad key.\n */\nexport function quadKey(tileCoord) {\n var z = tileCoord[0];\n var digits = new Array(z);\n var mask = 1 << (z - 1);\n var i, charCode;\n for (i = 0; i < z; ++i) {\n // 48 is charCode for 0 - '0'.charCodeAt(0)\n charCode = 48;\n if (tileCoord[1] & mask) {\n charCode += 1;\n }\n if (tileCoord[2] & mask) {\n charCode += 2;\n }\n digits[i] = String.fromCharCode(charCode);\n mask >>= 1;\n }\n return digits.join('');\n}\n/**\n * The attribution containing a link to the Microsoft® Bing™ Maps Platform APIs’\n * Terms Of Use.\n * @const\n * @type {string}\n */\nvar TOS_ATTRIBUTION = '' +\n 'Terms of Use';\n/**\n * @typedef {Object} Options\n * @property {number} [cacheSize] Initial tile cache size. Will auto-grow to hold at least the number of tiles in the viewport.\n * @property {boolean} [hidpi=false] If `true` hidpi tiles will be requested.\n * @property {string} [culture='en-us'] Culture code.\n * @property {string} key Bing Maps API key. Get yours at https://www.bingmapsportal.com/.\n * @property {string} imagerySet Type of imagery.\n * @property {boolean} [imageSmoothing=true] Deprecated. Use the `interpolate` option instead.\n * @property {boolean} [interpolate=true] Use interpolated values when resampling. By default,\n * linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.\n * @property {number} [maxZoom=21] Max zoom. Default is what's advertized by the BingMaps service.\n * @property {number} [reprojectionErrorThreshold=0.5] Maximum allowed reprojection error (in pixels).\n * Higher values can increase reprojection performance, but decrease precision.\n * @property {import(\"../Tile.js\").LoadFunction} [tileLoadFunction] Optional function to load a tile given a URL. The default is\n * ```js\n * function(imageTile, src) {\n * imageTile.getImage().src = src;\n * };\n * ```\n * @property {boolean} [wrapX=true] Whether to wrap the world horizontally.\n * @property {number} [transition] Duration of the opacity transition for rendering.\n * To disable the opacity transition, pass `transition: 0`.\n * @property {number|import(\"../array.js\").NearestDirectionFunction} [zDirection=0]\n * Choose whether to use tiles with a higher or lower zoom level when between integer\n * zoom levels. See {@link module:ol/tilegrid/TileGrid~TileGrid#getZForResolution}.\n */\n/**\n * @typedef {Object} BingMapsImageryMetadataResponse\n * @property {number} statusCode The response status code\n * @property {string} statusDescription The response status description\n * @property {string} authenticationResultCode The authentication result code\n * @property {Array} resourceSets The array of resource sets\n */\n/**\n * @typedef {Object} ResourceSet\n * @property {Array} resources Resources.\n */\n/**\n * @typedef {Object} Resource\n * @property {number} imageHeight The image height\n * @property {number} imageWidth The image width\n * @property {number} zoomMin The minimum zoom level\n * @property {number} zoomMax The maximum zoom level\n * @property {string} imageUrl The image URL\n * @property {Array} imageUrlSubdomains The image URL subdomains for rotation\n * @property {Array} [imageryProviders] The array of ImageryProviders\n */\n/**\n * @typedef {Object} ImageryProvider\n * @property {Array} coverageAreas The coverage areas\n * @property {string} [attribution] The attribution\n */\n/**\n * @typedef {Object} CoverageArea\n * @property {number} zoomMin The minimum zoom\n * @property {number} zoomMax The maximum zoom\n * @property {Array} bbox The coverage bounding box\n */\n/**\n * @classdesc\n * Layer source for Bing Maps tile data.\n * @api\n */\nvar BingMaps = /** @class */ (function (_super) {\n __extends(BingMaps, _super);\n /**\n * @param {Options} options Bing Maps options.\n */\n function BingMaps(options) {\n var _this = this;\n var hidpi = options.hidpi !== undefined ? options.hidpi : false;\n var interpolate = options.imageSmoothing !== undefined ? options.imageSmoothing : true;\n if (options.interpolate !== undefined) {\n interpolate = options.interpolate;\n }\n _this = _super.call(this, {\n cacheSize: options.cacheSize,\n crossOrigin: 'anonymous',\n interpolate: interpolate,\n opaque: true,\n projection: getProjection('EPSG:3857'),\n reprojectionErrorThreshold: options.reprojectionErrorThreshold,\n state: 'loading',\n tileLoadFunction: options.tileLoadFunction,\n tilePixelRatio: hidpi ? 2 : 1,\n wrapX: options.wrapX !== undefined ? options.wrapX : true,\n transition: options.transition,\n zDirection: options.zDirection,\n }) || this;\n /**\n * @private\n * @type {boolean}\n */\n _this.hidpi_ = hidpi;\n /**\n * @private\n * @type {string}\n */\n _this.culture_ = options.culture !== undefined ? options.culture : 'en-us';\n /**\n * @private\n * @type {number}\n */\n _this.maxZoom_ = options.maxZoom !== undefined ? options.maxZoom : -1;\n /**\n * @private\n * @type {string}\n */\n _this.apiKey_ = options.key;\n /**\n * @private\n * @type {string}\n */\n _this.imagerySet_ = options.imagerySet;\n var url = 'https://dev.virtualearth.net/REST/v1/Imagery/Metadata/' +\n _this.imagerySet_ +\n '?uriScheme=https&include=ImageryProviders&key=' +\n _this.apiKey_ +\n '&c=' +\n _this.culture_;\n requestJSONP(url, _this.handleImageryMetadataResponse.bind(_this), undefined, 'jsonp');\n return _this;\n }\n /**\n * Get the api key used for this source.\n *\n * @return {string} The api key.\n * @api\n */\n BingMaps.prototype.getApiKey = function () {\n return this.apiKey_;\n };\n /**\n * Get the imagery set associated with this source.\n *\n * @return {string} The imagery set.\n * @api\n */\n BingMaps.prototype.getImagerySet = function () {\n return this.imagerySet_;\n };\n /**\n * @param {BingMapsImageryMetadataResponse} response Response.\n */\n BingMaps.prototype.handleImageryMetadataResponse = function (response) {\n if (response.statusCode != 200 ||\n response.statusDescription != 'OK' ||\n response.authenticationResultCode != 'ValidCredentials' ||\n response.resourceSets.length != 1 ||\n response.resourceSets[0].resources.length != 1) {\n this.setState('error');\n return;\n }\n var resource = response.resourceSets[0].resources[0];\n var maxZoom = this.maxZoom_ == -1 ? resource.zoomMax : this.maxZoom_;\n var sourceProjection = this.getProjection();\n var extent = extentFromProjection(sourceProjection);\n var scale = this.hidpi_ ? 2 : 1;\n var tileSize = resource.imageWidth == resource.imageHeight\n ? resource.imageWidth / scale\n : [resource.imageWidth / scale, resource.imageHeight / scale];\n var tileGrid = createXYZ({\n extent: extent,\n minZoom: resource.zoomMin,\n maxZoom: maxZoom,\n tileSize: tileSize,\n });\n this.tileGrid = tileGrid;\n var culture = this.culture_;\n var hidpi = this.hidpi_;\n this.tileUrlFunction = createFromTileUrlFunctions(resource.imageUrlSubdomains.map(function (subdomain) {\n /** @type {import('../tilecoord.js').TileCoord} */\n var quadKeyTileCoord = [0, 0, 0];\n var imageUrl = resource.imageUrl\n .replace('{subdomain}', subdomain)\n .replace('{culture}', culture);\n return (\n /**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {string|undefined} Tile URL.\n */\n function (tileCoord, pixelRatio, projection) {\n if (!tileCoord) {\n return undefined;\n }\n else {\n createOrUpdate(tileCoord[0], tileCoord[1], tileCoord[2], quadKeyTileCoord);\n var url = imageUrl;\n if (hidpi) {\n url += '&dpi=d1&device=mobile';\n }\n return url.replace('{quadkey}', quadKey(quadKeyTileCoord));\n }\n });\n }));\n if (resource.imageryProviders) {\n var transform_1 = getTransformFromProjections(getProjection('EPSG:4326'), this.getProjection());\n this.setAttributions(function (frameState) {\n var attributions = [];\n var viewState = frameState.viewState;\n var tileGrid = this.getTileGrid();\n var z = tileGrid.getZForResolution(viewState.resolution, this.zDirection);\n var tileCoord = tileGrid.getTileCoordForCoordAndZ(viewState.center, z);\n var zoom = tileCoord[0];\n resource.imageryProviders.map(function (imageryProvider) {\n var intersecting = false;\n var coverageAreas = imageryProvider.coverageAreas;\n for (var i = 0, ii = coverageAreas.length; i < ii; ++i) {\n var coverageArea = coverageAreas[i];\n if (zoom >= coverageArea.zoomMin &&\n zoom <= coverageArea.zoomMax) {\n var bbox = coverageArea.bbox;\n var epsg4326Extent = [bbox[1], bbox[0], bbox[3], bbox[2]];\n var extent_1 = applyTransform(epsg4326Extent, transform_1);\n if (intersects(extent_1, frameState.extent)) {\n intersecting = true;\n break;\n }\n }\n }\n if (intersecting) {\n attributions.push(imageryProvider.attribution);\n }\n });\n attributions.push(TOS_ATTRIBUTION);\n return attributions;\n }.bind(this));\n }\n this.setState('ready');\n };\n return BingMaps;\n}(TileImage));\nexport default BingMaps;\n//# sourceMappingURL=BingMaps.js.map","// disable eslint check for new-cap because every openlayer object is lowercase\n/* eslint-disable new-cap */\n\nimport olInteractionSelect from 'ol/interaction/Select'\nimport olFeature from 'ol/Feature'\nimport olFormatWkt from 'ol/format/WKT'\nimport olControlScaleLine from 'ol/control/ScaleLine'\nimport olSourceTilewms from 'ol/source/TileWMS'\nimport olLayerTile from 'ol/layer/Tile'\nimport { fromLonLat } from 'ol/proj'\nimport BingMaps from 'ol/source/BingMaps'\nimport olSourceXyz from 'ol/source/XYZ'\nimport * as olExtent from 'ol/extent'\nimport olStyleStyle from 'ol/style/Style'\nimport olStyleIcon from 'ol/style/Icon'\n\nimport OSM from 'ol/source/OSM'\n\nexport default {\n /**\n * Returns the layer object\n */\n getLayerByName (name, map) {\n let layer\n\n map.getLayers().forEach(function (lyr) {\n let layerName = lyr.get('name')\n if (name === layerName) {\n layer = lyr\n }\n })\n\n return layer\n },\n\n /**\n * Get the feature with ID 'featureID' in layer 'layer'.\n * @param {ol/layer} the layer\n * @param {string} the ID of the feature\n */\n getFeature (layer, featureID) {\n if (typeof layer !== 'undefined') {\n return layer.getSource().getFeatureById(featureID)\n }\n },\n\n /**\n * returns the interaction object\n */\n getInteraction (interactionType, map) {\n let retInteraction\n map.getInteractions().forEach(function (interaction) {\n if (interaction instanceof interactionType) {\n retInteraction = interaction\n }\n })\n\n return retInteraction\n },\n\n /**\n * Change the selection to the given feature (or none if not found)\n */\n selectFeature (layerName, featureID, map) {\n let layer = this.getLayerByName(layerName, map)\n let feature = this.getFeature(layer, featureID)\n\n let selectInteraction = this.getInteraction(olInteractionSelect, map)\n selectInteraction.getFeatures().clear()\n\n if (feature) {\n selectInteraction.getFeatures().push(feature)\n }\n\n return feature\n },\n\n /**\n * Add feature 'feature' to layer with name 'layerName'.\n * @param {string} layerName the name of the layer\n * @param {ol/Feature} feature the feature to be added\n */\n addFeature (layerName, feature, map) {\n let layer = this.getLayerByName(layerName, map)\n\n if (typeof layer !== 'undefined') {\n layer.getSource().addFeature(feature)\n }\n },\n\n /*\n add features like scale lines, north arrows, wind socks.. whatever\n */\n addOverlayFeatures (map) {\n // eslint-disable-next-line new-cap\n const scaleLine = new olControlScaleLine()\n map.addControl(scaleLine)\n map.scaleLineRef = scaleLine\n },\n\n /**\n * Places a marker on the map as an OpenLayers.Feature.Vector .\n * @param {ol.geom.Point} position - The position where the marker has to be placed (has to be in mercator projection)\n * @param {iconStyleEnum} iconStyle - The style of the marker to be placed\n * @param {object} [markerData] - The data that is to attached to the marker\n */\n createMarker (position, iconStyle, markerData) {\n markerData = markerData || {}\n\n // eslint-disable-next-line new-cap\n let marker = new olFeature({\n geometry: position\n })\n\n marker.setStyle(iconStyle)\n\n // cannot set via constructor :(\n if (markerData.id) {\n marker.setId(markerData.id)\n }\n\n return marker\n },\n\n /**\n * Remove all features from the select interaction and the layer with name 'layerName'.\n * @param {string} layerName the name of the layer\n */\n removeAllFeatures (layerName, map) {\n let selectInteraction = this.getInteraction(olInteractionSelect, map)\n\n if (selectInteraction) {\n selectInteraction.getFeatures().clear()\n }\n\n let layer = this.getLayerByName(layerName, map)\n\n if (layer) {\n layer.getSource().clear()\n }\n },\n\n /**\n * Focus (zoom in) on feature with id 'featureID' in layer with name 'layerName'.\n * @param {string} layerName the name of the layer\n * @param {string} featureID the ID of the feature\n */\n focusOnFeature (layerName, featureID, map) {\n // focus on feature\n let layer = this.getLayerByName(layerName, map)\n\n let feature = this.getFeature(layer, featureID)\n\n if (feature === null) return\n\n // keep current zoom level if the user is zoomed in\n let currentZoom = map.getView().getZoom()\n if (currentZoom < 18) {\n map.getView().setZoom(18)\n }\n\n let extent = feature.getGeometry().getExtent()\n let center = olExtent.getCenter(extent)\n map.getView().animate({ center: center })\n },\n\n /**\n * Focus on and select a measurementpoint.\n * @param {string} mpID Either the MpID or MpGuid of the measuremenpoint to be focussed on.\n */\n focusOnMP (mpID, measurementPoints, map) {\n this.focusOnFeature('map.layer.projectData.measurementPointLayer', mpID, map)\n this.selectFeature('map.layer.projectData.measurementPointLayer', mpID, map)\n },\n\n /**\n * Redraws all measurementPoints when either the measurementPoints change or when the route changes.\n * Do note that this removes and re-adds all map features, meaning any previous references to features are invalidated\n */\n redrawMeasurementPoints: function (\n highlightSelectedMeasurementPoint = true,\n measurementPoints,\n MpIdFilter,\n { defaultStyleSVG, gaugingTubeStyleSVG, otherStyleSVG, probingStyleSVG, holeBoreholeStyleSVG, monitoringWellStyleSVG, findingSiteStyleSVG, holeStyleSVG },\n map\n ) {\n if (measurementPoints.length === 0) {\n return\n }\n this.removeAllFeatures('map.layer.projectData.measurementPointLayer', this.map)\n\n let filteredMeasurementPoints = measurementPoints\n\n if (MpIdFilter) {\n filteredMeasurementPoints = filteredMeasurementPoints.filter(\n (measurementPoint) => measurementPoint.MpID === MpIdFilter\n )\n }\n\n filteredMeasurementPoints.forEach(function (measurementPoint) {\n if (measurementPoint.MpPointGeometry) {\n let geometry = this.readWKTString(measurementPoint.MpPointGeometry)\n\n // Decide which svg icon to use for the current measurementPoint\n let svgStyle = ''\n switch (measurementPoint.MpTypeCode) {\n case 'V':\n case 'B':\n svgStyle = defaultStyleSVG\n break\n case 'P':\n svgStyle = gaugingTubeStyleSVG\n break\n case 'A':\n svgStyle = holeStyleSVG\n break\n case 'D':\n case 'E':\n svgStyle = holeStyleSVG\n break\n case 'G':\n case 'K':\n case 'L':\n case 'R':\n case 'S':\n case 'U':\n case 'W':\n svgStyle = otherStyleSVG\n break\n case 'C':\n case 'O':\n svgStyle = probingStyleSVG\n break\n case '35':\n svgStyle = holeBoreholeStyleSVG\n break\n case '36':\n svgStyle = monitoringWellStyleSVG\n break\n case '37':\n svgStyle = findingSiteStyleSVG\n break\n\n default:\n svgStyle = defaultStyleSVG\n break\n }\n\n let featureStyle\n\n // Create the style for the current measurementPoint. Make sure it is red if its the current one.\n if (\n highlightSelectedMeasurementPoint &&\n typeof self.$route.params.measurementPointId !== 'undefined' &&\n self.$route.params.measurementPointId === measurementPoint.MpID\n ) {\n if (self.translateInteraction) {\n // Drag and drop to move the current measurementPoint is enabled\n // eslint-disable-next-line new-cap\n featureStyle = new olStyleStyle({\n // eslint-disable-next-line new-cap\n image: new olStyleIcon({\n src: svgStyle,\n scale: 0.5,\n color: '#000000'\n })\n })\n } else {\n // MeasurementPoint is locked in place\n // eslint-disable-next-line new-cap\n featureStyle = new olStyleStyle({\n // eslint-disable-next-line new-cap\n image: new olStyleIcon({\n src: svgStyle,\n scale: 0.5,\n color: '#ff0000'\n })\n })\n }\n } else {\n // MeasurementPoint is not currently selected\n // eslint-disable-next-line new-cap\n featureStyle = new olStyleStyle({\n // eslint-disable-next-line new-cap\n image: new olStyleIcon({\n src: svgStyle,\n scale: 0.5\n })\n })\n }\n\n // Add measurementPoint name to the style.\n // templateManipulation.addTextToStyle(featureStyle, measurementPoint.MpName, self.invertMapTextColour)\n\n // Create and add the marker to the layer.\n let marker = this.createMarker(geometry, featureStyle, {\n id: measurementPoint.MpID\n })\n this.addFeature('map.layer.projectData.measurementPointLayer', marker, map)\n }\n })\n // Set to true so the watch on the route is activated.\n this.measurementPointsReady = true\n },\n\n /**\n * Strips the z coordinate from a wktstring (if present) and returns it as a geometry in the correct projection\n * @param {string} wktString - geometry string in EPSG:4326\n * @return {string} - geometry string in EPSG: 3857 without z coordinate\n */\n readWKTString (wktString) {\n // hacky way to remove 3th argument\n // since this is not needed by OL3\n if (wktString.includes('POINT')) {\n let coordinates = wktString.substring(\n wktString.lastIndexOf('(') + 1,\n wktString.lastIndexOf(')')\n )\n let split = coordinates.split(' ')\n\n if (split.length > 2) {\n wktString = 'POINT (' + split[0] + ' ' + split[1] + ')'\n }\n }\n\n // parse geometry\n // eslint-disable-next-line new-cap\n let format = new olFormatWkt()\n let geom = format.readGeometry(wktString)\n\n geom.transform('EPSG:4326', 'EPSG:3857')\n\n return geom\n },\n\n /*\n *\n */\n readWKTStringHeight (wktString) {\n if (wktString != null && wktString.includes('POINT')) {\n let coordinates = wktString.substring(\n wktString.lastIndexOf('(') + 1,\n wktString.lastIndexOf(')')\n )\n let split = coordinates.split(' ')\n\n if (split.length < 2) {\n return split[2]\n } else {\n return null\n }\n } else {\n return null\n }\n },\n\n /**\n * Reverses readWKTString()\n */\n writeWKTString (geometry, zCoordinate) {\n // eslint-disable-next-line new-cap\n let format = new olFormatWkt()\n // clone the geometry since we don't want to transform the real geometry\n // THIS IS REALLY IMPORTANT\n let geom = geometry.clone()\n geom.transform('EPSG:3857', 'EPSG:4326')\n let wktString = format.writeGeometry(geom)\n\n // add extra z-coordinate if it's defined and store in wkt-string\n if (zCoordinate && wktString.includes('POINT')) {\n wktString = wktString.substring(0, wktString.length - 1) + ' ' + zCoordinate + ')'\n }\n\n return wktString\n },\n\n convertToOLLayerObject (obj, objName) {\n let subLayers = obj.sublayers.reduce((obj, item) => {\n obj[item['id']] = {\n title: item['title'],\n visible: false\n }\n\n return obj\n }, {})\n\n let source = {\n url: obj.url,\n projection: obj.EPSG || 'EPSG:3857',\n transition: 0,\n params: {\n CRS: obj.EPSG || 'EPSG:3857'\n },\n crossOrigin: 'anonymous'\n }\n // eslint-disable-next-line new-cap\n return new olLayerTile(\n Object.assign(\n {\n name: obj.name,\n category: obj.country,\n editable: true,\n visible: false,\n invertMapTextColour: obj.invertMapTextColour,\n opacity: 1,\n opacityPercentage: 100,\n subLayers: subLayers,\n viewparams: obj['viewparams'],\n CQL_FILTER: obj['CQL_FILTER'],\n preload: Infinity,\n // eslint-disable-next-line new-cap\n source: new olSourceTilewms(source)\n },\n objName\n )\n )\n },\n\n convertBaseLayerToOLLayerObject (obj, mapLayersConfig) {\n let source\n let name\n switch (obj.source) {\n case 'BING':\n name = 'map.layer.base.BING.' + obj.settings.imagerySet\n source = new BingMaps(obj.settings)\n break\n case 'OSM':\n name = 'map.layer.base.OSM'\n source = new OSM()\n break\n case 'ESRI':\n name = 'map.layer.base.ESRI.' + obj.name\n // eslint-disable-next-line new-cap\n source = new olSourceXyz(obj.settings)\n break\n default:\n console.error('convertBaseLayerToOLLayerObject(): Invalid type!')\n return\n }\n\n source.crossOrigin = 'anonymous'\n\n // eslint-disable-next-line new-cap\n return new olLayerTile(\n Object.assign(\n {\n name: name,\n category: 'Base',\n visible: obj.defaultVisible,\n invertMapTextColour: obj.invertMapTextColour,\n opacity: 1,\n opacityPercentage: 100,\n editable: true,\n preload: Infinity,\n source: source\n },\n mapLayersConfig[name]\n )\n )\n },\n\n /**\n * Add right click on draw feature interaction. Opens context menu.\n * @param {*} ctx Open Layers map component\n */\n addContextMenuInteraction (ctx) {\n ctx.map.getViewport().addEventListener('contextmenu', async function (e) {\n e.preventDefault()\n const { layerX, layerY } = e\n\n // Not drawing & on feature - Pop menu\n if (!ctx.clickToDrawContour) {\n const featureArray = await ctx.drawLayer.getFeatures([layerX, layerY])\n if (featureArray.length === 0) return\n\n const feature = featureArray[0]\n ctx.clickToContextMenu = true\n ctx.position = { x: layerX, y: layerY }\n ctx.selectedDrawFeature = feature\n }\n\n // Drawing - Cancel\n if (ctx.clickToDrawContour) {\n ctx.drawFeature.abortDrawing()\n }\n })\n },\n search (query, map) {\n fetch(`https://nominatim.openstreetmap.org/search.php?q=` + encodeURIComponent(query) + `&format=jsonv2`)\n .then(response => {\n if (response.status === 200) {\n response.json().then(searchResults => {\n if (searchResults.length > 0) {\n var topResult = searchResults[0]\n var coordinates = fromLonLat([topResult.lon, topResult.lat], 'EPSG:3857')\n map.getView().setCenter(coordinates, map.getSize(), coordinates)\n map.getView().animate({\n zoom: 19,\n duration: 1500\n })\n }\n })\n }\n })\n }\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/format/JSONFeature\n */\nimport FeatureFormat from './Feature.js';\nimport { abstract } from '../util.js';\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * Base class for JSON feature formats.\n *\n * @abstract\n */\nvar JSONFeature = /** @class */ (function (_super) {\n __extends(JSONFeature, _super);\n function JSONFeature() {\n return _super.call(this) || this;\n }\n /**\n * @return {import(\"./Feature.js\").Type} Format.\n */\n JSONFeature.prototype.getType = function () {\n return 'json';\n };\n /**\n * Read a feature. Only works for a single feature. Use `readFeatures` to\n * read a feature collection.\n *\n * @param {ArrayBuffer|Document|Element|Object|string} source Source.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {import(\"../Feature.js\").default} Feature.\n * @api\n */\n JSONFeature.prototype.readFeature = function (source, opt_options) {\n return this.readFeatureFromObject(getObject(source), this.getReadOptions(source, opt_options));\n };\n /**\n * Read all features. Works with both a single feature and a feature\n * collection.\n *\n * @param {ArrayBuffer|Document|Element|Object|string} source Source.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {Array} Features.\n * @api\n */\n JSONFeature.prototype.readFeatures = function (source, opt_options) {\n return this.readFeaturesFromObject(getObject(source), this.getReadOptions(source, opt_options));\n };\n /**\n * @abstract\n * @param {Object} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {import(\"../Feature.js\").default} Feature.\n */\n JSONFeature.prototype.readFeatureFromObject = function (object, opt_options) {\n return abstract();\n };\n /**\n * @abstract\n * @param {Object} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {Array} Features.\n */\n JSONFeature.prototype.readFeaturesFromObject = function (object, opt_options) {\n return abstract();\n };\n /**\n * Read a geometry.\n *\n * @param {ArrayBuffer|Document|Element|Object|string} source Source.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n * @api\n */\n JSONFeature.prototype.readGeometry = function (source, opt_options) {\n return this.readGeometryFromObject(getObject(source), this.getReadOptions(source, opt_options));\n };\n /**\n * @abstract\n * @param {Object} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n */\n JSONFeature.prototype.readGeometryFromObject = function (object, opt_options) {\n return abstract();\n };\n /**\n * Read the projection.\n *\n * @param {ArrayBuffer|Document|Element|Object|string} source Source.\n * @return {import(\"../proj/Projection.js\").default} Projection.\n * @api\n */\n JSONFeature.prototype.readProjection = function (source) {\n return this.readProjectionFromObject(getObject(source));\n };\n /**\n * @abstract\n * @param {Object} object Object.\n * @protected\n * @return {import(\"../proj/Projection.js\").default} Projection.\n */\n JSONFeature.prototype.readProjectionFromObject = function (object) {\n return abstract();\n };\n /**\n * Encode a feature as string.\n *\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {string} Encoded feature.\n * @api\n */\n JSONFeature.prototype.writeFeature = function (feature, opt_options) {\n return JSON.stringify(this.writeFeatureObject(feature, opt_options));\n };\n /**\n * @abstract\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {Object} Object.\n */\n JSONFeature.prototype.writeFeatureObject = function (feature, opt_options) {\n return abstract();\n };\n /**\n * Encode an array of features as string.\n *\n * @param {Array} features Features.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {string} Encoded features.\n * @api\n */\n JSONFeature.prototype.writeFeatures = function (features, opt_options) {\n return JSON.stringify(this.writeFeaturesObject(features, opt_options));\n };\n /**\n * @abstract\n * @param {Array} features Features.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {Object} Object.\n */\n JSONFeature.prototype.writeFeaturesObject = function (features, opt_options) {\n return abstract();\n };\n /**\n * Encode a geometry as string.\n *\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {string} Encoded geometry.\n * @api\n */\n JSONFeature.prototype.writeGeometry = function (geometry, opt_options) {\n return JSON.stringify(this.writeGeometryObject(geometry, opt_options));\n };\n /**\n * @abstract\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {Object} Object.\n */\n JSONFeature.prototype.writeGeometryObject = function (geometry, opt_options) {\n return abstract();\n };\n return JSONFeature;\n}(FeatureFormat));\n/**\n * @param {Document|Element|Object|string} source Source.\n * @return {Object} Object.\n */\nfunction getObject(source) {\n if (typeof source === 'string') {\n var object = JSON.parse(source);\n return object ? /** @type {Object} */ (object) : null;\n }\n else if (source !== null) {\n return source;\n }\n else {\n return null;\n }\n}\nexport default JSONFeature;\n//# sourceMappingURL=JSONFeature.js.map","/**\n * @module ol/format/GeoJSON\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Feature from '../Feature.js';\nimport GeometryCollection from '../geom/GeometryCollection.js';\nimport JSONFeature from './JSONFeature.js';\nimport LineString from '../geom/LineString.js';\nimport MultiLineString from '../geom/MultiLineString.js';\nimport MultiPoint from '../geom/MultiPoint.js';\nimport MultiPolygon from '../geom/MultiPolygon.js';\nimport Point from '../geom/Point.js';\nimport Polygon from '../geom/Polygon.js';\nimport { assert } from '../asserts.js';\nimport { assign, isEmpty } from '../obj.js';\nimport { get as getProjection } from '../proj.js';\nimport { transformGeometryWithOptions } from './Feature.js';\n/**\n * @typedef {import(\"geojson\").GeoJSON} GeoJSONObject\n * @typedef {import(\"geojson\").Feature} GeoJSONFeature\n * @typedef {import(\"geojson\").FeatureCollection} GeoJSONFeatureCollection\n * @typedef {import(\"geojson\").Geometry} GeoJSONGeometry\n * @typedef {import(\"geojson\").Point} GeoJSONPoint\n * @typedef {import(\"geojson\").LineString} GeoJSONLineString\n * @typedef {import(\"geojson\").Polygon} GeoJSONPolygon\n * @typedef {import(\"geojson\").MultiPoint} GeoJSONMultiPoint\n * @typedef {import(\"geojson\").MultiLineString} GeoJSONMultiLineString\n * @typedef {import(\"geojson\").MultiPolygon} GeoJSONMultiPolygon\n * @typedef {import(\"geojson\").GeometryCollection} GeoJSONGeometryCollection\n */\n/**\n * @typedef {Object} Options\n * @property {import(\"../proj.js\").ProjectionLike} [dataProjection='EPSG:4326'] Default data projection.\n * @property {import(\"../proj.js\").ProjectionLike} [featureProjection] Projection for features read or\n * written by the format. Options passed to read or write methods will take precedence.\n * @property {string} [geometryName] Geometry name to use when creating features.\n * @property {boolean} [extractGeometryName=false] Certain GeoJSON providers include\n * the geometry_name field in the feature GeoJSON. If set to `true` the GeoJSON reader\n * will look for that field to set the geometry name. If both this field is set to `true`\n * and a `geometryName` is provided, the `geometryName` will take precedence.\n */\n/**\n * @classdesc\n * Feature format for reading and writing data in the GeoJSON format.\n *\n * @api\n */\nvar GeoJSON = /** @class */ (function (_super) {\n __extends(GeoJSON, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function GeoJSON(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n _this = _super.call(this) || this;\n /**\n * @type {import(\"../proj/Projection.js\").default}\n */\n _this.dataProjection = getProjection(options.dataProjection ? options.dataProjection : 'EPSG:4326');\n if (options.featureProjection) {\n /**\n * @type {import(\"../proj/Projection.js\").default}\n */\n _this.defaultFeatureProjection = getProjection(options.featureProjection);\n }\n /**\n * Name of the geometry attribute for features.\n * @type {string|undefined}\n * @private\n */\n _this.geometryName_ = options.geometryName;\n /**\n * Look for the geometry name in the feature GeoJSON\n * @type {boolean|undefined}\n * @private\n */\n _this.extractGeometryName_ = options.extractGeometryName;\n _this.supportedMediaTypes = [\n 'application/geo+json',\n 'application/vnd.geo+json',\n ];\n return _this;\n }\n /**\n * @param {Object} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {import(\"../Feature.js\").default} Feature.\n */\n GeoJSON.prototype.readFeatureFromObject = function (object, opt_options) {\n /**\n * @type {GeoJSONFeature}\n */\n var geoJSONFeature = null;\n if (object['type'] === 'Feature') {\n geoJSONFeature = /** @type {GeoJSONFeature} */ (object);\n }\n else {\n geoJSONFeature = {\n 'type': 'Feature',\n 'geometry': /** @type {GeoJSONGeometry} */ (object),\n 'properties': null,\n };\n }\n var geometry = readGeometry(geoJSONFeature['geometry'], opt_options);\n var feature = new Feature();\n if (this.geometryName_) {\n feature.setGeometryName(this.geometryName_);\n }\n else if (this.extractGeometryName_ &&\n 'geometry_name' in geoJSONFeature !== undefined) {\n feature.setGeometryName(geoJSONFeature['geometry_name']);\n }\n feature.setGeometry(geometry);\n if ('id' in geoJSONFeature) {\n feature.setId(geoJSONFeature['id']);\n }\n if (geoJSONFeature['properties']) {\n feature.setProperties(geoJSONFeature['properties'], true);\n }\n return feature;\n };\n /**\n * @param {Object} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {Array} Features.\n */\n GeoJSON.prototype.readFeaturesFromObject = function (object, opt_options) {\n var geoJSONObject = /** @type {GeoJSONObject} */ (object);\n /** @type {Array} */\n var features = null;\n if (geoJSONObject['type'] === 'FeatureCollection') {\n var geoJSONFeatureCollection = /** @type {GeoJSONFeatureCollection} */ (object);\n features = [];\n var geoJSONFeatures = geoJSONFeatureCollection['features'];\n for (var i = 0, ii = geoJSONFeatures.length; i < ii; ++i) {\n features.push(this.readFeatureFromObject(geoJSONFeatures[i], opt_options));\n }\n }\n else {\n features = [this.readFeatureFromObject(object, opt_options)];\n }\n return features;\n };\n /**\n * @param {GeoJSONGeometry} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @protected\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n */\n GeoJSON.prototype.readGeometryFromObject = function (object, opt_options) {\n return readGeometry(object, opt_options);\n };\n /**\n * @param {Object} object Object.\n * @protected\n * @return {import(\"../proj/Projection.js\").default} Projection.\n */\n GeoJSON.prototype.readProjectionFromObject = function (object) {\n var crs = object['crs'];\n var projection;\n if (crs) {\n if (crs['type'] == 'name') {\n projection = getProjection(crs['properties']['name']);\n }\n else if (crs['type'] === 'EPSG') {\n projection = getProjection('EPSG:' + crs['properties']['code']);\n }\n else {\n assert(false, 36); // Unknown SRS type\n }\n }\n else {\n projection = this.dataProjection;\n }\n return /** @type {import(\"../proj/Projection.js\").default} */ (projection);\n };\n /**\n * Encode a feature as a GeoJSON Feature object.\n *\n * @param {import(\"../Feature.js\").default} feature Feature.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONFeature} Object.\n * @api\n */\n GeoJSON.prototype.writeFeatureObject = function (feature, opt_options) {\n opt_options = this.adaptOptions(opt_options);\n /** @type {GeoJSONFeature} */\n var object = {\n 'type': 'Feature',\n geometry: null,\n properties: null,\n };\n var id = feature.getId();\n if (id !== undefined) {\n object.id = id;\n }\n if (!feature.hasProperties()) {\n return object;\n }\n var properties = feature.getProperties();\n var geometry = feature.getGeometry();\n if (geometry) {\n object.geometry = writeGeometry(geometry, opt_options);\n delete properties[feature.getGeometryName()];\n }\n if (!isEmpty(properties)) {\n object.properties = properties;\n }\n return object;\n };\n /**\n * Encode an array of features as a GeoJSON object.\n *\n * @param {Array} features Features.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONFeatureCollection} GeoJSON Object.\n * @api\n */\n GeoJSON.prototype.writeFeaturesObject = function (features, opt_options) {\n opt_options = this.adaptOptions(opt_options);\n var objects = [];\n for (var i = 0, ii = features.length; i < ii; ++i) {\n objects.push(this.writeFeatureObject(features[i], opt_options));\n }\n return {\n type: 'FeatureCollection',\n features: objects,\n };\n };\n /**\n * Encode a geometry as a GeoJSON object.\n *\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry|GeoJSONGeometryCollection} Object.\n * @api\n */\n GeoJSON.prototype.writeGeometryObject = function (geometry, opt_options) {\n return writeGeometry(geometry, this.adaptOptions(opt_options));\n };\n return GeoJSON;\n}(JSONFeature));\n/**\n * @param {GeoJSONGeometry|GeoJSONGeometryCollection} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {import(\"../geom/Geometry.js\").default} Geometry.\n */\nfunction readGeometry(object, opt_options) {\n if (!object) {\n return null;\n }\n /**\n * @type {import(\"../geom/Geometry.js\").default}\n */\n var geometry;\n switch (object['type']) {\n case 'Point': {\n geometry = readPointGeometry(/** @type {GeoJSONPoint} */ (object));\n break;\n }\n case 'LineString': {\n geometry = readLineStringGeometry(\n /** @type {GeoJSONLineString} */ (object));\n break;\n }\n case 'Polygon': {\n geometry = readPolygonGeometry(/** @type {GeoJSONPolygon} */ (object));\n break;\n }\n case 'MultiPoint': {\n geometry = readMultiPointGeometry(\n /** @type {GeoJSONMultiPoint} */ (object));\n break;\n }\n case 'MultiLineString': {\n geometry = readMultiLineStringGeometry(\n /** @type {GeoJSONMultiLineString} */ (object));\n break;\n }\n case 'MultiPolygon': {\n geometry = readMultiPolygonGeometry(\n /** @type {GeoJSONMultiPolygon} */ (object));\n break;\n }\n case 'GeometryCollection': {\n geometry = readGeometryCollectionGeometry(\n /** @type {GeoJSONGeometryCollection} */ (object));\n break;\n }\n default: {\n throw new Error('Unsupported GeoJSON type: ' + object['type']);\n }\n }\n return transformGeometryWithOptions(geometry, false, opt_options);\n}\n/**\n * @param {GeoJSONGeometryCollection} object Object.\n * @param {import(\"./Feature.js\").ReadOptions} [opt_options] Read options.\n * @return {GeometryCollection} Geometry collection.\n */\nfunction readGeometryCollectionGeometry(object, opt_options) {\n var geometries = object['geometries'].map(\n /**\n * @param {GeoJSONGeometry} geometry Geometry.\n * @return {import(\"../geom/Geometry.js\").default} geometry Geometry.\n */\n function (geometry) {\n return readGeometry(geometry, opt_options);\n });\n return new GeometryCollection(geometries);\n}\n/**\n * @param {GeoJSONPoint} object Object.\n * @return {Point} Point.\n */\nfunction readPointGeometry(object) {\n return new Point(object['coordinates']);\n}\n/**\n * @param {GeoJSONLineString} object Object.\n * @return {LineString} LineString.\n */\nfunction readLineStringGeometry(object) {\n return new LineString(object['coordinates']);\n}\n/**\n * @param {GeoJSONMultiLineString} object Object.\n * @return {MultiLineString} MultiLineString.\n */\nfunction readMultiLineStringGeometry(object) {\n return new MultiLineString(object['coordinates']);\n}\n/**\n * @param {GeoJSONMultiPoint} object Object.\n * @return {MultiPoint} MultiPoint.\n */\nfunction readMultiPointGeometry(object) {\n return new MultiPoint(object['coordinates']);\n}\n/**\n * @param {GeoJSONMultiPolygon} object Object.\n * @return {MultiPolygon} MultiPolygon.\n */\nfunction readMultiPolygonGeometry(object) {\n return new MultiPolygon(object['coordinates']);\n}\n/**\n * @param {GeoJSONPolygon} object Object.\n * @return {Polygon} Polygon.\n */\nfunction readPolygonGeometry(object) {\n return new Polygon(object['coordinates']);\n}\n/**\n * @param {import(\"../geom/Geometry.js\").default} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry} GeoJSON geometry.\n */\nfunction writeGeometry(geometry, opt_options) {\n geometry = transformGeometryWithOptions(geometry, true, opt_options);\n var type = geometry.getType();\n /** @type {GeoJSONGeometry} */\n var geoJSON;\n switch (type) {\n case 'Point': {\n geoJSON = writePointGeometry(\n /** @type {Point} */ (geometry), opt_options);\n break;\n }\n case 'LineString': {\n geoJSON = writeLineStringGeometry(\n /** @type {LineString} */ (geometry), opt_options);\n break;\n }\n case 'Polygon': {\n geoJSON = writePolygonGeometry(\n /** @type {Polygon} */ (geometry), opt_options);\n break;\n }\n case 'MultiPoint': {\n geoJSON = writeMultiPointGeometry(\n /** @type {MultiPoint} */ (geometry), opt_options);\n break;\n }\n case 'MultiLineString': {\n geoJSON = writeMultiLineStringGeometry(\n /** @type {MultiLineString} */ (geometry), opt_options);\n break;\n }\n case 'MultiPolygon': {\n geoJSON = writeMultiPolygonGeometry(\n /** @type {MultiPolygon} */ (geometry), opt_options);\n break;\n }\n case 'GeometryCollection': {\n geoJSON = writeGeometryCollectionGeometry(\n /** @type {GeometryCollection} */ (geometry), opt_options);\n break;\n }\n case 'Circle': {\n geoJSON = {\n type: 'GeometryCollection',\n geometries: [],\n };\n break;\n }\n default: {\n throw new Error('Unsupported geometry type: ' + type);\n }\n }\n return geoJSON;\n}\n/**\n * @param {GeometryCollection} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometryCollection} GeoJSON geometry collection.\n */\nfunction writeGeometryCollectionGeometry(geometry, opt_options) {\n var geometries = geometry.getGeometriesArray().map(function (geometry) {\n var options = assign({}, opt_options);\n delete options.featureProjection;\n return writeGeometry(geometry, options);\n });\n return {\n type: 'GeometryCollection',\n geometries: geometries,\n };\n}\n/**\n * @param {LineString} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry} GeoJSON geometry.\n */\nfunction writeLineStringGeometry(geometry, opt_options) {\n return {\n type: 'LineString',\n coordinates: geometry.getCoordinates(),\n };\n}\n/**\n * @param {MultiLineString} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry} GeoJSON geometry.\n */\nfunction writeMultiLineStringGeometry(geometry, opt_options) {\n return {\n type: 'MultiLineString',\n coordinates: geometry.getCoordinates(),\n };\n}\n/**\n * @param {MultiPoint} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry} GeoJSON geometry.\n */\nfunction writeMultiPointGeometry(geometry, opt_options) {\n return {\n type: 'MultiPoint',\n coordinates: geometry.getCoordinates(),\n };\n}\n/**\n * @param {MultiPolygon} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry} GeoJSON geometry.\n */\nfunction writeMultiPolygonGeometry(geometry, opt_options) {\n var right;\n if (opt_options) {\n right = opt_options.rightHanded;\n }\n return {\n type: 'MultiPolygon',\n coordinates: geometry.getCoordinates(right),\n };\n}\n/**\n * @param {Point} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry} GeoJSON geometry.\n */\nfunction writePointGeometry(geometry, opt_options) {\n return {\n type: 'Point',\n coordinates: geometry.getCoordinates(),\n };\n}\n/**\n * @param {Polygon} geometry Geometry.\n * @param {import(\"./Feature.js\").WriteOptions} [opt_options] Write options.\n * @return {GeoJSONGeometry} GeoJSON geometry.\n */\nfunction writePolygonGeometry(geometry, opt_options) {\n var right;\n if (opt_options) {\n right = opt_options.rightHanded;\n }\n return {\n type: 'Polygon',\n coordinates: geometry.getCoordinates(right),\n };\n}\nexport default GeoJSON;\n//# sourceMappingURL=GeoJSON.js.map","// disable eslint check for new-cap because every openlayer object is lowercase\n/* eslint-disable new-cap */\n\nimport Draw from 'ol/interaction/Draw'\nimport store from '@/vuex/store'\nimport olWKT from 'ol/format/WKT'\nimport olFeature from 'ol/Feature'\nimport olPolygon from 'ol/geom/Polygon'\nimport olLayerVector from 'ol/layer/Vector'\nimport olSourceVector from 'ol/source/Vector'\nimport olGeoJSON from 'ol/format/GeoJSON'\n\nimport olStyleStroke from 'ol/style/Stroke'\nimport olStyleFill from 'ol/style/Fill'\nimport olStyleText from 'ol/style/Text'\nimport olStyleStyle from 'ol/style/Style'\nimport olStyleIcon from 'ol/style/Icon'\n\nimport pencilSvg from './pencil.svg'\nimport proj4 from 'proj4'\nimport convert from 'color-convert'\n\nexport default {\n convertGeometryWKT(geometryWKT) {\n const formatWKT = new olWKT()\n const getGeoJSON = new olGeoJSON()\n const featureGeometry = formatWKT.readGeometry(geometryWKT)\n const geoJSONFormat = getGeoJSON.writeGeometryObject(featureGeometry)\n\n return this.setGeometryData(geoJSONFormat)\n },\n\n setGeometryData(geoJSONFormat) {\n const geometryLonLatData = []\n if (geoJSONFormat.type === 'Point') {\n return geometryLonLatData\n }\n\n if (geoJSONFormat.type === 'LineString') {\n geoJSONFormat.coordinates.forEach((coordinates) => {\n geometryLonLatData.push(this.geometryConversion(coordinates))\n })\n return geometryLonLatData\n }\n\n geoJSONFormat.coordinates[0].forEach((coordinates) => {\n geometryLonLatData.push(this.geometryConversion(coordinates))\n })\n return geometryLonLatData\n },\n\n geometryConversion(coordinates) {\n const conversionResult = proj4('EPSG:4326', 'EPSG:3857', [coordinates[0], coordinates[1]])\n const dataToSave = [conversionResult[0], conversionResult[1]]\n return dataToSave\n },\n\n async refreshSubLocations() {\n const SlDataEntry = await store.dispatch('getSubLocations', { projectId: store.state.route.params.projectId })\n const subLocationsWithPolygonData = []\n if (SlDataEntry) {\n const filledPolygons = SlDataEntry.filter(location => location.SlPolygonGeometry && location.SlPolygonGeometry !== 'POLYGON EMPTY')\n\n filledPolygons.forEach(item => {\n const geometryLonLatData = this.convertGeometryWKT(item.SlPolygonGeometry)\n subLocationsWithPolygonData.push({\n type: 'subLocation',\n name: item.SlName,\n location: item.SlGuid,\n featureCount: Number(item.SlID),\n coords: [geometryLonLatData]\n })\n })\n }\n\n return subLocationsWithPolygonData\n },\n\n async refreshProjectContour() {\n const prDataEntry = store.getters.getCurrentProject\n if (prDataEntry && prDataEntry.PrPolygonGeometry && prDataEntry.PrPolygonGeometry !== 'POLYGON EMPTY') {\n const geometryLonLatData = this.convertGeometryWKT(prDataEntry.PrPolygonGeometry)\n return {\n type: 'project',\n name: prDataEntry.PrName,\n location: prDataEntry.PrGuid,\n coords: [geometryLonLatData],\n featureCount: 0\n }\n }\n return null\n },\n\n async refreshDrawFeatures() {\n const drawFeatures = await this.refreshSubLocations()\n const projectContour = await this.refreshProjectContour()\n\n if (projectContour) {\n drawFeatures.push(projectContour)\n }\n\n if (drawFeatures.length > 0) {\n localStorage.setItem('drawFeatures', JSON.stringify(drawFeatures))\n }\n\n return drawFeatures\n },\n\n /**\n * Checks if the user is using the application in online- or offline-modus\n * @returns Boolean\n */\n get hasInternetConnection() {\n return window.navigator.onLine\n },\n /**\n * Set vector layer ('drawLayer', 'drawSource') from localStorage\n * @param {*} ctx Open Layers map component\n */\n async setupDrawLayer (ctx) {\n // Draw the data on the map\n ctx.drawSource = new olSourceVector({\n format: new olGeoJSON(),\n projection: 'EPSG:4326'\n })\n\n const storedDrawFeatures = localStorage.getItem('drawFeatures')\n const drawFeatures = this.hasInternetConnection ? await this.refreshDrawFeatures() : JSON.parse(storedDrawFeatures) || []\n\n drawFeatures.forEach(({ coords, type, location, name, featureCount }, index) => {\n const featureObject = this.createDrawFeature({ type, location, name, geometry: new olPolygon(coords), featureCount }, index)\n ctx.drawSource.addFeature(featureObject)\n })\n\n ctx.drawLayer = new olLayerVector(\n Object.assign({\n category: 'ProjectData',\n name: 'Contour',\n opacity: 1,\n opacityPercentage: 100,\n editable: true,\n preload: Infinity,\n source: ctx.drawSource,\n isDraw: true\n }, ctx.mapLayersConfig['Contour']))\n },\n\n /**\n * Add draw interaction. Handles leaving draw mode and storing shape layer data in local storage.\n * @param {Object} ctx Open Layers map component\n */\n addDrawInteraction (ctx) {\n ctx.drawFeature = new Draw({\n source: ctx.drawSource,\n type: 'Polygon',\n style: new olStyleStyle({\n image: new olStyleIcon({\n src: pencilSvg,\n scale: 1.5,\n anchor: [0, 0],\n anchorOrigin: 'bottom-left'\n }),\n stroke: new olStyleStroke({\n color: 'rgba(59, 157, 206, 0.8)',\n width: 2\n }),\n fill: new olStyleFill({\n color: 'rgba(255,255,255,0.2)'\n })\n })\n })\n\n const drawHandlerCtx = this\n ctx.drawFeature.on('drawend', function (evt) {\n const feature = evt.feature\n const { type, location, name } = ctx.drawMode\n\n feature.values_.type = type\n feature.values_.location = location\n feature.values_.name = name\n\n // Time margin to store contour in layer before saving it to local storage\n setTimeout(() => {\n ctx.toggleClickToDrawContour(false, null)\n drawHandlerCtx.addContourToDraw(feature, ctx.drawSource)\n }, 200)\n })\n },\n\n /**\n * Create new feature, with id and applied style\n * @param {*} param0 feature values: { type, location, name, geometry }\n * @param {*} id unique feature id\n * @returns vector feature with applied style\n */\n createDrawFeature ({ type, location, name, geometry: polygon, featureCount }, id) {\n const featureObject = new olFeature({ type, location, name, geometry: polygon, featureCount })\n featureObject.setId(`poly-${id}`)\n this.applyDrawStyle(featureObject, type, name, featureCount)\n\n return featureObject\n },\n\n /**\n * Generate color RGB based in input RGB to determine contrast for the text outline\n * to increase readability for polygon text labels so users will be able to see\n * the labels better on the map.\n * Algorytm from https://www.w3.org/TR/AERT/#color-contrast\n * @param {*} red\n * @param {*} green\n * @param {*} blue\n */\n colorContrast(red, green, blue) {\n const brightnessMaxDifference = 130\n const maxContrastRed = 299\n const maxContrastGreen = 587\n const maxContrastBlue = 114\n const calculation = parseInt((Math.round(red) * maxContrastRed + Math.round(green) * maxContrastGreen + Math.round(blue) * maxContrastBlue) / 1000)\n\n return calculation > brightnessMaxDifference ? [0, 0, 0, 0.94].join(',') : [255, 255, 255, 0.94].join(',')\n },\n\n /**\n * Apply, by reference, style to a feature and a displayed label\n * Styling is partly random and partly different between 'location' and 'sublocation' features\n * @param {*} featureObject\n * @param {*} type 'project' | 'location' | 'sublocation'. Used to apply different styling.\n * @param {*} name string to identify features\n */\n applyDrawStyle (featureObject, type, name, featureCount) {\n const hslColor = this.getFeatureHSLColor(featureCount)\n const rgbColor = convert.hsl.rgb(hslColor[0], hslColor[1], hslColor[2])\n\n const style = new olStyleStyle({\n fill: new olStyleFill({\n color: `rgba(${rgbColor.join(',')}, 0.20)`,\n weight: 1\n }),\n stroke: new olStyleStroke({\n color: `rgba(${rgbColor.join(',')}, 0.8)`,\n width: 2.2\n }),\n text: new olStyleText({\n textAlign: 'center',\n textBaseline: 'middle',\n font: 'bold 16px/1 Arial',\n text: name,\n fill: new olStyleFill({ color: `rgba(${rgbColor.join(',')}, 0.90)` }),\n stroke: new olStyleStroke({ color: `rgba(${this.colorContrast(rgbColor[0], rgbColor[1], rgbColor[2])})`, width: 2.5 }),\n offsetX: 0,\n offsetY: 0,\n placement: 'point',\n maxAngle: 0.7,\n overflow: true,\n rotation: 0\n })\n })\n\n featureObject.setStyle(style)\n },\n\n getFeatureHSLColor(featureCount) {\n if (featureCount >= 20) {\n const randomHue = Math.random() * 360\n return [randomHue, 100, 40]\n }\n\n const standardHueColors = [255, 190, 70, 0, 213, 128, 43]\n const hueColorIndex = featureCount % standardHueColors.length\n const hueColor = standardHueColors[hueColorIndex]\n\n let saturationDecreasePercentage = Math.floor(featureCount / standardHueColors.length) * 20\n let saturationPercentage = 80 - saturationDecreasePercentage\n\n let lightnessPercentage = 50\n if (featureCount >= 14) {\n lightnessPercentage = 40\n } else if (featureCount >= 7) {\n lightnessPercentage = 70\n }\n\n return [hueColor, saturationPercentage, lightnessPercentage]\n },\n\n /**\n * Adds style to newly created contour and updates local storage\n * @param {*} feature newly created feature\n * @param {*} drawSource vector features layer source\n */\n\n addContourToDraw: function(feature, drawSource) {\n const type = feature.values_.type\n\n switch (type) {\n case 'subLocation':\n this.addSubLocationContourToDraw(feature, drawSource)\n break\n case 'project':\n this.addProjectContourToDraw(feature, drawSource)\n break\n default:\n console.log('Invalid contour type: ' + type)\n }\n },\n\n featureGeometryAsPolygonWKT(feature) {\n const geometryLonLatCoordinates = []\n const geometryCoordinates = feature.getGeometry().getCoordinates()\n geometryCoordinates[0].forEach((v) => {\n const conversionResult = proj4('EPSG:3857', 'EPSG:4326', [v[0], v[1]])\n const dataToSave = [conversionResult[0], conversionResult[1]]\n geometryLonLatCoordinates.push(dataToSave)\n })\n\n const geometryLonLatCoordinate = geometryLonLatCoordinates.join('_').split(',').join(' ').trim().replaceAll('_', ',')\n const reformattedWellKnownToken = `POLYGON ((${geometryLonLatCoordinate}))`\n return reformattedWellKnownToken\n },\n\n /**\n * Adds style to newly created sublocation contour and updates local storage\n * @param {*} feature newly created feature\n * @param {*} drawSource vector features layer source\n */\n addSubLocationContourToDraw: function(feature, drawSource) {\n const { subLocations } = store.state\n const { type, location } = feature.values_\n const subLocation = subLocations.find(sl => sl.SlGuid === location)\n if (!subLocation) return\n\n // there's only one contour per sublocation, so if the user draws multiple, remove the previous ones\n this.removeMatchingFeatures(drawSource, oldFeature =>\n oldFeature !== feature &&\n oldFeature.values_.type === 'subLocation' &&\n oldFeature.values_.name === subLocation.SlName)\n\n feature.values_.name = subLocation.SlName\n this.applyDrawStyle(feature, type, subLocation.SlName, Number(subLocation.SlID))\n\n const ReformattedWellKnownToken = this.featureGeometryAsPolygonWKT(feature)\n const PolygonData = {\n PrID: store.state.route.params.projectId,\n SlID: subLocation.SlID,\n SlGuid: subLocation.SlGuid,\n SlPolygonGeometry: ReformattedWellKnownToken\n }\n\n if (this.hasInternetConnection === true) {\n store.dispatch('setContourOfItem', PolygonData)\n }\n\n this.updateDrawFeaturesInLocalStorage(drawSource)\n },\n\n updateDrawFeaturesInLocalStorage: function(drawSource) {\n const features = drawSource.getFeatures().map(({ values_ }) => ({\n coords: values_.geometry.getCoordinates(),\n type: values_.type,\n location: values_.location,\n name: values_.name\n }))\n\n localStorage.setItem('drawFeatures', JSON.stringify(features))\n },\n\n /**\n * Adds style to newly created project feature and updates local storage\n * @param {*} feature newly created feature\n * @param {*} drawSource vector features layer source\n */\n addProjectContourToDraw: function(feature, drawSource) {\n if (!store.state.projects || !store.state.projects[0]) {\n return\n }\n\n const { type } = feature.values_\n const project = store.state.projects[0]\n\n // there's only one project contour, so if the user draws multiple, remove the old ones\n this.removeMatchingFeatures(drawSource,\n oldFeature => oldFeature !== feature && oldFeature.values_.type === 'project')\n\n feature.values_.name = project.PrName\n // project should always have the feature count of 0\n this.applyDrawStyle(feature, type, project.PrName, 0)\n\n const reformattedWellKnownToken = this.featureGeometryAsPolygonWKT(feature)\n project.PrPolygonGeometry = reformattedWellKnownToken\n\n store.dispatch('setProject', { projectData: project })\n },\n\n removeMatchingFeatures: function(drawSource, predicate) {\n drawSource.getFeatures().forEach(feature => {\n if (predicate(feature)) {\n drawSource.removeFeature(feature)\n }\n })\n },\n\n /**\n * Delete feature from draw layer and update localstorage\n * @param {*} context Open Layers map component\n */\n deleteDrawFeature (context) {\n const type = context.selectedDrawFeature.values_.type\n\n switch (type) {\n case 'subLocation':\n this.deleteSubLocationDrawFeature(context)\n break\n case 'project':\n this.deleteProjectDrawFeature(context)\n break\n default:\n console.log('Invalid contour type: ' + type)\n }\n },\n\n deleteSubLocationDrawFeature(context) {\n const { subLocations } = store.state\n const subLocation = subLocations.find(location => location.SlGuid === context.selectedDrawFeature.values_.location)\n\n if (subLocation) {\n context.drawSource.removeFeature(context.selectedDrawFeature)\n context.selectedDrawFeature = null\n\n const SublocationPolygonData = {\n PrID: store.state.route.params.projectId,\n SlID: subLocation.SlID,\n SlGuid: subLocation.SlGuid,\n SlPolygonGeometry: null\n }\n\n store.dispatch('deleteContourOfItem', SublocationPolygonData)\n\n this.updateDrawFeaturesInLocalStorage(context.drawSource)\n }\n },\n\n deleteProjectDrawFeature(context) {\n if (!store.state.projects || !store.state.projects[0]) {\n return\n }\n\n const project = store.state.projects[0]\n project.PrPolygonGeometry = ''\n store.dispatch('setProject', { projectData: project })\n\n context.drawSource.removeFeature(context.selectedDrawFeature)\n context.selectedDrawFeature = null\n\n this.updateDrawFeaturesInLocalStorage(context.drawSource)\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"modal\",attrs:{\"id\":\"modalStartDraw\",\"tabindex\":\"-1\",\"role\":\"dialog\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"},on:{\"click\":_vm.close}},[_c('span',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"×\")]),_c('span',{staticClass:\"sr-only\"},[_vm._v(\"Close\")])]),_c('h4',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t(\"map.DrawContour.popup.title\")))])]),_c('div',{staticClass:\"modal-body\"},[_c('h5',{staticStyle:{\"margin-top\":\"0px\"}},[_vm._v(_vm._s(_vm.$t('map.DrawContour.popup.labelSelectType')))]),_c('DxSelectBox',{attrs:{\"data-source\":[\n { name: _vm.$t('map.DrawContour.popup.labelSelectProject'), value: 'project' },\n { name: _vm.$t('map.DrawContour.popup.labelSelectSublocation'), value: 'subLocation' }\n ],\"display-expr\":\"name\",\"value-expr\":\"value\"},model:{value:(_vm.type),callback:function ($$v) {_vm.type=$$v},expression:\"type\"}}),(_vm.type === 'subLocation')?_c('div',{staticClass:\"dropdown\"},[_c('h5',[_vm._v(_vm._s(_vm.$t('map.DrawContour.popup.labelSelectSublocation')))]),_c('DxSelectBox',{attrs:{\"data-source\":_vm.sublocations,\"display-expr\":\"SlName\",\"value-expr\":\"SlGuid\"},model:{value:(_vm.SelectedSubLocationGuid),callback:function ($$v) {_vm.SelectedSubLocationGuid=$$v},expression:\"SelectedSubLocationGuid\"}})],1):_vm._e()],1),_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"btn\",attrs:{\"id\":\"btnCreateProject\",\"type\":\"button\",\"disabled\":_vm.SelectedSubLocationGuid.length === 0 && _vm.type === 'subLocation'},on:{\"click\":_vm.start}},[_vm._v(_vm._s(_vm.$t('map.DrawContour.popup.buttonStart')))])])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./startDrawModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./startDrawModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./startDrawModal.vue?vue&type=template&id=cb746b3e&scoped=true\"\nimport script from \"./startDrawModal.vue?vue&type=script&lang=js\"\nexport * from \"./startDrawModal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cb746b3e\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport configEnv from '../configurations/config-environment'\n\n// Refactors: getKlicLayerInfo function isn't all too great therefore a refactor might be required later.\n\nexport default {\n getKlicLayerObjID: function (url) {\n return Vue.http.get(configEnv.apis.mapLayerProxy + url)\n .then(resp => {\n if (resp.data.features.length > 0) {\n return resp.data.features[0].properties['properties.layerobj']\n } else {\n return null\n }\n })\n },\n\n getKlicLayerInfo: function (id) {\n // Use the features' identifier to get the actual layer information for this rectangle\n return Vue.http.post('https://klic.terraindex.com/getlayers', { id: id }, {\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n .then(resp => {\n if (!resp.data) throw new Error(`getKlicLayerInfo error: No response data found. ${resp.message}`)\n if (resp.data.message) throw new Error(`getKlicLayerInfo error: Message found in response data. Message is: ${resp.data.message}`)\n return resp.data.layers\n })\n .catch(error => {\n console.error(error)\n return Promise.reject(error.message)\n })\n }\n}\n","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./openLayers.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./openLayers.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./openLayers.vue?vue&type=template&id=142dddf4\"\nimport script from \"./openLayers.vue?vue&type=script&lang=js\"\nexport * from \"./openLayers.vue?vue&type=script&lang=js\"\nimport style0 from \"./openLayers.vue?vue&type=style&index=0&id=142dddf4&prod&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"./openLayers.vue?vue&type=custom&index=0&blockType=link&rel=stylesheet&href=..%2Fnode_modules%2Fol%2Fol.css\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./groundAirInfoWidget.vue?vue&type=style&index=0&id=112bb113&prod&lang=less&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"surface-sample-table-overview\"},[_c('div',{staticClass:\"overview-table-row\"},[_c('div',{staticClass:\"overview-table\"},[_c('MeasurementObjectsSelectTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"updateSelectedRows\":() => {},\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled},on:{\"update:selected\":_vm.onUpdateMeasurementObject}})],1),_c('div',{staticClass:\"overview-table\"},[_c('AirSamplesTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"projectCode\":_vm.projectCode,\"selectedMeasurementObject\":_vm.measurementObject,\"updateSelectedRows\":_vm.onUpdateAirSample,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings,\"sampleType\":\"Surface\"}})],1),_c('div',{staticClass:\"overview-table\"},[_c('PackagingsTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"projectCode\":_vm.projectCode,\"selectedMeasurementObject\":_vm.measurementObject,\"selectedAirSample\":_vm.airSample,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1)]),_c('div',{staticClass:\"overview-table-row\"},[_c('div',{staticClass:\"overview-table\"},[_c('WaterSamplesTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"projectCode\":_vm.projectCode,\"selectedMeasurementObject\":_vm.measurementObject,\"updateSelectedRows\":_vm.onUpdateWaterSample,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings,\"sampleType\":\"Surface\"}})],1),_c('div',{staticClass:\"overview-table\"},[_c('BottlesTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"projectCode\":_vm.projectCode,\"selectedMeasurementObject\":_vm.measurementObject,\"selectedWaterSample\":_vm.waterSample,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./surfaceSamplesTableOverview.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./surfaceSamplesTableOverview.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./surfaceSamplesTableOverview.vue?vue&type=template&id=c07593ac\"\nimport script from \"./surfaceSamplesTableOverview.vue?vue&type=script&lang=js\"\nexport * from \"./surfaceSamplesTableOverview.vue?vue&type=script&lang=js\"\nimport style0 from \"./surfaceSamplesTableOverview.vue?vue&type=style&index=0&id=c07593ac&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./allLabAssignmentsOverview.vue?vue&type=style&index=0&id=3a6c6c10&prod&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./layerHandler.vue?vue&type=style&index=0&id=16adb5d1&prod&lang=less\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"dashboard\"},[_c('app-header',{attrs:{\"tile-view-route\":{\n name: 'project',\n params: { projectId: _vm.currentProjectId.toString() }\n },\"table-view-route\":{\n name: 'overview',\n params: { projectId: _vm.currentProjectId.toString(), overviewId: '108' }\n }}}),_c('aside',{staticClass:\"side-navigator\"},[_c('div',{staticClass:\"aside-header\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('pages.dashboards')))]),(_vm.currentDashboardExists)?_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isEditing),expression:\"!isEditing\"}],staticClass:\"create-button\",on:{\"click\":_vm.toggleAddDashboardPopup}},[_c('span',{staticClass:\"glyphicons glyphicons-plus\"})]):_vm._e(),(_vm.currentDashboardExists)?_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isEditing),expression:\"!isEditing\"}],staticClass:\"delete-button\",on:{\"click\":_vm.toggleDeleteDashboardPopup}},[_c('span',{staticClass:\"glyphicon glyphicon-trash\"})]):_vm._e()]),_c('div',{staticClass:\"buttons\"},_vm._l((_vm.dashboards),function(dashboard){return _c('router-link',{key:dashboard.id,class:'dashboard-button ' + dashboard.class,attrs:{\"to\":{ name: 'dashboard', params: { dashboardId: dashboard.id.toString() } },\"active-class\":\"active\"}},[_vm._v(\" \"+_vm._s(dashboard.name)+\" \")])}),1)]),_c('div',{staticClass:\"dashboard-content\"},[(_vm.currentDashboardExists)?[_c('DashboardHeader',{attrs:{\"isEditing\":_vm.isEditing,\"currentDashboard\":_vm.currentDashboard,\"isAutoAligning\":_vm.isAutoAligning,\"widgets\":_vm.widgets},on:{\"editMode\":_vm.toggleEdit,\"refresh\":_vm.refreshWidgets,\"renameDashboard\":_vm.toggleRenameDashboardPopup,\"switchAutoAlign\":_vm.switchAutoAlign,\"deleteAllWidgets\":_vm.toggleDeleteAllWidgetsPopup}})]:_vm._e(),_c('ti-dialog',{ref:\"addDashboardPopup\"},[_c('addDashboard',{attrs:{\"dashboards\":_vm.dashboards}})],1),_c('ti-dialog',{ref:\"deleteDashboardPopup\"},[_c('deleteDashboard',{attrs:{\"dashboards\":_vm.dashboards}})],1),_c('ti-dialog',{ref:\"renameDashboardPopup\"},[_c('renameDashboard',{attrs:{\"dashboards\":_vm.dashboards}})],1),_c('ti-dialog',{ref:\"deleteAllWidgetsPopup\"},[_c('deleteAllWidgets',{attrs:{\"widgets\":_vm.widgets}})],1),_c('div',{class:_vm.isEditing ? 'dashboard-grid grid-editing' : 'dashboard-grid'},[(_vm.currentDashboardExists)?[_c('div',{attrs:{\"id\":_vm.currentGridStackContainerId}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isEditing),expression:\"isEditing\"}],staticClass:\"dashboard-grid-background\"}),(_vm.widgets.length > 0 || _vm.isEditing)?[_vm._l((_vm.widgets),function(widget){return _c('Widget',{key:widget.id,attrs:{\"widgetData\":widget,\"is-editing\":_vm.isEditing},on:{\"saveWidgetSettings\":_vm.saveWidgets,\"delete\":_vm.deleteWidget,\"registerWidgetInterface\":_vm.registerWidgetInterface,\"unregisterWidgetInterface\":_vm.unregisterWidgetInterface}})}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isEditing),expression:\"isEditing\"}]},[_c('WidgetMenu',{attrs:{\"is-editing\":_vm.isEditing,\"widgets\":_vm.widgets,\"disabledWidgetType\":_vm.disableMapWidget.type},on:{\"addWidget\":_vm.addWidget}})],1)]:[_c('div',{staticClass:\"dashboard-defaultMessage\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('label.dashboardDefaultName')))]),_c('button',{on:{\"click\":_vm.toggleEdit}},[_vm._v(_vm._s(_vm.$t('label.dashboardButton')))])])]],2)]:[_c('Dashboard404')]],2)],2),_c('app-footer')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"flex-container\"},[_c('div',{staticClass:\"dashboard-error-text\"},[_c('div',{staticClass:\"not-found\"},[_c('img',{staticClass:\"not-found__image notfound-image\",attrs:{\"src\":require(\"@/assets/svg/element-404.svg\")}}),_c('h2',[_vm._v(\" \"+_vm._s(_vm.$t('BrowserWarning.DashboardNotFound'))+\" \")])])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard404.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard404.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Dashboard404.vue?vue&type=template&id=4781d9e4&scoped=true\"\nimport script from \"./Dashboard404.vue?vue&type=script&lang=js\"\nexport * from \"./Dashboard404.vue?vue&type=script&lang=js\"\nimport style0 from \"./Dashboard404.vue?vue&type=style&index=0&id=4781d9e4&prod&scoped=true&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4781d9e4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"dashboard-header\"},[_c('div',{staticClass:\"dashboard-header-buttons\"},[(!_vm.isEditing)?_c('div',{staticClass:\"dashboard-header-buttons-not-editing\"},[_c('button',{staticClass:\"button-hover\",on:{\"click\":function($event){return _vm.$emit('editMode')}}},[_c('i',{staticClass:\"glyphicons glyphicons-pencil\"}),_c('p',[_vm._v(_vm._s(_vm.$t('dashboardHeader.Edit')))])]),_c('button',{staticClass:\"button-hover\",on:{\"click\":function($event){return _vm.$emit('refresh')}}},[_c('i',{staticClass:\"glyphicons glyphicons-repeat\"}),_c('p',[_vm._v(_vm._s(_vm.$t('dashboardHeader.Refresh')))])])]):_c('div',{staticClass:\"dashboard-header-buttons-while-editing\"},[_c('div',{staticClass:\"buttons-left\"},[_c('button',{staticClass:\"button-hover\",on:{\"click\":function($event){return _vm.$emit('editMode')}}},[_c('i',{staticClass:\"glyphicons glyphicons-ok\"}),_c('p',[_vm._v(_vm._s(_vm.$t('dashboardHeader.Done')))])]),_c('div',{staticClass:\"dashboard-dropdown\"},[_c('button',{ref:\"dropdownMenu\",staticClass:\"button-hover\",attrs:{\"title\":_vm.$t('dashboardHeader.DropdownMenu.Title')},on:{\"click\":function($event){_vm.showDropdown = !_vm.showDropdown}}},[_c('i',{staticClass:\"glyphicons glyphicons-option-horizontal\"})])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showDropdown),expression:\"showDropdown\"}],staticClass:\"dropdown-content\"},[_c('div',{staticClass:\"button-auto-align\"},[_c('span',{staticClass:\"align-text\"},[_vm._v(_vm._s(_vm.$t('dashboardHeader.AutoAlign'))+\":\")]),_c('DxSwitch',{model:{value:(_vm.switchAutoAligning),callback:function ($$v) {_vm.switchAutoAligning=$$v},expression:\"switchAutoAligning\"}})],1),_c('button',{on:{\"click\":function($event){return _vm.$emit('renameDashboard')}}},[_c('span',[_vm._v(_vm._s(_vm.$t('dashboardHeader.rename')))]),_c('i',{staticClass:\"glyphicons glyphicons-pencil\"})]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.widgets.length > 0),expression:\"widgets.length > 0\"}],on:{\"click\":function($event){return _vm.$emit('deleteAllWidgets')}}},[_c('span',[_vm._v(_vm._s(_vm.$t('dashboardHeader.DeleteWidgets')))]),_c('i',{staticClass:\"glyphicon glyphicon-trash\"})])])]),_c('div',{staticClass:\"text-middle\"},[_c('span',[_vm._v(_vm._s(_vm.$t('dashboardHeader.DoneMessage')))])])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardHeader.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardHeader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DashboardHeader.vue?vue&type=template&id=b5ec40da&scoped=true\"\nimport script from \"./DashboardHeader.vue?vue&type=script&lang=js\"\nexport * from \"./DashboardHeader.vue?vue&type=script&lang=js\"\nimport style0 from \"./DashboardHeader.vue?vue&type=style&index=0&id=b5ec40da&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b5ec40da\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"widget-menu\",class:_vm.widgetMenuOpen ? 'widget-menu-open' : 'widget-menu-closed'},[_c('div',{staticClass:\"ti-row\"},[_c('span',{staticClass:\"widget-menu-button glyphicon glyphicon-chevron-left\",class:_vm.widgetMenuOpen ? 'glyphicon-chevron-right' : 'glyphicon-chevron-left',on:{\"click\":_vm.toggleWidgetMenu}}),_c('span',{staticClass:\"widget-menu-title\"},[_vm._v(\" \"+_vm._s(_vm.menuTitle)+\" \")])]),_c('div',{staticClass:\"widget-menu-contents\"},_vm._l((_vm.widgetsToShow),function(widget){return _c('div',{key:widget.id,staticClass:\"widget-menu-content\"},[_c('div',{staticClass:\"widget-menu-image\"},[_c('img',{staticClass:\"widget-image\",attrs:{\"src\":widget.image,\"alt\":widget.description}})]),_c('div',{staticClass:\"widget-menu-item\"},[_c('span',{staticClass:\"widget-menu-label\"},[_vm._v(\" \"+_vm._s(widget.name)+\" \")]),_c('span',{staticClass:\"widget-menu-description\"},[_vm._v(\" \"+_vm._s(widget.description)+\" \")]),_c('button',{staticClass:\"widget-menu-add-button\",on:{\"click\":function($event){return _vm.addWidget(widget)}}},[_vm._v(\" \"+_vm._s(_vm.addButtonLabel)+\" \")])])])}),0)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"dynamic-chart\"},[_c('div',{staticClass:\"graph-toolset\"},[_c('tiDialog',{ref:\"widgetPopup\"},[_c('settingsWaterSamplesWidget',{attrs:{\"allWaterSamples\":_vm.allWaterSamples,\"graphType\":_vm.graphType,\"widgetData\":_vm.widgetData}})],1)],1),(_vm.graphSampleData && _vm.graphSampleData.length > 0)?_c('DxChart',{attrs:{\"id\":\"waterSampleGraph\",\"name\":\"waterSamplesDynamicGraph\",\"data-source\":_vm.graphSampleData}},[_c('DxTitle',{attrs:{\"text\":_vm.graphTitle}}),_c('DxCommonSeriesSettings',{attrs:{\"type\":_vm.getGraphType,\"argument-field\":\"graphLabel\",\"hover-mode\":\"allArgumentPoints\",\"selection-mode\":\"allArgumentPoints\",\"color\":\"#337ab7\"}},[_c('DxLabel',{attrs:{\"visible\":true}},[_c('DxFormat',{attrs:{\"precision\":0,\"type\":\"fixedPoint\"}})],1)],1),_c('DxSeries',{attrs:{\"value-field\":\"totalSamples\",\"name\":_vm.$t('label.WaterSamples')}}),_c('DxLegend',{attrs:{\"vertical-alignment\":\"bottom\",\"horizontal-alignment\":\"center\"}}),_c('DxExport',{attrs:{\"enabled\":true}}),_c('NvLoading',{attrs:{\"show\":_vm.isLoading}})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"graph-toolset\"},[_c('div',{staticClass:\"select-filter-type-field\"},[_c('span',[_vm._v(_vm._s(_vm.$t('label.filter')))]),_c('DxSelectBox',{attrs:{\"placeholder\":_vm.getCurrentFilterType,\"display-expr\":\"name\",\"value-expr\":\"value\",\"data-source\":_vm.dxSelectFilterOptions},model:{value:(_vm.graphFilterSelectedValue),callback:function ($$v) {_vm.graphFilterSelectedValue=$$v},expression:\"graphFilterSelectedValue\"}})],1),_c('div',{staticClass:\"graph-type-select\"},[_c('span',[_vm._v(_vm._s(_vm.$t('label.graphType')))]),_c('DxSelectBox',{attrs:{\"placeholder\":_vm.getCurrentGraphType,\"display-expr\":\"name\",\"value-expr\":\"value\",\"data-source\":_vm.dxSelectGraphTypeOptions},model:{value:(_vm.graphType),callback:function ($$v) {_vm.graphType=$$v},expression:\"graphType\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./settingsWaterSamplesWidget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./settingsWaterSamplesWidget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./settingsWaterSamplesWidget.vue?vue&type=template&id=66a83e04&scoped=true\"\nimport script from \"./settingsWaterSamplesWidget.vue?vue&type=script&lang=js\"\nexport * from \"./settingsWaterSamplesWidget.vue?vue&type=script&lang=js\"\nimport style0 from \"./settingsWaterSamplesWidget.vue?vue&type=style&index=0&id=66a83e04&prod&scoped=true&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"66a83e04\",\n null\n \n)\n\nexport default component.exports","export default {\n computed: {\n gridStackId() {\n return `grid-stack-container-${this.currentDashboardId}`\n },\n projectId() {\n return this.$route.params.projectId.toString()\n },\n currentDashboardId() {\n return this.$route.params.dashboardId\n },\n getCurrentProjectCode() {\n return this.$store.getters.getCurrentProject.PrCode\n }\n }\n}\n","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./waterSamplesWidget.vue?vue&type=script&scoped=true&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./waterSamplesWidget.vue?vue&type=script&scoped=true&lang=js\"","import { render, staticRenderFns } from \"./waterSamplesWidget.vue?vue&type=template&id=18920d45&scoped=true\"\nimport script from \"./waterSamplesWidget.vue?vue&type=script&scoped=true&lang=js\"\nexport * from \"./waterSamplesWidget.vue?vue&type=script&scoped=true&lang=js\"\nimport style0 from \"./waterSamplesWidget.vue?vue&type=style&index=0&id=18920d45&prod&scoped=true&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"18920d45\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"project-info-widget\"},[(_vm.isFetchingData)?_c('div',{staticClass:\"loader-wrap\"},[_c('div',{staticClass:\"loader\"}),_c('p',[_vm._v(_vm._s(_vm.$t('other.loading'))+\"..\")])]):_vm._e(),(_vm.projectInfo)?_c('div',{staticClass:\"project-info-inner\"},[_c('h2',{staticClass:\"widget-title\"},[_vm._v(_vm._s(_vm.$t('tableTitles.ProjectDetails')))]),_c('div',[_c('span',{staticClass:\"fieldTitle\"},[_vm._v(_vm._s(_vm.$t('columnTitles.ProjectName')))]),_c('span',[_vm._v(_vm._s(_vm.projectInfo.projectName))])]),_c('div',[_c('span',{staticClass:\"fieldTitle\"},[_vm._v(_vm._s(_vm.$t('columnTitles.ProjectCode')))]),_c('span',[_vm._v(_vm._s(_vm.projectInfo.projectCode))])])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectInfoWidget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectInfoWidget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./projectInfoWidget.vue?vue&type=template&id=eee756b6&scoped=true\"\nimport script from \"./projectInfoWidget.vue?vue&type=script&lang=js\"\nexport * from \"./projectInfoWidget.vue?vue&type=script&lang=js\"\nimport style0 from \"./projectInfoWidget.vue?vue&type=style&index=0&id=eee756b6&prod&scoped=true&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"eee756b6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isFetchingData)?_c('div',{staticClass:\"loader-wrap\"},[_c('div',{staticClass:\"loader\"}),_c('p',[_vm._v(_vm._s(_vm.$t('other.loading'))+\"..\")])]):_c('div',{staticClass:\"measurement-point-map\"},[_c('h2',{staticClass:\"map-widget-title\"},[_vm._v(_vm._s(_vm.$t('measurementPointMap.title')))]),_c('openLayers',{attrs:{\"showSearchBar\":false,\"showActionButtons\":false,\"enableAddFeatureSelectInteraction\":false,\"showClickToContextMenu\":false}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./measurementPointMapWidget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./measurementPointMapWidget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./measurementPointMapWidget.vue?vue&type=template&id=f5805718&scoped=true\"\nimport script from \"./measurementPointMapWidget.vue?vue&type=script&lang=js\"\nexport * from \"./measurementPointMapWidget.vue?vue&type=script&lang=js\"\nimport style0 from \"./measurementPointMapWidget.vue?vue&type=style&index=0&id=f5805718&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f5805718\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"groundwater-information-widget\"},[_c('div',{staticClass:\"groundwater-information-title\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('tableTitles.GroundWaterInfo')))])]),_c('div',{staticClass:\"groundwater-information-widget-container\"},[_c('groundWaterDataTableOverview',{attrs:{\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./groundWaterInfoWidget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./groundWaterInfoWidget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./groundWaterInfoWidget.vue?vue&type=template&id=873a1a28&scoped=true\"\nimport script from \"./groundWaterInfoWidget.vue?vue&type=script&lang=js\"\nexport * from \"./groundWaterInfoWidget.vue?vue&type=script&lang=js\"\nimport style0 from \"./groundWaterInfoWidget.vue?vue&type=style&index=0&id=873a1a28&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"873a1a28\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"concerned-contacts-widget\"},[_c('div',{staticClass:\"concerned-contacts-widget-container\"},[_c('concernedContactsTable',{attrs:{\"projectId\":_vm.projectId,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./concernedContactsWidget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./concernedContactsWidget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./concernedContactsWidget.vue?vue&type=template&id=672af2b8&scoped=true\"\nimport script from \"./concernedContactsWidget.vue?vue&type=script&lang=js\"\nexport * from \"./concernedContactsWidget.vue?vue&type=script&lang=js\"\nimport style0 from \"./concernedContactsWidget.vue?vue&type=style&index=0&id=672af2b8&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"672af2b8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"project-participants-widget\"},[_c('div',{staticClass:\"project-participants-widget-container\"},[_c('projectParticipantsTable',{attrs:{\"projectId\":_vm.projectId,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectParticipantsWidget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectParticipantsWidget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./projectParticipantsWidget.vue?vue&type=template&id=a89e61a0&scoped=true\"\nimport script from \"./projectParticipantsWidget.vue?vue&type=script&lang=js\"\nexport * from \"./projectParticipantsWidget.vue?vue&type=script&lang=js\"\nimport style0 from \"./projectParticipantsWidget.vue?vue&type=style&index=0&id=a89e61a0&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a89e61a0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"todo-list\"},[_c('h1',{staticClass:\"todoList-widget-title\"},[_vm._v(_vm._s(_vm.$t('todoList.title')))]),_c('div',{staticClass:\"item-nav\"},[_c('ul',{staticClass:\"item-nav_list\"},[_c('li',{staticClass:\"item-nav_items\"},[_c('div',{staticClass:\"task-count\"},[_vm._v(_vm._s(_vm.$t('todoList.tasks'))+\": \"+_vm._s(_vm.todoList.length))])]),_c('li',{staticClass:\"item-nav_items\"},[_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isEditing),expression:\"isEditing\"}],staticClass:\"task-delete\",on:{\"click\":_vm.deleteAll}},[_vm._v(\" \"+_vm._s(_vm.$t('todoList.deleteAllTasks'))+\" \"),_c('span',{staticClass:\"glyphicon glyphicon-trash\"})])]),_c('li',{staticClass:\"item-nav_items\"},[_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isEditing),expression:\"isEditing\"}],staticClass:\"task-delete\",on:{\"click\":_vm.deleteSelected}},[_vm._v(\" \"+_vm._s(_vm.$t('todoList.deleteMarked'))+\" \"),_c('span',{staticClass:\"glyphicon glyphicon-trash\"})])])])]),_c('div',{staticClass:\"task-list_wrapper\"},[(_vm.todoList.length !== 0)?_c('ul',{staticClass:\"task-list\",attrs:{\"name\":\"task-list\"}},_vm._l((_vm.todoList),function(todo,index){return _c('li',{key:index,staticClass:\"task-list_item\"},[_c('div',{staticClass:\"task-preview\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(todo.completed),expression:\"todo.completed\"}],staticClass:\"task-preview_button\",attrs:{\"type\":\"checkbox\",\"disabled\":!_vm.isEditing},domProps:{\"checked\":Array.isArray(todo.completed)?_vm._i(todo.completed,null)>-1:(todo.completed)},on:{\"change\":function($event){var $$a=todo.completed,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(todo, \"completed\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(todo, \"completed\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(todo, \"completed\", $$c)}}}}),_c('span',{staticClass:\"task-preview_name\",class:{ completed: todo.completed }},[_vm._v(_vm._s(todo.text))]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isEditing),expression:\"isEditing\"}],staticClass:\"task-preview_delete\",on:{\"click\":function($event){return _vm.deleteTodo(index)}}},[_c('span',{staticClass:\"glyphicon glyphicon-trash\"})])])])}),0):_c('div',{staticClass:\"task-list_message\"},[_c('p',[_vm._v(_vm._s(_vm.$t('todoList.listEmpty')))]),_c('span',{staticClass:\"glyphicon glyphicon-ok\"})])]),(_vm.isEditing)?_c('div',{staticClass:\"new-task\"},[_c('div',{staticClass:\"field\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newTodo),expression:\"newTodo\"}],staticClass:\"field_input\",attrs:{\"placeholder\":_vm.$t('todoList.inputField'),\"type\":\"text\",\"maxlength\":\"500\"},domProps:{\"value\":(_vm.newTodo)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.newTodo=$event.target.value},_vm.capitalizeFirstLetter],\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.addTodo()}}}),_c('button',{staticClass:\"task-add\",on:{\"click\":_vm.addTodo}},[_c('span',{staticClass:\"glyphicon glyphicon-plus-sign\"})])])]):_c('div',{staticClass:\"input-disabled\"},[_c('div',{staticClass:\"input-disabled_field\"},[_c('p',[_vm._v(_vm._s(_vm.$t('todoList.editTasks')))])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./todoListWidget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./todoListWidget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./todoListWidget.vue?vue&type=template&id=03f0073f&scoped=true\"\nimport script from \"./todoListWidget.vue?vue&type=script&lang=js\"\nexport * from \"./todoListWidget.vue?vue&type=script&lang=js\"\nimport style0 from \"./todoListWidget.vue?vue&type=style&index=0&id=03f0073f&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"03f0073f\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"location-visits-widget\"},[_c('div',{staticClass:\"location-visits-widget-container\"},[_c('locationVisitsTable',{attrs:{\"projectId\":_vm.projectId,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings,\"enableColumnChooser\":_vm.enableColumnChooser}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./locationVisitsWidget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./locationVisitsWidget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./locationVisitsWidget.vue?vue&type=template&id=74bf1630&scoped=true\"\nimport script from \"./locationVisitsWidget.vue?vue&type=script&lang=js\"\nexport * from \"./locationVisitsWidget.vue?vue&type=script&lang=js\"\nimport style0 from \"./locationVisitsWidget.vue?vue&type=style&index=0&id=74bf1630&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"74bf1630\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ground-air-information-widget\"},[_c('div',{staticClass:\"ground-air-information-title\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('tableTitles.GroundAirInfo')))])]),_c('div',{staticClass:\"ground-air-information-widget-container\"},[_c('groundAirDataTableOverview',{attrs:{\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./groundAirInfoWidget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./groundAirInfoWidget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./groundAirInfoWidget.vue?vue&type=template&id=112bb113&scoped=true\"\nimport script from \"./groundAirInfoWidget.vue?vue&type=script&lang=js\"\nexport * from \"./groundAirInfoWidget.vue?vue&type=script&lang=js\"\nimport style0 from \"./groundAirInfoWidget.vue?vue&type=style&index=0&id=112bb113&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"112bb113\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"soil-information-widget\"},[_c('div',{staticClass:\"soil-information-title\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('tableTitles.SoilInfo')))])]),_c('div',{staticClass:\"soil-information-widget-container\"},[_c('soilDataTableOverview',{attrs:{\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./soilInfoWidget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./soilInfoWidget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./soilInfoWidget.vue?vue&type=template&id=1ca37f53&scoped=true\"\nimport script from \"./soilInfoWidget.vue?vue&type=script&lang=js\"\nexport * from \"./soilInfoWidget.vue?vue&type=script&lang=js\"\nimport style0 from \"./soilInfoWidget.vue?vue&type=style&index=0&id=1ca37f53&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1ca37f53\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"surface-sample-information-widget\"},[_c('div',{staticClass:\"surface-sample-information-title\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('tableTitles.SurfaceSampleInfo')))])]),_c('div',{staticClass:\"surface-sample-information-widget-container\"},[_c('surfaceSamplesTableOverview',{attrs:{\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./surfaceSampleInfoWidget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./surfaceSampleInfoWidget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./surfaceSampleInfoWidget.vue?vue&type=template&id=3c5918e5&scoped=true\"\nimport script from \"./surfaceSampleInfoWidget.vue?vue&type=script&lang=js\"\nexport * from \"./surfaceSampleInfoWidget.vue?vue&type=script&lang=js\"\nimport style0 from \"./surfaceSampleInfoWidget.vue?vue&type=style&index=0&id=3c5918e5&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3c5918e5\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"lab-assignments-widget\"},[_c('div',[_c('allLabAssignmentsOverview')],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./labAssignmentsInfoWidget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./labAssignmentsInfoWidget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./labAssignmentsInfoWidget.vue?vue&type=template&id=4cc7232b&scoped=true\"\nimport script from \"./labAssignmentsInfoWidget.vue?vue&type=script&lang=js\"\nexport * from \"./labAssignmentsInfoWidget.vue?vue&type=script&lang=js\"\nimport style0 from \"./labAssignmentsInfoWidget.vue?vue&type=style&index=0&id=4cc7232b&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4cc7232b\",\n null\n \n)\n\nexport default component.exports","import translations from '@/configurations/app/config-locales'\nexport { default as waterSamplesWidget } from '@/components/dashboards/Widgets/waterSamplesWidget'\nexport { default as projectInfoWidget } from '@/components/dashboards/Widgets/projectInfoWidget'\nexport { default as measurementPointMapWidget } from '@/components/dashboards/Widgets/measurementPointMapWidget'\nexport { default as groundWaterInfoWidget } from '@/components/dashboards/Widgets/groundWaterInfoWidget'\nexport { default as concernedContactsWidget } from '@/components/dashboards/Widgets/concernedContactsWidget'\nexport { default as projectParticipantsWidget } from '@/components/dashboards/Widgets/projectParticipantsWidget'\nexport { default as todoListWidget } from '@/components/dashboards/Widgets/todoListWidget'\nexport { default as locationVisitsWidget } from '@/components/dashboards/Widgets/locationVisitsWidget'\nexport { default as groundAirInfoWidget } from '@/components/dashboards/Widgets/groundAirInfoWidget'\nexport { default as soilInfoWidget } from '@/components/dashboards/Widgets/soilInfoWidget'\nexport { default as surfaceSampleInfoWidget } from '@/components/dashboards/Widgets/surfaceSampleInfoWidget'\nexport { default as labAssignmentsInfoWidget } from '@/components/dashboards/Widgets/labAssignmentsInfoWidget'\nconst getDate = new Date().getUTCFullYear()\nconst widgetsTemplate = [\n {\n id: 'waterSamplesWidget',\n type: 'waterSamplesWidget',\n name: translations.t('widgetMenu.waterSamplesWidget.name'),\n description: translations.t('widgetMenu.waterSamplesWidget.description'),\n image: require('@/components/dashboards/images/bar-chart.png'),\n location: {\n xAxis: 0,\n yAxis: 0\n },\n size: {\n width: 6,\n minimumWidth: 6,\n maximumWidth: 12,\n height: 5,\n minimumHeight: 5,\n maximumHeight: 5\n },\n additionalSettings: {\n graphFilter: {\n filterType: 'SamplesPerMonth',\n value: getDate\n },\n graphType: {\n type: 'bar'\n }\n }\n },\n {\n id: 'projectInfoWidget',\n type: 'projectInfoWidget',\n name: translations.t('widgetMenu.projectInfoWidget.name'),\n description: translations.t('widgetMenu.projectInfoWidget.description'),\n image: require('@/components/dashboards/images/project-info.png'),\n location: {\n xAxis: 0,\n yAxis: 0\n },\n size: {\n width: 2,\n minimumWidth: 2,\n maximumWidth: 3,\n height: 3,\n minimumHeight: 3,\n maximumHeight: 3\n }\n },\n {\n id: 'concernedContactsWidget',\n type: 'concernedContactsWidget',\n name: translations.t('widgetMenu.concernedContactsWidget.name'),\n description: translations.t('widgetMenu.concernedContactsWidget.description'),\n image: require('@/components/dashboards/images/concerned-contacts.png'),\n location: {\n xAxis: 0,\n yAxis: 0\n },\n size: {\n width: 6,\n minimumWidth: 6,\n maximumWidth: 12,\n height: 3,\n minimumHeight: 3,\n maximumHeight: 3\n }\n },\n {\n id: 'soilInfoWidget',\n type: 'soilInfoWidget',\n name: translations.t('widgetMenu.soilInfoWidget.name'),\n description: translations.t('widgetMenu.soilInfoWidget.description'),\n image: require('@/components/dashboards/images/table-icon.png'),\n location: {\n xAxis: 0,\n yAxis: 0\n },\n size: {\n width: 6,\n minimumWidth: 6,\n maximumWidth: 12,\n height: 6,\n minimumHeight: 6,\n maximumHeight: 8\n }\n },\n {\n id: 'projectParticipantsWidget',\n type: 'projectParticipantsWidget',\n name: translations.t('widgetMenu.projectParticipantsWidget.name'),\n description: translations.t('widgetMenu.projectParticipantsWidget.description'),\n image: require('@/components/dashboards/images/project-participants.png'),\n location: {\n xAxis: 0,\n yAxis: 0\n },\n size: {\n width: 6,\n minimumWidth: 6,\n maximumWidth: 12,\n height: 3,\n minimumHeight: 3,\n maximumHeight: 3\n }\n },\n {\n id: 'groundWaterInfoWidget',\n type: 'groundWaterInfoWidget',\n name: translations.t('widgetMenu.groundWaterInfoWidget.name'),\n description: translations.t('widgetMenu.groundWaterInfoWidget.description'),\n image: require('@/components/dashboards/images/table-icon.png'),\n location: {\n xAxis: 0,\n yAxis: 0\n },\n size: {\n width: 6,\n minimumWidth: 6,\n maximumWidth: 12,\n height: 6,\n minimumHeight: 6,\n maximumHeight: 8\n }\n },\n {\n id: 'measurementPointMapWidget',\n type: 'measurementPointMapWidget',\n name: translations.t('widgetMenu.measurementPointMapWidget.name'),\n description: translations.t('widgetMenu.measurementPointMapWidget.description'),\n image: require('@/components/dashboards/images/map-info.png'),\n location: {\n xAxis: 0,\n yAxis: 0\n },\n size: {\n width: 6,\n minimumWidth: 6,\n maximumWidth: 6,\n height: 6,\n minimumHeight: 6,\n maximumHeight: 6\n }\n },\n {\n id: 'groundAirInfoWidget',\n type: 'groundAirInfoWidget',\n name: translations.t('widgetMenu.groundAirInfoWidget.name'),\n description: translations.t('widgetMenu.groundAirInfoWidget.description'),\n image: require('@/components/dashboards/images/table-icon.png'),\n location: {\n xAxis: 0,\n yAxis: 0\n },\n size: {\n width: 6,\n minimumWidth: 6,\n maximumWidth: 12,\n height: 6,\n minimumHeight: 6,\n maximumHeight: 8\n }\n },\n {\n id: 'todoListWidget',\n type: 'todoListWidget',\n name: translations.t('widgetMenu.todoListWidget.name'),\n description: translations.t('widgetMenu.todoListWidget.description'),\n image: require('@/components/dashboards/images/todo-list.png'),\n location: {\n xAxis: 0,\n yAxis: 0\n },\n size: {\n width: 3,\n minimumWidth: 3,\n maximumWidth: 6,\n height: 5,\n minimumHeight: 5,\n maximumHeight: 5\n },\n additionalSettings: {\n todoList: []\n }\n },\n {\n id: 'locationVisitsWidget',\n type: 'locationVisitsWidget',\n name: translations.t('widgetMenu.locationVisitsWidget.name'),\n description: translations.t('widgetMenu.locationVisitsWidget.description'),\n image: require('@/components/dashboards/images/location-visits.png'),\n location: {\n xAxis: 0,\n yAxis: 0\n },\n size: {\n width: 9,\n minimumWidth: 9,\n maximumWidth: 12,\n height: 3,\n minimumHeight: 3,\n maximumHeight: 3\n }\n },\n {\n id: 'surfaceSampleInfoWidget',\n type: 'surfaceSampleInfoWidget',\n name: translations.t('widgetMenu.surfaceSampleInfoWidget.name'),\n description: translations.t('widgetMenu.surfaceSampleInfoWidget.description'),\n image: require('@/components/dashboards/images/table-icon.png'),\n location: {\n xAxis: 0,\n yAxis: 0\n },\n size: {\n width: 6,\n minimumWidth: 6,\n maximumWidth: 12,\n height: 6,\n minimumHeight: 6,\n maximumHeight: 8\n }\n },\n {\n id: 'labAssignmentsInfoWidget',\n type: 'labAssignmentsInfoWidget',\n name: translations.t('widgetMenu.labAssignmentsInfoWidget.name'),\n description: translations.t('widgetMenu.labAssignmentsInfoWidget.description'),\n image: require('@/components/dashboards/images/table-icon.png'),\n location: {\n xAxis: 0,\n yAxis: 0\n },\n size: {\n width: 12,\n minimumWidth: 6,\n maximumWidth: 12,\n height: 6,\n minimumHeight: 6,\n maximumHeight: 8\n }\n }\n]\nexport default widgetsTemplate\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetMenu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetMenu.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./WidgetMenu.vue?vue&type=template&id=14b4383a&scoped=true\"\nimport script from \"./WidgetMenu.vue?vue&type=script&lang=js\"\nexport * from \"./WidgetMenu.vue?vue&type=script&lang=js\"\nimport style0 from \"./WidgetMenu.vue?vue&type=style&index=0&id=14b4383a&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"14b4383a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":_vm.widgetData.id,\"gs-id\":_vm.widgetData.id,\"gs-x\":_vm.widgetData.location.xAxis,\"gs-y\":_vm.widgetData.location.yAxis,\"gs-w\":_vm.widgetData.size.width,\"gs-min-w\":_vm.widgetData.size.minimumWidth,\"gs-max-w\":_vm.widgetData.size.maximumWidth,\"gs-h\":_vm.widgetData.size.height,\"gs-min-h\":_vm.widgetData.size.minimumHeight,\"gs-max-h\":_vm.widgetData.size.maximumHeight}},[_c('div',{staticClass:\"grid-stack-item-content\",class:{ 'cursor-move': _vm.isEditing }},[_c(_vm.widgetData.type,{key:_vm.widgetData.id,ref:\"widgetPopup\",tag:\"components\",attrs:{\"widgetData\":_vm.widgetData,\"isEditing\":_vm.isEditing,\"projectId\":_vm.projectId},on:{\"saveWidgetSettings\":_vm.saveWidgetSettings,\"widgetIsCustomizable\":_vm.checkIfWidgetIsCustomizable,\"registerWidgetInterface\":_vm.registerWidgetInterface}})],1),(_vm.isEditing)?_c('button',{staticClass:\"grid-delete\",on:{\"click\":_vm.deleteWidget}},[_c('span',{staticClass:\"glyphicon glyphicon-remove\"})]):_vm._e(),(_vm.isEditing && _vm.widgetIsCustomizable)?_c('button',{staticClass:\"grid-settings\",on:{\"click\":_vm.showWidgetPopup}},[_c('span',{staticClass:\"glyphicon glyphicon-cog\"})]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Widget.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Widget.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Widget.vue?vue&type=template&id=0f4ee782&scoped=true\"\nimport script from \"./Widget.vue?vue&type=script&lang=js\"\nexport * from \"./Widget.vue?vue&type=script&lang=js\"\nimport style0 from \"./Widget.vue?vue&type=style&index=0&id=0f4ee782&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0f4ee782\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"enter-dashboard-name-field\"},[_c('p',[_vm._v(_vm._s(_vm.$t('addDashboardPopup.subTitle')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newDashboardName),expression:\"newDashboardName\"}],attrs:{\"required\":\"\",\"type\":\"text\",\"maxlength\":\"20\",\"display-expr\":\"name\",\"value-expr\":\"value\"},domProps:{\"value\":(_vm.newDashboardName)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.newDashboardName=$event.target.value},_vm.capitalizeFirstLetter]}}),(_vm.errorMessage)?_c('div',{staticClass:\"error-message\"},[_vm._v(_vm._s(_vm.errorMessage))]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./addDashboard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./addDashboard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./addDashboard.vue?vue&type=template&id=0c29b9fa&scoped=true\"\nimport script from \"./addDashboard.vue?vue&type=script&lang=js\"\nexport * from \"./addDashboard.vue?vue&type=script&lang=js\"\nimport style0 from \"./addDashboard.vue?vue&type=style&index=0&id=0c29b9fa&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0c29b9fa\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"delete-dashboard-modal\"},[_c('p',[_vm._v(_vm._s(_vm.$t('deleteDashboardPopup.subTitle', { dashboardName: _vm.dashboardName })))]),(_vm.errorMessage)?_c('div',{staticClass:\"error-message\"},[_vm._v(_vm._s(_vm.errorMessage))]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./deleteDashboard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./deleteDashboard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./deleteDashboard.vue?vue&type=template&id=0cbae4e7&scoped=true\"\nimport script from \"./deleteDashboard.vue?vue&type=script&lang=js\"\nexport * from \"./deleteDashboard.vue?vue&type=script&lang=js\"\nimport style0 from \"./deleteDashboard.vue?vue&type=style&index=0&id=0cbae4e7&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0cbae4e7\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"enter-dashboard-name-field\"},[(_vm.currentDashboardIsDefaultDashboard)?_c('div',[(_vm.errorMessage)?_c('div',{staticClass:\"error-message\"},[_vm._v(_vm._s(_vm.errorMessage))]):_vm._e()]):_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('renameDashboardPopup.subTitle')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dashboardName),expression:\"dashboardName\"}],attrs:{\"placeholder\":_vm.currentDashboard.name,\"required\":\"\",\"type\":\"text\",\"maxlength\":\"20\",\"display-expr\":\"name\",\"value-expr\":\"value\"},domProps:{\"value\":(_vm.dashboardName)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.dashboardName=$event.target.value},_vm.capitalizeFirstLetter]}}),(_vm.errorMessage)?_c('div',{staticClass:\"error-message\"},[_vm._v(_vm._s(_vm.errorMessage))]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./renameDashboard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./renameDashboard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./renameDashboard.vue?vue&type=template&id=21449bd0&scoped=true\"\nimport script from \"./renameDashboard.vue?vue&type=script&lang=js\"\nexport * from \"./renameDashboard.vue?vue&type=script&lang=js\"\nimport style0 from \"./renameDashboard.vue?vue&type=style&index=0&id=21449bd0&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21449bd0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"delete-dashboard-modal\"},[_c('p',[_vm._v(_vm._s(_vm.$t('deleteWidgetsPopup.subTitle'))+\"?\")])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./deleteAllWidgets.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./deleteAllWidgets.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./deleteAllWidgets.vue?vue&type=template&id=c9b1129e&scoped=true\"\nimport script from \"./deleteAllWidgets.vue?vue&type=script&lang=js\"\nexport * from \"./deleteAllWidgets.vue?vue&type=script&lang=js\"\nimport style0 from \"./deleteAllWidgets.vue?vue&type=style&index=0&id=c9b1129e&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c9b1129e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardView.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardView.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DashboardView.vue?vue&type=template&id=7389b5f5&scoped=true\"\nimport script from \"./DashboardView.vue?vue&type=script&lang=js\"\nexport * from \"./DashboardView.vue?vue&type=script&lang=js\"\nimport style0 from \"./DashboardView.vue?vue&type=style&index=0&id=7389b5f5&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7389b5f5\",\n null\n \n)\n\nexport default component.exports","/**\n * @module ol/style/RegularShape\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport ImageState from '../ImageState.js';\nimport ImageStyle from './Image.js';\nimport { asArray } from '../color.js';\nimport { asColorLike } from '../colorlike.js';\nimport { createCanvasContext2D } from '../dom.js';\nimport { defaultFillStyle, defaultLineJoin, defaultLineWidth, defaultMiterLimit, defaultStrokeStyle, } from '../render/canvas.js';\n/**\n * Specify radius for regular polygons, or radius1 and radius2 for stars.\n * @typedef {Object} Options\n * @property {import(\"./Fill.js\").default} [fill] Fill style.\n * @property {number} points Number of points for stars and regular polygons. In case of a polygon, the number of points\n * is the number of sides.\n * @property {number} [radius] Radius of a regular polygon.\n * @property {number} [radius1] First radius of a star. Ignored if radius is set.\n * @property {number} [radius2] Second radius of a star.\n * @property {number} [angle=0] Shape's angle in radians. A value of 0 will have one of the shape's point facing up.\n * @property {Array} [displacement=[0,0]] Displacement of the shape\n * @property {import(\"./Stroke.js\").default} [stroke] Stroke style.\n * @property {number} [rotation=0] Rotation in radians (positive rotation clockwise).\n * @property {boolean} [rotateWithView=false] Whether to rotate the shape with the view.\n * @property {number|import(\"../size.js\").Size} [scale=1] Scale. Unless two dimensional scaling is required a better\n * result may be obtained with appropriate settings for `radius`, `radius1` and `radius2`.\n * @property {\"declutter\"|\"obstacle\"|\"none\"|undefined} [declutterMode] Declutter mode\n */\n/**\n * @typedef {Object} RenderOptions\n * @property {import(\"../colorlike.js\").ColorLike} [strokeStyle] StrokeStyle.\n * @property {number} strokeWidth StrokeWidth.\n * @property {number} size Size.\n * @property {Array} lineDash LineDash.\n * @property {number} lineDashOffset LineDashOffset.\n * @property {CanvasLineJoin} lineJoin LineJoin.\n * @property {number} miterLimit MiterLimit.\n */\n/**\n * @classdesc\n * Set regular shape style for vector features. The resulting shape will be\n * a regular polygon when `radius` is provided, or a star when `radius1` and\n * `radius2` are provided.\n * @api\n */\nvar RegularShape = /** @class */ (function (_super) {\n __extends(RegularShape, _super);\n /**\n * @param {Options} options Options.\n */\n function RegularShape(options) {\n var _this = this;\n /**\n * @type {boolean}\n */\n var rotateWithView = options.rotateWithView !== undefined ? options.rotateWithView : false;\n _this = _super.call(this, {\n opacity: 1,\n rotateWithView: rotateWithView,\n rotation: options.rotation !== undefined ? options.rotation : 0,\n scale: options.scale !== undefined ? options.scale : 1,\n displacement: options.displacement !== undefined ? options.displacement : [0, 0],\n declutterMode: options.declutterMode,\n }) || this;\n /**\n * @private\n * @type {Object}\n */\n _this.canvas_ = undefined;\n /**\n * @private\n * @type {HTMLCanvasElement}\n */\n _this.hitDetectionCanvas_ = null;\n /**\n * @private\n * @type {import(\"./Fill.js\").default}\n */\n _this.fill_ = options.fill !== undefined ? options.fill : null;\n /**\n * @private\n * @type {Array}\n */\n _this.origin_ = [0, 0];\n /**\n * @private\n * @type {number}\n */\n _this.points_ = options.points;\n /**\n * @protected\n * @type {number}\n */\n _this.radius_ =\n options.radius !== undefined ? options.radius : options.radius1;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.radius2_ = options.radius2;\n /**\n * @private\n * @type {number}\n */\n _this.angle_ = options.angle !== undefined ? options.angle : 0;\n /**\n * @private\n * @type {import(\"./Stroke.js\").default}\n */\n _this.stroke_ = options.stroke !== undefined ? options.stroke : null;\n /**\n * @private\n * @type {import(\"../size.js\").Size}\n */\n _this.size_ = null;\n /**\n * @private\n * @type {RenderOptions}\n */\n _this.renderOptions_ = null;\n _this.render();\n return _this;\n }\n /**\n * Clones the style.\n * @return {RegularShape} The cloned style.\n * @api\n */\n RegularShape.prototype.clone = function () {\n var scale = this.getScale();\n var style = new RegularShape({\n fill: this.getFill() ? this.getFill().clone() : undefined,\n points: this.getPoints(),\n radius: this.getRadius(),\n radius2: this.getRadius2(),\n angle: this.getAngle(),\n stroke: this.getStroke() ? this.getStroke().clone() : undefined,\n rotation: this.getRotation(),\n rotateWithView: this.getRotateWithView(),\n scale: Array.isArray(scale) ? scale.slice() : scale,\n displacement: this.getDisplacement().slice(),\n declutterMode: this.getDeclutterMode(),\n });\n style.setOpacity(this.getOpacity());\n return style;\n };\n /**\n * Get the anchor point in pixels. The anchor determines the center point for the\n * symbolizer.\n * @return {Array} Anchor.\n * @api\n */\n RegularShape.prototype.getAnchor = function () {\n var size = this.size_;\n if (!size) {\n return null;\n }\n var displacement = this.getDisplacement();\n return [size[0] / 2 - displacement[0], size[1] / 2 + displacement[1]];\n };\n /**\n * Get the angle used in generating the shape.\n * @return {number} Shape's rotation in radians.\n * @api\n */\n RegularShape.prototype.getAngle = function () {\n return this.angle_;\n };\n /**\n * Get the fill style for the shape.\n * @return {import(\"./Fill.js\").default} Fill style.\n * @api\n */\n RegularShape.prototype.getFill = function () {\n return this.fill_;\n };\n /**\n * Set the fill style.\n * @param {import(\"./Fill.js\").default} fill Fill style.\n * @api\n */\n RegularShape.prototype.setFill = function (fill) {\n this.fill_ = fill;\n this.render();\n };\n /**\n * @return {HTMLCanvasElement} Image element.\n */\n RegularShape.prototype.getHitDetectionImage = function () {\n if (!this.hitDetectionCanvas_) {\n this.createHitDetectionCanvas_(this.renderOptions_);\n }\n return this.hitDetectionCanvas_;\n };\n /**\n * Get the image icon.\n * @param {number} pixelRatio Pixel ratio.\n * @return {HTMLCanvasElement} Image or Canvas element.\n * @api\n */\n RegularShape.prototype.getImage = function (pixelRatio) {\n var image = this.canvas_[pixelRatio];\n if (!image) {\n var renderOptions = this.renderOptions_;\n var context = createCanvasContext2D(renderOptions.size * pixelRatio, renderOptions.size * pixelRatio);\n this.draw_(renderOptions, context, pixelRatio);\n image = context.canvas;\n this.canvas_[pixelRatio] = image;\n }\n return image;\n };\n /**\n * Get the image pixel ratio.\n * @param {number} pixelRatio Pixel ratio.\n * @return {number} Pixel ratio.\n */\n RegularShape.prototype.getPixelRatio = function (pixelRatio) {\n return pixelRatio;\n };\n /**\n * @return {import(\"../size.js\").Size} Image size.\n */\n RegularShape.prototype.getImageSize = function () {\n return this.size_;\n };\n /**\n * @return {import(\"../ImageState.js\").default} Image state.\n */\n RegularShape.prototype.getImageState = function () {\n return ImageState.LOADED;\n };\n /**\n * Get the origin of the symbolizer.\n * @return {Array} Origin.\n * @api\n */\n RegularShape.prototype.getOrigin = function () {\n return this.origin_;\n };\n /**\n * Get the number of points for generating the shape.\n * @return {number} Number of points for stars and regular polygons.\n * @api\n */\n RegularShape.prototype.getPoints = function () {\n return this.points_;\n };\n /**\n * Get the (primary) radius for the shape.\n * @return {number} Radius.\n * @api\n */\n RegularShape.prototype.getRadius = function () {\n return this.radius_;\n };\n /**\n * Get the secondary radius for the shape.\n * @return {number|undefined} Radius2.\n * @api\n */\n RegularShape.prototype.getRadius2 = function () {\n return this.radius2_;\n };\n /**\n * Get the size of the symbolizer (in pixels).\n * @return {import(\"../size.js\").Size} Size.\n * @api\n */\n RegularShape.prototype.getSize = function () {\n return this.size_;\n };\n /**\n * Get the stroke style for the shape.\n * @return {import(\"./Stroke.js\").default} Stroke style.\n * @api\n */\n RegularShape.prototype.getStroke = function () {\n return this.stroke_;\n };\n /**\n * Set the stroke style.\n * @param {import(\"./Stroke.js\").default} stroke Stroke style.\n * @api\n */\n RegularShape.prototype.setStroke = function (stroke) {\n this.stroke_ = stroke;\n this.render();\n };\n /**\n * @param {function(import(\"../events/Event.js\").default): void} listener Listener function.\n */\n RegularShape.prototype.listenImageChange = function (listener) { };\n /**\n * Load not yet loaded URI.\n */\n RegularShape.prototype.load = function () { };\n /**\n * @param {function(import(\"../events/Event.js\").default): void} listener Listener function.\n */\n RegularShape.prototype.unlistenImageChange = function (listener) { };\n /**\n * Calculate additional canvas size needed for the miter.\n * @param {string} lineJoin Line join\n * @param {number} strokeWidth Stroke width\n * @param {number} miterLimit Miter limit\n * @return {number} Additional canvas size needed\n * @private\n */\n RegularShape.prototype.calculateLineJoinSize_ = function (lineJoin, strokeWidth, miterLimit) {\n if (strokeWidth === 0 ||\n this.points_ === Infinity ||\n (lineJoin !== 'bevel' && lineJoin !== 'miter')) {\n return strokeWidth;\n }\n // m | ^\n // i | |\\ .\n // t >| #\\\n // e | |\\ \\ .\n // r \\s\\\n // | \\t\\ . .\n // \\r\\ . .\n // | \\o\\ . . . . .\n // e \\k\\ . . . .\n // | \\e\\ . . . . .\n // d \\ \\ . . . .\n // | _ _a_ _\\# . . .\n // r1 / ` . .\n // | . .\n // b / . .\n // | . .\n // / r2 . .\n // | . .\n // / . .\n // |α . .\n // / . .\n // ° center\n var r1 = this.radius_;\n var r2 = this.radius2_ === undefined ? r1 : this.radius2_;\n if (r1 < r2) {\n var tmp = r1;\n r1 = r2;\n r2 = tmp;\n }\n var points = this.radius2_ === undefined ? this.points_ : this.points_ * 2;\n var alpha = (2 * Math.PI) / points;\n var a = r2 * Math.sin(alpha);\n var b = Math.sqrt(r2 * r2 - a * a);\n var d = r1 - b;\n var e = Math.sqrt(a * a + d * d);\n var miterRatio = e / a;\n if (lineJoin === 'miter' && miterRatio <= miterLimit) {\n return miterRatio * strokeWidth;\n }\n // Calculate the distnce from center to the stroke corner where\n // it was cut short because of the miter limit.\n // l\n // ----+---- <= distance from center to here is maxr\n // /####|k ##\\\n // /#####^#####\\\n // /#### /+\\# s #\\\n // /### h/+++\\# t #\\\n // /### t/+++++\\# r #\\\n // /### a/+++++++\\# o #\\\n // /### p/++ fill +\\# k #\\\n ///#### /+++++^+++++\\# e #\\\n //#####/+++++/+\\+++++\\#####\\\n var k = strokeWidth / 2 / miterRatio;\n var l = (strokeWidth / 2) * (d / e);\n var maxr = Math.sqrt((r1 + k) * (r1 + k) + l * l);\n var bevelAdd = maxr - r1;\n if (this.radius2_ === undefined || lineJoin === 'bevel') {\n return bevelAdd * 2;\n }\n // If outer miter is over the miter limit the inner miter may reach through the\n // center and be longer than the bevel, same calculation as above but swap r1 / r2.\n var aa = r1 * Math.sin(alpha);\n var bb = Math.sqrt(r1 * r1 - aa * aa);\n var dd = r2 - bb;\n var ee = Math.sqrt(aa * aa + dd * dd);\n var innerMiterRatio = ee / aa;\n if (innerMiterRatio <= miterLimit) {\n var innerLength = (innerMiterRatio * strokeWidth) / 2 - r2 - r1;\n return 2 * Math.max(bevelAdd, innerLength);\n }\n return bevelAdd * 2;\n };\n /**\n * @return {RenderOptions} The render options\n * @protected\n */\n RegularShape.prototype.createRenderOptions = function () {\n var lineJoin = defaultLineJoin;\n var miterLimit = 0;\n var lineDash = null;\n var lineDashOffset = 0;\n var strokeStyle;\n var strokeWidth = 0;\n if (this.stroke_) {\n strokeStyle = this.stroke_.getColor();\n if (strokeStyle === null) {\n strokeStyle = defaultStrokeStyle;\n }\n strokeStyle = asColorLike(strokeStyle);\n strokeWidth = this.stroke_.getWidth();\n if (strokeWidth === undefined) {\n strokeWidth = defaultLineWidth;\n }\n lineDash = this.stroke_.getLineDash();\n lineDashOffset = this.stroke_.getLineDashOffset();\n lineJoin = this.stroke_.getLineJoin();\n if (lineJoin === undefined) {\n lineJoin = defaultLineJoin;\n }\n miterLimit = this.stroke_.getMiterLimit();\n if (miterLimit === undefined) {\n miterLimit = defaultMiterLimit;\n }\n }\n var add = this.calculateLineJoinSize_(lineJoin, strokeWidth, miterLimit);\n var maxRadius = Math.max(this.radius_, this.radius2_ || 0);\n var size = Math.ceil(2 * maxRadius + add);\n return {\n strokeStyle: strokeStyle,\n strokeWidth: strokeWidth,\n size: size,\n lineDash: lineDash,\n lineDashOffset: lineDashOffset,\n lineJoin: lineJoin,\n miterLimit: miterLimit,\n };\n };\n /**\n * @protected\n */\n RegularShape.prototype.render = function () {\n this.renderOptions_ = this.createRenderOptions();\n var size = this.renderOptions_.size;\n this.canvas_ = {};\n this.size_ = [size, size];\n };\n /**\n * @private\n * @param {RenderOptions} renderOptions Render options.\n * @param {CanvasRenderingContext2D} context The rendering context.\n * @param {number} pixelRatio The pixel ratio.\n */\n RegularShape.prototype.draw_ = function (renderOptions, context, pixelRatio) {\n context.scale(pixelRatio, pixelRatio);\n // set origin to canvas center\n context.translate(renderOptions.size / 2, renderOptions.size / 2);\n this.createPath_(context);\n if (this.fill_) {\n var color = this.fill_.getColor();\n if (color === null) {\n color = defaultFillStyle;\n }\n context.fillStyle = asColorLike(color);\n context.fill();\n }\n if (this.stroke_) {\n context.strokeStyle = renderOptions.strokeStyle;\n context.lineWidth = renderOptions.strokeWidth;\n if (context.setLineDash && renderOptions.lineDash) {\n context.setLineDash(renderOptions.lineDash);\n context.lineDashOffset = renderOptions.lineDashOffset;\n }\n context.lineJoin = renderOptions.lineJoin;\n context.miterLimit = renderOptions.miterLimit;\n context.stroke();\n }\n };\n /**\n * @private\n * @param {RenderOptions} renderOptions Render options.\n */\n RegularShape.prototype.createHitDetectionCanvas_ = function (renderOptions) {\n if (this.fill_) {\n var color = this.fill_.getColor();\n // determine if fill is transparent (or pattern or gradient)\n var opacity = 0;\n if (typeof color === 'string') {\n color = asArray(color);\n }\n if (color === null) {\n opacity = 1;\n }\n else if (Array.isArray(color)) {\n opacity = color.length === 4 ? color[3] : 1;\n }\n if (opacity === 0) {\n // if a transparent fill style is set, create an extra hit-detection image\n // with a default fill style\n var context = createCanvasContext2D(renderOptions.size, renderOptions.size);\n this.hitDetectionCanvas_ = context.canvas;\n this.drawHitDetectionCanvas_(renderOptions, context);\n }\n }\n if (!this.hitDetectionCanvas_) {\n this.hitDetectionCanvas_ = this.getImage(1);\n }\n };\n /**\n * @private\n * @param {CanvasRenderingContext2D} context The context to draw in.\n */\n RegularShape.prototype.createPath_ = function (context) {\n var points = this.points_;\n var radius = this.radius_;\n if (points === Infinity) {\n context.arc(0, 0, radius, 0, 2 * Math.PI);\n }\n else {\n var radius2 = this.radius2_ === undefined ? radius : this.radius2_;\n if (this.radius2_ !== undefined) {\n points *= 2;\n }\n var startAngle = this.angle_ - Math.PI / 2;\n var step = (2 * Math.PI) / points;\n for (var i = 0; i < points; i++) {\n var angle0 = startAngle + i * step;\n var radiusC = i % 2 === 0 ? radius : radius2;\n context.lineTo(radiusC * Math.cos(angle0), radiusC * Math.sin(angle0));\n }\n context.closePath();\n }\n };\n /**\n * @private\n * @param {RenderOptions} renderOptions Render options.\n * @param {CanvasRenderingContext2D} context The context.\n */\n RegularShape.prototype.drawHitDetectionCanvas_ = function (renderOptions, context) {\n // set origin to canvas center\n context.translate(renderOptions.size / 2, renderOptions.size / 2);\n this.createPath_(context);\n context.fillStyle = defaultFillStyle;\n context.fill();\n if (this.stroke_) {\n context.strokeStyle = renderOptions.strokeStyle;\n context.lineWidth = renderOptions.strokeWidth;\n if (renderOptions.lineDash) {\n context.setLineDash(renderOptions.lineDash);\n context.lineDashOffset = renderOptions.lineDashOffset;\n }\n context.lineJoin = renderOptions.lineJoin;\n context.miterLimit = renderOptions.miterLimit;\n context.stroke();\n }\n };\n return RegularShape;\n}(ImageStyle));\nexport default RegularShape;\n//# sourceMappingURL=RegularShape.js.map","/**\n * @module ol/style/Circle\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport RegularShape from './RegularShape.js';\n/**\n * @typedef {Object} Options\n * @property {import(\"./Fill.js\").default} [fill] Fill style.\n * @property {number} radius Circle radius.\n * @property {import(\"./Stroke.js\").default} [stroke] Stroke style.\n * @property {Array} [displacement=[0,0]] displacement\n * @property {number|import(\"../size.js\").Size} [scale=1] Scale. A two dimensional scale will produce an ellipse.\n * Unless two dimensional scaling is required a better result may be obtained with an appropriate setting for `radius`.\n * @property {number} [rotation=0] Rotation in radians\n * (positive rotation clockwise, meaningful only when used in conjunction with a two dimensional scale).\n * @property {boolean} [rotateWithView=false] Whether to rotate the shape with the view\n * (meaningful only when used in conjunction with a two dimensional scale).\n * @property {\"declutter\"|\"obstacle\"|\"none\"|undefined} [declutterMode] Declutter mode\n */\n/**\n * @classdesc\n * Set circle style for vector features.\n * @api\n */\nvar CircleStyle = /** @class */ (function (_super) {\n __extends(CircleStyle, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function CircleStyle(opt_options) {\n var options = opt_options ? opt_options : {};\n return _super.call(this, {\n points: Infinity,\n fill: options.fill,\n radius: options.radius,\n stroke: options.stroke,\n scale: options.scale !== undefined ? options.scale : 1,\n rotation: options.rotation !== undefined ? options.rotation : 0,\n rotateWithView: options.rotateWithView !== undefined ? options.rotateWithView : false,\n displacement: options.displacement !== undefined ? options.displacement : [0, 0],\n declutterMode: options.declutterMode,\n }) || this;\n }\n /**\n * Clones the style.\n * @return {CircleStyle} The cloned style.\n * @api\n */\n CircleStyle.prototype.clone = function () {\n var scale = this.getScale();\n var style = new CircleStyle({\n fill: this.getFill() ? this.getFill().clone() : undefined,\n stroke: this.getStroke() ? this.getStroke().clone() : undefined,\n radius: this.getRadius(),\n scale: Array.isArray(scale) ? scale.slice() : scale,\n rotation: this.getRotation(),\n rotateWithView: this.getRotateWithView(),\n displacement: this.getDisplacement().slice(),\n declutterMode: this.getDeclutterMode(),\n });\n style.setOpacity(this.getOpacity());\n return style;\n };\n /**\n * Set the circle radius.\n *\n * @param {number} radius Circle radius.\n * @api\n */\n CircleStyle.prototype.setRadius = function (radius) {\n this.radius_ = radius;\n this.render();\n };\n return CircleStyle;\n}(RegularShape));\nexport default CircleStyle;\n//# sourceMappingURL=Circle.js.map","/**\n * @module ol/style/Style\n */\nimport CircleStyle from './Circle.js';\nimport Fill from './Fill.js';\nimport Stroke from './Stroke.js';\nimport { assert } from '../asserts.js';\n/**\n * A function that takes an {@link module:ol/Feature~Feature} and a `{number}`\n * representing the view's resolution. The function should return a\n * {@link module:ol/style/Style~Style} or an array of them. This way e.g. a\n * vector layer can be styled. If the function returns `undefined`, the\n * feature will not be rendered.\n *\n * @typedef {function(import(\"../Feature.js\").FeatureLike, number):(Style|Array\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./copyMoveSettingsDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./copyMoveSettingsDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./copyMoveSettingsDialog.vue?vue&type=template&id=06af68e4&scoped=true\"\nimport script from \"./copyMoveSettingsDialog.vue?vue&type=script&lang=js\"\nexport * from \"./copyMoveSettingsDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./copyMoveSettingsDialog.vue?vue&type=style&index=0&id=06af68e4&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"06af68e4\",\n null\n \n)\n\nexport default component.exports","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/MapEvent\n */\nimport Event from './events/Event.js';\n/**\n * @classdesc\n * Events emitted as map events are instances of this type.\n * See {@link module:ol/PluggableMap~PluggableMap} for which events trigger a map event.\n */\nvar MapEvent = /** @class */ (function (_super) {\n __extends(MapEvent, _super);\n /**\n * @param {string} type Event type.\n * @param {import(\"./PluggableMap.js\").default} map Map.\n * @param {?import(\"./PluggableMap.js\").FrameState} [opt_frameState] Frame state.\n */\n function MapEvent(type, map, opt_frameState) {\n var _this = _super.call(this, type) || this;\n /**\n * The map where the event occurred.\n * @type {import(\"./PluggableMap.js\").default}\n * @api\n */\n _this.map = map;\n /**\n * The frame state at the time of the event.\n * @type {?import(\"./PluggableMap.js\").FrameState}\n * @api\n */\n _this.frameState = opt_frameState !== undefined ? opt_frameState : null;\n return _this;\n }\n return MapEvent;\n}(Event));\nexport default MapEvent;\n//# sourceMappingURL=MapEvent.js.map","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./waterSamplesTable.vue?vue&type=style&index=0&id=ec842534&prod&lang=less\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"searchWrapper\"}},[[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.query !== ''),expression:\"query !== ''\"}],staticClass:\"glyphicons glyphicons-remove\",on:{\"click\":_vm.reset}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.query === ''),expression:\"query === ''\"}],staticClass:\"glyphicons glyphicons-search\"})],_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query),expression:\"query\"}],staticClass:\"searchComponent\",attrs:{\"type\":\"text\",\"placeholder\":_vm.$t('message.Type_to_search'),\"autocomplete\":\"on\"},domProps:{\"value\":(_vm.query)},on:{\"keydown\":[_vm.hit,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.enter.apply(null, arguments)}],\"input\":function($event){if($event.target.composing)return;_vm.query=$event.target.value}}})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./search.vue?vue&type=template&id=e445e8dc\"\nimport script from \"./search.vue?vue&type=script&lang=js\"\nexport * from \"./search.vue?vue&type=script&lang=js\"\nimport style0 from \"./search.vue?vue&type=style&index=0&id=e445e8dc&prod&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * @module ol/tilegrid/TileGrid\n */\nimport TileRange, { createOrUpdate as createOrUpdateTileRange, } from '../TileRange.js';\nimport { DEFAULT_TILE_SIZE } from './common.js';\nimport { assert } from '../asserts.js';\nimport { ceil, clamp, floor } from '../math.js';\nimport { createOrUpdate, getTopLeft } from '../extent.js';\nimport { createOrUpdate as createOrUpdateTileCoord } from '../tilecoord.js';\nimport { intersectsLinearRing } from '../geom/flat/intersectsextent.js';\nimport { isSorted, linearFindNearest } from '../array.js';\nimport { toSize } from '../size.js';\n/**\n * @private\n * @type {import(\"../tilecoord.js\").TileCoord}\n */\nvar tmpTileCoord = [0, 0, 0];\n/**\n * Number of decimal digits to consider in integer values when rounding.\n * @type {number}\n */\nvar DECIMALS = 5;\n/**\n * @typedef {Object} Options\n * @property {import(\"../extent.js\").Extent} [extent] Extent for the tile grid. No tiles outside this\n * extent will be requested by {@link module:ol/source/Tile~TileSource} sources. When no `origin` or\n * `origins` are configured, the `origin` will be set to the top-left corner of the extent.\n * @property {number} [minZoom=0] Minimum zoom.\n * @property {import(\"../coordinate.js\").Coordinate} [origin] The tile grid origin, i.e. where the `x`\n * and `y` axes meet (`[z, 0, 0]`). Tile coordinates increase left to right and downwards. If not\n * specified, `extent` or `origins` must be provided.\n * @property {Array} [origins] Tile grid origins, i.e. where\n * the `x` and `y` axes meet (`[z, 0, 0]`), for each zoom level. If given, the array length\n * should match the length of the `resolutions` array, i.e. each resolution can have a different\n * origin. Tile coordinates increase left to right and downwards. If not specified, `extent` or\n * `origin` must be provided.\n * @property {!Array} resolutions Resolutions. The array index of each resolution needs\n * to match the zoom level. This means that even if a `minZoom` is configured, the resolutions\n * array will have a length of `maxZoom + 1`.\n * @property {Array} [sizes] Number of tile rows and columns\n * of the grid for each zoom level. If specified the values\n * define each zoom level's extent together with the `origin` or `origins`.\n * A grid `extent` can be configured in addition, and will further limit the extent\n * for which tile requests are made by sources. If the bottom-left corner of\n * an extent is used as `origin` or `origins`, then the `y` value must be\n * negative because OpenLayers tile coordinates use the top left as the origin.\n * @property {number|import(\"../size.js\").Size} [tileSize] Tile size.\n * Default is `[256, 256]`.\n * @property {Array} [tileSizes] Tile sizes. If given, the array length\n * should match the length of the `resolutions` array, i.e. each resolution can have a different\n * tile size.\n */\n/**\n * @classdesc\n * Base class for setting the grid pattern for sources accessing tiled-image\n * servers.\n * @api\n */\nvar TileGrid = /** @class */ (function () {\n /**\n * @param {Options} options Tile grid options.\n */\n function TileGrid(options) {\n /**\n * @protected\n * @type {number}\n */\n this.minZoom = options.minZoom !== undefined ? options.minZoom : 0;\n /**\n * @private\n * @type {!Array}\n */\n this.resolutions_ = options.resolutions;\n assert(isSorted(this.resolutions_, function (a, b) {\n return b - a;\n }, true), 17); // `resolutions` must be sorted in descending order\n // check if we've got a consistent zoom factor and origin\n var zoomFactor;\n if (!options.origins) {\n for (var i = 0, ii = this.resolutions_.length - 1; i < ii; ++i) {\n if (!zoomFactor) {\n zoomFactor = this.resolutions_[i] / this.resolutions_[i + 1];\n }\n else {\n if (this.resolutions_[i] / this.resolutions_[i + 1] !== zoomFactor) {\n zoomFactor = undefined;\n break;\n }\n }\n }\n }\n /**\n * @private\n * @type {number|undefined}\n */\n this.zoomFactor_ = zoomFactor;\n /**\n * @protected\n * @type {number}\n */\n this.maxZoom = this.resolutions_.length - 1;\n /**\n * @private\n * @type {import(\"../coordinate.js\").Coordinate|null}\n */\n this.origin_ = options.origin !== undefined ? options.origin : null;\n /**\n * @private\n * @type {Array}\n */\n this.origins_ = null;\n if (options.origins !== undefined) {\n this.origins_ = options.origins;\n assert(this.origins_.length == this.resolutions_.length, 20); // Number of `origins` and `resolutions` must be equal\n }\n var extent = options.extent;\n if (extent !== undefined && !this.origin_ && !this.origins_) {\n this.origin_ = getTopLeft(extent);\n }\n assert((!this.origin_ && this.origins_) || (this.origin_ && !this.origins_), 18); // Either `origin` or `origins` must be configured, never both\n /**\n * @private\n * @type {Array}\n */\n this.tileSizes_ = null;\n if (options.tileSizes !== undefined) {\n this.tileSizes_ = options.tileSizes;\n assert(this.tileSizes_.length == this.resolutions_.length, 19); // Number of `tileSizes` and `resolutions` must be equal\n }\n /**\n * @private\n * @type {number|import(\"../size.js\").Size}\n */\n this.tileSize_ =\n options.tileSize !== undefined\n ? options.tileSize\n : !this.tileSizes_\n ? DEFAULT_TILE_SIZE\n : null;\n assert((!this.tileSize_ && this.tileSizes_) ||\n (this.tileSize_ && !this.tileSizes_), 22); // Either `tileSize` or `tileSizes` must be configured, never both\n /**\n * @private\n * @type {import(\"../extent.js\").Extent}\n */\n this.extent_ = extent !== undefined ? extent : null;\n /**\n * @private\n * @type {Array}\n */\n this.fullTileRanges_ = null;\n /**\n * @private\n * @type {import(\"../size.js\").Size}\n */\n this.tmpSize_ = [0, 0];\n /**\n * @private\n * @type {import(\"../extent.js\").Extent}\n */\n this.tmpExtent_ = [0, 0, 0, 0];\n if (options.sizes !== undefined) {\n this.fullTileRanges_ = options.sizes.map(function (size, z) {\n var tileRange = new TileRange(Math.min(0, size[0]), Math.max(size[0] - 1, -1), Math.min(0, size[1]), Math.max(size[1] - 1, -1));\n if (extent) {\n var restrictedTileRange = this.getTileRangeForExtentAndZ(extent, z);\n tileRange.minX = Math.max(restrictedTileRange.minX, tileRange.minX);\n tileRange.maxX = Math.min(restrictedTileRange.maxX, tileRange.maxX);\n tileRange.minY = Math.max(restrictedTileRange.minY, tileRange.minY);\n tileRange.maxY = Math.min(restrictedTileRange.maxY, tileRange.maxY);\n }\n return tileRange;\n }, this);\n }\n else if (extent) {\n this.calculateTileRanges_(extent);\n }\n }\n /**\n * Call a function with each tile coordinate for a given extent and zoom level.\n *\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {number} zoom Integer zoom level.\n * @param {function(import(\"../tilecoord.js\").TileCoord): void} callback Function called with each tile coordinate.\n * @api\n */\n TileGrid.prototype.forEachTileCoord = function (extent, zoom, callback) {\n var tileRange = this.getTileRangeForExtentAndZ(extent, zoom);\n for (var i = tileRange.minX, ii = tileRange.maxX; i <= ii; ++i) {\n for (var j = tileRange.minY, jj = tileRange.maxY; j <= jj; ++j) {\n callback([zoom, i, j]);\n }\n }\n };\n /**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {function(number, import(\"../TileRange.js\").default): boolean} callback Callback.\n * @param {import(\"../TileRange.js\").default} [opt_tileRange] Temporary import(\"../TileRange.js\").default object.\n * @param {import(\"../extent.js\").Extent} [opt_extent] Temporary import(\"../extent.js\").Extent object.\n * @return {boolean} Callback succeeded.\n */\n TileGrid.prototype.forEachTileCoordParentTileRange = function (tileCoord, callback, opt_tileRange, opt_extent) {\n var tileRange, x, y;\n var tileCoordExtent = null;\n var z = tileCoord[0] - 1;\n if (this.zoomFactor_ === 2) {\n x = tileCoord[1];\n y = tileCoord[2];\n }\n else {\n tileCoordExtent = this.getTileCoordExtent(tileCoord, opt_extent);\n }\n while (z >= this.minZoom) {\n if (this.zoomFactor_ === 2) {\n x = Math.floor(x / 2);\n y = Math.floor(y / 2);\n tileRange = createOrUpdateTileRange(x, x, y, y, opt_tileRange);\n }\n else {\n tileRange = this.getTileRangeForExtentAndZ(tileCoordExtent, z, opt_tileRange);\n }\n if (callback(z, tileRange)) {\n return true;\n }\n --z;\n }\n return false;\n };\n /**\n * Get the extent for this tile grid, if it was configured.\n * @return {import(\"../extent.js\").Extent} Extent.\n * @api\n */\n TileGrid.prototype.getExtent = function () {\n return this.extent_;\n };\n /**\n * Get the maximum zoom level for the grid.\n * @return {number} Max zoom.\n * @api\n */\n TileGrid.prototype.getMaxZoom = function () {\n return this.maxZoom;\n };\n /**\n * Get the minimum zoom level for the grid.\n * @return {number} Min zoom.\n * @api\n */\n TileGrid.prototype.getMinZoom = function () {\n return this.minZoom;\n };\n /**\n * Get the origin for the grid at the given zoom level.\n * @param {number} z Integer zoom level.\n * @return {import(\"../coordinate.js\").Coordinate} Origin.\n * @api\n */\n TileGrid.prototype.getOrigin = function (z) {\n if (this.origin_) {\n return this.origin_;\n }\n else {\n return this.origins_[z];\n }\n };\n /**\n * Get the resolution for the given zoom level.\n * @param {number} z Integer zoom level.\n * @return {number} Resolution.\n * @api\n */\n TileGrid.prototype.getResolution = function (z) {\n return this.resolutions_[z];\n };\n /**\n * Get the list of resolutions for the tile grid.\n * @return {Array} Resolutions.\n * @api\n */\n TileGrid.prototype.getResolutions = function () {\n return this.resolutions_;\n };\n /**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {import(\"../TileRange.js\").default} [opt_tileRange] Temporary import(\"../TileRange.js\").default object.\n * @param {import(\"../extent.js\").Extent} [opt_extent] Temporary import(\"../extent.js\").Extent object.\n * @return {import(\"../TileRange.js\").default|null} Tile range.\n */\n TileGrid.prototype.getTileCoordChildTileRange = function (tileCoord, opt_tileRange, opt_extent) {\n if (tileCoord[0] < this.maxZoom) {\n if (this.zoomFactor_ === 2) {\n var minX = tileCoord[1] * 2;\n var minY = tileCoord[2] * 2;\n return createOrUpdateTileRange(minX, minX + 1, minY, minY + 1, opt_tileRange);\n }\n var tileCoordExtent = this.getTileCoordExtent(tileCoord, opt_extent || this.tmpExtent_);\n return this.getTileRangeForExtentAndZ(tileCoordExtent, tileCoord[0] + 1, opt_tileRange);\n }\n return null;\n };\n /**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {number} z Integer zoom level.\n * @param {import(\"../TileRange.js\").default} [opt_tileRange] Temporary import(\"../TileRange.js\").default object.\n * @return {import(\"../TileRange.js\").default|null} Tile range.\n */\n TileGrid.prototype.getTileRangeForTileCoordAndZ = function (tileCoord, z, opt_tileRange) {\n if (z > this.maxZoom || z < this.minZoom) {\n return null;\n }\n var tileCoordZ = tileCoord[0];\n var tileCoordX = tileCoord[1];\n var tileCoordY = tileCoord[2];\n if (z === tileCoordZ) {\n return createOrUpdateTileRange(tileCoordX, tileCoordY, tileCoordX, tileCoordY, opt_tileRange);\n }\n if (this.zoomFactor_) {\n var factor = Math.pow(this.zoomFactor_, z - tileCoordZ);\n var minX = Math.floor(tileCoordX * factor);\n var minY = Math.floor(tileCoordY * factor);\n if (z < tileCoordZ) {\n return createOrUpdateTileRange(minX, minX, minY, minY, opt_tileRange);\n }\n var maxX = Math.floor(factor * (tileCoordX + 1)) - 1;\n var maxY = Math.floor(factor * (tileCoordY + 1)) - 1;\n return createOrUpdateTileRange(minX, maxX, minY, maxY, opt_tileRange);\n }\n var tileCoordExtent = this.getTileCoordExtent(tileCoord, this.tmpExtent_);\n return this.getTileRangeForExtentAndZ(tileCoordExtent, z, opt_tileRange);\n };\n /**\n * Get the extent for a tile range.\n * @param {number} z Integer zoom level.\n * @param {import(\"../TileRange.js\").default} tileRange Tile range.\n * @param {import(\"../extent.js\").Extent} [opt_extent] Temporary import(\"../extent.js\").Extent object.\n * @return {import(\"../extent.js\").Extent} Extent.\n */\n TileGrid.prototype.getTileRangeExtent = function (z, tileRange, opt_extent) {\n var origin = this.getOrigin(z);\n var resolution = this.getResolution(z);\n var tileSize = toSize(this.getTileSize(z), this.tmpSize_);\n var minX = origin[0] + tileRange.minX * tileSize[0] * resolution;\n var maxX = origin[0] + (tileRange.maxX + 1) * tileSize[0] * resolution;\n var minY = origin[1] + tileRange.minY * tileSize[1] * resolution;\n var maxY = origin[1] + (tileRange.maxY + 1) * tileSize[1] * resolution;\n return createOrUpdate(minX, minY, maxX, maxY, opt_extent);\n };\n /**\n * Get a tile range for the given extent and integer zoom level.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {number} z Integer zoom level.\n * @param {import(\"../TileRange.js\").default} [opt_tileRange] Temporary tile range object.\n * @return {import(\"../TileRange.js\").default} Tile range.\n */\n TileGrid.prototype.getTileRangeForExtentAndZ = function (extent, z, opt_tileRange) {\n var tileCoord = tmpTileCoord;\n this.getTileCoordForXYAndZ_(extent[0], extent[3], z, false, tileCoord);\n var minX = tileCoord[1];\n var minY = tileCoord[2];\n this.getTileCoordForXYAndZ_(extent[2], extent[1], z, true, tileCoord);\n return createOrUpdateTileRange(minX, tileCoord[1], minY, tileCoord[2], opt_tileRange);\n };\n /**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @return {import(\"../coordinate.js\").Coordinate} Tile center.\n */\n TileGrid.prototype.getTileCoordCenter = function (tileCoord) {\n var origin = this.getOrigin(tileCoord[0]);\n var resolution = this.getResolution(tileCoord[0]);\n var tileSize = toSize(this.getTileSize(tileCoord[0]), this.tmpSize_);\n return [\n origin[0] + (tileCoord[1] + 0.5) * tileSize[0] * resolution,\n origin[1] - (tileCoord[2] + 0.5) * tileSize[1] * resolution,\n ];\n };\n /**\n * Get the extent of a tile coordinate.\n *\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {import(\"../extent.js\").Extent} [opt_extent] Temporary extent object.\n * @return {import(\"../extent.js\").Extent} Extent.\n * @api\n */\n TileGrid.prototype.getTileCoordExtent = function (tileCoord, opt_extent) {\n var origin = this.getOrigin(tileCoord[0]);\n var resolution = this.getResolution(tileCoord[0]);\n var tileSize = toSize(this.getTileSize(tileCoord[0]), this.tmpSize_);\n var minX = origin[0] + tileCoord[1] * tileSize[0] * resolution;\n var minY = origin[1] - (tileCoord[2] + 1) * tileSize[1] * resolution;\n var maxX = minX + tileSize[0] * resolution;\n var maxY = minY + tileSize[1] * resolution;\n return createOrUpdate(minX, minY, maxX, maxY, opt_extent);\n };\n /**\n * Get the tile coordinate for the given map coordinate and resolution. This\n * method considers that coordinates that intersect tile boundaries should be\n * assigned the higher tile coordinate.\n *\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {number} resolution Resolution.\n * @param {import(\"../tilecoord.js\").TileCoord} [opt_tileCoord] Destination import(\"../tilecoord.js\").TileCoord object.\n * @return {import(\"../tilecoord.js\").TileCoord} Tile coordinate.\n * @api\n */\n TileGrid.prototype.getTileCoordForCoordAndResolution = function (coordinate, resolution, opt_tileCoord) {\n return this.getTileCoordForXYAndResolution_(coordinate[0], coordinate[1], resolution, false, opt_tileCoord);\n };\n /**\n * Note that this method should not be called for resolutions that correspond\n * to an integer zoom level. Instead call the `getTileCoordForXYAndZ_` method.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {number} resolution Resolution (for a non-integer zoom level).\n * @param {boolean} reverseIntersectionPolicy Instead of letting edge\n * intersections go to the higher tile coordinate, let edge intersections\n * go to the lower tile coordinate.\n * @param {import(\"../tilecoord.js\").TileCoord} [opt_tileCoord] Temporary import(\"../tilecoord.js\").TileCoord object.\n * @return {import(\"../tilecoord.js\").TileCoord} Tile coordinate.\n * @private\n */\n TileGrid.prototype.getTileCoordForXYAndResolution_ = function (x, y, resolution, reverseIntersectionPolicy, opt_tileCoord) {\n var z = this.getZForResolution(resolution);\n var scale = resolution / this.getResolution(z);\n var origin = this.getOrigin(z);\n var tileSize = toSize(this.getTileSize(z), this.tmpSize_);\n var tileCoordX = (scale * (x - origin[0])) / resolution / tileSize[0];\n var tileCoordY = (scale * (origin[1] - y)) / resolution / tileSize[1];\n if (reverseIntersectionPolicy) {\n tileCoordX = ceil(tileCoordX, DECIMALS) - 1;\n tileCoordY = ceil(tileCoordY, DECIMALS) - 1;\n }\n else {\n tileCoordX = floor(tileCoordX, DECIMALS);\n tileCoordY = floor(tileCoordY, DECIMALS);\n }\n return createOrUpdateTileCoord(z, tileCoordX, tileCoordY, opt_tileCoord);\n };\n /**\n * Although there is repetition between this method and `getTileCoordForXYAndResolution_`,\n * they should have separate implementations. This method is for integer zoom\n * levels. The other method should only be called for resolutions corresponding\n * to non-integer zoom levels.\n * @param {number} x Map x coordinate.\n * @param {number} y Map y coordinate.\n * @param {number} z Integer zoom level.\n * @param {boolean} reverseIntersectionPolicy Instead of letting edge\n * intersections go to the higher tile coordinate, let edge intersections\n * go to the lower tile coordinate.\n * @param {import(\"../tilecoord.js\").TileCoord} [opt_tileCoord] Temporary import(\"../tilecoord.js\").TileCoord object.\n * @return {import(\"../tilecoord.js\").TileCoord} Tile coordinate.\n * @private\n */\n TileGrid.prototype.getTileCoordForXYAndZ_ = function (x, y, z, reverseIntersectionPolicy, opt_tileCoord) {\n var origin = this.getOrigin(z);\n var resolution = this.getResolution(z);\n var tileSize = toSize(this.getTileSize(z), this.tmpSize_);\n var tileCoordX = (x - origin[0]) / resolution / tileSize[0];\n var tileCoordY = (origin[1] - y) / resolution / tileSize[1];\n if (reverseIntersectionPolicy) {\n tileCoordX = ceil(tileCoordX, DECIMALS) - 1;\n tileCoordY = ceil(tileCoordY, DECIMALS) - 1;\n }\n else {\n tileCoordX = floor(tileCoordX, DECIMALS);\n tileCoordY = floor(tileCoordY, DECIMALS);\n }\n return createOrUpdateTileCoord(z, tileCoordX, tileCoordY, opt_tileCoord);\n };\n /**\n * Get a tile coordinate given a map coordinate and zoom level.\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {number} z Zoom level.\n * @param {import(\"../tilecoord.js\").TileCoord} [opt_tileCoord] Destination import(\"../tilecoord.js\").TileCoord object.\n * @return {import(\"../tilecoord.js\").TileCoord} Tile coordinate.\n * @api\n */\n TileGrid.prototype.getTileCoordForCoordAndZ = function (coordinate, z, opt_tileCoord) {\n return this.getTileCoordForXYAndZ_(coordinate[0], coordinate[1], z, false, opt_tileCoord);\n };\n /**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @return {number} Tile resolution.\n */\n TileGrid.prototype.getTileCoordResolution = function (tileCoord) {\n return this.resolutions_[tileCoord[0]];\n };\n /**\n * Get the tile size for a zoom level. The type of the return value matches the\n * `tileSize` or `tileSizes` that the tile grid was configured with. To always\n * get an {@link import(\"../size.js\").Size}, run the result through {@link module:ol/size.toSize}.\n * @param {number} z Z.\n * @return {number|import(\"../size.js\").Size} Tile size.\n * @api\n */\n TileGrid.prototype.getTileSize = function (z) {\n if (this.tileSize_) {\n return this.tileSize_;\n }\n else {\n return this.tileSizes_[z];\n }\n };\n /**\n * @param {number} z Zoom level.\n * @return {import(\"../TileRange.js\").default} Extent tile range for the specified zoom level.\n */\n TileGrid.prototype.getFullTileRange = function (z) {\n if (!this.fullTileRanges_) {\n return this.extent_\n ? this.getTileRangeForExtentAndZ(this.extent_, z)\n : null;\n }\n else {\n return this.fullTileRanges_[z];\n }\n };\n /**\n * @param {number} resolution Resolution.\n * @param {number|import(\"../array.js\").NearestDirectionFunction} [opt_direction]\n * If 0, the nearest resolution will be used.\n * If 1, the nearest higher resolution (lower Z) will be used. If -1, the\n * nearest lower resolution (higher Z) will be used. Default is 0.\n * Use a {@link module:ol/array~NearestDirectionFunction} for more precise control.\n *\n * For example to change tile Z at the midpoint of zoom levels\n * ```js\n * function(value, high, low) {\n * return value - low * Math.sqrt(high / low);\n * }\n * ```\n * @return {number} Z.\n * @api\n */\n TileGrid.prototype.getZForResolution = function (resolution, opt_direction) {\n var z = linearFindNearest(this.resolutions_, resolution, opt_direction || 0);\n return clamp(z, this.minZoom, this.maxZoom);\n };\n /**\n * The tile with the provided tile coordinate intersects the given viewport.\n * @param {import('../tilecoord.js').TileCoord} tileCoord Tile coordinate.\n * @param {Array} viewport Viewport as returned from {@link module:ol/extent.getRotatedViewport}.\n * @return {boolean} The tile with the provided tile coordinate intersects the given viewport.\n */\n TileGrid.prototype.tileCoordIntersectsViewport = function (tileCoord, viewport) {\n return intersectsLinearRing(viewport, 0, viewport.length, 2, this.getTileCoordExtent(tileCoord));\n };\n /**\n * @param {!import(\"../extent.js\").Extent} extent Extent for this tile grid.\n * @private\n */\n TileGrid.prototype.calculateTileRanges_ = function (extent) {\n var length = this.resolutions_.length;\n var fullTileRanges = new Array(length);\n for (var z = this.minZoom; z < length; ++z) {\n fullTileRanges[z] = this.getTileRangeForExtentAndZ(extent, z);\n }\n this.fullTileRanges_ = fullTileRanges;\n };\n return TileGrid;\n}());\nexport default TileGrid;\n//# sourceMappingURL=TileGrid.js.map","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectParticipantsWidget.vue?vue&type=style&index=0&id=a89e61a0&prod&scoped=true&lang=css\"","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/geom/LineString\n */\nimport GeometryLayout from './GeometryLayout.js';\nimport SimpleGeometry from './SimpleGeometry.js';\nimport { assignClosestPoint, maxSquaredDelta } from './flat/closest.js';\nimport { closestSquaredDistanceXY } from '../extent.js';\nimport { deflateCoordinates } from './flat/deflate.js';\nimport { douglasPeucker } from './flat/simplify.js';\nimport { extend } from '../array.js';\nimport { forEach as forEachSegment } from './flat/segments.js';\nimport { inflateCoordinates } from './flat/inflate.js';\nimport { interpolatePoint, lineStringCoordinateAtM } from './flat/interpolate.js';\nimport { intersectsLineString } from './flat/intersectsextent.js';\nimport { lineStringLength } from './flat/length.js';\n/**\n * @classdesc\n * Linestring geometry.\n *\n * @api\n */\nvar LineString = /** @class */ (function (_super) {\n __extends(LineString, _super);\n /**\n * @param {Array|Array} coordinates Coordinates.\n * For internal use, flat coordinates in combination with `opt_layout` are also accepted.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n */\n function LineString(coordinates, opt_layout) {\n var _this = _super.call(this) || this;\n /**\n * @private\n * @type {import(\"../coordinate.js\").Coordinate}\n */\n _this.flatMidpoint_ = null;\n /**\n * @private\n * @type {number}\n */\n _this.flatMidpointRevision_ = -1;\n /**\n * @private\n * @type {number}\n */\n _this.maxDelta_ = -1;\n /**\n * @private\n * @type {number}\n */\n _this.maxDeltaRevision_ = -1;\n if (opt_layout !== undefined && !Array.isArray(coordinates[0])) {\n _this.setFlatCoordinates(opt_layout, \n /** @type {Array} */ (coordinates));\n }\n else {\n _this.setCoordinates(\n /** @type {Array} */ (coordinates), opt_layout);\n }\n return _this;\n }\n /**\n * Append the passed coordinate to the coordinates of the linestring.\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @api\n */\n LineString.prototype.appendCoordinate = function (coordinate) {\n if (!this.flatCoordinates) {\n this.flatCoordinates = coordinate.slice();\n }\n else {\n extend(this.flatCoordinates, coordinate);\n }\n this.changed();\n };\n /**\n * Make a complete copy of the geometry.\n * @return {!LineString} Clone.\n * @api\n */\n LineString.prototype.clone = function () {\n var lineString = new LineString(this.flatCoordinates.slice(), this.layout);\n lineString.applyProperties(this);\n return lineString;\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../coordinate.js\").Coordinate} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @return {number} Minimum squared distance.\n */\n LineString.prototype.closestPointXY = function (x, y, closestPoint, minSquaredDistance) {\n if (minSquaredDistance < closestSquaredDistanceXY(this.getExtent(), x, y)) {\n return minSquaredDistance;\n }\n if (this.maxDeltaRevision_ != this.getRevision()) {\n this.maxDelta_ = Math.sqrt(maxSquaredDelta(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, 0));\n this.maxDeltaRevision_ = this.getRevision();\n }\n return assignClosestPoint(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, this.maxDelta_, false, x, y, closestPoint, minSquaredDistance);\n };\n /**\n * Iterate over each segment, calling the provided callback.\n * If the callback returns a truthy value the function returns that\n * value immediately. Otherwise the function returns `false`.\n *\n * @param {function(this: S, import(\"../coordinate.js\").Coordinate, import(\"../coordinate.js\").Coordinate): T} callback Function\n * called for each segment. The function will receive two arguments, the start and end coordinates of the segment.\n * @return {T|boolean} Value.\n * @template T,S\n * @api\n */\n LineString.prototype.forEachSegment = function (callback) {\n return forEachSegment(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, callback);\n };\n /**\n * Returns the coordinate at `m` using linear interpolation, or `null` if no\n * such coordinate exists.\n *\n * `opt_extrapolate` controls extrapolation beyond the range of Ms in the\n * MultiLineString. If `opt_extrapolate` is `true` then Ms less than the first\n * M will return the first coordinate and Ms greater than the last M will\n * return the last coordinate.\n *\n * @param {number} m M.\n * @param {boolean} [opt_extrapolate] Extrapolate. Default is `false`.\n * @return {import(\"../coordinate.js\").Coordinate|null} Coordinate.\n * @api\n */\n LineString.prototype.getCoordinateAtM = function (m, opt_extrapolate) {\n if (this.layout != GeometryLayout.XYM &&\n this.layout != GeometryLayout.XYZM) {\n return null;\n }\n var extrapolate = opt_extrapolate !== undefined ? opt_extrapolate : false;\n return lineStringCoordinateAtM(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, m, extrapolate);\n };\n /**\n * Return the coordinates of the linestring.\n * @return {Array} Coordinates.\n * @api\n */\n LineString.prototype.getCoordinates = function () {\n return inflateCoordinates(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride);\n };\n /**\n * Return the coordinate at the provided fraction along the linestring.\n * The `fraction` is a number between 0 and 1, where 0 is the start of the\n * linestring and 1 is the end.\n * @param {number} fraction Fraction.\n * @param {import(\"../coordinate.js\").Coordinate} [opt_dest] Optional coordinate whose values will\n * be modified. If not provided, a new coordinate will be returned.\n * @return {import(\"../coordinate.js\").Coordinate} Coordinate of the interpolated point.\n * @api\n */\n LineString.prototype.getCoordinateAt = function (fraction, opt_dest) {\n return interpolatePoint(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, fraction, opt_dest, this.stride);\n };\n /**\n * Return the length of the linestring on projected plane.\n * @return {number} Length (on projected plane).\n * @api\n */\n LineString.prototype.getLength = function () {\n return lineStringLength(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride);\n };\n /**\n * @return {Array} Flat midpoint.\n */\n LineString.prototype.getFlatMidpoint = function () {\n if (this.flatMidpointRevision_ != this.getRevision()) {\n this.flatMidpoint_ = this.getCoordinateAt(0.5, this.flatMidpoint_);\n this.flatMidpointRevision_ = this.getRevision();\n }\n return this.flatMidpoint_;\n };\n /**\n * @param {number} squaredTolerance Squared tolerance.\n * @return {LineString} Simplified LineString.\n * @protected\n */\n LineString.prototype.getSimplifiedGeometryInternal = function (squaredTolerance) {\n var simplifiedFlatCoordinates = [];\n simplifiedFlatCoordinates.length = douglasPeucker(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, squaredTolerance, simplifiedFlatCoordinates, 0);\n return new LineString(simplifiedFlatCoordinates, GeometryLayout.XY);\n };\n /**\n * Get the type of this geometry.\n * @return {import(\"./Geometry.js\").Type} Geometry type.\n * @api\n */\n LineString.prototype.getType = function () {\n return 'LineString';\n };\n /**\n * Test if the geometry and the passed extent intersect.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {boolean} `true` if the geometry and the extent intersect.\n * @api\n */\n LineString.prototype.intersectsExtent = function (extent) {\n return intersectsLineString(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, extent);\n };\n /**\n * Set the coordinates of the linestring.\n * @param {!Array} coordinates Coordinates.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n * @api\n */\n LineString.prototype.setCoordinates = function (coordinates, opt_layout) {\n this.setLayout(opt_layout, coordinates, 1);\n if (!this.flatCoordinates) {\n this.flatCoordinates = [];\n }\n this.flatCoordinates.length = deflateCoordinates(this.flatCoordinates, 0, coordinates, this.stride);\n this.changed();\n };\n return LineString;\n}(SimpleGeometry));\nexport default LineString;\n//# sourceMappingURL=LineString.js.map","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./locationVisitsTable.vue?vue&type=style&index=0&id=379f4ba4&prod&lang=css\"","/*!\n * devextreme-vue\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DxPager = exports.DxOperationDescriptions = exports.DxOffset = exports.DxNumericRule = exports.DxMy = exports.DxLookup = exports.DxLoadPanel = exports.DxLabel = exports.DxKeyboardNavigation = exports.DxItem = exports.DxHide = exports.DxHeaderFilter = exports.DxGroupOperationDescriptions = exports.DxFrom = exports.DxFormItem = exports.DxFormat = exports.DxForm = exports.DxFilterRow = exports.DxFilterPanelTexts = exports.DxFilterPanel = exports.DxFilterOperationDescriptions = exports.DxFilterBuilderPopup = exports.DxFilterBuilder = exports.DxFieldLookup = exports.DxField = exports.DxEmailRule = exports.DxEditingTexts = exports.DxEditing = exports.DxCustomRule = exports.DxCustomOperation = exports.DxCursorOffset = exports.DxCompareRule = exports.DxColumnLookup = exports.DxColumnHeaderFilterSearch = exports.DxColumnHeaderFilter = exports.DxColumnFixingTexts = exports.DxColumnFixing = exports.DxColumnChooserSelection = exports.DxColumnChooserSearch = exports.DxColumnChooser = exports.DxColumn = exports.DxCollision = exports.DxColCountByScreen = exports.DxChange = exports.DxButton = exports.DxBoundaryOffset = exports.DxAt = exports.DxAsyncRule = exports.DxAnimation = exports.DxTreeList = void 0;\nexports.DxValidationRule = exports.DxTreeListSelection = exports.DxTreeListHeaderFilterTexts = exports.DxTreeListHeaderFilterSearch = exports.DxTreeListHeaderFilter = exports.DxToolbarItem = exports.DxToolbar = exports.DxTo = exports.DxTexts = exports.DxStringLengthRule = exports.DxStateStoring = exports.DxSorting = exports.DxShow = exports.DxSelection = exports.DxSearchPanel = exports.DxSearch = exports.DxScrolling = exports.DxRowDragging = exports.DxRequiredRule = exports.DxRemoteOperations = exports.DxRangeRule = exports.DxPosition = exports.DxPopup = exports.DxPatternRule = exports.DxPaging = void 0;\nvar tree_list_1 = __importDefault(require(\"devextreme/ui/tree_list\"));\nvar index_1 = require(\"./core/index\");\nvar index_2 = require(\"./core/index\");\nvar DxTreeList = (0, index_1.createComponent)({\n props: {\n accessKey: String,\n activeStateEnabled: Boolean,\n allowColumnReordering: Boolean,\n allowColumnResizing: Boolean,\n autoExpandAll: Boolean,\n autoNavigateToFocusedRow: Boolean,\n cacheEnabled: Boolean,\n cellHintEnabled: Boolean,\n columnAutoWidth: Boolean,\n columnChooser: Object,\n columnFixing: Object,\n columnHidingEnabled: Boolean,\n columnMinWidth: Number,\n columnResizingMode: String,\n columns: Array,\n columnWidth: [Number, String],\n customizeColumns: Function,\n dataSource: {},\n dataStructure: String,\n dateSerializationFormat: String,\n disabled: Boolean,\n editing: Object,\n elementAttr: Object,\n errorRowEnabled: Boolean,\n expandedRowKeys: Array,\n expandNodesOnFiltering: Boolean,\n filterBuilder: Object,\n filterBuilderPopup: Object,\n filterMode: String,\n filterPanel: Object,\n filterRow: Object,\n filterSyncEnabled: [Boolean, String],\n filterValue: [Array, Function, String],\n focusedColumnIndex: Number,\n focusedRowEnabled: Boolean,\n focusedRowIndex: Number,\n focusedRowKey: {},\n hasItemsExpr: [Function, String],\n headerFilter: Object,\n height: [Function, Number, String],\n highlightChanges: Boolean,\n hint: String,\n hoverStateEnabled: Boolean,\n itemsExpr: [Function, String],\n keyboardNavigation: Object,\n keyExpr: [Function, String],\n loadPanel: Object,\n noDataText: String,\n onAdaptiveDetailRowPreparing: Function,\n onCellClick: Function,\n onCellDblClick: Function,\n onCellHoverChanged: Function,\n onCellPrepared: Function,\n onContentReady: Function,\n onContextMenuPreparing: Function,\n onDataErrorOccurred: Function,\n onDisposing: Function,\n onEditCanceled: Function,\n onEditCanceling: Function,\n onEditingStart: Function,\n onEditorPrepared: Function,\n onEditorPreparing: Function,\n onFocusedCellChanged: Function,\n onFocusedCellChanging: Function,\n onFocusedRowChanged: Function,\n onFocusedRowChanging: Function,\n onInitialized: Function,\n onInitNewRow: Function,\n onKeyDown: Function,\n onNodesInitialized: Function,\n onOptionChanged: Function,\n onRowClick: Function,\n onRowCollapsed: Function,\n onRowCollapsing: Function,\n onRowDblClick: Function,\n onRowExpanded: Function,\n onRowExpanding: Function,\n onRowInserted: Function,\n onRowInserting: Function,\n onRowPrepared: Function,\n onRowRemoved: Function,\n onRowRemoving: Function,\n onRowUpdated: Function,\n onRowUpdating: Function,\n onRowValidating: Function,\n onSaved: Function,\n onSaving: Function,\n onSelectionChanged: Function,\n onToolbarPreparing: Function,\n pager: Object,\n paging: Object,\n parentIdExpr: [Function, String],\n remoteOperations: [Object, String],\n renderAsync: Boolean,\n repaintChangesOnly: Boolean,\n rootValue: {},\n rowAlternationEnabled: Boolean,\n rowDragging: Object,\n rtlEnabled: Boolean,\n scrolling: Object,\n searchPanel: Object,\n selectedRowKeys: Array,\n selection: Object,\n showBorders: Boolean,\n showColumnHeaders: Boolean,\n showColumnLines: Boolean,\n showRowLines: Boolean,\n sorting: Object,\n stateStoring: Object,\n syncLookupFilterValues: Boolean,\n tabIndex: Number,\n toolbar: Object,\n twoWayBindingEnabled: Boolean,\n visible: Boolean,\n width: [Function, Number, String],\n wordWrapEnabled: Boolean\n },\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:allowColumnReordering\": null,\n \"update:allowColumnResizing\": null,\n \"update:autoExpandAll\": null,\n \"update:autoNavigateToFocusedRow\": null,\n \"update:cacheEnabled\": null,\n \"update:cellHintEnabled\": null,\n \"update:columnAutoWidth\": null,\n \"update:columnChooser\": null,\n \"update:columnFixing\": null,\n \"update:columnHidingEnabled\": null,\n \"update:columnMinWidth\": null,\n \"update:columnResizingMode\": null,\n \"update:columns\": null,\n \"update:columnWidth\": null,\n \"update:customizeColumns\": null,\n \"update:dataSource\": null,\n \"update:dataStructure\": null,\n \"update:dateSerializationFormat\": null,\n \"update:disabled\": null,\n \"update:editing\": null,\n \"update:elementAttr\": null,\n \"update:errorRowEnabled\": null,\n \"update:expandedRowKeys\": null,\n \"update:expandNodesOnFiltering\": null,\n \"update:filterBuilder\": null,\n \"update:filterBuilderPopup\": null,\n \"update:filterMode\": null,\n \"update:filterPanel\": null,\n \"update:filterRow\": null,\n \"update:filterSyncEnabled\": null,\n \"update:filterValue\": null,\n \"update:focusedColumnIndex\": null,\n \"update:focusedRowEnabled\": null,\n \"update:focusedRowIndex\": null,\n \"update:focusedRowKey\": null,\n \"update:hasItemsExpr\": null,\n \"update:headerFilter\": null,\n \"update:height\": null,\n \"update:highlightChanges\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:itemsExpr\": null,\n \"update:keyboardNavigation\": null,\n \"update:keyExpr\": null,\n \"update:loadPanel\": null,\n \"update:noDataText\": null,\n \"update:onAdaptiveDetailRowPreparing\": null,\n \"update:onCellClick\": null,\n \"update:onCellDblClick\": null,\n \"update:onCellHoverChanged\": null,\n \"update:onCellPrepared\": null,\n \"update:onContentReady\": null,\n \"update:onContextMenuPreparing\": null,\n \"update:onDataErrorOccurred\": null,\n \"update:onDisposing\": null,\n \"update:onEditCanceled\": null,\n \"update:onEditCanceling\": null,\n \"update:onEditingStart\": null,\n \"update:onEditorPrepared\": null,\n \"update:onEditorPreparing\": null,\n \"update:onFocusedCellChanged\": null,\n \"update:onFocusedCellChanging\": null,\n \"update:onFocusedRowChanged\": null,\n \"update:onFocusedRowChanging\": null,\n \"update:onInitialized\": null,\n \"update:onInitNewRow\": null,\n \"update:onKeyDown\": null,\n \"update:onNodesInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:onRowClick\": null,\n \"update:onRowCollapsed\": null,\n \"update:onRowCollapsing\": null,\n \"update:onRowDblClick\": null,\n \"update:onRowExpanded\": null,\n \"update:onRowExpanding\": null,\n \"update:onRowInserted\": null,\n \"update:onRowInserting\": null,\n \"update:onRowPrepared\": null,\n \"update:onRowRemoved\": null,\n \"update:onRowRemoving\": null,\n \"update:onRowUpdated\": null,\n \"update:onRowUpdating\": null,\n \"update:onRowValidating\": null,\n \"update:onSaved\": null,\n \"update:onSaving\": null,\n \"update:onSelectionChanged\": null,\n \"update:onToolbarPreparing\": null,\n \"update:pager\": null,\n \"update:paging\": null,\n \"update:parentIdExpr\": null,\n \"update:remoteOperations\": null,\n \"update:renderAsync\": null,\n \"update:repaintChangesOnly\": null,\n \"update:rootValue\": null,\n \"update:rowAlternationEnabled\": null,\n \"update:rowDragging\": null,\n \"update:rtlEnabled\": null,\n \"update:scrolling\": null,\n \"update:searchPanel\": null,\n \"update:selectedRowKeys\": null,\n \"update:selection\": null,\n \"update:showBorders\": null,\n \"update:showColumnHeaders\": null,\n \"update:showColumnLines\": null,\n \"update:showRowLines\": null,\n \"update:sorting\": null,\n \"update:stateStoring\": null,\n \"update:syncLookupFilterValues\": null,\n \"update:tabIndex\": null,\n \"update:toolbar\": null,\n \"update:twoWayBindingEnabled\": null,\n \"update:visible\": null,\n \"update:width\": null,\n \"update:wordWrapEnabled\": null,\n },\n computed: {\n instance: function () {\n return this.$_instance;\n }\n },\n beforeCreate: function () {\n this.$_WidgetClass = tree_list_1.default;\n this.$_hasAsyncTemplate = false;\n this.$_expectedChildren = {\n column: { isCollectionItem: true, optionName: \"columns\" },\n columnChooser: { isCollectionItem: false, optionName: \"columnChooser\" },\n columnFixing: { isCollectionItem: false, optionName: \"columnFixing\" },\n editing: { isCollectionItem: false, optionName: \"editing\" },\n filterBuilder: { isCollectionItem: false, optionName: \"filterBuilder\" },\n filterBuilderPopup: { isCollectionItem: false, optionName: \"filterBuilderPopup\" },\n filterPanel: { isCollectionItem: false, optionName: \"filterPanel\" },\n filterRow: { isCollectionItem: false, optionName: \"filterRow\" },\n headerFilter: { isCollectionItem: false, optionName: \"headerFilter\" },\n keyboardNavigation: { isCollectionItem: false, optionName: \"keyboardNavigation\" },\n loadPanel: { isCollectionItem: false, optionName: \"loadPanel\" },\n pager: { isCollectionItem: false, optionName: \"pager\" },\n paging: { isCollectionItem: false, optionName: \"paging\" },\n remoteOperations: { isCollectionItem: false, optionName: \"remoteOperations\" },\n rowDragging: { isCollectionItem: false, optionName: \"rowDragging\" },\n scrolling: { isCollectionItem: false, optionName: \"scrolling\" },\n searchPanel: { isCollectionItem: false, optionName: \"searchPanel\" },\n selection: { isCollectionItem: false, optionName: \"selection\" },\n sorting: { isCollectionItem: false, optionName: \"sorting\" },\n stateStoring: { isCollectionItem: false, optionName: \"stateStoring\" },\n toolbar: { isCollectionItem: false, optionName: \"toolbar\" },\n treeListHeaderFilter: { isCollectionItem: false, optionName: \"headerFilter\" },\n treeListSelection: { isCollectionItem: false, optionName: \"selection\" }\n };\n }\n});\nexports.DxTreeList = DxTreeList;\nvar DxAnimation = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:hide\": null,\n \"update:show\": null,\n },\n props: {\n hide: [Object, Number, String],\n show: [Object, Number, String]\n }\n});\nexports.DxAnimation = DxAnimation;\nDxAnimation.$_optionName = \"animation\";\nDxAnimation.$_expectedChildren = {\n hide: { isCollectionItem: false, optionName: \"hide\" },\n show: { isCollectionItem: false, optionName: \"show\" }\n};\nvar DxAsyncRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:reevaluate\": null,\n \"update:type\": null,\n \"update:validationCallback\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n message: String,\n reevaluate: Boolean,\n type: String,\n validationCallback: Function\n }\n});\nexports.DxAsyncRule = DxAsyncRule;\nDxAsyncRule.$_optionName = \"validationRules\";\nDxAsyncRule.$_isCollectionItem = true;\nDxAsyncRule.$_predefinedProps = {\n type: \"async\"\n};\nvar DxAt = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: String,\n y: String\n }\n});\nexports.DxAt = DxAt;\nDxAt.$_optionName = \"at\";\nvar DxBoundaryOffset = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: Number,\n y: Number\n }\n});\nexports.DxBoundaryOffset = DxBoundaryOffset;\nDxBoundaryOffset.$_optionName = \"boundaryOffset\";\nvar DxButton = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:cssClass\": null,\n \"update:disabled\": null,\n \"update:hint\": null,\n \"update:icon\": null,\n \"update:name\": null,\n \"update:onClick\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:visible\": null,\n },\n props: {\n cssClass: String,\n disabled: [Boolean, Function],\n hint: String,\n icon: String,\n name: String,\n onClick: Function,\n template: {},\n text: String,\n visible: [Boolean, Function]\n }\n});\nexports.DxButton = DxButton;\nDxButton.$_optionName = \"buttons\";\nDxButton.$_isCollectionItem = true;\nvar DxChange = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:data\": null,\n \"update:insertAfterKey\": null,\n \"update:insertBeforeKey\": null,\n \"update:type\": null,\n },\n props: {\n data: {},\n insertAfterKey: {},\n insertBeforeKey: {},\n type: String\n }\n});\nexports.DxChange = DxChange;\nDxChange.$_optionName = \"changes\";\nDxChange.$_isCollectionItem = true;\nvar DxColCountByScreen = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:lg\": null,\n \"update:md\": null,\n \"update:sm\": null,\n \"update:xs\": null,\n },\n props: {\n lg: Number,\n md: Number,\n sm: Number,\n xs: Number\n }\n});\nexports.DxColCountByScreen = DxColCountByScreen;\nDxColCountByScreen.$_optionName = \"colCountByScreen\";\nvar DxCollision = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: String,\n y: String\n }\n});\nexports.DxCollision = DxCollision;\nDxCollision.$_optionName = \"collision\";\nvar DxColumn = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:allowEditing\": null,\n \"update:allowFiltering\": null,\n \"update:allowFixing\": null,\n \"update:allowHeaderFiltering\": null,\n \"update:allowHiding\": null,\n \"update:allowReordering\": null,\n \"update:allowResizing\": null,\n \"update:allowSearch\": null,\n \"update:allowSorting\": null,\n \"update:buttons\": null,\n \"update:calculateCellValue\": null,\n \"update:calculateDisplayValue\": null,\n \"update:calculateFilterExpression\": null,\n \"update:calculateSortValue\": null,\n \"update:caption\": null,\n \"update:cellTemplate\": null,\n \"update:columns\": null,\n \"update:cssClass\": null,\n \"update:customizeText\": null,\n \"update:dataField\": null,\n \"update:dataType\": null,\n \"update:editCellTemplate\": null,\n \"update:editorOptions\": null,\n \"update:encodeHtml\": null,\n \"update:falseText\": null,\n \"update:filterOperations\": null,\n \"update:filterType\": null,\n \"update:filterValue\": null,\n \"update:filterValues\": null,\n \"update:fixed\": null,\n \"update:fixedPosition\": null,\n \"update:format\": null,\n \"update:formItem\": null,\n \"update:headerCellTemplate\": null,\n \"update:headerFilter\": null,\n \"update:hidingPriority\": null,\n \"update:isBand\": null,\n \"update:lookup\": null,\n \"update:minWidth\": null,\n \"update:name\": null,\n \"update:ownerBand\": null,\n \"update:renderAsync\": null,\n \"update:selectedFilterOperation\": null,\n \"update:setCellValue\": null,\n \"update:showEditorAlways\": null,\n \"update:showInColumnChooser\": null,\n \"update:sortIndex\": null,\n \"update:sortingMethod\": null,\n \"update:sortOrder\": null,\n \"update:trueText\": null,\n \"update:type\": null,\n \"update:validationRules\": null,\n \"update:visible\": null,\n \"update:visibleIndex\": null,\n \"update:width\": null,\n },\n props: {\n alignment: String,\n allowEditing: Boolean,\n allowFiltering: Boolean,\n allowFixing: Boolean,\n allowHeaderFiltering: Boolean,\n allowHiding: Boolean,\n allowReordering: Boolean,\n allowResizing: Boolean,\n allowSearch: Boolean,\n allowSorting: Boolean,\n buttons: Array,\n calculateCellValue: Function,\n calculateDisplayValue: [Function, String],\n calculateFilterExpression: Function,\n calculateSortValue: [Function, String],\n caption: String,\n cellTemplate: {},\n columns: Array,\n cssClass: String,\n customizeText: Function,\n dataField: String,\n dataType: String,\n editCellTemplate: {},\n editorOptions: {},\n encodeHtml: Boolean,\n falseText: String,\n filterOperations: Array,\n filterType: String,\n filterValue: {},\n filterValues: Array,\n fixed: Boolean,\n fixedPosition: String,\n format: [Object, Function, String],\n formItem: Object,\n headerCellTemplate: {},\n headerFilter: Object,\n hidingPriority: Number,\n isBand: Boolean,\n lookup: Object,\n minWidth: Number,\n name: String,\n ownerBand: Number,\n renderAsync: Boolean,\n selectedFilterOperation: String,\n setCellValue: Function,\n showEditorAlways: Boolean,\n showInColumnChooser: Boolean,\n sortIndex: Number,\n sortingMethod: Function,\n sortOrder: String,\n trueText: String,\n type: String,\n validationRules: Array,\n visible: Boolean,\n visibleIndex: Number,\n width: [Number, String]\n }\n});\nexports.DxColumn = DxColumn;\nDxColumn.$_optionName = \"columns\";\nDxColumn.$_isCollectionItem = true;\nDxColumn.$_expectedChildren = {\n AsyncRule: { isCollectionItem: true, optionName: \"validationRules\" },\n button: { isCollectionItem: true, optionName: \"buttons\" },\n columnHeaderFilter: { isCollectionItem: false, optionName: \"headerFilter\" },\n columnLookup: { isCollectionItem: false, optionName: \"lookup\" },\n CompareRule: { isCollectionItem: true, optionName: \"validationRules\" },\n CustomRule: { isCollectionItem: true, optionName: \"validationRules\" },\n EmailRule: { isCollectionItem: true, optionName: \"validationRules\" },\n format: { isCollectionItem: false, optionName: \"format\" },\n formItem: { isCollectionItem: false, optionName: \"formItem\" },\n headerFilter: { isCollectionItem: false, optionName: \"headerFilter\" },\n lookup: { isCollectionItem: false, optionName: \"lookup\" },\n NumericRule: { isCollectionItem: true, optionName: \"validationRules\" },\n PatternRule: { isCollectionItem: true, optionName: \"validationRules\" },\n RangeRule: { isCollectionItem: true, optionName: \"validationRules\" },\n RequiredRule: { isCollectionItem: true, optionName: \"validationRules\" },\n StringLengthRule: { isCollectionItem: true, optionName: \"validationRules\" },\n validationRule: { isCollectionItem: true, optionName: \"validationRules\" }\n};\nvar DxColumnChooser = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowSearch\": null,\n \"update:emptyPanelText\": null,\n \"update:enabled\": null,\n \"update:height\": null,\n \"update:mode\": null,\n \"update:position\": null,\n \"update:search\": null,\n \"update:searchTimeout\": null,\n \"update:selection\": null,\n \"update:sortOrder\": null,\n \"update:title\": null,\n \"update:width\": null,\n },\n props: {\n allowSearch: Boolean,\n emptyPanelText: String,\n enabled: Boolean,\n height: Number,\n mode: String,\n position: Object,\n search: Object,\n searchTimeout: Number,\n selection: Object,\n sortOrder: String,\n title: String,\n width: Number\n }\n});\nexports.DxColumnChooser = DxColumnChooser;\nDxColumnChooser.$_optionName = \"columnChooser\";\nDxColumnChooser.$_expectedChildren = {\n columnChooserSearch: { isCollectionItem: false, optionName: \"search\" },\n columnChooserSelection: { isCollectionItem: false, optionName: \"selection\" },\n position: { isCollectionItem: false, optionName: \"position\" },\n search: { isCollectionItem: false, optionName: \"search\" },\n selection: { isCollectionItem: false, optionName: \"selection\" }\n};\nvar DxColumnChooserSearch = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:editorOptions\": null,\n \"update:enabled\": null,\n \"update:timeout\": null,\n },\n props: {\n editorOptions: {},\n enabled: Boolean,\n timeout: Number\n }\n});\nexports.DxColumnChooserSearch = DxColumnChooserSearch;\nDxColumnChooserSearch.$_optionName = \"search\";\nvar DxColumnChooserSelection = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowSelectAll\": null,\n \"update:recursive\": null,\n \"update:selectByClick\": null,\n },\n props: {\n allowSelectAll: Boolean,\n recursive: Boolean,\n selectByClick: Boolean\n }\n});\nexports.DxColumnChooserSelection = DxColumnChooserSelection;\nDxColumnChooserSelection.$_optionName = \"selection\";\nvar DxColumnFixing = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:enabled\": null,\n \"update:texts\": null,\n },\n props: {\n enabled: Boolean,\n texts: Object\n }\n});\nexports.DxColumnFixing = DxColumnFixing;\nDxColumnFixing.$_optionName = \"columnFixing\";\nDxColumnFixing.$_expectedChildren = {\n columnFixingTexts: { isCollectionItem: false, optionName: \"texts\" },\n texts: { isCollectionItem: false, optionName: \"texts\" }\n};\nvar DxColumnFixingTexts = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:fix\": null,\n \"update:leftPosition\": null,\n \"update:rightPosition\": null,\n \"update:unfix\": null,\n },\n props: {\n fix: String,\n leftPosition: String,\n rightPosition: String,\n unfix: String\n }\n});\nexports.DxColumnFixingTexts = DxColumnFixingTexts;\nDxColumnFixingTexts.$_optionName = \"texts\";\nvar DxColumnHeaderFilter = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowSearch\": null,\n \"update:allowSelectAll\": null,\n \"update:dataSource\": null,\n \"update:groupInterval\": null,\n \"update:height\": null,\n \"update:search\": null,\n \"update:searchMode\": null,\n \"update:width\": null,\n },\n props: {\n allowSearch: Boolean,\n allowSelectAll: Boolean,\n dataSource: {},\n groupInterval: [Number, String],\n height: Number,\n search: Object,\n searchMode: String,\n width: Number\n }\n});\nexports.DxColumnHeaderFilter = DxColumnHeaderFilter;\nDxColumnHeaderFilter.$_optionName = \"headerFilter\";\nDxColumnHeaderFilter.$_expectedChildren = {\n columnHeaderFilterSearch: { isCollectionItem: false, optionName: \"search\" },\n search: { isCollectionItem: false, optionName: \"search\" }\n};\nvar DxColumnHeaderFilterSearch = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:editorOptions\": null,\n \"update:enabled\": null,\n \"update:mode\": null,\n \"update:searchExpr\": null,\n \"update:timeout\": null,\n },\n props: {\n editorOptions: {},\n enabled: Boolean,\n mode: String,\n searchExpr: [Array, Function, String],\n timeout: Number\n }\n});\nexports.DxColumnHeaderFilterSearch = DxColumnHeaderFilterSearch;\nDxColumnHeaderFilterSearch.$_optionName = \"search\";\nvar DxColumnLookup = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowClearing\": null,\n \"update:calculateCellValue\": null,\n \"update:dataSource\": null,\n \"update:displayExpr\": null,\n \"update:valueExpr\": null,\n },\n props: {\n allowClearing: Boolean,\n calculateCellValue: Function,\n dataSource: {},\n displayExpr: [Function, String],\n valueExpr: String\n }\n});\nexports.DxColumnLookup = DxColumnLookup;\nDxColumnLookup.$_optionName = \"lookup\";\nvar DxCompareRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:comparisonTarget\": null,\n \"update:comparisonType\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:type\": null,\n },\n props: {\n comparisonTarget: Function,\n comparisonType: String,\n ignoreEmptyValue: Boolean,\n message: String,\n type: String\n }\n});\nexports.DxCompareRule = DxCompareRule;\nDxCompareRule.$_optionName = \"validationRules\";\nDxCompareRule.$_isCollectionItem = true;\nDxCompareRule.$_predefinedProps = {\n type: \"compare\"\n};\nvar DxCursorOffset = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: Number,\n y: Number\n }\n});\nexports.DxCursorOffset = DxCursorOffset;\nDxCursorOffset.$_optionName = \"cursorOffset\";\nvar DxCustomOperation = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:calculateFilterExpression\": null,\n \"update:caption\": null,\n \"update:customizeText\": null,\n \"update:dataTypes\": null,\n \"update:editorTemplate\": null,\n \"update:hasValue\": null,\n \"update:icon\": null,\n \"update:name\": null,\n },\n props: {\n calculateFilterExpression: Function,\n caption: String,\n customizeText: Function,\n dataTypes: Array,\n editorTemplate: {},\n hasValue: Boolean,\n icon: String,\n name: String\n }\n});\nexports.DxCustomOperation = DxCustomOperation;\nDxCustomOperation.$_optionName = \"customOperations\";\nDxCustomOperation.$_isCollectionItem = true;\nvar DxCustomRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:reevaluate\": null,\n \"update:type\": null,\n \"update:validationCallback\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n message: String,\n reevaluate: Boolean,\n type: String,\n validationCallback: Function\n }\n});\nexports.DxCustomRule = DxCustomRule;\nDxCustomRule.$_optionName = \"validationRules\";\nDxCustomRule.$_isCollectionItem = true;\nDxCustomRule.$_predefinedProps = {\n type: \"custom\"\n};\nvar DxEditing = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowAdding\": null,\n \"update:allowDeleting\": null,\n \"update:allowUpdating\": null,\n \"update:changes\": null,\n \"update:confirmDelete\": null,\n \"update:editColumnName\": null,\n \"update:editRowKey\": null,\n \"update:form\": null,\n \"update:mode\": null,\n \"update:popup\": null,\n \"update:refreshMode\": null,\n \"update:selectTextOnEditStart\": null,\n \"update:startEditAction\": null,\n \"update:texts\": null,\n \"update:useIcons\": null,\n },\n props: {\n allowAdding: [Boolean, Function],\n allowDeleting: [Boolean, Function],\n allowUpdating: [Boolean, Function],\n changes: Array,\n confirmDelete: Boolean,\n editColumnName: String,\n editRowKey: {},\n form: Object,\n mode: String,\n popup: Object,\n refreshMode: String,\n selectTextOnEditStart: Boolean,\n startEditAction: String,\n texts: Object,\n useIcons: Boolean\n }\n});\nexports.DxEditing = DxEditing;\nDxEditing.$_optionName = \"editing\";\nDxEditing.$_expectedChildren = {\n change: { isCollectionItem: true, optionName: \"changes\" },\n editingTexts: { isCollectionItem: false, optionName: \"texts\" },\n form: { isCollectionItem: false, optionName: \"form\" },\n popup: { isCollectionItem: false, optionName: \"popup\" },\n texts: { isCollectionItem: false, optionName: \"texts\" }\n};\nvar DxEditingTexts = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:addRow\": null,\n \"update:addRowToNode\": null,\n \"update:cancelAllChanges\": null,\n \"update:cancelRowChanges\": null,\n \"update:confirmDeleteMessage\": null,\n \"update:confirmDeleteTitle\": null,\n \"update:deleteRow\": null,\n \"update:editRow\": null,\n \"update:saveAllChanges\": null,\n \"update:saveRowChanges\": null,\n \"update:undeleteRow\": null,\n \"update:validationCancelChanges\": null,\n },\n props: {\n addRow: String,\n addRowToNode: String,\n cancelAllChanges: String,\n cancelRowChanges: String,\n confirmDeleteMessage: String,\n confirmDeleteTitle: String,\n deleteRow: String,\n editRow: String,\n saveAllChanges: String,\n saveRowChanges: String,\n undeleteRow: String,\n validationCancelChanges: String\n }\n});\nexports.DxEditingTexts = DxEditingTexts;\nDxEditingTexts.$_optionName = \"texts\";\nvar DxEmailRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:type\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n message: String,\n type: String\n }\n});\nexports.DxEmailRule = DxEmailRule;\nDxEmailRule.$_optionName = \"validationRules\";\nDxEmailRule.$_isCollectionItem = true;\nDxEmailRule.$_predefinedProps = {\n type: \"email\"\n};\nvar DxField = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:calculateFilterExpression\": null,\n \"update:caption\": null,\n \"update:customizeText\": null,\n \"update:dataField\": null,\n \"update:dataType\": null,\n \"update:editorOptions\": null,\n \"update:editorTemplate\": null,\n \"update:falseText\": null,\n \"update:filterOperations\": null,\n \"update:format\": null,\n \"update:lookup\": null,\n \"update:name\": null,\n \"update:trueText\": null,\n },\n props: {\n calculateFilterExpression: Function,\n caption: String,\n customizeText: Function,\n dataField: String,\n dataType: String,\n editorOptions: {},\n editorTemplate: {},\n falseText: String,\n filterOperations: Array,\n format: [Object, Function, String],\n lookup: Object,\n name: String,\n trueText: String\n }\n});\nexports.DxField = DxField;\nDxField.$_optionName = \"fields\";\nDxField.$_isCollectionItem = true;\nDxField.$_expectedChildren = {\n fieldLookup: { isCollectionItem: false, optionName: \"lookup\" },\n format: { isCollectionItem: false, optionName: \"format\" },\n lookup: { isCollectionItem: false, optionName: \"lookup\" }\n};\nvar DxFieldLookup = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowClearing\": null,\n \"update:dataSource\": null,\n \"update:displayExpr\": null,\n \"update:valueExpr\": null,\n },\n props: {\n allowClearing: Boolean,\n dataSource: [Array, Object],\n displayExpr: [Function, String],\n valueExpr: [Function, String]\n }\n});\nexports.DxFieldLookup = DxFieldLookup;\nDxFieldLookup.$_optionName = \"lookup\";\nvar DxFilterBuilder = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:allowHierarchicalFields\": null,\n \"update:bindingOptions\": null,\n \"update:customOperations\": null,\n \"update:disabled\": null,\n \"update:elementAttr\": null,\n \"update:fields\": null,\n \"update:filterOperationDescriptions\": null,\n \"update:focusStateEnabled\": null,\n \"update:groupOperationDescriptions\": null,\n \"update:groupOperations\": null,\n \"update:height\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:maxGroupLevel\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onEditorPrepared\": null,\n \"update:onEditorPreparing\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:onValueChanged\": null,\n \"update:rtlEnabled\": null,\n \"update:tabIndex\": null,\n \"update:value\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n accessKey: String,\n activeStateEnabled: Boolean,\n allowHierarchicalFields: Boolean,\n bindingOptions: Object,\n customOperations: Array,\n disabled: Boolean,\n elementAttr: Object,\n fields: Array,\n filterOperationDescriptions: Object,\n focusStateEnabled: Boolean,\n groupOperationDescriptions: Object,\n groupOperations: Array,\n height: [Function, Number, String],\n hint: String,\n hoverStateEnabled: Boolean,\n maxGroupLevel: Number,\n onContentReady: Function,\n onDisposing: Function,\n onEditorPrepared: Function,\n onEditorPreparing: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n onValueChanged: Function,\n rtlEnabled: Boolean,\n tabIndex: Number,\n value: [Array, Function, String],\n visible: Boolean,\n width: [Function, Number, String]\n }\n});\nexports.DxFilterBuilder = DxFilterBuilder;\nDxFilterBuilder.$_optionName = \"filterBuilder\";\nDxFilterBuilder.$_expectedChildren = {\n customOperation: { isCollectionItem: true, optionName: \"customOperations\" },\n field: { isCollectionItem: true, optionName: \"fields\" },\n filterOperationDescriptions: { isCollectionItem: false, optionName: \"filterOperationDescriptions\" },\n groupOperationDescriptions: { isCollectionItem: false, optionName: \"groupOperationDescriptions\" }\n};\nvar DxFilterBuilderPopup = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:animation\": null,\n \"update:bindingOptions\": null,\n \"update:closeOnOutsideClick\": null,\n \"update:container\": null,\n \"update:contentTemplate\": null,\n \"update:copyRootClassesToWrapper\": null,\n \"update:deferRendering\": null,\n \"update:disabled\": null,\n \"update:dragAndResizeArea\": null,\n \"update:dragEnabled\": null,\n \"update:dragOutsideBoundary\": null,\n \"update:elementAttr\": null,\n \"update:enableBodyScroll\": null,\n \"update:focusStateEnabled\": null,\n \"update:fullScreen\": null,\n \"update:height\": null,\n \"update:hideOnOutsideClick\": null,\n \"update:hideOnParentScroll\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:maxHeight\": null,\n \"update:maxWidth\": null,\n \"update:minHeight\": null,\n \"update:minWidth\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onHidden\": null,\n \"update:onHiding\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:onResize\": null,\n \"update:onResizeEnd\": null,\n \"update:onResizeStart\": null,\n \"update:onShowing\": null,\n \"update:onShown\": null,\n \"update:onTitleRendered\": null,\n \"update:position\": null,\n \"update:resizeEnabled\": null,\n \"update:restorePosition\": null,\n \"update:rtlEnabled\": null,\n \"update:shading\": null,\n \"update:shadingColor\": null,\n \"update:showCloseButton\": null,\n \"update:showTitle\": null,\n \"update:tabIndex\": null,\n \"update:title\": null,\n \"update:titleTemplate\": null,\n \"update:toolbarItems\": null,\n \"update:visible\": null,\n \"update:width\": null,\n \"update:wrapperAttr\": null,\n },\n props: {\n accessKey: String,\n animation: Object,\n bindingOptions: Object,\n closeOnOutsideClick: [Boolean, Function],\n container: {},\n contentTemplate: {},\n copyRootClassesToWrapper: Boolean,\n deferRendering: Boolean,\n disabled: Boolean,\n dragAndResizeArea: {},\n dragEnabled: Boolean,\n dragOutsideBoundary: Boolean,\n elementAttr: {},\n enableBodyScroll: Boolean,\n focusStateEnabled: Boolean,\n fullScreen: Boolean,\n height: [Function, Number, String],\n hideOnOutsideClick: [Boolean, Function],\n hideOnParentScroll: Boolean,\n hint: String,\n hoverStateEnabled: Boolean,\n maxHeight: [Function, Number, String],\n maxWidth: [Function, Number, String],\n minHeight: [Function, Number, String],\n minWidth: [Function, Number, String],\n onContentReady: Function,\n onDisposing: Function,\n onHidden: Function,\n onHiding: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n onResize: Function,\n onResizeEnd: Function,\n onResizeStart: Function,\n onShowing: Function,\n onShown: Function,\n onTitleRendered: Function,\n position: [Function, Object, String],\n resizeEnabled: Boolean,\n restorePosition: Boolean,\n rtlEnabled: Boolean,\n shading: Boolean,\n shadingColor: String,\n showCloseButton: Boolean,\n showTitle: Boolean,\n tabIndex: Number,\n title: String,\n titleTemplate: {},\n toolbarItems: Array,\n visible: Boolean,\n width: [Function, Number, String],\n wrapperAttr: {}\n }\n});\nexports.DxFilterBuilderPopup = DxFilterBuilderPopup;\nDxFilterBuilderPopup.$_optionName = \"filterBuilderPopup\";\nvar DxFilterOperationDescriptions = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:between\": null,\n \"update:contains\": null,\n \"update:endsWith\": null,\n \"update:equal\": null,\n \"update:greaterThan\": null,\n \"update:greaterThanOrEqual\": null,\n \"update:isBlank\": null,\n \"update:isNotBlank\": null,\n \"update:lessThan\": null,\n \"update:lessThanOrEqual\": null,\n \"update:notContains\": null,\n \"update:notEqual\": null,\n \"update:startsWith\": null,\n },\n props: {\n between: String,\n contains: String,\n endsWith: String,\n equal: String,\n greaterThan: String,\n greaterThanOrEqual: String,\n isBlank: String,\n isNotBlank: String,\n lessThan: String,\n lessThanOrEqual: String,\n notContains: String,\n notEqual: String,\n startsWith: String\n }\n});\nexports.DxFilterOperationDescriptions = DxFilterOperationDescriptions;\nDxFilterOperationDescriptions.$_optionName = \"filterOperationDescriptions\";\nvar DxFilterPanel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:customizeText\": null,\n \"update:filterEnabled\": null,\n \"update:texts\": null,\n \"update:visible\": null,\n },\n props: {\n customizeText: Function,\n filterEnabled: Boolean,\n texts: Object,\n visible: Boolean\n }\n});\nexports.DxFilterPanel = DxFilterPanel;\nDxFilterPanel.$_optionName = \"filterPanel\";\nDxFilterPanel.$_expectedChildren = {\n filterPanelTexts: { isCollectionItem: false, optionName: \"texts\" },\n texts: { isCollectionItem: false, optionName: \"texts\" }\n};\nvar DxFilterPanelTexts = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:clearFilter\": null,\n \"update:createFilter\": null,\n \"update:filterEnabledHint\": null,\n },\n props: {\n clearFilter: String,\n createFilter: String,\n filterEnabledHint: String\n }\n});\nexports.DxFilterPanelTexts = DxFilterPanelTexts;\nDxFilterPanelTexts.$_optionName = \"texts\";\nvar DxFilterRow = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:applyFilter\": null,\n \"update:applyFilterText\": null,\n \"update:betweenEndText\": null,\n \"update:betweenStartText\": null,\n \"update:operationDescriptions\": null,\n \"update:resetOperationText\": null,\n \"update:showAllText\": null,\n \"update:showOperationChooser\": null,\n \"update:visible\": null,\n },\n props: {\n applyFilter: String,\n applyFilterText: String,\n betweenEndText: String,\n betweenStartText: String,\n operationDescriptions: Object,\n resetOperationText: String,\n showAllText: String,\n showOperationChooser: Boolean,\n visible: Boolean\n }\n});\nexports.DxFilterRow = DxFilterRow;\nDxFilterRow.$_optionName = \"filterRow\";\nDxFilterRow.$_expectedChildren = {\n operationDescriptions: { isCollectionItem: false, optionName: \"operationDescriptions\" }\n};\nvar DxForm = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:alignItemLabels\": null,\n \"update:alignItemLabelsInAllGroups\": null,\n \"update:bindingOptions\": null,\n \"update:colCount\": null,\n \"update:colCountByScreen\": null,\n \"update:customizeItem\": null,\n \"update:disabled\": null,\n \"update:elementAttr\": null,\n \"update:focusStateEnabled\": null,\n \"update:formData\": null,\n \"update:height\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:items\": null,\n \"update:labelLocation\": null,\n \"update:labelMode\": null,\n \"update:minColWidth\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onEditorEnterKey\": null,\n \"update:onFieldDataChanged\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:optionalMark\": null,\n \"update:readOnly\": null,\n \"update:requiredMark\": null,\n \"update:requiredMessage\": null,\n \"update:rtlEnabled\": null,\n \"update:screenByWidth\": null,\n \"update:scrollingEnabled\": null,\n \"update:showColonAfterLabel\": null,\n \"update:showOptionalMark\": null,\n \"update:showRequiredMark\": null,\n \"update:showValidationSummary\": null,\n \"update:tabIndex\": null,\n \"update:validationGroup\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n accessKey: String,\n activeStateEnabled: Boolean,\n alignItemLabels: Boolean,\n alignItemLabelsInAllGroups: Boolean,\n bindingOptions: Object,\n colCount: [Number, String],\n colCountByScreen: Object,\n customizeItem: Function,\n disabled: Boolean,\n elementAttr: Object,\n focusStateEnabled: Boolean,\n formData: {},\n height: [Function, Number, String],\n hint: String,\n hoverStateEnabled: Boolean,\n items: Array,\n labelLocation: String,\n labelMode: String,\n minColWidth: Number,\n onContentReady: Function,\n onDisposing: Function,\n onEditorEnterKey: Function,\n onFieldDataChanged: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n optionalMark: String,\n readOnly: Boolean,\n requiredMark: String,\n requiredMessage: String,\n rtlEnabled: Boolean,\n screenByWidth: Function,\n scrollingEnabled: Boolean,\n showColonAfterLabel: Boolean,\n showOptionalMark: Boolean,\n showRequiredMark: Boolean,\n showValidationSummary: Boolean,\n tabIndex: Number,\n validationGroup: String,\n visible: Boolean,\n width: [Function, Number, String]\n }\n});\nexports.DxForm = DxForm;\nDxForm.$_optionName = \"form\";\nDxForm.$_expectedChildren = {\n colCountByScreen: { isCollectionItem: false, optionName: \"colCountByScreen\" }\n};\nvar DxFormat = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:currency\": null,\n \"update:formatter\": null,\n \"update:parser\": null,\n \"update:precision\": null,\n \"update:type\": null,\n \"update:useCurrencyAccountingStyle\": null,\n },\n props: {\n currency: String,\n formatter: Function,\n parser: Function,\n precision: Number,\n type: String,\n useCurrencyAccountingStyle: Boolean\n }\n});\nexports.DxFormat = DxFormat;\nDxFormat.$_optionName = \"format\";\nvar DxFormItem = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:colSpan\": null,\n \"update:cssClass\": null,\n \"update:dataField\": null,\n \"update:editorOptions\": null,\n \"update:editorType\": null,\n \"update:helpText\": null,\n \"update:isRequired\": null,\n \"update:itemType\": null,\n \"update:label\": null,\n \"update:name\": null,\n \"update:template\": null,\n \"update:validationRules\": null,\n \"update:visible\": null,\n \"update:visibleIndex\": null,\n },\n props: {\n colSpan: Number,\n cssClass: String,\n dataField: String,\n editorOptions: {},\n editorType: String,\n helpText: String,\n isRequired: Boolean,\n itemType: String,\n label: Object,\n name: String,\n template: {},\n validationRules: Array,\n visible: Boolean,\n visibleIndex: Number\n }\n});\nexports.DxFormItem = DxFormItem;\nDxFormItem.$_optionName = \"formItem\";\nDxFormItem.$_expectedChildren = {\n AsyncRule: { isCollectionItem: true, optionName: \"validationRules\" },\n CompareRule: { isCollectionItem: true, optionName: \"validationRules\" },\n CustomRule: { isCollectionItem: true, optionName: \"validationRules\" },\n EmailRule: { isCollectionItem: true, optionName: \"validationRules\" },\n label: { isCollectionItem: false, optionName: \"label\" },\n NumericRule: { isCollectionItem: true, optionName: \"validationRules\" },\n PatternRule: { isCollectionItem: true, optionName: \"validationRules\" },\n RangeRule: { isCollectionItem: true, optionName: \"validationRules\" },\n RequiredRule: { isCollectionItem: true, optionName: \"validationRules\" },\n StringLengthRule: { isCollectionItem: true, optionName: \"validationRules\" },\n validationRule: { isCollectionItem: true, optionName: \"validationRules\" }\n};\nvar DxFrom = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:left\": null,\n \"update:opacity\": null,\n \"update:position\": null,\n \"update:scale\": null,\n \"update:top\": null,\n },\n props: {\n left: Number,\n opacity: Number,\n position: Object,\n scale: Number,\n top: Number\n }\n});\nexports.DxFrom = DxFrom;\nDxFrom.$_optionName = \"from\";\nDxFrom.$_expectedChildren = {\n position: { isCollectionItem: false, optionName: \"position\" }\n};\nvar DxGroupOperationDescriptions = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:and\": null,\n \"update:notAnd\": null,\n \"update:notOr\": null,\n \"update:or\": null,\n },\n props: {\n and: String,\n notAnd: String,\n notOr: String,\n or: String\n }\n});\nexports.DxGroupOperationDescriptions = DxGroupOperationDescriptions;\nDxGroupOperationDescriptions.$_optionName = \"groupOperationDescriptions\";\nvar DxHeaderFilter = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowSearch\": null,\n \"update:allowSelectAll\": null,\n \"update:dataSource\": null,\n \"update:groupInterval\": null,\n \"update:height\": null,\n \"update:search\": null,\n \"update:searchMode\": null,\n \"update:searchTimeout\": null,\n \"update:texts\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n allowSearch: Boolean,\n allowSelectAll: Boolean,\n dataSource: {},\n groupInterval: [Number, String],\n height: Number,\n search: Object,\n searchMode: String,\n searchTimeout: Number,\n texts: Object,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxHeaderFilter = DxHeaderFilter;\nDxHeaderFilter.$_optionName = \"headerFilter\";\nvar DxHide = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:complete\": null,\n \"update:delay\": null,\n \"update:direction\": null,\n \"update:duration\": null,\n \"update:easing\": null,\n \"update:from\": null,\n \"update:staggerDelay\": null,\n \"update:start\": null,\n \"update:to\": null,\n \"update:type\": null,\n },\n props: {\n complete: Function,\n delay: Number,\n direction: String,\n duration: Number,\n easing: String,\n from: Object,\n staggerDelay: Number,\n start: Function,\n to: Object,\n type: String\n }\n});\nexports.DxHide = DxHide;\nDxHide.$_optionName = \"hide\";\nDxHide.$_expectedChildren = {\n from: { isCollectionItem: false, optionName: \"from\" },\n to: { isCollectionItem: false, optionName: \"to\" }\n};\nvar DxItem = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:cssClass\": null,\n \"update:disabled\": null,\n \"update:html\": null,\n \"update:locateInMenu\": null,\n \"update:location\": null,\n \"update:menuItemTemplate\": null,\n \"update:name\": null,\n \"update:options\": null,\n \"update:showText\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:visible\": null,\n \"update:widget\": null,\n },\n props: {\n cssClass: String,\n disabled: Boolean,\n html: String,\n locateInMenu: String,\n location: String,\n menuItemTemplate: {},\n name: String,\n options: {},\n showText: String,\n template: {},\n text: String,\n visible: Boolean,\n widget: String\n }\n});\nexports.DxItem = DxItem;\nDxItem.$_optionName = \"items\";\nDxItem.$_isCollectionItem = true;\nvar DxKeyboardNavigation = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:editOnKeyPress\": null,\n \"update:enabled\": null,\n \"update:enterKeyAction\": null,\n \"update:enterKeyDirection\": null,\n },\n props: {\n editOnKeyPress: Boolean,\n enabled: Boolean,\n enterKeyAction: String,\n enterKeyDirection: String\n }\n});\nexports.DxKeyboardNavigation = DxKeyboardNavigation;\nDxKeyboardNavigation.$_optionName = \"keyboardNavigation\";\nvar DxLabel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:alignment\": null,\n \"update:location\": null,\n \"update:showColon\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:visible\": null,\n },\n props: {\n alignment: String,\n location: String,\n showColon: Boolean,\n template: {},\n text: String,\n visible: Boolean\n }\n});\nexports.DxLabel = DxLabel;\nDxLabel.$_optionName = \"label\";\nvar DxLoadPanel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:enabled\": null,\n \"update:height\": null,\n \"update:indicatorSrc\": null,\n \"update:shading\": null,\n \"update:shadingColor\": null,\n \"update:showIndicator\": null,\n \"update:showPane\": null,\n \"update:text\": null,\n \"update:width\": null,\n },\n props: {\n enabled: [Boolean, String],\n height: Number,\n indicatorSrc: String,\n shading: Boolean,\n shadingColor: String,\n showIndicator: Boolean,\n showPane: Boolean,\n text: String,\n width: Number\n }\n});\nexports.DxLoadPanel = DxLoadPanel;\nDxLoadPanel.$_optionName = \"loadPanel\";\nvar DxLookup = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowClearing\": null,\n \"update:calculateCellValue\": null,\n \"update:dataSource\": null,\n \"update:displayExpr\": null,\n \"update:valueExpr\": null,\n },\n props: {\n allowClearing: Boolean,\n calculateCellValue: Function,\n dataSource: {},\n displayExpr: [Function, String],\n valueExpr: [String, Function]\n }\n});\nexports.DxLookup = DxLookup;\nDxLookup.$_optionName = \"lookup\";\nvar DxMy = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: String,\n y: String\n }\n});\nexports.DxMy = DxMy;\nDxMy.$_optionName = \"my\";\nvar DxNumericRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:type\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n message: String,\n type: String\n }\n});\nexports.DxNumericRule = DxNumericRule;\nDxNumericRule.$_optionName = \"validationRules\";\nDxNumericRule.$_isCollectionItem = true;\nDxNumericRule.$_predefinedProps = {\n type: \"numeric\"\n};\nvar DxOffset = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:x\": null,\n \"update:y\": null,\n },\n props: {\n x: Number,\n y: Number\n }\n});\nexports.DxOffset = DxOffset;\nDxOffset.$_optionName = \"offset\";\nvar DxOperationDescriptions = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:between\": null,\n \"update:contains\": null,\n \"update:endsWith\": null,\n \"update:equal\": null,\n \"update:greaterThan\": null,\n \"update:greaterThanOrEqual\": null,\n \"update:lessThan\": null,\n \"update:lessThanOrEqual\": null,\n \"update:notContains\": null,\n \"update:notEqual\": null,\n \"update:startsWith\": null,\n },\n props: {\n between: String,\n contains: String,\n endsWith: String,\n equal: String,\n greaterThan: String,\n greaterThanOrEqual: String,\n lessThan: String,\n lessThanOrEqual: String,\n notContains: String,\n notEqual: String,\n startsWith: String\n }\n});\nexports.DxOperationDescriptions = DxOperationDescriptions;\nDxOperationDescriptions.$_optionName = \"operationDescriptions\";\nvar DxPager = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowedPageSizes\": null,\n \"update:displayMode\": null,\n \"update:infoText\": null,\n \"update:label\": null,\n \"update:showInfo\": null,\n \"update:showNavigationButtons\": null,\n \"update:showPageSizeSelector\": null,\n \"update:visible\": null,\n },\n props: {\n allowedPageSizes: [Array, String],\n displayMode: String,\n infoText: String,\n label: String,\n showInfo: Boolean,\n showNavigationButtons: Boolean,\n showPageSizeSelector: Boolean,\n visible: [Boolean, String]\n }\n});\nexports.DxPager = DxPager;\nDxPager.$_optionName = \"pager\";\nvar DxPaging = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:enabled\": null,\n \"update:pageIndex\": null,\n \"update:pageSize\": null,\n },\n props: {\n enabled: Boolean,\n pageIndex: Number,\n pageSize: Number\n }\n});\nexports.DxPaging = DxPaging;\nDxPaging.$_optionName = \"paging\";\nvar DxPatternRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:pattern\": null,\n \"update:type\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n message: String,\n pattern: {},\n type: String\n }\n});\nexports.DxPatternRule = DxPatternRule;\nDxPatternRule.$_optionName = \"validationRules\";\nDxPatternRule.$_isCollectionItem = true;\nDxPatternRule.$_predefinedProps = {\n type: \"pattern\"\n};\nvar DxPopup = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:animation\": null,\n \"update:bindingOptions\": null,\n \"update:closeOnOutsideClick\": null,\n \"update:container\": null,\n \"update:contentTemplate\": null,\n \"update:copyRootClassesToWrapper\": null,\n \"update:deferRendering\": null,\n \"update:disabled\": null,\n \"update:dragAndResizeArea\": null,\n \"update:dragEnabled\": null,\n \"update:dragOutsideBoundary\": null,\n \"update:elementAttr\": null,\n \"update:enableBodyScroll\": null,\n \"update:focusStateEnabled\": null,\n \"update:fullScreen\": null,\n \"update:height\": null,\n \"update:hideOnOutsideClick\": null,\n \"update:hideOnParentScroll\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:maxHeight\": null,\n \"update:maxWidth\": null,\n \"update:minHeight\": null,\n \"update:minWidth\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onHidden\": null,\n \"update:onHiding\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:onResize\": null,\n \"update:onResizeEnd\": null,\n \"update:onResizeStart\": null,\n \"update:onShowing\": null,\n \"update:onShown\": null,\n \"update:onTitleRendered\": null,\n \"update:position\": null,\n \"update:resizeEnabled\": null,\n \"update:restorePosition\": null,\n \"update:rtlEnabled\": null,\n \"update:shading\": null,\n \"update:shadingColor\": null,\n \"update:showCloseButton\": null,\n \"update:showTitle\": null,\n \"update:tabIndex\": null,\n \"update:title\": null,\n \"update:titleTemplate\": null,\n \"update:toolbarItems\": null,\n \"update:visible\": null,\n \"update:width\": null,\n \"update:wrapperAttr\": null,\n },\n props: {\n accessKey: String,\n animation: Object,\n bindingOptions: Object,\n closeOnOutsideClick: [Boolean, Function],\n container: {},\n contentTemplate: {},\n copyRootClassesToWrapper: Boolean,\n deferRendering: Boolean,\n disabled: Boolean,\n dragAndResizeArea: {},\n dragEnabled: Boolean,\n dragOutsideBoundary: Boolean,\n elementAttr: {},\n enableBodyScroll: Boolean,\n focusStateEnabled: Boolean,\n fullScreen: Boolean,\n height: [Function, Number, String],\n hideOnOutsideClick: [Boolean, Function],\n hideOnParentScroll: Boolean,\n hint: String,\n hoverStateEnabled: Boolean,\n maxHeight: [Function, Number, String],\n maxWidth: [Function, Number, String],\n minHeight: [Function, Number, String],\n minWidth: [Function, Number, String],\n onContentReady: Function,\n onDisposing: Function,\n onHidden: Function,\n onHiding: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n onResize: Function,\n onResizeEnd: Function,\n onResizeStart: Function,\n onShowing: Function,\n onShown: Function,\n onTitleRendered: Function,\n position: [Function, Object, String],\n resizeEnabled: Boolean,\n restorePosition: Boolean,\n rtlEnabled: Boolean,\n shading: Boolean,\n shadingColor: String,\n showCloseButton: Boolean,\n showTitle: Boolean,\n tabIndex: Number,\n title: String,\n titleTemplate: {},\n toolbarItems: Array,\n visible: Boolean,\n width: [Function, Number, String],\n wrapperAttr: {}\n }\n});\nexports.DxPopup = DxPopup;\nDxPopup.$_optionName = \"popup\";\nDxPopup.$_expectedChildren = {\n animation: { isCollectionItem: false, optionName: \"animation\" },\n position: { isCollectionItem: false, optionName: \"position\" },\n toolbarItem: { isCollectionItem: true, optionName: \"toolbarItems\" }\n};\nvar DxPosition = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:at\": null,\n \"update:boundary\": null,\n \"update:boundaryOffset\": null,\n \"update:collision\": null,\n \"update:my\": null,\n \"update:of\": null,\n \"update:offset\": null,\n },\n props: {\n at: [Object, String],\n boundary: {},\n boundaryOffset: [Object, String],\n collision: [Object, String],\n my: [Object, String],\n of: {},\n offset: [Object, String]\n }\n});\nexports.DxPosition = DxPosition;\nDxPosition.$_optionName = \"position\";\nvar DxRangeRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:max\": null,\n \"update:message\": null,\n \"update:min\": null,\n \"update:reevaluate\": null,\n \"update:type\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n max: {},\n message: String,\n min: {},\n reevaluate: Boolean,\n type: String\n }\n});\nexports.DxRangeRule = DxRangeRule;\nDxRangeRule.$_optionName = \"validationRules\";\nDxRangeRule.$_isCollectionItem = true;\nDxRangeRule.$_predefinedProps = {\n type: \"range\"\n};\nvar DxRemoteOperations = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:filtering\": null,\n \"update:grouping\": null,\n \"update:sorting\": null,\n },\n props: {\n filtering: Boolean,\n grouping: Boolean,\n sorting: Boolean\n }\n});\nexports.DxRemoteOperations = DxRemoteOperations;\nDxRemoteOperations.$_optionName = \"remoteOperations\";\nvar DxRequiredRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:message\": null,\n \"update:trim\": null,\n \"update:type\": null,\n },\n props: {\n message: String,\n trim: Boolean,\n type: String\n }\n});\nexports.DxRequiredRule = DxRequiredRule;\nDxRequiredRule.$_optionName = \"validationRules\";\nDxRequiredRule.$_isCollectionItem = true;\nDxRequiredRule.$_predefinedProps = {\n type: \"required\"\n};\nvar DxRowDragging = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowDropInsideItem\": null,\n \"update:allowReordering\": null,\n \"update:autoScroll\": null,\n \"update:boundary\": null,\n \"update:container\": null,\n \"update:cursorOffset\": null,\n \"update:data\": null,\n \"update:dragDirection\": null,\n \"update:dragTemplate\": null,\n \"update:dropFeedbackMode\": null,\n \"update:filter\": null,\n \"update:group\": null,\n \"update:handle\": null,\n \"update:onAdd\": null,\n \"update:onDragChange\": null,\n \"update:onDragEnd\": null,\n \"update:onDragMove\": null,\n \"update:onDragStart\": null,\n \"update:onRemove\": null,\n \"update:onReorder\": null,\n \"update:scrollSensitivity\": null,\n \"update:scrollSpeed\": null,\n \"update:showDragIcons\": null,\n },\n props: {\n allowDropInsideItem: Boolean,\n allowReordering: Boolean,\n autoScroll: Boolean,\n boundary: {},\n container: {},\n cursorOffset: [Object, String],\n data: {},\n dragDirection: String,\n dragTemplate: {},\n dropFeedbackMode: String,\n filter: String,\n group: String,\n handle: String,\n onAdd: Function,\n onDragChange: Function,\n onDragEnd: Function,\n onDragMove: Function,\n onDragStart: Function,\n onRemove: Function,\n onReorder: Function,\n scrollSensitivity: Number,\n scrollSpeed: Number,\n showDragIcons: Boolean\n }\n});\nexports.DxRowDragging = DxRowDragging;\nDxRowDragging.$_optionName = \"rowDragging\";\nDxRowDragging.$_expectedChildren = {\n cursorOffset: { isCollectionItem: false, optionName: \"cursorOffset\" }\n};\nvar DxScrolling = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:columnRenderingMode\": null,\n \"update:mode\": null,\n \"update:preloadEnabled\": null,\n \"update:renderAsync\": null,\n \"update:rowRenderingMode\": null,\n \"update:scrollByContent\": null,\n \"update:scrollByThumb\": null,\n \"update:showScrollbar\": null,\n \"update:useNative\": null,\n },\n props: {\n columnRenderingMode: String,\n mode: String,\n preloadEnabled: Boolean,\n renderAsync: Boolean,\n rowRenderingMode: String,\n scrollByContent: Boolean,\n scrollByThumb: Boolean,\n showScrollbar: String,\n useNative: [Boolean, String]\n }\n});\nexports.DxScrolling = DxScrolling;\nDxScrolling.$_optionName = \"scrolling\";\nvar DxSearch = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:editorOptions\": null,\n \"update:enabled\": null,\n \"update:mode\": null,\n \"update:searchExpr\": null,\n \"update:timeout\": null,\n },\n props: {\n editorOptions: {},\n enabled: Boolean,\n mode: String,\n searchExpr: [Array, Function, String],\n timeout: Number\n }\n});\nexports.DxSearch = DxSearch;\nDxSearch.$_optionName = \"search\";\nvar DxSearchPanel = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:highlightCaseSensitive\": null,\n \"update:highlightSearchText\": null,\n \"update:placeholder\": null,\n \"update:searchVisibleColumnsOnly\": null,\n \"update:text\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n highlightCaseSensitive: Boolean,\n highlightSearchText: Boolean,\n placeholder: String,\n searchVisibleColumnsOnly: Boolean,\n text: String,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxSearchPanel = DxSearchPanel;\nDxSearchPanel.$_optionName = \"searchPanel\";\nvar DxSelection = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowSelectAll\": null,\n \"update:mode\": null,\n \"update:recursive\": null,\n \"update:selectByClick\": null,\n },\n props: {\n allowSelectAll: Boolean,\n mode: String,\n recursive: Boolean,\n selectByClick: Boolean\n }\n});\nexports.DxSelection = DxSelection;\nDxSelection.$_optionName = \"selection\";\nvar DxShow = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:complete\": null,\n \"update:delay\": null,\n \"update:direction\": null,\n \"update:duration\": null,\n \"update:easing\": null,\n \"update:from\": null,\n \"update:staggerDelay\": null,\n \"update:start\": null,\n \"update:to\": null,\n \"update:type\": null,\n },\n props: {\n complete: Function,\n delay: Number,\n direction: String,\n duration: Number,\n easing: String,\n from: Object,\n staggerDelay: Number,\n start: Function,\n to: Object,\n type: String\n }\n});\nexports.DxShow = DxShow;\nDxShow.$_optionName = \"show\";\nvar DxSorting = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ascendingText\": null,\n \"update:clearText\": null,\n \"update:descendingText\": null,\n \"update:mode\": null,\n \"update:showSortIndexes\": null,\n },\n props: {\n ascendingText: String,\n clearText: String,\n descendingText: String,\n mode: String,\n showSortIndexes: Boolean\n }\n});\nexports.DxSorting = DxSorting;\nDxSorting.$_optionName = \"sorting\";\nvar DxStateStoring = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:customLoad\": null,\n \"update:customSave\": null,\n \"update:enabled\": null,\n \"update:savingTimeout\": null,\n \"update:storageKey\": null,\n \"update:type\": null,\n },\n props: {\n customLoad: Function,\n customSave: Function,\n enabled: Boolean,\n savingTimeout: Number,\n storageKey: String,\n type: String\n }\n});\nexports.DxStateStoring = DxStateStoring;\nDxStateStoring.$_optionName = \"stateStoring\";\nvar DxStringLengthRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:max\": null,\n \"update:message\": null,\n \"update:min\": null,\n \"update:trim\": null,\n \"update:type\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n max: Number,\n message: String,\n min: Number,\n trim: Boolean,\n type: String\n }\n});\nexports.DxStringLengthRule = DxStringLengthRule;\nDxStringLengthRule.$_optionName = \"validationRules\";\nDxStringLengthRule.$_isCollectionItem = true;\nDxStringLengthRule.$_predefinedProps = {\n type: \"stringLength\"\n};\nvar DxTexts = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:addRow\": null,\n \"update:addRowToNode\": null,\n \"update:cancel\": null,\n \"update:cancelAllChanges\": null,\n \"update:cancelRowChanges\": null,\n \"update:clearFilter\": null,\n \"update:confirmDeleteMessage\": null,\n \"update:confirmDeleteTitle\": null,\n \"update:createFilter\": null,\n \"update:deleteRow\": null,\n \"update:editRow\": null,\n \"update:emptyValue\": null,\n \"update:filterEnabledHint\": null,\n \"update:fix\": null,\n \"update:leftPosition\": null,\n \"update:ok\": null,\n \"update:rightPosition\": null,\n \"update:saveAllChanges\": null,\n \"update:saveRowChanges\": null,\n \"update:undeleteRow\": null,\n \"update:unfix\": null,\n \"update:validationCancelChanges\": null,\n },\n props: {\n addRow: String,\n addRowToNode: String,\n cancel: String,\n cancelAllChanges: String,\n cancelRowChanges: String,\n clearFilter: String,\n confirmDeleteMessage: String,\n confirmDeleteTitle: String,\n createFilter: String,\n deleteRow: String,\n editRow: String,\n emptyValue: String,\n filterEnabledHint: String,\n fix: String,\n leftPosition: String,\n ok: String,\n rightPosition: String,\n saveAllChanges: String,\n saveRowChanges: String,\n undeleteRow: String,\n unfix: String,\n validationCancelChanges: String\n }\n});\nexports.DxTexts = DxTexts;\nDxTexts.$_optionName = \"texts\";\nvar DxTo = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:left\": null,\n \"update:opacity\": null,\n \"update:position\": null,\n \"update:scale\": null,\n \"update:top\": null,\n },\n props: {\n left: Number,\n opacity: Number,\n position: Object,\n scale: Number,\n top: Number\n }\n});\nexports.DxTo = DxTo;\nDxTo.$_optionName = \"to\";\nvar DxToolbar = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:disabled\": null,\n \"update:items\": null,\n \"update:visible\": null,\n },\n props: {\n disabled: Boolean,\n items: Array,\n visible: Boolean\n }\n});\nexports.DxToolbar = DxToolbar;\nDxToolbar.$_optionName = \"toolbar\";\nDxToolbar.$_expectedChildren = {\n item: { isCollectionItem: true, optionName: \"items\" }\n};\nvar DxToolbarItem = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:cssClass\": null,\n \"update:disabled\": null,\n \"update:html\": null,\n \"update:locateInMenu\": null,\n \"update:location\": null,\n \"update:menuItemTemplate\": null,\n \"update:options\": null,\n \"update:showText\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:toolbar\": null,\n \"update:visible\": null,\n \"update:widget\": null,\n },\n props: {\n cssClass: String,\n disabled: Boolean,\n html: String,\n locateInMenu: String,\n location: String,\n menuItemTemplate: {},\n options: {},\n showText: String,\n template: {},\n text: String,\n toolbar: String,\n visible: Boolean,\n widget: String\n }\n});\nexports.DxToolbarItem = DxToolbarItem;\nDxToolbarItem.$_optionName = \"toolbarItems\";\nDxToolbarItem.$_isCollectionItem = true;\nvar DxTreeListHeaderFilter = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowSearch\": null,\n \"update:allowSelectAll\": null,\n \"update:height\": null,\n \"update:search\": null,\n \"update:searchTimeout\": null,\n \"update:texts\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n allowSearch: Boolean,\n allowSelectAll: Boolean,\n height: Number,\n search: Object,\n searchTimeout: Number,\n texts: Object,\n visible: Boolean,\n width: Number\n }\n});\nexports.DxTreeListHeaderFilter = DxTreeListHeaderFilter;\nDxTreeListHeaderFilter.$_optionName = \"headerFilter\";\nDxTreeListHeaderFilter.$_expectedChildren = {\n search: { isCollectionItem: false, optionName: \"search\" },\n texts: { isCollectionItem: false, optionName: \"texts\" },\n treeListHeaderFilterSearch: { isCollectionItem: false, optionName: \"search\" },\n treeListHeaderFilterTexts: { isCollectionItem: false, optionName: \"texts\" }\n};\nvar DxTreeListHeaderFilterSearch = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:editorOptions\": null,\n \"update:enabled\": null,\n \"update:mode\": null,\n \"update:timeout\": null,\n },\n props: {\n editorOptions: {},\n enabled: Boolean,\n mode: String,\n timeout: Number\n }\n});\nexports.DxTreeListHeaderFilterSearch = DxTreeListHeaderFilterSearch;\nDxTreeListHeaderFilterSearch.$_optionName = \"search\";\nvar DxTreeListHeaderFilterTexts = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:cancel\": null,\n \"update:emptyValue\": null,\n \"update:ok\": null,\n },\n props: {\n cancel: String,\n emptyValue: String,\n ok: String\n }\n});\nexports.DxTreeListHeaderFilterTexts = DxTreeListHeaderFilterTexts;\nDxTreeListHeaderFilterTexts.$_optionName = \"texts\";\nvar DxTreeListSelection = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:allowSelectAll\": null,\n \"update:mode\": null,\n \"update:recursive\": null,\n },\n props: {\n allowSelectAll: Boolean,\n mode: String,\n recursive: Boolean\n }\n});\nexports.DxTreeListSelection = DxTreeListSelection;\nDxTreeListSelection.$_optionName = \"selection\";\nvar DxValidationRule = (0, index_2.createConfigurationComponent)({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:comparisonTarget\": null,\n \"update:comparisonType\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:max\": null,\n \"update:message\": null,\n \"update:min\": null,\n \"update:pattern\": null,\n \"update:reevaluate\": null,\n \"update:trim\": null,\n \"update:type\": null,\n \"update:validationCallback\": null,\n },\n props: {\n comparisonTarget: Function,\n comparisonType: String,\n ignoreEmptyValue: Boolean,\n max: {},\n message: String,\n min: {},\n pattern: {},\n reevaluate: Boolean,\n trim: Boolean,\n type: String,\n validationCallback: Function\n }\n});\nexports.DxValidationRule = DxValidationRule;\nDxValidationRule.$_optionName = \"validationRules\";\nDxValidationRule.$_isCollectionItem = true;\nDxValidationRule.$_predefinedProps = {\n type: \"required\"\n};\nexports.default = DxTreeList;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/ImageTile\n */\nimport Tile from './Tile.js';\nimport TileState from './TileState.js';\nimport { createCanvasContext2D } from './dom.js';\nimport { listenImage } from './Image.js';\nvar ImageTile = /** @class */ (function (_super) {\n __extends(ImageTile, _super);\n /**\n * @param {import(\"./tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {import(\"./TileState.js\").default} state State.\n * @param {string} src Image source URI.\n * @param {?string} crossOrigin Cross origin.\n * @param {import(\"./Tile.js\").LoadFunction} tileLoadFunction Tile load function.\n * @param {import(\"./Tile.js\").Options} [opt_options] Tile options.\n */\n function ImageTile(tileCoord, state, src, crossOrigin, tileLoadFunction, opt_options) {\n var _this = _super.call(this, tileCoord, state, opt_options) || this;\n /**\n * @private\n * @type {?string}\n */\n _this.crossOrigin_ = crossOrigin;\n /**\n * Image URI\n *\n * @private\n * @type {string}\n */\n _this.src_ = src;\n _this.key = src;\n /**\n * @private\n * @type {HTMLImageElement|HTMLCanvasElement}\n */\n _this.image_ = new Image();\n if (crossOrigin !== null) {\n _this.image_.crossOrigin = crossOrigin;\n }\n /**\n * @private\n * @type {?function():void}\n */\n _this.unlisten_ = null;\n /**\n * @private\n * @type {import(\"./Tile.js\").LoadFunction}\n */\n _this.tileLoadFunction_ = tileLoadFunction;\n return _this;\n }\n /**\n * Get the HTML image element for this tile (may be a Canvas, Image, or Video).\n * @return {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} Image.\n * @api\n */\n ImageTile.prototype.getImage = function () {\n return this.image_;\n };\n /**\n * Sets an HTML image element for this tile (may be a Canvas or preloaded Image).\n * @param {HTMLCanvasElement|HTMLImageElement} element Element.\n */\n ImageTile.prototype.setImage = function (element) {\n this.image_ = element;\n this.state = TileState.LOADED;\n this.unlistenImage_();\n this.changed();\n };\n /**\n * Tracks loading or read errors.\n *\n * @private\n */\n ImageTile.prototype.handleImageError_ = function () {\n this.state = TileState.ERROR;\n this.unlistenImage_();\n this.image_ = getBlankImage();\n this.changed();\n };\n /**\n * Tracks successful image load.\n *\n * @private\n */\n ImageTile.prototype.handleImageLoad_ = function () {\n var image = /** @type {HTMLImageElement} */ (this.image_);\n if (image.naturalWidth && image.naturalHeight) {\n this.state = TileState.LOADED;\n }\n else {\n this.state = TileState.EMPTY;\n }\n this.unlistenImage_();\n this.changed();\n };\n /**\n * Load not yet loaded URI.\n * @api\n */\n ImageTile.prototype.load = function () {\n if (this.state == TileState.ERROR) {\n this.state = TileState.IDLE;\n this.image_ = new Image();\n if (this.crossOrigin_ !== null) {\n this.image_.crossOrigin = this.crossOrigin_;\n }\n }\n if (this.state == TileState.IDLE) {\n this.state = TileState.LOADING;\n this.changed();\n this.tileLoadFunction_(this, this.src_);\n this.unlisten_ = listenImage(this.image_, this.handleImageLoad_.bind(this), this.handleImageError_.bind(this));\n }\n };\n /**\n * Discards event handlers which listen for load completion or errors.\n *\n * @private\n */\n ImageTile.prototype.unlistenImage_ = function () {\n if (this.unlisten_) {\n this.unlisten_();\n this.unlisten_ = null;\n }\n };\n return ImageTile;\n}(Tile));\n/**\n * Get a 1-pixel blank image.\n * @return {HTMLCanvasElement} Blank image.\n */\nfunction getBlankImage() {\n var ctx = createCanvasContext2D(1, 1);\n ctx.fillStyle = 'rgba(0,0,0,0)';\n ctx.fillRect(0, 0, 1, 1);\n return ctx.canvas;\n}\nexport default ImageTile;\n//# sourceMappingURL=ImageTile.js.map","module.exports = \"data:image/png;base64,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\"","/**\n * @module ol/style/Text\n */\nimport Fill from './Fill.js';\nimport TextPlacement from './TextPlacement.js';\nimport { toSize } from '../size.js';\n/**\n * The default fill color to use if no fill was set at construction time; a\n * blackish `#333`.\n *\n * @const {string}\n */\nvar DEFAULT_FILL_COLOR = '#333';\n/**\n * @typedef {Object} Options\n * @property {string} [font] Font style as CSS 'font' value, see:\n * https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/font. Default is '10px sans-serif'\n * @property {number} [maxAngle=Math.PI/4] When `placement` is set to `'line'`, allow a maximum angle between adjacent characters.\n * The expected value is in radians, and the default is 45° (`Math.PI / 4`).\n * @property {number} [offsetX=0] Horizontal text offset in pixels. A positive will shift the text right.\n * @property {number} [offsetY=0] Vertical text offset in pixels. A positive will shift the text down.\n * @property {boolean} [overflow=false] For polygon labels or when `placement` is set to `'line'`, allow text to exceed\n * the width of the polygon at the label position or the length of the path that it follows.\n * @property {import(\"./TextPlacement.js\").default|string} [placement='point'] Text placement.\n * @property {number|import(\"../size.js\").Size} [scale] Scale.\n * @property {boolean} [rotateWithView=false] Whether to rotate the text with the view.\n * @property {number} [rotation=0] Rotation in radians (positive rotation clockwise).\n * @property {string|Array} [text] Text content or rich text content. For plain text provide a string, which can\n * contain line breaks (`\\n`). For rich text provide an array of text/font tuples. A tuple consists of the text to\n * render and the font to use (or `''` to use the text style's font). A line break has to be a separate tuple (i.e. `'\\n', ''`).\n * **Example:** `['foo', 'bold 10px sans-serif', ' bar', 'italic 10px sans-serif', ' baz', '']` will yield \"**foo** *bar* baz\".\n * **Note:** Rich text is not supported for the immediate rendering API.\n * @property {string} [textAlign] Text alignment. Possible values: 'left', 'right', 'center', 'end' or 'start'.\n * Default is 'center' for `placement: 'point'`. For `placement: 'line'`, the default is to let the renderer choose a\n * placement where `maxAngle` is not exceeded.\n * @property {string} [justify] Text justification within the text box.\n * If not set, text is justified towards the `textAlign` anchor.\n * Otherwise, use options `'left'`, `'center'`, or `'right'` to justify the text within the text box.\n * **Note:** `justify` is ignored for immediate rendering and also for `placement: 'line'`.\n * @property {string} [textBaseline='middle'] Text base line. Possible values: 'bottom', 'top', 'middle', 'alphabetic',\n * 'hanging', 'ideographic'.\n * @property {import(\"./Fill.js\").default} [fill] Fill style. If none is provided, we'll use a dark fill-style (#333).\n * @property {import(\"./Stroke.js\").default} [stroke] Stroke style.\n * @property {import(\"./Fill.js\").default} [backgroundFill] Fill style for the text background when `placement` is\n * `'point'`. Default is no fill.\n * @property {import(\"./Stroke.js\").default} [backgroundStroke] Stroke style for the text background when `placement`\n * is `'point'`. Default is no stroke.\n * @property {Array} [padding=[0, 0, 0, 0]] Padding in pixels around the text for decluttering and background. The order of\n * values in the array is `[top, right, bottom, left]`.\n */\n/**\n * @classdesc\n * Set text style for vector features.\n * @api\n */\nvar Text = /** @class */ (function () {\n /**\n * @param {Options} [opt_options] Options.\n */\n function Text(opt_options) {\n var options = opt_options || {};\n /**\n * @private\n * @type {string|undefined}\n */\n this.font_ = options.font;\n /**\n * @private\n * @type {number|undefined}\n */\n this.rotation_ = options.rotation;\n /**\n * @private\n * @type {boolean|undefined}\n */\n this.rotateWithView_ = options.rotateWithView;\n /**\n * @private\n * @type {number|import(\"../size.js\").Size|undefined}\n */\n this.scale_ = options.scale;\n /**\n * @private\n * @type {import(\"../size.js\").Size}\n */\n this.scaleArray_ = toSize(options.scale !== undefined ? options.scale : 1);\n /**\n * @private\n * @type {string|Array|undefined}\n */\n this.text_ = options.text;\n /**\n * @private\n * @type {string|undefined}\n */\n this.textAlign_ = options.textAlign;\n /**\n * @private\n * @type {string|undefined}\n */\n this.justify_ = options.justify;\n /**\n * @private\n * @type {string|undefined}\n */\n this.textBaseline_ = options.textBaseline;\n /**\n * @private\n * @type {import(\"./Fill.js\").default}\n */\n this.fill_ =\n options.fill !== undefined\n ? options.fill\n : new Fill({ color: DEFAULT_FILL_COLOR });\n /**\n * @private\n * @type {number}\n */\n this.maxAngle_ =\n options.maxAngle !== undefined ? options.maxAngle : Math.PI / 4;\n /**\n * @private\n * @type {import(\"./TextPlacement.js\").default|string}\n */\n this.placement_ =\n options.placement !== undefined ? options.placement : TextPlacement.POINT;\n /**\n * @private\n * @type {boolean}\n */\n this.overflow_ = !!options.overflow;\n /**\n * @private\n * @type {import(\"./Stroke.js\").default}\n */\n this.stroke_ = options.stroke !== undefined ? options.stroke : null;\n /**\n * @private\n * @type {number}\n */\n this.offsetX_ = options.offsetX !== undefined ? options.offsetX : 0;\n /**\n * @private\n * @type {number}\n */\n this.offsetY_ = options.offsetY !== undefined ? options.offsetY : 0;\n /**\n * @private\n * @type {import(\"./Fill.js\").default}\n */\n this.backgroundFill_ = options.backgroundFill\n ? options.backgroundFill\n : null;\n /**\n * @private\n * @type {import(\"./Stroke.js\").default}\n */\n this.backgroundStroke_ = options.backgroundStroke\n ? options.backgroundStroke\n : null;\n /**\n * @private\n * @type {Array|null}\n */\n this.padding_ = options.padding === undefined ? null : options.padding;\n }\n /**\n * Clones the style.\n * @return {Text} The cloned style.\n * @api\n */\n Text.prototype.clone = function () {\n var scale = this.getScale();\n return new Text({\n font: this.getFont(),\n placement: this.getPlacement(),\n maxAngle: this.getMaxAngle(),\n overflow: this.getOverflow(),\n rotation: this.getRotation(),\n rotateWithView: this.getRotateWithView(),\n scale: Array.isArray(scale) ? scale.slice() : scale,\n text: this.getText(),\n textAlign: this.getTextAlign(),\n justify: this.getJustify(),\n textBaseline: this.getTextBaseline(),\n fill: this.getFill() ? this.getFill().clone() : undefined,\n stroke: this.getStroke() ? this.getStroke().clone() : undefined,\n offsetX: this.getOffsetX(),\n offsetY: this.getOffsetY(),\n backgroundFill: this.getBackgroundFill()\n ? this.getBackgroundFill().clone()\n : undefined,\n backgroundStroke: this.getBackgroundStroke()\n ? this.getBackgroundStroke().clone()\n : undefined,\n padding: this.getPadding() || undefined,\n });\n };\n /**\n * Get the `overflow` configuration.\n * @return {boolean} Let text overflow the length of the path they follow.\n * @api\n */\n Text.prototype.getOverflow = function () {\n return this.overflow_;\n };\n /**\n * Get the font name.\n * @return {string|undefined} Font.\n * @api\n */\n Text.prototype.getFont = function () {\n return this.font_;\n };\n /**\n * Get the maximum angle between adjacent characters.\n * @return {number} Angle in radians.\n * @api\n */\n Text.prototype.getMaxAngle = function () {\n return this.maxAngle_;\n };\n /**\n * Get the label placement.\n * @return {import(\"./TextPlacement.js\").default|string} Text placement.\n * @api\n */\n Text.prototype.getPlacement = function () {\n return this.placement_;\n };\n /**\n * Get the x-offset for the text.\n * @return {number} Horizontal text offset.\n * @api\n */\n Text.prototype.getOffsetX = function () {\n return this.offsetX_;\n };\n /**\n * Get the y-offset for the text.\n * @return {number} Vertical text offset.\n * @api\n */\n Text.prototype.getOffsetY = function () {\n return this.offsetY_;\n };\n /**\n * Get the fill style for the text.\n * @return {import(\"./Fill.js\").default} Fill style.\n * @api\n */\n Text.prototype.getFill = function () {\n return this.fill_;\n };\n /**\n * Determine whether the text rotates with the map.\n * @return {boolean|undefined} Rotate with map.\n * @api\n */\n Text.prototype.getRotateWithView = function () {\n return this.rotateWithView_;\n };\n /**\n * Get the text rotation.\n * @return {number|undefined} Rotation.\n * @api\n */\n Text.prototype.getRotation = function () {\n return this.rotation_;\n };\n /**\n * Get the text scale.\n * @return {number|import(\"../size.js\").Size|undefined} Scale.\n * @api\n */\n Text.prototype.getScale = function () {\n return this.scale_;\n };\n /**\n * Get the symbolizer scale array.\n * @return {import(\"../size.js\").Size} Scale array.\n */\n Text.prototype.getScaleArray = function () {\n return this.scaleArray_;\n };\n /**\n * Get the stroke style for the text.\n * @return {import(\"./Stroke.js\").default} Stroke style.\n * @api\n */\n Text.prototype.getStroke = function () {\n return this.stroke_;\n };\n /**\n * Get the text to be rendered.\n * @return {string|Array|undefined} Text.\n * @api\n */\n Text.prototype.getText = function () {\n return this.text_;\n };\n /**\n * Get the text alignment.\n * @return {string|undefined} Text align.\n * @api\n */\n Text.prototype.getTextAlign = function () {\n return this.textAlign_;\n };\n /**\n * Get the justification.\n * @return {string|undefined} Justification.\n * @api\n */\n Text.prototype.getJustify = function () {\n return this.justify_;\n };\n /**\n * Get the text baseline.\n * @return {string|undefined} Text baseline.\n * @api\n */\n Text.prototype.getTextBaseline = function () {\n return this.textBaseline_;\n };\n /**\n * Get the background fill style for the text.\n * @return {import(\"./Fill.js\").default} Fill style.\n * @api\n */\n Text.prototype.getBackgroundFill = function () {\n return this.backgroundFill_;\n };\n /**\n * Get the background stroke style for the text.\n * @return {import(\"./Stroke.js\").default} Stroke style.\n * @api\n */\n Text.prototype.getBackgroundStroke = function () {\n return this.backgroundStroke_;\n };\n /**\n * Get the padding for the text.\n * @return {Array|null} Padding.\n * @api\n */\n Text.prototype.getPadding = function () {\n return this.padding_;\n };\n /**\n * Set the `overflow` property.\n *\n * @param {boolean} overflow Let text overflow the path that it follows.\n * @api\n */\n Text.prototype.setOverflow = function (overflow) {\n this.overflow_ = overflow;\n };\n /**\n * Set the font.\n *\n * @param {string|undefined} font Font.\n * @api\n */\n Text.prototype.setFont = function (font) {\n this.font_ = font;\n };\n /**\n * Set the maximum angle between adjacent characters.\n *\n * @param {number} maxAngle Angle in radians.\n * @api\n */\n Text.prototype.setMaxAngle = function (maxAngle) {\n this.maxAngle_ = maxAngle;\n };\n /**\n * Set the x offset.\n *\n * @param {number} offsetX Horizontal text offset.\n * @api\n */\n Text.prototype.setOffsetX = function (offsetX) {\n this.offsetX_ = offsetX;\n };\n /**\n * Set the y offset.\n *\n * @param {number} offsetY Vertical text offset.\n * @api\n */\n Text.prototype.setOffsetY = function (offsetY) {\n this.offsetY_ = offsetY;\n };\n /**\n * Set the text placement.\n *\n * @param {import(\"./TextPlacement.js\").default|string} placement Placement.\n * @api\n */\n Text.prototype.setPlacement = function (placement) {\n this.placement_ = placement;\n };\n /**\n * Set whether to rotate the text with the view.\n *\n * @param {boolean} rotateWithView Rotate with map.\n * @api\n */\n Text.prototype.setRotateWithView = function (rotateWithView) {\n this.rotateWithView_ = rotateWithView;\n };\n /**\n * Set the fill.\n *\n * @param {import(\"./Fill.js\").default} fill Fill style.\n * @api\n */\n Text.prototype.setFill = function (fill) {\n this.fill_ = fill;\n };\n /**\n * Set the rotation.\n *\n * @param {number|undefined} rotation Rotation.\n * @api\n */\n Text.prototype.setRotation = function (rotation) {\n this.rotation_ = rotation;\n };\n /**\n * Set the scale.\n *\n * @param {number|import(\"../size.js\").Size|undefined} scale Scale.\n * @api\n */\n Text.prototype.setScale = function (scale) {\n this.scale_ = scale;\n this.scaleArray_ = toSize(scale !== undefined ? scale : 1);\n };\n /**\n * Set the stroke.\n *\n * @param {import(\"./Stroke.js\").default} stroke Stroke style.\n * @api\n */\n Text.prototype.setStroke = function (stroke) {\n this.stroke_ = stroke;\n };\n /**\n * Set the text.\n *\n * @param {string|Array|undefined} text Text.\n * @api\n */\n Text.prototype.setText = function (text) {\n this.text_ = text;\n };\n /**\n * Set the text alignment.\n *\n * @param {string|undefined} textAlign Text align.\n * @api\n */\n Text.prototype.setTextAlign = function (textAlign) {\n this.textAlign_ = textAlign;\n };\n /**\n * Set the justification.\n *\n * @param {string|undefined} justify Justification.\n * @api\n */\n Text.prototype.setJustify = function (justify) {\n this.justify_ = justify;\n };\n /**\n * Set the text baseline.\n *\n * @param {string|undefined} textBaseline Text baseline.\n * @api\n */\n Text.prototype.setTextBaseline = function (textBaseline) {\n this.textBaseline_ = textBaseline;\n };\n /**\n * Set the background fill.\n *\n * @param {import(\"./Fill.js\").default} fill Fill style.\n * @api\n */\n Text.prototype.setBackgroundFill = function (fill) {\n this.backgroundFill_ = fill;\n };\n /**\n * Set the background stroke.\n *\n * @param {import(\"./Stroke.js\").default} stroke Stroke style.\n * @api\n */\n Text.prototype.setBackgroundStroke = function (stroke) {\n this.backgroundStroke_ = stroke;\n };\n /**\n * Set the padding (`[top, right, bottom, left]`).\n *\n * @param {Array|null} padding Padding.\n * @api\n */\n Text.prototype.setPadding = function (padding) {\n this.padding_ = padding;\n };\n return Text;\n}());\nexport default Text;\n//# sourceMappingURL=Text.js.map","/**\n * @module ol/style/IconAnchorUnits\n */\n/**\n * Icon anchor units. One of 'fraction', 'pixels'.\n * @enum {string}\n */\nexport default {\n /**\n * Anchor is a fraction\n * @api\n */\n FRACTION: 'fraction',\n /**\n * Anchor is in pixels\n * @api\n */\n PIXELS: 'pixels',\n};\n//# sourceMappingURL=IconAnchorUnits.js.map","/**\n * @module ol/style/Fill\n */\n/**\n * @typedef {Object} Options\n * @property {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike|null} [color=null] A color, gradient or pattern.\n * See {@link module:ol/color~Color} and {@link module:ol/colorlike~ColorLike} for possible formats.\n * Default null; if null, the Canvas/renderer default black will be used.\n */\n/**\n * @classdesc\n * Set fill style for vector features.\n * @api\n */\nvar Fill = /** @class */ (function () {\n /**\n * @param {Options} [opt_options] Options.\n */\n function Fill(opt_options) {\n var options = opt_options || {};\n /**\n * @private\n * @type {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike|null}\n */\n this.color_ = options.color !== undefined ? options.color : null;\n }\n /**\n * Clones the style. The color is not cloned if it is an {@link module:ol/colorlike~ColorLike}.\n * @return {Fill} The cloned style.\n * @api\n */\n Fill.prototype.clone = function () {\n var color = this.getColor();\n return new Fill({\n color: Array.isArray(color) ? color.slice() : color || undefined,\n });\n };\n /**\n * Get the fill color.\n * @return {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike|null} Color.\n * @api\n */\n Fill.prototype.getColor = function () {\n return this.color_;\n };\n /**\n * Set the color.\n *\n * @param {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike|null} color Color.\n * @api\n */\n Fill.prototype.setColor = function (color) {\n this.color_ = color;\n };\n return Fill;\n}());\nexport default Fill;\n//# sourceMappingURL=Fill.js.map","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./settingsWaterSamplesWidget.vue?vue&type=style&index=0&id=66a83e04&prod&scoped=true&lang=less\"","/**\n * @module ol/style/Stroke\n */\n/**\n * @typedef {Object} Options\n * @property {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike} [color] A color, gradient or pattern.\n * See {@link module:ol/color~Color} and {@link module:ol/colorlike~ColorLike} for possible formats.\n * Default null; if null, the Canvas/renderer default black will be used.\n * @property {CanvasLineCap} [lineCap='round'] Line cap style: `butt`, `round`, or `square`.\n * @property {CanvasLineJoin} [lineJoin='round'] Line join style: `bevel`, `round`, or `miter`.\n * @property {Array} [lineDash] Line dash pattern. Default is `null` (no dash).\n * Please note that Internet Explorer 10 and lower do not support the `setLineDash` method on\n * the `CanvasRenderingContext2D` and therefore this option will have no visual effect in these browsers.\n * @property {number} [lineDashOffset=0] Line dash offset.\n * @property {number} [miterLimit=10] Miter limit.\n * @property {number} [width] Width.\n */\n/**\n * @classdesc\n * Set stroke style for vector features.\n * Note that the defaults given are the Canvas defaults, which will be used if\n * option is not defined. The `get` functions return whatever was entered in\n * the options; they will not return the default.\n * @api\n */\nvar Stroke = /** @class */ (function () {\n /**\n * @param {Options} [opt_options] Options.\n */\n function Stroke(opt_options) {\n var options = opt_options || {};\n /**\n * @private\n * @type {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike}\n */\n this.color_ = options.color !== undefined ? options.color : null;\n /**\n * @private\n * @type {CanvasLineCap|undefined}\n */\n this.lineCap_ = options.lineCap;\n /**\n * @private\n * @type {Array}\n */\n this.lineDash_ = options.lineDash !== undefined ? options.lineDash : null;\n /**\n * @private\n * @type {number|undefined}\n */\n this.lineDashOffset_ = options.lineDashOffset;\n /**\n * @private\n * @type {CanvasLineJoin|undefined}\n */\n this.lineJoin_ = options.lineJoin;\n /**\n * @private\n * @type {number|undefined}\n */\n this.miterLimit_ = options.miterLimit;\n /**\n * @private\n * @type {number|undefined}\n */\n this.width_ = options.width;\n }\n /**\n * Clones the style.\n * @return {Stroke} The cloned style.\n * @api\n */\n Stroke.prototype.clone = function () {\n var color = this.getColor();\n return new Stroke({\n color: Array.isArray(color) ? color.slice() : color || undefined,\n lineCap: this.getLineCap(),\n lineDash: this.getLineDash() ? this.getLineDash().slice() : undefined,\n lineDashOffset: this.getLineDashOffset(),\n lineJoin: this.getLineJoin(),\n miterLimit: this.getMiterLimit(),\n width: this.getWidth(),\n });\n };\n /**\n * Get the stroke color.\n * @return {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike} Color.\n * @api\n */\n Stroke.prototype.getColor = function () {\n return this.color_;\n };\n /**\n * Get the line cap type for the stroke.\n * @return {CanvasLineCap|undefined} Line cap.\n * @api\n */\n Stroke.prototype.getLineCap = function () {\n return this.lineCap_;\n };\n /**\n * Get the line dash style for the stroke.\n * @return {Array} Line dash.\n * @api\n */\n Stroke.prototype.getLineDash = function () {\n return this.lineDash_;\n };\n /**\n * Get the line dash offset for the stroke.\n * @return {number|undefined} Line dash offset.\n * @api\n */\n Stroke.prototype.getLineDashOffset = function () {\n return this.lineDashOffset_;\n };\n /**\n * Get the line join type for the stroke.\n * @return {CanvasLineJoin|undefined} Line join.\n * @api\n */\n Stroke.prototype.getLineJoin = function () {\n return this.lineJoin_;\n };\n /**\n * Get the miter limit for the stroke.\n * @return {number|undefined} Miter limit.\n * @api\n */\n Stroke.prototype.getMiterLimit = function () {\n return this.miterLimit_;\n };\n /**\n * Get the stroke width.\n * @return {number|undefined} Width.\n * @api\n */\n Stroke.prototype.getWidth = function () {\n return this.width_;\n };\n /**\n * Set the color.\n *\n * @param {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike} color Color.\n * @api\n */\n Stroke.prototype.setColor = function (color) {\n this.color_ = color;\n };\n /**\n * Set the line cap.\n *\n * @param {CanvasLineCap|undefined} lineCap Line cap.\n * @api\n */\n Stroke.prototype.setLineCap = function (lineCap) {\n this.lineCap_ = lineCap;\n };\n /**\n * Set the line dash.\n *\n * Please note that Internet Explorer 10 and lower [do not support][mdn] the\n * `setLineDash` method on the `CanvasRenderingContext2D` and therefore this\n * property will have no visual effect in these browsers.\n *\n * [mdn]: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash#Browser_compatibility\n *\n * @param {Array} lineDash Line dash.\n * @api\n */\n Stroke.prototype.setLineDash = function (lineDash) {\n this.lineDash_ = lineDash;\n };\n /**\n * Set the line dash offset.\n *\n * @param {number|undefined} lineDashOffset Line dash offset.\n * @api\n */\n Stroke.prototype.setLineDashOffset = function (lineDashOffset) {\n this.lineDashOffset_ = lineDashOffset;\n };\n /**\n * Set the line join.\n *\n * @param {CanvasLineJoin|undefined} lineJoin Line join.\n * @api\n */\n Stroke.prototype.setLineJoin = function (lineJoin) {\n this.lineJoin_ = lineJoin;\n };\n /**\n * Set the miter limit.\n *\n * @param {number|undefined} miterLimit Miter limit.\n * @api\n */\n Stroke.prototype.setMiterLimit = function (miterLimit) {\n this.miterLimit_ = miterLimit;\n };\n /**\n * Set the width.\n *\n * @param {number|undefined} width Width.\n * @api\n */\n Stroke.prototype.setWidth = function (width) {\n this.width_ = width;\n };\n return Stroke;\n}());\nexport default Stroke;\n//# sourceMappingURL=Stroke.js.map","/**\n * @module ol/ImageState\n */\n/**\n * @enum {number}\n */\nexport default {\n IDLE: 0,\n LOADING: 1,\n LOADED: 2,\n ERROR: 3,\n EMPTY: 4,\n};\n//# sourceMappingURL=ImageState.js.map","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.show),expression:\"show\"}],staticClass:\"backdrop\",on:{\"click\":function($event){return _vm.hideModal()}}},[_c('div',{staticClass:\"terraIndexModal\"},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.hideModal()}}},[_vm._v(\"×\")]),_c('h4',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t(\"label.confirmDeleteModalTitle\")))]),(_vm.subHeader)?_c('small',{staticClass:\"h6\"},[_vm._v(_vm._s(_vm.subHeader))]):_vm._e()]),_c('div',{staticClass:\"modal-body\"},[_vm._t(\"default\")],2),_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"btn\",on:{\"click\":function($event){return _vm.confirmDelete()}}},[_vm._v(_vm._s(_vm.$t(\"project.DeleteButton\")))])])])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirmDeleteModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirmDeleteModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./confirmDeleteModal.vue?vue&type=template&id=661121c2&scoped=true\"\nimport script from \"./confirmDeleteModal.vue?vue&type=script&lang=js\"\nexport * from \"./confirmDeleteModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./confirmDeleteModal.vue?vue&type=style&index=0&id=661121c2&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"661121c2\",\n null\n \n)\n\nexport default component.exports","/**\n * @module ol/geom/flat/center\n */\nimport { createEmpty, createOrUpdateFromFlatCoordinates } from '../../extent.js';\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @return {Array} Flat centers.\n */\nexport function linearRingss(flatCoordinates, offset, endss, stride) {\n var flatCenters = [];\n var extent = createEmpty();\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n extent = createOrUpdateFromFlatCoordinates(flatCoordinates, offset, ends[0], stride);\n flatCenters.push((extent[0] + extent[2]) / 2, (extent[1] + extent[3]) / 2);\n offset = ends[ends.length - 1];\n }\n return flatCenters;\n}\n//# sourceMappingURL=center.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/geom/MultiPolygon\n */\nimport GeometryLayout from './GeometryLayout.js';\nimport MultiPoint from './MultiPoint.js';\nimport Polygon from './Polygon.js';\nimport SimpleGeometry from './SimpleGeometry.js';\nimport { assignClosestMultiArrayPoint, multiArrayMaxSquaredDelta, } from './flat/closest.js';\nimport { closestSquaredDistanceXY } from '../extent.js';\nimport { deflateMultiCoordinatesArray } from './flat/deflate.js';\nimport { extend } from '../array.js';\nimport { getInteriorPointsOfMultiArray } from './flat/interiorpoint.js';\nimport { inflateMultiCoordinatesArray } from './flat/inflate.js';\nimport { intersectsLinearRingMultiArray } from './flat/intersectsextent.js';\nimport { linearRingssAreOriented, orientLinearRingsArray, } from './flat/orient.js';\nimport { linearRingss as linearRingssArea } from './flat/area.js';\nimport { linearRingss as linearRingssCenter } from './flat/center.js';\nimport { linearRingssContainsXY } from './flat/contains.js';\nimport { quantizeMultiArray } from './flat/simplify.js';\n/**\n * @classdesc\n * Multi-polygon geometry.\n *\n * @api\n */\nvar MultiPolygon = /** @class */ (function (_super) {\n __extends(MultiPolygon, _super);\n /**\n * @param {Array>|Polygon>|Array} coordinates Coordinates.\n * For internal use, flat coordinates in combination with `opt_layout` and `opt_endss` are also accepted.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n * @param {Array>} [opt_endss] Array of ends for internal use with flat coordinates.\n */\n function MultiPolygon(coordinates, opt_layout, opt_endss) {\n var _this = _super.call(this) || this;\n /**\n * @type {Array>}\n * @private\n */\n _this.endss_ = [];\n /**\n * @private\n * @type {number}\n */\n _this.flatInteriorPointsRevision_ = -1;\n /**\n * @private\n * @type {Array}\n */\n _this.flatInteriorPoints_ = null;\n /**\n * @private\n * @type {number}\n */\n _this.maxDelta_ = -1;\n /**\n * @private\n * @type {number}\n */\n _this.maxDeltaRevision_ = -1;\n /**\n * @private\n * @type {number}\n */\n _this.orientedRevision_ = -1;\n /**\n * @private\n * @type {Array}\n */\n _this.orientedFlatCoordinates_ = null;\n if (!opt_endss && !Array.isArray(coordinates[0])) {\n var layout = _this.getLayout();\n var polygons = /** @type {Array} */ (coordinates);\n var flatCoordinates = [];\n var endss = [];\n for (var i = 0, ii = polygons.length; i < ii; ++i) {\n var polygon = polygons[i];\n if (i === 0) {\n layout = polygon.getLayout();\n }\n var offset = flatCoordinates.length;\n var ends = polygon.getEnds();\n for (var j = 0, jj = ends.length; j < jj; ++j) {\n ends[j] += offset;\n }\n extend(flatCoordinates, polygon.getFlatCoordinates());\n endss.push(ends);\n }\n opt_layout = layout;\n coordinates = flatCoordinates;\n opt_endss = endss;\n }\n if (opt_layout !== undefined && opt_endss) {\n _this.setFlatCoordinates(opt_layout, \n /** @type {Array} */ (coordinates));\n _this.endss_ = opt_endss;\n }\n else {\n _this.setCoordinates(\n /** @type {Array>>} */ (coordinates), opt_layout);\n }\n return _this;\n }\n /**\n * Append the passed polygon to this multipolygon.\n * @param {Polygon} polygon Polygon.\n * @api\n */\n MultiPolygon.prototype.appendPolygon = function (polygon) {\n /** @type {Array} */\n var ends;\n if (!this.flatCoordinates) {\n this.flatCoordinates = polygon.getFlatCoordinates().slice();\n ends = polygon.getEnds().slice();\n this.endss_.push();\n }\n else {\n var offset = this.flatCoordinates.length;\n extend(this.flatCoordinates, polygon.getFlatCoordinates());\n ends = polygon.getEnds().slice();\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n ends[i] += offset;\n }\n }\n this.endss_.push(ends);\n this.changed();\n };\n /**\n * Make a complete copy of the geometry.\n * @return {!MultiPolygon} Clone.\n * @api\n */\n MultiPolygon.prototype.clone = function () {\n var len = this.endss_.length;\n var newEndss = new Array(len);\n for (var i = 0; i < len; ++i) {\n newEndss[i] = this.endss_[i].slice();\n }\n var multiPolygon = new MultiPolygon(this.flatCoordinates.slice(), this.layout, newEndss);\n multiPolygon.applyProperties(this);\n return multiPolygon;\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../coordinate.js\").Coordinate} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @return {number} Minimum squared distance.\n */\n MultiPolygon.prototype.closestPointXY = function (x, y, closestPoint, minSquaredDistance) {\n if (minSquaredDistance < closestSquaredDistanceXY(this.getExtent(), x, y)) {\n return minSquaredDistance;\n }\n if (this.maxDeltaRevision_ != this.getRevision()) {\n this.maxDelta_ = Math.sqrt(multiArrayMaxSquaredDelta(this.flatCoordinates, 0, this.endss_, this.stride, 0));\n this.maxDeltaRevision_ = this.getRevision();\n }\n return assignClosestMultiArrayPoint(this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride, this.maxDelta_, true, x, y, closestPoint, minSquaredDistance);\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\n MultiPolygon.prototype.containsXY = function (x, y) {\n return linearRingssContainsXY(this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride, x, y);\n };\n /**\n * Return the area of the multipolygon on projected plane.\n * @return {number} Area (on projected plane).\n * @api\n */\n MultiPolygon.prototype.getArea = function () {\n return linearRingssArea(this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride);\n };\n /**\n * Get the coordinate array for this geometry. This array has the structure\n * of a GeoJSON coordinate array for multi-polygons.\n *\n * @param {boolean} [opt_right] Orient coordinates according to the right-hand\n * rule (counter-clockwise for exterior and clockwise for interior rings).\n * If `false`, coordinates will be oriented according to the left-hand rule\n * (clockwise for exterior and counter-clockwise for interior rings).\n * By default, coordinate orientation will depend on how the geometry was\n * constructed.\n * @return {Array>>} Coordinates.\n * @api\n */\n MultiPolygon.prototype.getCoordinates = function (opt_right) {\n var flatCoordinates;\n if (opt_right !== undefined) {\n flatCoordinates = this.getOrientedFlatCoordinates().slice();\n orientLinearRingsArray(flatCoordinates, 0, this.endss_, this.stride, opt_right);\n }\n else {\n flatCoordinates = this.flatCoordinates;\n }\n return inflateMultiCoordinatesArray(flatCoordinates, 0, this.endss_, this.stride);\n };\n /**\n * @return {Array>} Endss.\n */\n MultiPolygon.prototype.getEndss = function () {\n return this.endss_;\n };\n /**\n * @return {Array} Flat interior points.\n */\n MultiPolygon.prototype.getFlatInteriorPoints = function () {\n if (this.flatInteriorPointsRevision_ != this.getRevision()) {\n var flatCenters = linearRingssCenter(this.flatCoordinates, 0, this.endss_, this.stride);\n this.flatInteriorPoints_ = getInteriorPointsOfMultiArray(this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride, flatCenters);\n this.flatInteriorPointsRevision_ = this.getRevision();\n }\n return this.flatInteriorPoints_;\n };\n /**\n * Return the interior points as {@link module:ol/geom/MultiPoint~MultiPoint multipoint}.\n * @return {MultiPoint} Interior points as XYM coordinates, where M is\n * the length of the horizontal intersection that the point belongs to.\n * @api\n */\n MultiPolygon.prototype.getInteriorPoints = function () {\n return new MultiPoint(this.getFlatInteriorPoints().slice(), GeometryLayout.XYM);\n };\n /**\n * @return {Array} Oriented flat coordinates.\n */\n MultiPolygon.prototype.getOrientedFlatCoordinates = function () {\n if (this.orientedRevision_ != this.getRevision()) {\n var flatCoordinates = this.flatCoordinates;\n if (linearRingssAreOriented(flatCoordinates, 0, this.endss_, this.stride)) {\n this.orientedFlatCoordinates_ = flatCoordinates;\n }\n else {\n this.orientedFlatCoordinates_ = flatCoordinates.slice();\n this.orientedFlatCoordinates_.length = orientLinearRingsArray(this.orientedFlatCoordinates_, 0, this.endss_, this.stride);\n }\n this.orientedRevision_ = this.getRevision();\n }\n return this.orientedFlatCoordinates_;\n };\n /**\n * @param {number} squaredTolerance Squared tolerance.\n * @return {MultiPolygon} Simplified MultiPolygon.\n * @protected\n */\n MultiPolygon.prototype.getSimplifiedGeometryInternal = function (squaredTolerance) {\n var simplifiedFlatCoordinates = [];\n var simplifiedEndss = [];\n simplifiedFlatCoordinates.length = quantizeMultiArray(this.flatCoordinates, 0, this.endss_, this.stride, Math.sqrt(squaredTolerance), simplifiedFlatCoordinates, 0, simplifiedEndss);\n return new MultiPolygon(simplifiedFlatCoordinates, GeometryLayout.XY, simplifiedEndss);\n };\n /**\n * Return the polygon at the specified index.\n * @param {number} index Index.\n * @return {Polygon} Polygon.\n * @api\n */\n MultiPolygon.prototype.getPolygon = function (index) {\n if (index < 0 || this.endss_.length <= index) {\n return null;\n }\n var offset;\n if (index === 0) {\n offset = 0;\n }\n else {\n var prevEnds = this.endss_[index - 1];\n offset = prevEnds[prevEnds.length - 1];\n }\n var ends = this.endss_[index].slice();\n var end = ends[ends.length - 1];\n if (offset !== 0) {\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n ends[i] -= offset;\n }\n }\n return new Polygon(this.flatCoordinates.slice(offset, end), this.layout, ends);\n };\n /**\n * Return the polygons of this multipolygon.\n * @return {Array} Polygons.\n * @api\n */\n MultiPolygon.prototype.getPolygons = function () {\n var layout = this.layout;\n var flatCoordinates = this.flatCoordinates;\n var endss = this.endss_;\n var polygons = [];\n var offset = 0;\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i].slice();\n var end = ends[ends.length - 1];\n if (offset !== 0) {\n for (var j = 0, jj = ends.length; j < jj; ++j) {\n ends[j] -= offset;\n }\n }\n var polygon = new Polygon(flatCoordinates.slice(offset, end), layout, ends);\n polygons.push(polygon);\n offset = end;\n }\n return polygons;\n };\n /**\n * Get the type of this geometry.\n * @return {import(\"./Geometry.js\").Type} Geometry type.\n * @api\n */\n MultiPolygon.prototype.getType = function () {\n return 'MultiPolygon';\n };\n /**\n * Test if the geometry and the passed extent intersect.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {boolean} `true` if the geometry and the extent intersect.\n * @api\n */\n MultiPolygon.prototype.intersectsExtent = function (extent) {\n return intersectsLinearRingMultiArray(this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride, extent);\n };\n /**\n * Set the coordinates of the multipolygon.\n * @param {!Array>>} coordinates Coordinates.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n * @api\n */\n MultiPolygon.prototype.setCoordinates = function (coordinates, opt_layout) {\n this.setLayout(opt_layout, coordinates, 3);\n if (!this.flatCoordinates) {\n this.flatCoordinates = [];\n }\n var endss = deflateMultiCoordinatesArray(this.flatCoordinates, 0, coordinates, this.stride, this.endss_);\n if (endss.length === 0) {\n this.flatCoordinates.length = 0;\n }\n else {\n var lastEnds = endss[endss.length - 1];\n this.flatCoordinates.length =\n lastEnds.length === 0 ? 0 : lastEnds[lastEnds.length - 1];\n }\n this.changed();\n };\n return MultiPolygon;\n}(SimpleGeometry));\nexport default MultiPolygon;\n//# sourceMappingURL=MultiPolygon.js.map","\"use strict\";\r\n/**\r\n * touch.ts 7.3.0\r\n * Copyright (c) 2021 Alain Dumesny - see GridStack root license\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.pointerleave = exports.pointerenter = exports.pointerdown = exports.touchend = exports.touchmove = exports.touchstart = exports.isTouch = void 0;\r\nconst dd_manager_1 = require(\"./dd-manager\");\r\n/**\r\n * Detect touch support - Windows Surface devices and other touch devices\r\n * should we use this instead ? (what we had for always showing resize handles)\r\n * /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)\r\n */\r\nexports.isTouch = typeof window !== 'undefined' && typeof document !== 'undefined' &&\r\n ('ontouchstart' in document\r\n || 'ontouchstart' in window\r\n // || !!window.TouchEvent // true on Windows 10 Chrome desktop so don't use this\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n || (window.DocumentTouch && document instanceof window.DocumentTouch)\r\n || navigator.maxTouchPoints > 0\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n || navigator.msMaxTouchPoints > 0);\r\n// interface TouchCoord {x: number, y: number};\r\nclass DDTouch {\r\n}\r\n/**\r\n* Get the x,y position of a touch event\r\n*/\r\n// function getTouchCoords(e: TouchEvent): TouchCoord {\r\n// return {\r\n// x: e.changedTouches[0].pageX,\r\n// y: e.changedTouches[0].pageY\r\n// };\r\n// }\r\n/**\r\n * Simulate a mouse event based on a corresponding touch event\r\n * @param {Object} e A touch event\r\n * @param {String} simulatedType The corresponding mouse event\r\n */\r\nfunction simulateMouseEvent(e, simulatedType) {\r\n // Ignore multi-touch events\r\n if (e.touches.length > 1)\r\n return;\r\n // Prevent \"Ignored attempt to cancel a touchmove event with cancelable=false\" errors\r\n if (e.cancelable)\r\n e.preventDefault();\r\n const touch = e.changedTouches[0], simulatedEvent = document.createEvent('MouseEvents');\r\n // Initialize the simulated mouse event using the touch event's coordinates\r\n simulatedEvent.initMouseEvent(simulatedType, // type\r\n true, // bubbles\r\n true, // cancelable\r\n window, // view\r\n 1, // detail\r\n touch.screenX, // screenX\r\n touch.screenY, // screenY\r\n touch.clientX, // clientX\r\n touch.clientY, // clientY\r\n false, // ctrlKey\r\n false, // altKey\r\n false, // shiftKey\r\n false, // metaKey\r\n 0, // button\r\n null // relatedTarget\r\n );\r\n // Dispatch the simulated event to the target element\r\n e.target.dispatchEvent(simulatedEvent);\r\n}\r\n/**\r\n * Simulate a mouse event based on a corresponding Pointer event\r\n * @param {Object} e A pointer event\r\n * @param {String} simulatedType The corresponding mouse event\r\n */\r\nfunction simulatePointerMouseEvent(e, simulatedType) {\r\n // Prevent \"Ignored attempt to cancel a touchmove event with cancelable=false\" errors\r\n if (e.cancelable)\r\n e.preventDefault();\r\n const simulatedEvent = document.createEvent('MouseEvents');\r\n // Initialize the simulated mouse event using the touch event's coordinates\r\n simulatedEvent.initMouseEvent(simulatedType, // type\r\n true, // bubbles\r\n true, // cancelable\r\n window, // view\r\n 1, // detail\r\n e.screenX, // screenX\r\n e.screenY, // screenY\r\n e.clientX, // clientX\r\n e.clientY, // clientY\r\n false, // ctrlKey\r\n false, // altKey\r\n false, // shiftKey\r\n false, // metaKey\r\n 0, // button\r\n null // relatedTarget\r\n );\r\n // Dispatch the simulated event to the target element\r\n e.target.dispatchEvent(simulatedEvent);\r\n}\r\n/**\r\n * Handle the touchstart events\r\n * @param {Object} e The widget element's touchstart event\r\n */\r\nfunction touchstart(e) {\r\n // Ignore the event if another widget is already being handled\r\n if (DDTouch.touchHandled)\r\n return;\r\n DDTouch.touchHandled = true;\r\n // Simulate the mouse events\r\n // simulateMouseEvent(e, 'mouseover');\r\n // simulateMouseEvent(e, 'mousemove');\r\n simulateMouseEvent(e, 'mousedown');\r\n}\r\nexports.touchstart = touchstart;\r\n/**\r\n * Handle the touchmove events\r\n * @param {Object} e The document's touchmove event\r\n */\r\nfunction touchmove(e) {\r\n // Ignore event if not handled by us\r\n if (!DDTouch.touchHandled)\r\n return;\r\n simulateMouseEvent(e, 'mousemove');\r\n}\r\nexports.touchmove = touchmove;\r\n/**\r\n * Handle the touchend events\r\n * @param {Object} e The document's touchend event\r\n */\r\nfunction touchend(e) {\r\n // Ignore event if not handled\r\n if (!DDTouch.touchHandled)\r\n return;\r\n // cancel delayed leave event when we release on ourself which happens BEFORE we get this!\r\n if (DDTouch.pointerLeaveTimeout) {\r\n window.clearTimeout(DDTouch.pointerLeaveTimeout);\r\n delete DDTouch.pointerLeaveTimeout;\r\n }\r\n const wasDragging = !!dd_manager_1.DDManager.dragElement;\r\n // Simulate the mouseup event\r\n simulateMouseEvent(e, 'mouseup');\r\n // simulateMouseEvent(event, 'mouseout');\r\n // If the touch interaction did not move, it should trigger a click\r\n if (!wasDragging) {\r\n simulateMouseEvent(e, 'click');\r\n }\r\n // Unset the flag to allow other widgets to inherit the touch event\r\n DDTouch.touchHandled = false;\r\n}\r\nexports.touchend = touchend;\r\n/**\r\n * Note we don't get touchenter/touchleave (which are deprecated)\r\n * see https://stackoverflow.com/questions/27908339/js-touch-equivalent-for-mouseenter\r\n * so instead of PointerEvent to still get enter/leave and send the matching mouse event.\r\n */\r\nfunction pointerdown(e) {\r\n // console.log(\"pointer down\")\r\n e.target.releasePointerCapture(e.pointerId); // <- Important!\r\n}\r\nexports.pointerdown = pointerdown;\r\nfunction pointerenter(e) {\r\n // ignore the initial one we get on pointerdown on ourself\r\n if (!dd_manager_1.DDManager.dragElement) {\r\n // console.log('pointerenter ignored');\r\n return;\r\n }\r\n // console.log('pointerenter');\r\n simulatePointerMouseEvent(e, 'mouseenter');\r\n}\r\nexports.pointerenter = pointerenter;\r\nfunction pointerleave(e) {\r\n // ignore the leave on ourself we get before releasing the mouse over ourself\r\n // by delaying sending the event and having the up event cancel us\r\n if (!dd_manager_1.DDManager.dragElement) {\r\n // console.log('pointerleave ignored');\r\n return;\r\n }\r\n DDTouch.pointerLeaveTimeout = window.setTimeout(() => {\r\n delete DDTouch.pointerLeaveTimeout;\r\n // console.log('pointerleave delayed');\r\n simulatePointerMouseEvent(e, 'mouseleave');\r\n }, 10);\r\n}\r\nexports.pointerleave = pointerleave;\r\n//# sourceMappingURL=dd-touch.js.map","/**\n * @module ol/rotationconstraint\n */\nimport { toRadians } from './math.js';\n/**\n * @typedef {function((number|undefined), boolean=): (number|undefined)} Type\n */\n/**\n * @param {number|undefined} rotation Rotation.\n * @return {number|undefined} Rotation.\n */\nexport function disable(rotation) {\n if (rotation !== undefined) {\n return 0;\n }\n else {\n return undefined;\n }\n}\n/**\n * @param {number|undefined} rotation Rotation.\n * @return {number|undefined} Rotation.\n */\nexport function none(rotation) {\n if (rotation !== undefined) {\n return rotation;\n }\n else {\n return undefined;\n }\n}\n/**\n * @param {number} n N.\n * @return {Type} Rotation constraint.\n */\nexport function createSnapToN(n) {\n var theta = (2 * Math.PI) / n;\n return (\n /**\n * @param {number|undefined} rotation Rotation.\n * @param {boolean} [opt_isMoving] True if an interaction or animation is in progress.\n * @return {number|undefined} Rotation.\n */\n function (rotation, opt_isMoving) {\n if (opt_isMoving) {\n return rotation;\n }\n if (rotation !== undefined) {\n rotation = Math.floor(rotation / theta + 0.5) * theta;\n return rotation;\n }\n else {\n return undefined;\n }\n });\n}\n/**\n * @param {number} [opt_tolerance] Tolerance.\n * @return {Type} Rotation constraint.\n */\nexport function createSnapToZero(opt_tolerance) {\n var tolerance = opt_tolerance || toRadians(5);\n return (\n /**\n * @param {number|undefined} rotation Rotation.\n * @param {boolean} [opt_isMoving] True if an interaction or animation is in progress.\n * @return {number|undefined} Rotation.\n */\n function (rotation, opt_isMoving) {\n if (opt_isMoving) {\n return rotation;\n }\n if (rotation !== undefined) {\n if (Math.abs(rotation) <= tolerance) {\n return 0;\n }\n else {\n return rotation;\n }\n }\n else {\n return undefined;\n }\n });\n}\n//# sourceMappingURL=rotationconstraint.js.map","/**\r\n * DevExtreme (esm/ui/switch.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport devices from \"../core/devices\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Editor from \"./editor/editor\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n lock\r\n} from \"../events/core/emitter.feedback\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport fx from \"../animation/fx\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport {\r\n name as clickEventName\r\n} from \"../events/click\";\r\nimport Swipeable from \"../events/gesture/swipeable\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar SWITCH_CLASS = \"dx-switch\";\r\nvar SWITCH_WRAPPER_CLASS = SWITCH_CLASS + \"-wrapper\";\r\nvar SWITCH_CONTAINER_CLASS = SWITCH_CLASS + \"-container\";\r\nvar SWITCH_INNER_CLASS = SWITCH_CLASS + \"-inner\";\r\nvar SWITCH_HANDLE_CLASS = SWITCH_CLASS + \"-handle\";\r\nvar SWITCH_ON_VALUE_CLASS = SWITCH_CLASS + \"-on-value\";\r\nvar SWITCH_ON_CLASS = SWITCH_CLASS + \"-on\";\r\nvar SWITCH_OFF_CLASS = SWITCH_CLASS + \"-off\";\r\nvar SWITCH_ANIMATION_DURATION = 100;\r\nvar Switch = Editor.inherit({\r\n _supportedKeys: function() {\r\n var isRTL = this.option(\"rtlEnabled\");\r\n var click = function(e) {\r\n e.preventDefault();\r\n this._clickAction({\r\n event: e\r\n })\r\n };\r\n var move = function(value, e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._saveValueChangeEvent(e);\r\n this._animateValue(value)\r\n };\r\n return extend(this.callBase(), {\r\n space: click,\r\n enter: click,\r\n leftArrow: move.bind(this, isRTL ? true : false),\r\n rightArrow: move.bind(this, isRTL ? false : true)\r\n })\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n switchedOnText: messageLocalization.format(\"dxSwitch-switchedOnText\"),\r\n switchedOffText: messageLocalization.format(\"dxSwitch-switchedOffText\"),\r\n value: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _feedbackHideTimeout: 0,\r\n _animating: false,\r\n _initMarkup: function() {\r\n this._renderContainers();\r\n this.$element().addClass(SWITCH_CLASS).append(this._$switchWrapper);\r\n this._renderSubmitElement();\r\n this._renderClick();\r\n this.setAria(\"role\", \"button\");\r\n this._renderSwipeable();\r\n this.callBase();\r\n this._renderSwitchInner();\r\n this._renderLabels();\r\n this._renderValue()\r\n },\r\n _getInnerOffset: function(value, offset) {\r\n var ratio = (offset - this._offsetDirection() * Number(!value)) / 2;\r\n return 100 * ratio + \"%\"\r\n },\r\n _getHandleOffset: function(value, offset) {\r\n if (this.option(\"rtlEnabled\")) {\r\n value = !value\r\n }\r\n if (value) {\r\n var calcValue = 100 * -offset - 100;\r\n return calcValue + \"%\"\r\n } else {\r\n return 100 * -offset + \"%\"\r\n }\r\n },\r\n _renderSwitchInner: function() {\r\n this._$switchInner = $(\"
\").addClass(SWITCH_INNER_CLASS).appendTo(this._$switchContainer);\r\n this._$handle = $(\"
\").addClass(SWITCH_HANDLE_CLASS).appendTo(this._$switchInner)\r\n },\r\n _renderLabels: function() {\r\n this._$labelOn = $(\"
\").addClass(SWITCH_ON_CLASS).prependTo(this._$switchInner);\r\n this._$labelOff = $(\"
\").addClass(SWITCH_OFF_CLASS).appendTo(this._$switchInner);\r\n this._setLabelsText()\r\n },\r\n _renderContainers: function() {\r\n this._$switchContainer = $(\"
\").addClass(SWITCH_CONTAINER_CLASS);\r\n this._$switchWrapper = $(\"
\").addClass(SWITCH_WRAPPER_CLASS).append(this._$switchContainer)\r\n },\r\n _renderSwipeable: function() {\r\n this._createComponent(this.$element(), Swipeable, {\r\n elastic: false,\r\n immediate: true,\r\n onStart: this._swipeStartHandler.bind(this),\r\n onUpdated: this._swipeUpdateHandler.bind(this),\r\n onEnd: this._swipeEndHandler.bind(this),\r\n itemSizeFunc: this._getItemSizeFunc.bind(this)\r\n })\r\n },\r\n _getItemSizeFunc: function() {\r\n return getOuterWidth(this._$switchContainer, true) - getBoundingRect(this._$handle.get(0)).width\r\n },\r\n _renderSubmitElement: function() {\r\n this._$submitElement = $(\"\").attr(\"type\", \"hidden\").appendTo(this.$element())\r\n },\r\n _getSubmitElement: function() {\r\n return this._$submitElement\r\n },\r\n _offsetDirection: function() {\r\n return this.option(\"rtlEnabled\") ? -1 : 1\r\n },\r\n _renderPosition: function(state, swipeOffset) {\r\n var innerOffset = this._getInnerOffset(state, swipeOffset);\r\n var handleOffset = this._getHandleOffset(state, swipeOffset);\r\n this._$switchInner.css(\"transform\", \" translateX(\" + innerOffset + \")\");\r\n this._$handle.css(\"transform\", \" translateX(\" + handleOffset + \")\")\r\n },\r\n _validateValue: function() {\r\n var check = this.option(\"value\");\r\n if (\"boolean\" !== typeof check) {\r\n this._options.silent(\"value\", !!check)\r\n }\r\n },\r\n _renderClick: function() {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var $element = this.$element();\r\n this._clickAction = this._createAction(this._clickHandler.bind(this));\r\n eventsEngine.off($element, eventName);\r\n eventsEngine.on($element, eventName, function(e) {\r\n this._clickAction({\r\n event: e\r\n })\r\n }.bind(this))\r\n },\r\n _clickHandler: function(args) {\r\n var e = args.event;\r\n this._saveValueChangeEvent(e);\r\n if (this._animating || this._swiping) {\r\n return\r\n }\r\n this._animateValue(!this.option(\"value\"))\r\n },\r\n _animateValue: function(value) {\r\n var startValue = this.option(\"value\");\r\n var endValue = value;\r\n if (startValue === endValue) {\r\n return\r\n }\r\n this._animating = true;\r\n var fromInnerOffset = this._getInnerOffset(startValue, 0);\r\n var toInnerOffset = this._getInnerOffset(endValue, 0);\r\n var fromHandleOffset = this._getHandleOffset(startValue, 0);\r\n var toHandleOffset = this._getHandleOffset(endValue, 0);\r\n var that = this;\r\n var fromInnerConfig = {};\r\n var toInnerConfig = {};\r\n var fromHandleConfig = {};\r\n var toHandlerConfig = {};\r\n fromInnerConfig.transform = \" translateX(\" + fromInnerOffset + \")\";\r\n toInnerConfig.transform = \" translateX(\" + toInnerOffset + \")\";\r\n fromHandleConfig.transform = \" translateX(\" + fromHandleOffset + \")\";\r\n toHandlerConfig.transform = \" translateX(\" + toHandleOffset + \")\";\r\n this.$element().toggleClass(SWITCH_ON_VALUE_CLASS, endValue);\r\n fx.animate(this._$handle, {\r\n from: fromHandleConfig,\r\n to: toHandlerConfig,\r\n duration: SWITCH_ANIMATION_DURATION\r\n });\r\n fx.animate(this._$switchInner, {\r\n from: fromInnerConfig,\r\n to: toInnerConfig,\r\n duration: SWITCH_ANIMATION_DURATION,\r\n complete: function() {\r\n that._animating = false;\r\n that.option(\"value\", endValue)\r\n }\r\n })\r\n },\r\n _swipeStartHandler: function(e) {\r\n var state = this.option(\"value\");\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var maxOffOffset = rtlEnabled ? 0 : 1;\r\n var maxOnOffset = rtlEnabled ? 1 : 0;\r\n e.event.maxLeftOffset = state ? maxOffOffset : maxOnOffset;\r\n e.event.maxRightOffset = state ? maxOnOffset : maxOffOffset;\r\n this._swiping = true;\r\n this._feedbackDeferred = new Deferred;\r\n lock(this._feedbackDeferred);\r\n this._toggleActiveState(this.$element(), this.option(\"activeStateEnabled\"))\r\n },\r\n _swipeUpdateHandler: function(e) {\r\n this._renderPosition(this.option(\"value\"), e.event.offset)\r\n },\r\n _swipeEndHandler: function(e) {\r\n var that = this;\r\n var offsetDirection = this._offsetDirection();\r\n var toInnerConfig = {};\r\n var toHandleConfig = {};\r\n var innerOffset = this._getInnerOffset(that.option(\"value\"), e.event.targetOffset);\r\n var handleOffset = this._getHandleOffset(that.option(\"value\"), e.event.targetOffset);\r\n toInnerConfig.transform = \" translateX(\" + innerOffset + \")\";\r\n toHandleConfig.transform = \" translateX(\" + handleOffset + \")\";\r\n fx.animate(this._$handle, {\r\n to: toHandleConfig,\r\n duration: SWITCH_ANIMATION_DURATION\r\n });\r\n fx.animate(this._$switchInner, {\r\n to: toInnerConfig,\r\n duration: SWITCH_ANIMATION_DURATION,\r\n complete: function() {\r\n that._swiping = false;\r\n var pos = that.option(\"value\") + offsetDirection * e.event.targetOffset;\r\n that._saveValueChangeEvent(e.event);\r\n that.option(\"value\", Boolean(pos));\r\n that._feedbackDeferred.resolve();\r\n that._toggleActiveState(that.$element(), false)\r\n }\r\n })\r\n },\r\n _renderValue: function() {\r\n this._validateValue();\r\n var val = this.option(\"value\");\r\n this._renderPosition(val, 0);\r\n this.$element().toggleClass(SWITCH_ON_VALUE_CLASS, val);\r\n this._getSubmitElement().val(val);\r\n this.setAria({\r\n pressed: val,\r\n label: val ? this.option(\"switchedOnText\") : this.option(\"switchedOffText\")\r\n })\r\n },\r\n _setLabelsText: function() {\r\n this._$labelOn && this._$labelOn.text(this.option(\"switchedOnText\"));\r\n this._$labelOff && this._$labelOff.text(this.option(\"switchedOffText\"))\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this.repaint()\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n delete this._marginBound;\r\n this._refresh();\r\n break;\r\n case \"switchedOnText\":\r\n case \"switchedOffText\":\r\n this._setLabelsText();\r\n break;\r\n case \"value\":\r\n this._renderValue();\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxSwitch\", Switch);\r\nexport default Switch;\r\n","/**\n * @module ol/structs/LRUCache\n */\nimport { assert } from '../asserts.js';\n/**\n * @typedef {Object} Entry\n * @property {string} key_ Key.\n * @property {Object} newer Newer.\n * @property {Object} older Older.\n * @property {*} value_ Value.\n */\n/**\n * @classdesc\n * Implements a Least-Recently-Used cache where the keys do not conflict with\n * Object's properties (e.g. 'hasOwnProperty' is not allowed as a key). Expiring\n * items from the cache is the responsibility of the user.\n *\n * @fires import(\"../events/Event.js\").default\n * @template T\n */\nvar LRUCache = /** @class */ (function () {\n /**\n * @param {number} [opt_highWaterMark] High water mark.\n */\n function LRUCache(opt_highWaterMark) {\n /**\n * Desired max cache size after expireCache(). If set to 0, no cache entries\n * will be pruned at all.\n * @type {number}\n */\n this.highWaterMark =\n opt_highWaterMark !== undefined ? opt_highWaterMark : 2048;\n /**\n * @private\n * @type {number}\n */\n this.count_ = 0;\n /**\n * @private\n * @type {!Object}\n */\n this.entries_ = {};\n /**\n * @private\n * @type {?Entry}\n */\n this.oldest_ = null;\n /**\n * @private\n * @type {?Entry}\n */\n this.newest_ = null;\n }\n /**\n * @return {boolean} Can expire cache.\n */\n LRUCache.prototype.canExpireCache = function () {\n return this.highWaterMark > 0 && this.getCount() > this.highWaterMark;\n };\n /**\n * Expire the cache.\n * @param {!Object} [keep] Keys to keep. To be implemented by subclasses.\n */\n LRUCache.prototype.expireCache = function (keep) {\n while (this.canExpireCache()) {\n this.pop();\n }\n };\n /**\n * FIXME empty description for jsdoc\n */\n LRUCache.prototype.clear = function () {\n this.count_ = 0;\n this.entries_ = {};\n this.oldest_ = null;\n this.newest_ = null;\n };\n /**\n * @param {string} key Key.\n * @return {boolean} Contains key.\n */\n LRUCache.prototype.containsKey = function (key) {\n return this.entries_.hasOwnProperty(key);\n };\n /**\n * @param {function(T, string, LRUCache): ?} f The function\n * to call for every entry from the oldest to the newer. This function takes\n * 3 arguments (the entry value, the entry key and the LRUCache object).\n * The return value is ignored.\n */\n LRUCache.prototype.forEach = function (f) {\n var entry = this.oldest_;\n while (entry) {\n f(entry.value_, entry.key_, this);\n entry = entry.newer;\n }\n };\n /**\n * @param {string} key Key.\n * @param {*} [opt_options] Options (reserved for subclasses).\n * @return {T} Value.\n */\n LRUCache.prototype.get = function (key, opt_options) {\n var entry = this.entries_[key];\n assert(entry !== undefined, 15); // Tried to get a value for a key that does not exist in the cache\n if (entry === this.newest_) {\n return entry.value_;\n }\n else if (entry === this.oldest_) {\n this.oldest_ = /** @type {Entry} */ (this.oldest_.newer);\n this.oldest_.older = null;\n }\n else {\n entry.newer.older = entry.older;\n entry.older.newer = entry.newer;\n }\n entry.newer = null;\n entry.older = this.newest_;\n this.newest_.newer = entry;\n this.newest_ = entry;\n return entry.value_;\n };\n /**\n * Remove an entry from the cache.\n * @param {string} key The entry key.\n * @return {T} The removed entry.\n */\n LRUCache.prototype.remove = function (key) {\n var entry = this.entries_[key];\n assert(entry !== undefined, 15); // Tried to get a value for a key that does not exist in the cache\n if (entry === this.newest_) {\n this.newest_ = /** @type {Entry} */ (entry.older);\n if (this.newest_) {\n this.newest_.newer = null;\n }\n }\n else if (entry === this.oldest_) {\n this.oldest_ = /** @type {Entry} */ (entry.newer);\n if (this.oldest_) {\n this.oldest_.older = null;\n }\n }\n else {\n entry.newer.older = entry.older;\n entry.older.newer = entry.newer;\n }\n delete this.entries_[key];\n --this.count_;\n return entry.value_;\n };\n /**\n * @return {number} Count.\n */\n LRUCache.prototype.getCount = function () {\n return this.count_;\n };\n /**\n * @return {Array} Keys.\n */\n LRUCache.prototype.getKeys = function () {\n var keys = new Array(this.count_);\n var i = 0;\n var entry;\n for (entry = this.newest_; entry; entry = entry.older) {\n keys[i++] = entry.key_;\n }\n return keys;\n };\n /**\n * @return {Array} Values.\n */\n LRUCache.prototype.getValues = function () {\n var values = new Array(this.count_);\n var i = 0;\n var entry;\n for (entry = this.newest_; entry; entry = entry.older) {\n values[i++] = entry.value_;\n }\n return values;\n };\n /**\n * @return {T} Last value.\n */\n LRUCache.prototype.peekLast = function () {\n return this.oldest_.value_;\n };\n /**\n * @return {string} Last key.\n */\n LRUCache.prototype.peekLastKey = function () {\n return this.oldest_.key_;\n };\n /**\n * Get the key of the newest item in the cache. Throws if the cache is empty.\n * @return {string} The newest key.\n */\n LRUCache.prototype.peekFirstKey = function () {\n return this.newest_.key_;\n };\n /**\n * Return an entry without updating least recently used time.\n * @param {string} key Key.\n * @return {T} Value.\n */\n LRUCache.prototype.peek = function (key) {\n if (!this.containsKey(key)) {\n return undefined;\n }\n return this.entries_[key].value_;\n };\n /**\n * @return {T} value Value.\n */\n LRUCache.prototype.pop = function () {\n var entry = this.oldest_;\n delete this.entries_[entry.key_];\n if (entry.newer) {\n entry.newer.older = null;\n }\n this.oldest_ = /** @type {Entry} */ (entry.newer);\n if (!this.oldest_) {\n this.newest_ = null;\n }\n --this.count_;\n return entry.value_;\n };\n /**\n * @param {string} key Key.\n * @param {T} value Value.\n */\n LRUCache.prototype.replace = function (key, value) {\n this.get(key); // update `newest_`\n this.entries_[key].value_ = value;\n };\n /**\n * @param {string} key Key.\n * @param {T} value Value.\n */\n LRUCache.prototype.set = function (key, value) {\n assert(!(key in this.entries_), 16); // Tried to set a value for a key that is used already\n var entry = {\n key_: key,\n newer: null,\n older: this.newest_,\n value_: value,\n };\n if (!this.newest_) {\n this.oldest_ = entry;\n }\n else {\n this.newest_.newer = entry;\n }\n this.newest_ = entry;\n this.entries_[key] = entry;\n ++this.count_;\n };\n /**\n * Set a maximum number of entries for the cache.\n * @param {number} size Cache size.\n * @api\n */\n LRUCache.prototype.setSize = function (size) {\n this.highWaterMark = size;\n };\n return LRUCache;\n}());\nexport default LRUCache;\n//# sourceMappingURL=LRUCache.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/TileCache\n */\nimport LRUCache from './structs/LRUCache.js';\nimport { fromKey, getKey } from './tilecoord.js';\nvar TileCache = /** @class */ (function (_super) {\n __extends(TileCache, _super);\n function TileCache() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @param {!Object} usedTiles Used tiles.\n */\n TileCache.prototype.expireCache = function (usedTiles) {\n while (this.canExpireCache()) {\n var tile = this.peekLast();\n if (tile.getKey() in usedTiles) {\n break;\n }\n else {\n this.pop().release();\n }\n }\n };\n /**\n * Prune all tiles from the cache that don't have the same z as the newest tile.\n */\n TileCache.prototype.pruneExceptNewestZ = function () {\n if (this.getCount() === 0) {\n return;\n }\n var key = this.peekFirstKey();\n var tileCoord = fromKey(key);\n var z = tileCoord[0];\n this.forEach(function (tile) {\n if (tile.tileCoord[0] !== z) {\n this.remove(getKey(tile.tileCoord));\n tile.release();\n }\n }.bind(this));\n };\n return TileCache;\n}(LRUCache));\nexport default TileCache;\n//# sourceMappingURL=TileCache.js.map","/**\n * @module ol/source/TileEventType\n */\n/**\n * @enum {string}\n */\nexport default {\n /**\n * Triggered when a tile starts loading.\n * @event module:ol/source/Tile.TileSourceEvent#tileloadstart\n * @api\n */\n TILELOADSTART: 'tileloadstart',\n /**\n * Triggered when a tile finishes loading, either when its data is loaded,\n * or when loading was aborted because the tile is no longer needed.\n * @event module:ol/source/Tile.TileSourceEvent#tileloadend\n * @api\n */\n TILELOADEND: 'tileloadend',\n /**\n * Triggered if tile loading results in an error.\n * @event module:ol/source/Tile.TileSourceEvent#tileloaderror\n * @api\n */\n TILELOADERROR: 'tileloaderror',\n};\n/**\n * @typedef {'tileloadstart'|'tileloadend'|'tileloaderror'} TileSourceEventTypes\n */\n//# sourceMappingURL=TileEventType.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/source/Tile\n */\nimport Event from '../events/Event.js';\nimport Source from './Source.js';\nimport TileCache from '../TileCache.js';\nimport TileState from '../TileState.js';\nimport { abstract } from '../util.js';\nimport { assert } from '../asserts.js';\nimport { equivalent } from '../proj.js';\nimport { getKeyZXY, withinExtentAndZ } from '../tilecoord.js';\nimport { getForProjection as getTileGridForProjection, wrapX, } from '../tilegrid.js';\nimport { scale as scaleSize, toSize } from '../size.js';\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").CombinedOnSignature} TileSourceOnSignature\n */\n/**\n * @typedef {Object} Options\n * @property {import(\"./Source.js\").AttributionLike} [attributions] Attributions.\n * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible.\n * @property {number} [cacheSize] CacheSize.\n * @property {boolean} [opaque=false] Whether the layer is opaque.\n * @property {number} [tilePixelRatio] TilePixelRatio.\n * @property {import(\"../proj.js\").ProjectionLike} [projection] Projection.\n * @property {import(\"./Source.js\").State} [state] State.\n * @property {import(\"../tilegrid/TileGrid.js\").default} [tileGrid] TileGrid.\n * @property {boolean} [wrapX=false] WrapX.\n * @property {number} [transition] Transition.\n * @property {string} [key] Key.\n * @property {number|import(\"../array.js\").NearestDirectionFunction} [zDirection=0] ZDirection.\n * @property {boolean} [interpolate=false] Use interpolated values when resampling. By default,\n * the nearest neighbor is used when resampling.\n */\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * Base class for sources providing images divided into a tile grid.\n * @abstract\n * @api\n */\nvar TileSource = /** @class */ (function (_super) {\n __extends(TileSource, _super);\n /**\n * @param {Options} options SourceTile source options.\n */\n function TileSource(options) {\n var _this = _super.call(this, {\n attributions: options.attributions,\n attributionsCollapsible: options.attributionsCollapsible,\n projection: options.projection,\n state: options.state,\n wrapX: options.wrapX,\n interpolate: options.interpolate,\n }) || this;\n /***\n * @type {TileSourceOnSignature}\n */\n _this.on;\n /***\n * @type {TileSourceOnSignature}\n */\n _this.once;\n /***\n * @type {TileSourceOnSignature}\n */\n _this.un;\n /**\n * @private\n * @type {boolean}\n */\n _this.opaque_ = options.opaque !== undefined ? options.opaque : false;\n /**\n * @private\n * @type {number}\n */\n _this.tilePixelRatio_ =\n options.tilePixelRatio !== undefined ? options.tilePixelRatio : 1;\n /**\n * @type {import(\"../tilegrid/TileGrid.js\").default|null}\n */\n _this.tileGrid = options.tileGrid !== undefined ? options.tileGrid : null;\n var tileSize = [256, 256];\n if (_this.tileGrid) {\n toSize(_this.tileGrid.getTileSize(_this.tileGrid.getMinZoom()), tileSize);\n }\n /**\n * @protected\n * @type {import(\"../TileCache.js\").default}\n */\n _this.tileCache = new TileCache(options.cacheSize || 0);\n /**\n * @protected\n * @type {import(\"../size.js\").Size}\n */\n _this.tmpSize = [0, 0];\n /**\n * @private\n * @type {string}\n */\n _this.key_ = options.key || '';\n /**\n * @protected\n * @type {import(\"../Tile.js\").Options}\n */\n _this.tileOptions = {\n transition: options.transition,\n interpolate: options.interpolate,\n };\n /**\n * zDirection hint, read by the renderer. Indicates which resolution should be used\n * by a renderer if the views resolution does not match any resolution of the tile source.\n * If 0, the nearest resolution will be used. If 1, the nearest lower resolution\n * will be used. If -1, the nearest higher resolution will be used.\n * @type {number|import(\"../array.js\").NearestDirectionFunction}\n */\n _this.zDirection = options.zDirection ? options.zDirection : 0;\n return _this;\n }\n /**\n * @return {boolean} Can expire cache.\n */\n TileSource.prototype.canExpireCache = function () {\n return this.tileCache.canExpireCache();\n };\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @param {!Object} usedTiles Used tiles.\n */\n TileSource.prototype.expireCache = function (projection, usedTiles) {\n var tileCache = this.getTileCacheForProjection(projection);\n if (tileCache) {\n tileCache.expireCache(usedTiles);\n }\n };\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @param {number} z Zoom level.\n * @param {import(\"../TileRange.js\").default} tileRange Tile range.\n * @param {function(import(\"../Tile.js\").default):(boolean|void)} callback Called with each\n * loaded tile. If the callback returns `false`, the tile will not be\n * considered loaded.\n * @return {boolean} The tile range is fully covered with loaded tiles.\n */\n TileSource.prototype.forEachLoadedTile = function (projection, z, tileRange, callback) {\n var tileCache = this.getTileCacheForProjection(projection);\n if (!tileCache) {\n return false;\n }\n var covered = true;\n var tile, tileCoordKey, loaded;\n for (var x = tileRange.minX; x <= tileRange.maxX; ++x) {\n for (var y = tileRange.minY; y <= tileRange.maxY; ++y) {\n tileCoordKey = getKeyZXY(z, x, y);\n loaded = false;\n if (tileCache.containsKey(tileCoordKey)) {\n tile = /** @type {!import(\"../Tile.js\").default} */ (tileCache.get(tileCoordKey));\n loaded = tile.getState() === TileState.LOADED;\n if (loaded) {\n loaded = callback(tile) !== false;\n }\n }\n if (!loaded) {\n covered = false;\n }\n }\n }\n return covered;\n };\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {number} Gutter.\n */\n TileSource.prototype.getGutterForProjection = function (projection) {\n return 0;\n };\n /**\n * Return the key to be used for all tiles in the source.\n * @return {string} The key for all tiles.\n */\n TileSource.prototype.getKey = function () {\n return this.key_;\n };\n /**\n * Set the value to be used as the key for all tiles in the source.\n * @param {string} key The key for tiles.\n * @protected\n */\n TileSource.prototype.setKey = function (key) {\n if (this.key_ !== key) {\n this.key_ = key;\n this.changed();\n }\n };\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {boolean} Opaque.\n */\n TileSource.prototype.getOpaque = function (projection) {\n return this.opaque_;\n };\n /**\n * @return {Array|null} Resolutions.\n */\n TileSource.prototype.getResolutions = function () {\n if (!this.tileGrid) {\n return null;\n }\n return this.tileGrid.getResolutions();\n };\n /**\n * @abstract\n * @param {number} z Tile coordinate z.\n * @param {number} x Tile coordinate x.\n * @param {number} y Tile coordinate y.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {!import(\"../Tile.js\").default} Tile.\n */\n TileSource.prototype.getTile = function (z, x, y, pixelRatio, projection) {\n return abstract();\n };\n /**\n * Return the tile grid of the tile source.\n * @return {import(\"../tilegrid/TileGrid.js\").default|null} Tile grid.\n * @api\n */\n TileSource.prototype.getTileGrid = function () {\n return this.tileGrid;\n };\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {!import(\"../tilegrid/TileGrid.js\").default} Tile grid.\n */\n TileSource.prototype.getTileGridForProjection = function (projection) {\n if (!this.tileGrid) {\n return getTileGridForProjection(projection);\n }\n else {\n return this.tileGrid;\n }\n };\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {import(\"../TileCache.js\").default} Tile cache.\n * @protected\n */\n TileSource.prototype.getTileCacheForProjection = function (projection) {\n var sourceProjection = this.getProjection();\n assert(sourceProjection === null || equivalent(sourceProjection, projection), 68 // A VectorTile source can only be rendered if it has a projection compatible with the view projection.\n );\n return this.tileCache;\n };\n /**\n * Get the tile pixel ratio for this source. Subclasses may override this\n * method, which is meant to return a supported pixel ratio that matches the\n * provided `pixelRatio` as close as possible.\n * @param {number} pixelRatio Pixel ratio.\n * @return {number} Tile pixel ratio.\n */\n TileSource.prototype.getTilePixelRatio = function (pixelRatio) {\n return this.tilePixelRatio_;\n };\n /**\n * @param {number} z Z.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {import(\"../size.js\").Size} Tile size.\n */\n TileSource.prototype.getTilePixelSize = function (z, pixelRatio, projection) {\n var tileGrid = this.getTileGridForProjection(projection);\n var tilePixelRatio = this.getTilePixelRatio(pixelRatio);\n var tileSize = toSize(tileGrid.getTileSize(z), this.tmpSize);\n if (tilePixelRatio == 1) {\n return tileSize;\n }\n else {\n return scaleSize(tileSize, tilePixelRatio, this.tmpSize);\n }\n };\n /**\n * Returns a tile coordinate wrapped around the x-axis. When the tile coordinate\n * is outside the resolution and extent range of the tile grid, `null` will be\n * returned.\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {import(\"../proj/Projection.js\").default} [opt_projection] Projection.\n * @return {import(\"../tilecoord.js\").TileCoord} Tile coordinate to be passed to the tileUrlFunction or\n * null if no tile URL should be created for the passed `tileCoord`.\n */\n TileSource.prototype.getTileCoordForTileUrlFunction = function (tileCoord, opt_projection) {\n var projection = opt_projection !== undefined ? opt_projection : this.getProjection();\n var tileGrid = this.getTileGridForProjection(projection);\n if (this.getWrapX() && projection.isGlobal()) {\n tileCoord = wrapX(tileGrid, tileCoord, projection);\n }\n return withinExtentAndZ(tileCoord, tileGrid) ? tileCoord : null;\n };\n /**\n * Remove all cached tiles from the source. The next render cycle will fetch new tiles.\n * @api\n */\n TileSource.prototype.clear = function () {\n this.tileCache.clear();\n };\n TileSource.prototype.refresh = function () {\n this.clear();\n _super.prototype.refresh.call(this);\n };\n /**\n * Increases the cache size if needed\n * @param {number} tileCount Minimum number of tiles needed.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n */\n TileSource.prototype.updateCacheSize = function (tileCount, projection) {\n var tileCache = this.getTileCacheForProjection(projection);\n if (tileCount > tileCache.highWaterMark) {\n tileCache.highWaterMark = tileCount;\n }\n };\n /**\n * Marks a tile coord as being used, without triggering a load.\n * @abstract\n * @param {number} z Tile coordinate z.\n * @param {number} x Tile coordinate x.\n * @param {number} y Tile coordinate y.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n */\n TileSource.prototype.useTile = function (z, x, y, projection) { };\n return TileSource;\n}(Source));\n/**\n * @classdesc\n * Events emitted by {@link module:ol/source/Tile~TileSource} instances are instances of this\n * type.\n */\nvar TileSourceEvent = /** @class */ (function (_super) {\n __extends(TileSourceEvent, _super);\n /**\n * @param {string} type Type.\n * @param {import(\"../Tile.js\").default} tile The tile.\n */\n function TileSourceEvent(type, tile) {\n var _this = _super.call(this, type) || this;\n /**\n * The tile related to the event.\n * @type {import(\"../Tile.js\").default}\n * @api\n */\n _this.tile = tile;\n return _this;\n }\n return TileSourceEvent;\n}(Event));\nexport { TileSourceEvent };\nexport default TileSource;\n//# sourceMappingURL=Tile.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/source/UrlTile\n */\nimport TileEventType from './TileEventType.js';\nimport TileSource, { TileSourceEvent } from './Tile.js';\nimport TileState from '../TileState.js';\nimport { createFromTemplates, expandUrl } from '../tileurlfunction.js';\nimport { getKeyZXY } from '../tilecoord.js';\nimport { getUid } from '../util.js';\n/**\n * @typedef {Object} Options\n * @property {import(\"./Source.js\").AttributionLike} [attributions] Attributions.\n * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible.\n * @property {number} [cacheSize] Cache size.\n * @property {boolean} [opaque=false] Whether the layer is opaque.\n * @property {import(\"../proj.js\").ProjectionLike} [projection] Projection.\n * @property {import(\"./Source.js\").State} [state] State.\n * @property {import(\"../tilegrid/TileGrid.js\").default} [tileGrid] TileGrid.\n * @property {import(\"../Tile.js\").LoadFunction} tileLoadFunction TileLoadFunction.\n * @property {number} [tilePixelRatio] TilePixelRatio.\n * @property {import(\"../Tile.js\").UrlFunction} [tileUrlFunction] TileUrlFunction.\n * @property {string} [url] Url.\n * @property {Array} [urls] Urls.\n * @property {boolean} [wrapX=true] WrapX.\n * @property {number} [transition] Transition.\n * @property {string} [key] Key.\n * @property {number|import(\"../array.js\").NearestDirectionFunction} [zDirection=0] ZDirection.\n * @property {boolean} [interpolate=false] Use interpolated values when resampling. By default,\n * the nearest neighbor is used when resampling.\n */\n/**\n * @classdesc\n * Base class for sources providing tiles divided into a tile grid over http.\n *\n * @fires import(\"./Tile.js\").TileSourceEvent\n */\nvar UrlTile = /** @class */ (function (_super) {\n __extends(UrlTile, _super);\n /**\n * @param {Options} options Image tile options.\n */\n function UrlTile(options) {\n var _this = _super.call(this, {\n attributions: options.attributions,\n cacheSize: options.cacheSize,\n opaque: options.opaque,\n projection: options.projection,\n state: options.state,\n tileGrid: options.tileGrid,\n tilePixelRatio: options.tilePixelRatio,\n wrapX: options.wrapX,\n transition: options.transition,\n interpolate: options.interpolate,\n key: options.key,\n attributionsCollapsible: options.attributionsCollapsible,\n zDirection: options.zDirection,\n }) || this;\n /**\n * @private\n * @type {boolean}\n */\n _this.generateTileUrlFunction_ =\n _this.tileUrlFunction === UrlTile.prototype.tileUrlFunction;\n /**\n * @protected\n * @type {import(\"../Tile.js\").LoadFunction}\n */\n _this.tileLoadFunction = options.tileLoadFunction;\n if (options.tileUrlFunction) {\n _this.tileUrlFunction = options.tileUrlFunction;\n }\n /**\n * @protected\n * @type {!Array|null}\n */\n _this.urls = null;\n if (options.urls) {\n _this.setUrls(options.urls);\n }\n else if (options.url) {\n _this.setUrl(options.url);\n }\n /**\n * @private\n * @type {!Object}\n */\n _this.tileLoadingKeys_ = {};\n return _this;\n }\n /**\n * Return the tile load function of the source.\n * @return {import(\"../Tile.js\").LoadFunction} TileLoadFunction\n * @api\n */\n UrlTile.prototype.getTileLoadFunction = function () {\n return this.tileLoadFunction;\n };\n /**\n * Return the tile URL function of the source.\n * @return {import(\"../Tile.js\").UrlFunction} TileUrlFunction\n * @api\n */\n UrlTile.prototype.getTileUrlFunction = function () {\n return Object.getPrototypeOf(this).tileUrlFunction === this.tileUrlFunction\n ? this.tileUrlFunction.bind(this)\n : this.tileUrlFunction;\n };\n /**\n * Return the URLs used for this source.\n * When a tileUrlFunction is used instead of url or urls,\n * null will be returned.\n * @return {!Array|null} URLs.\n * @api\n */\n UrlTile.prototype.getUrls = function () {\n return this.urls;\n };\n /**\n * Handle tile change events.\n * @param {import(\"../events/Event.js\").default} event Event.\n * @protected\n */\n UrlTile.prototype.handleTileChange = function (event) {\n var tile = /** @type {import(\"../Tile.js\").default} */ (event.target);\n var uid = getUid(tile);\n var tileState = tile.getState();\n var type;\n if (tileState == TileState.LOADING) {\n this.tileLoadingKeys_[uid] = true;\n type = TileEventType.TILELOADSTART;\n }\n else if (uid in this.tileLoadingKeys_) {\n delete this.tileLoadingKeys_[uid];\n type =\n tileState == TileState.ERROR\n ? TileEventType.TILELOADERROR\n : tileState == TileState.LOADED\n ? TileEventType.TILELOADEND\n : undefined;\n }\n if (type != undefined) {\n this.dispatchEvent(new TileSourceEvent(type, tile));\n }\n };\n /**\n * Set the tile load function of the source.\n * @param {import(\"../Tile.js\").LoadFunction} tileLoadFunction Tile load function.\n * @api\n */\n UrlTile.prototype.setTileLoadFunction = function (tileLoadFunction) {\n this.tileCache.clear();\n this.tileLoadFunction = tileLoadFunction;\n this.changed();\n };\n /**\n * Set the tile URL function of the source.\n * @param {import(\"../Tile.js\").UrlFunction} tileUrlFunction Tile URL function.\n * @param {string} [key] Optional new tile key for the source.\n * @api\n */\n UrlTile.prototype.setTileUrlFunction = function (tileUrlFunction, key) {\n this.tileUrlFunction = tileUrlFunction;\n this.tileCache.pruneExceptNewestZ();\n if (typeof key !== 'undefined') {\n this.setKey(key);\n }\n else {\n this.changed();\n }\n };\n /**\n * Set the URL to use for requests.\n * @param {string} url URL.\n * @api\n */\n UrlTile.prototype.setUrl = function (url) {\n var urls = expandUrl(url);\n this.urls = urls;\n this.setUrls(urls);\n };\n /**\n * Set the URLs to use for requests.\n * @param {Array} urls URLs.\n * @api\n */\n UrlTile.prototype.setUrls = function (urls) {\n this.urls = urls;\n var key = urls.join('\\n');\n if (this.generateTileUrlFunction_) {\n this.setTileUrlFunction(createFromTemplates(urls, this.tileGrid), key);\n }\n else {\n this.setKey(key);\n }\n };\n /**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {string|undefined} Tile URL.\n */\n UrlTile.prototype.tileUrlFunction = function (tileCoord, pixelRatio, projection) {\n return undefined;\n };\n /**\n * Marks a tile coord as being used, without triggering a load.\n * @param {number} z Tile coordinate z.\n * @param {number} x Tile coordinate x.\n * @param {number} y Tile coordinate y.\n */\n UrlTile.prototype.useTile = function (z, x, y) {\n var tileCoordKey = getKeyZXY(z, x, y);\n if (this.tileCache.containsKey(tileCoordKey)) {\n this.tileCache.get(tileCoordKey);\n }\n };\n return UrlTile;\n}(TileSource));\nexport default UrlTile;\n//# sourceMappingURL=UrlTile.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/source/TileImage\n */\nimport EventType from '../events/EventType.js';\nimport ImageTile from '../ImageTile.js';\nimport ReprojTile from '../reproj/Tile.js';\nimport TileCache from '../TileCache.js';\nimport TileState from '../TileState.js';\nimport UrlTile from './UrlTile.js';\nimport { ENABLE_RASTER_REPROJECTION } from '../reproj/common.js';\nimport { equivalent, get as getProjection } from '../proj.js';\nimport { getKey, getKeyZXY } from '../tilecoord.js';\nimport { getForProjection as getTileGridForProjection } from '../tilegrid.js';\nimport { getUid } from '../util.js';\n/**\n * @typedef {Object} Options\n * @property {import(\"./Source.js\").AttributionLike} [attributions] Attributions.\n * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible.\n * @property {number} [cacheSize] Initial tile cache size. Will auto-grow to hold at least the number of tiles in the viewport.\n * @property {null|string} [crossOrigin] The `crossOrigin` attribute for loaded images. Note that\n * you must provide a `crossOrigin` value if you want to access pixel data with the Canvas renderer.\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.\n * @property {boolean} [imageSmoothing=true] Deprecated. Use the `interpolate` option instead.\n * @property {boolean} [interpolate=true] Use interpolated values when resampling. By default,\n * linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.\n * @property {boolean} [opaque=false] Whether the layer is opaque.\n * @property {import(\"../proj.js\").ProjectionLike} [projection] Projection. Default is the view projection.\n * @property {number} [reprojectionErrorThreshold=0.5] Maximum allowed reprojection error (in pixels).\n * Higher values can increase reprojection performance, but decrease precision.\n * @property {import(\"./Source.js\").State} [state] Source state.\n * @property {typeof import(\"../ImageTile.js\").default} [tileClass] Class used to instantiate image tiles.\n * Default is {@link module:ol/ImageTile~ImageTile}.\n * @property {import(\"../tilegrid/TileGrid.js\").default} [tileGrid] Tile grid.\n * @property {import(\"../Tile.js\").LoadFunction} [tileLoadFunction] Optional function to load a tile given a URL. The default is\n * ```js\n * function(imageTile, src) {\n * imageTile.getImage().src = src;\n * };\n * ```\n * @property {number} [tilePixelRatio=1] The pixel ratio used by the tile service. For example, if the tile\n * service advertizes 256px by 256px tiles but actually sends 512px\n * by 512px images (for retina/hidpi devices) then `tilePixelRatio`\n * should be set to `2`.\n * @property {import(\"../Tile.js\").UrlFunction} [tileUrlFunction] Optional function to get tile URL given a tile coordinate and the projection.\n * @property {string} [url] URL template. Must include `{x}`, `{y}` or `{-y}`, and `{z}` placeholders.\n * A `{?-?}` template pattern, for example `subdomain{a-f}.domain.com`, may be\n * used instead of defining each one separately in the `urls` option.\n * @property {Array} [urls] An array of URL templates.\n * @property {boolean} [wrapX] Whether to wrap the world horizontally. The default, is to\n * request out-of-bounds tiles from the server. When set to `false`, only one\n * world will be rendered. When set to `true`, tiles will be requested for one\n * world only, but they will be wrapped horizontally to render multiple worlds.\n * @property {number} [transition] Duration of the opacity transition for rendering.\n * To disable the opacity transition, pass `transition: 0`.\n * @property {string} [key] Optional tile key for proper cache fetching\n * @property {number|import(\"../array.js\").NearestDirectionFunction} [zDirection=0]\n * Choose whether to use tiles with a higher or lower zoom level when between integer\n * zoom levels. See {@link module:ol/tilegrid/TileGrid~TileGrid#getZForResolution}.\n */\n/**\n * @classdesc\n * Base class for sources providing images divided into a tile grid.\n *\n * @fires import(\"./Tile.js\").TileSourceEvent\n * @api\n */\nvar TileImage = /** @class */ (function (_super) {\n __extends(TileImage, _super);\n /**\n * @param {!Options} options Image tile options.\n */\n function TileImage(options) {\n var _this = this;\n var interpolate = options.imageSmoothing !== undefined ? options.imageSmoothing : true;\n if (options.interpolate !== undefined) {\n interpolate = options.interpolate;\n }\n _this = _super.call(this, {\n attributions: options.attributions,\n cacheSize: options.cacheSize,\n opaque: options.opaque,\n projection: options.projection,\n state: options.state,\n tileGrid: options.tileGrid,\n tileLoadFunction: options.tileLoadFunction\n ? options.tileLoadFunction\n : defaultTileLoadFunction,\n tilePixelRatio: options.tilePixelRatio,\n tileUrlFunction: options.tileUrlFunction,\n url: options.url,\n urls: options.urls,\n wrapX: options.wrapX,\n transition: options.transition,\n interpolate: interpolate,\n key: options.key,\n attributionsCollapsible: options.attributionsCollapsible,\n zDirection: options.zDirection,\n }) || this;\n /**\n * @protected\n * @type {?string}\n */\n _this.crossOrigin =\n options.crossOrigin !== undefined ? options.crossOrigin : null;\n /**\n * @protected\n * @type {typeof ImageTile}\n */\n _this.tileClass =\n options.tileClass !== undefined ? options.tileClass : ImageTile;\n /**\n * @protected\n * @type {!Object}\n */\n _this.tileCacheForProjection = {};\n /**\n * @protected\n * @type {!Object}\n */\n _this.tileGridForProjection = {};\n /**\n * @private\n * @type {number|undefined}\n */\n _this.reprojectionErrorThreshold_ = options.reprojectionErrorThreshold;\n /**\n * @private\n * @type {boolean}\n */\n _this.renderReprojectionEdges_ = false;\n return _this;\n }\n /**\n * @return {boolean} Can expire cache.\n */\n TileImage.prototype.canExpireCache = function () {\n if (!ENABLE_RASTER_REPROJECTION) {\n return _super.prototype.canExpireCache.call(this);\n }\n if (this.tileCache.canExpireCache()) {\n return true;\n }\n else {\n for (var key in this.tileCacheForProjection) {\n if (this.tileCacheForProjection[key].canExpireCache()) {\n return true;\n }\n }\n }\n return false;\n };\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @param {!Object} usedTiles Used tiles.\n */\n TileImage.prototype.expireCache = function (projection, usedTiles) {\n if (!ENABLE_RASTER_REPROJECTION) {\n _super.prototype.expireCache.call(this, projection, usedTiles);\n return;\n }\n var usedTileCache = this.getTileCacheForProjection(projection);\n this.tileCache.expireCache(this.tileCache == usedTileCache ? usedTiles : {});\n for (var id in this.tileCacheForProjection) {\n var tileCache = this.tileCacheForProjection[id];\n tileCache.expireCache(tileCache == usedTileCache ? usedTiles : {});\n }\n };\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {number} Gutter.\n */\n TileImage.prototype.getGutterForProjection = function (projection) {\n if (ENABLE_RASTER_REPROJECTION &&\n this.getProjection() &&\n projection &&\n !equivalent(this.getProjection(), projection)) {\n return 0;\n }\n else {\n return this.getGutter();\n }\n };\n /**\n * @return {number} Gutter.\n */\n TileImage.prototype.getGutter = function () {\n return 0;\n };\n /**\n * Return the key to be used for all tiles in the source.\n * @return {string} The key for all tiles.\n */\n TileImage.prototype.getKey = function () {\n var key = _super.prototype.getKey.call(this);\n if (!this.getInterpolate()) {\n key += ':disable-interpolation';\n }\n return key;\n };\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {boolean} Opaque.\n */\n TileImage.prototype.getOpaque = function (projection) {\n if (ENABLE_RASTER_REPROJECTION &&\n this.getProjection() &&\n projection &&\n !equivalent(this.getProjection(), projection)) {\n return false;\n }\n else {\n return _super.prototype.getOpaque.call(this, projection);\n }\n };\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {!import(\"../tilegrid/TileGrid.js\").default} Tile grid.\n */\n TileImage.prototype.getTileGridForProjection = function (projection) {\n if (!ENABLE_RASTER_REPROJECTION) {\n return _super.prototype.getTileGridForProjection.call(this, projection);\n }\n var thisProj = this.getProjection();\n if (this.tileGrid && (!thisProj || equivalent(thisProj, projection))) {\n return this.tileGrid;\n }\n else {\n var projKey = getUid(projection);\n if (!(projKey in this.tileGridForProjection)) {\n this.tileGridForProjection[projKey] =\n getTileGridForProjection(projection);\n }\n return this.tileGridForProjection[projKey];\n }\n };\n /**\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {import(\"../TileCache.js\").default} Tile cache.\n */\n TileImage.prototype.getTileCacheForProjection = function (projection) {\n if (!ENABLE_RASTER_REPROJECTION) {\n return _super.prototype.getTileCacheForProjection.call(this, projection);\n }\n var thisProj = this.getProjection();\n if (!thisProj || equivalent(thisProj, projection)) {\n return this.tileCache;\n }\n else {\n var projKey = getUid(projection);\n if (!(projKey in this.tileCacheForProjection)) {\n this.tileCacheForProjection[projKey] = new TileCache(this.tileCache.highWaterMark);\n }\n return this.tileCacheForProjection[projKey];\n }\n };\n /**\n * @param {number} z Tile coordinate z.\n * @param {number} x Tile coordinate x.\n * @param {number} y Tile coordinate y.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @param {string} key The key set on the tile.\n * @return {!ImageTile} Tile.\n * @private\n */\n TileImage.prototype.createTile_ = function (z, x, y, pixelRatio, projection, key) {\n var tileCoord = [z, x, y];\n var urlTileCoord = this.getTileCoordForTileUrlFunction(tileCoord, projection);\n var tileUrl = urlTileCoord\n ? this.tileUrlFunction(urlTileCoord, pixelRatio, projection)\n : undefined;\n var tile = new this.tileClass(tileCoord, tileUrl !== undefined ? TileState.IDLE : TileState.EMPTY, tileUrl !== undefined ? tileUrl : '', this.crossOrigin, this.tileLoadFunction, this.tileOptions);\n tile.key = key;\n tile.addEventListener(EventType.CHANGE, this.handleTileChange.bind(this));\n return tile;\n };\n /**\n * @param {number} z Tile coordinate z.\n * @param {number} x Tile coordinate x.\n * @param {number} y Tile coordinate y.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"../proj/Projection.js\").default} projection Projection.\n * @return {!(ImageTile|ReprojTile)} Tile.\n */\n TileImage.prototype.getTile = function (z, x, y, pixelRatio, projection) {\n var sourceProjection = this.getProjection();\n if (!ENABLE_RASTER_REPROJECTION ||\n !sourceProjection ||\n !projection ||\n equivalent(sourceProjection, projection)) {\n return this.getTileInternal(z, x, y, pixelRatio, sourceProjection || projection);\n }\n else {\n var cache = this.getTileCacheForProjection(projection);\n var tileCoord = [z, x, y];\n var tile = void 0;\n var tileCoordKey = getKey(tileCoord);\n if (cache.containsKey(tileCoordKey)) {\n tile = cache.get(tileCoordKey);\n }\n var key = this.getKey();\n if (tile && tile.key == key) {\n return tile;\n }\n else {\n var sourceTileGrid = this.getTileGridForProjection(sourceProjection);\n var targetTileGrid = this.getTileGridForProjection(projection);\n var wrappedTileCoord = this.getTileCoordForTileUrlFunction(tileCoord, projection);\n var newTile = new ReprojTile(sourceProjection, sourceTileGrid, projection, targetTileGrid, tileCoord, wrappedTileCoord, this.getTilePixelRatio(pixelRatio), this.getGutter(), function (z, x, y, pixelRatio) {\n return this.getTileInternal(z, x, y, pixelRatio, sourceProjection);\n }.bind(this), this.reprojectionErrorThreshold_, this.renderReprojectionEdges_, this.getInterpolate());\n newTile.key = key;\n if (tile) {\n newTile.interimTile = tile;\n newTile.refreshInterimChain();\n cache.replace(tileCoordKey, newTile);\n }\n else {\n cache.set(tileCoordKey, newTile);\n }\n return newTile;\n }\n }\n };\n /**\n * @param {number} z Tile coordinate z.\n * @param {number} x Tile coordinate x.\n * @param {number} y Tile coordinate y.\n * @param {number} pixelRatio Pixel ratio.\n * @param {!import(\"../proj/Projection.js\").default} projection Projection.\n * @return {!(ImageTile|ReprojTile)} Tile.\n * @protected\n */\n TileImage.prototype.getTileInternal = function (z, x, y, pixelRatio, projection) {\n var tile = null;\n var tileCoordKey = getKeyZXY(z, x, y);\n var key = this.getKey();\n if (!this.tileCache.containsKey(tileCoordKey)) {\n tile = this.createTile_(z, x, y, pixelRatio, projection, key);\n this.tileCache.set(tileCoordKey, tile);\n }\n else {\n tile = this.tileCache.get(tileCoordKey);\n if (tile.key != key) {\n // The source's params changed. If the tile has an interim tile and if we\n // can use it then we use it. Otherwise we create a new tile. In both\n // cases we attempt to assign an interim tile to the new tile.\n var interimTile = tile;\n tile = this.createTile_(z, x, y, pixelRatio, projection, key);\n //make the new tile the head of the list,\n if (interimTile.getState() == TileState.IDLE) {\n //the old tile hasn't begun loading yet, and is now outdated, so we can simply discard it\n tile.interimTile = interimTile.interimTile;\n }\n else {\n tile.interimTile = interimTile;\n }\n tile.refreshInterimChain();\n this.tileCache.replace(tileCoordKey, tile);\n }\n }\n return tile;\n };\n /**\n * Sets whether to render reprojection edges or not (usually for debugging).\n * @param {boolean} render Render the edges.\n * @api\n */\n TileImage.prototype.setRenderReprojectionEdges = function (render) {\n if (!ENABLE_RASTER_REPROJECTION ||\n this.renderReprojectionEdges_ == render) {\n return;\n }\n this.renderReprojectionEdges_ = render;\n for (var id in this.tileCacheForProjection) {\n this.tileCacheForProjection[id].clear();\n }\n this.changed();\n };\n /**\n * Sets the tile grid to use when reprojecting the tiles to the given\n * projection instead of the default tile grid for the projection.\n *\n * This can be useful when the default tile grid cannot be created\n * (e.g. projection has no extent defined) or\n * for optimization reasons (custom tile size, resolutions, ...).\n *\n * @param {import(\"../proj.js\").ProjectionLike} projection Projection.\n * @param {import(\"../tilegrid/TileGrid.js\").default} tilegrid Tile grid to use for the projection.\n * @api\n */\n TileImage.prototype.setTileGridForProjection = function (projection, tilegrid) {\n if (ENABLE_RASTER_REPROJECTION) {\n var proj = getProjection(projection);\n if (proj) {\n var projKey = getUid(proj);\n if (!(projKey in this.tileGridForProjection)) {\n this.tileGridForProjection[projKey] = tilegrid;\n }\n }\n }\n };\n return TileImage;\n}(UrlTile));\n/**\n * @param {ImageTile} imageTile Image tile.\n * @param {string} src Source.\n */\nfunction defaultTileLoadFunction(imageTile, src) {\n /** @type {HTMLImageElement|HTMLVideoElement} */ (imageTile.getImage()).src =\n src;\n}\nexport default TileImage;\n//# sourceMappingURL=TileImage.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard404.vue?vue&type=style&index=0&id=4781d9e4&prod&scoped=true&lang=less\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"water-data-table-overview\"},[_c('div',{staticClass:\"overview-table-row\"},[_c('div',{staticClass:\"overview-table\"},[_c('MeasurementObjectsSelectTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"updateSelectedRows\":() => {},\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled},on:{\"update:selected\":_vm.onUpdateMeasurementObject}})],1),_c('div',{staticClass:\"overview-table\"},[_c('GaugingTubesTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"projectCode\":_vm.projectCode,\"selectedMeasurementObject\":_vm.measurementObject,\"updateSelectedRows\":_vm.onUpdateGaugingTube,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1),_c('div',{staticClass:\"overview-table\"},[_c('FinishingsTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"projectCode\":_vm.projectCode,\"selectedMeasurementObject\":_vm.measurementObject,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1)]),_c('div',{staticClass:\"overview-table-row\"},[_c('div',{staticClass:\"overview-table\"},[_c('WaterSamplesTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"projectCode\":_vm.projectCode,\"selectedMeasurementObject\":_vm.measurementObject,\"selectedGaugingTube\":_vm.gaugingTube,\"updateSelectedRows\":_vm.onUpdateWaterSample,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings,\"sampleType\":\"Ground\"}})],1),_c('div',{staticClass:\"overview-table\"},[_c('BottlesTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"projectCode\":_vm.projectCode,\"selectedMeasurementObject\":_vm.measurementObject,\"selectedGaugingTube\":_vm.gaugingTube,\"selectedWaterSample\":_vm.waterSample,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./groundWaterDataTableOverview.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./groundWaterDataTableOverview.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./groundWaterDataTableOverview.vue?vue&type=template&id=3a4f08c2\"\nimport script from \"./groundWaterDataTableOverview.vue?vue&type=script&lang=js\"\nexport * from \"./groundWaterDataTableOverview.vue?vue&type=script&lang=js\"\nimport style0 from \"./groundWaterDataTableOverview.vue?vue&type=style&index=0&id=3a4f08c2&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAiVJREFUeJzt2EtuVFEMRdEi/IaGMjmIMhQ6GUxmAuJT3XRspKNbJvFa0un6PlV2K5cLAAAAAGs8N+ON+9Ps3dyncQsCWE4AywlgOQEsJ4DlBLCcAJYTwKzv1z0F+5h+gABm/bj0f4Nqn9MPEMAsASwngOUEsJwAlhPAcgJYTgChh+seg93d/pNfEEDo1yX7AT/c/pNfEEBIACEBzBJASAAhAcwSQEgAIQHMEkBIACEBzBJASAAhAcwSQEgAIQHMEkBIACEBzBJASAAhAcwSQOh0AF+uuw/W/X4CCJ0O4Gd4/1NzXwAhAYQEUBNA+sBhAggJoCaA9IHDBBASQE0A6QOHCSAkgJoA0gcOE0BIADUBpA8cJoCQAGoCSB84TAAhAdQEkD5wmABCAqgJIH3gMAGETgfw+x/eqPa+uS+AkABqAgjvC6AmgGYCEEBJACEB1AQQ3hdATQDNBCCAkgBCAqgJILwvgJoAmglAACUBhARQE0B4XwA1ATQTgABKAggJoCaA8L4AagJoJgABlAQQEkBNAOF9AdQE0EwAAigJICSAmgDC+wKoCaCZAARQEkBIADUBhPcFUBNAMwEIoCSAkABqAgjvC6AmgGYCeOUBPFz3GKx7P71/19z/Ft7vAv56+H7rdAD85wSwnACWE8ByAlhOAMsJYDkBLNcFcG9vetG/Ie31b/wDTAA2uPEPMAHY4MY/wARggxv/ABsO4NlWDwAAAIAN/gK/ARGATYJtKwAAAABJRU5ErkJggg==\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('TerraIndexDynamicTable',{attrs:{\"scrollingMode\":\"infinite\",\"tableData\":_vm.tableData,\"tableTitle\":_vm.$t('tableTitles.LocationVisits'),\"tableDataIdentifier\":_vm.tableIdentifier,\"tableCreateAction\":_vm.createTableAction,\"tableUpdateAction\":_vm.updateTableAction,\"tableDeleteAction\":_vm.deleteTableAction,\"tableColumns\":_vm.tableColumns,\"search-panel-enabled\":_vm.searchPanelEnabled,\"enable-column-chooser\":_vm.enableColumnChooser,\"tableName\":_vm.tableName,\"template\":_vm.template,\"settingName\":_vm.settingName,\"language\":_vm.language,\"excel-export-settings\":_vm.exportSettings}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./locationVisitsTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./locationVisitsTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./locationVisitsTable.vue?vue&type=template&id=379f4ba4\"\nimport script from \"./locationVisitsTable.vue?vue&type=script&lang=js\"\nexport * from \"./locationVisitsTable.vue?vue&type=script&lang=js\"\nimport style0 from \"./locationVisitsTable.vue?vue&type=style&index=0&id=379f4ba4&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * @module ol/geom/flat/closest\n */\nimport { lerp, squaredDistance as squaredDx } from '../../math.js';\n/**\n * Returns the point on the 2D line segment flatCoordinates[offset1] to\n * flatCoordinates[offset2] that is closest to the point (x, y). Extra\n * dimensions are linearly interpolated.\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset1 Offset 1.\n * @param {number} offset2 Offset 2.\n * @param {number} stride Stride.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {Array} closestPoint Closest point.\n */\nfunction assignClosest(flatCoordinates, offset1, offset2, stride, x, y, closestPoint) {\n var x1 = flatCoordinates[offset1];\n var y1 = flatCoordinates[offset1 + 1];\n var dx = flatCoordinates[offset2] - x1;\n var dy = flatCoordinates[offset2 + 1] - y1;\n var offset;\n if (dx === 0 && dy === 0) {\n offset = offset1;\n }\n else {\n var t = ((x - x1) * dx + (y - y1) * dy) / (dx * dx + dy * dy);\n if (t > 1) {\n offset = offset2;\n }\n else if (t > 0) {\n for (var i = 0; i < stride; ++i) {\n closestPoint[i] = lerp(flatCoordinates[offset1 + i], flatCoordinates[offset2 + i], t);\n }\n closestPoint.length = stride;\n return;\n }\n else {\n offset = offset1;\n }\n }\n for (var i = 0; i < stride; ++i) {\n closestPoint[i] = flatCoordinates[offset + i];\n }\n closestPoint.length = stride;\n}\n/**\n * Return the squared of the largest distance between any pair of consecutive\n * coordinates.\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} max Max squared delta.\n * @return {number} Max squared delta.\n */\nexport function maxSquaredDelta(flatCoordinates, offset, end, stride, max) {\n var x1 = flatCoordinates[offset];\n var y1 = flatCoordinates[offset + 1];\n for (offset += stride; offset < end; offset += stride) {\n var x2 = flatCoordinates[offset];\n var y2 = flatCoordinates[offset + 1];\n var squaredDelta = squaredDx(x1, y1, x2, y2);\n if (squaredDelta > max) {\n max = squaredDelta;\n }\n x1 = x2;\n y1 = y2;\n }\n return max;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {number} max Max squared delta.\n * @return {number} Max squared delta.\n */\nexport function arrayMaxSquaredDelta(flatCoordinates, offset, ends, stride, max) {\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n max = maxSquaredDelta(flatCoordinates, offset, end, stride, max);\n offset = end;\n }\n return max;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @param {number} max Max squared delta.\n * @return {number} Max squared delta.\n */\nexport function multiArrayMaxSquaredDelta(flatCoordinates, offset, endss, stride, max) {\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n max = arrayMaxSquaredDelta(flatCoordinates, offset, ends, stride, max);\n offset = ends[ends.length - 1];\n }\n return max;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} maxDelta Max delta.\n * @param {boolean} isRing Is ring.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {Array} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @param {Array} [opt_tmpPoint] Temporary point object.\n * @return {number} Minimum squared distance.\n */\nexport function assignClosestPoint(flatCoordinates, offset, end, stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, opt_tmpPoint) {\n if (offset == end) {\n return minSquaredDistance;\n }\n var i, squaredDistance;\n if (maxDelta === 0) {\n // All points are identical, so just test the first point.\n squaredDistance = squaredDx(x, y, flatCoordinates[offset], flatCoordinates[offset + 1]);\n if (squaredDistance < minSquaredDistance) {\n for (i = 0; i < stride; ++i) {\n closestPoint[i] = flatCoordinates[offset + i];\n }\n closestPoint.length = stride;\n return squaredDistance;\n }\n else {\n return minSquaredDistance;\n }\n }\n var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN];\n var index = offset + stride;\n while (index < end) {\n assignClosest(flatCoordinates, index - stride, index, stride, x, y, tmpPoint);\n squaredDistance = squaredDx(x, y, tmpPoint[0], tmpPoint[1]);\n if (squaredDistance < minSquaredDistance) {\n minSquaredDistance = squaredDistance;\n for (i = 0; i < stride; ++i) {\n closestPoint[i] = tmpPoint[i];\n }\n closestPoint.length = stride;\n index += stride;\n }\n else {\n // Skip ahead multiple points, because we know that all the skipped\n // points cannot be any closer than the closest point we have found so\n // far. We know this because we know how close the current point is, how\n // close the closest point we have found so far is, and the maximum\n // distance between consecutive points. For example, if we're currently\n // at distance 10, the best we've found so far is 3, and that the maximum\n // distance between consecutive points is 2, then we'll need to skip at\n // least (10 - 3) / 2 == 3 (rounded down) points to have any chance of\n // finding a closer point. We use Math.max(..., 1) to ensure that we\n // always advance at least one point, to avoid an infinite loop.\n index +=\n stride *\n Math.max(((Math.sqrt(squaredDistance) - Math.sqrt(minSquaredDistance)) /\n maxDelta) |\n 0, 1);\n }\n }\n if (isRing) {\n // Check the closing segment.\n assignClosest(flatCoordinates, end - stride, offset, stride, x, y, tmpPoint);\n squaredDistance = squaredDx(x, y, tmpPoint[0], tmpPoint[1]);\n if (squaredDistance < minSquaredDistance) {\n minSquaredDistance = squaredDistance;\n for (i = 0; i < stride; ++i) {\n closestPoint[i] = tmpPoint[i];\n }\n closestPoint.length = stride;\n }\n }\n return minSquaredDistance;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {number} maxDelta Max delta.\n * @param {boolean} isRing Is ring.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {Array} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @param {Array} [opt_tmpPoint] Temporary point object.\n * @return {number} Minimum squared distance.\n */\nexport function assignClosestArrayPoint(flatCoordinates, offset, ends, stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, opt_tmpPoint) {\n var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN];\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n minSquaredDistance = assignClosestPoint(flatCoordinates, offset, end, stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, tmpPoint);\n offset = end;\n }\n return minSquaredDistance;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @param {number} maxDelta Max delta.\n * @param {boolean} isRing Is ring.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {Array} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @param {Array} [opt_tmpPoint] Temporary point object.\n * @return {number} Minimum squared distance.\n */\nexport function assignClosestMultiArrayPoint(flatCoordinates, offset, endss, stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, opt_tmpPoint) {\n var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN];\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n minSquaredDistance = assignClosestArrayPoint(flatCoordinates, offset, ends, stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, tmpPoint);\n offset = ends[ends.length - 1];\n }\n return minSquaredDistance;\n}\n//# sourceMappingURL=closest.js.map","/*!\n * devextreme-vue\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DxSwitch = void 0;\nvar switch_1 = __importDefault(require(\"devextreme/ui/switch\"));\nvar index_1 = require(\"./core/index\");\nvar DxSwitch = (0, index_1.createComponent)({\n props: {\n accessKey: String,\n activeStateEnabled: Boolean,\n disabled: Boolean,\n elementAttr: Object,\n focusStateEnabled: Boolean,\n height: [Function, Number, String],\n hint: String,\n hoverStateEnabled: Boolean,\n isValid: Boolean,\n name: String,\n onContentReady: Function,\n onDisposing: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n onValueChanged: Function,\n readOnly: Boolean,\n rtlEnabled: Boolean,\n switchedOffText: String,\n switchedOnText: String,\n tabIndex: Number,\n validationError: {},\n validationErrors: Array,\n validationMessageMode: String,\n validationMessagePosition: String,\n validationStatus: String,\n value: Boolean,\n visible: Boolean,\n width: [Function, Number, String]\n },\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:disabled\": null,\n \"update:elementAttr\": null,\n \"update:focusStateEnabled\": null,\n \"update:height\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:isValid\": null,\n \"update:name\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:onValueChanged\": null,\n \"update:readOnly\": null,\n \"update:rtlEnabled\": null,\n \"update:switchedOffText\": null,\n \"update:switchedOnText\": null,\n \"update:tabIndex\": null,\n \"update:validationError\": null,\n \"update:validationErrors\": null,\n \"update:validationMessageMode\": null,\n \"update:validationMessagePosition\": null,\n \"update:validationStatus\": null,\n \"update:value\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n model: { prop: \"value\", event: \"update:value\" },\n computed: {\n instance: function () {\n return this.$_instance;\n }\n },\n beforeCreate: function () {\n this.$_WidgetClass = switch_1.default;\n this.$_hasAsyncTemplate = true;\n }\n});\nexports.DxSwitch = DxSwitch;\nexports.default = DxSwitch;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/geom/MultiPoint\n */\nimport Point from './Point.js';\nimport SimpleGeometry from './SimpleGeometry.js';\nimport { closestSquaredDistanceXY, containsXY } from '../extent.js';\nimport { deflateCoordinates } from './flat/deflate.js';\nimport { extend } from '../array.js';\nimport { inflateCoordinates } from './flat/inflate.js';\nimport { squaredDistance as squaredDx } from '../math.js';\n/**\n * @classdesc\n * Multi-point geometry.\n *\n * @api\n */\nvar MultiPoint = /** @class */ (function (_super) {\n __extends(MultiPoint, _super);\n /**\n * @param {Array|Array} coordinates Coordinates.\n * For internal use, flat coordinates in combination with `opt_layout` are also accepted.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n */\n function MultiPoint(coordinates, opt_layout) {\n var _this = _super.call(this) || this;\n if (opt_layout && !Array.isArray(coordinates[0])) {\n _this.setFlatCoordinates(opt_layout, \n /** @type {Array} */ (coordinates));\n }\n else {\n _this.setCoordinates(\n /** @type {Array} */ (coordinates), opt_layout);\n }\n return _this;\n }\n /**\n * Append the passed point to this multipoint.\n * @param {Point} point Point.\n * @api\n */\n MultiPoint.prototype.appendPoint = function (point) {\n if (!this.flatCoordinates) {\n this.flatCoordinates = point.getFlatCoordinates().slice();\n }\n else {\n extend(this.flatCoordinates, point.getFlatCoordinates());\n }\n this.changed();\n };\n /**\n * Make a complete copy of the geometry.\n * @return {!MultiPoint} Clone.\n * @api\n */\n MultiPoint.prototype.clone = function () {\n var multiPoint = new MultiPoint(this.flatCoordinates.slice(), this.layout);\n multiPoint.applyProperties(this);\n return multiPoint;\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../coordinate.js\").Coordinate} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @return {number} Minimum squared distance.\n */\n MultiPoint.prototype.closestPointXY = function (x, y, closestPoint, minSquaredDistance) {\n if (minSquaredDistance < closestSquaredDistanceXY(this.getExtent(), x, y)) {\n return minSquaredDistance;\n }\n var flatCoordinates = this.flatCoordinates;\n var stride = this.stride;\n for (var i = 0, ii = flatCoordinates.length; i < ii; i += stride) {\n var squaredDistance = squaredDx(x, y, flatCoordinates[i], flatCoordinates[i + 1]);\n if (squaredDistance < minSquaredDistance) {\n minSquaredDistance = squaredDistance;\n for (var j = 0; j < stride; ++j) {\n closestPoint[j] = flatCoordinates[i + j];\n }\n closestPoint.length = stride;\n }\n }\n return minSquaredDistance;\n };\n /**\n * Return the coordinates of the multipoint.\n * @return {Array} Coordinates.\n * @api\n */\n MultiPoint.prototype.getCoordinates = function () {\n return inflateCoordinates(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride);\n };\n /**\n * Return the point at the specified index.\n * @param {number} index Index.\n * @return {Point} Point.\n * @api\n */\n MultiPoint.prototype.getPoint = function (index) {\n var n = !this.flatCoordinates\n ? 0\n : this.flatCoordinates.length / this.stride;\n if (index < 0 || n <= index) {\n return null;\n }\n return new Point(this.flatCoordinates.slice(index * this.stride, (index + 1) * this.stride), this.layout);\n };\n /**\n * Return the points of this multipoint.\n * @return {Array} Points.\n * @api\n */\n MultiPoint.prototype.getPoints = function () {\n var flatCoordinates = this.flatCoordinates;\n var layout = this.layout;\n var stride = this.stride;\n /** @type {Array} */\n var points = [];\n for (var i = 0, ii = flatCoordinates.length; i < ii; i += stride) {\n var point = new Point(flatCoordinates.slice(i, i + stride), layout);\n points.push(point);\n }\n return points;\n };\n /**\n * Get the type of this geometry.\n * @return {import(\"./Geometry.js\").Type} Geometry type.\n * @api\n */\n MultiPoint.prototype.getType = function () {\n return 'MultiPoint';\n };\n /**\n * Test if the geometry and the passed extent intersect.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {boolean} `true` if the geometry and the extent intersect.\n * @api\n */\n MultiPoint.prototype.intersectsExtent = function (extent) {\n var flatCoordinates = this.flatCoordinates;\n var stride = this.stride;\n for (var i = 0, ii = flatCoordinates.length; i < ii; i += stride) {\n var x = flatCoordinates[i];\n var y = flatCoordinates[i + 1];\n if (containsXY(extent, x, y)) {\n return true;\n }\n }\n return false;\n };\n /**\n * Set the coordinates of the multipoint.\n * @param {!Array} coordinates Coordinates.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n * @api\n */\n MultiPoint.prototype.setCoordinates = function (coordinates, opt_layout) {\n this.setLayout(opt_layout, coordinates, 1);\n if (!this.flatCoordinates) {\n this.flatCoordinates = [];\n }\n this.flatCoordinates.length = deflateCoordinates(this.flatCoordinates, 0, coordinates, this.stride);\n this.changed();\n };\n return MultiPoint;\n}(SimpleGeometry));\nexport default MultiPoint;\n//# sourceMappingURL=MultiPoint.js.map","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./concernedContactsWidget.vue?vue&type=style&index=0&id=672af2b8&prod&scoped=true&lang=css\"","/**\n * @module ol/tileurlfunction\n */\nimport { assert } from './asserts.js';\nimport { modulo } from './math.js';\nimport { hash as tileCoordHash } from './tilecoord.js';\n/**\n * @param {string} template Template.\n * @param {import(\"./tilegrid/TileGrid.js\").default} tileGrid Tile grid.\n * @return {import(\"./Tile.js\").UrlFunction} Tile URL function.\n */\nexport function createFromTemplate(template, tileGrid) {\n var zRegEx = /\\{z\\}/g;\n var xRegEx = /\\{x\\}/g;\n var yRegEx = /\\{y\\}/g;\n var dashYRegEx = /\\{-y\\}/g;\n return (\n /**\n * @param {import(\"./tilecoord.js\").TileCoord} tileCoord Tile Coordinate.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"./proj/Projection.js\").default} projection Projection.\n * @return {string|undefined} Tile URL.\n */\n function (tileCoord, pixelRatio, projection) {\n if (!tileCoord) {\n return undefined;\n }\n else {\n return template\n .replace(zRegEx, tileCoord[0].toString())\n .replace(xRegEx, tileCoord[1].toString())\n .replace(yRegEx, tileCoord[2].toString())\n .replace(dashYRegEx, function () {\n var z = tileCoord[0];\n var range = tileGrid.getFullTileRange(z);\n assert(range, 55); // The {-y} placeholder requires a tile grid with extent\n var y = range.getHeight() - tileCoord[2] - 1;\n return y.toString();\n });\n }\n });\n}\n/**\n * @param {Array} templates Templates.\n * @param {import(\"./tilegrid/TileGrid.js\").default} tileGrid Tile grid.\n * @return {import(\"./Tile.js\").UrlFunction} Tile URL function.\n */\nexport function createFromTemplates(templates, tileGrid) {\n var len = templates.length;\n var tileUrlFunctions = new Array(len);\n for (var i = 0; i < len; ++i) {\n tileUrlFunctions[i] = createFromTemplate(templates[i], tileGrid);\n }\n return createFromTileUrlFunctions(tileUrlFunctions);\n}\n/**\n * @param {Array} tileUrlFunctions Tile URL Functions.\n * @return {import(\"./Tile.js\").UrlFunction} Tile URL function.\n */\nexport function createFromTileUrlFunctions(tileUrlFunctions) {\n if (tileUrlFunctions.length === 1) {\n return tileUrlFunctions[0];\n }\n return (\n /**\n * @param {import(\"./tilecoord.js\").TileCoord} tileCoord Tile Coordinate.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"./proj/Projection.js\").default} projection Projection.\n * @return {string|undefined} Tile URL.\n */\n function (tileCoord, pixelRatio, projection) {\n if (!tileCoord) {\n return undefined;\n }\n else {\n var h = tileCoordHash(tileCoord);\n var index = modulo(h, tileUrlFunctions.length);\n return tileUrlFunctions[index](tileCoord, pixelRatio, projection);\n }\n });\n}\n/**\n * @param {import(\"./tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {number} pixelRatio Pixel ratio.\n * @param {import(\"./proj/Projection.js\").default} projection Projection.\n * @return {string|undefined} Tile URL.\n */\nexport function nullTileUrlFunction(tileCoord, pixelRatio, projection) {\n return undefined;\n}\n/**\n * @param {string} url URL.\n * @return {Array} Array of urls.\n */\nexport function expandUrl(url) {\n var urls = [];\n var match = /\\{([a-z])-([a-z])\\}/.exec(url);\n if (match) {\n // char range\n var startCharCode = match[1].charCodeAt(0);\n var stopCharCode = match[2].charCodeAt(0);\n var charCode = void 0;\n for (charCode = startCharCode; charCode <= stopCharCode; ++charCode) {\n urls.push(url.replace(match[0], String.fromCharCode(charCode)));\n }\n return urls;\n }\n match = /\\{(\\d+)-(\\d+)\\}/.exec(url);\n if (match) {\n // number range\n var stop_1 = parseInt(match[2], 10);\n for (var i = parseInt(match[1], 10); i <= stop_1; i++) {\n urls.push(url.replace(match[0], i.toString()));\n }\n return urls;\n }\n urls.push(url);\n return urls;\n}\n//# sourceMappingURL=tileurlfunction.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/control/ScaleLine\n */\nimport Control from './Control.js';\nimport ProjUnits from '../proj/Units.js';\nimport { CLASS_UNSELECTABLE } from '../css.js';\nimport { METERS_PER_UNIT, getPointResolution } from '../proj.js';\nimport { assert } from '../asserts.js';\n/**\n * @type {string}\n */\nvar UNITS_PROP = 'units';\n/**\n * Units for the scale line. Supported values are `'degrees'`, `'imperial'`,\n * `'nautical'`, `'metric'`, `'us'`.\n * @enum {string}\n */\nexport var Units = {\n DEGREES: 'degrees',\n IMPERIAL: 'imperial',\n NAUTICAL: 'nautical',\n METRIC: 'metric',\n US: 'us',\n};\n/**\n * @const\n * @type {Array}\n */\nvar LEADING_DIGITS = [1, 2, 5];\n/**\n * @const\n * @type {number}\n */\nvar DEFAULT_DPI = 25.4 / 0.28;\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").CombinedOnSignature} ScaleLineOnSignature\n */\n/**\n * @typedef {Object} Options\n * @property {string} [className='ol-scale-line'] CSS Class name.\n * @property {number} [minWidth=64] Minimum width in pixels at the OGC default dpi. The width will be\n * adjusted to match the dpi used.\n * @property {number} [maxWidth] Maximum width in pixels at the OGC default dpi. The width will be\n * adjusted to match the dpi used.\n * @property {function(import(\"../MapEvent.js\").default):void} [render] Function called when the control\n * should be re-rendered. This is called in a `requestAnimationFrame` callback.\n * @property {HTMLElement|string} [target] Specify a target if you want the control\n * to be rendered outside of the map's viewport.\n * @property {import(\"./ScaleLine.js\").Units|string} [units='metric'] Units.\n * @property {boolean} [bar=false] Render scalebars instead of a line.\n * @property {number} [steps=4] Number of steps the scalebar should use. Use even numbers\n * for best results. Only applies when `bar` is `true`.\n * @property {boolean} [text=false] Render the text scale above of the scalebar. Only applies\n * when `bar` is `true`.\n * @property {number|undefined} [dpi=undefined] dpi of output device such as printer. Only applies\n * when `bar` is `true`. If undefined the OGC default screen pixel size of 0.28mm will be assumed.\n */\n/**\n * @classdesc\n * A control displaying rough y-axis distances, calculated for the center of the\n * viewport. For conformal projections (e.g. EPSG:3857, the default view\n * projection in OpenLayers), the scale is valid for all directions.\n * No scale line will be shown when the y-axis distance of a pixel at the\n * viewport center cannot be calculated in the view projection.\n * By default the scale line will show in the bottom left portion of the map,\n * but this can be changed by using the css selector `.ol-scale-line`.\n * When specifying `bar` as `true`, a scalebar will be rendered instead\n * of a scaleline.\n *\n * @api\n */\nvar ScaleLine = /** @class */ (function (_super) {\n __extends(ScaleLine, _super);\n /**\n * @param {Options} [opt_options] Scale line options.\n */\n function ScaleLine(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n var className = options.className !== undefined\n ? options.className\n : options.bar\n ? 'ol-scale-bar'\n : 'ol-scale-line';\n _this = _super.call(this, {\n element: document.createElement('div'),\n render: options.render,\n target: options.target,\n }) || this;\n /***\n * @type {ScaleLineOnSignature}\n */\n _this.on;\n /***\n * @type {ScaleLineOnSignature}\n */\n _this.once;\n /***\n * @type {ScaleLineOnSignature}\n */\n _this.un;\n /**\n * @private\n * @type {HTMLElement}\n */\n _this.innerElement_ = document.createElement('div');\n _this.innerElement_.className = className + '-inner';\n _this.element.className = className + ' ' + CLASS_UNSELECTABLE;\n _this.element.appendChild(_this.innerElement_);\n /**\n * @private\n * @type {?import(\"../View.js\").State}\n */\n _this.viewState_ = null;\n /**\n * @private\n * @type {number}\n */\n _this.minWidth_ = options.minWidth !== undefined ? options.minWidth : 64;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.maxWidth_ = options.maxWidth;\n /**\n * @private\n * @type {boolean}\n */\n _this.renderedVisible_ = false;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.renderedWidth_ = undefined;\n /**\n * @private\n * @type {string}\n */\n _this.renderedHTML_ = '';\n _this.addChangeListener(UNITS_PROP, _this.handleUnitsChanged_);\n _this.setUnits(options.units || Units.METRIC);\n /**\n * @private\n * @type {boolean}\n */\n _this.scaleBar_ = options.bar || false;\n /**\n * @private\n * @type {number}\n */\n _this.scaleBarSteps_ = options.steps || 4;\n /**\n * @private\n * @type {boolean}\n */\n _this.scaleBarText_ = options.text || false;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.dpi_ = options.dpi || undefined;\n return _this;\n }\n /**\n * Return the units to use in the scale line.\n * @return {import(\"./ScaleLine.js\").Units} The units\n * to use in the scale line.\n * @observable\n * @api\n */\n ScaleLine.prototype.getUnits = function () {\n return this.get(UNITS_PROP);\n };\n /**\n * @private\n */\n ScaleLine.prototype.handleUnitsChanged_ = function () {\n this.updateElement_();\n };\n /**\n * Set the units to use in the scale line.\n * @param {import(\"./ScaleLine.js\").Units} units The units to use in the scale line.\n * @observable\n * @api\n */\n ScaleLine.prototype.setUnits = function (units) {\n this.set(UNITS_PROP, units);\n };\n /**\n * Specify the dpi of output device such as printer.\n * @param {number|undefined} dpi The dpi of output device.\n * @api\n */\n ScaleLine.prototype.setDpi = function (dpi) {\n this.dpi_ = dpi;\n };\n /**\n * @private\n */\n ScaleLine.prototype.updateElement_ = function () {\n var viewState = this.viewState_;\n if (!viewState) {\n if (this.renderedVisible_) {\n this.element.style.display = 'none';\n this.renderedVisible_ = false;\n }\n return;\n }\n var center = viewState.center;\n var projection = viewState.projection;\n var units = this.getUnits();\n var pointResolutionUnits = units == Units.DEGREES ? ProjUnits.DEGREES : ProjUnits.METERS;\n var pointResolution = getPointResolution(projection, viewState.resolution, center, pointResolutionUnits);\n var minWidth = (this.minWidth_ * (this.dpi_ || DEFAULT_DPI)) / DEFAULT_DPI;\n var maxWidth = this.maxWidth_ !== undefined\n ? (this.maxWidth_ * (this.dpi_ || DEFAULT_DPI)) / DEFAULT_DPI\n : undefined;\n var nominalCount = minWidth * pointResolution;\n var suffix = '';\n if (units == Units.DEGREES) {\n var metersPerDegree = METERS_PER_UNIT[ProjUnits.DEGREES];\n nominalCount *= metersPerDegree;\n if (nominalCount < metersPerDegree / 60) {\n suffix = '\\u2033'; // seconds\n pointResolution *= 3600;\n }\n else if (nominalCount < metersPerDegree) {\n suffix = '\\u2032'; // minutes\n pointResolution *= 60;\n }\n else {\n suffix = '\\u00b0'; // degrees\n }\n }\n else if (units == Units.IMPERIAL) {\n if (nominalCount < 0.9144) {\n suffix = 'in';\n pointResolution /= 0.0254;\n }\n else if (nominalCount < 1609.344) {\n suffix = 'ft';\n pointResolution /= 0.3048;\n }\n else {\n suffix = 'mi';\n pointResolution /= 1609.344;\n }\n }\n else if (units == Units.NAUTICAL) {\n pointResolution /= 1852;\n suffix = 'NM';\n }\n else if (units == Units.METRIC) {\n if (nominalCount < 0.001) {\n suffix = 'μm';\n pointResolution *= 1000000;\n }\n else if (nominalCount < 1) {\n suffix = 'mm';\n pointResolution *= 1000;\n }\n else if (nominalCount < 1000) {\n suffix = 'm';\n }\n else {\n suffix = 'km';\n pointResolution /= 1000;\n }\n }\n else if (units == Units.US) {\n if (nominalCount < 0.9144) {\n suffix = 'in';\n pointResolution *= 39.37;\n }\n else if (nominalCount < 1609.344) {\n suffix = 'ft';\n pointResolution /= 0.30480061;\n }\n else {\n suffix = 'mi';\n pointResolution /= 1609.3472;\n }\n }\n else {\n assert(false, 33); // Invalid units\n }\n var i = 3 * Math.floor(Math.log(minWidth * pointResolution) / Math.log(10));\n var count, width, decimalCount;\n var previousCount, previousWidth, previousDecimalCount;\n while (true) {\n decimalCount = Math.floor(i / 3);\n var decimal = Math.pow(10, decimalCount);\n count = LEADING_DIGITS[((i % 3) + 3) % 3] * decimal;\n width = Math.round(count / pointResolution);\n if (isNaN(width)) {\n this.element.style.display = 'none';\n this.renderedVisible_ = false;\n return;\n }\n if (maxWidth !== undefined && width >= maxWidth) {\n count = previousCount;\n width = previousWidth;\n decimalCount = previousDecimalCount;\n break;\n }\n else if (width >= minWidth) {\n break;\n }\n previousCount = count;\n previousWidth = width;\n previousDecimalCount = decimalCount;\n ++i;\n }\n var html;\n if (this.scaleBar_) {\n html = this.createScaleBar(width, count, suffix);\n }\n else {\n html = count.toFixed(decimalCount < 0 ? -decimalCount : 0) + ' ' + suffix;\n }\n if (this.renderedHTML_ != html) {\n this.innerElement_.innerHTML = html;\n this.renderedHTML_ = html;\n }\n if (this.renderedWidth_ != width) {\n this.innerElement_.style.width = width + 'px';\n this.renderedWidth_ = width;\n }\n if (!this.renderedVisible_) {\n this.element.style.display = '';\n this.renderedVisible_ = true;\n }\n };\n /**\n * @private\n * @param {number} width The current width of the scalebar.\n * @param {number} scale The current scale.\n * @param {string} suffix The suffix to append to the scale text.\n * @return {string} The stringified HTML of the scalebar.\n */\n ScaleLine.prototype.createScaleBar = function (width, scale, suffix) {\n var mapScale = '1 : ' + Math.round(this.getScaleForResolution()).toLocaleString();\n var scaleSteps = [];\n var stepWidth = width / this.scaleBarSteps_;\n var backgroundColor = 'ol-scale-singlebar-odd';\n for (var i = 0; i < this.scaleBarSteps_; i++) {\n if (i === 0) {\n // create the first marker at position 0\n scaleSteps.push(this.createMarker('absolute', i));\n }\n scaleSteps.push('
' +\n '
' +\n '
' +\n this.createMarker('relative', i) +\n /*render text every second step, except when only 2 steps */\n (i % 2 === 0 || this.scaleBarSteps_ === 2\n ? this.createStepText(i, width, false, scale, suffix)\n : '') +\n '
');\n if (i === this.scaleBarSteps_ - 1) {\n {\n /*render text at the end */\n }\n scaleSteps.push(this.createStepText(i + 1, width, true, scale, suffix));\n }\n // switch style of steps\n backgroundColor =\n backgroundColor === 'ol-scale-singlebar-odd'\n ? 'ol-scale-singlebar-even'\n : 'ol-scale-singlebar-odd';\n }\n var scaleBarText;\n if (this.scaleBarText_) {\n scaleBarText =\n '
' +\n mapScale +\n '
';\n }\n else {\n scaleBarText = '';\n }\n var container = '
' +\n scaleBarText +\n scaleSteps.join('') +\n '
';\n return container;\n };\n /**\n * Creates a marker at given position\n * @param {string} position The position, absolute or relative\n * @param {number} i The iterator\n * @return {string} The stringified div containing the marker\n */\n ScaleLine.prototype.createMarker = function (position, i) {\n var top = position === 'absolute' ? 3 : -10;\n return ('
');\n };\n /**\n * Creates the label for a marker marker at given position\n * @param {number} i The iterator\n * @param {number} width The width the scalebar will currently use\n * @param {boolean} isLast Flag indicating if we add the last step text\n * @param {number} scale The current scale for the whole scalebar\n * @param {string} suffix The suffix for the scale\n * @return {string} The stringified div containing the step text\n */\n ScaleLine.prototype.createStepText = function (i, width, isLast, scale, suffix) {\n var length = i === 0 ? 0 : Math.round((scale / this.scaleBarSteps_) * i * 100) / 100;\n var lengthString = length + (i === 0 ? '' : ' ' + suffix);\n var margin = i === 0 ? -3 : (width / this.scaleBarSteps_) * -1;\n var minWidth = i === 0 ? 0 : (width / this.scaleBarSteps_) * 2;\n return ('
' +\n lengthString +\n '
');\n };\n /**\n * Returns the appropriate scale for the given resolution and units.\n * @return {number} The appropriate scale.\n */\n ScaleLine.prototype.getScaleForResolution = function () {\n var resolution = getPointResolution(this.viewState_.projection, this.viewState_.resolution, this.viewState_.center, ProjUnits.METERS);\n var dpi = this.dpi_ || DEFAULT_DPI;\n var inchesPerMeter = 1000 / 25.4;\n return parseFloat(resolution.toString()) * inchesPerMeter * dpi;\n };\n /**\n * Update the scale line element.\n * @param {import(\"../MapEvent.js\").default} mapEvent Map event.\n * @override\n */\n ScaleLine.prototype.render = function (mapEvent) {\n var frameState = mapEvent.frameState;\n if (!frameState) {\n this.viewState_ = null;\n }\n else {\n this.viewState_ = frameState.viewState;\n }\n this.updateElement_();\n };\n return ScaleLine;\n}(Control));\nexport default ScaleLine;\n//# sourceMappingURL=ScaleLine.js.map","\"use strict\";\r\n/**\r\n * dd-base-impl.ts 7.3.0\r\n * Copyright (c) 2021-2022 Alain Dumesny - see GridStack root license\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DDBaseImplement = void 0;\r\nclass DDBaseImplement {\r\n constructor() {\r\n /** @internal */\r\n this._eventRegister = {};\r\n }\r\n /** returns the enable state, but you have to call enable()/disable() to change (as other things need to happen) */\r\n get disabled() { return this._disabled; }\r\n on(event, callback) {\r\n this._eventRegister[event] = callback;\r\n }\r\n off(event) {\r\n delete this._eventRegister[event];\r\n }\r\n enable() {\r\n this._disabled = false;\r\n }\r\n disable() {\r\n this._disabled = true;\r\n }\r\n destroy() {\r\n delete this._eventRegister;\r\n }\r\n triggerEvent(eventName, event) {\r\n if (!this.disabled && this._eventRegister && this._eventRegister[eventName])\r\n return this._eventRegister[eventName](event);\r\n }\r\n}\r\nexports.DDBaseImplement = DDBaseImplement;\r\n//# sourceMappingURL=dd-base-impl.js.map","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('TerraIndexDynamicTable',{ref:\"TerraIndexDynamicTable\",attrs:{\"scrollingMode\":\"infinite\",\"tableData\":_vm.tableData,\"tableTitle\":_vm.$t('label.Measurementpoints'),\"tableDataIdentifier\":_vm.tableIdentifier,\"tableCreateAction\":_vm.createTableRowAction,\"tableUpdateAction\":_vm.updateTableRowAction,\"tableDeleteAction\":_vm.deleteTableRowAction,\"tableColumns\":_vm.tableColumns,\"tableName\":_vm.tableName,\"template\":_vm.template,\"settingName\":_vm.settingName,\"language\":_vm.language,\"excelExportSettings\":_vm.exportSettings,\"enableColumnChooser\":_vm.enableColumnChooser,\"search-panel-enabled\":_vm.searchPanelEnabled,\"enableKeyboardNavigation\":true,\"focusedRowEnabled\":true,\"state-storing\":{},\"defaultSelectedRowIndex\":0,\"selectedRowKeyFromParent\":_vm.mpGuid,\"hasSaveAndRevertButtons\":false,\"searchPanelWidth\":100,\"onRowClick\":_vm.onRowClick},on:{\"updateSelectedRows\":_vm.onUpdateRow}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./measurementObjectsSelectTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./measurementObjectsSelectTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./measurementObjectsSelectTable.vue?vue&type=template&id=2b929cf8\"\nimport script from \"./measurementObjectsSelectTable.vue?vue&type=script&lang=js\"\nexport * from \"./measurementObjectsSelectTable.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('TerraIndexDynamicTable',{ref:\"terraIndexDynamicTable\",attrs:{\"tableData\":_vm.tableData,\"tableTitle\":_vm.$t('label.Measurementpoints'),\"tableDataIdentifier\":_vm.tableIdentifier,\"tableCreateAction\":_vm.createTableRowAction,\"tableUpdateAction\":_vm.updateTableRowAction,\"tableDeleteAction\":_vm.deleteTableRowAction,\"tableGroupingAction\":_vm.groupTableAction,\"tableColumns\":_vm.tableColumns,\"tableName\":_vm.tableName,\"template\":_vm.template,\"settingName\":_vm.settingName,\"language\":_vm.language,\"excelExportSettings\":_vm.exportSettings,\"enableColumnChooser\":true,\"onRowValidating\":_vm.customRowValidation,\"stateStoring\":{},\"defaultSelectedRowIndex\":0,\"selectedRowKeyFromParent\":_vm.mpGuid,\"additionalHeaderButtons\":_vm.additionalHeaderButtons,\"tableMultiUpdateAction\":_vm.multiUpdateTableRowAction,\"useMultiSelect\":true,\"isLoading\":_vm.isLoading,\"onRowClick\":_vm.onRowClick,\"projectId\":_vm.projectId,\"isValidRequest\":_vm.isValidRequest,\"hasMapButton\":true},on:{\"openMap\":_vm.openMap,\"updateSelectedRows\":_vm.onUpdateSelectedRows,\"refreshTableData\":_vm.refreshTableData}}),_c('TiDialog',{ref:\"copyMoveSettingsDialog\"},[_c('MeasurementObjectsCopyMoveSettingsDialog')],1),_c('TiDialog',{ref:\"selectProjectDialog\"},[_c('ProjectSelectDialog')],1),_c('BasePopup',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.createWaterSamplesDialogOpen),expression:\"createWaterSamplesDialogOpen\"}],attrs:{\"popupOpen\":_vm.createWaterSamplesDialogOpen,\"popupTitle\":_vm.$t('createWaterSamplesDialog.createWaterSamples'),\"popupSubTitle\":_vm.projectCode,\"rightFooterButtonText\":_vm.$t('createWaterSamplesDialog.create'),\"rightFooterButtonIcon\":\"fas fa-plus\",\"rightFooterButtonActive\":_vm.createWaterSamplesFromSelectedFilterTubesButtonActive,\"rightFooterText\":_vm.createWaterSamplesDialogRightFooterText},on:{\"closeButtonClicked\":_vm.onCreateWaterSamplesDialogCloseButtonClicked,\"rightButtonClicked\":function($event){return _vm.createWaterSamplesDialog.createWaterSamplesForSelectedFilterTubes()}}},[_c('CreateWaterSamplesDialog',{ref:\"createWaterSamplesDialog\",attrs:{\"projectId\":_vm.projectId,\"projectCode\":_vm.projectCode,\"selectedMeasurementPointsWithAtLeastOneFilterTube\":_vm.selectedMeasurementPointsWithAtLeastOneFilterTube},on:{\"numberOfSelectedRowsChanged\":_vm.onAmountOfSelectedFilterTubesChanged,\"waterSamplesCreated\":function($event){_vm.createWaterSamplesDialogOpen = false}}})],1),_c('Transition',[(_vm.showMap)?_c('div',{staticClass:\"map-container\"},[_c('div',{staticClass:\"mapBar\"},[_c('div',{staticClass:\"close-map\",on:{\"click\":function($event){_vm.showMap = false}}},[_c('span',{staticClass:\"glyphicon glyphicon-chevron-right\"})])]),_c('open-layers',{attrs:{\"showActionButtons\":false},on:{\"selectRow\":_vm.selectNewRow}})],1):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"create-water-samples-dialog-container\"},[_c('div',{staticClass:\"create-water-samples-dialog-header\"},[_c('div',{staticClass:\"create-water-samples-dialog-header-text\"},[_vm._v(\" \"+_vm._s(_vm.$t('createWaterSamplesDialog.filterTubesWithinMeasurementPoints'))+\" \")]),_c('div',{staticClass:\"matrix-selection-field-container\"},[_c('div',{staticClass:\"matrix-selection-field-label\"},[_vm._v(\" \"+_vm._s(_vm.$t('createWaterSamplesDialog.sampleMatrix'))+\" \")]),_c('DxSelectBox',{attrs:{\"valueExpr\":'value',\"displayExpr\":'text',\"dataSource\":_vm.waterSampleMatrixOptions},model:{value:(_vm.waterSampleMatrixCode),callback:function ($$v) {_vm.waterSampleMatrixCode=$$v},expression:\"waterSampleMatrixCode\"}})],1)]),_c('div',{staticClass:\"filter-tube-table-container\"},[(_vm.filterTubeTableData.length > 0)?_c('DxDataGrid',{ref:\"filterTubeTable\",attrs:{\"dataSource\":_vm.filterTubeTableData,\"height\":\"100%\",\"keyExpr\":\"FtGuid\",\"showBorders\":true,\"rowAlternationEnabled\":true},on:{\"selectionChanged\":_vm.onSelectionChanged}},[_c('DxHeaderFilter',{attrs:{\"visible\":true}}),_c('DxSelection',{attrs:{\"showCheckBoxesMode\":\"always\",\"mode\":\"multiple\",\"selectAllMode\":\"all-pages\"}}),_c('DxPaging',{attrs:{\"enabled\":false}}),_c('DxScrolling',{attrs:{\"mode\":\"standard\",\"rowRenderingMode\":\"standard\"}}),_c('DxColumn',{attrs:{\"dataField\":\"MpName\",\"caption\":_vm.$t('project.MeasurementPointName')}}),_c('DxColumn',{attrs:{\"dataField\":\"FtName\",\"caption\":_vm.$t('project.GaugingTubeName')}}),_c('DxColumn',{attrs:{\"dataField\":\"FtFilterFrom\",\"caption\":_vm.$t('project.GaugingTubeFrom')}}),_c('DxColumn',{attrs:{\"dataField\":\"FtFilterTo\",\"caption\":_vm.$t('project.GaugingTubeTo')}})],1):_vm._e()],1),_c('BasePopup',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showConfirmationPopup),expression:\"showConfirmationPopup\"}],attrs:{\"popupOpen\":_vm.showConfirmationPopup,\"popupTitle\":_vm.$t('createWaterSamplesDialog.createWaterSamples'),\"popupSubTitle\":_vm.projectCode,\"rightFooterButtonText\":_vm.$t('createWaterSamplesDialog.create'),\"rightFooterButtonIcon\":\"fas fa-plus\",\"rightFooterButtonActive\":!_vm.isCreatingWaterSamples,\"leftFooterButtonText\":_vm.$t('label.back'),\"leftFooterButtonIcon\":\"fas fa-chevron-left\",\"leftFooterButtonActive\":!_vm.isCreatingWaterSamples,\"canClose\":!_vm.isCreatingWaterSamples},on:{\"leftButtonClicked\":function($event){_vm.showConfirmationPopup = !_vm.showConfirmationPopup},\"rightButtonClicked\":_vm.onCreateWaterSamplesConfirmed,\"closeButtonClicked\":function($event){_vm.showConfirmationPopup = !_vm.showConfirmationPopup}}},[[(!_vm.isCreatingWaterSamples)?_c('div',{staticClass:\"confirmation-box\"},[_c('font-awesome-icon',{staticClass:\"warning-icon\",attrs:{\"icon\":\"fas fa-exclamation-triangle\"}}),_c('div',{staticClass:\"confirmation-text\"},[_vm._v(\" \"+_vm._s(_vm.$t('createWaterSamplesDialog.createConfirmation', { 0: _vm.selectedFilterTubeRows.length }))+\" \")])],1):_c('div',{staticClass:\"confirmation-box\"},[_c('font-awesome-icon',{staticClass:\"spinner-icon\",attrs:{\"icon\":\"fas fa-spinner\"}}),_c('div',{staticClass:\"confirmation-text\"},[_vm._v(\" \"+_vm._s(_vm.$t('createWaterSamplesDialog.creatingWaterSamples', { 0: _vm.amountOfWaterSamplesCreated, 1: _vm.amountOfWaterSamplesToCreate }))+\" \")])],1)]],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createWaterSamplesDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createWaterSamplesDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./createWaterSamplesDialog.vue?vue&type=template&id=709a96ba\"\nimport script from \"./createWaterSamplesDialog.vue?vue&type=script&lang=js\"\nexport * from \"./createWaterSamplesDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./createWaterSamplesDialog.vue?vue&type=style&index=0&id=709a96ba&prod&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./measurementObjectsTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./measurementObjectsTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./measurementObjectsTable.vue?vue&type=template&id=828059c0&scoped=true\"\nimport script from \"./measurementObjectsTable.vue?vue&type=script&lang=js\"\nexport * from \"./measurementObjectsTable.vue?vue&type=script&lang=js\"\nimport style0 from \"./measurementObjectsTable.vue?vue&type=style&index=0&id=828059c0&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"828059c0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('TerraIndexDynamicTable',{key:_vm.selectedMeasurementObject.MpGuid,attrs:{\"tableData\":_vm.tableData,\"tableTitle\":_vm.$t('label.gaugingTubes'),\"tableDataIdentifier\":_vm.tableIdentifier,\"tableCreateAction\":_vm.createTableRowAction,\"tableUpdateAction\":_vm.updateTableRowAction,\"tableDeleteAction\":_vm.deleteTableRowAction,\"tableColumns\":_vm.tableColumns,\"tableName\":_vm.tableName,\"template\":_vm.template,\"settingName\":_vm.settingName,\"language\":_vm.language,\"excelExportSettings\":_vm.exportSettings,\"enableColumnChooser\":_vm.enableColumnChooser,\"search-panel-enabled\":_vm.searchPanelEnabled,\"state-storing\":{},\"defaultSelectedRowIndex\":0,\"tableMultiUpdateAction\":_vm.multiUpdateTableRowAction,\"useMultiSelect\":true,\"projectId\":_vm.projectId,\"isValidRequest\":_vm.isValidRequest,\"onRowValidating\":_vm.customRowValidation,\"scrollingMode\":\"infinite\"},on:{\"refreshTableData\":_vm.refreshTableData,\"updateSelectedRows\":_vm.updateSelectedRows}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./gaugingTubesTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./gaugingTubesTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./gaugingTubesTable.vue?vue&type=template&id=d780946e\"\nimport script from \"./gaugingTubesTable.vue?vue&type=script&lang=js\"\nexport * from \"./gaugingTubesTable.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('TerraIndexDynamicTable',{attrs:{\"scrollingMode\":\"infinite\",\"tableData\":_vm.tableData,\"tableTitle\":_vm.$t('label.finishings'),\"tableDataIdentifier\":_vm.tableIdentifier,\"tableCreateAction\":_vm.createTableRowAction,\"tableUpdateAction\":_vm.updateTableRowAction,\"tableDeleteAction\":_vm.deleteTableRowAction,\"tableColumns\":_vm.tableColumns,\"tableName\":_vm.tableName,\"template\":_vm.template,\"settingName\":_vm.settingName,\"language\":_vm.language,\"excelExportSettings\":_vm.exportSettings,\"enableColumnChooser\":_vm.enableColumnChooser,\"search-panel-enabled\":_vm.searchPanelEnabled,\"on-row-validating\":_vm.customRowValidation,\"state-storing\":{},\"defaultSelectedRowIndex\":0,\"tableMultiUpdateAction\":_vm.multiUpdateTableRowAction,\"useMultiSelect\":true,\"projectId\":_vm.projectId,\"isValidRequest\":_vm.isValidRequest},on:{\"refreshTableData\":_vm.refreshTableData}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./finishingsTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./finishingsTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./finishingsTable.vue?vue&type=template&id=1b75e9b4\"\nimport script from \"./finishingsTable.vue?vue&type=script&lang=js\"\nexport * from \"./finishingsTable.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"table-air-sample\"}},[_c('TerraIndexDynamicTable',{attrs:{\"table-data\":_vm.tableData,\"table-title\":_vm.$t('label.AirSamples'),\"table-data-identifier\":_vm.tableIdentifier,\"table-create-action\":_vm.createTableRowAction,\"table-update-action\":_vm.updateTableRowAction,\"table-delete-action\":_vm.deleteTableRowAction,\"table-columns\":_vm.tableColumns,\"table-name\":_vm.tableName,\"template\":_vm.template,\"setting-name\":_vm.settingName,\"language\":_vm.language,\"excel-export-settings\":_vm.exportSettings,\"enable-column-chooser\":_vm.enableColumnChooser,\"search-panel-enabled\":_vm.searchPanelEnabled,\"on-row-validating\":_vm.customRowValidation,\"state-storing\":{},\"default-selected-row-index\":0,\"isValidRequest\":_vm.isValidRequest,\"table-multi-update-action\":_vm.multiUpdateTableRowAction,\"use-multi-select\":true,\"project-id\":_vm.projectId,\"scrolling-mode\":\"infinite\",\"additionalHeaderButtons\":_vm.additionalHeaderButtons},on:{\"refreshTableData\":_vm.refreshTableData,\"updateSelectedRows\":_vm.wrapSelectedRowsUpdate}}),_c('BasePopup',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.transferSamplesDialogOpen),expression:\"transferSamplesDialogOpen\"}],attrs:{\"popupOpen\":_vm.transferSamplesDialogOpen,\"popupTitle\":_vm.$t('transferSamplesDialog.transferSamples'),\"popupSubTitle\":_vm.projectCode,\"canClose\":!_vm.isTransferringSamples,\"createError\":!_vm.transferSamplesDialogStateValid,\"customErrorMessage\":_vm.transferSamplesDialogErrorMessage,\"rightFooterButtonText\":_vm.$t('transferSamplesDialog.transferSamples'),\"rightFooterButtonActive\":_vm.transferSamplesDialogStateValid,\"rightFooterText\":_vm.transferSamplesDialogFooterText,\"closeOnOutsideClick\":false},on:{\"rightButtonClicked\":_vm.onTransferSamplesDialogRightButtonClicked,\"closeButtonClicked\":_vm.onTransferSamplesDialogCloseButtonClicked}},[_c('TransferSamplesDialog',{ref:\"transferSamplesDialog\",attrs:{\"projectId\":_vm.projectId,\"selectedSamples\":_vm.selectedSamples,\"dialogOpened\":_vm.transferSamplesDialogOpen,\"sampleType\":'airsample'},on:{\"selectionChanged\":_vm.checkTransferSamplesDialogStateValid,\"transferringSamples\":_vm.onTransferringSamples,\"samplesTransferred\":_vm.onSamplesTransferred}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"transfer-samples-dialog-container\"},[_c('div',{staticClass:\"transfer-samples-table-container\"},[_c('DxDataGrid',{ref:\"transferSamplesTable\",attrs:{\"dataSource\":_vm.tableData,\"height\":\"100%\",\"showBorders\":true,\"rowAlternationEnabled\":true},on:{\"toolbarPreparing\":_vm.onToolbarPreparing,\"selectionChanged\":_vm.onSelectionChanged},scopedSlots:_vm._u([{key:\"tableTitleTemplate\",fn:function(){return [_c('div',{staticClass:\"transfer-samples-dialog-header-text\"},[_vm._v(\" \"+_vm._s(_vm.$t('transferSamplesDialog.header'))+\" \")])]},proxy:true}])},[_c('DxSearchPanel',{attrs:{\"visible\":true,\"width\":240}}),_c('DxHeaderFilter',{attrs:{\"visible\":true}}),_c('DxSelection',{attrs:{\"mode\":\"single\",\"selectAllMode\":\"all-pages\"}}),_c('DxPaging',{attrs:{\"enabled\":false}}),_c('DxLoadPanel',{attrs:{\"enabled\":true}}),_c('DxScrolling',{attrs:{\"mode\":\"standard\",\"rowRenderingMode\":\"standard\"}}),_c('DxColumn',{attrs:{\"dataField\":\"MpName\",\"caption\":_vm.$t('project.MeasurementPointName')}}),_c('DxColumn',{attrs:{\"dataField\":\"FtName\",\"caption\":_vm.$t('project.GaugingTubeName')}}),_c('DxColumn',{attrs:{\"dataField\":\"FtFilterFrom\",\"caption\":_vm.$t('project.GaugingTubeFrom')}}),_c('DxColumn',{attrs:{\"dataField\":\"FtFilterTo\",\"caption\":_vm.$t('project.GaugingTubeTo')}})],1)],1),_c('NvLoading',{attrs:{\"show\":_vm.isTransferringSamples}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./transferSamplesDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./transferSamplesDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./transferSamplesDialog.vue?vue&type=template&id=1fc44df5\"\nimport script from \"./transferSamplesDialog.vue?vue&type=script&lang=js\"\nexport * from \"./transferSamplesDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./transferSamplesDialog.vue?vue&type=style&index=0&id=1fc44df5&prod&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./airSamplesTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./airSamplesTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./airSamplesTable.vue?vue&type=template&id=67548003\"\nimport script from \"./airSamplesTable.vue?vue&type=script&lang=js\"\nexport * from \"./airSamplesTable.vue?vue&type=script&lang=js\"\nimport style0 from \"./airSamplesTable.vue?vue&type=style&index=0&id=67548003&prod&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('TerraIndexDynamicTable',{attrs:{\"scrollingMode\":\"infinite\",\"tableData\":_vm.tableData,\"tableTitle\":_vm.$t('label.Packaging'),\"tableDataIdentifier\":_vm.tableIdentifier,\"tableCreateAction\":_vm.createTableRowAction,\"tableUpdateAction\":_vm.updateTableRowAction,\"tableDeleteAction\":_vm.deleteTableRowAction,\"tableColumns\":_vm.tableColumns,\"tableName\":_vm.tableName,\"template\":_vm.template,\"settingName\":_vm.settingName,\"language\":_vm.language,\"excelExportSettings\":_vm.exportSettings,\"enableColumnChooser\":_vm.enableColumnChooser,\"search-panel-enabled\":_vm.searchPanelEnabled,\"onRowValidating\":_vm.customRowValidation,\"state-storing\":{},\"defaultSelectedRowIndex\":0,\"tableMultiUpdateAction\":_vm.multiUpdateTableRowAction,\"useMultiSelect\":true,\"projectId\":_vm.projectId,\"isValidRequest\":_vm.isValidRequest},on:{\"refreshTableData\":_vm.refreshTableData}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./packagingsTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./packagingsTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./packagingsTable.vue?vue&type=template&id=40b5bd32\"\nimport script from \"./packagingsTable.vue?vue&type=script&lang=js\"\nexport * from \"./packagingsTable.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"table-water-sample\"}},[_c('TerraIndexDynamicTable',{attrs:{\"scrollingMode\":\"infinite\",\"tableData\":_vm.tableData,\"tableTitle\":_vm.$t('label.WaterSamples'),\"tableDataIdentifier\":_vm.tableIdentifier,\"tableCreateAction\":_vm.createTableRowAction,\"tableUpdateAction\":_vm.updateTableRowAction,\"tableDeleteAction\":_vm.deleteTableRowAction,\"tableColumns\":_vm.tableColumns,\"tableName\":_vm.tableName,\"template\":_vm.template,\"settingName\":_vm.settingName,\"language\":_vm.language,\"excelExportSettings\":_vm.exportSettings,\"enableColumnChooser\":_vm.enableColumnChooser,\"search-panel-enabled\":_vm.searchPanelEnabled,\"onRowValidating\":_vm.customRowValidation,\"state-storing\":{},\"defaultSelectedRowIndex\":0,\"isValidRequest\":_vm.isValidRequest,\"tableMultiUpdateAction\":_vm.multiUpdateTableRowAction,\"useMultiSelect\":true,\"projectId\":_vm.projectId,\"additionalHeaderButtons\":_vm.additionalHeaderButtons},on:{\"refreshTableData\":_vm.refreshTableData,\"updateSelectedRows\":_vm.wrapSelectedRowsUpdate}}),_c('BasePopup',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.transferSamplesDialogOpen),expression:\"transferSamplesDialogOpen\"}],attrs:{\"popupOpen\":_vm.transferSamplesDialogOpen,\"popupTitle\":_vm.$t('transferSamplesDialog.transferSamples'),\"popupSubTitle\":_vm.projectCode,\"canClose\":!_vm.isTransferringSamples,\"createError\":!_vm.transferSamplesDialogStateValid,\"customErrorMessage\":_vm.transferSamplesDialogErrorMessage,\"rightFooterButtonText\":_vm.$t('transferSamplesDialog.transferSamples'),\"rightFooterButtonActive\":_vm.transferSamplesDialogStateValid,\"rightFooterText\":_vm.transferSamplesDialogFooterText,\"closeOnOutsideClick\":false},on:{\"rightButtonClicked\":_vm.onTransferSamplesDialogRightButtonClicked,\"closeButtonClicked\":_vm.onTransferSamplesDialogCloseButtonClicked}},[_c('TransferSamplesDialog',{ref:\"transferSamplesDialog\",attrs:{\"projectId\":_vm.projectId,\"selectedSamples\":_vm.selectedSamples,\"dialogOpened\":_vm.transferSamplesDialogOpen,\"sampleType\":'watersample'},on:{\"selectionChanged\":_vm.checkTransferSamplesDialogStateValid,\"transferringSamples\":_vm.onTransferringSamples,\"samplesTransferred\":_vm.onSamplesTransferred}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./waterSamplesTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./waterSamplesTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./waterSamplesTable.vue?vue&type=template&id=ec842534\"\nimport script from \"./waterSamplesTable.vue?vue&type=script&lang=js\"\nexport * from \"./waterSamplesTable.vue?vue&type=script&lang=js\"\nimport style0 from \"./waterSamplesTable.vue?vue&type=style&index=0&id=ec842534&prod&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('TerraIndexDynamicTable',{attrs:{\"scrolling-mode\":\"infinite\",\"default-selected-row-index\":0,\"enable-column-chooser\":_vm.enableColumnChooser,\"excel-export-settings\":_vm.exportSettings,\"search-panel-enabled\":_vm.searchPanelEnabled,\"is-valid-request\":_vm.isValidRequest,\"language\":_vm.language,\"on-row-validating\":_vm.customRowValidation,\"project-id\":_vm.projectId,\"setting-name\":_vm.settingName,\"state-storing\":{},\"table-data\":_vm.tableData,\"table-title\":_vm.$t('label.bottles'),\"table-data-identifier\":_vm.tableIdentifier,\"table-create-action\":_vm.createTableRowAction,\"table-update-action\":_vm.updateTableRowAction,\"table-delete-action\":_vm.deleteTableRowAction,\"table-multi-update-action\":_vm.multiUpdateTableRowAction,\"table-columns\":_vm.tableColumns,\"table-name\":_vm.tableName,\"template\":_vm.template,\"use-multi-select\":true},on:{\"refresh-table-data\":_vm.refreshTableData}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./bottlesTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./bottlesTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./bottlesTable.vue?vue&type=template&id=65826e56\"\nimport script from \"./bottlesTable.vue?vue&type=script&lang=js\"\nexport * from \"./bottlesTable.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"project-details\"}},[_c('TerraIndexDynamicTable',{attrs:{\"tableData\":_vm.currentProject,\"tableTitle\":_vm.tableTitle,\"tableDataIdentifier\":_vm.tableIdentifier,\"tableCreateAction\":_vm.createTableRowAction,\"tableDeleteAction\":_vm.deleteTableRowAction,\"tableMultiUpdateAction\":_vm.multiUpdateTableRowAction,\"tableUpdateAction\":_vm.updateTableRowAction,\"hasSaveAndRevertButtons\":_vm.saveAndRevertButtonsEnabled,\"enableColumnChooser\":_vm.columnChooserEnabled,\"enableHeaderFilter\":_vm.headerFilterEnabled,\"enableGrouping\":_vm.headerGroupingEnabled,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"useMultiSelect\":_vm.multiSelectEnabled,\"tableColumns\":_vm.tableColumns,\"tableName\":_vm.tableName,\"template\":_vm.template,\"settingName\":_vm.settingName,\"language\":_vm.language,\"excelExportSettings\":_vm.exportSettings,\"state-storing\":_vm.stateStoring,\"defaultSelectedRowIndex\":_vm.defaultSelectedRowIndex,\"project\":_vm.project,\"isValidRequest\":_vm.isValidRequest,\"onRowValidating\":_vm.validateRow,\"scrollingMode\":_vm.scrollingMode},on:{\"refreshTableData\":_vm.refreshData,\"updateSelectedRows\":_vm.updateSelectedRows}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","var render, staticRenderFns\nimport script from \"./baseProjectTable.vue?vue&type=script&lang=js\"\nexport * from \"./baseProjectTable.vue?vue&type=script&lang=js\"\nimport style0 from \"./baseProjectTable.vue?vue&type=style&index=0&id=2b0b04aa&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2b0b04aa\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./baseProjectTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./baseProjectTable.vue?vue&type=script&lang=js\"","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectDetailsTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectDetailsTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./projectDetailsTable.vue?vue&type=template&id=7af8d6bc\"\nimport script from \"./projectDetailsTable.vue?vue&type=script&lang=js\"\nexport * from \"./projectDetailsTable.vue?vue&type=script&lang=js\"\nimport style0 from \"./projectDetailsTable.vue?vue&type=style&index=0&id=7af8d6bc&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('TerraIndexDynamicTable',{attrs:{\"tableData\":_vm.tableData,\"tableTitle\":_vm.tableTitle,\"tableDataIdentifier\":_vm.tableIdentifier,\"tableCreateAction\":_vm.createTableRowAction,\"tableDeleteAction\":_vm.deleteTableRowAction,\"tableMultiUpdateAction\":_vm.multiUpdateTableRowAction,\"tableUpdateAction\":_vm.updateTableRowAction,\"hasSaveAndRevertButtons\":_vm.saveAndRevertButtonsEnabled,\"enableColumnChooser\":_vm.columnChooserEnabled,\"enableHeaderFilter\":_vm.headerFilterEnabled,\"enableGrouping\":_vm.headerGroupingEnabled,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"useMultiSelect\":_vm.multiSelectEnabled,\"tableColumns\":_vm.tableColumns,\"tableName\":_vm.tableName,\"template\":_vm.template,\"settingName\":_vm.settingName,\"language\":_vm.language,\"excelExportSettings\":_vm.exportSettings,\"state-storing\":_vm.stateStoring,\"defaultSelectedRowIndex\":_vm.defaultSelectedRowIndex,\"project\":_vm.project,\"isValidRequest\":_vm.isValidRequest,\"onRowValidating\":_vm.validateRow,\"scrollingMode\":_vm.scrollingMode,\"onEditorPreparing\":_vm.onEditorPreparing},on:{\"updateSelectedRows\":_vm.updateSelectedRows,\"refreshTableData\":_vm.refreshData}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./summariesAndConclusionsTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./summariesAndConclusionsTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./summariesAndConclusionsTable.vue?vue&type=template&id=6c9df9d3\"\nimport script from \"./summariesAndConclusionsTable.vue?vue&type=script&lang=js\"\nexport * from \"./summariesAndConclusionsTable.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('TerraIndexDynamicTable',{attrs:{\"tableData\":_vm.tableData,\"tableTitle\":_vm.tableTitle,\"tableDataIdentifier\":_vm.tableIdentifier,\"tableCreateAction\":_vm.createTableRowAction,\"tableDeleteAction\":_vm.deleteTableRowAction,\"tableMultiUpdateAction\":_vm.multiUpdateTableRowAction,\"tableUpdateAction\":_vm.updateTableRowAction,\"hasSaveAndRevertButtons\":_vm.saveAndRevertButtonsEnabled,\"enableColumnChooser\":_vm.columnChooserEnabled,\"enableHeaderFilter\":_vm.headerFilterEnabled,\"enableGrouping\":_vm.headerGroupingEnabled,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"useMultiSelect\":_vm.multiSelectEnabled,\"tableColumns\":_vm.tableColumns,\"tableName\":_vm.tableName,\"template\":_vm.template,\"settingName\":_vm.settingName,\"language\":_vm.language,\"excelExportSettings\":_vm.exportSettings,\"state-storing\":_vm.stateStoring,\"defaultSelectedRowIndex\":_vm.defaultSelectedRowIndex,\"project\":_vm.project,\"isValidRequest\":_vm.isValidRequest,\"onRowValidating\":_vm.validateRow,\"scrollingMode\":_vm.scrollingMode},on:{\"updateSelectedRows\":_vm.updateSelectedRows,\"refreshTableData\":_vm.refreshData}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./subLocationsTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./subLocationsTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./subLocationsTable.vue?vue&type=template&id=2705aa10\"\nimport script from \"./subLocationsTable.vue?vue&type=script&lang=js\"\nexport * from \"./subLocationsTable.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('TerraIndexDynamicTable',{attrs:{\"tableData\":_vm.tableData,\"tableTitle\":_vm.tableTitle,\"tableDataIdentifier\":_vm.tableIdentifier,\"tableCreateAction\":_vm.createTableRowAction,\"tableDeleteAction\":_vm.deleteTableRowAction,\"tableMultiUpdateAction\":_vm.multiUpdateTableRowAction,\"tableUpdateAction\":_vm.updateTableRowAction,\"hasSaveAndRevertButtons\":_vm.saveAndRevertButtonsEnabled,\"enableColumnChooser\":_vm.columnChooserEnabled,\"enableHeaderFilter\":_vm.headerFilterEnabled,\"enableGrouping\":_vm.headerGroupingEnabled,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"useMultiSelect\":_vm.multiSelectEnabled,\"tableColumns\":_vm.tableColumns,\"tableName\":_vm.tableName,\"template\":_vm.template,\"settingName\":_vm.settingName,\"language\":_vm.language,\"excelExportSettings\":_vm.exportSettings,\"state-storing\":_vm.stateStoring,\"defaultSelectedRowIndex\":_vm.defaultSelectedRowIndex,\"project\":_vm.project,\"isValidRequest\":_vm.isValidRequest,\"onRowValidating\":_vm.customTableRowDataValidation,\"scrollingMode\":_vm.scrollingMode,\"additionalHeaderButtons\":_vm.additionalHeaderButtons,\"getClassNameForCell\":_vm.getClassNameForLabStatusCode,\"checkForFieldDataType\":_vm.checkForLabStatusCell,\"forceShowTable\":\"\"},on:{\"row-dbl-click\":_vm.onRowDoubleClick,\"updateSelectedRows\":_vm.updateSelectedRows,\"settings-loaded\":_vm.onSettingsLoaded,\"refreshTableData\":_vm.refreshData}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./labAssignmentsTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./labAssignmentsTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./labAssignmentsTable.vue?vue&type=template&id=cec1ddbc\"\nimport script from \"./labAssignmentsTable.vue?vue&type=script&lang=js\"\nexport * from \"./labAssignmentsTable.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('TerraIndexDynamicTable',{attrs:{\"tableData\":_vm.tableData,\"tableTitle\":_vm.$t('tableTitles.FieldSample'),\"tableDataIdentifier\":_vm.tableIdentifier,\"tableCreateAction\":_vm.createTableRowAction,\"tableUpdateAction\":_vm.updateTableRowAction,\"tableDeleteAction\":_vm.deleteTableRowAction,\"tableColumns\":_vm.tableColumns,\"tableName\":_vm.tableName,\"template\":_vm.template,\"settingName\":_vm.settingName,\"language\":_vm.language,\"excelExportSettings\":_vm.exportSettings,\"enableColumnChooser\":_vm.enableColumnChooser,\"state-storing\":{},\"defaultSelectedRowIndex\":0,\"tableMultiUpdateAction\":_vm.multiUpdateTableRowAction,\"useMultiSelect\":true,\"projectId\":_vm.projectId,\"isValidRequest\":_vm.isValidRequest,\"onRowValidating\":_vm.customRowValidation,\"scrollingMode\":\"infinite\",\"searchPanelEnabled\":_vm.searchPanelEnabled},on:{\"refreshTableData\":_vm.refreshTableData}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fieldSamplesTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fieldSamplesTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./fieldSamplesTable.vue?vue&type=template&id=1e62543a\"\nimport script from \"./fieldSamplesTable.vue?vue&type=script&lang=js\"\nexport * from \"./fieldSamplesTable.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('TerraIndexDynamicTable',{attrs:{\"scrollingMode\":\"infinite\",\"tableData\":_vm.tableData,\"tableTitle\":_vm.$t('tableTitles.Layers'),\"tableDataIdentifier\":_vm.tableIdentifier,\"tableCreateAction\":_vm.createTableRowAction,\"tableUpdateAction\":_vm.updateTableRowAction,\"tableDeleteAction\":_vm.deleteTableRowAction,\"tableColumns\":_vm.tableColumns,\"tableName\":_vm.tableName,\"template\":_vm.template,\"settingName\":_vm.settingName,\"language\":_vm.language,\"excelExportSettings\":_vm.exportSettings,\"enableColumnChooser\":_vm.enableColumnChooser,\"state-storing\":{},\"defaultSelectedRowIndex\":0,\"tableMultiUpdateAction\":_vm.multiUpdateTableRowAction,\"useMultiSelect\":true,\"projectId\":_vm.projectId,\"isValidRequest\":_vm.isValidRequest,\"onEditorPreparing\":_vm.onEditorPreparing,\"onRowValidating\":_vm.customRowValidation,\"shouldUpdateStateOnDelete\":false,\"searchPanelEnabled\":_vm.searchPanelEnabled},on:{\"refreshTableData\":_vm.refreshTableData}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import stringUtils from '@/utils/stringUtils'\nimport $store from '@/vuex/store'\n\nexport default {\n async GetMappings (lookupKey) {\n return [\n {\n id: 2,\n [lookupKey]: 'Z'\n },\n {\n id: 3,\n [lookupKey]: 'G'\n }\n ]\n },\n async getMedianCodesAsDxOptions (lookupKey) {\n let options = []\n const mappings = await this.GetMappings(lookupKey)\n\n return Promise.all(mappings.map(async (mapEntry) => {\n await $store.dispatch('getCodeListByCategoryIDOrCode', {\n categoryId: mapEntry.id\n }).then(async codeListOptions => {\n if (mapEntry.filterById) {\n codeListOptions = codeListOptions.filter(item => mapEntry.filterById.includes(item.GcCode))\n }\n const optionsForMapEntry = this.createOptionsWithLookupKey(codeListOptions, lookupKey, mapEntry[lookupKey])\n options = options.concat(optionsForMapEntry)\n })\n })).then(() => {\n return options\n })\n },\n\n createOptionsWithLookupKey (fromOptions, lookupKey, lookupValue) {\n const toOptions = []\n\n Promise.all(fromOptions.map((fromOption) => {\n const toOption = {\n key: this.createComposedValue(lookupValue, fromOption.GcCode),\n description: fromOption.GcDescription,\n [lookupKey]: lookupValue\n }\n\n toOptions.push(toOption)\n }))\n\n return toOptions\n },\n\n setComposedValueForMedianCodeTableColumn (key, lookupKey, rowData) {\n rowData[key] = this.createComposedValue(rowData[lookupKey], rowData[key])\n return rowData\n },\n\n createComposedValue (lookupValue, value) {\n if (stringUtils.isNullOrEmptyOrWhitespace(value)) {\n return ''\n }\n\n return `${lookupValue}.${value}`\n },\n\n async unsetComposedValueForMedianCodeTableColumn (key, rowData) {\n rowData[key] = await this.getValueFromComposedValue(rowData[key])\n\n return rowData\n },\n\n async getValueFromComposedValue (value) {\n if (stringUtils.isNullOrEmptyOrWhitespace(value)) {\n return ''\n }\n return value.includes('.') ? value.split('.')[1] : value\n }\n}\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./layersTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./layersTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./layersTable.vue?vue&type=template&id=0dcd088c\"\nimport script from \"./layersTable.vue?vue&type=script&lang=js\"\nexport * from \"./layersTable.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./locationVisitsWidget.vue?vue&type=style&index=0&id=74bf1630&prod&scoped=true&lang=css\"","\"use strict\";\r\n/**\r\n * dd-elements.ts 7.3.0\r\n * Copyright (c) 2021 Alain Dumesny - see GridStack root license\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DDElement = void 0;\r\nconst dd_resizable_1 = require(\"./dd-resizable\");\r\nconst dd_draggable_1 = require(\"./dd-draggable\");\r\nconst dd_droppable_1 = require(\"./dd-droppable\");\r\nclass DDElement {\r\n constructor(el) {\r\n this.el = el;\r\n }\r\n static init(el) {\r\n if (!el.ddElement) {\r\n el.ddElement = new DDElement(el);\r\n }\r\n return el.ddElement;\r\n }\r\n on(eventName, callback) {\r\n if (this.ddDraggable && ['drag', 'dragstart', 'dragstop'].indexOf(eventName) > -1) {\r\n this.ddDraggable.on(eventName, callback);\r\n }\r\n else if (this.ddDroppable && ['drop', 'dropover', 'dropout'].indexOf(eventName) > -1) {\r\n this.ddDroppable.on(eventName, callback);\r\n }\r\n else if (this.ddResizable && ['resizestart', 'resize', 'resizestop'].indexOf(eventName) > -1) {\r\n this.ddResizable.on(eventName, callback);\r\n }\r\n return this;\r\n }\r\n off(eventName) {\r\n if (this.ddDraggable && ['drag', 'dragstart', 'dragstop'].indexOf(eventName) > -1) {\r\n this.ddDraggable.off(eventName);\r\n }\r\n else if (this.ddDroppable && ['drop', 'dropover', 'dropout'].indexOf(eventName) > -1) {\r\n this.ddDroppable.off(eventName);\r\n }\r\n else if (this.ddResizable && ['resizestart', 'resize', 'resizestop'].indexOf(eventName) > -1) {\r\n this.ddResizable.off(eventName);\r\n }\r\n return this;\r\n }\r\n setupDraggable(opts) {\r\n if (!this.ddDraggable) {\r\n this.ddDraggable = new dd_draggable_1.DDDraggable(this.el, opts);\r\n }\r\n else {\r\n this.ddDraggable.updateOption(opts);\r\n }\r\n return this;\r\n }\r\n cleanDraggable() {\r\n if (this.ddDraggable) {\r\n this.ddDraggable.destroy();\r\n delete this.ddDraggable;\r\n }\r\n return this;\r\n }\r\n setupResizable(opts) {\r\n if (!this.ddResizable) {\r\n this.ddResizable = new dd_resizable_1.DDResizable(this.el, opts);\r\n }\r\n else {\r\n this.ddResizable.updateOption(opts);\r\n }\r\n return this;\r\n }\r\n cleanResizable() {\r\n if (this.ddResizable) {\r\n this.ddResizable.destroy();\r\n delete this.ddResizable;\r\n }\r\n return this;\r\n }\r\n setupDroppable(opts) {\r\n if (!this.ddDroppable) {\r\n this.ddDroppable = new dd_droppable_1.DDDroppable(this.el, opts);\r\n }\r\n else {\r\n this.ddDroppable.updateOption(opts);\r\n }\r\n return this;\r\n }\r\n cleanDroppable() {\r\n if (this.ddDroppable) {\r\n this.ddDroppable.destroy();\r\n delete this.ddDroppable;\r\n }\r\n return this;\r\n }\r\n}\r\nexports.DDElement = DDElement;\r\n//# sourceMappingURL=dd-element.js.map","var conversions = require('./conversions');\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","/**\n * @module ol/ViewProperty\n */\n/**\n * @enum {string}\n */\nexport default {\n CENTER: 'center',\n RESOLUTION: 'resolution',\n ROTATION: 'rotation',\n};\n//# sourceMappingURL=ViewProperty.js.map","/**\n * @module ol/centerconstraint\n */\nimport { clamp } from './math.js';\n/**\n * @typedef {function((import(\"./coordinate.js\").Coordinate|undefined), number, import(\"./size.js\").Size, boolean=, Array=): (import(\"./coordinate.js\").Coordinate|undefined)} Type\n */\n/**\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {boolean} onlyCenter If true, the constraint will only apply to the view center.\n * @param {boolean} smooth If true, the view will be able to go slightly out of the given extent\n * (only during interaction and animation).\n * @return {Type} The constraint.\n */\nexport function createExtent(extent, onlyCenter, smooth) {\n return (\n /**\n * @param {import(\"./coordinate.js\").Coordinate|undefined} center Center.\n * @param {number|undefined} resolution Resolution.\n * @param {import(\"./size.js\").Size} size Viewport size; unused if `onlyCenter` was specified.\n * @param {boolean} [opt_isMoving] True if an interaction or animation is in progress.\n * @param {Array} [opt_centerShift] Shift between map center and viewport center.\n * @return {import(\"./coordinate.js\").Coordinate|undefined} Center.\n */\n function (center, resolution, size, opt_isMoving, opt_centerShift) {\n if (!center) {\n return undefined;\n }\n if (!resolution && !onlyCenter) {\n return center;\n }\n var viewWidth = onlyCenter ? 0 : size[0] * resolution;\n var viewHeight = onlyCenter ? 0 : size[1] * resolution;\n var shiftX = opt_centerShift ? opt_centerShift[0] : 0;\n var shiftY = opt_centerShift ? opt_centerShift[1] : 0;\n var minX = extent[0] + viewWidth / 2 + shiftX;\n var maxX = extent[2] - viewWidth / 2 + shiftX;\n var minY = extent[1] + viewHeight / 2 + shiftY;\n var maxY = extent[3] - viewHeight / 2 + shiftY;\n // note: when zooming out of bounds, min and max values for x and y may\n // end up inverted (min > max); this has to be accounted for\n if (minX > maxX) {\n minX = (maxX + minX) / 2;\n maxX = minX;\n }\n if (minY > maxY) {\n minY = (maxY + minY) / 2;\n maxY = minY;\n }\n var x = clamp(center[0], minX, maxX);\n var y = clamp(center[1], minY, maxY);\n // during an interaction, allow some overscroll\n if (opt_isMoving && smooth && resolution) {\n var ratio = 30 * resolution;\n x +=\n -ratio * Math.log(1 + Math.max(0, minX - center[0]) / ratio) +\n ratio * Math.log(1 + Math.max(0, center[0] - maxX) / ratio);\n y +=\n -ratio * Math.log(1 + Math.max(0, minY - center[1]) / ratio) +\n ratio * Math.log(1 + Math.max(0, center[1] - maxY) / ratio);\n }\n return [x, y];\n });\n}\n/**\n * @param {import(\"./coordinate.js\").Coordinate} [center] Center.\n * @return {import(\"./coordinate.js\").Coordinate|undefined} Center.\n */\nexport function none(center) {\n return center;\n}\n//# sourceMappingURL=centerconstraint.js.map","/**\n * @module ol/resolutionconstraint\n */\nimport { clamp } from './math.js';\nimport { getHeight, getWidth } from './extent.js';\nimport { linearFindNearest } from './array.js';\n/**\n * @typedef {function((number|undefined), number, import(\"./size.js\").Size, boolean=): (number|undefined)} Type\n */\n/**\n * Returns a modified resolution taking into account the viewport size and maximum\n * allowed extent.\n * @param {number} resolution Resolution\n * @param {import(\"./extent.js\").Extent} maxExtent Maximum allowed extent.\n * @param {import(\"./size.js\").Size} viewportSize Viewport size.\n * @param {boolean} showFullExtent Whether to show the full extent.\n * @return {number} Capped resolution.\n */\nfunction getViewportClampedResolution(resolution, maxExtent, viewportSize, showFullExtent) {\n var xResolution = getWidth(maxExtent) / viewportSize[0];\n var yResolution = getHeight(maxExtent) / viewportSize[1];\n if (showFullExtent) {\n return Math.min(resolution, Math.max(xResolution, yResolution));\n }\n return Math.min(resolution, Math.min(xResolution, yResolution));\n}\n/**\n * Returns a modified resolution to be between maxResolution and minResolution while\n * still allowing the value to be slightly out of bounds.\n * Note: the computation is based on the logarithm function (ln):\n * - at 1, ln(x) is 0\n * - above 1, ln(x) keeps increasing but at a much slower pace than x\n * The final result is clamped to prevent getting too far away from bounds.\n * @param {number} resolution Resolution.\n * @param {number} maxResolution Max resolution.\n * @param {number} minResolution Min resolution.\n * @return {number} Smoothed resolution.\n */\nfunction getSmoothClampedResolution(resolution, maxResolution, minResolution) {\n var result = Math.min(resolution, maxResolution);\n var ratio = 50;\n result *=\n Math.log(1 + ratio * Math.max(0, resolution / maxResolution - 1)) / ratio +\n 1;\n if (minResolution) {\n result = Math.max(result, minResolution);\n result /=\n Math.log(1 + ratio * Math.max(0, minResolution / resolution - 1)) /\n ratio +\n 1;\n }\n return clamp(result, minResolution / 2, maxResolution * 2);\n}\n/**\n * @param {Array} resolutions Resolutions.\n * @param {boolean} [opt_smooth] If true, the view will be able to slightly exceed resolution limits. Default: true.\n * @param {import(\"./extent.js\").Extent} [opt_maxExtent] Maximum allowed extent.\n * @param {boolean} [opt_showFullExtent] If true, allows us to show the full extent. Default: false.\n * @return {Type} Zoom function.\n */\nexport function createSnapToResolutions(resolutions, opt_smooth, opt_maxExtent, opt_showFullExtent) {\n return (\n /**\n * @param {number|undefined} resolution Resolution.\n * @param {number} direction Direction.\n * @param {import(\"./size.js\").Size} size Viewport size.\n * @param {boolean} [opt_isMoving] True if an interaction or animation is in progress.\n * @return {number|undefined} Resolution.\n */\n function (resolution, direction, size, opt_isMoving) {\n if (resolution !== undefined) {\n var maxResolution = resolutions[0];\n var minResolution = resolutions[resolutions.length - 1];\n var cappedMaxRes = opt_maxExtent\n ? getViewportClampedResolution(maxResolution, opt_maxExtent, size, opt_showFullExtent)\n : maxResolution;\n // during interacting or animating, allow intermediary values\n if (opt_isMoving) {\n var smooth = opt_smooth !== undefined ? opt_smooth : true;\n if (!smooth) {\n return clamp(resolution, minResolution, cappedMaxRes);\n }\n return getSmoothClampedResolution(resolution, cappedMaxRes, minResolution);\n }\n var capped = Math.min(cappedMaxRes, resolution);\n var z = Math.floor(linearFindNearest(resolutions, capped, direction));\n if (resolutions[z] > cappedMaxRes && z < resolutions.length - 1) {\n return resolutions[z + 1];\n }\n return resolutions[z];\n }\n else {\n return undefined;\n }\n });\n}\n/**\n * @param {number} power Power.\n * @param {number} maxResolution Maximum resolution.\n * @param {number} [opt_minResolution] Minimum resolution.\n * @param {boolean} [opt_smooth] If true, the view will be able to slightly exceed resolution limits. Default: true.\n * @param {import(\"./extent.js\").Extent} [opt_maxExtent] Maximum allowed extent.\n * @param {boolean} [opt_showFullExtent] If true, allows us to show the full extent. Default: false.\n * @return {Type} Zoom function.\n */\nexport function createSnapToPower(power, maxResolution, opt_minResolution, opt_smooth, opt_maxExtent, opt_showFullExtent) {\n return (\n /**\n * @param {number|undefined} resolution Resolution.\n * @param {number} direction Direction.\n * @param {import(\"./size.js\").Size} size Viewport size.\n * @param {boolean} [opt_isMoving] True if an interaction or animation is in progress.\n * @return {number|undefined} Resolution.\n */\n function (resolution, direction, size, opt_isMoving) {\n if (resolution !== undefined) {\n var cappedMaxRes = opt_maxExtent\n ? getViewportClampedResolution(maxResolution, opt_maxExtent, size, opt_showFullExtent)\n : maxResolution;\n var minResolution = opt_minResolution !== undefined ? opt_minResolution : 0;\n // during interacting or animating, allow intermediary values\n if (opt_isMoving) {\n var smooth = opt_smooth !== undefined ? opt_smooth : true;\n if (!smooth) {\n return clamp(resolution, minResolution, cappedMaxRes);\n }\n return getSmoothClampedResolution(resolution, cappedMaxRes, minResolution);\n }\n var tolerance = 1e-9;\n var minZoomLevel = Math.ceil(Math.log(maxResolution / cappedMaxRes) / Math.log(power) - tolerance);\n var offset = -direction * (0.5 - tolerance) + 0.5;\n var capped = Math.min(cappedMaxRes, resolution);\n var cappedZoomLevel = Math.floor(Math.log(maxResolution / capped) / Math.log(power) + offset);\n var zoomLevel = Math.max(minZoomLevel, cappedZoomLevel);\n var newResolution = maxResolution / Math.pow(power, zoomLevel);\n return clamp(newResolution, minResolution, cappedMaxRes);\n }\n else {\n return undefined;\n }\n });\n}\n/**\n * @param {number} maxResolution Max resolution.\n * @param {number} minResolution Min resolution.\n * @param {boolean} [opt_smooth] If true, the view will be able to slightly exceed resolution limits. Default: true.\n * @param {import(\"./extent.js\").Extent} [opt_maxExtent] Maximum allowed extent.\n * @param {boolean} [opt_showFullExtent] If true, allows us to show the full extent. Default: false.\n * @return {Type} Zoom function.\n */\nexport function createMinMaxResolution(maxResolution, minResolution, opt_smooth, opt_maxExtent, opt_showFullExtent) {\n return (\n /**\n * @param {number|undefined} resolution Resolution.\n * @param {number} direction Direction.\n * @param {import(\"./size.js\").Size} size Viewport size.\n * @param {boolean} [opt_isMoving] True if an interaction or animation is in progress.\n * @return {number|undefined} Resolution.\n */\n function (resolution, direction, size, opt_isMoving) {\n if (resolution !== undefined) {\n var cappedMaxRes = opt_maxExtent\n ? getViewportClampedResolution(maxResolution, opt_maxExtent, size, opt_showFullExtent)\n : maxResolution;\n var smooth = opt_smooth !== undefined ? opt_smooth : true;\n if (!smooth || !opt_isMoving) {\n return clamp(resolution, minResolution, cappedMaxRes);\n }\n return getSmoothClampedResolution(resolution, cappedMaxRes, minResolution);\n }\n else {\n return undefined;\n }\n });\n}\n//# sourceMappingURL=resolutionconstraint.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/View\n */\nimport BaseObject from './Object.js';\nimport Units from './proj/Units.js';\nimport ViewHint from './ViewHint.js';\nimport ViewProperty from './ViewProperty.js';\nimport { DEFAULT_TILE_SIZE } from './tilegrid/common.js';\nimport { METERS_PER_UNIT, createProjection, disableCoordinateWarning, fromUserCoordinate, fromUserExtent, getUserProjection, toUserCoordinate, toUserExtent, } from './proj.js';\nimport { VOID } from './functions.js';\nimport { add as addCoordinate, equals as coordinatesEqual, equals, rotate as rotateCoordinate, } from './coordinate.js';\nimport { assert } from './asserts.js';\nimport { assign } from './obj.js';\nimport { none as centerNone, createExtent } from './centerconstraint.js';\nimport { clamp, modulo } from './math.js';\nimport { createMinMaxResolution, createSnapToPower, createSnapToResolutions, } from './resolutionconstraint.js';\nimport { createSnapToN, createSnapToZero, disable, none as rotationNone, } from './rotationconstraint.js';\nimport { easeOut, inAndOut } from './easing.js';\nimport { getCenter, getForViewAndSize, getHeight, getWidth, isEmpty, } from './extent.js';\nimport { linearFindNearest } from './array.js';\nimport { fromExtent as polygonFromExtent } from './geom/Polygon.js';\n/**\n * An animation configuration\n *\n * @typedef {Object} Animation\n * @property {import(\"./coordinate.js\").Coordinate} [sourceCenter] Source center.\n * @property {import(\"./coordinate.js\").Coordinate} [targetCenter] Target center.\n * @property {number} [sourceResolution] Source resolution.\n * @property {number} [targetResolution] Target resolution.\n * @property {number} [sourceRotation] Source rotation.\n * @property {number} [targetRotation] Target rotation.\n * @property {import(\"./coordinate.js\").Coordinate} [anchor] Anchor.\n * @property {number} start Start.\n * @property {number} duration Duration.\n * @property {boolean} complete Complete.\n * @property {function(number):number} easing Easing.\n * @property {function(boolean):void} callback Callback.\n */\n/**\n * @typedef {Object} Constraints\n * @property {import(\"./centerconstraint.js\").Type} center Center.\n * @property {import(\"./resolutionconstraint.js\").Type} resolution Resolution.\n * @property {import(\"./rotationconstraint.js\").Type} rotation Rotation.\n */\n/**\n * @typedef {Object} FitOptions\n * @property {import(\"./size.js\").Size} [size] The size in pixels of the box to fit\n * the extent into. Default is the current size of the first map in the DOM that\n * uses this view, or `[100, 100]` if no such map is found.\n * @property {!Array} [padding=[0, 0, 0, 0]] Padding (in pixels) to be\n * cleared inside the view. Values in the array are top, right, bottom and left\n * padding.\n * @property {boolean} [nearest=false] If the view `constrainResolution` option is `true`,\n * get the nearest extent instead of the closest that actually fits the view.\n * @property {number} [minResolution=0] Minimum resolution that we zoom to.\n * @property {number} [maxZoom] Maximum zoom level that we zoom to. If\n * `minResolution` is given, this property is ignored.\n * @property {number} [duration] The duration of the animation in milliseconds.\n * By default, there is no animation to the target extent.\n * @property {function(number):number} [easing] The easing function used during\n * the animation (defaults to {@link module:ol/easing.inAndOut}).\n * The function will be called for each frame with a number representing a\n * fraction of the animation's duration. The function should return a number\n * between 0 and 1 representing the progress toward the destination state.\n * @property {function(boolean):void} [callback] Function called when the view is in\n * its final position. The callback will be called with `true` if the animation\n * series completed on its own or `false` if it was cancelled.\n */\n/**\n * @typedef {Object} ViewOptions\n * @property {import(\"./coordinate.js\").Coordinate} [center] The initial center for\n * the view. If a user projection is not set, the coordinate system for the center is\n * specified with the `projection` option. Layer sources will not be fetched if this\n * is not set, but the center can be set later with {@link #setCenter}.\n * @property {boolean|number} [constrainRotation=true] Rotation constraint.\n * `false` means no constraint. `true` means no constraint, but snap to zero\n * near zero. A number constrains the rotation to that number of values. For\n * example, `4` will constrain the rotation to 0, 90, 180, and 270 degrees.\n * @property {boolean} [enableRotation=true] Enable rotation.\n * If `false`, a rotation constraint that always sets the rotation to zero is\n * used. The `constrainRotation` option has no effect if `enableRotation` is\n * `false`.\n * @property {import(\"./extent.js\").Extent} [extent] The extent that constrains the\n * view, in other words, nothing outside of this extent can be visible on the map.\n * @property {boolean} [constrainOnlyCenter=false] If true, the extent\n * constraint will only apply to the view center and not the whole extent.\n * @property {boolean} [smoothExtentConstraint=true] If true, the extent\n * constraint will be applied smoothly, i.e. allow the view to go slightly outside\n * of the given `extent`.\n * @property {number} [maxResolution] The maximum resolution used to determine\n * the resolution constraint. It is used together with `minResolution` (or\n * `maxZoom`) and `zoomFactor`. If unspecified it is calculated in such a way\n * that the projection's validity extent fits in a 256x256 px tile. If the\n * projection is Spherical Mercator (the default) then `maxResolution` defaults\n * to `40075016.68557849 / 256 = 156543.03392804097`.\n * @property {number} [minResolution] The minimum resolution used to determine\n * the resolution constraint. It is used together with `maxResolution` (or\n * `minZoom`) and `zoomFactor`. If unspecified it is calculated assuming 29\n * zoom levels (with a factor of 2). If the projection is Spherical Mercator\n * (the default) then `minResolution` defaults to\n * `40075016.68557849 / 256 / Math.pow(2, 28) = 0.0005831682455839253`.\n * @property {number} [maxZoom=28] The maximum zoom level used to determine the\n * resolution constraint. It is used together with `minZoom` (or\n * `maxResolution`) and `zoomFactor`. Note that if `minResolution` is also\n * provided, it is given precedence over `maxZoom`.\n * @property {number} [minZoom=0] The minimum zoom level used to determine the\n * resolution constraint. It is used together with `maxZoom` (or\n * `minResolution`) and `zoomFactor`. Note that if `maxResolution` is also\n * provided, it is given precedence over `minZoom`.\n * @property {boolean} [multiWorld=false] If `false` the view is constrained so\n * only one world is visible, and you cannot pan off the edge. If `true` the map\n * may show multiple worlds at low zoom levels. Only used if the `projection` is\n * global. Note that if `extent` is also provided it is given precedence.\n * @property {boolean} [constrainResolution=false] If true, the view will always\n * animate to the closest zoom level after an interaction; false means\n * intermediary zoom levels are allowed.\n * @property {boolean} [smoothResolutionConstraint=true] If true, the resolution\n * min/max values will be applied smoothly, i. e. allow the view to exceed slightly\n * the given resolution or zoom bounds.\n * @property {boolean} [showFullExtent=false] Allow the view to be zoomed out to\n * show the full configured extent. By default, when a view is configured with an\n * extent, users will not be able to zoom out so the viewport exceeds the extent in\n * either dimension. This means the full extent may not be visible if the viewport\n * is taller or wider than the aspect ratio of the configured extent. If\n * showFullExtent is true, the user will be able to zoom out so that the viewport\n * exceeds the height or width of the configured extent, but not both, allowing the\n * full extent to be shown.\n * @property {import(\"./proj.js\").ProjectionLike} [projection='EPSG:3857'] The\n * projection. The default is Spherical Mercator.\n * @property {number} [resolution] The initial resolution for the view. The\n * units are `projection` units per pixel (e.g. meters per pixel). An\n * alternative to setting this is to set `zoom`. Layer sources will not be\n * fetched if neither this nor `zoom` are defined, but they can be set later\n * with {@link #setZoom} or {@link #setResolution}.\n * @property {Array} [resolutions] Resolutions that determine the\n * zoom levels if specified. The index in the array corresponds to the zoom level,\n * therefore the resolution values have to be in descending order. It also constrains\n * the resolution by the minimum and maximum value. If set the `maxResolution`,\n * `minResolution`, `minZoom`, `maxZoom`, and `zoomFactor` options are ignored.\n * @property {number} [rotation=0] The initial rotation for the view in radians\n * (positive rotation clockwise, 0 means North).\n * @property {number} [zoom] Only used if `resolution` is not defined. Zoom\n * level used to calculate the initial resolution for the view.\n * @property {number} [zoomFactor=2] The zoom factor used to compute the\n * corresponding resolution.\n * @property {!Array} [padding=[0, 0, 0, 0]] Padding (in css pixels).\n * If the map viewport is partially covered with other content (overlays) along\n * its edges, this setting allows to shift the center of the viewport away from\n * that content. The order of the values is top, right, bottom, left.\n */\n/**\n * @typedef {Object} AnimationOptions\n * @property {import(\"./coordinate.js\").Coordinate} [center] The center of the view at the end of\n * the animation.\n * @property {number} [zoom] The zoom level of the view at the end of the\n * animation. This takes precedence over `resolution`.\n * @property {number} [resolution] The resolution of the view at the end\n * of the animation. If `zoom` is also provided, this option will be ignored.\n * @property {number} [rotation] The rotation of the view at the end of\n * the animation.\n * @property {import(\"./coordinate.js\").Coordinate} [anchor] Optional anchor to remain fixed\n * during a rotation or resolution animation.\n * @property {number} [duration=1000] The duration of the animation in milliseconds.\n * @property {function(number):number} [easing] The easing function used\n * during the animation (defaults to {@link module:ol/easing.inAndOut}).\n * The function will be called for each frame with a number representing a\n * fraction of the animation's duration. The function should return a number\n * between 0 and 1 representing the progress toward the destination state.\n */\n/**\n * @typedef {Object} State\n * @property {import(\"./coordinate.js\").Coordinate} center Center.\n * @property {import(\"./proj/Projection.js\").default} projection Projection.\n * @property {number} resolution Resolution.\n * @property {import(\"./coordinate.js\").Coordinate} [nextCenter] The next center during an animation series.\n * @property {number} [nextResolution] The next resolution during an animation series.\n * @property {number} [nextRotation] The next rotation during an animation series.\n * @property {number} rotation Rotation.\n * @property {number} zoom Zoom.\n */\n/**\n * Default min zoom level for the map view.\n * @type {number}\n */\nvar DEFAULT_MIN_ZOOM = 0;\n/**\n * @typedef {import(\"./ObjectEventType\").Types|'change:center'|'change:resolution'|'change:rotation'} ViewObjectEventTypes\n */\n/***\n * @template Return\n * @typedef {import(\"./Observable\").OnSignature &\n * import(\"./Observable\").OnSignature &\n * import(\"./Observable\").CombinedOnSignature} ViewOnSignature\n */\n/**\n * @classdesc\n * A View object represents a simple 2D view of the map.\n *\n * This is the object to act upon to change the center, resolution,\n * and rotation of the map.\n *\n * A View has a `projection`. The projection determines the\n * coordinate system of the center, and its units determine the units of the\n * resolution (projection units per pixel). The default projection is\n * Web Mercator (EPSG:3857).\n *\n * ### The view states\n *\n * A View is determined by three states: `center`, `resolution`,\n * and `rotation`. Each state has a corresponding getter and setter, e.g.\n * `getCenter` and `setCenter` for the `center` state.\n *\n * The `zoom` state is actually not saved on the view: all computations\n * internally use the `resolution` state. Still, the `setZoom` and `getZoom`\n * methods are available, as well as `getResolutionForZoom` and\n * `getZoomForResolution` to switch from one system to the other.\n *\n * ### The constraints\n *\n * `setCenter`, `setResolution` and `setRotation` can be used to change the\n * states of the view, but any constraint defined in the constructor will\n * be applied along the way.\n *\n * A View object can have a *resolution constraint*, a *rotation constraint*\n * and a *center constraint*.\n *\n * The *resolution constraint* typically restricts min/max values and\n * snaps to specific resolutions. It is determined by the following\n * options: `resolutions`, `maxResolution`, `maxZoom` and `zoomFactor`.\n * If `resolutions` is set, the other three options are ignored. See\n * documentation for each option for more information. By default, the view\n * only has a min/max restriction and allow intermediary zoom levels when\n * pinch-zooming for example.\n *\n * The *rotation constraint* snaps to specific angles. It is determined\n * by the following options: `enableRotation` and `constrainRotation`.\n * By default rotation is allowed and its value is snapped to zero when approaching the\n * horizontal.\n *\n * The *center constraint* is determined by the `extent` option. By\n * default the view center is not constrained at all.\n *\n * ### Changing the view state\n *\n * It is important to note that `setZoom`, `setResolution`, `setCenter` and\n * `setRotation` are subject to the above mentioned constraints. As such, it\n * may sometimes not be possible to know in advance the resulting state of the\n * View. For example, calling `setResolution(10)` does not guarantee that\n * `getResolution()` will return `10`.\n *\n * A consequence of this is that, when applying a delta on the view state, one\n * should use `adjustCenter`, `adjustRotation`, `adjustZoom` and `adjustResolution`\n * rather than the corresponding setters. This will let view do its internal\n * computations. Besides, the `adjust*` methods also take an `opt_anchor`\n * argument which allows specifying an origin for the transformation.\n *\n * ### Interacting with the view\n *\n * View constraints are usually only applied when the view is *at rest*, meaning that\n * no interaction or animation is ongoing. As such, if the user puts the view in a\n * state that is not equivalent to a constrained one (e.g. rotating the view when\n * the snap angle is 0), an animation will be triggered at the interaction end to\n * put back the view to a stable state;\n *\n * @api\n */\nvar View = /** @class */ (function (_super) {\n __extends(View, _super);\n /**\n * @param {ViewOptions} [opt_options] View options.\n */\n function View(opt_options) {\n var _this = _super.call(this) || this;\n /***\n * @type {ViewOnSignature}\n */\n _this.on;\n /***\n * @type {ViewOnSignature}\n */\n _this.once;\n /***\n * @type {ViewOnSignature}\n */\n _this.un;\n var options = assign({}, opt_options);\n /**\n * @private\n * @type {Array}\n */\n _this.hints_ = [0, 0];\n /**\n * @private\n * @type {Array>}\n */\n _this.animations_ = [];\n /**\n * @private\n * @type {number|undefined}\n */\n _this.updateAnimationKey_;\n /**\n * @private\n * @const\n * @type {import(\"./proj/Projection.js\").default}\n */\n _this.projection_ = createProjection(options.projection, 'EPSG:3857');\n /**\n * @private\n * @type {import(\"./size.js\").Size}\n */\n _this.viewportSize_ = [100, 100];\n /**\n * @private\n * @type {import(\"./coordinate.js\").Coordinate|undefined}\n */\n _this.targetCenter_ = null;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.targetResolution_;\n /**\n * @private\n * @type {number|undefined}\n */\n _this.targetRotation_;\n /**\n * @private\n * @type {import(\"./coordinate.js\").Coordinate}\n */\n _this.nextCenter_ = null;\n /**\n * @private\n * @type {number}\n */\n _this.nextResolution_;\n /**\n * @private\n * @type {number}\n */\n _this.nextRotation_;\n /**\n * @private\n * @type {import(\"./coordinate.js\").Coordinate|undefined}\n */\n _this.cancelAnchor_ = undefined;\n if (options.projection) {\n disableCoordinateWarning();\n }\n if (options.center) {\n options.center = fromUserCoordinate(options.center, _this.projection_);\n }\n if (options.extent) {\n options.extent = fromUserExtent(options.extent, _this.projection_);\n }\n _this.applyOptions_(options);\n return _this;\n }\n /**\n * Set up the view with the given options.\n * @param {ViewOptions} options View options.\n */\n View.prototype.applyOptions_ = function (options) {\n var properties = assign({}, options);\n for (var key in ViewProperty) {\n delete properties[key];\n }\n this.setProperties(properties, true);\n var resolutionConstraintInfo = createResolutionConstraint(options);\n /**\n * @private\n * @type {number}\n */\n this.maxResolution_ = resolutionConstraintInfo.maxResolution;\n /**\n * @private\n * @type {number}\n */\n this.minResolution_ = resolutionConstraintInfo.minResolution;\n /**\n * @private\n * @type {number}\n */\n this.zoomFactor_ = resolutionConstraintInfo.zoomFactor;\n /**\n * @private\n * @type {Array|undefined}\n */\n this.resolutions_ = options.resolutions;\n /**\n * @type {Array|undefined}\n * @private\n */\n this.padding_ = options.padding;\n /**\n * @private\n * @type {number}\n */\n this.minZoom_ = resolutionConstraintInfo.minZoom;\n var centerConstraint = createCenterConstraint(options);\n var resolutionConstraint = resolutionConstraintInfo.constraint;\n var rotationConstraint = createRotationConstraint(options);\n /**\n * @private\n * @type {Constraints}\n */\n this.constraints_ = {\n center: centerConstraint,\n resolution: resolutionConstraint,\n rotation: rotationConstraint,\n };\n this.setRotation(options.rotation !== undefined ? options.rotation : 0);\n this.setCenterInternal(options.center !== undefined ? options.center : null);\n if (options.resolution !== undefined) {\n this.setResolution(options.resolution);\n }\n else if (options.zoom !== undefined) {\n this.setZoom(options.zoom);\n }\n };\n Object.defineProperty(View.prototype, \"padding\", {\n /**\n * Padding (in css pixels).\n * If the map viewport is partially covered with other content (overlays) along\n * its edges, this setting allows to shift the center of the viewport away from that\n * content. The order of the values in the array is top, right, bottom, left.\n * The default is no padding, which is equivalent to `[0, 0, 0, 0]`.\n * @type {Array|undefined}\n * @api\n */\n get: function () {\n return this.padding_;\n },\n set: function (padding) {\n var oldPadding = this.padding_;\n this.padding_ = padding;\n var center = this.getCenter();\n if (center) {\n var newPadding = padding || [0, 0, 0, 0];\n oldPadding = oldPadding || [0, 0, 0, 0];\n var resolution = this.getResolution();\n var offsetX = (resolution / 2) *\n (newPadding[3] - oldPadding[3] + oldPadding[1] - newPadding[1]);\n var offsetY = (resolution / 2) *\n (newPadding[0] - oldPadding[0] + oldPadding[2] - newPadding[2]);\n this.setCenterInternal([center[0] + offsetX, center[1] - offsetY]);\n }\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Get an updated version of the view options used to construct the view. The\n * current resolution (or zoom), center, and rotation are applied to any stored\n * options. The provided options can be used to apply new min/max zoom or\n * resolution limits.\n * @param {ViewOptions} newOptions New options to be applied.\n * @return {ViewOptions} New options updated with the current view state.\n */\n View.prototype.getUpdatedOptions_ = function (newOptions) {\n var options = this.getProperties();\n // preserve resolution (or zoom)\n if (options.resolution !== undefined) {\n options.resolution = this.getResolution();\n }\n else {\n options.zoom = this.getZoom();\n }\n // preserve center\n options.center = this.getCenterInternal();\n // preserve rotation\n options.rotation = this.getRotation();\n return assign({}, options, newOptions);\n };\n /**\n * Animate the view. The view's center, zoom (or resolution), and rotation\n * can be animated for smooth transitions between view states. For example,\n * to animate the view to a new zoom level:\n *\n * view.animate({zoom: view.getZoom() + 1});\n *\n * By default, the animation lasts one second and uses in-and-out easing. You\n * can customize this behavior by including `duration` (in milliseconds) and\n * `easing` options (see {@link module:ol/easing}).\n *\n * To chain together multiple animations, call the method with multiple\n * animation objects. For example, to first zoom and then pan:\n *\n * view.animate({zoom: 10}, {center: [0, 0]});\n *\n * If you provide a function as the last argument to the animate method, it\n * will get called at the end of an animation series. The callback will be\n * called with `true` if the animation series completed on its own or `false`\n * if it was cancelled.\n *\n * Animations are cancelled by user interactions (e.g. dragging the map) or by\n * calling `view.setCenter()`, `view.setResolution()`, or `view.setRotation()`\n * (or another method that calls one of these).\n *\n * @param {...(AnimationOptions|function(boolean): void)} var_args Animation\n * options. Multiple animations can be run in series by passing multiple\n * options objects. To run multiple animations in parallel, call the method\n * multiple times. An optional callback can be provided as a final\n * argument. The callback will be called with a boolean indicating whether\n * the animation completed without being cancelled.\n * @api\n */\n View.prototype.animate = function (var_args) {\n if (this.isDef() && !this.getAnimating()) {\n this.resolveConstraints(0);\n }\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; ++i) {\n var options = arguments[i];\n if (options.center) {\n options = assign({}, options);\n options.center = fromUserCoordinate(options.center, this.getProjection());\n }\n if (options.anchor) {\n options = assign({}, options);\n options.anchor = fromUserCoordinate(options.anchor, this.getProjection());\n }\n args[i] = options;\n }\n this.animateInternal.apply(this, args);\n };\n /**\n * @param {...(AnimationOptions|function(boolean): void)} var_args Animation options.\n */\n View.prototype.animateInternal = function (var_args) {\n var animationCount = arguments.length;\n var callback;\n if (animationCount > 1 &&\n typeof arguments[animationCount - 1] === 'function') {\n callback = arguments[animationCount - 1];\n --animationCount;\n }\n var i = 0;\n for (; i < animationCount && !this.isDef(); ++i) {\n // if view properties are not yet set, shortcut to the final state\n var state = arguments[i];\n if (state.center) {\n this.setCenterInternal(state.center);\n }\n if (state.zoom !== undefined) {\n this.setZoom(state.zoom);\n }\n else if (state.resolution) {\n this.setResolution(state.resolution);\n }\n if (state.rotation !== undefined) {\n this.setRotation(state.rotation);\n }\n }\n if (i === animationCount) {\n if (callback) {\n animationCallback(callback, true);\n }\n return;\n }\n var start = Date.now();\n var center = this.targetCenter_.slice();\n var resolution = this.targetResolution_;\n var rotation = this.targetRotation_;\n var series = [];\n for (; i < animationCount; ++i) {\n var options = /** @type {AnimationOptions} */ (arguments[i]);\n var animation = {\n start: start,\n complete: false,\n anchor: options.anchor,\n duration: options.duration !== undefined ? options.duration : 1000,\n easing: options.easing || inAndOut,\n callback: callback,\n };\n if (options.center) {\n animation.sourceCenter = center;\n animation.targetCenter = options.center.slice();\n center = animation.targetCenter;\n }\n if (options.zoom !== undefined) {\n animation.sourceResolution = resolution;\n animation.targetResolution = this.getResolutionForZoom(options.zoom);\n resolution = animation.targetResolution;\n }\n else if (options.resolution) {\n animation.sourceResolution = resolution;\n animation.targetResolution = options.resolution;\n resolution = animation.targetResolution;\n }\n if (options.rotation !== undefined) {\n animation.sourceRotation = rotation;\n var delta = modulo(options.rotation - rotation + Math.PI, 2 * Math.PI) - Math.PI;\n animation.targetRotation = rotation + delta;\n rotation = animation.targetRotation;\n }\n // check if animation is a no-op\n if (isNoopAnimation(animation)) {\n animation.complete = true;\n // we still push it onto the series for callback handling\n }\n else {\n start += animation.duration;\n }\n series.push(animation);\n }\n this.animations_.push(series);\n this.setHint(ViewHint.ANIMATING, 1);\n this.updateAnimations_();\n };\n /**\n * Determine if the view is being animated.\n * @return {boolean} The view is being animated.\n * @api\n */\n View.prototype.getAnimating = function () {\n return this.hints_[ViewHint.ANIMATING] > 0;\n };\n /**\n * Determine if the user is interacting with the view, such as panning or zooming.\n * @return {boolean} The view is being interacted with.\n * @api\n */\n View.prototype.getInteracting = function () {\n return this.hints_[ViewHint.INTERACTING] > 0;\n };\n /**\n * Cancel any ongoing animations.\n * @api\n */\n View.prototype.cancelAnimations = function () {\n this.setHint(ViewHint.ANIMATING, -this.hints_[ViewHint.ANIMATING]);\n var anchor;\n for (var i = 0, ii = this.animations_.length; i < ii; ++i) {\n var series = this.animations_[i];\n if (series[0].callback) {\n animationCallback(series[0].callback, false);\n }\n if (!anchor) {\n for (var j = 0, jj = series.length; j < jj; ++j) {\n var animation = series[j];\n if (!animation.complete) {\n anchor = animation.anchor;\n break;\n }\n }\n }\n }\n this.animations_.length = 0;\n this.cancelAnchor_ = anchor;\n this.nextCenter_ = null;\n this.nextResolution_ = NaN;\n this.nextRotation_ = NaN;\n };\n /**\n * Update all animations.\n */\n View.prototype.updateAnimations_ = function () {\n if (this.updateAnimationKey_ !== undefined) {\n cancelAnimationFrame(this.updateAnimationKey_);\n this.updateAnimationKey_ = undefined;\n }\n if (!this.getAnimating()) {\n return;\n }\n var now = Date.now();\n var more = false;\n for (var i = this.animations_.length - 1; i >= 0; --i) {\n var series = this.animations_[i];\n var seriesComplete = true;\n for (var j = 0, jj = series.length; j < jj; ++j) {\n var animation = series[j];\n if (animation.complete) {\n continue;\n }\n var elapsed = now - animation.start;\n var fraction = animation.duration > 0 ? elapsed / animation.duration : 1;\n if (fraction >= 1) {\n animation.complete = true;\n fraction = 1;\n }\n else {\n seriesComplete = false;\n }\n var progress = animation.easing(fraction);\n if (animation.sourceCenter) {\n var x0 = animation.sourceCenter[0];\n var y0 = animation.sourceCenter[1];\n var x1 = animation.targetCenter[0];\n var y1 = animation.targetCenter[1];\n this.nextCenter_ = animation.targetCenter;\n var x = x0 + progress * (x1 - x0);\n var y = y0 + progress * (y1 - y0);\n this.targetCenter_ = [x, y];\n }\n if (animation.sourceResolution && animation.targetResolution) {\n var resolution = progress === 1\n ? animation.targetResolution\n : animation.sourceResolution +\n progress *\n (animation.targetResolution - animation.sourceResolution);\n if (animation.anchor) {\n var size = this.getViewportSize_(this.getRotation());\n var constrainedResolution = this.constraints_.resolution(resolution, 0, size, true);\n this.targetCenter_ = this.calculateCenterZoom(constrainedResolution, animation.anchor);\n }\n this.nextResolution_ = animation.targetResolution;\n this.targetResolution_ = resolution;\n this.applyTargetState_(true);\n }\n if (animation.sourceRotation !== undefined &&\n animation.targetRotation !== undefined) {\n var rotation = progress === 1\n ? modulo(animation.targetRotation + Math.PI, 2 * Math.PI) -\n Math.PI\n : animation.sourceRotation +\n progress *\n (animation.targetRotation - animation.sourceRotation);\n if (animation.anchor) {\n var constrainedRotation = this.constraints_.rotation(rotation, true);\n this.targetCenter_ = this.calculateCenterRotate(constrainedRotation, animation.anchor);\n }\n this.nextRotation_ = animation.targetRotation;\n this.targetRotation_ = rotation;\n }\n this.applyTargetState_(true);\n more = true;\n if (!animation.complete) {\n break;\n }\n }\n if (seriesComplete) {\n this.animations_[i] = null;\n this.setHint(ViewHint.ANIMATING, -1);\n this.nextCenter_ = null;\n this.nextResolution_ = NaN;\n this.nextRotation_ = NaN;\n var callback = series[0].callback;\n if (callback) {\n animationCallback(callback, true);\n }\n }\n }\n // prune completed series\n this.animations_ = this.animations_.filter(Boolean);\n if (more && this.updateAnimationKey_ === undefined) {\n this.updateAnimationKey_ = requestAnimationFrame(this.updateAnimations_.bind(this));\n }\n };\n /**\n * @param {number} rotation Target rotation.\n * @param {import(\"./coordinate.js\").Coordinate} anchor Rotation anchor.\n * @return {import(\"./coordinate.js\").Coordinate|undefined} Center for rotation and anchor.\n */\n View.prototype.calculateCenterRotate = function (rotation, anchor) {\n var center;\n var currentCenter = this.getCenterInternal();\n if (currentCenter !== undefined) {\n center = [currentCenter[0] - anchor[0], currentCenter[1] - anchor[1]];\n rotateCoordinate(center, rotation - this.getRotation());\n addCoordinate(center, anchor);\n }\n return center;\n };\n /**\n * @param {number} resolution Target resolution.\n * @param {import(\"./coordinate.js\").Coordinate} anchor Zoom anchor.\n * @return {import(\"./coordinate.js\").Coordinate|undefined} Center for resolution and anchor.\n */\n View.prototype.calculateCenterZoom = function (resolution, anchor) {\n var center;\n var currentCenter = this.getCenterInternal();\n var currentResolution = this.getResolution();\n if (currentCenter !== undefined && currentResolution !== undefined) {\n var x = anchor[0] -\n (resolution * (anchor[0] - currentCenter[0])) / currentResolution;\n var y = anchor[1] -\n (resolution * (anchor[1] - currentCenter[1])) / currentResolution;\n center = [x, y];\n }\n return center;\n };\n /**\n * Returns the current viewport size.\n * @private\n * @param {number} [opt_rotation] Take into account the rotation of the viewport when giving the size\n * @return {import(\"./size.js\").Size} Viewport size or `[100, 100]` when no viewport is found.\n */\n View.prototype.getViewportSize_ = function (opt_rotation) {\n var size = this.viewportSize_;\n if (opt_rotation) {\n var w = size[0];\n var h = size[1];\n return [\n Math.abs(w * Math.cos(opt_rotation)) +\n Math.abs(h * Math.sin(opt_rotation)),\n Math.abs(w * Math.sin(opt_rotation)) +\n Math.abs(h * Math.cos(opt_rotation)),\n ];\n }\n else {\n return size;\n }\n };\n /**\n * Stores the viewport size on the view. The viewport size is not read every time from the DOM\n * to avoid performance hit and layout reflow.\n * This should be done on map size change.\n * Note: the constraints are not resolved during an animation to avoid stopping it\n * @param {import(\"./size.js\").Size} [opt_size] Viewport size; if undefined, [100, 100] is assumed\n */\n View.prototype.setViewportSize = function (opt_size) {\n this.viewportSize_ = Array.isArray(opt_size)\n ? opt_size.slice()\n : [100, 100];\n if (!this.getAnimating()) {\n this.resolveConstraints(0);\n }\n };\n /**\n * Get the view center.\n * @return {import(\"./coordinate.js\").Coordinate|undefined} The center of the view.\n * @observable\n * @api\n */\n View.prototype.getCenter = function () {\n var center = this.getCenterInternal();\n if (!center) {\n return center;\n }\n return toUserCoordinate(center, this.getProjection());\n };\n /**\n * Get the view center without transforming to user projection.\n * @return {import(\"./coordinate.js\").Coordinate|undefined} The center of the view.\n */\n View.prototype.getCenterInternal = function () {\n return /** @type {import(\"./coordinate.js\").Coordinate|undefined} */ (this.get(ViewProperty.CENTER));\n };\n /**\n * @return {Constraints} Constraints.\n */\n View.prototype.getConstraints = function () {\n return this.constraints_;\n };\n /**\n * @return {boolean} Resolution constraint is set\n */\n View.prototype.getConstrainResolution = function () {\n return this.get('constrainResolution');\n };\n /**\n * @param {Array} [opt_hints] Destination array.\n * @return {Array} Hint.\n */\n View.prototype.getHints = function (opt_hints) {\n if (opt_hints !== undefined) {\n opt_hints[0] = this.hints_[0];\n opt_hints[1] = this.hints_[1];\n return opt_hints;\n }\n else {\n return this.hints_.slice();\n }\n };\n /**\n * Calculate the extent for the current view state and the passed size.\n * The size is the pixel dimensions of the box into which the calculated extent\n * should fit. In most cases you want to get the extent of the entire map,\n * that is `map.getSize()`.\n * @param {import(\"./size.js\").Size} [opt_size] Box pixel size. If not provided, the size\n * of the map that uses this view will be used.\n * @return {import(\"./extent.js\").Extent} Extent.\n * @api\n */\n View.prototype.calculateExtent = function (opt_size) {\n var extent = this.calculateExtentInternal(opt_size);\n return toUserExtent(extent, this.getProjection());\n };\n /**\n * @param {import(\"./size.js\").Size} [opt_size] Box pixel size. If not provided,\n * the map's last known viewport size will be used.\n * @return {import(\"./extent.js\").Extent} Extent.\n */\n View.prototype.calculateExtentInternal = function (opt_size) {\n var size = opt_size || this.getViewportSizeMinusPadding_();\n var center = /** @type {!import(\"./coordinate.js\").Coordinate} */ (this.getCenterInternal());\n assert(center, 1); // The view center is not defined\n var resolution = /** @type {!number} */ (this.getResolution());\n assert(resolution !== undefined, 2); // The view resolution is not defined\n var rotation = /** @type {!number} */ (this.getRotation());\n assert(rotation !== undefined, 3); // The view rotation is not defined\n return getForViewAndSize(center, resolution, rotation, size);\n };\n /**\n * Get the maximum resolution of the view.\n * @return {number} The maximum resolution of the view.\n * @api\n */\n View.prototype.getMaxResolution = function () {\n return this.maxResolution_;\n };\n /**\n * Get the minimum resolution of the view.\n * @return {number} The minimum resolution of the view.\n * @api\n */\n View.prototype.getMinResolution = function () {\n return this.minResolution_;\n };\n /**\n * Get the maximum zoom level for the view.\n * @return {number} The maximum zoom level.\n * @api\n */\n View.prototype.getMaxZoom = function () {\n return /** @type {number} */ (this.getZoomForResolution(this.minResolution_));\n };\n /**\n * Set a new maximum zoom level for the view.\n * @param {number} zoom The maximum zoom level.\n * @api\n */\n View.prototype.setMaxZoom = function (zoom) {\n this.applyOptions_(this.getUpdatedOptions_({ maxZoom: zoom }));\n };\n /**\n * Get the minimum zoom level for the view.\n * @return {number} The minimum zoom level.\n * @api\n */\n View.prototype.getMinZoom = function () {\n return /** @type {number} */ (this.getZoomForResolution(this.maxResolution_));\n };\n /**\n * Set a new minimum zoom level for the view.\n * @param {number} zoom The minimum zoom level.\n * @api\n */\n View.prototype.setMinZoom = function (zoom) {\n this.applyOptions_(this.getUpdatedOptions_({ minZoom: zoom }));\n };\n /**\n * Set whether the view should allow intermediary zoom levels.\n * @param {boolean} enabled Whether the resolution is constrained.\n * @api\n */\n View.prototype.setConstrainResolution = function (enabled) {\n this.applyOptions_(this.getUpdatedOptions_({ constrainResolution: enabled }));\n };\n /**\n * Get the view projection.\n * @return {import(\"./proj/Projection.js\").default} The projection of the view.\n * @api\n */\n View.prototype.getProjection = function () {\n return this.projection_;\n };\n /**\n * Get the view resolution.\n * @return {number|undefined} The resolution of the view.\n * @observable\n * @api\n */\n View.prototype.getResolution = function () {\n return /** @type {number|undefined} */ (this.get(ViewProperty.RESOLUTION));\n };\n /**\n * Get the resolutions for the view. This returns the array of resolutions\n * passed to the constructor of the View, or undefined if none were given.\n * @return {Array|undefined} The resolutions of the view.\n * @api\n */\n View.prototype.getResolutions = function () {\n return this.resolutions_;\n };\n /**\n * Get the resolution for a provided extent (in map units) and size (in pixels).\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {import(\"./size.js\").Size} [opt_size] Box pixel size.\n * @return {number} The resolution at which the provided extent will render at\n * the given size.\n * @api\n */\n View.prototype.getResolutionForExtent = function (extent, opt_size) {\n return this.getResolutionForExtentInternal(fromUserExtent(extent, this.getProjection()), opt_size);\n };\n /**\n * Get the resolution for a provided extent (in map units) and size (in pixels).\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {import(\"./size.js\").Size} [opt_size] Box pixel size.\n * @return {number} The resolution at which the provided extent will render at\n * the given size.\n */\n View.prototype.getResolutionForExtentInternal = function (extent, opt_size) {\n var size = opt_size || this.getViewportSizeMinusPadding_();\n var xResolution = getWidth(extent) / size[0];\n var yResolution = getHeight(extent) / size[1];\n return Math.max(xResolution, yResolution);\n };\n /**\n * Return a function that returns a value between 0 and 1 for a\n * resolution. Exponential scaling is assumed.\n * @param {number} [opt_power] Power.\n * @return {function(number): number} Resolution for value function.\n */\n View.prototype.getResolutionForValueFunction = function (opt_power) {\n var power = opt_power || 2;\n var maxResolution = this.getConstrainedResolution(this.maxResolution_);\n var minResolution = this.minResolution_;\n var max = Math.log(maxResolution / minResolution) / Math.log(power);\n return (\n /**\n * @param {number} value Value.\n * @return {number} Resolution.\n */\n function (value) {\n var resolution = maxResolution / Math.pow(power, value * max);\n return resolution;\n });\n };\n /**\n * Get the view rotation.\n * @return {number} The rotation of the view in radians.\n * @observable\n * @api\n */\n View.prototype.getRotation = function () {\n return /** @type {number} */ (this.get(ViewProperty.ROTATION));\n };\n /**\n * Return a function that returns a resolution for a value between\n * 0 and 1. Exponential scaling is assumed.\n * @param {number} [opt_power] Power.\n * @return {function(number): number} Value for resolution function.\n */\n View.prototype.getValueForResolutionFunction = function (opt_power) {\n var logPower = Math.log(opt_power || 2);\n var maxResolution = this.getConstrainedResolution(this.maxResolution_);\n var minResolution = this.minResolution_;\n var max = Math.log(maxResolution / minResolution) / logPower;\n return (\n /**\n * @param {number} resolution Resolution.\n * @return {number} Value.\n */\n function (resolution) {\n var value = Math.log(maxResolution / resolution) / logPower / max;\n return value;\n });\n };\n /**\n * Returns the size of the viewport minus padding.\n * @private\n * @param {number} [opt_rotation] Take into account the rotation of the viewport when giving the size\n * @return {import(\"./size.js\").Size} Viewport size reduced by the padding.\n */\n View.prototype.getViewportSizeMinusPadding_ = function (opt_rotation) {\n var size = this.getViewportSize_(opt_rotation);\n var padding = this.padding_;\n if (padding) {\n size = [\n size[0] - padding[1] - padding[3],\n size[1] - padding[0] - padding[2],\n ];\n }\n return size;\n };\n /**\n * @return {State} View state.\n */\n View.prototype.getState = function () {\n var projection = this.getProjection();\n var resolution = this.getResolution();\n var rotation = this.getRotation();\n var center = /** @type {import(\"./coordinate.js\").Coordinate} */ (this.getCenterInternal());\n var padding = this.padding_;\n if (padding) {\n var reducedSize = this.getViewportSizeMinusPadding_();\n center = calculateCenterOn(center, this.getViewportSize_(), [reducedSize[0] / 2 + padding[3], reducedSize[1] / 2 + padding[0]], resolution, rotation);\n }\n return {\n center: center.slice(0),\n projection: projection !== undefined ? projection : null,\n resolution: resolution,\n nextCenter: this.nextCenter_,\n nextResolution: this.nextResolution_,\n nextRotation: this.nextRotation_,\n rotation: rotation,\n zoom: this.getZoom(),\n };\n };\n /**\n * Get the current zoom level. This method may return non-integer zoom levels\n * if the view does not constrain the resolution, or if an interaction or\n * animation is underway.\n * @return {number|undefined} Zoom.\n * @api\n */\n View.prototype.getZoom = function () {\n var zoom;\n var resolution = this.getResolution();\n if (resolution !== undefined) {\n zoom = this.getZoomForResolution(resolution);\n }\n return zoom;\n };\n /**\n * Get the zoom level for a resolution.\n * @param {number} resolution The resolution.\n * @return {number|undefined} The zoom level for the provided resolution.\n * @api\n */\n View.prototype.getZoomForResolution = function (resolution) {\n var offset = this.minZoom_ || 0;\n var max, zoomFactor;\n if (this.resolutions_) {\n var nearest = linearFindNearest(this.resolutions_, resolution, 1);\n offset = nearest;\n max = this.resolutions_[nearest];\n if (nearest == this.resolutions_.length - 1) {\n zoomFactor = 2;\n }\n else {\n zoomFactor = max / this.resolutions_[nearest + 1];\n }\n }\n else {\n max = this.maxResolution_;\n zoomFactor = this.zoomFactor_;\n }\n return offset + Math.log(max / resolution) / Math.log(zoomFactor);\n };\n /**\n * Get the resolution for a zoom level.\n * @param {number} zoom Zoom level.\n * @return {number} The view resolution for the provided zoom level.\n * @api\n */\n View.prototype.getResolutionForZoom = function (zoom) {\n if (this.resolutions_) {\n if (this.resolutions_.length <= 1) {\n return 0;\n }\n var baseLevel = clamp(Math.floor(zoom), 0, this.resolutions_.length - 2);\n var zoomFactor = this.resolutions_[baseLevel] / this.resolutions_[baseLevel + 1];\n return (this.resolutions_[baseLevel] /\n Math.pow(zoomFactor, clamp(zoom - baseLevel, 0, 1)));\n }\n else {\n return (this.maxResolution_ / Math.pow(this.zoomFactor_, zoom - this.minZoom_));\n }\n };\n /**\n * Fit the given geometry or extent based on the given map size and border.\n * The size is pixel dimensions of the box to fit the extent into.\n * In most cases you will want to use the map size, that is `map.getSize()`.\n * Takes care of the map angle.\n * @param {import(\"./geom/SimpleGeometry.js\").default|import(\"./extent.js\").Extent} geometryOrExtent The geometry or\n * extent to fit the view to.\n * @param {FitOptions} [opt_options] Options.\n * @api\n */\n View.prototype.fit = function (geometryOrExtent, opt_options) {\n /** @type {import(\"./geom/SimpleGeometry.js\").default} */\n var geometry;\n assert(Array.isArray(geometryOrExtent) ||\n typeof ( /** @type {?} */(geometryOrExtent).getSimplifiedGeometry) ===\n 'function', 24); // Invalid extent or geometry provided as `geometry`\n if (Array.isArray(geometryOrExtent)) {\n assert(!isEmpty(geometryOrExtent), 25); // Cannot fit empty extent provided as `geometry`\n var extent = fromUserExtent(geometryOrExtent, this.getProjection());\n geometry = polygonFromExtent(extent);\n }\n else if (geometryOrExtent.getType() === 'Circle') {\n var extent = fromUserExtent(geometryOrExtent.getExtent(), this.getProjection());\n geometry = polygonFromExtent(extent);\n geometry.rotate(this.getRotation(), getCenter(extent));\n }\n else {\n var userProjection = getUserProjection();\n if (userProjection) {\n geometry = /** @type {import(\"./geom/SimpleGeometry.js\").default} */ (geometryOrExtent\n .clone()\n .transform(userProjection, this.getProjection()));\n }\n else {\n geometry = geometryOrExtent;\n }\n }\n this.fitInternal(geometry, opt_options);\n };\n /**\n * Calculate rotated extent\n * @param {import(\"./geom/SimpleGeometry.js\").default} geometry The geometry.\n * @return {import(\"./extent\").Extent} The rotated extent for the geometry.\n */\n View.prototype.rotatedExtentForGeometry = function (geometry) {\n var rotation = this.getRotation();\n var cosAngle = Math.cos(rotation);\n var sinAngle = Math.sin(-rotation);\n var coords = geometry.getFlatCoordinates();\n var stride = geometry.getStride();\n var minRotX = +Infinity;\n var minRotY = +Infinity;\n var maxRotX = -Infinity;\n var maxRotY = -Infinity;\n for (var i = 0, ii = coords.length; i < ii; i += stride) {\n var rotX = coords[i] * cosAngle - coords[i + 1] * sinAngle;\n var rotY = coords[i] * sinAngle + coords[i + 1] * cosAngle;\n minRotX = Math.min(minRotX, rotX);\n minRotY = Math.min(minRotY, rotY);\n maxRotX = Math.max(maxRotX, rotX);\n maxRotY = Math.max(maxRotY, rotY);\n }\n return [minRotX, minRotY, maxRotX, maxRotY];\n };\n /**\n * @param {import(\"./geom/SimpleGeometry.js\").default} geometry The geometry.\n * @param {FitOptions} [opt_options] Options.\n */\n View.prototype.fitInternal = function (geometry, opt_options) {\n var options = opt_options || {};\n var size = options.size;\n if (!size) {\n size = this.getViewportSizeMinusPadding_();\n }\n var padding = options.padding !== undefined ? options.padding : [0, 0, 0, 0];\n var nearest = options.nearest !== undefined ? options.nearest : false;\n var minResolution;\n if (options.minResolution !== undefined) {\n minResolution = options.minResolution;\n }\n else if (options.maxZoom !== undefined) {\n minResolution = this.getResolutionForZoom(options.maxZoom);\n }\n else {\n minResolution = 0;\n }\n var rotatedExtent = this.rotatedExtentForGeometry(geometry);\n // calculate resolution\n var resolution = this.getResolutionForExtentInternal(rotatedExtent, [\n size[0] - padding[1] - padding[3],\n size[1] - padding[0] - padding[2],\n ]);\n resolution = isNaN(resolution)\n ? minResolution\n : Math.max(resolution, minResolution);\n resolution = this.getConstrainedResolution(resolution, nearest ? 0 : 1);\n // calculate center\n var rotation = this.getRotation();\n var sinAngle = Math.sin(rotation);\n var cosAngle = Math.cos(rotation);\n var centerRot = getCenter(rotatedExtent);\n centerRot[0] += ((padding[1] - padding[3]) / 2) * resolution;\n centerRot[1] += ((padding[0] - padding[2]) / 2) * resolution;\n var centerX = centerRot[0] * cosAngle - centerRot[1] * sinAngle;\n var centerY = centerRot[1] * cosAngle + centerRot[0] * sinAngle;\n var center = this.getConstrainedCenter([centerX, centerY], resolution);\n var callback = options.callback ? options.callback : VOID;\n if (options.duration !== undefined) {\n this.animateInternal({\n resolution: resolution,\n center: center,\n duration: options.duration,\n easing: options.easing,\n }, callback);\n }\n else {\n this.targetResolution_ = resolution;\n this.targetCenter_ = center;\n this.applyTargetState_(false, true);\n animationCallback(callback, true);\n }\n };\n /**\n * Center on coordinate and view position.\n * @param {import(\"./coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {import(\"./size.js\").Size} size Box pixel size.\n * @param {import(\"./pixel.js\").Pixel} position Position on the view to center on.\n * @api\n */\n View.prototype.centerOn = function (coordinate, size, position) {\n this.centerOnInternal(fromUserCoordinate(coordinate, this.getProjection()), size, position);\n };\n /**\n * @param {import(\"./coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {import(\"./size.js\").Size} size Box pixel size.\n * @param {import(\"./pixel.js\").Pixel} position Position on the view to center on.\n */\n View.prototype.centerOnInternal = function (coordinate, size, position) {\n this.setCenterInternal(calculateCenterOn(coordinate, size, position, this.getResolution(), this.getRotation()));\n };\n /**\n * Calculates the shift between map and viewport center.\n * @param {import(\"./coordinate.js\").Coordinate} center Center.\n * @param {number} resolution Resolution.\n * @param {number} rotation Rotation.\n * @param {import(\"./size.js\").Size} size Size.\n * @return {Array|undefined} Center shift.\n */\n View.prototype.calculateCenterShift = function (center, resolution, rotation, size) {\n var centerShift;\n var padding = this.padding_;\n if (padding && center) {\n var reducedSize = this.getViewportSizeMinusPadding_(-rotation);\n var shiftedCenter = calculateCenterOn(center, size, [reducedSize[0] / 2 + padding[3], reducedSize[1] / 2 + padding[0]], resolution, rotation);\n centerShift = [\n center[0] - shiftedCenter[0],\n center[1] - shiftedCenter[1],\n ];\n }\n return centerShift;\n };\n /**\n * @return {boolean} Is defined.\n */\n View.prototype.isDef = function () {\n return !!this.getCenterInternal() && this.getResolution() !== undefined;\n };\n /**\n * Adds relative coordinates to the center of the view. Any extent constraint will apply.\n * @param {import(\"./coordinate.js\").Coordinate} deltaCoordinates Relative value to add.\n * @api\n */\n View.prototype.adjustCenter = function (deltaCoordinates) {\n var center = toUserCoordinate(this.targetCenter_, this.getProjection());\n this.setCenter([\n center[0] + deltaCoordinates[0],\n center[1] + deltaCoordinates[1],\n ]);\n };\n /**\n * Adds relative coordinates to the center of the view. Any extent constraint will apply.\n * @param {import(\"./coordinate.js\").Coordinate} deltaCoordinates Relative value to add.\n */\n View.prototype.adjustCenterInternal = function (deltaCoordinates) {\n var center = this.targetCenter_;\n this.setCenterInternal([\n center[0] + deltaCoordinates[0],\n center[1] + deltaCoordinates[1],\n ]);\n };\n /**\n * Multiply the view resolution by a ratio, optionally using an anchor. Any resolution\n * constraint will apply.\n * @param {number} ratio The ratio to apply on the view resolution.\n * @param {import(\"./coordinate.js\").Coordinate} [opt_anchor] The origin of the transformation.\n * @api\n */\n View.prototype.adjustResolution = function (ratio, opt_anchor) {\n var anchor = opt_anchor && fromUserCoordinate(opt_anchor, this.getProjection());\n this.adjustResolutionInternal(ratio, anchor);\n };\n /**\n * Multiply the view resolution by a ratio, optionally using an anchor. Any resolution\n * constraint will apply.\n * @param {number} ratio The ratio to apply on the view resolution.\n * @param {import(\"./coordinate.js\").Coordinate} [opt_anchor] The origin of the transformation.\n */\n View.prototype.adjustResolutionInternal = function (ratio, opt_anchor) {\n var isMoving = this.getAnimating() || this.getInteracting();\n var size = this.getViewportSize_(this.getRotation());\n var newResolution = this.constraints_.resolution(this.targetResolution_ * ratio, 0, size, isMoving);\n if (opt_anchor) {\n this.targetCenter_ = this.calculateCenterZoom(newResolution, opt_anchor);\n }\n this.targetResolution_ *= ratio;\n this.applyTargetState_();\n };\n /**\n * Adds a value to the view zoom level, optionally using an anchor. Any resolution\n * constraint will apply.\n * @param {number} delta Relative value to add to the zoom level.\n * @param {import(\"./coordinate.js\").Coordinate} [opt_anchor] The origin of the transformation.\n * @api\n */\n View.prototype.adjustZoom = function (delta, opt_anchor) {\n this.adjustResolution(Math.pow(this.zoomFactor_, -delta), opt_anchor);\n };\n /**\n * Adds a value to the view rotation, optionally using an anchor. Any rotation\n * constraint will apply.\n * @param {number} delta Relative value to add to the zoom rotation, in radians.\n * @param {import(\"./coordinate.js\").Coordinate} [opt_anchor] The rotation center.\n * @api\n */\n View.prototype.adjustRotation = function (delta, opt_anchor) {\n if (opt_anchor) {\n opt_anchor = fromUserCoordinate(opt_anchor, this.getProjection());\n }\n this.adjustRotationInternal(delta, opt_anchor);\n };\n /**\n * @param {number} delta Relative value to add to the zoom rotation, in radians.\n * @param {import(\"./coordinate.js\").Coordinate} [opt_anchor] The rotation center.\n */\n View.prototype.adjustRotationInternal = function (delta, opt_anchor) {\n var isMoving = this.getAnimating() || this.getInteracting();\n var newRotation = this.constraints_.rotation(this.targetRotation_ + delta, isMoving);\n if (opt_anchor) {\n this.targetCenter_ = this.calculateCenterRotate(newRotation, opt_anchor);\n }\n this.targetRotation_ += delta;\n this.applyTargetState_();\n };\n /**\n * Set the center of the current view. Any extent constraint will apply.\n * @param {import(\"./coordinate.js\").Coordinate|undefined} center The center of the view.\n * @observable\n * @api\n */\n View.prototype.setCenter = function (center) {\n this.setCenterInternal(center ? fromUserCoordinate(center, this.getProjection()) : center);\n };\n /**\n * Set the center using the view projection (not the user projection).\n * @param {import(\"./coordinate.js\").Coordinate|undefined} center The center of the view.\n */\n View.prototype.setCenterInternal = function (center) {\n this.targetCenter_ = center;\n this.applyTargetState_();\n };\n /**\n * @param {import(\"./ViewHint.js\").default} hint Hint.\n * @param {number} delta Delta.\n * @return {number} New value.\n */\n View.prototype.setHint = function (hint, delta) {\n this.hints_[hint] += delta;\n this.changed();\n return this.hints_[hint];\n };\n /**\n * Set the resolution for this view. Any resolution constraint will apply.\n * @param {number|undefined} resolution The resolution of the view.\n * @observable\n * @api\n */\n View.prototype.setResolution = function (resolution) {\n this.targetResolution_ = resolution;\n this.applyTargetState_();\n };\n /**\n * Set the rotation for this view. Any rotation constraint will apply.\n * @param {number} rotation The rotation of the view in radians.\n * @observable\n * @api\n */\n View.prototype.setRotation = function (rotation) {\n this.targetRotation_ = rotation;\n this.applyTargetState_();\n };\n /**\n * Zoom to a specific zoom level. Any resolution constrain will apply.\n * @param {number} zoom Zoom level.\n * @api\n */\n View.prototype.setZoom = function (zoom) {\n this.setResolution(this.getResolutionForZoom(zoom));\n };\n /**\n * Recompute rotation/resolution/center based on target values.\n * Note: we have to compute rotation first, then resolution and center considering that\n * parameters can influence one another in case a view extent constraint is present.\n * @param {boolean} [opt_doNotCancelAnims] Do not cancel animations.\n * @param {boolean} [opt_forceMoving] Apply constraints as if the view is moving.\n * @private\n */\n View.prototype.applyTargetState_ = function (opt_doNotCancelAnims, opt_forceMoving) {\n var isMoving = this.getAnimating() || this.getInteracting() || opt_forceMoving;\n // compute rotation\n var newRotation = this.constraints_.rotation(this.targetRotation_, isMoving);\n var size = this.getViewportSize_(newRotation);\n var newResolution = this.constraints_.resolution(this.targetResolution_, 0, size, isMoving);\n var newCenter = this.constraints_.center(this.targetCenter_, newResolution, size, isMoving, this.calculateCenterShift(this.targetCenter_, newResolution, newRotation, size));\n if (this.get(ViewProperty.ROTATION) !== newRotation) {\n this.set(ViewProperty.ROTATION, newRotation);\n }\n if (this.get(ViewProperty.RESOLUTION) !== newResolution) {\n this.set(ViewProperty.RESOLUTION, newResolution);\n this.set('zoom', this.getZoom(), true);\n }\n if (!newCenter ||\n !this.get(ViewProperty.CENTER) ||\n !equals(this.get(ViewProperty.CENTER), newCenter)) {\n this.set(ViewProperty.CENTER, newCenter);\n }\n if (this.getAnimating() && !opt_doNotCancelAnims) {\n this.cancelAnimations();\n }\n this.cancelAnchor_ = undefined;\n };\n /**\n * If any constraints need to be applied, an animation will be triggered.\n * This is typically done on interaction end.\n * Note: calling this with a duration of 0 will apply the constrained values straight away,\n * without animation.\n * @param {number} [opt_duration] The animation duration in ms.\n * @param {number} [opt_resolutionDirection] Which direction to zoom.\n * @param {import(\"./coordinate.js\").Coordinate} [opt_anchor] The origin of the transformation.\n */\n View.prototype.resolveConstraints = function (opt_duration, opt_resolutionDirection, opt_anchor) {\n var duration = opt_duration !== undefined ? opt_duration : 200;\n var direction = opt_resolutionDirection || 0;\n var newRotation = this.constraints_.rotation(this.targetRotation_);\n var size = this.getViewportSize_(newRotation);\n var newResolution = this.constraints_.resolution(this.targetResolution_, direction, size);\n var newCenter = this.constraints_.center(this.targetCenter_, newResolution, size, false, this.calculateCenterShift(this.targetCenter_, newResolution, newRotation, size));\n if (duration === 0 && !this.cancelAnchor_) {\n this.targetResolution_ = newResolution;\n this.targetRotation_ = newRotation;\n this.targetCenter_ = newCenter;\n this.applyTargetState_();\n return;\n }\n var anchor = opt_anchor || (duration === 0 ? this.cancelAnchor_ : undefined);\n this.cancelAnchor_ = undefined;\n if (this.getResolution() !== newResolution ||\n this.getRotation() !== newRotation ||\n !this.getCenterInternal() ||\n !equals(this.getCenterInternal(), newCenter)) {\n if (this.getAnimating()) {\n this.cancelAnimations();\n }\n this.animateInternal({\n rotation: newRotation,\n center: newCenter,\n resolution: newResolution,\n duration: duration,\n easing: easeOut,\n anchor: anchor,\n });\n }\n };\n /**\n * Notify the View that an interaction has started.\n * The view state will be resolved to a stable one if needed\n * (depending on its constraints).\n * @api\n */\n View.prototype.beginInteraction = function () {\n this.resolveConstraints(0);\n this.setHint(ViewHint.INTERACTING, 1);\n };\n /**\n * Notify the View that an interaction has ended. The view state will be resolved\n * to a stable one if needed (depending on its constraints).\n * @param {number} [opt_duration] Animation duration in ms.\n * @param {number} [opt_resolutionDirection] Which direction to zoom.\n * @param {import(\"./coordinate.js\").Coordinate} [opt_anchor] The origin of the transformation.\n * @api\n */\n View.prototype.endInteraction = function (opt_duration, opt_resolutionDirection, opt_anchor) {\n var anchor = opt_anchor && fromUserCoordinate(opt_anchor, this.getProjection());\n this.endInteractionInternal(opt_duration, opt_resolutionDirection, anchor);\n };\n /**\n * Notify the View that an interaction has ended. The view state will be resolved\n * to a stable one if needed (depending on its constraints).\n * @param {number} [opt_duration] Animation duration in ms.\n * @param {number} [opt_resolutionDirection] Which direction to zoom.\n * @param {import(\"./coordinate.js\").Coordinate} [opt_anchor] The origin of the transformation.\n */\n View.prototype.endInteractionInternal = function (opt_duration, opt_resolutionDirection, opt_anchor) {\n this.setHint(ViewHint.INTERACTING, -1);\n this.resolveConstraints(opt_duration, opt_resolutionDirection, opt_anchor);\n };\n /**\n * Get a valid position for the view center according to the current constraints.\n * @param {import(\"./coordinate.js\").Coordinate|undefined} targetCenter Target center position.\n * @param {number} [opt_targetResolution] Target resolution. If not supplied, the current one will be used.\n * This is useful to guess a valid center position at a different zoom level.\n * @return {import(\"./coordinate.js\").Coordinate|undefined} Valid center position.\n */\n View.prototype.getConstrainedCenter = function (targetCenter, opt_targetResolution) {\n var size = this.getViewportSize_(this.getRotation());\n return this.constraints_.center(targetCenter, opt_targetResolution || this.getResolution(), size);\n };\n /**\n * Get a valid zoom level according to the current view constraints.\n * @param {number|undefined} targetZoom Target zoom.\n * @param {number} [opt_direction=0] Indicate which resolution should be used\n * by a renderer if the view resolution does not match any resolution of the tile source.\n * If 0, the nearest resolution will be used. If 1, the nearest lower resolution\n * will be used. If -1, the nearest higher resolution will be used.\n * @return {number|undefined} Valid zoom level.\n */\n View.prototype.getConstrainedZoom = function (targetZoom, opt_direction) {\n var targetRes = this.getResolutionForZoom(targetZoom);\n return this.getZoomForResolution(this.getConstrainedResolution(targetRes, opt_direction));\n };\n /**\n * Get a valid resolution according to the current view constraints.\n * @param {number|undefined} targetResolution Target resolution.\n * @param {number} [opt_direction=0] Indicate which resolution should be used\n * by a renderer if the view resolution does not match any resolution of the tile source.\n * If 0, the nearest resolution will be used. If 1, the nearest lower resolution\n * will be used. If -1, the nearest higher resolution will be used.\n * @return {number|undefined} Valid resolution.\n */\n View.prototype.getConstrainedResolution = function (targetResolution, opt_direction) {\n var direction = opt_direction || 0;\n var size = this.getViewportSize_(this.getRotation());\n return this.constraints_.resolution(targetResolution, direction, size);\n };\n return View;\n}(BaseObject));\n/**\n * @param {Function} callback Callback.\n * @param {*} returnValue Return value.\n */\nfunction animationCallback(callback, returnValue) {\n setTimeout(function () {\n callback(returnValue);\n }, 0);\n}\n/**\n * @param {ViewOptions} options View options.\n * @return {import(\"./centerconstraint.js\").Type} The constraint.\n */\nexport function createCenterConstraint(options) {\n if (options.extent !== undefined) {\n var smooth = options.smoothExtentConstraint !== undefined\n ? options.smoothExtentConstraint\n : true;\n return createExtent(options.extent, options.constrainOnlyCenter, smooth);\n }\n var projection = createProjection(options.projection, 'EPSG:3857');\n if (options.multiWorld !== true && projection.isGlobal()) {\n var extent = projection.getExtent().slice();\n extent[0] = -Infinity;\n extent[2] = Infinity;\n return createExtent(extent, false, false);\n }\n return centerNone;\n}\n/**\n * @param {ViewOptions} options View options.\n * @return {{constraint: import(\"./resolutionconstraint.js\").Type, maxResolution: number,\n * minResolution: number, minZoom: number, zoomFactor: number}} The constraint.\n */\nexport function createResolutionConstraint(options) {\n var resolutionConstraint;\n var maxResolution;\n var minResolution;\n // TODO: move these to be ol constants\n // see https://github.com/openlayers/openlayers/issues/2076\n var defaultMaxZoom = 28;\n var defaultZoomFactor = 2;\n var minZoom = options.minZoom !== undefined ? options.minZoom : DEFAULT_MIN_ZOOM;\n var maxZoom = options.maxZoom !== undefined ? options.maxZoom : defaultMaxZoom;\n var zoomFactor = options.zoomFactor !== undefined ? options.zoomFactor : defaultZoomFactor;\n var multiWorld = options.multiWorld !== undefined ? options.multiWorld : false;\n var smooth = options.smoothResolutionConstraint !== undefined\n ? options.smoothResolutionConstraint\n : true;\n var showFullExtent = options.showFullExtent !== undefined ? options.showFullExtent : false;\n var projection = createProjection(options.projection, 'EPSG:3857');\n var projExtent = projection.getExtent();\n var constrainOnlyCenter = options.constrainOnlyCenter;\n var extent = options.extent;\n if (!multiWorld && !extent && projection.isGlobal()) {\n constrainOnlyCenter = false;\n extent = projExtent;\n }\n if (options.resolutions !== undefined) {\n var resolutions = options.resolutions;\n maxResolution = resolutions[minZoom];\n minResolution =\n resolutions[maxZoom] !== undefined\n ? resolutions[maxZoom]\n : resolutions[resolutions.length - 1];\n if (options.constrainResolution) {\n resolutionConstraint = createSnapToResolutions(resolutions, smooth, !constrainOnlyCenter && extent, showFullExtent);\n }\n else {\n resolutionConstraint = createMinMaxResolution(maxResolution, minResolution, smooth, !constrainOnlyCenter && extent, showFullExtent);\n }\n }\n else {\n // calculate the default min and max resolution\n var size = !projExtent\n ? // use an extent that can fit the whole world if need be\n (360 * METERS_PER_UNIT[Units.DEGREES]) / projection.getMetersPerUnit()\n : Math.max(getWidth(projExtent), getHeight(projExtent));\n var defaultMaxResolution = size / DEFAULT_TILE_SIZE / Math.pow(defaultZoomFactor, DEFAULT_MIN_ZOOM);\n var defaultMinResolution = defaultMaxResolution /\n Math.pow(defaultZoomFactor, defaultMaxZoom - DEFAULT_MIN_ZOOM);\n // user provided maxResolution takes precedence\n maxResolution = options.maxResolution;\n if (maxResolution !== undefined) {\n minZoom = 0;\n }\n else {\n maxResolution = defaultMaxResolution / Math.pow(zoomFactor, minZoom);\n }\n // user provided minResolution takes precedence\n minResolution = options.minResolution;\n if (minResolution === undefined) {\n if (options.maxZoom !== undefined) {\n if (options.maxResolution !== undefined) {\n minResolution = maxResolution / Math.pow(zoomFactor, maxZoom);\n }\n else {\n minResolution = defaultMaxResolution / Math.pow(zoomFactor, maxZoom);\n }\n }\n else {\n minResolution = defaultMinResolution;\n }\n }\n // given discrete zoom levels, minResolution may be different than provided\n maxZoom =\n minZoom +\n Math.floor(Math.log(maxResolution / minResolution) / Math.log(zoomFactor));\n minResolution = maxResolution / Math.pow(zoomFactor, maxZoom - minZoom);\n if (options.constrainResolution) {\n resolutionConstraint = createSnapToPower(zoomFactor, maxResolution, minResolution, smooth, !constrainOnlyCenter && extent, showFullExtent);\n }\n else {\n resolutionConstraint = createMinMaxResolution(maxResolution, minResolution, smooth, !constrainOnlyCenter && extent, showFullExtent);\n }\n }\n return {\n constraint: resolutionConstraint,\n maxResolution: maxResolution,\n minResolution: minResolution,\n minZoom: minZoom,\n zoomFactor: zoomFactor,\n };\n}\n/**\n * @param {ViewOptions} options View options.\n * @return {import(\"./rotationconstraint.js\").Type} Rotation constraint.\n */\nexport function createRotationConstraint(options) {\n var enableRotation = options.enableRotation !== undefined ? options.enableRotation : true;\n if (enableRotation) {\n var constrainRotation = options.constrainRotation;\n if (constrainRotation === undefined || constrainRotation === true) {\n return createSnapToZero();\n }\n else if (constrainRotation === false) {\n return rotationNone;\n }\n else if (typeof constrainRotation === 'number') {\n return createSnapToN(constrainRotation);\n }\n else {\n return rotationNone;\n }\n }\n else {\n return disable;\n }\n}\n/**\n * Determine if an animation involves no view change.\n * @param {Animation} animation The animation.\n * @return {boolean} The animation involves no view change.\n */\nexport function isNoopAnimation(animation) {\n if (animation.sourceCenter && animation.targetCenter) {\n if (!coordinatesEqual(animation.sourceCenter, animation.targetCenter)) {\n return false;\n }\n }\n if (animation.sourceResolution !== animation.targetResolution) {\n return false;\n }\n if (animation.sourceRotation !== animation.targetRotation) {\n return false;\n }\n return true;\n}\n/**\n * @param {import(\"./coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {import(\"./size.js\").Size} size Box pixel size.\n * @param {import(\"./pixel.js\").Pixel} position Position on the view to center on.\n * @param {number} resolution Resolution.\n * @param {number} rotation Rotation.\n * @return {import(\"./coordinate.js\").Coordinate} Shifted center.\n */\nfunction calculateCenterOn(coordinate, size, position, resolution, rotation) {\n // calculate rotated position\n var cosAngle = Math.cos(-rotation);\n var sinAngle = Math.sin(-rotation);\n var rotX = coordinate[0] * cosAngle - coordinate[1] * sinAngle;\n var rotY = coordinate[1] * cosAngle + coordinate[0] * sinAngle;\n rotX += (size[0] / 2 - position[0]) * resolution;\n rotY += (position[1] - size[1] / 2) * resolution;\n // go back to original angle\n sinAngle = -sinAngle; // go back to original rotation\n var centerX = rotX * cosAngle - rotY * sinAngle;\n var centerY = rotY * cosAngle + rotX * sinAngle;\n return [centerX, centerY];\n}\nexport default View;\n//# sourceMappingURL=View.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tiDialog.vue?vue&type=style&index=0&id=7b82b9b5&prod&scoped=true&lang=css\"","import config from '@/configurations/config.js'\n\nexport default {\n open (self) {\n window.location = config.apps.labassignment + '1?PrID=' + self.$route.params.projectId + '&create=true'\n },\n\n labCodeMap() {\n return [\n { id: 1, code: null, description: 'De Ruiter' },\n { id: 2, code: 'BI', description: 'Biochem Het MilieuLab' },\n { id: 3, code: null, description: 'Heinrici milieulaboratorium b.v.' },\n { id: 4, code: null, description: 'Pro Analyse' },\n { id: 5, code: 'OM', description: 'Omegam' },\n { id: 6, code: null, description: 'GCML' },\n { id: 7, code: 'AL', description: 'Alcontrol B.V.' },\n { id: 8, code: 'GR', description: 'Daniel C. Griffith (Holland) B.V.' },\n { id: 9, code: null, description: 'Oranjewoud' },\n { id: 10, code: null, description: 'Tjaden' },\n { id: 11, code: null, description: 'Witteveen + Bos' },\n { id: 12, code: 'TA', description: 'AL-West' },\n { id: 13, code: 'PR', description: 'Analytico' },\n { id: 14, code: null, description: 'BLGG' },\n { id: 15, code: 'BC', description: 'BCO' },\n { id: 16, code: null, description: 'CBB' },\n { id: 17, code: 'AC', description: 'Acmaa' },\n { id: 18, code: 'EN', description: 'Envirolab' },\n { id: 19, code: 'SG', description: 'SGS' },\n { id: 20, code: 'IW', description: 'Iwaco' },\n { id: 21, code: 'AS', description: 'Envirocontrol BVBA' },\n { id: 22, code: 'FC', description: 'Fibrecount' },\n { id: 23, code: 'RP', description: 'RPS Analyse' },\n { id: 24, code: 'SA', description: 'Sanitas Milieu Services' },\n { id: 25, code: 'SE', description: 'Search BV' },\n { id: 26, code: 'EC', description: 'Ecca NV' },\n { id: 27, code: 'SV', description: 'Servaco NV' },\n { id: 28, code: 'WP', description: 'Stichting Waterproef' }\n ]\n },\n\n getCodeObjectFromCode(codeMap, code) {\n const codeObject = codeMap.find((element) => element.code === code)\n return codeObject || { id: 0, code: '', description: code }\n }\n}\n","module.exports = __webpack_public_path__ + \"img/project-info.f972832a.png\";","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ti-dynamic-table\"},[(_vm.showTable)?_c('DxDataGrid',{ref:\"tableGrid\",attrs:{\"name\":\"devextremetable\",\"columnRenderingMode\":\"virtual\",\"data-source\":_vm.tableData,\"row-alternation-enabled\":true,\"show-borders\":true,\"key-expr\":_vm.tableDataIdentifier,\"onCellDblClick\":_vm.onCellDblClick,\"columnAutoWidth\":true,\"height\":_vm.height,\"allow-column-reordering\":true,\"allow-column-resizing\":true,\"focusedRowEnabled\":_vm.enableKeyboardNavigation,\"onFocusedRowChanged\":_vm.onFocusedRowChanged},on:{\"key-down\":_vm.onKeyDown,\"row-click\":_vm.onRowClick,\"toolbar-preparing\":_vm.onToolbarPreparing,\"saving\":_vm.onSavingData,\"selection-changed\":_vm.onSelectedRowsChanged,\"row-validating\":_vm.onRowValidating,\"content-ready\":_vm.onContentReady,\"editing-start\":() => (_vm.editModusEnabled = true),\"edit-canceling\":() => (_vm.editModusEnabled = false),\"row-updating\":() => (_vm.editModusEnabled = false),\"editor-preparing\":_vm.editorPreparing,\"exporting\":_vm.onExporting,\"row-dbl-click\":_vm.onRowDoubleClick},scopedSlots:_vm._u([{key:\"tableTitleTemplate\",fn:function(){return [_c('h2',[_vm._v(_vm._s(_vm.tableTitle)+\" \"+_vm._s(_vm.tableAmount))])]},proxy:true},{key:\"groupCellTemplate\",fn:function({ data }){return [_vm._v(\" \"+_vm._s(_vm.getColumnGroupHeaderTitle(data))+\" \")]}},{key:\"lab-status-codes-cell\",fn:function({ data }){return [_c('td',{class:_vm.getClassNameForCell(data)},[_vm._v(_vm._s(data.value))])]}}],null,false,3631955483)},[_c('DxScrolling',{attrs:{\"mode\":_vm.scrollingMode,\"row-rendering-mode\":\"standard\"}}),_c('DxStateStoring',{attrs:{\"enabled\":_vm.shouldPersistState,\"type\":\"custom\",\"storage-key\":_vm.settingName,\"custom-load\":_vm.loadSettings,\"custom-save\":_vm.saveSettings,\"saving-timeout\":100}}),_c('DxExport',{attrs:{\"enabled\":_vm.excelExportSettings.enabled}}),_c('DxColumnChooser',{attrs:{\"enabled\":_vm.enableColumnChooser,\"mode\":\"select\"}},[_c('DxColumnChooserSearch',{attrs:{\"enabled\":true}})],1),_vm._l((_vm.tableColumns),function(tableColumn){return _c('DxColumn',{key:tableColumn.dataFieldKey,attrs:{\"allow-editing\":_vm.tableUpdateAction.active && !tableColumn.disabledForEditing,\"caption\":tableColumn.caption,\"calculate-display-value\":tableColumn.calculateDisplayValue,\"calculate-cell-value\":tableColumn.calculateCellValue,\"calculate-group-value\":(...row) => _vm.tableGroupingAction.method(...row, tableColumn),\"customize-text\":_vm.customizeColumnText,\"data-field\":tableColumn.dataFieldKey,\"data-type\":tableColumn.dataType,\"format\":(...value) => _vm.formatCellValue(tableColumn, ...value),\"set-cell-value\":tableColumn.setCellValue,\"sorting-method\":(a, b) => _vm.naturalSort(a, b, tableColumn),\"visible\":tableColumn.visible,\"cell-template\":_vm.checkForFieldDataType(tableColumn.dataFieldKey),\"group-cell-template\":\"groupCellTemplate\"}},[(tableColumn.validations.dxStringLengthRule)?_c('DxStringLengthRule',{attrs:{\"min\":tableColumn.validations.minStringLength,\"max\":tableColumn.validations.maxStringLength}}):_vm._e(),(tableColumn.validations.dxNumberRangeRule)?_c('DxRangeRule',{attrs:{\"min\":tableColumn.validations.minNumberValue,\"max\":tableColumn.validations.maxNumberValue}}):_vm._e(),(tableColumn.validations.dxRequireRule)?_c('DxRequiredRule'):_vm._e(),(tableColumn.validations.dxLookup && tableColumn.validations.dxLookupValidationProperties.displayProperty && tableColumn.validations.dxLookupValidationProperties.valueProperty)?_c('DxLookup',{attrs:{\"display-expr\":tableColumn.validations.dxLookupValidationProperties.displayProperty,\"value-expr\":tableColumn.validations.dxLookupValidationProperties.valueProperty,\"data-source\":tableColumn.validations.dxLookupValidationProperties.options}}):_vm._e()],1)}),_c('DxColumn',{attrs:{\"visible\":false,\"showInColumnChooser\":false,\"type\":\"buttons\"}}),_c('DxEditing',{attrs:{\"allow-updating\":_vm.tableUpdateAction.active,\"allow-deleting\":_vm.tableDeleteAction.active,\"allow-adding\":_vm.tableCreateAction.active,\"mode\":_vm.editMode,\"confirm-delete\":false}}),_c('DxSelection',{attrs:{\"show-check-boxes-mode\":\"none\",\"mode\":_vm.rowSelectionType,\"select-all-mode\":\"page\"}}),_c('DxHeaderFilter',{attrs:{\"visible\":_vm.enableHeaderFilter}}),_c('DxSearchPanel',{attrs:{\"visible\":_vm.searchPanelEnabled,\"width\":_vm.searchPanelWidth}}),_c('DxGrouping',{attrs:{\"auto-expand-all\":true,\"expand-mode\":\"buttonClick\"}}),_c('DxGroupPanel',{attrs:{\"visible\":_vm.tableGroupingAction.active}}),_c('DxPaging',{attrs:{\"enabled\":false}})],2):_vm._e(),_c('NvLoading',{attrs:{\"show\":_vm.isLoading}}),_c('TiDialog',{ref:\"multiEditDialog\"},[(_vm.tableMultiUpdateAction.active)?_c('MultiEditDialog',{attrs:{\"template\":_vm.template,\"projectId\":_vm.tableMultiUpdateAction.projectId ? parseInt(_vm.tableMultiUpdateAction.projectId) : -1}}):_vm._e()],1),_c('ConfirmMultiDeleteDialog',{attrs:{\"subHeader\":_vm.confirmMultiDeleteHeader,\"show\":_vm.showConfirmMultiDeleteDialog},on:{\"delete-confirmed\":_vm.onConfirmMultiDelete,\"close-modal\":function($event){_vm.showConfirmMultiDeleteDialog = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('project.DeleteRowsConfirmation'))+\" \")]),_c('div',{staticClass:\"duplicate mp-alert alert alert-success\",staticStyle:{\"display\":\"none\"},attrs:{\"role\":\"alert\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"multi-edit-content\"},_vm._l((_vm.controls),function(control){return _c('div',{key:control.controlId},[(control.fields[0].type === '25' || control.fields[0].type === '8' || control.fields[0].type === '1')?_c('div',[_c('label',[_vm._v(_vm._s(control.labels[0][_vm.languageCode]))]),_c('div',{staticClass:\"input-group\"},[_c('span',{staticClass:\"input-group-addon\",attrs:{\"id\":control.fields[0].key + '-span'}},[_c('input',{staticStyle:{\"vertical-align\":\"text-bottom\"},attrs:{\"id\":control.fields[0].key + '-use',\"type\":\"checkbox\"},on:{\"change\":function($event){return _vm.fieldDataChanged(control.fields[0].key, 'use')}}})]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changedData[control.fields[0].key].value),expression:\"changedData[control.fields[0].key].value\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"maxlength\":control.fields[0].maxLength},domProps:{\"value\":(_vm.changedData[control.fields[0].key].value)},on:{\"change\":function($event){return _vm.fieldDataChanged(control.fields[0].key, 'value')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.changedData[control.fields[0].key], \"value\", $event.target.value)}}})])]):(control.fields[0].type === '11')?_c('div',[_c('label',[_vm._v(_vm._s(control.labels[0][_vm.languageCode]))]),_c('div',{staticClass:\"input-group\"},[_c('span',{staticClass:\"input-group-addon\",attrs:{\"id\":control.fields[0].key + '-span'}},[_c('input',{staticClass:\"checkbox-align\",attrs:{\"id\":control.fields[0].key + '-use',\"type\":\"checkbox\"},on:{\"change\":function($event){return _vm.fieldDataChanged(control.fields[0].key, 'use')}}})]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changedData[control.fields[0].key].value),expression:\"changedData[control.fields[0].key].value\"}],staticClass:\"form-control\",on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.changedData[control.fields[0].key], \"value\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.fieldDataChanged(control.fields[0].key, 'value')}]}},[_c('option',{attrs:{\"value\":\"\"}}),_vm._l((_vm.listsOptions[control.fields[0].key]),function(option,index){return _c('option',{key:index,domProps:{\"value\":option.value}},[_vm._v(\" \"+_vm._s(option.text[0][_vm.languageCode])+\" \")])})],2)])]):(control.fields[0].type === '6')?_c('div',[_c('label',[_vm._v(_vm._s(control.labels[0][_vm.languageCode]))]),_c('div',{staticClass:\"input-group\"},[_c('span',{staticClass:\"input-group-addon\",attrs:{\"id\":control.fields[0].key + '-span'}},[_c('input',{staticClass:\"checkbox-align\",attrs:{\"id\":control.fields[0].key + '-use',\"type\":\"checkbox\"},on:{\"change\":function($event){return _vm.fieldDataChanged(control.fields[0].key, 'use')}}})]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changedData[control.fields[0].key].value),expression:\"changedData[control.fields[0].key].value\"}],staticClass:\"form-control\",attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.changedData[control.fields[0].key].value)},on:{\"change\":function($event){return _vm.fieldDataChanged(control.fields[0].key, 'value')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.changedData[control.fields[0].key], \"value\", $event.target.value)}}})])]):(control.fields[0].type === '2' || control.fields[0].type === '13')?_c('div',[_c('label',[_vm._v(_vm._s(control.labels[0][_vm.languageCode]))]),_c('div',{staticClass:\"input-group\"},[_c('span',{staticClass:\"input-group-addon\",attrs:{\"id\":control.fields[0].key + '-span'}},[_c('input',{staticClass:\"checkbox-align\",attrs:{\"id\":control.fields[0].key + '-use',\"type\":\"checkbox\"},on:{\"change\":function($event){return _vm.fieldDataChanged(control.fields[0].key, 'use')}}})]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changedData[control.fields[0].key].value),expression:\"changedData[control.fields[0].key].value\"}],staticClass:\"form-control\",attrs:{\"type\":\"date\"},domProps:{\"value\":(_vm.changedData[control.fields[0].key].value)},on:{\"change\":function($event){return _vm.fieldDataChanged(control.fields[0].key, 'value')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.changedData[control.fields[0].key], \"value\", $event.target.value)}}})])]):(control.fields[0].type === '3')?_c('div',[_c('label',[_vm._v(_vm._s(control.labels[0][_vm.languageCode]))]),_c('div',{staticClass:\"input-group\"},[_c('span',{staticClass:\"input-group-addon\",attrs:{\"id\":control.fields[0].key + '-span'}},[_c('input',{staticClass:\"checkbox-align\",attrs:{\"id\":control.fields[0].key + '-use',\"type\":\"checkbox\"},on:{\"change\":function($event){return _vm.fieldDataChanged(control.fields[0].key, 'use')}}})]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changedData[control.fields[0].key].value),expression:\"changedData[control.fields[0].key].value\"}],staticClass:\"form-control col-sm-12 custom-select\",attrs:{\"type\":\"text\",\"list\":control.fields[0].key + '-list'},domProps:{\"value\":(_vm.changedData[control.fields[0].key].value)},on:{\"change\":function($event){return _vm.fieldDataChanged(control.fields[0].key, 'value')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.changedData[control.fields[0].key], \"value\", $event.target.value)}}}),_c('datalist',{attrs:{\"id\":control.fields[0].key + '-list'}},_vm._l((_vm.listsOptions[control.fields[0].key]),function(option,index){return _c('option',{key:index,domProps:{\"value\":option.text[0][_vm.languageCode]}},[_vm._v(\" \"+_vm._s(option.text[0][_vm.languageCode])+\" \")])}),0)])]):(control.fields[0].type === '4')?_c('div',[_c('label',[_vm._v(_vm._s(control.labels[0][_vm.languageCode]))]),_c('div',{staticClass:\"input-group\"},[_c('span',{staticClass:\"input-group-addon\",attrs:{\"id\":control.fields[0].key + '-span'}},[_c('input',{staticClass:\"checkbox-align\",attrs:{\"id\":control.fields[0].key + '-use',\"type\":\"checkbox\"},on:{\"change\":function($event){return _vm.fieldDataChanged(control.fields[0].key, 'use')}}})]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changedData[control.fields[0].key].value),expression:\"changedData[control.fields[0].key].value\"}],staticClass:\"form-control\",on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.changedData[control.fields[0].key], \"value\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.fieldDataChanged(control.fields[0].key, 'value')}]}},[_c('option',{attrs:{\"value\":\"false\",\"label\":_vm.$t('toggle.no')}},[_vm._v(\" \"+_vm._s(_vm.$t('toggle.no'))+\" \")]),_c('option',{attrs:{\"value\":\"true\",\"label\":_vm.$t('toggle.yes')}},[_vm._v(\" \"+_vm._s(_vm.$t('toggle.yes'))+\" \")])])])]):(control.fields[0].type === '30')?_c('div',[_c('label',[_vm._v(_vm._s(control.labels[0][_vm.languageCode]))]),_c('div',{staticClass:\"input-group\"},[_c('span',{staticClass:\"input-group-addon\",attrs:{\"id\":control.fields[0].key + '-span'}},[_c('input',{staticClass:\"checkbox-align\",attrs:{\"id\":control.fields[0].key + '-use',\"type\":\"checkbox\"},on:{\"change\":function($event){return _vm.fieldDataChanged(control.fields[0].key, 'use')}}})]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changedData[control.fields[0].key].value),expression:\"changedData[control.fields[0].key].value\"}],staticClass:\"form-control\",on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.changedData[control.fields[0].key], \"value\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.fieldDataChanged(control.fields[0].key, 'value')}]}},[_c('option',{attrs:{\"value\":\"\"}}),_vm._l((_vm.sublocations),function(sublocation,index){return _c('option',{key:index,domProps:{\"value\":sublocation.SlID}},[_vm._v(\" \"+_vm._s(sublocation.SlName)+\" \")])})],2)])]):_vm._e(),_c('div')])}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiEditDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiEditDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MultiEditDialog.vue?vue&type=template&id=084fe1f6&scoped=true\"\nimport script from \"./MultiEditDialog.vue?vue&type=script&lang=js\"\nexport * from \"./MultiEditDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./MultiEditDialog.vue?vue&type=style&index=0&id=084fe1f6&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"084fe1f6\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerraIndexDynamicTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TerraIndexDynamicTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TerraIndexDynamicTable.vue?vue&type=template&id=90a82c22\"\nimport script from \"./TerraIndexDynamicTable.vue?vue&type=script&lang=js\"\nexport * from \"./TerraIndexDynamicTable.vue?vue&type=script&lang=js\"\nimport style0 from \"./TerraIndexDynamicTable.vue?vue&type=style&index=0&id=90a82c22&prod&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * @module ol/reproj/common\n */\n/**\n * Default maximum allowed threshold (in pixels) for reprojection\n * triangulation.\n * @type {number}\n */\nexport var ERROR_THRESHOLD = 0.5;\n/**\n * Enable automatic reprojection of raster sources. Default is `true`.\n * TODO: decide if we want to expose this as a build flag or remove it\n * @type {boolean}\n */\nexport var ENABLE_RASTER_REPROJECTION = true;\n//# sourceMappingURL=common.js.map","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./labAssignmentsInfoWidget.vue?vue&type=style&index=0&id=4cc7232b&prod&scoped=true&lang=css\"","/**\n * @module ol/style/Image\n */\nimport { abstract } from '../util.js';\nimport { toSize } from '../size.js';\n/**\n * @typedef {Object} Options\n * @property {number} opacity Opacity.\n * @property {boolean} rotateWithView If the image should get rotated with the view.\n * @property {number} rotation Rotation.\n * @property {number|import(\"../size.js\").Size} scale Scale.\n * @property {Array} displacement Displacement.\n * @property {\"declutter\"|\"obstacle\"|\"none\"|undefined} declutterMode Declutter mode: `declutter`, `obstacle`, 'none */\n/**\n * @classdesc\n * A base class used for creating subclasses and not instantiated in\n * apps. Base class for {@link module:ol/style/Icon~Icon}, {@link module:ol/style/Circle~CircleStyle} and\n * {@link module:ol/style/RegularShape~RegularShape}.\n * @abstract\n * @api\n */\nvar ImageStyle = /** @class */ (function () {\n /**\n * @param {Options} options Options.\n */\n function ImageStyle(options) {\n /**\n * @private\n * @type {number}\n */\n this.opacity_ = options.opacity;\n /**\n * @private\n * @type {boolean}\n */\n this.rotateWithView_ = options.rotateWithView;\n /**\n * @private\n * @type {number}\n */\n this.rotation_ = options.rotation;\n /**\n * @private\n * @type {number|import(\"../size.js\").Size}\n */\n this.scale_ = options.scale;\n /**\n * @private\n * @type {import(\"../size.js\").Size}\n */\n this.scaleArray_ = toSize(options.scale);\n /**\n * @private\n * @type {Array}\n */\n this.displacement_ = options.displacement;\n /**\n * @private\n * @type {\"declutter\"|\"obstacle\"|\"none\"|undefined}\n */\n this.declutterMode_ = options.declutterMode;\n }\n /**\n * Clones the style.\n * @return {ImageStyle} The cloned style.\n * @api\n */\n ImageStyle.prototype.clone = function () {\n var scale = this.getScale();\n return new ImageStyle({\n opacity: this.getOpacity(),\n scale: Array.isArray(scale) ? scale.slice() : scale,\n rotation: this.getRotation(),\n rotateWithView: this.getRotateWithView(),\n displacement: this.getDisplacement().slice(),\n declutterMode: this.getDeclutterMode(),\n });\n };\n /**\n * Get the symbolizer opacity.\n * @return {number} Opacity.\n * @api\n */\n ImageStyle.prototype.getOpacity = function () {\n return this.opacity_;\n };\n /**\n * Determine whether the symbolizer rotates with the map.\n * @return {boolean} Rotate with map.\n * @api\n */\n ImageStyle.prototype.getRotateWithView = function () {\n return this.rotateWithView_;\n };\n /**\n * Get the symoblizer rotation.\n * @return {number} Rotation.\n * @api\n */\n ImageStyle.prototype.getRotation = function () {\n return this.rotation_;\n };\n /**\n * Get the symbolizer scale.\n * @return {number|import(\"../size.js\").Size} Scale.\n * @api\n */\n ImageStyle.prototype.getScale = function () {\n return this.scale_;\n };\n /**\n * Get the symbolizer scale array.\n * @return {import(\"../size.js\").Size} Scale array.\n */\n ImageStyle.prototype.getScaleArray = function () {\n return this.scaleArray_;\n };\n /**\n * Get the displacement of the shape\n * @return {Array} Shape's center displacement\n * @api\n */\n ImageStyle.prototype.getDisplacement = function () {\n return this.displacement_;\n };\n /**\n * Get the declutter mode of the shape\n * @return {\"declutter\"|\"obstacle\"|\"none\"|undefined} Shape's declutter mode\n * @api\n */\n ImageStyle.prototype.getDeclutterMode = function () {\n return this.declutterMode_;\n };\n /**\n * Get the anchor point in pixels. The anchor determines the center point for the\n * symbolizer.\n * @abstract\n * @return {Array} Anchor.\n */\n ImageStyle.prototype.getAnchor = function () {\n return abstract();\n };\n /**\n * Get the image element for the symbolizer.\n * @abstract\n * @param {number} pixelRatio Pixel ratio.\n * @return {HTMLCanvasElement|HTMLVideoElement|HTMLImageElement} Image element.\n */\n ImageStyle.prototype.getImage = function (pixelRatio) {\n return abstract();\n };\n /**\n * @abstract\n * @return {HTMLCanvasElement|HTMLVideoElement|HTMLImageElement} Image element.\n */\n ImageStyle.prototype.getHitDetectionImage = function () {\n return abstract();\n };\n /**\n * Get the image pixel ratio.\n * @param {number} pixelRatio Pixel ratio.\n * @return {number} Pixel ratio.\n */\n ImageStyle.prototype.getPixelRatio = function (pixelRatio) {\n return 1;\n };\n /**\n * @abstract\n * @return {import(\"../ImageState.js\").default} Image state.\n */\n ImageStyle.prototype.getImageState = function () {\n return abstract();\n };\n /**\n * @abstract\n * @return {import(\"../size.js\").Size} Image size.\n */\n ImageStyle.prototype.getImageSize = function () {\n return abstract();\n };\n /**\n * Get the origin of the symbolizer.\n * @abstract\n * @return {Array} Origin.\n */\n ImageStyle.prototype.getOrigin = function () {\n return abstract();\n };\n /**\n * Get the size of the symbolizer (in pixels).\n * @abstract\n * @return {import(\"../size.js\").Size} Size.\n */\n ImageStyle.prototype.getSize = function () {\n return abstract();\n };\n /**\n * Set the displacement.\n *\n * @param {Array} displacement Displacement.\n * @api\n */\n ImageStyle.prototype.setDisplacement = function (displacement) {\n this.displacement_ = displacement;\n };\n /**\n * Set the opacity.\n *\n * @param {number} opacity Opacity.\n * @api\n */\n ImageStyle.prototype.setOpacity = function (opacity) {\n this.opacity_ = opacity;\n };\n /**\n * Set whether to rotate the style with the view.\n *\n * @param {boolean} rotateWithView Rotate with map.\n * @api\n */\n ImageStyle.prototype.setRotateWithView = function (rotateWithView) {\n this.rotateWithView_ = rotateWithView;\n };\n /**\n * Set the rotation.\n *\n * @param {number} rotation Rotation.\n * @api\n */\n ImageStyle.prototype.setRotation = function (rotation) {\n this.rotation_ = rotation;\n };\n /**\n * Set the scale.\n *\n * @param {number|import(\"../size.js\").Size} scale Scale.\n * @api\n */\n ImageStyle.prototype.setScale = function (scale) {\n this.scale_ = scale;\n this.scaleArray_ = toSize(scale);\n };\n /**\n * @abstract\n * @param {function(import(\"../events/Event.js\").default): void} listener Listener function.\n */\n ImageStyle.prototype.listenImageChange = function (listener) {\n abstract();\n };\n /**\n * Load not yet loaded URI.\n * @abstract\n */\n ImageStyle.prototype.load = function () {\n abstract();\n };\n /**\n * @abstract\n * @param {function(import(\"../events/Event.js\").default): void} listener Listener function.\n */\n ImageStyle.prototype.unlistenImageChange = function (listener) {\n abstract();\n };\n return ImageStyle;\n}());\nexport default ImageStyle;\n//# sourceMappingURL=Image.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/geom/Circle\n */\nimport SimpleGeometry from './SimpleGeometry.js';\nimport { createOrUpdate, forEachCorner, intersects } from '../extent.js';\nimport { deflateCoordinate } from './flat/deflate.js';\nimport { rotate, translate } from './flat/transform.js';\n/**\n * @classdesc\n * Circle geometry.\n *\n * @api\n */\nvar Circle = /** @class */ (function (_super) {\n __extends(Circle, _super);\n /**\n * @param {!import(\"../coordinate.js\").Coordinate} center Center.\n * For internal use, flat coordinates in combination with `opt_layout` and no\n * `opt_radius` are also accepted.\n * @param {number} [opt_radius] Radius.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n */\n function Circle(center, opt_radius, opt_layout) {\n var _this = _super.call(this) || this;\n if (opt_layout !== undefined && opt_radius === undefined) {\n _this.setFlatCoordinates(opt_layout, center);\n }\n else {\n var radius = opt_radius ? opt_radius : 0;\n _this.setCenterAndRadius(center, radius, opt_layout);\n }\n return _this;\n }\n /**\n * Make a complete copy of the geometry.\n * @return {!Circle} Clone.\n * @api\n */\n Circle.prototype.clone = function () {\n var circle = new Circle(this.flatCoordinates.slice(), undefined, this.layout);\n circle.applyProperties(this);\n return circle;\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../coordinate.js\").Coordinate} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @return {number} Minimum squared distance.\n */\n Circle.prototype.closestPointXY = function (x, y, closestPoint, minSquaredDistance) {\n var flatCoordinates = this.flatCoordinates;\n var dx = x - flatCoordinates[0];\n var dy = y - flatCoordinates[1];\n var squaredDistance = dx * dx + dy * dy;\n if (squaredDistance < minSquaredDistance) {\n if (squaredDistance === 0) {\n for (var i = 0; i < this.stride; ++i) {\n closestPoint[i] = flatCoordinates[i];\n }\n }\n else {\n var delta = this.getRadius() / Math.sqrt(squaredDistance);\n closestPoint[0] = flatCoordinates[0] + delta * dx;\n closestPoint[1] = flatCoordinates[1] + delta * dy;\n for (var i = 2; i < this.stride; ++i) {\n closestPoint[i] = flatCoordinates[i];\n }\n }\n closestPoint.length = this.stride;\n return squaredDistance;\n }\n else {\n return minSquaredDistance;\n }\n };\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\n Circle.prototype.containsXY = function (x, y) {\n var flatCoordinates = this.flatCoordinates;\n var dx = x - flatCoordinates[0];\n var dy = y - flatCoordinates[1];\n return dx * dx + dy * dy <= this.getRadiusSquared_();\n };\n /**\n * Return the center of the circle as {@link module:ol/coordinate~Coordinate coordinate}.\n * @return {import(\"../coordinate.js\").Coordinate} Center.\n * @api\n */\n Circle.prototype.getCenter = function () {\n return this.flatCoordinates.slice(0, this.stride);\n };\n /**\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @protected\n * @return {import(\"../extent.js\").Extent} extent Extent.\n */\n Circle.prototype.computeExtent = function (extent) {\n var flatCoordinates = this.flatCoordinates;\n var radius = flatCoordinates[this.stride] - flatCoordinates[0];\n return createOrUpdate(flatCoordinates[0] - radius, flatCoordinates[1] - radius, flatCoordinates[0] + radius, flatCoordinates[1] + radius, extent);\n };\n /**\n * Return the radius of the circle.\n * @return {number} Radius.\n * @api\n */\n Circle.prototype.getRadius = function () {\n return Math.sqrt(this.getRadiusSquared_());\n };\n /**\n * @private\n * @return {number} Radius squared.\n */\n Circle.prototype.getRadiusSquared_ = function () {\n var dx = this.flatCoordinates[this.stride] - this.flatCoordinates[0];\n var dy = this.flatCoordinates[this.stride + 1] - this.flatCoordinates[1];\n return dx * dx + dy * dy;\n };\n /**\n * Get the type of this geometry.\n * @return {import(\"./Geometry.js\").Type} Geometry type.\n * @api\n */\n Circle.prototype.getType = function () {\n return 'Circle';\n };\n /**\n * Test if the geometry and the passed extent intersect.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {boolean} `true` if the geometry and the extent intersect.\n * @api\n */\n Circle.prototype.intersectsExtent = function (extent) {\n var circleExtent = this.getExtent();\n if (intersects(extent, circleExtent)) {\n var center = this.getCenter();\n if (extent[0] <= center[0] && extent[2] >= center[0]) {\n return true;\n }\n if (extent[1] <= center[1] && extent[3] >= center[1]) {\n return true;\n }\n return forEachCorner(extent, this.intersectsCoordinate.bind(this));\n }\n return false;\n };\n /**\n * Set the center of the circle as {@link module:ol/coordinate~Coordinate coordinate}.\n * @param {import(\"../coordinate.js\").Coordinate} center Center.\n * @api\n */\n Circle.prototype.setCenter = function (center) {\n var stride = this.stride;\n var radius = this.flatCoordinates[stride] - this.flatCoordinates[0];\n var flatCoordinates = center.slice();\n flatCoordinates[stride] = flatCoordinates[0] + radius;\n for (var i = 1; i < stride; ++i) {\n flatCoordinates[stride + i] = center[i];\n }\n this.setFlatCoordinates(this.layout, flatCoordinates);\n this.changed();\n };\n /**\n * Set the center (as {@link module:ol/coordinate~Coordinate coordinate}) and the radius (as\n * number) of the circle.\n * @param {!import(\"../coordinate.js\").Coordinate} center Center.\n * @param {number} radius Radius.\n * @param {import(\"./GeometryLayout.js\").default} [opt_layout] Layout.\n * @api\n */\n Circle.prototype.setCenterAndRadius = function (center, radius, opt_layout) {\n this.setLayout(opt_layout, center, 0);\n if (!this.flatCoordinates) {\n this.flatCoordinates = [];\n }\n /** @type {Array} */\n var flatCoordinates = this.flatCoordinates;\n var offset = deflateCoordinate(flatCoordinates, 0, center, this.stride);\n flatCoordinates[offset++] = flatCoordinates[0] + radius;\n for (var i = 1, ii = this.stride; i < ii; ++i) {\n flatCoordinates[offset++] = flatCoordinates[i];\n }\n flatCoordinates.length = offset;\n this.changed();\n };\n Circle.prototype.getCoordinates = function () {\n return null;\n };\n Circle.prototype.setCoordinates = function (coordinates, opt_layout) { };\n /**\n * Set the radius of the circle. The radius is in the units of the projection.\n * @param {number} radius Radius.\n * @api\n */\n Circle.prototype.setRadius = function (radius) {\n this.flatCoordinates[this.stride] = this.flatCoordinates[0] + radius;\n this.changed();\n };\n /**\n * Rotate the geometry around a given coordinate. This modifies the geometry\n * coordinates in place.\n * @param {number} angle Rotation angle in counter-clockwise radians.\n * @param {import(\"../coordinate.js\").Coordinate} anchor The rotation center.\n * @api\n */\n Circle.prototype.rotate = function (angle, anchor) {\n var center = this.getCenter();\n var stride = this.getStride();\n this.setCenter(rotate(center, 0, center.length, stride, angle, anchor, center));\n this.changed();\n };\n /**\n * Translate the geometry. This modifies the geometry coordinates in place. If\n * instead you want a new geometry, first `clone()` this geometry.\n * @param {number} deltaX Delta X.\n * @param {number} deltaY Delta Y.\n * @api\n */\n Circle.prototype.translate = function (deltaX, deltaY) {\n var center = this.getCenter();\n var stride = this.getStride();\n this.setCenter(translate(center, 0, center.length, stride, deltaX, deltaY, center));\n this.changed();\n };\n return Circle;\n}(SimpleGeometry));\n/**\n * Transform each coordinate of the circle from one coordinate reference system\n * to another. The geometry is modified in place.\n * If you do not want the geometry modified in place, first clone() it and\n * then use this function on the clone.\n *\n * Internally a circle is currently represented by two points: the center of\n * the circle `[cx, cy]`, and the point to the right of the circle\n * `[cx + r, cy]`. This `transform` function just transforms these two points.\n * So the resulting geometry is also a circle, and that circle does not\n * correspond to the shape that would be obtained by transforming every point\n * of the original circle.\n *\n * @param {import(\"../proj.js\").ProjectionLike} source The current projection. Can be a\n * string identifier or a {@link module:ol/proj/Projection~Projection} object.\n * @param {import(\"../proj.js\").ProjectionLike} destination The desired projection. Can be a\n * string identifier or a {@link module:ol/proj/Projection~Projection} object.\n * @return {Circle} This geometry. Note that original geometry is\n * modified in place.\n * @function\n * @api\n */\nCircle.prototype.transform;\nexport default Circle;\n//# sourceMappingURL=Circle.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/interaction/Draw\n */\nimport Circle from '../geom/Circle.js';\nimport Event from '../events/Event.js';\nimport EventType from '../events/EventType.js';\nimport Feature from '../Feature.js';\nimport GeometryLayout from '../geom/GeometryLayout.js';\nimport InteractionProperty from './Property.js';\nimport LineString from '../geom/LineString.js';\nimport MapBrowserEvent from '../MapBrowserEvent.js';\nimport MapBrowserEventType from '../MapBrowserEventType.js';\nimport MultiLineString from '../geom/MultiLineString.js';\nimport MultiPoint from '../geom/MultiPoint.js';\nimport MultiPolygon from '../geom/MultiPolygon.js';\nimport Point from '../geom/Point.js';\nimport PointerInteraction from './Pointer.js';\nimport Polygon, { fromCircle, makeRegular } from '../geom/Polygon.js';\nimport VectorLayer from '../layer/Vector.js';\nimport VectorSource from '../source/Vector.js';\nimport { FALSE, TRUE } from '../functions.js';\nimport { always, noModifierKeys, shiftKeyOnly } from '../events/condition.js';\nimport { boundingExtent, getBottomLeft, getBottomRight, getTopLeft, getTopRight, } from '../extent.js';\nimport { createEditingStyle } from '../style/Style.js';\nimport { fromUserCoordinate, getUserProjection } from '../proj.js';\nimport { getStrideForLayout } from '../geom/SimpleGeometry.js';\nimport { squaredDistance as squaredCoordinateDistance } from '../coordinate.js';\n/**\n * @typedef {Object} Options\n * @property {import(\"../geom/Geometry.js\").Type} type Geometry type of\n * the geometries being drawn with this instance.\n * @property {number} [clickTolerance=6] The maximum distance in pixels between\n * \"down\" and \"up\" for a \"up\" event to be considered a \"click\" event and\n * actually add a point/vertex to the geometry being drawn. The default of `6`\n * was chosen for the draw interaction to behave correctly on mouse as well as\n * on touch devices.\n * @property {import(\"../Collection.js\").default} [features]\n * Destination collection for the drawn features.\n * @property {VectorSource} [source] Destination source for\n * the drawn features.\n * @property {number} [dragVertexDelay=500] Delay in milliseconds after pointerdown\n * before the current vertex can be dragged to its exact position.\n * @property {number} [snapTolerance=12] Pixel distance for snapping to the\n * drawing finish. Must be greater than `0`.\n * @property {boolean} [stopClick=false] Stop click, singleclick, and\n * doubleclick events from firing during drawing.\n * @property {number} [maxPoints] The number of points that can be drawn before\n * a polygon ring or line string is finished. By default there is no\n * restriction.\n * @property {number} [minPoints] The number of points that must be drawn\n * before a polygon ring or line string can be finished. Default is `3` for\n * polygon rings and `2` for line strings.\n * @property {import(\"../events/condition.js\").Condition} [finishCondition] A function\n * that takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether the drawing can be finished. Not used when drawing\n * POINT or MULTI_POINT geometries.\n * @property {import(\"../style/Style.js\").StyleLike} [style]\n * Style for sketch features.\n * @property {GeometryFunction} [geometryFunction]\n * Function that is called when a geometry's coordinates are updated.\n * @property {string} [geometryName] Geometry name to use for features created\n * by the draw interaction.\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that\n * takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled.\n * By default {@link module:ol/events/condition.noModifierKeys}, i.e. a click,\n * adds a vertex or deactivates freehand drawing.\n * @property {boolean} [freehand=false] Operate in freehand mode for lines,\n * polygons, and circles. This makes the interaction always operate in freehand\n * mode and takes precedence over any `freehandCondition` option.\n * @property {import(\"../events/condition.js\").Condition} [freehandCondition]\n * Condition that activates freehand drawing for lines and polygons. This\n * function takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and\n * returns a boolean to indicate whether that event should be handled. The\n * default is {@link module:ol/events/condition.shiftKeyOnly}, meaning that the\n * Shift key activates freehand drawing.\n * @property {boolean} [wrapX=false] Wrap the world horizontally on the sketch\n * overlay.\n * @property {GeometryLayout} [geometryLayout='XY'] Layout of the\n * feature geometries created by the draw interaction.\n */\n/**\n * Coordinate type when drawing points.\n * @typedef {import(\"../coordinate.js\").Coordinate} PointCoordType\n */\n/**\n * Coordinate type when drawing lines.\n * @typedef {Array} LineCoordType\n */\n/**\n * Coordinate type when drawing polygons.\n * @typedef {Array>} PolyCoordType\n */\n/**\n * Types used for drawing coordinates.\n * @typedef {PointCoordType|LineCoordType|PolyCoordType} SketchCoordType\n */\n/**\n * Function that takes an array of coordinates and an optional existing geometry\n * and a projection as arguments, and returns a geometry. The optional existing\n * geometry is the geometry that is returned when the function is called without\n * a second argument.\n * @typedef {function(!SketchCoordType, import(\"../geom/SimpleGeometry.js\").default,\n * import(\"../proj/Projection.js\").default):\n * import(\"../geom/SimpleGeometry.js\").default} GeometryFunction\n */\n/**\n * Draw mode. This collapses multi-part geometry types with their single-part\n * cousins.\n * @enum {string}\n */\nvar Mode = {\n POINT: 'Point',\n LINE_STRING: 'LineString',\n POLYGON: 'Polygon',\n CIRCLE: 'Circle',\n};\n/**\n * @enum {string}\n */\nvar DrawEventType = {\n /**\n * Triggered upon feature draw start\n * @event DrawEvent#drawstart\n * @api\n */\n DRAWSTART: 'drawstart',\n /**\n * Triggered upon feature draw end\n * @event DrawEvent#drawend\n * @api\n */\n DRAWEND: 'drawend',\n /**\n * Triggered upon feature draw abortion\n * @event DrawEvent#drawabort\n * @api\n */\n DRAWABORT: 'drawabort',\n};\n/**\n * @classdesc\n * Events emitted by {@link module:ol/interaction/Draw~Draw} instances are\n * instances of this type.\n */\nvar DrawEvent = /** @class */ (function (_super) {\n __extends(DrawEvent, _super);\n /**\n * @param {DrawEventType} type Type.\n * @param {Feature} feature The feature drawn.\n */\n function DrawEvent(type, feature) {\n var _this = _super.call(this, type) || this;\n /**\n * The feature being drawn.\n * @type {Feature}\n * @api\n */\n _this.feature = feature;\n return _this;\n }\n return DrawEvent;\n}(Event));\nexport { DrawEvent };\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature<'drawabort'|'drawend'|'drawstart', DrawEvent, Return> &\n * import(\"../Observable\").CombinedOnSignature} DrawOnSignature\n */\n/**\n * @classdesc\n * Interaction for drawing feature geometries.\n *\n * @fires DrawEvent\n * @api\n */\nvar Draw = /** @class */ (function (_super) {\n __extends(Draw, _super);\n /**\n * @param {Options} options Options.\n */\n function Draw(options) {\n var _this = this;\n var pointerOptions = /** @type {import(\"./Pointer.js\").Options} */ (options);\n if (!pointerOptions.stopDown) {\n pointerOptions.stopDown = FALSE;\n }\n _this = _super.call(this, pointerOptions) || this;\n /***\n * @type {DrawOnSignature}\n */\n _this.on;\n /***\n * @type {DrawOnSignature}\n */\n _this.once;\n /***\n * @type {DrawOnSignature}\n */\n _this.un;\n /**\n * @type {boolean}\n * @private\n */\n _this.shouldHandle_ = false;\n /**\n * @type {import(\"../pixel.js\").Pixel}\n * @private\n */\n _this.downPx_ = null;\n /**\n * @type {?}\n * @private\n */\n _this.downTimeout_;\n /**\n * @type {number|undefined}\n * @private\n */\n _this.lastDragTime_;\n /**\n * Pointer type of the last pointermove event\n * @type {string}\n * @private\n */\n _this.pointerType_;\n /**\n * @type {boolean}\n * @private\n */\n _this.freehand_ = false;\n /**\n * Target source for drawn features.\n * @type {VectorSource|null}\n * @private\n */\n _this.source_ = options.source ? options.source : null;\n /**\n * Target collection for drawn features.\n * @type {import(\"../Collection.js\").default|null}\n * @private\n */\n _this.features_ = options.features ? options.features : null;\n /**\n * Pixel distance for snapping.\n * @type {number}\n * @private\n */\n _this.snapTolerance_ = options.snapTolerance ? options.snapTolerance : 12;\n /**\n * Geometry type.\n * @type {import(\"../geom/Geometry.js\").Type}\n * @private\n */\n _this.type_ = /** @type {import(\"../geom/Geometry.js\").Type} */ (options.type);\n /**\n * Drawing mode (derived from geometry type.\n * @type {Mode}\n * @private\n */\n _this.mode_ = getMode(_this.type_);\n /**\n * Stop click, singleclick, and doubleclick events from firing during drawing.\n * Default is `false`.\n * @type {boolean}\n * @private\n */\n _this.stopClick_ = !!options.stopClick;\n /**\n * The number of points that must be drawn before a polygon ring or line\n * string can be finished. The default is 3 for polygon rings and 2 for\n * line strings.\n * @type {number}\n * @private\n */\n _this.minPoints_ = options.minPoints\n ? options.minPoints\n : _this.mode_ === Mode.POLYGON\n ? 3\n : 2;\n /**\n * The number of points that can be drawn before a polygon ring or line string\n * is finished. The default is no restriction.\n * @type {number}\n * @private\n */\n _this.maxPoints_ =\n _this.mode_ === Mode.CIRCLE\n ? 2\n : options.maxPoints\n ? options.maxPoints\n : Infinity;\n /**\n * A function to decide if a potential finish coordinate is permissible\n * @private\n * @type {import(\"../events/condition.js\").Condition}\n */\n _this.finishCondition_ = options.finishCondition\n ? options.finishCondition\n : TRUE;\n /**\n * @private\n * @type {import(\"../geom/GeometryLayout\").default}\n */\n _this.geometryLayout_ = options.geometryLayout\n ? options.geometryLayout\n : GeometryLayout.XY;\n var geometryFunction = options.geometryFunction;\n if (!geometryFunction) {\n var mode_1 = _this.mode_;\n if (mode_1 === Mode.CIRCLE) {\n /**\n * @param {!LineCoordType} coordinates The coordinates.\n * @param {import(\"../geom/SimpleGeometry.js\").default|undefined} geometry Optional geometry.\n * @param {import(\"../proj/Projection.js\").default} projection The view projection.\n * @return {import(\"../geom/SimpleGeometry.js\").default} A geometry.\n */\n geometryFunction = function (coordinates, geometry, projection) {\n var circle = geometry\n ? /** @type {Circle} */ (geometry)\n : new Circle([NaN, NaN]);\n var center = fromUserCoordinate(coordinates[0], projection);\n var squaredLength = squaredCoordinateDistance(center, fromUserCoordinate(coordinates[coordinates.length - 1], projection));\n circle.setCenterAndRadius(center, Math.sqrt(squaredLength), this.geometryLayout_);\n var userProjection = getUserProjection();\n if (userProjection) {\n circle.transform(projection, userProjection);\n }\n return circle;\n };\n }\n else {\n var Constructor_1;\n if (mode_1 === Mode.POINT) {\n Constructor_1 = Point;\n }\n else if (mode_1 === Mode.LINE_STRING) {\n Constructor_1 = LineString;\n }\n else if (mode_1 === Mode.POLYGON) {\n Constructor_1 = Polygon;\n }\n /**\n * @param {!LineCoordType} coordinates The coordinates.\n * @param {import(\"../geom/SimpleGeometry.js\").default|undefined} geometry Optional geometry.\n * @param {import(\"../proj/Projection.js\").default} projection The view projection.\n * @return {import(\"../geom/SimpleGeometry.js\").default} A geometry.\n */\n geometryFunction = function (coordinates, geometry, projection) {\n if (geometry) {\n if (mode_1 === Mode.POLYGON) {\n if (coordinates[0].length) {\n // Add a closing coordinate to match the first\n geometry.setCoordinates([coordinates[0].concat([coordinates[0][0]])], this.geometryLayout_);\n }\n else {\n geometry.setCoordinates([], this.geometryLayout_);\n }\n }\n else {\n geometry.setCoordinates(coordinates, this.geometryLayout_);\n }\n }\n else {\n geometry = new Constructor_1(coordinates, this.geometryLayout_);\n }\n return geometry;\n };\n }\n }\n /**\n * @type {GeometryFunction}\n * @private\n */\n _this.geometryFunction_ = geometryFunction;\n /**\n * @type {number}\n * @private\n */\n _this.dragVertexDelay_ =\n options.dragVertexDelay !== undefined ? options.dragVertexDelay : 500;\n /**\n * Finish coordinate for the feature (first point for polygons, last point for\n * linestrings).\n * @type {import(\"../coordinate.js\").Coordinate}\n * @private\n */\n _this.finishCoordinate_ = null;\n /**\n * Sketch feature.\n * @type {Feature}\n * @private\n */\n _this.sketchFeature_ = null;\n /**\n * Sketch point.\n * @type {Feature}\n * @private\n */\n _this.sketchPoint_ = null;\n /**\n * Sketch coordinates. Used when drawing a line or polygon.\n * @type {SketchCoordType}\n * @private\n */\n _this.sketchCoords_ = null;\n /**\n * Sketch line. Used when drawing polygon.\n * @type {Feature}\n * @private\n */\n _this.sketchLine_ = null;\n /**\n * Sketch line coordinates. Used when drawing a polygon or circle.\n * @type {LineCoordType}\n * @private\n */\n _this.sketchLineCoords_ = null;\n /**\n * Squared tolerance for handling up events. If the squared distance\n * between a down and up event is greater than this tolerance, up events\n * will not be handled.\n * @type {number}\n * @private\n */\n _this.squaredClickTolerance_ = options.clickTolerance\n ? options.clickTolerance * options.clickTolerance\n : 36;\n /**\n * Draw overlay where our sketch features are drawn.\n * @type {VectorLayer}\n * @private\n */\n _this.overlay_ = new VectorLayer({\n source: new VectorSource({\n useSpatialIndex: false,\n wrapX: options.wrapX ? options.wrapX : false,\n }),\n style: options.style ? options.style : getDefaultStyleFunction(),\n updateWhileInteracting: true,\n });\n /**\n * Name of the geometry attribute for newly created features.\n * @type {string|undefined}\n * @private\n */\n _this.geometryName_ = options.geometryName;\n /**\n * @private\n * @type {import(\"../events/condition.js\").Condition}\n */\n _this.condition_ = options.condition ? options.condition : noModifierKeys;\n /**\n * @private\n * @type {import(\"../events/condition.js\").Condition}\n */\n _this.freehandCondition_;\n if (options.freehand) {\n _this.freehandCondition_ = always;\n }\n else {\n _this.freehandCondition_ = options.freehandCondition\n ? options.freehandCondition\n : shiftKeyOnly;\n }\n _this.addChangeListener(InteractionProperty.ACTIVE, _this.updateState_);\n return _this;\n }\n /**\n * Remove the interaction from its current map and attach it to the new map.\n * Subclasses may set up event handlers to get notified about changes to\n * the map here.\n * @param {import(\"../PluggableMap.js\").default} map Map.\n */\n Draw.prototype.setMap = function (map) {\n _super.prototype.setMap.call(this, map);\n this.updateState_();\n };\n /**\n * Get the overlay layer that this interaction renders sketch features to.\n * @return {VectorLayer} Overlay layer.\n * @api\n */\n Draw.prototype.getOverlay = function () {\n return this.overlay_;\n };\n /**\n * Handles the {@link module:ol/MapBrowserEvent~MapBrowserEvent map browser event} and may actually draw or finish the drawing.\n * @param {import(\"../MapBrowserEvent.js\").default} event Map browser event.\n * @return {boolean} `false` to stop event propagation.\n * @api\n */\n Draw.prototype.handleEvent = function (event) {\n if (event.originalEvent.type === EventType.CONTEXTMENU) {\n // Avoid context menu for long taps when drawing on mobile\n event.originalEvent.preventDefault();\n }\n this.freehand_ =\n this.mode_ !== Mode.POINT && this.freehandCondition_(event);\n var move = event.type === MapBrowserEventType.POINTERMOVE;\n var pass = true;\n if (!this.freehand_ &&\n this.lastDragTime_ &&\n event.type === MapBrowserEventType.POINTERDRAG) {\n var now = Date.now();\n if (now - this.lastDragTime_ >= this.dragVertexDelay_) {\n this.downPx_ = event.pixel;\n this.shouldHandle_ = !this.freehand_;\n move = true;\n }\n else {\n this.lastDragTime_ = undefined;\n }\n if (this.shouldHandle_ && this.downTimeout_ !== undefined) {\n clearTimeout(this.downTimeout_);\n this.downTimeout_ = undefined;\n }\n }\n if (this.freehand_ &&\n event.type === MapBrowserEventType.POINTERDRAG &&\n this.sketchFeature_ !== null) {\n this.addToDrawing_(event.coordinate);\n pass = false;\n }\n else if (this.freehand_ &&\n event.type === MapBrowserEventType.POINTERDOWN) {\n pass = false;\n }\n else if (move && this.getPointerCount() < 2) {\n pass = event.type === MapBrowserEventType.POINTERMOVE;\n if (pass && this.freehand_) {\n this.handlePointerMove_(event);\n if (this.shouldHandle_) {\n // Avoid page scrolling when freehand drawing on mobile\n event.originalEvent.preventDefault();\n }\n }\n else if (event.originalEvent.pointerType === 'mouse' ||\n (event.type === MapBrowserEventType.POINTERDRAG &&\n this.downTimeout_ === undefined)) {\n this.handlePointerMove_(event);\n }\n }\n else if (event.type === MapBrowserEventType.DBLCLICK) {\n pass = false;\n }\n return _super.prototype.handleEvent.call(this, event) && pass;\n };\n /**\n * Handle pointer down events.\n * @param {import(\"../MapBrowserEvent.js\").default} event Event.\n * @return {boolean} If the event was consumed.\n */\n Draw.prototype.handleDownEvent = function (event) {\n this.shouldHandle_ = !this.freehand_;\n if (this.freehand_) {\n this.downPx_ = event.pixel;\n if (!this.finishCoordinate_) {\n this.startDrawing_(event.coordinate);\n }\n return true;\n }\n else if (this.condition_(event)) {\n this.lastDragTime_ = Date.now();\n this.downTimeout_ = setTimeout(function () {\n this.handlePointerMove_(new MapBrowserEvent(MapBrowserEventType.POINTERMOVE, event.map, event.originalEvent, false, event.frameState));\n }.bind(this), this.dragVertexDelay_);\n this.downPx_ = event.pixel;\n return true;\n }\n else {\n this.lastDragTime_ = undefined;\n return false;\n }\n };\n /**\n * Handle pointer up events.\n * @param {import(\"../MapBrowserEvent.js\").default} event Event.\n * @return {boolean} If the event was consumed.\n */\n Draw.prototype.handleUpEvent = function (event) {\n var pass = true;\n if (this.getPointerCount() === 0) {\n if (this.downTimeout_) {\n clearTimeout(this.downTimeout_);\n this.downTimeout_ = undefined;\n }\n this.handlePointerMove_(event);\n if (this.shouldHandle_) {\n var startingToDraw = !this.finishCoordinate_;\n if (startingToDraw) {\n this.startDrawing_(event.coordinate);\n }\n if (!startingToDraw && this.freehand_) {\n this.finishDrawing();\n }\n else if (!this.freehand_ &&\n (!startingToDraw || this.mode_ === Mode.POINT)) {\n if (this.atFinish_(event.pixel)) {\n if (this.finishCondition_(event)) {\n this.finishDrawing();\n }\n }\n else {\n this.addToDrawing_(event.coordinate);\n }\n }\n pass = false;\n }\n else if (this.freehand_) {\n this.abortDrawing();\n }\n }\n if (!pass && this.stopClick_) {\n event.preventDefault();\n }\n return pass;\n };\n /**\n * Handle move events.\n * @param {import(\"../MapBrowserEvent.js\").default} event A move event.\n * @private\n */\n Draw.prototype.handlePointerMove_ = function (event) {\n this.pointerType_ = event.originalEvent.pointerType;\n if (this.downPx_ &&\n ((!this.freehand_ && this.shouldHandle_) ||\n (this.freehand_ && !this.shouldHandle_))) {\n var downPx = this.downPx_;\n var clickPx = event.pixel;\n var dx = downPx[0] - clickPx[0];\n var dy = downPx[1] - clickPx[1];\n var squaredDistance = dx * dx + dy * dy;\n this.shouldHandle_ = this.freehand_\n ? squaredDistance > this.squaredClickTolerance_\n : squaredDistance <= this.squaredClickTolerance_;\n if (!this.shouldHandle_) {\n return;\n }\n }\n if (this.finishCoordinate_) {\n this.modifyDrawing_(event.coordinate);\n }\n else {\n this.createOrUpdateSketchPoint_(event.coordinate.slice());\n }\n };\n /**\n * Determine if an event is within the snapping tolerance of the start coord.\n * @param {import(\"../pixel.js\").Pixel} pixel Pixel.\n * @return {boolean} The event is within the snapping tolerance of the start.\n * @private\n */\n Draw.prototype.atFinish_ = function (pixel) {\n var at = false;\n if (this.sketchFeature_) {\n var potentiallyDone = false;\n var potentiallyFinishCoordinates = [this.finishCoordinate_];\n var mode = this.mode_;\n if (mode === Mode.POINT) {\n at = true;\n }\n else if (mode === Mode.CIRCLE) {\n at = this.sketchCoords_.length === 2;\n }\n else if (mode === Mode.LINE_STRING) {\n potentiallyDone = this.sketchCoords_.length > this.minPoints_;\n }\n else if (mode === Mode.POLYGON) {\n var sketchCoords = /** @type {PolyCoordType} */ (this.sketchCoords_);\n potentiallyDone = sketchCoords[0].length > this.minPoints_;\n potentiallyFinishCoordinates = [\n sketchCoords[0][0],\n sketchCoords[0][sketchCoords[0].length - 2],\n ];\n }\n if (potentiallyDone) {\n var map = this.getMap();\n for (var i = 0, ii = potentiallyFinishCoordinates.length; i < ii; i++) {\n var finishCoordinate = potentiallyFinishCoordinates[i];\n var finishPixel = map.getPixelFromCoordinate(finishCoordinate);\n var dx = pixel[0] - finishPixel[0];\n var dy = pixel[1] - finishPixel[1];\n var snapTolerance = this.freehand_ ? 1 : this.snapTolerance_;\n at = Math.sqrt(dx * dx + dy * dy) <= snapTolerance;\n if (at) {\n this.finishCoordinate_ = finishCoordinate;\n break;\n }\n }\n }\n }\n return at;\n };\n /**\n * @param {import(\"../coordinate\").Coordinate} coordinates Coordinate.\n * @private\n */\n Draw.prototype.createOrUpdateSketchPoint_ = function (coordinates) {\n if (!this.sketchPoint_) {\n this.sketchPoint_ = new Feature(new Point(coordinates));\n this.updateSketchFeatures_();\n }\n else {\n var sketchPointGeom = this.sketchPoint_.getGeometry();\n sketchPointGeom.setCoordinates(coordinates);\n }\n };\n /**\n * @param {import(\"../geom/Polygon.js\").default} geometry Polygon geometry.\n * @private\n */\n Draw.prototype.createOrUpdateCustomSketchLine_ = function (geometry) {\n if (!this.sketchLine_) {\n this.sketchLine_ = new Feature();\n }\n var ring = geometry.getLinearRing(0);\n var sketchLineGeom = this.sketchLine_.getGeometry();\n if (!sketchLineGeom) {\n sketchLineGeom = new LineString(ring.getFlatCoordinates(), ring.getLayout());\n this.sketchLine_.setGeometry(sketchLineGeom);\n }\n else {\n sketchLineGeom.setFlatCoordinates(ring.getLayout(), ring.getFlatCoordinates());\n sketchLineGeom.changed();\n }\n };\n /**\n * Start the drawing.\n * @param {import(\"../coordinate.js\").Coordinate} start Start coordinate.\n * @private\n */\n Draw.prototype.startDrawing_ = function (start) {\n var projection = this.getMap().getView().getProjection();\n var stride = getStrideForLayout(this.geometryLayout_);\n while (start.length < stride) {\n start.push(0);\n }\n this.finishCoordinate_ = start;\n if (this.mode_ === Mode.POINT) {\n this.sketchCoords_ = start.slice();\n }\n else if (this.mode_ === Mode.POLYGON) {\n this.sketchCoords_ = [[start.slice(), start.slice()]];\n this.sketchLineCoords_ = this.sketchCoords_[0];\n }\n else {\n this.sketchCoords_ = [start.slice(), start.slice()];\n }\n if (this.sketchLineCoords_) {\n this.sketchLine_ = new Feature(new LineString(this.sketchLineCoords_));\n }\n var geometry = this.geometryFunction_(this.sketchCoords_, undefined, projection);\n this.sketchFeature_ = new Feature();\n if (this.geometryName_) {\n this.sketchFeature_.setGeometryName(this.geometryName_);\n }\n this.sketchFeature_.setGeometry(geometry);\n this.updateSketchFeatures_();\n this.dispatchEvent(new DrawEvent(DrawEventType.DRAWSTART, this.sketchFeature_));\n };\n /**\n * Modify the drawing.\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @private\n */\n Draw.prototype.modifyDrawing_ = function (coordinate) {\n var map = this.getMap();\n var geometry = this.sketchFeature_.getGeometry();\n var projection = map.getView().getProjection();\n var stride = getStrideForLayout(this.geometryLayout_);\n var coordinates, last;\n while (coordinate.length < stride) {\n coordinate.push(0);\n }\n if (this.mode_ === Mode.POINT) {\n last = this.sketchCoords_;\n }\n else if (this.mode_ === Mode.POLYGON) {\n coordinates = /** @type {PolyCoordType} */ (this.sketchCoords_)[0];\n last = coordinates[coordinates.length - 1];\n if (this.atFinish_(map.getPixelFromCoordinate(coordinate))) {\n // snap to finish\n coordinate = this.finishCoordinate_.slice();\n }\n }\n else {\n coordinates = this.sketchCoords_;\n last = coordinates[coordinates.length - 1];\n }\n last[0] = coordinate[0];\n last[1] = coordinate[1];\n this.geometryFunction_(\n /** @type {!LineCoordType} */ (this.sketchCoords_), geometry, projection);\n if (this.sketchPoint_) {\n var sketchPointGeom = this.sketchPoint_.getGeometry();\n sketchPointGeom.setCoordinates(coordinate);\n }\n if (geometry.getType() === 'Polygon' && this.mode_ !== Mode.POLYGON) {\n this.createOrUpdateCustomSketchLine_(/** @type {Polygon} */ (geometry));\n }\n else if (this.sketchLineCoords_) {\n var sketchLineGeom = this.sketchLine_.getGeometry();\n sketchLineGeom.setCoordinates(this.sketchLineCoords_);\n }\n this.updateSketchFeatures_();\n };\n /**\n * Add a new coordinate to the drawing.\n * @param {!PointCoordType} coordinate Coordinate\n * @private\n */\n Draw.prototype.addToDrawing_ = function (coordinate) {\n var geometry = this.sketchFeature_.getGeometry();\n var projection = this.getMap().getView().getProjection();\n var done;\n var coordinates;\n var mode = this.mode_;\n if (mode === Mode.LINE_STRING || mode === Mode.CIRCLE) {\n this.finishCoordinate_ = coordinate.slice();\n coordinates = /** @type {LineCoordType} */ (this.sketchCoords_);\n if (coordinates.length >= this.maxPoints_) {\n if (this.freehand_) {\n coordinates.pop();\n }\n else {\n done = true;\n }\n }\n coordinates.push(coordinate.slice());\n this.geometryFunction_(coordinates, geometry, projection);\n }\n else if (mode === Mode.POLYGON) {\n coordinates = /** @type {PolyCoordType} */ (this.sketchCoords_)[0];\n if (coordinates.length >= this.maxPoints_) {\n if (this.freehand_) {\n coordinates.pop();\n }\n else {\n done = true;\n }\n }\n coordinates.push(coordinate.slice());\n if (done) {\n this.finishCoordinate_ = coordinates[0];\n }\n this.geometryFunction_(this.sketchCoords_, geometry, projection);\n }\n this.createOrUpdateSketchPoint_(coordinate.slice());\n this.updateSketchFeatures_();\n if (done) {\n this.finishDrawing();\n }\n };\n /**\n * Remove last point of the feature currently being drawn. Does not do anything when\n * drawing POINT or MULTI_POINT geometries.\n * @api\n */\n Draw.prototype.removeLastPoint = function () {\n if (!this.sketchFeature_) {\n return;\n }\n var geometry = this.sketchFeature_.getGeometry();\n var projection = this.getMap().getView().getProjection();\n var coordinates;\n var mode = this.mode_;\n if (mode === Mode.LINE_STRING || mode === Mode.CIRCLE) {\n coordinates = /** @type {LineCoordType} */ (this.sketchCoords_);\n coordinates.splice(-2, 1);\n if (coordinates.length >= 2) {\n this.finishCoordinate_ = coordinates[coordinates.length - 2].slice();\n var finishCoordinate = this.finishCoordinate_.slice();\n coordinates[coordinates.length - 1] = finishCoordinate;\n this.createOrUpdateSketchPoint_(finishCoordinate);\n }\n this.geometryFunction_(coordinates, geometry, projection);\n if (geometry.getType() === 'Polygon' && this.sketchLine_) {\n this.createOrUpdateCustomSketchLine_(/** @type {Polygon} */ (geometry));\n }\n }\n else if (mode === Mode.POLYGON) {\n coordinates = /** @type {PolyCoordType} */ (this.sketchCoords_)[0];\n coordinates.splice(-2, 1);\n var sketchLineGeom = this.sketchLine_.getGeometry();\n if (coordinates.length >= 2) {\n var finishCoordinate = coordinates[coordinates.length - 2].slice();\n coordinates[coordinates.length - 1] = finishCoordinate;\n this.createOrUpdateSketchPoint_(finishCoordinate);\n }\n sketchLineGeom.setCoordinates(coordinates);\n this.geometryFunction_(this.sketchCoords_, geometry, projection);\n }\n if (coordinates.length === 1) {\n this.abortDrawing();\n }\n this.updateSketchFeatures_();\n };\n /**\n * Stop drawing and add the sketch feature to the target layer.\n * The {@link module:ol/interaction/Draw~DrawEventType.DRAWEND} event is\n * dispatched before inserting the feature.\n * @api\n */\n Draw.prototype.finishDrawing = function () {\n var sketchFeature = this.abortDrawing_();\n if (!sketchFeature) {\n return;\n }\n var coordinates = this.sketchCoords_;\n var geometry = sketchFeature.getGeometry();\n var projection = this.getMap().getView().getProjection();\n if (this.mode_ === Mode.LINE_STRING) {\n // remove the redundant last point\n coordinates.pop();\n this.geometryFunction_(coordinates, geometry, projection);\n }\n else if (this.mode_ === Mode.POLYGON) {\n // remove the redundant last point in ring\n /** @type {PolyCoordType} */ (coordinates)[0].pop();\n this.geometryFunction_(coordinates, geometry, projection);\n coordinates = geometry.getCoordinates();\n }\n // cast multi-part geometries\n if (this.type_ === 'MultiPoint') {\n sketchFeature.setGeometry(new MultiPoint([/** @type {PointCoordType} */ (coordinates)]));\n }\n else if (this.type_ === 'MultiLineString') {\n sketchFeature.setGeometry(new MultiLineString([/** @type {LineCoordType} */ (coordinates)]));\n }\n else if (this.type_ === 'MultiPolygon') {\n sketchFeature.setGeometry(new MultiPolygon([/** @type {PolyCoordType} */ (coordinates)]));\n }\n // First dispatch event to allow full set up of feature\n this.dispatchEvent(new DrawEvent(DrawEventType.DRAWEND, sketchFeature));\n // Then insert feature\n if (this.features_) {\n this.features_.push(sketchFeature);\n }\n if (this.source_) {\n this.source_.addFeature(sketchFeature);\n }\n };\n /**\n * Stop drawing without adding the sketch feature to the target layer.\n * @return {Feature|null} The sketch feature (or null if none).\n * @private\n */\n Draw.prototype.abortDrawing_ = function () {\n this.finishCoordinate_ = null;\n var sketchFeature = this.sketchFeature_;\n this.sketchFeature_ = null;\n this.sketchPoint_ = null;\n this.sketchLine_ = null;\n this.overlay_.getSource().clear(true);\n return sketchFeature;\n };\n /**\n * Stop drawing without adding the sketch feature to the target layer.\n * @api\n */\n Draw.prototype.abortDrawing = function () {\n var sketchFeature = this.abortDrawing_();\n if (sketchFeature) {\n this.dispatchEvent(new DrawEvent(DrawEventType.DRAWABORT, sketchFeature));\n }\n };\n /**\n * Append coordinates to the end of the geometry that is currently being drawn.\n * This can be used when drawing LineStrings or Polygons. Coordinates will\n * either be appended to the current LineString or the outer ring of the current\n * Polygon. If no geometry is being drawn, a new one will be created.\n * @param {!LineCoordType} coordinates Linear coordinates to be appended to\n * the coordinate array.\n * @api\n */\n Draw.prototype.appendCoordinates = function (coordinates) {\n var mode = this.mode_;\n var newDrawing = !this.sketchFeature_;\n if (newDrawing) {\n this.startDrawing_(coordinates[0]);\n }\n /** @type {LineCoordType} */\n var sketchCoords;\n if (mode === Mode.LINE_STRING || mode === Mode.CIRCLE) {\n sketchCoords = /** @type {LineCoordType} */ (this.sketchCoords_);\n }\n else if (mode === Mode.POLYGON) {\n sketchCoords =\n this.sketchCoords_ && this.sketchCoords_.length\n ? /** @type {PolyCoordType} */ (this.sketchCoords_)[0]\n : [];\n }\n else {\n return;\n }\n if (newDrawing) {\n sketchCoords.shift();\n }\n // Remove last coordinate from sketch drawing (this coordinate follows cursor position)\n sketchCoords.pop();\n // Append coordinate list\n for (var i = 0; i < coordinates.length; i++) {\n this.addToDrawing_(coordinates[i]);\n }\n var ending = coordinates[coordinates.length - 1];\n // Duplicate last coordinate for sketch drawing (cursor position)\n this.addToDrawing_(ending);\n this.modifyDrawing_(ending);\n };\n /**\n * Initiate draw mode by starting from an existing geometry which will\n * receive new additional points. This only works on features with\n * `LineString` geometries, where the interaction will extend lines by adding\n * points to the end of the coordinates array.\n * This will change the original feature, instead of drawing a copy.\n *\n * The function will dispatch a `drawstart` event.\n *\n * @param {!Feature} feature Feature to be extended.\n * @api\n */\n Draw.prototype.extend = function (feature) {\n var geometry = feature.getGeometry();\n var lineString = geometry;\n this.sketchFeature_ = feature;\n this.sketchCoords_ = lineString.getCoordinates();\n var last = this.sketchCoords_[this.sketchCoords_.length - 1];\n this.finishCoordinate_ = last.slice();\n this.sketchCoords_.push(last.slice());\n this.sketchPoint_ = new Feature(new Point(last));\n this.updateSketchFeatures_();\n this.dispatchEvent(new DrawEvent(DrawEventType.DRAWSTART, this.sketchFeature_));\n };\n /**\n * Redraw the sketch features.\n * @private\n */\n Draw.prototype.updateSketchFeatures_ = function () {\n var sketchFeatures = [];\n if (this.sketchFeature_) {\n sketchFeatures.push(this.sketchFeature_);\n }\n if (this.sketchLine_) {\n sketchFeatures.push(this.sketchLine_);\n }\n if (this.sketchPoint_) {\n sketchFeatures.push(this.sketchPoint_);\n }\n var overlaySource = this.overlay_.getSource();\n overlaySource.clear(true);\n overlaySource.addFeatures(sketchFeatures);\n };\n /**\n * @private\n */\n Draw.prototype.updateState_ = function () {\n var map = this.getMap();\n var active = this.getActive();\n if (!map || !active) {\n this.abortDrawing();\n }\n this.overlay_.setMap(active ? map : null);\n };\n return Draw;\n}(PointerInteraction));\n/**\n * @return {import(\"../style/Style.js\").StyleFunction} Styles.\n */\nfunction getDefaultStyleFunction() {\n var styles = createEditingStyle();\n return function (feature, resolution) {\n return styles[feature.getGeometry().getType()];\n };\n}\n/**\n * Create a `geometryFunction` for `type: 'Circle'` that will create a regular\n * polygon with a user specified number of sides and start angle instead of a\n * {@link import(\"../geom/Circle.js\").Circle} geometry.\n * @param {number} [opt_sides] Number of sides of the regular polygon.\n * Default is 32.\n * @param {number} [opt_angle] Angle of the first point in counter-clockwise\n * radians. 0 means East.\n * Default is the angle defined by the heading from the center of the\n * regular polygon to the current pointer position.\n * @return {GeometryFunction} Function that draws a polygon.\n * @api\n */\nexport function createRegularPolygon(opt_sides, opt_angle) {\n return function (coordinates, opt_geometry, projection) {\n var center = fromUserCoordinate(\n /** @type {LineCoordType} */ (coordinates)[0], projection);\n var end = fromUserCoordinate(\n /** @type {LineCoordType} */ (coordinates)[coordinates.length - 1], projection);\n var radius = Math.sqrt(squaredCoordinateDistance(center, end));\n var geometry = opt_geometry\n ? /** @type {Polygon} */ (opt_geometry)\n : fromCircle(new Circle(center), opt_sides);\n var angle = opt_angle;\n if (!opt_angle && opt_angle !== 0) {\n var x = end[0] - center[0];\n var y = end[1] - center[1];\n angle = Math.atan2(y, x);\n }\n makeRegular(geometry, center, radius, angle);\n var userProjection = getUserProjection();\n if (userProjection) {\n geometry.transform(projection, userProjection);\n }\n return geometry;\n };\n}\n/**\n * Create a `geometryFunction` that will create a box-shaped polygon (aligned\n * with the coordinate system axes). Use this with the draw interaction and\n * `type: 'Circle'` to return a box instead of a circle geometry.\n * @return {GeometryFunction} Function that draws a box-shaped polygon.\n * @api\n */\nexport function createBox() {\n return function (coordinates, opt_geometry, projection) {\n var extent = boundingExtent(\n /** @type {LineCoordType} */ ([\n coordinates[0],\n coordinates[coordinates.length - 1],\n ]).map(function (coordinate) {\n return fromUserCoordinate(coordinate, projection);\n }));\n var boxCoordinates = [\n [\n getBottomLeft(extent),\n getBottomRight(extent),\n getTopRight(extent),\n getTopLeft(extent),\n getBottomLeft(extent),\n ],\n ];\n var geometry = opt_geometry;\n if (geometry) {\n geometry.setCoordinates(boxCoordinates);\n }\n else {\n geometry = new Polygon(boxCoordinates);\n }\n var userProjection = getUserProjection();\n if (userProjection) {\n geometry.transform(projection, userProjection);\n }\n return geometry;\n };\n}\n/**\n * Get the drawing mode. The mode for multi-part geometries is the same as for\n * their single-part cousins.\n * @param {import(\"../geom/Geometry.js\").Type} type Geometry type.\n * @return {Mode} Drawing mode.\n */\nfunction getMode(type) {\n switch (type) {\n case 'Point':\n case 'MultiPoint':\n return Mode.POINT;\n case 'LineString':\n case 'MultiLineString':\n return Mode.LINE_STRING;\n case 'Polygon':\n case 'MultiPolygon':\n return Mode.POLYGON;\n case 'Circle':\n return Mode.CIRCLE;\n default:\n throw new Error('Invalid type: ' + type);\n }\n}\nexport default Draw;\n//# sourceMappingURL=Draw.js.map","/**\n * @module ol/TileState\n */\n/**\n * @enum {number}\n */\nexport default {\n IDLE: 0,\n LOADING: 1,\n LOADED: 2,\n /**\n * Indicates that tile loading failed\n * @type {number}\n */\n ERROR: 3,\n EMPTY: 4,\n};\n//# sourceMappingURL=TileState.js.map","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ground-air-table-overview\"},[_c('div',{staticClass:\"overview-table-row\"},[_c('div',{staticClass:\"overview-table\"},[_c('MeasurementObjectsSelectTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"updateSelectedRows\":() => {},\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled},on:{\"update:selected\":_vm.onUpdateMeasurementObject}})],1),_c('div',{staticClass:\"overview-table\"},[_c('GaugingTubesTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"projectCode\":_vm.projectCode,\"selectedMeasurementObject\":_vm.measurementObject,\"updateSelectedRows\":_vm.onUpdateGaugingTube,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1),_c('div',{staticClass:\"overview-table\"},[_c('FinishingsTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"projectCode\":_vm.projectCode,\"selectedMeasurementObject\":_vm.measurementObject,\"selectedAirSample\":_vm.airSample,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1)]),_c('div',{staticClass:\"overview-table-row\"},[_c('div',{staticClass:\"overview-table\"},[_c('AirSamplesTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"projectCode\":_vm.projectCode,\"selectedMeasurementObject\":_vm.measurementObject,\"selectedGaugingTube\":_vm.gaugingTube,\"updateSelectedRows\":_vm.onUpdateAirSample,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings,\"sampleType\":\"Ground\"}})],1),_c('div',{staticClass:\"overview-table\"},[_c('PackagingsTable',{attrs:{\"projectId\":_vm.$route.params.projectId,\"projectCode\":_vm.projectCode,\"selectedMeasurementObject\":_vm.measurementObject,\"selectedGaugingTube\":_vm.gaugingTube,\"selectedAirSample\":_vm.airSample,\"enableCreateTableRowAction\":_vm.enableCreateTableRowAction,\"enableDeleteTableRowAction\":_vm.enableDeleteTableRowAction,\"enableUpdateTableRowAction\":_vm.enableUpdateTableRowAction,\"enableColumnChooser\":_vm.enableColumnChooser,\"searchPanelEnabled\":_vm.searchPanelEnabled,\"enableExportSettings\":_vm.enableExportSettings}})],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./groundAirTableOverview.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./groundAirTableOverview.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./groundAirTableOverview.vue?vue&type=template&id=039110f4\"\nimport script from \"./groundAirTableOverview.vue?vue&type=script&lang=js\"\nexport * from \"./groundAirTableOverview.vue?vue&type=script&lang=js\"\nimport style0 from \"./groundAirTableOverview.vue?vue&type=style&index=0&id=039110f4&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\r\n/**\r\n * utils.ts 7.3.0\r\n * Copyright (c) 2021 Alain Dumesny - see GridStack root license\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Utils = exports.obsoleteAttr = exports.obsoleteOptsDel = exports.obsoleteOpts = exports.obsolete = void 0;\r\n/** checks for obsolete method names */\r\n// eslint-disable-next-line\r\nfunction obsolete(self, f, oldName, newName, rev) {\r\n let wrapper = (...args) => {\r\n console.warn('gridstack.js: Function `' + oldName + '` is deprecated in ' + rev + ' and has been replaced ' +\r\n 'with `' + newName + '`. It will be **removed** in a future release');\r\n return f.apply(self, args);\r\n };\r\n wrapper.prototype = f.prototype;\r\n return wrapper;\r\n}\r\nexports.obsolete = obsolete;\r\n/** checks for obsolete grid options (can be used for any fields, but msg is about options) */\r\nfunction obsoleteOpts(opts, oldName, newName, rev) {\r\n if (opts[oldName] !== undefined) {\r\n opts[newName] = opts[oldName];\r\n console.warn('gridstack.js: Option `' + oldName + '` is deprecated in ' + rev + ' and has been replaced with `' +\r\n newName + '`. It will be **removed** in a future release');\r\n }\r\n}\r\nexports.obsoleteOpts = obsoleteOpts;\r\n/** checks for obsolete grid options which are gone */\r\nfunction obsoleteOptsDel(opts, oldName, rev, info) {\r\n if (opts[oldName] !== undefined) {\r\n console.warn('gridstack.js: Option `' + oldName + '` is deprecated in ' + rev + info);\r\n }\r\n}\r\nexports.obsoleteOptsDel = obsoleteOptsDel;\r\n/** checks for obsolete Jquery element attributes */\r\nfunction obsoleteAttr(el, oldName, newName, rev) {\r\n let oldAttr = el.getAttribute(oldName);\r\n if (oldAttr !== null) {\r\n el.setAttribute(newName, oldAttr);\r\n console.warn('gridstack.js: attribute `' + oldName + '`=' + oldAttr + ' is deprecated on this object in ' + rev + ' and has been replaced with `' +\r\n newName + '`. It will be **removed** in a future release');\r\n }\r\n}\r\nexports.obsoleteAttr = obsoleteAttr;\r\n/**\r\n * Utility methods\r\n */\r\nclass Utils {\r\n /** convert a potential selector into actual list of html elements */\r\n static getElements(els) {\r\n if (typeof els === 'string') {\r\n let list = document.querySelectorAll(els);\r\n if (!list.length && els[0] !== '.' && els[0] !== '#') {\r\n list = document.querySelectorAll('.' + els);\r\n if (!list.length) {\r\n list = document.querySelectorAll('#' + els);\r\n }\r\n }\r\n return Array.from(list);\r\n }\r\n return [els];\r\n }\r\n /** convert a potential selector into actual single element */\r\n static getElement(els) {\r\n if (typeof els === 'string') {\r\n if (!els.length)\r\n return null;\r\n if (els[0] === '#') {\r\n return document.getElementById(els.substring(1));\r\n }\r\n if (els[0] === '.' || els[0] === '[') {\r\n return document.querySelector(els);\r\n }\r\n // if we start with a digit, assume it's an id (error calling querySelector('#1')) as class are not valid CSS\r\n if (!isNaN(+els[0])) { // start with digit\r\n return document.getElementById(els);\r\n }\r\n // finally try string, then id then class\r\n let el = document.querySelector(els);\r\n if (!el) {\r\n el = document.getElementById(els);\r\n }\r\n if (!el) {\r\n el = document.querySelector('.' + els);\r\n }\r\n return el;\r\n }\r\n return els;\r\n }\r\n /** returns true if a and b overlap */\r\n static isIntercepted(a, b) {\r\n return !(a.y >= b.y + b.h || a.y + a.h <= b.y || a.x + a.w <= b.x || a.x >= b.x + b.w);\r\n }\r\n /** returns true if a and b touch edges or corners */\r\n static isTouching(a, b) {\r\n return Utils.isIntercepted(a, { x: b.x - 0.5, y: b.y - 0.5, w: b.w + 1, h: b.h + 1 });\r\n }\r\n /** returns the area a and b overlap */\r\n static areaIntercept(a, b) {\r\n let x0 = (a.x > b.x) ? a.x : b.x;\r\n let x1 = (a.x + a.w < b.x + b.w) ? a.x + a.w : b.x + b.w;\r\n if (x1 <= x0)\r\n return 0; // no overlap\r\n let y0 = (a.y > b.y) ? a.y : b.y;\r\n let y1 = (a.y + a.h < b.y + b.h) ? a.y + a.h : b.y + b.h;\r\n if (y1 <= y0)\r\n return 0; // no overlap\r\n return (x1 - x0) * (y1 - y0);\r\n }\r\n /** returns the area */\r\n static area(a) {\r\n return a.w * a.h;\r\n }\r\n /**\r\n * Sorts array of nodes\r\n * @param nodes array to sort\r\n * @param dir 1 for asc, -1 for desc (optional)\r\n * @param width width of the grid. If undefined the width will be calculated automatically (optional).\r\n **/\r\n static sort(nodes, dir, column) {\r\n column = column || nodes.reduce((col, n) => Math.max(n.x + n.w, col), 0) || 12;\r\n if (dir === -1)\r\n return nodes.sort((a, b) => (b.x + b.y * column) - (a.x + a.y * column));\r\n else\r\n return nodes.sort((b, a) => (b.x + b.y * column) - (a.x + a.y * column));\r\n }\r\n /**\r\n * creates a style sheet with style id under given parent\r\n * @param id will set the 'gs-style-id' attribute to that id\r\n * @param parent to insert the stylesheet as first child,\r\n * if none supplied it will be appended to the document head instead.\r\n */\r\n static createStylesheet(id, parent, options) {\r\n let style = document.createElement('style');\r\n const nonce = options === null || options === void 0 ? void 0 : options.nonce;\r\n if (nonce)\r\n style.nonce = nonce;\r\n style.setAttribute('type', 'text/css');\r\n style.setAttribute('gs-style-id', id);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n if (style.styleSheet) { // TODO: only CSSImportRule have that and different beast ??\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n style.styleSheet.cssText = '';\r\n }\r\n else {\r\n style.appendChild(document.createTextNode('')); // WebKit hack\r\n }\r\n if (!parent) {\r\n // default to head\r\n parent = document.getElementsByTagName('head')[0];\r\n parent.appendChild(style);\r\n }\r\n else {\r\n parent.insertBefore(style, parent.firstChild);\r\n }\r\n return style.sheet;\r\n }\r\n /** removed the given stylesheet id */\r\n static removeStylesheet(id) {\r\n let el = document.querySelector('STYLE[gs-style-id=' + id + ']');\r\n if (el && el.parentNode)\r\n el.remove();\r\n }\r\n /** inserts a CSS rule */\r\n static addCSSRule(sheet, selector, rules) {\r\n if (typeof sheet.addRule === 'function') {\r\n sheet.addRule(selector, rules);\r\n }\r\n else if (typeof sheet.insertRule === 'function') {\r\n sheet.insertRule(`${selector}{${rules}}`);\r\n }\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n static toBool(v) {\r\n if (typeof v === 'boolean') {\r\n return v;\r\n }\r\n if (typeof v === 'string') {\r\n v = v.toLowerCase();\r\n return !(v === '' || v === 'no' || v === 'false' || v === '0');\r\n }\r\n return Boolean(v);\r\n }\r\n static toNumber(value) {\r\n return (value === null || value.length === 0) ? undefined : Number(value);\r\n }\r\n static parseHeight(val) {\r\n let h;\r\n let unit = 'px';\r\n if (typeof val === 'string') {\r\n let match = val.match(/^(-[0-9]+\\.[0-9]+|[0-9]*\\.[0-9]+|-[0-9]+|[0-9]+)(px|em|rem|vh|vw|%)?$/);\r\n if (!match) {\r\n throw new Error('Invalid height');\r\n }\r\n unit = match[2] || 'px';\r\n h = parseFloat(match[1]);\r\n }\r\n else {\r\n h = val;\r\n }\r\n return { h, unit };\r\n }\r\n /** copies unset fields in target to use the given default sources values */\r\n // eslint-disable-next-line\r\n static defaults(target, ...sources) {\r\n sources.forEach(source => {\r\n for (const key in source) {\r\n if (!source.hasOwnProperty(key))\r\n return;\r\n if (target[key] === null || target[key] === undefined) {\r\n target[key] = source[key];\r\n }\r\n else if (typeof source[key] === 'object' && typeof target[key] === 'object') {\r\n // property is an object, recursively add it's field over... #1373\r\n this.defaults(target[key], source[key]);\r\n }\r\n }\r\n });\r\n return target;\r\n }\r\n /** given 2 objects return true if they have the same values. Checks for Object {} having same fields and values (just 1 level down) */\r\n static same(a, b) {\r\n if (typeof a !== 'object')\r\n return a == b;\r\n if (typeof a !== typeof b)\r\n return false;\r\n // else we have object, check just 1 level deep for being same things...\r\n if (Object.keys(a).length !== Object.keys(b).length)\r\n return false;\r\n for (const key in a) {\r\n if (a[key] !== b[key])\r\n return false;\r\n }\r\n return true;\r\n }\r\n /** copies over b size & position (GridStackPosition), and optionally min/max as well */\r\n static copyPos(a, b, doMinMax = false) {\r\n a.x = b.x;\r\n a.y = b.y;\r\n a.w = b.w;\r\n a.h = b.h;\r\n if (doMinMax) {\r\n if (b.minW)\r\n a.minW = b.minW;\r\n if (b.minH)\r\n a.minH = b.minH;\r\n if (b.maxW)\r\n a.maxW = b.maxW;\r\n if (b.maxH)\r\n a.maxH = b.maxH;\r\n }\r\n return a;\r\n }\r\n /** true if a and b has same size & position */\r\n static samePos(a, b) {\r\n return a && b && a.x === b.x && a.y === b.y && a.w === b.w && a.h === b.h;\r\n }\r\n /** removes field from the first object if same as the second objects (like diffing) and internal '_' for saving */\r\n static removeInternalAndSame(a, b) {\r\n if (typeof a !== 'object' || typeof b !== 'object')\r\n return;\r\n for (let key in a) {\r\n let val = a[key];\r\n if (key[0] === '_' || val === b[key]) {\r\n delete a[key];\r\n }\r\n else if (val && typeof val === 'object' && b[key] !== undefined) {\r\n for (let i in val) {\r\n if (val[i] === b[key][i] || i[0] === '_') {\r\n delete val[i];\r\n }\r\n }\r\n if (!Object.keys(val).length) {\r\n delete a[key];\r\n }\r\n }\r\n }\r\n }\r\n /** removes internal fields '_' and default values for saving */\r\n static removeInternalForSave(n, removeEl = true) {\r\n for (let key in n) {\r\n if (key[0] === '_' || n[key] === null || n[key] === undefined)\r\n delete n[key];\r\n }\r\n delete n.grid;\r\n if (removeEl)\r\n delete n.el;\r\n // delete default values (will be re-created on read)\r\n if (!n.autoPosition)\r\n delete n.autoPosition;\r\n if (!n.noResize)\r\n delete n.noResize;\r\n if (!n.noMove)\r\n delete n.noMove;\r\n if (!n.locked)\r\n delete n.locked;\r\n if (n.w === 1 || n.w === n.minW)\r\n delete n.w;\r\n if (n.h === 1 || n.h === n.minH)\r\n delete n.h;\r\n }\r\n /** return the closest parent (or itself) matching the given class */\r\n static closestUpByClass(el, name) {\r\n while (el) {\r\n if (el.classList.contains(name))\r\n return el;\r\n el = el.parentElement;\r\n }\r\n return null;\r\n }\r\n /** delay calling the given function for given delay, preventing new calls from happening while waiting */\r\n static throttle(func, delay) {\r\n let isWaiting = false;\r\n return (...args) => {\r\n if (!isWaiting) {\r\n isWaiting = true;\r\n setTimeout(() => { func(...args); isWaiting = false; }, delay);\r\n }\r\n };\r\n }\r\n static removePositioningStyles(el) {\r\n let style = el.style;\r\n if (style.position) {\r\n style.removeProperty('position');\r\n }\r\n if (style.left) {\r\n style.removeProperty('left');\r\n }\r\n if (style.top) {\r\n style.removeProperty('top');\r\n }\r\n if (style.width) {\r\n style.removeProperty('width');\r\n }\r\n if (style.height) {\r\n style.removeProperty('height');\r\n }\r\n }\r\n /** @internal returns the passed element if scrollable, else the closest parent that will, up to the entire document scrolling element */\r\n static getScrollElement(el) {\r\n if (!el)\r\n return document.scrollingElement || document.documentElement; // IE support\r\n const style = getComputedStyle(el);\r\n const overflowRegex = /(auto|scroll)/;\r\n if (overflowRegex.test(style.overflow + style.overflowY)) {\r\n return el;\r\n }\r\n else {\r\n return this.getScrollElement(el.parentElement);\r\n }\r\n }\r\n /** @internal */\r\n static updateScrollPosition(el, position, distance) {\r\n // is widget in view?\r\n let rect = el.getBoundingClientRect();\r\n let innerHeightOrClientHeight = (window.innerHeight || document.documentElement.clientHeight);\r\n if (rect.top < 0 ||\r\n rect.bottom > innerHeightOrClientHeight) {\r\n // set scrollTop of first parent that scrolls\r\n // if parent is larger than el, set as low as possible\r\n // to get entire widget on screen\r\n let offsetDiffDown = rect.bottom - innerHeightOrClientHeight;\r\n let offsetDiffUp = rect.top;\r\n let scrollEl = this.getScrollElement(el);\r\n if (scrollEl !== null) {\r\n let prevScroll = scrollEl.scrollTop;\r\n if (rect.top < 0 && distance < 0) {\r\n // moving up\r\n if (el.offsetHeight > innerHeightOrClientHeight) {\r\n scrollEl.scrollTop += distance;\r\n }\r\n else {\r\n scrollEl.scrollTop += Math.abs(offsetDiffUp) > Math.abs(distance) ? distance : offsetDiffUp;\r\n }\r\n }\r\n else if (distance > 0) {\r\n // moving down\r\n if (el.offsetHeight > innerHeightOrClientHeight) {\r\n scrollEl.scrollTop += distance;\r\n }\r\n else {\r\n scrollEl.scrollTop += offsetDiffDown > distance ? distance : offsetDiffDown;\r\n }\r\n }\r\n // move widget y by amount scrolled\r\n position.top += scrollEl.scrollTop - prevScroll;\r\n }\r\n }\r\n }\r\n /**\r\n * @internal Function used to scroll the page.\r\n *\r\n * @param event `MouseEvent` that triggers the resize\r\n * @param el `HTMLElement` that's being resized\r\n * @param distance Distance from the V edges to start scrolling\r\n */\r\n static updateScrollResize(event, el, distance) {\r\n const scrollEl = this.getScrollElement(el);\r\n const height = scrollEl.clientHeight;\r\n // #1727 event.clientY is relative to viewport, so must compare this against position of scrollEl getBoundingClientRect().top\r\n // #1745 Special situation if scrollEl is document 'html': here browser spec states that\r\n // clientHeight is height of viewport, but getBoundingClientRect() is rectangle of html element;\r\n // this discrepancy arises because in reality scrollbar is attached to viewport, not html element itself.\r\n const offsetTop = (scrollEl === this.getScrollElement()) ? 0 : scrollEl.getBoundingClientRect().top;\r\n const pointerPosY = event.clientY - offsetTop;\r\n const top = pointerPosY < distance;\r\n const bottom = pointerPosY > height - distance;\r\n if (top) {\r\n // This also can be done with a timeout to keep scrolling while the mouse is\r\n // in the scrolling zone. (will have smoother behavior)\r\n scrollEl.scrollBy({ behavior: 'smooth', top: pointerPosY - distance });\r\n }\r\n else if (bottom) {\r\n scrollEl.scrollBy({ behavior: 'smooth', top: distance - (height - pointerPosY) });\r\n }\r\n }\r\n /** single level clone, returning a new object with same top fields. This will share sub objects and arrays */\r\n static clone(obj) {\r\n if (obj === null || obj === undefined || typeof (obj) !== 'object') {\r\n return obj;\r\n }\r\n // return Object.assign({}, obj);\r\n if (obj instanceof Array) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return [...obj];\r\n }\r\n return Object.assign({}, obj);\r\n }\r\n /**\r\n * Recursive clone version that returns a full copy, checking for nested objects and arrays ONLY.\r\n * Note: this will use as-is any key starting with double __ (and not copy inside) some lib have circular dependencies.\r\n */\r\n static cloneDeep(obj) {\r\n // list of fields we will skip during cloneDeep (nested objects, other internal)\r\n const skipFields = ['parentGrid', 'el', 'grid', 'subGrid', 'engine'];\r\n // return JSON.parse(JSON.stringify(obj)); // doesn't work with date format ?\r\n const ret = Utils.clone(obj);\r\n for (const key in ret) {\r\n // NOTE: we don't support function/circular dependencies so skip those properties for now...\r\n if (ret.hasOwnProperty(key) && typeof (ret[key]) === 'object' && key.substring(0, 2) !== '__' && !skipFields.find(k => k === key)) {\r\n ret[key] = Utils.cloneDeep(obj[key]);\r\n }\r\n }\r\n return ret;\r\n }\r\n /** deep clone the given HTML node, removing teh unique id field */\r\n static cloneNode(el) {\r\n const node = el.cloneNode(true);\r\n node.removeAttribute('id');\r\n return node;\r\n }\r\n static appendTo(el, parent) {\r\n let parentNode;\r\n if (typeof parent === 'string') {\r\n parentNode = document.querySelector(parent);\r\n }\r\n else {\r\n parentNode = parent;\r\n }\r\n if (parentNode) {\r\n parentNode.appendChild(el);\r\n }\r\n }\r\n // public static setPositionRelative(el: HTMLElement): void {\r\n // if (!(/^(?:r|a|f)/).test(window.getComputedStyle(el).position)) {\r\n // el.style.position = \"relative\";\r\n // }\r\n // }\r\n static addElStyles(el, styles) {\r\n if (styles instanceof Object) {\r\n for (const s in styles) {\r\n if (styles.hasOwnProperty(s)) {\r\n if (Array.isArray(styles[s])) {\r\n // support fallback value\r\n styles[s].forEach(val => {\r\n el.style[s] = val;\r\n });\r\n }\r\n else {\r\n el.style[s] = styles[s];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n static initEvent(e, info) {\r\n const evt = { type: info.type };\r\n const obj = {\r\n button: 0,\r\n which: 0,\r\n buttons: 1,\r\n bubbles: true,\r\n cancelable: true,\r\n target: info.target ? info.target : e.target\r\n };\r\n // don't check for `instanceof DragEvent` as Safari use MouseEvent #1540\r\n if (e.dataTransfer) {\r\n evt['dataTransfer'] = e.dataTransfer; // workaround 'readonly' field.\r\n }\r\n ['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].forEach(p => evt[p] = e[p]); // keys\r\n ['pageX', 'pageY', 'clientX', 'clientY', 'screenX', 'screenY'].forEach(p => evt[p] = e[p]); // point info\r\n return Object.assign(Object.assign({}, evt), obj);\r\n }\r\n /** copies the MouseEvent properties and sends it as another event to the given target */\r\n static simulateMouseEvent(e, simulatedType, target) {\r\n const simulatedEvent = document.createEvent('MouseEvents');\r\n simulatedEvent.initMouseEvent(simulatedType, // type\r\n true, // bubbles\r\n true, // cancelable\r\n window, // view\r\n 1, // detail\r\n e.screenX, // screenX\r\n e.screenY, // screenY\r\n e.clientX, // clientX\r\n e.clientY, // clientY\r\n e.ctrlKey, // ctrlKey\r\n e.altKey, // altKey\r\n e.shiftKey, // shiftKey\r\n e.metaKey, // metaKey\r\n 0, // button\r\n e.target // relatedTarget\r\n );\r\n (target || e.target).dispatchEvent(simulatedEvent);\r\n }\r\n}\r\nexports.Utils = Utils;\r\n//# sourceMappingURL=utils.js.map","/**\n * @module ol/geom/flat/interpolate\n */\nimport { binarySearch } from '../../array.js';\nimport { lerp } from '../../math.js';\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} fraction Fraction.\n * @param {Array} [opt_dest] Destination.\n * @param {number} [opt_dimension] Destination dimension (default is `2`)\n * @return {Array} Destination.\n */\nexport function interpolatePoint(flatCoordinates, offset, end, stride, fraction, opt_dest, opt_dimension) {\n var o, t;\n var n = (end - offset) / stride;\n if (n === 1) {\n o = offset;\n }\n else if (n === 2) {\n o = offset;\n t = fraction;\n }\n else if (n !== 0) {\n var x1 = flatCoordinates[offset];\n var y1 = flatCoordinates[offset + 1];\n var length_1 = 0;\n var cumulativeLengths = [0];\n for (var i = offset + stride; i < end; i += stride) {\n var x2 = flatCoordinates[i];\n var y2 = flatCoordinates[i + 1];\n length_1 += Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n cumulativeLengths.push(length_1);\n x1 = x2;\n y1 = y2;\n }\n var target = fraction * length_1;\n var index = binarySearch(cumulativeLengths, target);\n if (index < 0) {\n t =\n (target - cumulativeLengths[-index - 2]) /\n (cumulativeLengths[-index - 1] - cumulativeLengths[-index - 2]);\n o = offset + (-index - 2) * stride;\n }\n else {\n o = offset + index * stride;\n }\n }\n var dimension = opt_dimension > 1 ? opt_dimension : 2;\n var dest = opt_dest ? opt_dest : new Array(dimension);\n for (var i = 0; i < dimension; ++i) {\n dest[i] =\n o === undefined\n ? NaN\n : t === undefined\n ? flatCoordinates[o + i]\n : lerp(flatCoordinates[o + i], flatCoordinates[o + stride + i], t);\n }\n return dest;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} m M.\n * @param {boolean} extrapolate Extrapolate.\n * @return {import(\"../../coordinate.js\").Coordinate|null} Coordinate.\n */\nexport function lineStringCoordinateAtM(flatCoordinates, offset, end, stride, m, extrapolate) {\n if (end == offset) {\n return null;\n }\n var coordinate;\n if (m < flatCoordinates[offset + stride - 1]) {\n if (extrapolate) {\n coordinate = flatCoordinates.slice(offset, offset + stride);\n coordinate[stride - 1] = m;\n return coordinate;\n }\n else {\n return null;\n }\n }\n else if (flatCoordinates[end - 1] < m) {\n if (extrapolate) {\n coordinate = flatCoordinates.slice(end - stride, end);\n coordinate[stride - 1] = m;\n return coordinate;\n }\n else {\n return null;\n }\n }\n // FIXME use O(1) search\n if (m == flatCoordinates[offset + stride - 1]) {\n return flatCoordinates.slice(offset, offset + stride);\n }\n var lo = offset / stride;\n var hi = end / stride;\n while (lo < hi) {\n var mid = (lo + hi) >> 1;\n if (m < flatCoordinates[(mid + 1) * stride - 1]) {\n hi = mid;\n }\n else {\n lo = mid + 1;\n }\n }\n var m0 = flatCoordinates[lo * stride - 1];\n if (m == m0) {\n return flatCoordinates.slice((lo - 1) * stride, (lo - 1) * stride + stride);\n }\n var m1 = flatCoordinates[(lo + 1) * stride - 1];\n var t = (m - m0) / (m1 - m0);\n coordinate = [];\n for (var i = 0; i < stride - 1; ++i) {\n coordinate.push(lerp(flatCoordinates[(lo - 1) * stride + i], flatCoordinates[lo * stride + i], t));\n }\n coordinate.push(m);\n return coordinate;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {number} m M.\n * @param {boolean} extrapolate Extrapolate.\n * @param {boolean} interpolate Interpolate.\n * @return {import(\"../../coordinate.js\").Coordinate|null} Coordinate.\n */\nexport function lineStringsCoordinateAtM(flatCoordinates, offset, ends, stride, m, extrapolate, interpolate) {\n if (interpolate) {\n return lineStringCoordinateAtM(flatCoordinates, offset, ends[ends.length - 1], stride, m, extrapolate);\n }\n var coordinate;\n if (m < flatCoordinates[stride - 1]) {\n if (extrapolate) {\n coordinate = flatCoordinates.slice(0, stride);\n coordinate[stride - 1] = m;\n return coordinate;\n }\n else {\n return null;\n }\n }\n if (flatCoordinates[flatCoordinates.length - 1] < m) {\n if (extrapolate) {\n coordinate = flatCoordinates.slice(flatCoordinates.length - stride);\n coordinate[stride - 1] = m;\n return coordinate;\n }\n else {\n return null;\n }\n }\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n if (offset == end) {\n continue;\n }\n if (m < flatCoordinates[offset + stride - 1]) {\n return null;\n }\n else if (m <= flatCoordinates[end - 1]) {\n return lineStringCoordinateAtM(flatCoordinates, offset, end, stride, m, false);\n }\n offset = end;\n }\n return null;\n}\n//# sourceMappingURL=interpolate.js.map","module.exports = __webpack_public_path__ + \"img/element-404.8ae3dbbc.svg\";","/**\n * @module ol/geom/flat/area\n */\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @return {number} Area.\n */\nexport function linearRing(flatCoordinates, offset, end, stride) {\n var twiceArea = 0;\n var x1 = flatCoordinates[end - stride];\n var y1 = flatCoordinates[end - stride + 1];\n for (; offset < end; offset += stride) {\n var x2 = flatCoordinates[offset];\n var y2 = flatCoordinates[offset + 1];\n twiceArea += y1 * x2 - x1 * y2;\n x1 = x2;\n y1 = y2;\n }\n return twiceArea / 2;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @return {number} Area.\n */\nexport function linearRings(flatCoordinates, offset, ends, stride) {\n var area = 0;\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n var end = ends[i];\n area += linearRing(flatCoordinates, offset, end, stride);\n offset = end;\n }\n return area;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @return {number} Area.\n */\nexport function linearRingss(flatCoordinates, offset, endss, stride) {\n var area = 0;\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n area += linearRings(flatCoordinates, offset, ends, stride);\n offset = ends[ends.length - 1];\n }\n return area;\n}\n//# sourceMappingURL=area.js.map","/* MIT license */\nvar cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n\tif (cssKeywords.hasOwnProperty(key)) {\n\t\treverseKeywords[cssKeywords[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in cssKeywords) {\n\t\tif (cssKeywords.hasOwnProperty(keyword)) {\n\t\t\tvar value = cssKeywords[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","var conversions = require('./conversions');\nvar route = require('./route');\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","/**\n * @module ol/geom/flat/inflate\n */\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {Array} [opt_coordinates] Coordinates.\n * @return {Array} Coordinates.\n */\nexport function inflateCoordinates(flatCoordinates, offset, end, stride, opt_coordinates) {\n var coordinates = opt_coordinates !== undefined ? opt_coordinates : [];\n var i = 0;\n for (var j = offset; j < end; j += stride) {\n coordinates[i++] = flatCoordinates.slice(j, j + stride);\n }\n coordinates.length = i;\n return coordinates;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {Array>} [opt_coordinatess] Coordinatess.\n * @return {Array>} Coordinatess.\n */\nexport function inflateCoordinatesArray(flatCoordinates, offset, ends, stride, opt_coordinatess) {\n var coordinatess = opt_coordinatess !== undefined ? opt_coordinatess : [];\n var i = 0;\n for (var j = 0, jj = ends.length; j < jj; ++j) {\n var end = ends[j];\n coordinatess[i++] = inflateCoordinates(flatCoordinates, offset, end, stride, coordinatess[i]);\n offset = end;\n }\n coordinatess.length = i;\n return coordinatess;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @param {Array>>} [opt_coordinatesss]\n * Coordinatesss.\n * @return {Array>>} Coordinatesss.\n */\nexport function inflateMultiCoordinatesArray(flatCoordinates, offset, endss, stride, opt_coordinatesss) {\n var coordinatesss = opt_coordinatesss !== undefined ? opt_coordinatesss : [];\n var i = 0;\n for (var j = 0, jj = endss.length; j < jj; ++j) {\n var ends = endss[j];\n coordinatesss[i++] = inflateCoordinatesArray(flatCoordinates, offset, ends, stride, coordinatesss[i]);\n offset = ends[ends.length - 1];\n }\n coordinatesss.length = i;\n return coordinatesss;\n}\n//# sourceMappingURL=inflate.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./allLabAssignmentsOverview.vue?vue&type=style&index=1&id=3a6c6c10&prod&lang=css\"","\"use strict\";\r\n/**\r\n * dd-manager.ts 7.3.0\r\n * Copyright (c) 2021 Alain Dumesny - see GridStack root license\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.DDManager = void 0;\r\n/**\r\n * globals that are shared across Drag & Drop instances\r\n */\r\nclass DDManager {\r\n}\r\nexports.DDManager = DDManager;\r\n//# sourceMappingURL=dd-manager.js.map","/**\n * @module ol/interaction/Property\n */\n/**\n * @enum {string}\n */\nexport default {\n ACTIVE: 'active',\n};\n//# sourceMappingURL=Property.js.map","// Some functions take a variable number of arguments, or a few expected\n// arguments at the beginning and then a variable number of values to operate\n// on. This helper accumulates all remaining arguments past the function’s\n// argument length (or an explicit `startIndex`), into an array that becomes\n// the last argument. Similar to ES6’s \"rest parameter\".\nexport default function restArguments(func, startIndex) {\n startIndex = startIndex == null ? func.length - 1 : +startIndex;\n return function() {\n var length = Math.max(arguments.length - startIndex, 0),\n rest = Array(length),\n index = 0;\n for (; index < length; index++) {\n rest[index] = arguments[index + startIndex];\n }\n switch (startIndex) {\n case 0: return func.call(this, rest);\n case 1: return func.call(this, arguments[0], rest);\n case 2: return func.call(this, arguments[0], arguments[1], rest);\n }\n var args = Array(startIndex + 1);\n for (index = 0; index < startIndex; index++) {\n args[index] = arguments[index];\n }\n args[startIndex] = rest;\n return func.apply(this, args);\n };\n}\n","// Is a given variable an object?\nexport default function isObject(obj) {\n var type = typeof obj;\n return type === 'function' || (type === 'object' && !!obj);\n}\n","// Is a given value equal to null?\nexport default function isNull(obj) {\n return obj === null;\n}\n","// Is a given variable undefined?\nexport default function isUndefined(obj) {\n return obj === void 0;\n}\n","import { toString } from './_setup.js';\n\n// Is a given value a boolean?\nexport default function isBoolean(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n}\n","// Is a given value a DOM element?\nexport default function isElement(obj) {\n return !!(obj && obj.nodeType === 1);\n}\n","import { toString } from './_setup.js';\n\n// Internal function for creating a `toString`-based type tester.\nexport default function tagTester(name) {\n var tag = '[object ' + name + ']';\n return function(obj) {\n return toString.call(obj) === tag;\n };\n}\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('String');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Number');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Date');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('RegExp');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Error');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Symbol');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('ArrayBuffer');\n","import tagTester from './_tagTester.js';\nimport { root } from './_setup.js';\n\nvar isFunction = tagTester('Function');\n\n// Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old\n// v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).\nvar nodelist = root.document && root.document.childNodes;\nif (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {\n isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n}\n\nexport default isFunction;\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Object');\n","import { supportsDataView } from './_setup.js';\nimport hasObjectTag from './_hasObjectTag.js';\n\n// In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`.\n// In IE 11, the most common among them, this problem also applies to\n// `Map`, `WeakMap` and `Set`.\nexport var hasStringTagBug = (\n supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8)))\n ),\n isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map));\n","import tagTester from './_tagTester.js';\nimport isFunction from './isFunction.js';\nimport isArrayBuffer from './isArrayBuffer.js';\nimport { hasStringTagBug } from './_stringTagBug.js';\n\nvar isDataView = tagTester('DataView');\n\n// In IE 10 - Edge 13, we need a different heuristic\n// to determine whether an object is a `DataView`.\nfunction ie10IsDataView(obj) {\n return obj != null && isFunction(obj.getInt8) && isArrayBuffer(obj.buffer);\n}\n\nexport default (hasStringTagBug ? ie10IsDataView : isDataView);\n","import { nativeIsArray } from './_setup.js';\nimport tagTester from './_tagTester.js';\n\n// Is a given value an array?\n// Delegates to ECMA5's native `Array.isArray`.\nexport default nativeIsArray || tagTester('Array');\n","import { hasOwnProperty } from './_setup.js';\n\n// Internal function to check whether `key` is an own property name of `obj`.\nexport default function has(obj, key) {\n return obj != null && hasOwnProperty.call(obj, key);\n}\n","import tagTester from './_tagTester.js';\nimport has from './_has.js';\n\nvar isArguments = tagTester('Arguments');\n\n// Define a fallback version of the method in browsers (ahem, IE < 9), where\n// there isn't any inspectable \"Arguments\" type.\n(function() {\n if (!isArguments(arguments)) {\n isArguments = function(obj) {\n return has(obj, 'callee');\n };\n }\n}());\n\nexport default isArguments;\n","import { _isFinite } from './_setup.js';\nimport isSymbol from './isSymbol.js';\n\n// Is a given object a finite number?\nexport default function isFinite(obj) {\n return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj));\n}\n","import { _isNaN } from './_setup.js';\nimport isNumber from './isNumber.js';\n\n// Is the given value `NaN`?\nexport default function isNaN(obj) {\n return isNumber(obj) && _isNaN(obj);\n}\n","// Predicate-generating function. Often useful outside of Underscore.\nexport default function constant(value) {\n return function() {\n return value;\n };\n}\n","import { MAX_ARRAY_INDEX } from './_setup.js';\n\n// Common internal logic for `isArrayLike` and `isBufferLike`.\nexport default function createSizePropertyCheck(getSizeProperty) {\n return function(collection) {\n var sizeProperty = getSizeProperty(collection);\n return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX;\n }\n}\n","// Internal helper to generate a function to obtain property `key` from `obj`.\nexport default function shallowProperty(key) {\n return function(obj) {\n return obj == null ? void 0 : obj[key];\n };\n}\n","import shallowProperty from './_shallowProperty.js';\n\n// Internal helper to obtain the `byteLength` property of an object.\nexport default shallowProperty('byteLength');\n","import createSizePropertyCheck from './_createSizePropertyCheck.js';\nimport getByteLength from './_getByteLength.js';\n\n// Internal helper to determine whether we should spend extensive checks against\n// `ArrayBuffer` et al.\nexport default createSizePropertyCheck(getByteLength);\n","import { supportsArrayBuffer, nativeIsView, toString } from './_setup.js';\nimport isDataView from './isDataView.js';\nimport constant from './constant.js';\nimport isBufferLike from './_isBufferLike.js';\n\n// Is a given value a typed array?\nvar typedArrayPattern = /\\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\\]/;\nfunction isTypedArray(obj) {\n // `ArrayBuffer.isView` is the most future-proof, so use it when available.\n // Otherwise, fall back on the above regular expression.\n return nativeIsView ? (nativeIsView(obj) && !isDataView(obj)) :\n isBufferLike(obj) && typedArrayPattern.test(toString.call(obj));\n}\n\nexport default supportsArrayBuffer ? isTypedArray : constant(false);\n","import shallowProperty from './_shallowProperty.js';\n\n// Internal helper to obtain the `length` property of an object.\nexport default shallowProperty('length');\n","import { nonEnumerableProps, ObjProto } from './_setup.js';\nimport isFunction from './isFunction.js';\nimport has from './_has.js';\n\n// Internal helper to create a simple lookup structure.\n// `collectNonEnumProps` used to depend on `_.contains`, but this led to\n// circular imports. `emulatedSet` is a one-off solution that only works for\n// arrays of strings.\nfunction emulatedSet(keys) {\n var hash = {};\n for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true;\n return {\n contains: function(key) { return hash[key] === true; },\n push: function(key) {\n hash[key] = true;\n return keys.push(key);\n }\n };\n}\n\n// Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't\n// be iterated by `for key in ...` and thus missed. Extends `keys` in place if\n// needed.\nexport default function collectNonEnumProps(obj, keys) {\n keys = emulatedSet(keys);\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = (isFunction(constructor) && constructor.prototype) || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (has(obj, prop) && !keys.contains(prop)) keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) {\n keys.push(prop);\n }\n }\n}\n","import isObject from './isObject.js';\nimport { nativeKeys, hasEnumBug } from './_setup.js';\nimport has from './_has.js';\nimport collectNonEnumProps from './_collectNonEnumProps.js';\n\n// Retrieve the names of an object's own properties.\n// Delegates to **ECMAScript 5**'s native `Object.keys`.\nexport default function keys(obj) {\n if (!isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (has(obj, key)) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n}\n","import getLength from './_getLength.js';\nimport isArray from './isArray.js';\nimport isString from './isString.js';\nimport isArguments from './isArguments.js';\nimport keys from './keys.js';\n\n// Is a given array, string, or object empty?\n// An \"empty\" object has no enumerable own-properties.\nexport default function isEmpty(obj) {\n if (obj == null) return true;\n // Skip the more expensive `toString`-based type checks if `obj` has no\n // `.length`.\n var length = getLength(obj);\n if (typeof length == 'number' && (\n isArray(obj) || isString(obj) || isArguments(obj)\n )) return length === 0;\n return getLength(keys(obj)) === 0;\n}\n","import keys from './keys.js';\n\n// Returns whether an object has a given set of `key:value` pairs.\nexport default function isMatch(object, attrs) {\n var _keys = keys(attrs), length = _keys.length;\n if (object == null) return !length;\n var obj = Object(object);\n for (var i = 0; i < length; i++) {\n var key = _keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n}\n","import { VERSION } from './_setup.js';\n\n// If Underscore is called as a function, it returns a wrapped object that can\n// be used OO-style. This wrapper holds altered versions of all functions added\n// through `_.mixin`. Wrapped objects may be chained.\nexport default function _(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n}\n\n_.VERSION = VERSION;\n\n// Extracts the result from a wrapped and chained object.\n_.prototype.value = function() {\n return this._wrapped;\n};\n\n// Provide unwrapping proxies for some methods used in engine operations\n// such as arithmetic and JSON stringification.\n_.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n_.prototype.toString = function() {\n return String(this._wrapped);\n};\n","import getByteLength from './_getByteLength.js';\n\n// Internal function to wrap or shallow-copy an ArrayBuffer,\n// typed array or DataView to a new view, reusing the buffer.\nexport default function toBufferView(bufferSource) {\n return new Uint8Array(\n bufferSource.buffer || bufferSource,\n bufferSource.byteOffset || 0,\n getByteLength(bufferSource)\n );\n}\n","import _ from './underscore.js';\nimport { toString, SymbolProto } from './_setup.js';\nimport getByteLength from './_getByteLength.js';\nimport isTypedArray from './isTypedArray.js';\nimport isFunction from './isFunction.js';\nimport { hasStringTagBug } from './_stringTagBug.js';\nimport isDataView from './isDataView.js';\nimport keys from './keys.js';\nimport has from './_has.js';\nimport toBufferView from './_toBufferView.js';\n\n// We use this string twice, so give it a name for minification.\nvar tagDataView = '[object DataView]';\n\n// Internal recursive comparison function for `_.isEqual`.\nfunction eq(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) return false;\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) return b !== b;\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;\n return deepEq(a, b, aStack, bStack);\n}\n\n// Internal recursive comparison function for `_.isEqual`.\nfunction deepEq(a, b, aStack, bStack) {\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n // Work around a bug in IE 10 - Edge 13.\n if (hasStringTagBug && className == '[object Object]' && isDataView(a)) {\n if (!isDataView(b)) return false;\n className = tagDataView;\n }\n switch (className) {\n // These types are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case '[object Symbol]':\n return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);\n case '[object ArrayBuffer]':\n case tagDataView:\n // Coerce to typed array so we can fall through.\n return deepEq(toBufferView(a), toBufferView(b), aStack, bStack);\n }\n\n var areArrays = className === '[object Array]';\n if (!areArrays && isTypedArray(a)) {\n var byteLength = getByteLength(a);\n if (byteLength !== getByteLength(b)) return false;\n if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true;\n areArrays = true;\n }\n if (!areArrays) {\n if (typeof a != 'object' || typeof b != 'object') return false;\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(isFunction(aCtor) && aCtor instanceof aCtor &&\n isFunction(bCtor) && bCtor instanceof bCtor)\n && ('constructor' in a && 'constructor' in b)) {\n return false;\n }\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var _keys = keys(a), key;\n length = _keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (keys(b).length !== length) return false;\n while (length--) {\n // Deep compare each member\n key = _keys[length];\n if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n}\n\n// Perform a deep comparison to check if two objects are equal.\nexport default function isEqual(a, b) {\n return eq(a, b);\n}\n","import isObject from './isObject.js';\nimport { hasEnumBug } from './_setup.js';\nimport collectNonEnumProps from './_collectNonEnumProps.js';\n\n// Retrieve all the enumerable property names of an object.\nexport default function allKeys(obj) {\n if (!isObject(obj)) return [];\n var keys = [];\n for (var key in obj) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n}\n","import getLength from './_getLength.js';\nimport isFunction from './isFunction.js';\nimport allKeys from './allKeys.js';\n\n// Since the regular `Object.prototype.toString` type tests don't work for\n// some types in IE 11, we use a fingerprinting heuristic instead, based\n// on the methods. It's not great, but it's the best we got.\n// The fingerprint method lists are defined below.\nexport function ie11fingerprint(methods) {\n var length = getLength(methods);\n return function(obj) {\n if (obj == null) return false;\n // `Map`, `WeakMap` and `Set` have no enumerable keys.\n var keys = allKeys(obj);\n if (getLength(keys)) return false;\n for (var i = 0; i < length; i++) {\n if (!isFunction(obj[methods[i]])) return false;\n }\n // If we are testing against `WeakMap`, we need to ensure that\n // `obj` doesn't have a `forEach` method in order to distinguish\n // it from a regular `Map`.\n return methods !== weakMapMethods || !isFunction(obj[forEachName]);\n };\n}\n\n// In the interest of compact minification, we write\n// each string in the fingerprints only once.\nvar forEachName = 'forEach',\n hasName = 'has',\n commonInit = ['clear', 'delete'],\n mapTail = ['get', hasName, 'set'];\n\n// `Map`, `WeakMap` and `Set` each have slightly different\n// combinations of the above sublists.\nexport var mapMethods = commonInit.concat(forEachName, mapTail),\n weakMapMethods = commonInit.concat(mapTail),\n setMethods = ['add'].concat(commonInit, forEachName, hasName);\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, mapMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map');\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, weakMapMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap');\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, setMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(setMethods) : tagTester('Set');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('WeakSet');\n","import keys from './keys.js';\n\n// Retrieve the values of an object's properties.\nexport default function values(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[_keys[i]];\n }\n return values;\n}\n","import keys from './keys.js';\n\n// Convert an object into a list of `[key, value]` pairs.\n// The opposite of `_.object` with one argument.\nexport default function pairs(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [_keys[i], obj[_keys[i]]];\n }\n return pairs;\n}\n","import keys from './keys.js';\n\n// Invert the keys and values of an object. The values must be serializable.\nexport default function invert(obj) {\n var result = {};\n var _keys = keys(obj);\n for (var i = 0, length = _keys.length; i < length; i++) {\n result[obj[_keys[i]]] = _keys[i];\n }\n return result;\n}\n","import isFunction from './isFunction.js';\n\n// Return a sorted list of the function names available on the object.\nexport default function functions(obj) {\n var names = [];\n for (var key in obj) {\n if (isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n}\n","// An internal function for creating assigner functions.\nexport default function createAssigner(keysFunc, defaults) {\n return function(obj) {\n var length = arguments.length;\n if (defaults) obj = Object(obj);\n if (length < 2 || obj == null) return obj;\n for (var index = 1; index < length; index++) {\n var source = arguments[index],\n keys = keysFunc(source),\n l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (!defaults || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n}\n","import createAssigner from './_createAssigner.js';\nimport allKeys from './allKeys.js';\n\n// Extend a given object with all the properties in passed-in object(s).\nexport default createAssigner(allKeys);\n","import createAssigner from './_createAssigner.js';\nimport keys from './keys.js';\n\n// Assigns a given object with all the own properties in the passed-in\n// object(s).\n// (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\nexport default createAssigner(keys);\n","import createAssigner from './_createAssigner.js';\nimport allKeys from './allKeys.js';\n\n// Fill in a given object with default properties.\nexport default createAssigner(allKeys, true);\n","import isObject from './isObject.js';\nimport { nativeCreate } from './_setup.js';\n\n// Create a naked function reference for surrogate-prototype-swapping.\nfunction ctor() {\n return function(){};\n}\n\n// An internal function for creating a new object that inherits from another.\nexport default function baseCreate(prototype) {\n if (!isObject(prototype)) return {};\n if (nativeCreate) return nativeCreate(prototype);\n var Ctor = ctor();\n Ctor.prototype = prototype;\n var result = new Ctor;\n Ctor.prototype = null;\n return result;\n}\n","import baseCreate from './_baseCreate.js';\nimport extendOwn from './extendOwn.js';\n\n// Creates an object that inherits from the given prototype object.\n// If additional properties are provided then they will be added to the\n// created object.\nexport default function create(prototype, props) {\n var result = baseCreate(prototype);\n if (props) extendOwn(result, props);\n return result;\n}\n","import isObject from './isObject.js';\nimport isArray from './isArray.js';\nimport extend from './extend.js';\n\n// Create a (shallow-cloned) duplicate of an object.\nexport default function clone(obj) {\n if (!isObject(obj)) return obj;\n return isArray(obj) ? obj.slice() : extend({}, obj);\n}\n","// Invokes `interceptor` with the `obj` and then returns `obj`.\n// The primary purpose of this method is to \"tap into\" a method chain, in\n// order to perform operations on intermediate results within the chain.\nexport default function tap(obj, interceptor) {\n interceptor(obj);\n return obj;\n}\n","import _ from './underscore.js';\nimport isArray from './isArray.js';\n\n// Normalize a (deep) property `path` to array.\n// Like `_.iteratee`, this function can be customized.\nexport default function toPath(path) {\n return isArray(path) ? path : [path];\n}\n_.toPath = toPath;\n","import _ from './underscore.js';\nimport './toPath.js';\n\n// Internal wrapper for `_.toPath` to enable minification.\n// Similar to `cb` for `_.iteratee`.\nexport default function toPath(path) {\n return _.toPath(path);\n}\n","// Internal function to obtain a nested property in `obj` along `path`.\nexport default function deepGet(obj, path) {\n var length = path.length;\n for (var i = 0; i < length; i++) {\n if (obj == null) return void 0;\n obj = obj[path[i]];\n }\n return length ? obj : void 0;\n}\n","import toPath from './_toPath.js';\nimport deepGet from './_deepGet.js';\nimport isUndefined from './isUndefined.js';\n\n// Get the value of the (deep) property on `path` from `object`.\n// If any property in `path` does not exist or if the value is\n// `undefined`, return `defaultValue` instead.\n// The `path` is normalized through `_.toPath`.\nexport default function get(object, path, defaultValue) {\n var value = deepGet(object, toPath(path));\n return isUndefined(value) ? defaultValue : value;\n}\n","import _has from './_has.js';\nimport toPath from './_toPath.js';\n\n// Shortcut function for checking if an object has a given property directly on\n// itself (in other words, not on a prototype). Unlike the internal `has`\n// function, this public version can also traverse nested properties.\nexport default function has(obj, path) {\n path = toPath(path);\n var length = path.length;\n for (var i = 0; i < length; i++) {\n var key = path[i];\n if (!_has(obj, key)) return false;\n obj = obj[key];\n }\n return !!length;\n}\n","// Keep the identity function around for default iteratees.\nexport default function identity(value) {\n return value;\n}\n","import extendOwn from './extendOwn.js';\nimport isMatch from './isMatch.js';\n\n// Returns a predicate for checking whether an object has a given set of\n// `key:value` pairs.\nexport default function matcher(attrs) {\n attrs = extendOwn({}, attrs);\n return function(obj) {\n return isMatch(obj, attrs);\n };\n}\n","import deepGet from './_deepGet.js';\nimport toPath from './_toPath.js';\n\n// Creates a function that, when passed an object, will traverse that object’s\n// properties down the given `path`, specified as an array of keys or indices.\nexport default function property(path) {\n path = toPath(path);\n return function(obj) {\n return deepGet(obj, path);\n };\n}\n","// Internal function that returns an efficient (for current engines) version\n// of the passed-in callback, to be repeatedly applied in other Underscore\n// functions.\nexport default function optimizeCb(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n // The 2-argument case is omitted because we’re not using it.\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n}\n","import identity from './identity.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isArray from './isArray.js';\nimport matcher from './matcher.js';\nimport property from './property.js';\nimport optimizeCb from './_optimizeCb.js';\n\n// An internal function to generate callbacks that can be applied to each\n// element in a collection, returning the desired result — either `_.identity`,\n// an arbitrary callback, a property matcher, or a property accessor.\nexport default function baseIteratee(value, context, argCount) {\n if (value == null) return identity;\n if (isFunction(value)) return optimizeCb(value, context, argCount);\n if (isObject(value) && !isArray(value)) return matcher(value);\n return property(value);\n}\n","import _ from './underscore.js';\nimport baseIteratee from './_baseIteratee.js';\n\n// External wrapper for our callback generator. Users may customize\n// `_.iteratee` if they want additional predicate/iteratee shorthand styles.\n// This abstraction hides the internal-only `argCount` argument.\nexport default function iteratee(value, context) {\n return baseIteratee(value, context, Infinity);\n}\n_.iteratee = iteratee;\n","import _ from './underscore.js';\nimport baseIteratee from './_baseIteratee.js';\nimport iteratee from './iteratee.js';\n\n// The function we call internally to generate a callback. It invokes\n// `_.iteratee` if overridden, otherwise `baseIteratee`.\nexport default function cb(value, context, argCount) {\n if (_.iteratee !== iteratee) return _.iteratee(value, context);\n return baseIteratee(value, context, argCount);\n}\n","import cb from './_cb.js';\nimport keys from './keys.js';\n\n// Returns the results of applying the `iteratee` to each element of `obj`.\n// In contrast to `_.map` it returns an object.\nexport default function mapObject(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = keys(obj),\n length = _keys.length,\n results = {};\n for (var index = 0; index < length; index++) {\n var currentKey = _keys[index];\n results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n}\n","// Predicate-generating function. Often useful outside of Underscore.\nexport default function noop(){}\n","import noop from './noop.js';\nimport get from './get.js';\n\n// Generates a function for a given object that returns a given property.\nexport default function propertyOf(obj) {\n if (obj == null) return noop;\n return function(path) {\n return get(obj, path);\n };\n}\n","import optimizeCb from './_optimizeCb.js';\n\n// Run a function **n** times.\nexport default function times(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = optimizeCb(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n}\n","// Return a random integer between `min` and `max` (inclusive).\nexport default function random(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n}\n","// A (possibly faster) way to get the current timestamp as an integer.\nexport default Date.now || function() {\n return new Date().getTime();\n};\n","import keys from './keys.js';\n\n// Internal helper to generate functions for escaping and unescaping strings\n// to/from HTML interpolation.\nexport default function createEscaper(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped.\n var source = '(?:' + keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n}\n","// Internal list of HTML entities for escaping.\nexport default {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n};\n","import createEscaper from './_createEscaper.js';\nimport escapeMap from './_escapeMap.js';\n\n// Function for escaping strings to HTML interpolation.\nexport default createEscaper(escapeMap);\n","import invert from './invert.js';\nimport escapeMap from './_escapeMap.js';\n\n// Internal list of HTML entities for unescaping.\nexport default invert(escapeMap);\n","import createEscaper from './_createEscaper.js';\nimport unescapeMap from './_unescapeMap.js';\n\n// Function for unescaping strings from HTML interpolation.\nexport default createEscaper(unescapeMap);\n","import _ from './underscore.js';\n\n// By default, Underscore uses ERB-style template delimiters. Change the\n// following template settings to use alternative delimiters.\nexport default _.templateSettings = {\n evaluate: /<%([\\s\\S]+?)%>/g,\n interpolate: /<%=([\\s\\S]+?)%>/g,\n escape: /<%-([\\s\\S]+?)%>/g\n};\n","import defaults from './defaults.js';\nimport _ from './underscore.js';\nimport './templateSettings.js';\n\n// When customizing `_.templateSettings`, if you don't want to define an\n// interpolation, evaluation or escaping regex, we need one that is\n// guaranteed not to match.\nvar noMatch = /(.)^/;\n\n// Certain characters need to be escaped so that they can be put into a\n// string literal.\nvar escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n};\n\nvar escapeRegExp = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\nfunction escapeChar(match) {\n return '\\\\' + escapes[match];\n}\n\n// In order to prevent third-party code injection through\n// `_.templateSettings.variable`, we test it against the following regular\n// expression. It is intentionally a bit more liberal than just matching valid\n// identifiers, but still prevents possible loopholes through defaults or\n// destructuring assignment.\nvar bareIdentifier = /^\\s*(\\w|\\$)+\\s*$/;\n\n// JavaScript micro-templating, similar to John Resig's implementation.\n// Underscore templating handles arbitrary delimiters, preserves whitespace,\n// and correctly escapes quotes within interpolated code.\n// NB: `oldSettings` only exists for backwards compatibility.\nexport default function template(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = defaults({}, settings, _.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escapeRegExp, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offset.\n return match;\n });\n source += \"';\\n\";\n\n var argument = settings.variable;\n if (argument) {\n // Insure against third-party code injection. (CVE-2021-23358)\n if (!bareIdentifier.test(argument)) throw new Error(\n 'variable is not a bare identifier: ' + argument\n );\n } else {\n // If a variable is not specified, place data values in local scope.\n source = 'with(obj||{}){\\n' + source + '}\\n';\n argument = 'obj';\n }\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n var render;\n try {\n render = new Function(argument, '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n}\n","import isFunction from './isFunction.js';\nimport toPath from './_toPath.js';\n\n// Traverses the children of `obj` along `path`. If a child is a function, it\n// is invoked with its parent as context. Returns the value of the final\n// child, or `fallback` if any child is undefined.\nexport default function result(obj, path, fallback) {\n path = toPath(path);\n var length = path.length;\n if (!length) {\n return isFunction(fallback) ? fallback.call(obj) : fallback;\n }\n for (var i = 0; i < length; i++) {\n var prop = obj == null ? void 0 : obj[path[i]];\n if (prop === void 0) {\n prop = fallback;\n i = length; // Ensure we don't continue iterating.\n }\n obj = isFunction(prop) ? prop.call(obj) : prop;\n }\n return obj;\n}\n","// Generate a unique integer id (unique within the entire client session).\n// Useful for temporary DOM ids.\nvar idCounter = 0;\nexport default function uniqueId(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n}\n","import _ from './underscore.js';\n\n// Start chaining a wrapped Underscore object.\nexport default function chain(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n}\n","import baseCreate from './_baseCreate.js';\nimport isObject from './isObject.js';\n\n// Internal function to execute `sourceFunc` bound to `context` with optional\n// `args`. Determines whether to execute a function as a constructor or as a\n// normal function.\nexport default function executeBound(sourceFunc, boundFunc, context, callingContext, args) {\n if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n var self = baseCreate(sourceFunc.prototype);\n var result = sourceFunc.apply(self, args);\n if (isObject(result)) return result;\n return self;\n}\n","import restArguments from './restArguments.js';\nimport executeBound from './_executeBound.js';\nimport _ from './underscore.js';\n\n// Partially apply a function by creating a version that has had some of its\n// arguments pre-filled, without changing its dynamic `this` context. `_` acts\n// as a placeholder by default, allowing any combination of arguments to be\n// pre-filled. Set `_.partial.placeholder` for a custom placeholder argument.\nvar partial = restArguments(function(func, boundArgs) {\n var placeholder = partial.placeholder;\n var bound = function() {\n var position = 0, length = boundArgs.length;\n var args = Array(length);\n for (var i = 0; i < length; i++) {\n args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return executeBound(func, bound, this, this, args);\n };\n return bound;\n});\n\npartial.placeholder = _;\nexport default partial;\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport executeBound from './_executeBound.js';\n\n// Create a function bound to a given object (assigning `this`, and arguments,\n// optionally).\nexport default restArguments(function(func, context, args) {\n if (!isFunction(func)) throw new TypeError('Bind must be called on a function');\n var bound = restArguments(function(callArgs) {\n return executeBound(func, bound, context, this, args.concat(callArgs));\n });\n return bound;\n});\n","import createSizePropertyCheck from './_createSizePropertyCheck.js';\nimport getLength from './_getLength.js';\n\n// Internal helper for collection methods to determine whether a collection\n// should be iterated as an array or as an object.\n// Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n// Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\nexport default createSizePropertyCheck(getLength);\n","import getLength from './_getLength.js';\nimport isArrayLike from './_isArrayLike.js';\nimport isArray from './isArray.js';\nimport isArguments from './isArguments.js';\n\n// Internal implementation of a recursive `flatten` function.\nexport default function flatten(input, depth, strict, output) {\n output = output || [];\n if (!depth && depth !== 0) {\n depth = Infinity;\n } else if (depth <= 0) {\n return output.concat(input);\n }\n var idx = output.length;\n for (var i = 0, length = getLength(input); i < length; i++) {\n var value = input[i];\n if (isArrayLike(value) && (isArray(value) || isArguments(value))) {\n // Flatten current level of array or arguments object.\n if (depth > 1) {\n flatten(value, depth - 1, strict, output);\n idx = output.length;\n } else {\n var j = 0, len = value.length;\n while (j < len) output[idx++] = value[j++];\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n}\n","import restArguments from './restArguments.js';\nimport flatten from './_flatten.js';\nimport bind from './bind.js';\n\n// Bind a number of an object's methods to that object. Remaining arguments\n// are the method names to be bound. Useful for ensuring that all callbacks\n// defined on an object belong to it.\nexport default restArguments(function(obj, keys) {\n keys = flatten(keys, false, false);\n var index = keys.length;\n if (index < 1) throw new Error('bindAll must be passed function names');\n while (index--) {\n var key = keys[index];\n obj[key] = bind(obj[key], obj);\n }\n return obj;\n});\n","import has from './_has.js';\n\n// Memoize an expensive function by storing its results.\nexport default function memoize(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n if (!has(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n}\n","import restArguments from './restArguments.js';\n\n// Delays a function for the given number of milliseconds, and then calls\n// it with the arguments supplied.\nexport default restArguments(function(func, wait, args) {\n return setTimeout(function() {\n return func.apply(null, args);\n }, wait);\n});\n","import partial from './partial.js';\nimport delay from './delay.js';\nimport _ from './underscore.js';\n\n// Defers a function, scheduling it to run after the current call stack has\n// cleared.\nexport default partial(delay, _, 1);\n","import now from './now.js';\n\n// Returns a function, that, when invoked, will only be triggered at most once\n// during a given window of time. Normally, the throttled function will run\n// as much as it can, without ever going more than once per `wait` duration;\n// but if you'd like to disable the execution on the leading edge, pass\n// `{leading: false}`. To disable execution on the trailing edge, ditto.\nexport default function throttle(func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options) options = {};\n\n var later = function() {\n previous = options.leading === false ? 0 : now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n\n var throttled = function() {\n var _now = now();\n if (!previous && options.leading === false) previous = _now;\n var remaining = wait - (_now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = _now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n\n throttled.cancel = function() {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n\n return throttled;\n}\n","import restArguments from './restArguments.js';\nimport now from './now.js';\n\n// When a sequence of calls of the returned function ends, the argument\n// function is triggered. The end of a sequence is defined by the `wait`\n// parameter. If `immediate` is passed, the argument function will be\n// triggered at the beginning of the sequence instead of at the end.\nexport default function debounce(func, wait, immediate) {\n var timeout, previous, args, result, context;\n\n var later = function() {\n var passed = now() - previous;\n if (wait > passed) {\n timeout = setTimeout(later, wait - passed);\n } else {\n timeout = null;\n if (!immediate) result = func.apply(context, args);\n // This check is needed because `func` can recursively invoke `debounced`.\n if (!timeout) args = context = null;\n }\n };\n\n var debounced = restArguments(function(_args) {\n context = this;\n args = _args;\n previous = now();\n if (!timeout) {\n timeout = setTimeout(later, wait);\n if (immediate) result = func.apply(context, args);\n }\n return result;\n });\n\n debounced.cancel = function() {\n clearTimeout(timeout);\n timeout = args = context = null;\n };\n\n return debounced;\n}\n","import partial from './partial.js';\n\n// Returns the first function passed as an argument to the second,\n// allowing you to adjust arguments, run code before and after, and\n// conditionally execute the original function.\nexport default function wrap(func, wrapper) {\n return partial(wrapper, func);\n}\n","// Returns a negated version of the passed-in predicate.\nexport default function negate(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n}\n","// Returns a function that is the composition of a list of functions, each\n// consuming the return value of the function that follows.\nexport default function compose() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n}\n","// Returns a function that will only be executed on and after the Nth call.\nexport default function after(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n}\n","// Returns a function that will only be executed up to (but not including) the\n// Nth call.\nexport default function before(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n }\n if (times <= 1) func = null;\n return memo;\n };\n}\n","import partial from './partial.js';\nimport before from './before.js';\n\n// Returns a function that will be executed at most one time, no matter how\n// often you call it. Useful for lazy initialization.\nexport default partial(before, 2);\n","import cb from './_cb.js';\nimport keys from './keys.js';\n\n// Returns the first key on an object that passes a truth test.\nexport default function findKey(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = keys(obj), key;\n for (var i = 0, length = _keys.length; i < length; i++) {\n key = _keys[i];\n if (predicate(obj[key], key, obj)) return key;\n }\n}\n","import cb from './_cb.js';\nimport getLength from './_getLength.js';\n\n// Internal function to generate `_.findIndex` and `_.findLastIndex`.\nexport default function createPredicateIndexFinder(dir) {\n return function(array, predicate, context) {\n predicate = cb(predicate, context);\n var length = getLength(array);\n var index = dir > 0 ? 0 : length - 1;\n for (; index >= 0 && index < length; index += dir) {\n if (predicate(array[index], index, array)) return index;\n }\n return -1;\n };\n}\n","import createPredicateIndexFinder from './_createPredicateIndexFinder.js';\n\n// Returns the first index on an array-like that passes a truth test.\nexport default createPredicateIndexFinder(1);\n","import createPredicateIndexFinder from './_createPredicateIndexFinder.js';\n\n// Returns the last index on an array-like that passes a truth test.\nexport default createPredicateIndexFinder(-1);\n","import cb from './_cb.js';\nimport getLength from './_getLength.js';\n\n// Use a comparator function to figure out the smallest index at which\n// an object should be inserted so as to maintain order. Uses binary search.\nexport default function sortedIndex(array, obj, iteratee, context) {\n iteratee = cb(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = getLength(array);\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n}\n","import getLength from './_getLength.js';\nimport { slice } from './_setup.js';\nimport isNaN from './isNaN.js';\n\n// Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions.\nexport default function createIndexFinder(dir, predicateFind, sortedIndex) {\n return function(array, item, idx) {\n var i = 0, length = getLength(array);\n if (typeof idx == 'number') {\n if (dir > 0) {\n i = idx >= 0 ? idx : Math.max(idx + length, i);\n } else {\n length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n }\n } else if (sortedIndex && idx && length) {\n idx = sortedIndex(array, item);\n return array[idx] === item ? idx : -1;\n }\n if (item !== item) {\n idx = predicateFind(slice.call(array, i, length), isNaN);\n return idx >= 0 ? idx + i : -1;\n }\n for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n if (array[idx] === item) return idx;\n }\n return -1;\n };\n}\n","import sortedIndex from './sortedIndex.js';\nimport findIndex from './findIndex.js';\nimport createIndexFinder from './_createIndexFinder.js';\n\n// Return the position of the first occurrence of an item in an array,\n// or -1 if the item is not included in the array.\n// If the array is large and already in sort order, pass `true`\n// for **isSorted** to use binary search.\nexport default createIndexFinder(1, findIndex, sortedIndex);\n","import findLastIndex from './findLastIndex.js';\nimport createIndexFinder from './_createIndexFinder.js';\n\n// Return the position of the last occurrence of an item in an array,\n// or -1 if the item is not included in the array.\nexport default createIndexFinder(-1, findLastIndex);\n","import isArrayLike from './_isArrayLike.js';\nimport findIndex from './findIndex.js';\nimport findKey from './findKey.js';\n\n// Return the first value which passes a truth test.\nexport default function find(obj, predicate, context) {\n var keyFinder = isArrayLike(obj) ? findIndex : findKey;\n var key = keyFinder(obj, predicate, context);\n if (key !== void 0 && key !== -1) return obj[key];\n}\n","import find from './find.js';\nimport matcher from './matcher.js';\n\n// Convenience version of a common use case of `_.find`: getting the first\n// object containing specific `key:value` pairs.\nexport default function findWhere(obj, attrs) {\n return find(obj, matcher(attrs));\n}\n","import optimizeCb from './_optimizeCb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// The cornerstone for collection functions, an `each`\n// implementation, aka `forEach`.\n// Handles raw objects in addition to array-likes. Treats all\n// sparse array-likes as if they were dense.\nexport default function each(obj, iteratee, context) {\n iteratee = optimizeCb(iteratee, context);\n var i, length;\n if (isArrayLike(obj)) {\n for (i = 0, length = obj.length; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var _keys = keys(obj);\n for (i = 0, length = _keys.length; i < length; i++) {\n iteratee(obj[_keys[i]], _keys[i], obj);\n }\n }\n return obj;\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Return the results of applying the iteratee to each element.\nexport default function map(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n results = Array(length);\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\nimport optimizeCb from './_optimizeCb.js';\n\n// Internal helper to create a reducing function, iterating left or right.\nexport default function createReduce(dir) {\n // Wrap code that reassigns argument variables in a separate function than\n // the one that accesses `arguments.length` to avoid a perf hit. (#1991)\n var reducer = function(obj, iteratee, memo, initial) {\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n index = dir > 0 ? 0 : length - 1;\n if (!initial) {\n memo = obj[_keys ? _keys[index] : index];\n index += dir;\n }\n for (; index >= 0 && index < length; index += dir) {\n var currentKey = _keys ? _keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n };\n\n return function(obj, iteratee, memo, context) {\n var initial = arguments.length >= 3;\n return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);\n };\n}\n","import createReduce from './_createReduce.js';\n\n// **Reduce** builds up a single result from a list of values, aka `inject`,\n// or `foldl`.\nexport default createReduce(1);\n","import createReduce from './_createReduce.js';\n\n// The right-associative version of reduce, also known as `foldr`.\nexport default createReduce(-1);\n","import cb from './_cb.js';\nimport each from './each.js';\n\n// Return all the elements that pass a truth test.\nexport default function filter(obj, predicate, context) {\n var results = [];\n predicate = cb(predicate, context);\n each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n}\n","import filter from './filter.js';\nimport negate from './negate.js';\nimport cb from './_cb.js';\n\n// Return all the elements for which a truth test fails.\nexport default function reject(obj, predicate, context) {\n return filter(obj, negate(cb(predicate)), context);\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Determine whether all of the elements pass a truth test.\nexport default function every(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Determine if at least one element in the object passes a truth test.\nexport default function some(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport indexOf from './indexOf.js';\n\n// Determine if the array or object contains a given item (using `===`).\nexport default function contains(obj, item, fromIndex, guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n return indexOf(obj, item, fromIndex) >= 0;\n}\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport map from './map.js';\nimport deepGet from './_deepGet.js';\nimport toPath from './_toPath.js';\n\n// Invoke a method (with arguments) on every item in a collection.\nexport default restArguments(function(obj, path, args) {\n var contextPath, func;\n if (isFunction(path)) {\n func = path;\n } else {\n path = toPath(path);\n contextPath = path.slice(0, -1);\n path = path[path.length - 1];\n }\n return map(obj, function(context) {\n var method = func;\n if (!method) {\n if (contextPath && contextPath.length) {\n context = deepGet(context, contextPath);\n }\n if (context == null) return void 0;\n method = context[path];\n }\n return method == null ? method : method.apply(context, args);\n });\n});\n","import map from './map.js';\nimport property from './property.js';\n\n// Convenience version of a common use case of `_.map`: fetching a property.\nexport default function pluck(obj, key) {\n return map(obj, property(key));\n}\n","import filter from './filter.js';\nimport matcher from './matcher.js';\n\n// Convenience version of a common use case of `_.filter`: selecting only\n// objects containing specific `key:value` pairs.\nexport default function where(obj, attrs) {\n return filter(obj, matcher(attrs));\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport cb from './_cb.js';\nimport each from './each.js';\n\n// Return the maximum element (or element-based computation).\nexport default function max(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value > result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed > lastComputed || (computed === -Infinity && result === -Infinity)) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport cb from './_cb.js';\nimport each from './each.js';\n\n// Return the minimum element (or element-based computation).\nexport default function min(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value < result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed < lastComputed || (computed === Infinity && result === Infinity)) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n}\n","import isArray from './isArray.js';\nimport { slice } from './_setup.js';\nimport isString from './isString.js';\nimport isArrayLike from './_isArrayLike.js';\nimport map from './map.js';\nimport identity from './identity.js';\nimport values from './values.js';\n\n// Safely create a real, live array from anything iterable.\nvar reStrSymbol = /[^\\ud800-\\udfff]|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff]/g;\nexport default function toArray(obj) {\n if (!obj) return [];\n if (isArray(obj)) return slice.call(obj);\n if (isString(obj)) {\n // Keep surrogate pair characters together.\n return obj.match(reStrSymbol);\n }\n if (isArrayLike(obj)) return map(obj, identity);\n return values(obj);\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport getLength from './_getLength.js';\nimport random from './random.js';\nimport toArray from './toArray.js';\n\n// Sample **n** random values from a collection using the modern version of the\n// [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n// If **n** is not specified, returns a single random element.\n// The internal `guard` argument allows it to work with `_.map`.\nexport default function sample(obj, n, guard) {\n if (n == null || guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n return obj[random(obj.length - 1)];\n }\n var sample = toArray(obj);\n var length = getLength(sample);\n n = Math.max(Math.min(n, length), 0);\n var last = length - 1;\n for (var index = 0; index < n; index++) {\n var rand = random(index, last);\n var temp = sample[index];\n sample[index] = sample[rand];\n sample[rand] = temp;\n }\n return sample.slice(0, n);\n}\n","import sample from './sample.js';\n\n// Shuffle a collection.\nexport default function shuffle(obj) {\n return sample(obj, Infinity);\n}\n","import cb from './_cb.js';\nimport pluck from './pluck.js';\nimport map from './map.js';\n\n// Sort the object's values by a criterion produced by an iteratee.\nexport default function sortBy(obj, iteratee, context) {\n var index = 0;\n iteratee = cb(iteratee, context);\n return pluck(map(obj, function(value, key, list) {\n return {\n value: value,\n index: index++,\n criteria: iteratee(value, key, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n}\n","import cb from './_cb.js';\nimport each from './each.js';\n\n// An internal function used for aggregate \"group by\" operations.\nexport default function group(behavior, partition) {\n return function(obj, iteratee, context) {\n var result = partition ? [[], []] : {};\n iteratee = cb(iteratee, context);\n each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n}\n","import group from './_group.js';\nimport has from './_has.js';\n\n// Groups the object's values by a criterion. Pass either a string attribute\n// to group by, or a function that returns the criterion.\nexport default group(function(result, value, key) {\n if (has(result, key)) result[key].push(value); else result[key] = [value];\n});\n","import group from './_group.js';\n\n// Indexes the object's values by a criterion, similar to `_.groupBy`, but for\n// when you know that your index values will be unique.\nexport default group(function(result, value, key) {\n result[key] = value;\n});\n","import group from './_group.js';\nimport has from './_has.js';\n\n// Counts instances of an object that group by a certain criterion. Pass\n// either a string attribute to count by, or a function that returns the\n// criterion.\nexport default group(function(result, value, key) {\n if (has(result, key)) result[key]++; else result[key] = 1;\n});\n","import group from './_group.js';\n\n// Split a collection into two arrays: one whose elements all pass the given\n// truth test, and one whose elements all do not pass the truth test.\nexport default group(function(result, value, pass) {\n result[pass ? 0 : 1].push(value);\n}, true);\n","import isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Return the number of elements in a collection.\nexport default function size(obj) {\n if (obj == null) return 0;\n return isArrayLike(obj) ? obj.length : keys(obj).length;\n}\n","// Internal `_.pick` helper function to determine whether `key` is an enumerable\n// property name of `obj`.\nexport default function keyInObj(value, key, obj) {\n return key in obj;\n}\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport optimizeCb from './_optimizeCb.js';\nimport allKeys from './allKeys.js';\nimport keyInObj from './_keyInObj.js';\nimport flatten from './_flatten.js';\n\n// Return a copy of the object only containing the allowed properties.\nexport default restArguments(function(obj, keys) {\n var result = {}, iteratee = keys[0];\n if (obj == null) return result;\n if (isFunction(iteratee)) {\n if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);\n keys = allKeys(obj);\n } else {\n iteratee = keyInObj;\n keys = flatten(keys, false, false);\n obj = Object(obj);\n }\n for (var i = 0, length = keys.length; i < length; i++) {\n var key = keys[i];\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n return result;\n});\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport negate from './negate.js';\nimport map from './map.js';\nimport flatten from './_flatten.js';\nimport contains from './contains.js';\nimport pick from './pick.js';\n\n// Return a copy of the object without the disallowed properties.\nexport default restArguments(function(obj, keys) {\n var iteratee = keys[0], context;\n if (isFunction(iteratee)) {\n iteratee = negate(iteratee);\n if (keys.length > 1) context = keys[1];\n } else {\n keys = map(flatten(keys, false, false), String);\n iteratee = function(value, key) {\n return !contains(keys, key);\n };\n }\n return pick(obj, iteratee, context);\n});\n","import { slice } from './_setup.js';\n\n// Returns everything but the last entry of the array. Especially useful on\n// the arguments object. Passing **n** will return all the values in\n// the array, excluding the last N.\nexport default function initial(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n}\n","import initial from './initial.js';\n\n// Get the first element of an array. Passing **n** will return the first N\n// values in the array. The **guard** check allows it to work with `_.map`.\nexport default function first(array, n, guard) {\n if (array == null || array.length < 1) return n == null || guard ? void 0 : [];\n if (n == null || guard) return array[0];\n return initial(array, array.length - n);\n}\n","import { slice } from './_setup.js';\n\n// Returns everything but the first entry of the `array`. Especially useful on\n// the `arguments` object. Passing an **n** will return the rest N values in the\n// `array`.\nexport default function rest(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n}\n","import rest from './rest.js';\n\n// Get the last element of an array. Passing **n** will return the last N\n// values in the array.\nexport default function last(array, n, guard) {\n if (array == null || array.length < 1) return n == null || guard ? void 0 : [];\n if (n == null || guard) return array[array.length - 1];\n return rest(array, Math.max(0, array.length - n));\n}\n","import filter from './filter.js';\n\n// Trim out all falsy values from an array.\nexport default function compact(array) {\n return filter(array, Boolean);\n}\n","import _flatten from './_flatten.js';\n\n// Flatten out an array, either recursively (by default), or up to `depth`.\n// Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively.\nexport default function flatten(array, depth) {\n return _flatten(array, depth, false);\n}\n","import restArguments from './restArguments.js';\nimport flatten from './_flatten.js';\nimport filter from './filter.js';\nimport contains from './contains.js';\n\n// Take the difference between one array and a number of other arrays.\n// Only the elements present in just the first array will remain.\nexport default restArguments(function(array, rest) {\n rest = flatten(rest, true, true);\n return filter(array, function(value){\n return !contains(rest, value);\n });\n});\n","import restArguments from './restArguments.js';\nimport difference from './difference.js';\n\n// Return a version of the array that does not contain the specified value(s).\nexport default restArguments(function(array, otherArrays) {\n return difference(array, otherArrays);\n});\n","import isBoolean from './isBoolean.js';\nimport cb from './_cb.js';\nimport getLength from './_getLength.js';\nimport contains from './contains.js';\n\n// Produce a duplicate-free version of the array. If the array has already\n// been sorted, you have the option of using a faster algorithm.\n// The faster algorithm will not work with an iteratee if the iteratee\n// is not a one-to-one function, so providing an iteratee will disable\n// the faster algorithm.\nexport default function uniq(array, isSorted, iteratee, context) {\n if (!isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = cb(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = getLength(array); i < length; i++) {\n var value = array[i],\n computed = iteratee ? iteratee(value, i, array) : value;\n if (isSorted && !iteratee) {\n if (!i || seen !== computed) result.push(value);\n seen = computed;\n } else if (iteratee) {\n if (!contains(seen, computed)) {\n seen.push(computed);\n result.push(value);\n }\n } else if (!contains(result, value)) {\n result.push(value);\n }\n }\n return result;\n}\n","import restArguments from './restArguments.js';\nimport uniq from './uniq.js';\nimport flatten from './_flatten.js';\n\n// Produce an array that contains the union: each distinct element from all of\n// the passed-in arrays.\nexport default restArguments(function(arrays) {\n return uniq(flatten(arrays, true, true));\n});\n","import getLength from './_getLength.js';\nimport contains from './contains.js';\n\n// Produce an array that contains every item shared between all the\n// passed-in arrays.\nexport default function intersection(array) {\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = getLength(array); i < length; i++) {\n var item = array[i];\n if (contains(result, item)) continue;\n var j;\n for (j = 1; j < argsLength; j++) {\n if (!contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n}\n","import max from './max.js';\nimport getLength from './_getLength.js';\nimport pluck from './pluck.js';\n\n// Complement of zip. Unzip accepts an array of arrays and groups\n// each array's elements on shared indices.\nexport default function unzip(array) {\n var length = (array && max(array, getLength).length) || 0;\n var result = Array(length);\n\n for (var index = 0; index < length; index++) {\n result[index] = pluck(array, index);\n }\n return result;\n}\n","import restArguments from './restArguments.js';\nimport unzip from './unzip.js';\n\n// Zip together multiple lists into a single array -- elements that share\n// an index go together.\nexport default restArguments(unzip);\n","import getLength from './_getLength.js';\n\n// Converts lists into objects. Pass either a single array of `[key, value]`\n// pairs, or two parallel arrays of the same length -- one of keys, and one of\n// the corresponding values. Passing by pairs is the reverse of `_.pairs`.\nexport default function object(list, values) {\n var result = {};\n for (var i = 0, length = getLength(list); i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n}\n","// Generate an integer Array containing an arithmetic progression. A port of\n// the native Python `range()` function. See\n// [the Python documentation](https://docs.python.org/library/functions.html#range).\nexport default function range(start, stop, step) {\n if (stop == null) {\n stop = start || 0;\n start = 0;\n }\n if (!step) {\n step = stop < start ? -1 : 1;\n }\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n}\n","import { slice } from './_setup.js';\n\n// Chunk a single array into multiple arrays, each containing `count` or fewer\n// items.\nexport default function chunk(array, count) {\n if (count == null || count < 1) return [];\n var result = [];\n var i = 0, length = array.length;\n while (i < length) {\n result.push(slice.call(array, i, i += count));\n }\n return result;\n}\n","import _ from './underscore.js';\n\n// Helper function to continue chaining intermediate results.\nexport default function chainResult(instance, obj) {\n return instance._chain ? _(obj).chain() : obj;\n}\n","import _ from './underscore.js';\nimport each from './each.js';\nimport functions from './functions.js';\nimport { push } from './_setup.js';\nimport chainResult from './_chainResult.js';\n\n// Add your own custom functions to the Underscore object.\nexport default function mixin(obj) {\n each(functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return chainResult(this, func.apply(_, args));\n };\n });\n return _;\n}\n","import _ from './underscore.js';\nimport each from './each.js';\nimport { ArrayProto } from './_setup.js';\nimport chainResult from './_chainResult.js';\n\n// Add all mutator `Array` functions to the wrapper.\neach(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n if (obj != null) {\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) {\n delete obj[0];\n }\n }\n return chainResult(this, obj);\n };\n});\n\n// Add all accessor `Array` functions to the wrapper.\neach(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n if (obj != null) obj = method.apply(obj, arguments);\n return chainResult(this, obj);\n };\n});\n\nexport default _;\n","// Default Export\n// ==============\n// In this module, we mix our bundled exports into the `_` object and export\n// the result. This is analogous to setting `module.exports = _` in CommonJS.\n// Hence, this module is also the entry point of our UMD bundle and the package\n// entry point for CommonJS and AMD users. In other words, this is (the source\n// of) the module you are interfacing with when you do any of the following:\n//\n// ```js\n// // CommonJS\n// var _ = require('underscore');\n//\n// // AMD\n// define(['underscore'], function(_) {...});\n//\n// // UMD in the browser\n// // _ is available as a global variable\n// ```\nimport * as allExports from './index.js';\nimport { mixin } from './index.js';\n\n// Add all of the Underscore functions to the wrapper object.\nvar _ = mixin(allExports);\n// Legacy Node.js API.\n_._ = _;\n// Export the Underscore API.\nexport default _;\n","module.exports = __webpack_public_path__ + \"img/pencil.309d66da.svg\";","/**\n * @module ol/geom/flat/intersectsextent\n */\nimport { containsExtent, createEmpty, extendFlatCoordinates, intersects, intersectsSegment, } from '../../extent.js';\nimport { forEach as forEachSegment } from './segments.js';\nimport { linearRingContainsExtent, linearRingContainsXY } from './contains.js';\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {import(\"../../extent.js\").Extent} extent Extent.\n * @return {boolean} True if the geometry and the extent intersect.\n */\nexport function intersectsLineString(flatCoordinates, offset, end, stride, extent) {\n var coordinatesExtent = extendFlatCoordinates(createEmpty(), flatCoordinates, offset, end, stride);\n if (!intersects(extent, coordinatesExtent)) {\n return false;\n }\n if (containsExtent(extent, coordinatesExtent)) {\n return true;\n }\n if (coordinatesExtent[0] >= extent[0] && coordinatesExtent[2] <= extent[2]) {\n return true;\n }\n if (coordinatesExtent[1] >= extent[1] && coordinatesExtent[3] <= extent[3]) {\n return true;\n }\n return forEachSegment(flatCoordinates, offset, end, stride, \n /**\n * @param {import(\"../../coordinate.js\").Coordinate} point1 Start point.\n * @param {import(\"../../coordinate.js\").Coordinate} point2 End point.\n * @return {boolean} `true` if the segment and the extent intersect,\n * `false` otherwise.\n */\n function (point1, point2) {\n return intersectsSegment(extent, point1, point2);\n });\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {import(\"../../extent.js\").Extent} extent Extent.\n * @return {boolean} True if the geometry and the extent intersect.\n */\nexport function intersectsLineStringArray(flatCoordinates, offset, ends, stride, extent) {\n for (var i = 0, ii = ends.length; i < ii; ++i) {\n if (intersectsLineString(flatCoordinates, offset, ends[i], stride, extent)) {\n return true;\n }\n offset = ends[i];\n }\n return false;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {import(\"../../extent.js\").Extent} extent Extent.\n * @return {boolean} True if the geometry and the extent intersect.\n */\nexport function intersectsLinearRing(flatCoordinates, offset, end, stride, extent) {\n if (intersectsLineString(flatCoordinates, offset, end, stride, extent)) {\n return true;\n }\n if (linearRingContainsXY(flatCoordinates, offset, end, stride, extent[0], extent[1])) {\n return true;\n }\n if (linearRingContainsXY(flatCoordinates, offset, end, stride, extent[0], extent[3])) {\n return true;\n }\n if (linearRingContainsXY(flatCoordinates, offset, end, stride, extent[2], extent[1])) {\n return true;\n }\n if (linearRingContainsXY(flatCoordinates, offset, end, stride, extent[2], extent[3])) {\n return true;\n }\n return false;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {import(\"../../extent.js\").Extent} extent Extent.\n * @return {boolean} True if the geometry and the extent intersect.\n */\nexport function intersectsLinearRingArray(flatCoordinates, offset, ends, stride, extent) {\n if (!intersectsLinearRing(flatCoordinates, offset, ends[0], stride, extent)) {\n return false;\n }\n if (ends.length === 1) {\n return true;\n }\n for (var i = 1, ii = ends.length; i < ii; ++i) {\n if (linearRingContainsExtent(flatCoordinates, ends[i - 1], ends[i], stride, extent)) {\n if (!intersectsLineString(flatCoordinates, ends[i - 1], ends[i], stride, extent)) {\n return false;\n }\n }\n }\n return true;\n}\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @param {import(\"../../extent.js\").Extent} extent Extent.\n * @return {boolean} True if the geometry and the extent intersect.\n */\nexport function intersectsLinearRingMultiArray(flatCoordinates, offset, endss, stride, extent) {\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n if (intersectsLinearRingArray(flatCoordinates, offset, ends, stride, extent)) {\n return true;\n }\n offset = ends[ends.length - 1];\n }\n return false;\n}\n//# sourceMappingURL=intersectsextent.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextMenu.vue?vue&type=style&index=0&id=4481442d&prod&lang=less\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAA4qEECAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEiElEQVR4nO2cyYtdRRSHv+4G7TYxYLJRV7oyieKAC40hiYnoyoXaxnHpiJEYMJq4Cw4oscUJwZWioPkLRNS4MCpRUBFxyKSko4TuIA4oJq1tSo4cITRW3aGqXte773zwg+Zx+9xfVd+uW3VO1QPDMAzDMAzDMAzDMAyjihFgFTAB7AamgT9V0/rZhF4j1w6an2jGgC1q3tXUNPCg/m7X/STheuD7Bg1yc3QIGO+wn2iGgG3A8YhGOZXEeAIY7pCfJIiBHQka5OZoR8vGleYnGY9laJRTPdIBP8nGwKp/z7eB24FzgAWqpcAdwDs1/m3HE/uJHUZ6PmaPVbxo9gKra8RZA+wLxJkERhP4SaW6fpKxJWDmPeC0BrEWA7sC8R6I9JNadfwkYSQwL93bsJNP7Oz9nphTFS+ikJ8cqvKTjNUBE2sj4q4JxF3Z0k8uhfwk46nAiy+WnZ7YT7bwk1MhP8nY7bn5bQli3+mJ/UELPzkV8pOMI56byxQulqWBcbGpn5wK+UnGjOfmCxPEXuiJfayFn5wK+UmG7+bzFd/Nk7JjHY11tOvSE51zjF5kY3RvZh3LWrzlOzvr8M1bJSMXy92e2AM5j57w3FzSnrG864m9vYWfnAr5ScaqgIF1EXEvD8S9rKWfXAr5SUYoW7ZPM3FNWQIcCIyHA5m9Q8vxPiO7Gnb2EuD9QLzNkX5Sq46fZIxpOd5nZn/NlOm6wJPctMIS8tO3FRa0flZVo9upGbllOs8WLQfuCrz4/pPEvjaxnxg19ZOURzM27OEO+ElGafsohgvzk5QhLY6WsjNoqDA/yRmPfCFNJh4DS/OTlFEtx081aNCUTplGB8BPcoa1UixL1Q/V/IxqSj/brtcMD6AfwzAMwzCMPmGxZuQ2AS9ryecr4DBwFJgFfgIOamr0FWAjcAlwUgY/JwOXAvcBr+o9J9XDrHo6rB7F60t67dqWu2KzMaJzTznS8FnksveY1v8k1gURni4EHgc+itzFJG35RI9UrJiv84fnAs8AP2ZI4DjVN3q6SlKsVSzX7NqejH6O6M7VOn6ikL/orbqKcj3WW55CwhU1zsLkkAwzN6d+ymVJekvmp8XVlAwH12iy5+MC/HwN3Jhi2S676b8soEGucH3R9hSAlJyeB/5ucVN58l/TrNmVOp6fqXW9Mf1ZPrtKi6qv69kX1+eSvnpWj/jV4nzguwY3+At4A7gHOIv2nA1sAN7UmK5P9S1wXlVj5Qn8tWZA2cOxFTid9JwBPBQ4qVW6fg5tJrpBv7+iKsjnekq1V3nk9ToGuj7TzP+dtF2pC4Y6X6sgNbleM6QPwg8FdGATHdWV6b8sqBiTZYX0NHAq888i4LnM+zdSSzYInSLm7w1c9BtwHeVxdYN3SQmSDUPelZ508kWUy8XA7wV0Yh3J+Xjvk1HU19x4WF9AJ9aR5IT4owAjruP6hT6eq7o+kuREeLEAI67jegE9TdXPS15XuGZPzGH38htc3IDp/rlv8Ju0HFVnGW4i2AfSh59qrtowDMMwDMMwDMMwDMMwDMMwDMOgDf8AgEw142ylA2wAAAAASUVORK5CYII=\"","import Vue from 'vue'\nimport config from '@/configurations/config-environment'\nimport { BaseService } from '../baseService'\n\nconst dataws = config.apis.dataws\n\nexport class ProjectsOverviewService extends BaseService {\n getMyProjects() {\n const authorisation = this.getAuthorizationObject()\n const languageCode = this.getLangCodeLongFromShort(authorisation.Language)\n const data = {\n Authorisation: authorisation,\n LanguageCode: languageCode,\n WebserviceVersion: '1.0',\n ArchiveID: 0\n }\n\n return Vue.http.post(`${dataws}ITWDataRestService_V1_0/GetMyProjectsWithUitwisselJSON`, data, {\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }\n\n getProjectListByFilter(option) {\n const authorisation = this.getAuthorizationObject()\n const languageCode = this.getLangCodeLongFromShort(authorisation.Language)\n const data = {\n Authorisation: authorisation,\n LanguageCode: languageCode,\n WebserviceVersion: '1.0',\n ArchiveID: 0,\n SearchFilter: option.SearchFilter,\n PageSize: option.PageSize,\n LastRowNR: option.LastRowNR,\n OrderPreviewBy: option.OrderPreviewBy\n }\n\n return Vue.http.post(`${dataws}ITWDataRestService_V1_0/GetProjectsJSON`, data, {\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }\n\n pinUnPinProject(projectId, pinOrUnPin) {\n const authorisation = this.getAuthorizationObject()\n const languageCode = this.getLangCodeLongFromShort(authorisation.Language)\n const data = {\n Authorisation: authorisation,\n LanguageCode: languageCode,\n WebserviceVersion: '1.0',\n ProjectID: projectId,\n Enabled: pinOrUnPin\n }\n\n return Vue.http.post(`${dataws}ITWDataRestService_V1_0/UnpinAndPinProject`, data, {\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }\n}\n","/**\n * @module ol/easing\n */\n/**\n * Start slow and speed up.\n * @param {number} t Input between 0 and 1.\n * @return {number} Output between 0 and 1.\n * @api\n */\nexport function easeIn(t) {\n return Math.pow(t, 3);\n}\n/**\n * Start fast and slow down.\n * @param {number} t Input between 0 and 1.\n * @return {number} Output between 0 and 1.\n * @api\n */\nexport function easeOut(t) {\n return 1 - easeIn(1 - t);\n}\n/**\n * Start slow, speed up, and then slow down again.\n * @param {number} t Input between 0 and 1.\n * @return {number} Output between 0 and 1.\n * @api\n */\nexport function inAndOut(t) {\n return 3 * t * t - 2 * t * t * t;\n}\n/**\n * Maintain a constant speed over time.\n * @param {number} t Input between 0 and 1.\n * @return {number} Output between 0 and 1.\n * @api\n */\nexport function linear(t) {\n return t;\n}\n/**\n * Start slow, speed up, and at the very end slow down again. This has the\n * same general behavior as {@link module:ol/easing.inAndOut}, but the final\n * slowdown is delayed.\n * @param {number} t Input between 0 and 1.\n * @return {number} Output between 0 and 1.\n * @api\n */\nexport function upAndDown(t) {\n if (t < 0.5) {\n return inAndOut(2 * t);\n }\n else {\n return 1 - inAndOut(2 * (t - 0.5));\n }\n}\n//# sourceMappingURL=easing.js.map","/**\n * @module ol/css\n */\n/**\n * @typedef {Object} FontParameters\n * @property {string} style Style.\n * @property {string} variant Variant.\n * @property {string} weight Weight.\n * @property {string} size Size.\n * @property {string} lineHeight LineHeight.\n * @property {string} family Family.\n * @property {Array} families Families.\n */\n/**\n * The CSS class for hidden feature.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_HIDDEN = 'ol-hidden';\n/**\n * The CSS class that we'll give the DOM elements to have them selectable.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_SELECTABLE = 'ol-selectable';\n/**\n * The CSS class that we'll give the DOM elements to have them unselectable.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_UNSELECTABLE = 'ol-unselectable';\n/**\n * The CSS class for unsupported feature.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_UNSUPPORTED = 'ol-unsupported';\n/**\n * The CSS class for controls.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_CONTROL = 'ol-control';\n/**\n * The CSS class that we'll give the DOM elements that are collapsed, i.e.\n * to those elements which usually can be expanded.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_COLLAPSED = 'ol-collapsed';\n/**\n * From https://stackoverflow.com/questions/10135697/regex-to-parse-any-css-font\n * @type {RegExp}\n */\nvar fontRegEx = new RegExp([\n '^\\\\s*(?=(?:(?:[-a-z]+\\\\s*){0,2}(italic|oblique))?)',\n '(?=(?:(?:[-a-z]+\\\\s*){0,2}(small-caps))?)',\n '(?=(?:(?:[-a-z]+\\\\s*){0,2}(bold(?:er)?|lighter|[1-9]00 ))?)',\n '(?:(?:normal|\\\\1|\\\\2|\\\\3)\\\\s*){0,3}((?:xx?-)?',\n '(?:small|large)|medium|smaller|larger|[\\\\.\\\\d]+(?:\\\\%|in|[cem]m|ex|p[ctx]))',\n '(?:\\\\s*\\\\/\\\\s*(normal|[\\\\.\\\\d]+(?:\\\\%|in|[cem]m|ex|p[ctx])?))',\n '?\\\\s*([-,\\\\\"\\\\\\'\\\\sa-z]+?)\\\\s*$',\n].join(''), 'i');\nvar fontRegExMatchIndex = [\n 'style',\n 'variant',\n 'weight',\n 'size',\n 'lineHeight',\n 'family',\n];\n/**\n * Get the list of font families from a font spec. Note that this doesn't work\n * for font families that have commas in them.\n * @param {string} fontSpec The CSS font property.\n * @return {FontParameters|null} The font parameters (or null if the input spec is invalid).\n */\nexport var getFontParameters = function (fontSpec) {\n var match = fontSpec.match(fontRegEx);\n if (!match) {\n return null;\n }\n var style = /** @type {FontParameters} */ ({\n lineHeight: 'normal',\n size: '1.2em',\n style: 'normal',\n weight: 'normal',\n variant: 'normal',\n });\n for (var i = 0, ii = fontRegExMatchIndex.length; i < ii; ++i) {\n var value = match[i + 1];\n if (value !== undefined) {\n style[fontRegExMatchIndex[i]] = value;\n }\n }\n style.families = style.family.split(/,\\s?/);\n return style;\n};\n//# sourceMappingURL=css.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetMenu.vue?vue&type=style&index=0&id=14b4383a&prod&lang=less&scoped=true\"","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/interaction/Translate\n */\nimport Collection from '../Collection.js';\nimport Event from '../events/Event.js';\nimport InteractionProperty from './Property.js';\nimport PointerInteraction from './Pointer.js';\nimport { TRUE } from '../functions.js';\nimport { always } from '../events/condition.js';\nimport { includes } from '../array.js';\n/**\n * @enum {string}\n */\nvar TranslateEventType = {\n /**\n * Triggered upon feature translation start.\n * @event TranslateEvent#translatestart\n * @api\n */\n TRANSLATESTART: 'translatestart',\n /**\n * Triggered upon feature translation.\n * @event TranslateEvent#translating\n * @api\n */\n TRANSLATING: 'translating',\n /**\n * Triggered upon feature translation end.\n * @event TranslateEvent#translateend\n * @api\n */\n TRANSLATEEND: 'translateend',\n};\n/**\n * A function that takes an {@link module:ol/Feature~Feature} or\n * {@link module:ol/render/Feature~RenderFeature} and an\n * {@link module:ol/layer/Layer~Layer} and returns `true` if the feature may be\n * translated or `false` otherwise.\n * @typedef {function(import(\"../Feature.js\").FeatureLike, import(\"../layer/Layer.js\").default):boolean} FilterFunction\n */\n/**\n * @typedef {Object} Options\n * @property {import(\"../events/condition.js\").Condition} [condition] A function that\n * takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a\n * boolean to indicate whether that event should be handled.\n * Default is {@link module:ol/events/condition.always}.\n * @property {Collection} [features] Features contained in this collection will be able to be translated together.\n * @property {Array|function(import(\"../layer/Layer.js\").default): boolean} [layers] A list of layers from which features should be\n * translated. Alternatively, a filter function can be provided. The\n * function will be called for each layer in the map and should return\n * `true` for layers that you want to be translatable. If the option is\n * absent, all visible layers will be considered translatable.\n * Not used if `features` is provided.\n * @property {FilterFunction} [filter] A function\n * that takes an {@link module:ol/Feature~Feature} and an\n * {@link module:ol/layer/Layer~Layer} and returns `true` if the feature may be\n * translated or `false` otherwise. Not used if `features` is provided.\n * @property {number} [hitTolerance=0] Hit-detection tolerance. Pixels inside the radius around the given position\n * will be checked for features.\n */\n/**\n * @classdesc\n * Events emitted by {@link module:ol/interaction/Translate~Translate} instances\n * are instances of this type.\n */\nvar TranslateEvent = /** @class */ (function (_super) {\n __extends(TranslateEvent, _super);\n /**\n * @param {TranslateEventType} type Type.\n * @param {Collection} features The features translated.\n * @param {import(\"../coordinate.js\").Coordinate} coordinate The event coordinate.\n * @param {import(\"../coordinate.js\").Coordinate} startCoordinate The original coordinates before.translation started\n * @param {import(\"../MapBrowserEvent.js\").default} mapBrowserEvent Map browser event.\n */\n function TranslateEvent(type, features, coordinate, startCoordinate, mapBrowserEvent) {\n var _this = _super.call(this, type) || this;\n /**\n * The features being translated.\n * @type {Collection}\n * @api\n */\n _this.features = features;\n /**\n * The coordinate of the drag event.\n * @const\n * @type {import(\"../coordinate.js\").Coordinate}\n * @api\n */\n _this.coordinate = coordinate;\n /**\n * The coordinate of the start position before translation started.\n * @const\n * @type {import(\"../coordinate.js\").Coordinate}\n * @api\n */\n _this.startCoordinate = startCoordinate;\n /**\n * Associated {@link module:ol/MapBrowserEvent~MapBrowserEvent}.\n * @type {import(\"../MapBrowserEvent.js\").default}\n * @api\n */\n _this.mapBrowserEvent = mapBrowserEvent;\n return _this;\n }\n return TranslateEvent;\n}(Event));\nexport { TranslateEvent };\n/***\n * @template Return\n * @typedef {import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature &\n * import(\"../Observable\").OnSignature<'translateend'|'translatestart'|'translating', TranslateEvent, Return> &\n * import(\"../Observable\").CombinedOnSignature} TranslateOnSignature\n */\n/**\n * @classdesc\n * Interaction for translating (moving) features.\n * If you want to translate multiple features in a single action (for example,\n * the collection used by a select interaction), construct the interaction with\n * the `features` option.\n *\n * @fires TranslateEvent\n * @api\n */\nvar Translate = /** @class */ (function (_super) {\n __extends(Translate, _super);\n /**\n * @param {Options} [opt_options] Options.\n */\n function Translate(opt_options) {\n var _this = this;\n var options = opt_options ? opt_options : {};\n _this = _super.call(this, /** @type {import(\"./Pointer.js\").Options} */ (options)) || this;\n /***\n * @type {TranslateOnSignature}\n */\n _this.on;\n /***\n * @type {TranslateOnSignature}\n */\n _this.once;\n /***\n * @type {TranslateOnSignature}\n */\n _this.un;\n /**\n * The last position we translated to.\n * @type {import(\"../coordinate.js\").Coordinate}\n * @private\n */\n _this.lastCoordinate_ = null;\n /**\n * The start position before translation started.\n * @type {import(\"../coordinate.js\").Coordinate}\n * @private\n */\n _this.startCoordinate_ = null;\n /**\n * @type {Collection|null}\n * @private\n */\n _this.features_ = options.features !== undefined ? options.features : null;\n /** @type {function(import(\"../layer/Layer.js\").default): boolean} */\n var layerFilter;\n if (options.layers && !_this.features_) {\n if (typeof options.layers === 'function') {\n layerFilter = options.layers;\n }\n else {\n var layers_1 = options.layers;\n layerFilter = function (layer) {\n return includes(layers_1, layer);\n };\n }\n }\n else {\n layerFilter = TRUE;\n }\n /**\n * @private\n * @type {function(import(\"../layer/Layer.js\").default): boolean}\n */\n _this.layerFilter_ = layerFilter;\n /**\n * @private\n * @type {FilterFunction}\n */\n _this.filter_ = options.filter && !_this.features_ ? options.filter : TRUE;\n /**\n * @private\n * @type {number}\n */\n _this.hitTolerance_ = options.hitTolerance ? options.hitTolerance : 0;\n /**\n * @private\n * @type {import(\"../events/condition.js\").Condition}\n */\n _this.condition_ = options.condition ? options.condition : always;\n /**\n * @type {import(\"../Feature.js\").default}\n * @private\n */\n _this.lastFeature_ = null;\n _this.addChangeListener(InteractionProperty.ACTIVE, _this.handleActiveChanged_);\n return _this;\n }\n /**\n * Handle pointer down events.\n * @param {import(\"../MapBrowserEvent.js\").default} event Event.\n * @return {boolean} If the event was consumed.\n */\n Translate.prototype.handleDownEvent = function (event) {\n if (!event.originalEvent || !this.condition_(event)) {\n return false;\n }\n this.lastFeature_ = this.featuresAtPixel_(event.pixel, event.map);\n if (!this.lastCoordinate_ && this.lastFeature_) {\n this.startCoordinate_ = event.coordinate;\n this.lastCoordinate_ = event.coordinate;\n this.handleMoveEvent(event);\n var features = this.features_ || new Collection([this.lastFeature_]);\n this.dispatchEvent(new TranslateEvent(TranslateEventType.TRANSLATESTART, features, event.coordinate, this.startCoordinate_, event));\n return true;\n }\n return false;\n };\n /**\n * Handle pointer up events.\n * @param {import(\"../MapBrowserEvent.js\").default} event Event.\n * @return {boolean} If the event was consumed.\n */\n Translate.prototype.handleUpEvent = function (event) {\n if (this.lastCoordinate_) {\n this.lastCoordinate_ = null;\n this.handleMoveEvent(event);\n var features = this.features_ || new Collection([this.lastFeature_]);\n this.dispatchEvent(new TranslateEvent(TranslateEventType.TRANSLATEEND, features, event.coordinate, this.startCoordinate_, event));\n // cleanup\n this.startCoordinate_ = null;\n return true;\n }\n return false;\n };\n /**\n * Handle pointer drag events.\n * @param {import(\"../MapBrowserEvent.js\").default} event Event.\n */\n Translate.prototype.handleDragEvent = function (event) {\n if (this.lastCoordinate_) {\n var newCoordinate = event.coordinate;\n var deltaX_1 = newCoordinate[0] - this.lastCoordinate_[0];\n var deltaY_1 = newCoordinate[1] - this.lastCoordinate_[1];\n var features = this.features_ || new Collection([this.lastFeature_]);\n features.forEach(function (feature) {\n var geom = feature.getGeometry();\n geom.translate(deltaX_1, deltaY_1);\n feature.setGeometry(geom);\n });\n this.lastCoordinate_ = newCoordinate;\n this.dispatchEvent(new TranslateEvent(TranslateEventType.TRANSLATING, features, newCoordinate, this.startCoordinate_, event));\n }\n };\n /**\n * Handle pointer move events.\n * @param {import(\"../MapBrowserEvent.js\").default} event Event.\n */\n Translate.prototype.handleMoveEvent = function (event) {\n var elem = event.map.getViewport();\n // Change the cursor to grab/grabbing if hovering any of the features managed\n // by the interaction\n if (this.featuresAtPixel_(event.pixel, event.map)) {\n elem.classList.remove(this.lastCoordinate_ ? 'ol-grab' : 'ol-grabbing');\n elem.classList.add(this.lastCoordinate_ ? 'ol-grabbing' : 'ol-grab');\n }\n else {\n elem.classList.remove('ol-grab', 'ol-grabbing');\n }\n };\n /**\n * Tests to see if the given coordinates intersects any of our selected\n * features.\n * @param {import(\"../pixel.js\").Pixel} pixel Pixel coordinate to test for intersection.\n * @param {import(\"../PluggableMap.js\").default} map Map to test the intersection on.\n * @return {import(\"../Feature.js\").default} Returns the feature found at the specified pixel\n * coordinates.\n * @private\n */\n Translate.prototype.featuresAtPixel_ = function (pixel, map) {\n return map.forEachFeatureAtPixel(pixel, function (feature, layer) {\n if (this.filter_(feature, layer)) {\n if (!this.features_ || includes(this.features_.getArray(), feature)) {\n return feature;\n }\n }\n }.bind(this), {\n layerFilter: this.layerFilter_,\n hitTolerance: this.hitTolerance_,\n });\n };\n /**\n * Returns the Hit-detection tolerance.\n * @return {number} Hit tolerance in pixels.\n * @api\n */\n Translate.prototype.getHitTolerance = function () {\n return this.hitTolerance_;\n };\n /**\n * Hit-detection tolerance. Pixels inside the radius around the given position\n * will be checked for features.\n * @param {number} hitTolerance Hit tolerance in pixels.\n * @api\n */\n Translate.prototype.setHitTolerance = function (hitTolerance) {\n this.hitTolerance_ = hitTolerance;\n };\n /**\n * Remove the interaction from its current map and attach it to the new map.\n * Subclasses may set up event handlers to get notified about changes to\n * the map here.\n * @param {import(\"../PluggableMap.js\").default} map Map.\n */\n Translate.prototype.setMap = function (map) {\n var oldMap = this.getMap();\n _super.prototype.setMap.call(this, map);\n this.updateState_(oldMap);\n };\n /**\n * @private\n */\n Translate.prototype.handleActiveChanged_ = function () {\n this.updateState_(null);\n };\n /**\n * @param {import(\"../PluggableMap.js\").default} oldMap Old map.\n * @private\n */\n Translate.prototype.updateState_ = function (oldMap) {\n var map = this.getMap();\n var active = this.getActive();\n if (!map || !active) {\n map = map || oldMap;\n if (map) {\n var elem = map.getViewport();\n elem.classList.remove('ol-grab', 'ol-grabbing');\n }\n }\n };\n return Translate;\n}(PointerInteraction));\nexport default Translate;\n//# sourceMappingURL=Translate.js.map","/**\n * @module ol/source/OSM\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport XYZ from './XYZ.js';\n/**\n * The attribution containing a link to the OpenStreetMap Copyright and License\n * page.\n * @const\n * @type {string}\n * @api\n */\nexport var ATTRIBUTION = '© ' +\n 'OpenStreetMap ' +\n 'contributors.';\n/**\n * @typedef {Object} Options\n * @property {import(\"./Source.js\").AttributionLike} [attributions] Attributions.\n * @property {number} [cacheSize] Initial tile cache size. Will auto-grow to hold at least the number of tiles in the viewport.\n * @property {null|string} [crossOrigin='anonymous'] The `crossOrigin` attribute for loaded images. Note that\n * you must provide a `crossOrigin` value if you want to access pixel data with the Canvas renderer.\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.\n * @property {boolean} [imageSmoothing=true] Deprecated. Use the `interpolate` option instead.\n * @property {boolean} [interpolate=true] Use interpolated values when resampling. By default,\n * linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.\n * @property {number} [maxZoom=19] Max zoom.\n * @property {boolean} [opaque=true] Whether the layer is opaque.\n * @property {number} [reprojectionErrorThreshold=0.5] Maximum allowed reprojection error (in pixels).\n * Higher values can increase reprojection performance, but decrease precision.\n * @property {import(\"../Tile.js\").LoadFunction} [tileLoadFunction] Optional function to load a tile given a URL. The default is\n * ```js\n * function(imageTile, src) {\n * imageTile.getImage().src = src;\n * };\n * ```\n * @property {number} [transition=250] Duration of the opacity transition for rendering.\n * To disable the opacity transition, pass `transition: 0`.\n * @property {string} [url='https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png'] URL template.\n * Must include `{x}`, `{y}` or `{-y}`, and `{z}` placeholders.\n * @property {boolean} [wrapX=true] Whether to wrap the world horizontally.\n * @property {number|import(\"../array.js\").NearestDirectionFunction} [zDirection=0]\n * Choose whether to use tiles with a higher or lower zoom level when between integer\n * zoom levels. See {@link module:ol/tilegrid/TileGrid~TileGrid#getZForResolution}.\n */\n/**\n * @classdesc\n * Layer source for the OpenStreetMap tile server.\n * @api\n */\nvar OSM = /** @class */ (function (_super) {\n __extends(OSM, _super);\n /**\n * @param {Options} [opt_options] Open Street Map options.\n */\n function OSM(opt_options) {\n var options = opt_options || {};\n var interpolate = options.imageSmoothing !== undefined ? options.imageSmoothing : true;\n if (options.interpolate !== undefined) {\n interpolate = options.interpolate;\n }\n var attributions;\n if (options.attributions !== undefined) {\n attributions = options.attributions;\n }\n else {\n attributions = [ATTRIBUTION];\n }\n var crossOrigin = options.crossOrigin !== undefined ? options.crossOrigin : 'anonymous';\n var url = options.url !== undefined\n ? options.url\n : 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png';\n return _super.call(this, {\n attributions: attributions,\n attributionsCollapsible: false,\n cacheSize: options.cacheSize,\n crossOrigin: crossOrigin,\n interpolate: interpolate,\n maxZoom: options.maxZoom !== undefined ? options.maxZoom : 19,\n opaque: options.opaque !== undefined ? options.opaque : true,\n reprojectionErrorThreshold: options.reprojectionErrorThreshold,\n tileLoadFunction: options.tileLoadFunction,\n transition: options.transition,\n url: url,\n wrapX: options.wrapX,\n zDirection: options.zDirection,\n }) || this;\n }\n return OSM;\n}(XYZ));\nexport default OSM;\n//# sourceMappingURL=OSM.js.map","/**\n * @module ol/style/IconOrigin\n */\n/**\n * Icon origin. One of 'bottom-left', 'bottom-right', 'top-left', 'top-right'.\n * @enum {string}\n */\nexport default {\n /**\n * Origin is at bottom left\n * @api\n */\n BOTTOM_LEFT: 'bottom-left',\n /**\n * Origin is at bottom right\n * @api\n */\n BOTTOM_RIGHT: 'bottom-right',\n /**\n * Origin is at top left\n * @api\n */\n TOP_LEFT: 'top-left',\n /**\n * Origin is at top right\n * @api\n */\n TOP_RIGHT: 'top-right',\n};\n//# sourceMappingURL=IconOrigin.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./groundAirTableOverview.vue?vue&type=style&index=0&id=039110f4&prod&lang=css\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./renameDashboard.vue?vue&type=style&index=0&id=21449bd0&prod&lang=less&scoped=true\"","\"use strict\";\r\n/**\r\n * gridstack-engine.ts 7.3.0\r\n * Copyright (c) 2021-2022 Alain Dumesny - see GridStack root license\r\n */\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.GridStackEngine = void 0;\r\nconst utils_1 = require(\"./utils\");\r\n/**\r\n * Defines the GridStack engine that does most no DOM grid manipulation.\r\n * See GridStack methods and vars for descriptions.\r\n *\r\n * NOTE: values should not be modified directly - call the main GridStack API instead\r\n */\r\nclass GridStackEngine {\r\n constructor(opts = {}) {\r\n this.addedNodes = [];\r\n this.removedNodes = [];\r\n this.column = opts.column || 12;\r\n this.maxRow = opts.maxRow;\r\n this._float = opts.float;\r\n this.nodes = opts.nodes || [];\r\n this.onChange = opts.onChange;\r\n }\r\n batchUpdate(flag = true) {\r\n if (!!this.batchMode === flag)\r\n return this;\r\n this.batchMode = flag;\r\n if (flag) {\r\n this._prevFloat = this._float;\r\n this._float = true; // let things go anywhere for now... will restore and possibly reposition later\r\n this.saveInitial(); // since begin update (which is called multiple times) won't do this\r\n }\r\n else {\r\n this._float = this._prevFloat;\r\n delete this._prevFloat;\r\n this._packNodes()._notify();\r\n }\r\n return this;\r\n }\r\n // use entire row for hitting area (will use bottom reverse sorted first) if we not actively moving DOWN and didn't already skip\r\n _useEntireRowArea(node, nn) {\r\n return (!this.float || this.batchMode && !this._prevFloat) && !this._hasLocked && (!node._moving || node._skipDown || nn.y <= node.y);\r\n }\r\n /** @internal fix collision on given 'node', going to given new location 'nn', with optional 'collide' node already found.\r\n * return true if we moved. */\r\n _fixCollisions(node, nn = node, collide, opt = {}) {\r\n this.sortNodes(-1); // from last to first, so recursive collision move items in the right order\r\n collide = collide || this.collide(node, nn); // REAL area collide for swap and skip if none...\r\n if (!collide)\r\n return false;\r\n // swap check: if we're actively moving in gravity mode, see if we collide with an object the same size\r\n if (node._moving && !opt.nested && !this.float) {\r\n if (this.swap(node, collide))\r\n return true;\r\n }\r\n // during while() collisions MAKE SURE to check entire row so larger items don't leap frog small ones (push them all down starting last in grid)\r\n let area = nn;\r\n if (this._useEntireRowArea(node, nn)) {\r\n area = { x: 0, w: this.column, y: nn.y, h: nn.h };\r\n collide = this.collide(node, area, opt.skip); // force new hit\r\n }\r\n let didMove = false;\r\n let newOpt = { nested: true, pack: false };\r\n while (collide = collide || this.collide(node, area, opt.skip)) { // could collide with more than 1 item... so repeat for each\r\n let moved;\r\n // if colliding with a locked item OR moving down with top gravity (and collide could move up) -> skip past the collide,\r\n // but remember that skip down so we only do this once (and push others otherwise).\r\n if (collide.locked || node._moving && !node._skipDown && nn.y > node.y && !this.float &&\r\n // can take space we had, or before where we're going\r\n (!this.collide(collide, Object.assign(Object.assign({}, collide), { y: node.y }), node) || !this.collide(collide, Object.assign(Object.assign({}, collide), { y: nn.y - collide.h }), node))) {\r\n node._skipDown = (node._skipDown || nn.y > node.y);\r\n moved = this.moveNode(node, Object.assign(Object.assign(Object.assign({}, nn), { y: collide.y + collide.h }), newOpt));\r\n if (collide.locked && moved) {\r\n utils_1.Utils.copyPos(nn, node); // moving after lock become our new desired location\r\n }\r\n else if (!collide.locked && moved && opt.pack) {\r\n // we moved after and will pack: do it now and keep the original drop location, but past the old collide to see what else we might push way\r\n this._packNodes();\r\n nn.y = collide.y + collide.h;\r\n utils_1.Utils.copyPos(node, nn);\r\n }\r\n didMove = didMove || moved;\r\n }\r\n else {\r\n // move collide down *after* where we will be, ignoring where we are now (don't collide with us)\r\n moved = this.moveNode(collide, Object.assign(Object.assign(Object.assign({}, collide), { y: nn.y + nn.h, skip: node }), newOpt));\r\n }\r\n if (!moved) {\r\n return didMove;\r\n } // break inf loop if we couldn't move after all (ex: maxRow, fixed)\r\n collide = undefined;\r\n }\r\n return didMove;\r\n }\r\n /** return the nodes that intercept the given node. Optionally a different area can be used, as well as a second node to skip */\r\n collide(skip, area = skip, skip2) {\r\n return this.nodes.find(n => n !== skip && n !== skip2 && utils_1.Utils.isIntercepted(n, area));\r\n }\r\n collideAll(skip, area = skip, skip2) {\r\n return this.nodes.filter(n => n !== skip && n !== skip2 && utils_1.Utils.isIntercepted(n, area));\r\n }\r\n /** does a pixel coverage collision based on where we started, returning the node that has the most coverage that is >50% mid line */\r\n directionCollideCoverage(node, o, collides) {\r\n if (!o.rect || !node._rect)\r\n return;\r\n let r0 = node._rect; // where started\r\n let r = Object.assign({}, o.rect); // where we are\r\n // update dragged rect to show where it's coming from (above or below, etc...)\r\n if (r.y > r0.y) {\r\n r.h += r.y - r0.y;\r\n r.y = r0.y;\r\n }\r\n else {\r\n r.h += r0.y - r.y;\r\n }\r\n if (r.x > r0.x) {\r\n r.w += r.x - r0.x;\r\n r.x = r0.x;\r\n }\r\n else {\r\n r.w += r0.x - r.x;\r\n }\r\n let collide;\r\n collides.forEach(n => {\r\n if (n.locked || !n._rect)\r\n return;\r\n let r2 = n._rect; // overlapping target\r\n let yOver = Number.MAX_VALUE, xOver = Number.MAX_VALUE, overMax = 0.5; // need >50%\r\n // depending on which side we started from, compute the overlap % of coverage\r\n // (ex: from above/below we only compute the max horizontal line coverage)\r\n if (r0.y < r2.y) { // from above\r\n yOver = ((r.y + r.h) - r2.y) / r2.h;\r\n }\r\n else if (r0.y + r0.h > r2.y + r2.h) { // from below\r\n yOver = ((r2.y + r2.h) - r.y) / r2.h;\r\n }\r\n if (r0.x < r2.x) { // from the left\r\n xOver = ((r.x + r.w) - r2.x) / r2.w;\r\n }\r\n else if (r0.x + r0.w > r2.x + r2.w) { // from the right\r\n xOver = ((r2.x + r2.w) - r.x) / r2.w;\r\n }\r\n let over = Math.min(xOver, yOver);\r\n if (over > overMax) {\r\n overMax = over;\r\n collide = n;\r\n }\r\n });\r\n o.collide = collide; // save it so we don't have to find it again\r\n return collide;\r\n }\r\n /** does a pixel coverage returning the node that has the most coverage by area */\r\n /*\r\n protected collideCoverage(r: GridStackPosition, collides: GridStackNode[]): {collide: GridStackNode, over: number} {\r\n let collide: GridStackNode;\r\n let overMax = 0;\r\n collides.forEach(n => {\r\n if (n.locked || !n._rect) return;\r\n let over = Utils.areaIntercept(r, n._rect);\r\n if (over > overMax) {\r\n overMax = over;\r\n collide = n;\r\n }\r\n });\r\n return {collide, over: overMax};\r\n }\r\n */\r\n /** called to cache the nodes pixel rectangles used for collision detection during drag */\r\n cacheRects(w, h, top, right, bottom, left) {\r\n this.nodes.forEach(n => n._rect = {\r\n y: n.y * h + top,\r\n x: n.x * w + left,\r\n w: n.w * w - left - right,\r\n h: n.h * h - top - bottom\r\n });\r\n return this;\r\n }\r\n /** called to possibly swap between 2 nodes (same size or column, not locked, touching), returning true if successful */\r\n swap(a, b) {\r\n if (!b || b.locked || !a || a.locked)\r\n return false;\r\n function _doSwap() {\r\n let x = b.x, y = b.y;\r\n b.x = a.x;\r\n b.y = a.y; // b -> a position\r\n if (a.h != b.h) {\r\n a.x = x;\r\n a.y = b.y + b.h; // a -> goes after b\r\n }\r\n else if (a.w != b.w) {\r\n a.x = b.x + b.w;\r\n a.y = y; // a -> goes after b\r\n }\r\n else {\r\n a.x = x;\r\n a.y = y; // a -> old b position\r\n }\r\n a._dirty = b._dirty = true;\r\n return true;\r\n }\r\n let touching; // remember if we called it (vs undefined)\r\n // same size and same row or column, and touching\r\n if (a.w === b.w && a.h === b.h && (a.x === b.x || a.y === b.y) && (touching = utils_1.Utils.isTouching(a, b)))\r\n return _doSwap();\r\n if (touching === false)\r\n return; // IFF ran test and fail, bail out\r\n // check for taking same columns (but different height) and touching\r\n if (a.w === b.w && a.x === b.x && (touching || (touching = utils_1.Utils.isTouching(a, b)))) {\r\n if (b.y < a.y) {\r\n let t = a;\r\n a = b;\r\n b = t;\r\n } // swap a <-> b vars so a is first\r\n return _doSwap();\r\n }\r\n if (touching === false)\r\n return;\r\n // check if taking same row (but different width) and touching\r\n if (a.h === b.h && a.y === b.y && (touching || (touching = utils_1.Utils.isTouching(a, b)))) {\r\n if (b.x < a.x) {\r\n let t = a;\r\n a = b;\r\n b = t;\r\n } // swap a <-> b vars so a is first\r\n return _doSwap();\r\n }\r\n return false;\r\n }\r\n isAreaEmpty(x, y, w, h) {\r\n let nn = { x: x || 0, y: y || 0, w: w || 1, h: h || 1 };\r\n return !this.collide(nn);\r\n }\r\n /** re-layout grid items to reclaim any empty space */\r\n compact() {\r\n if (this.nodes.length === 0)\r\n return this;\r\n this.batchUpdate()\r\n .sortNodes();\r\n let copyNodes = this.nodes;\r\n this.nodes = []; // pretend we have no nodes to conflict layout to start with...\r\n copyNodes.forEach(node => {\r\n if (!node.locked) {\r\n node.autoPosition = true;\r\n }\r\n this.addNode(node, false); // 'false' for add event trigger\r\n node._dirty = true; // will force attr update\r\n });\r\n return this.batchUpdate(false);\r\n }\r\n /** enable/disable floating widgets (default: `false`) See [example](http://gridstackjs.com/demo/float.html) */\r\n set float(val) {\r\n if (this._float === val)\r\n return;\r\n this._float = val || false;\r\n if (!val) {\r\n this._packNodes()._notify();\r\n }\r\n }\r\n /** float getter method */\r\n get float() { return this._float || false; }\r\n /** sort the nodes array from first to last, or reverse. Called during collision/placement to force an order */\r\n sortNodes(dir) {\r\n this.nodes = utils_1.Utils.sort(this.nodes, dir, this.column);\r\n return this;\r\n }\r\n /** @internal called to top gravity pack the items back OR revert back to original Y positions when floating */\r\n _packNodes() {\r\n if (this.batchMode) {\r\n return this;\r\n }\r\n this.sortNodes(); // first to last\r\n if (this.float) {\r\n // restore original Y pos\r\n this.nodes.forEach(n => {\r\n if (n._updating || n._orig === undefined || n.y === n._orig.y)\r\n return;\r\n let newY = n.y;\r\n while (newY > n._orig.y) {\r\n --newY;\r\n let collide = this.collide(n, { x: n.x, y: newY, w: n.w, h: n.h });\r\n if (!collide) {\r\n n._dirty = true;\r\n n.y = newY;\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n // top gravity pack\r\n this.nodes.forEach((n, i) => {\r\n if (n.locked)\r\n return;\r\n while (n.y > 0) {\r\n let newY = i === 0 ? 0 : n.y - 1;\r\n let canBeMoved = i === 0 || !this.collide(n, { x: n.x, y: newY, w: n.w, h: n.h });\r\n if (!canBeMoved)\r\n break;\r\n // Note: must be dirty (from last position) for GridStack::OnChange CB to update positions\r\n // and move items back. The user 'change' CB should detect changes from the original\r\n // starting position instead.\r\n n._dirty = (n.y !== newY);\r\n n.y = newY;\r\n }\r\n });\r\n }\r\n return this;\r\n }\r\n /**\r\n * given a random node, makes sure it's coordinates/values are valid in the current grid\r\n * @param node to adjust\r\n * @param resizing if out of bound, resize down or move into the grid to fit ?\r\n */\r\n prepareNode(node, resizing) {\r\n node = node || {};\r\n node._id = node._id || GridStackEngine._idSeq++;\r\n // if we're missing position, have the grid position us automatically (before we set them to 0,0)\r\n if (node.x === undefined || node.y === undefined || node.x === null || node.y === null) {\r\n node.autoPosition = true;\r\n }\r\n // assign defaults for missing required fields\r\n let defaults = { x: 0, y: 0, w: 1, h: 1 };\r\n utils_1.Utils.defaults(node, defaults);\r\n if (!node.autoPosition) {\r\n delete node.autoPosition;\r\n }\r\n if (!node.noResize) {\r\n delete node.noResize;\r\n }\r\n if (!node.noMove) {\r\n delete node.noMove;\r\n }\r\n // check for NaN (in case messed up strings were passed. can't do parseInt() || defaults.x above as 0 is valid #)\r\n if (typeof node.x == 'string') {\r\n node.x = Number(node.x);\r\n }\r\n if (typeof node.y == 'string') {\r\n node.y = Number(node.y);\r\n }\r\n if (typeof node.w == 'string') {\r\n node.w = Number(node.w);\r\n }\r\n if (typeof node.h == 'string') {\r\n node.h = Number(node.h);\r\n }\r\n if (isNaN(node.x)) {\r\n node.x = defaults.x;\r\n node.autoPosition = true;\r\n }\r\n if (isNaN(node.y)) {\r\n node.y = defaults.y;\r\n node.autoPosition = true;\r\n }\r\n if (isNaN(node.w)) {\r\n node.w = defaults.w;\r\n }\r\n if (isNaN(node.h)) {\r\n node.h = defaults.h;\r\n }\r\n return this.nodeBoundFix(node, resizing);\r\n }\r\n /** part2 of preparing a node to fit inside our grid - checks for x,y,w from grid dimensions */\r\n nodeBoundFix(node, resizing) {\r\n let before = node._orig || utils_1.Utils.copyPos({}, node);\r\n if (node.maxW) {\r\n node.w = Math.min(node.w, node.maxW);\r\n }\r\n if (node.maxH) {\r\n node.h = Math.min(node.h, node.maxH);\r\n }\r\n if (node.minW && node.minW <= this.column) {\r\n node.w = Math.max(node.w, node.minW);\r\n }\r\n if (node.minH) {\r\n node.h = Math.max(node.h, node.minH);\r\n }\r\n // if user loaded a larger than allowed widget for current # of columns (or force 1 column mode),\r\n // remember it's position & width so we can restore back (1 -> 12 column) #1655 #1985\r\n // IFF we're not in the middle of column resizing!\r\n const saveOrig = this.column === 1 || node.x + node.w > this.column;\r\n if (saveOrig && this.column < 12 && !this._inColumnResize && node._id && this.findCacheLayout(node, 12) === -1) {\r\n let copy = Object.assign({}, node); // need _id + positions\r\n if (copy.autoPosition) {\r\n delete copy.x;\r\n delete copy.y;\r\n }\r\n else\r\n copy.x = Math.min(11, copy.x);\r\n copy.w = Math.min(12, copy.w);\r\n this.cacheOneLayout(copy, 12);\r\n }\r\n if (node.w > this.column) {\r\n node.w = this.column;\r\n }\r\n else if (node.w < 1) {\r\n node.w = 1;\r\n }\r\n if (this.maxRow && node.h > this.maxRow) {\r\n node.h = this.maxRow;\r\n }\r\n else if (node.h < 1) {\r\n node.h = 1;\r\n }\r\n if (node.x < 0) {\r\n node.x = 0;\r\n }\r\n if (node.y < 0) {\r\n node.y = 0;\r\n }\r\n if (node.x + node.w > this.column) {\r\n if (resizing) {\r\n node.w = this.column - node.x;\r\n }\r\n else {\r\n node.x = this.column - node.w;\r\n }\r\n }\r\n if (this.maxRow && node.y + node.h > this.maxRow) {\r\n if (resizing) {\r\n node.h = this.maxRow - node.y;\r\n }\r\n else {\r\n node.y = this.maxRow - node.h;\r\n }\r\n }\r\n if (!utils_1.Utils.samePos(node, before)) {\r\n node._dirty = true;\r\n }\r\n return node;\r\n }\r\n /** returns a list of modified nodes from their original values */\r\n getDirtyNodes(verify) {\r\n // compare original x,y,w,h instead as _dirty can be a temporary state\r\n if (verify) {\r\n return this.nodes.filter(n => n._dirty && !utils_1.Utils.samePos(n, n._orig));\r\n }\r\n return this.nodes.filter(n => n._dirty);\r\n }\r\n /** @internal call this to call onChange callback with dirty nodes so DOM can be updated */\r\n _notify(removedNodes) {\r\n if (this.batchMode || !this.onChange)\r\n return this;\r\n let dirtyNodes = (removedNodes || []).concat(this.getDirtyNodes());\r\n this.onChange(dirtyNodes);\r\n return this;\r\n }\r\n /** @internal remove dirty and last tried info */\r\n cleanNodes() {\r\n if (this.batchMode)\r\n return this;\r\n this.nodes.forEach(n => {\r\n delete n._dirty;\r\n delete n._lastTried;\r\n });\r\n return this;\r\n }\r\n /** @internal called to save initial position/size to track real dirty state.\r\n * Note: should be called right after we call change event (so next API is can detect changes)\r\n * as well as right before we start move/resize/enter (so we can restore items to prev values) */\r\n saveInitial() {\r\n this.nodes.forEach(n => {\r\n n._orig = utils_1.Utils.copyPos({}, n);\r\n delete n._dirty;\r\n });\r\n this._hasLocked = this.nodes.some(n => n.locked);\r\n return this;\r\n }\r\n /** @internal restore all the nodes back to initial values (called when we leave) */\r\n restoreInitial() {\r\n this.nodes.forEach(n => {\r\n if (utils_1.Utils.samePos(n, n._orig))\r\n return;\r\n utils_1.Utils.copyPos(n, n._orig);\r\n n._dirty = true;\r\n });\r\n this._notify();\r\n return this;\r\n }\r\n /** find the first available empty spot for the given node width/height, updating the x,y attributes. return true if found.\r\n * optionally you can pass your own existing node list and column count, otherwise defaults to that engine data.\r\n */\r\n findEmptyPosition(node, nodeList = this.nodes, column = this.column) {\r\n nodeList = utils_1.Utils.sort(nodeList, -1, column);\r\n let found = false;\r\n for (let i = 0; !found; ++i) {\r\n let x = i % column;\r\n let y = Math.floor(i / column);\r\n if (x + node.w > column) {\r\n continue;\r\n }\r\n let box = { x, y, w: node.w, h: node.h };\r\n if (!nodeList.find(n => utils_1.Utils.isIntercepted(box, n))) {\r\n node.x = x;\r\n node.y = y;\r\n delete node.autoPosition;\r\n found = true;\r\n }\r\n }\r\n return found;\r\n }\r\n /** call to add the given node to our list, fixing collision and re-packing */\r\n addNode(node, triggerAddEvent = false) {\r\n let dup = this.nodes.find(n => n._id === node._id);\r\n if (dup)\r\n return dup; // prevent inserting twice! return it instead.\r\n // skip prepareNode if we're in middle of column resize (not new) but do check for bounds!\r\n node = this._inColumnResize ? this.nodeBoundFix(node) : this.prepareNode(node);\r\n delete node._temporaryRemoved;\r\n delete node._removeDOM;\r\n if (node.autoPosition && this.findEmptyPosition(node)) {\r\n delete node.autoPosition; // found our slot\r\n }\r\n this.nodes.push(node);\r\n if (triggerAddEvent) {\r\n this.addedNodes.push(node);\r\n }\r\n this._fixCollisions(node);\r\n if (!this.batchMode) {\r\n this._packNodes()._notify();\r\n }\r\n return node;\r\n }\r\n removeNode(node, removeDOM = true, triggerEvent = false) {\r\n if (!this.nodes.find(n => n === node)) {\r\n // TEST console.log(`Error: GridStackEngine.removeNode() node._id=${node._id} not found!`)\r\n return this;\r\n }\r\n if (triggerEvent) { // we wait until final drop to manually track removed items (rather than during drag)\r\n this.removedNodes.push(node);\r\n }\r\n if (removeDOM)\r\n node._removeDOM = true; // let CB remove actual HTML (used to set _id to null, but then we loose layout info)\r\n // don't use 'faster' .splice(findIndex(),1) in case node isn't in our list, or in multiple times.\r\n this.nodes = this.nodes.filter(n => n !== node);\r\n return this._packNodes()\r\n ._notify([node]);\r\n }\r\n removeAll(removeDOM = true) {\r\n delete this._layouts;\r\n if (this.nodes.length === 0)\r\n return this;\r\n removeDOM && this.nodes.forEach(n => n._removeDOM = true); // let CB remove actual HTML (used to set _id to null, but then we loose layout info)\r\n this.removedNodes = this.nodes;\r\n this.nodes = [];\r\n return this._notify(this.removedNodes);\r\n }\r\n /** checks if item can be moved (layout constrain) vs moveNode(), returning true if was able to move.\r\n * In more complicated cases (maxRow) it will attempt at moving the item and fixing\r\n * others in a clone first, then apply those changes if still within specs. */\r\n moveNodeCheck(node, o) {\r\n // if (node.locked) return false;\r\n if (!this.changedPosConstrain(node, o))\r\n return false;\r\n o.pack = true;\r\n // simpler case: move item directly...\r\n if (!this.maxRow) {\r\n return this.moveNode(node, o);\r\n }\r\n // complex case: create a clone with NO maxRow (will check for out of bounds at the end)\r\n let clonedNode;\r\n let clone = new GridStackEngine({\r\n column: this.column,\r\n float: this.float,\r\n nodes: this.nodes.map(n => {\r\n if (n === node) {\r\n clonedNode = Object.assign({}, n);\r\n return clonedNode;\r\n }\r\n return Object.assign({}, n);\r\n })\r\n });\r\n if (!clonedNode)\r\n return false;\r\n // check if we're covering 50% collision and could move\r\n let canMove = clone.moveNode(clonedNode, o) && clone.getRow() <= this.maxRow;\r\n // else check if we can force a swap (float=true, or different shapes) on non-resize\r\n if (!canMove && !o.resizing && o.collide) {\r\n let collide = o.collide.el.gridstackNode; // find the source node the clone collided with at 50%\r\n if (this.swap(node, collide)) { // swaps and mark dirty\r\n this._notify();\r\n return true;\r\n }\r\n }\r\n if (!canMove)\r\n return false;\r\n // if clone was able to move, copy those mods over to us now instead of caller trying to do this all over!\r\n // Note: we can't use the list directly as elements and other parts point to actual node, so copy content\r\n clone.nodes.filter(n => n._dirty).forEach(c => {\r\n let n = this.nodes.find(a => a._id === c._id);\r\n if (!n)\r\n return;\r\n utils_1.Utils.copyPos(n, c);\r\n n._dirty = true;\r\n });\r\n this._notify();\r\n return true;\r\n }\r\n /** return true if can fit in grid height constrain only (always true if no maxRow) */\r\n willItFit(node) {\r\n delete node._willFitPos;\r\n if (!this.maxRow)\r\n return true;\r\n // create a clone with NO maxRow and check if still within size\r\n let clone = new GridStackEngine({\r\n column: this.column,\r\n float: this.float,\r\n nodes: this.nodes.map(n => { return Object.assign({}, n); })\r\n });\r\n let n = Object.assign({}, node); // clone node so we don't mod any settings on it but have full autoPosition and min/max as well! #1687\r\n this.cleanupNode(n);\r\n delete n.el;\r\n delete n._id;\r\n delete n.content;\r\n delete n.grid;\r\n clone.addNode(n);\r\n if (clone.getRow() <= this.maxRow) {\r\n node._willFitPos = utils_1.Utils.copyPos({}, n);\r\n return true;\r\n }\r\n return false;\r\n }\r\n /** true if x,y or w,h are different after clamping to min/max */\r\n changedPosConstrain(node, p) {\r\n // first make sure w,h are set for caller\r\n p.w = p.w || node.w;\r\n p.h = p.h || node.h;\r\n if (node.x !== p.x || node.y !== p.y)\r\n return true;\r\n // check constrained w,h\r\n if (node.maxW) {\r\n p.w = Math.min(p.w, node.maxW);\r\n }\r\n if (node.maxH) {\r\n p.h = Math.min(p.h, node.maxH);\r\n }\r\n if (node.minW) {\r\n p.w = Math.max(p.w, node.minW);\r\n }\r\n if (node.minH) {\r\n p.h = Math.max(p.h, node.minH);\r\n }\r\n return (node.w !== p.w || node.h !== p.h);\r\n }\r\n /** return true if the passed in node was actually moved (checks for no-op and locked) */\r\n moveNode(node, o) {\r\n var _a, _b;\r\n if (!node || /*node.locked ||*/ !o)\r\n return false;\r\n let wasUndefinedPack;\r\n if (o.pack === undefined) {\r\n wasUndefinedPack = o.pack = true;\r\n }\r\n // constrain the passed in values and check if we're still changing our node\r\n if (typeof o.x !== 'number') {\r\n o.x = node.x;\r\n }\r\n if (typeof o.y !== 'number') {\r\n o.y = node.y;\r\n }\r\n if (typeof o.w !== 'number') {\r\n o.w = node.w;\r\n }\r\n if (typeof o.h !== 'number') {\r\n o.h = node.h;\r\n }\r\n let resizing = (node.w !== o.w || node.h !== o.h);\r\n let nn = utils_1.Utils.copyPos({}, node, true); // get min/max out first, then opt positions next\r\n utils_1.Utils.copyPos(nn, o);\r\n nn = this.nodeBoundFix(nn, resizing);\r\n utils_1.Utils.copyPos(o, nn);\r\n if (utils_1.Utils.samePos(node, o))\r\n return false;\r\n let prevPos = utils_1.Utils.copyPos({}, node);\r\n // check if we will need to fix collision at our new location\r\n let collides = this.collideAll(node, nn, o.skip);\r\n let needToMove = true;\r\n if (collides.length) {\r\n let activeDrag = node._moving && !o.nested;\r\n // check to make sure we actually collided over 50% surface area while dragging\r\n let collide = activeDrag ? this.directionCollideCoverage(node, o, collides) : collides[0];\r\n // if we're enabling creation of sub-grids on the fly, see if we're covering 80% of either one, if we didn't already do that\r\n if (activeDrag && collide && ((_b = (_a = node.grid) === null || _a === void 0 ? void 0 : _a.opts) === null || _b === void 0 ? void 0 : _b.subGridDynamic) && !node.grid._isTemp) {\r\n let over = utils_1.Utils.areaIntercept(o.rect, collide._rect);\r\n let a1 = utils_1.Utils.area(o.rect);\r\n let a2 = utils_1.Utils.area(collide._rect);\r\n let perc = over / (a1 < a2 ? a1 : a2);\r\n if (perc > .8) {\r\n collide.grid.makeSubGrid(collide.el, undefined, node);\r\n collide = undefined;\r\n }\r\n }\r\n if (collide) {\r\n needToMove = !this._fixCollisions(node, nn, collide, o); // check if already moved...\r\n }\r\n else {\r\n needToMove = false; // we didn't cover >50% for a move, skip...\r\n if (wasUndefinedPack)\r\n delete o.pack;\r\n }\r\n }\r\n // now move (to the original ask vs the collision version which might differ) and repack things\r\n if (needToMove) {\r\n node._dirty = true;\r\n utils_1.Utils.copyPos(node, nn);\r\n }\r\n if (o.pack) {\r\n this._packNodes()\r\n ._notify();\r\n }\r\n return !utils_1.Utils.samePos(node, prevPos); // pack might have moved things back\r\n }\r\n getRow() {\r\n return this.nodes.reduce((row, n) => Math.max(row, n.y + n.h), 0);\r\n }\r\n beginUpdate(node) {\r\n if (!node._updating) {\r\n node._updating = true;\r\n delete node._skipDown;\r\n if (!this.batchMode)\r\n this.saveInitial();\r\n }\r\n return this;\r\n }\r\n endUpdate() {\r\n let n = this.nodes.find(n => n._updating);\r\n if (n) {\r\n delete n._updating;\r\n delete n._skipDown;\r\n }\r\n return this;\r\n }\r\n /** saves a copy of the largest column layout (eg 12 even when rendering oneColumnMode) so we don't loose orig layout,\r\n * returning a list of widgets for serialization */\r\n save(saveElement = true) {\r\n var _a;\r\n // use the highest layout for any saved info so we can have full detail on reload #1849\r\n let len = (_a = this._layouts) === null || _a === void 0 ? void 0 : _a.length;\r\n let layout = len && this.column !== (len - 1) ? this._layouts[len - 1] : null;\r\n let list = [];\r\n this.sortNodes();\r\n this.nodes.forEach(n => {\r\n let wl = layout === null || layout === void 0 ? void 0 : layout.find(l => l._id === n._id);\r\n let w = Object.assign({}, n);\r\n // use layout info instead if set\r\n if (wl) {\r\n w.x = wl.x;\r\n w.y = wl.y;\r\n w.w = wl.w;\r\n }\r\n utils_1.Utils.removeInternalForSave(w, !saveElement);\r\n list.push(w);\r\n });\r\n return list;\r\n }\r\n /** @internal called whenever a node is added or moved - updates the cached layouts */\r\n layoutsNodesChange(nodes) {\r\n if (!this._layouts || this._inColumnResize)\r\n return this;\r\n // remove smaller layouts - we will re-generate those on the fly... larger ones need to update\r\n this._layouts.forEach((layout, column) => {\r\n if (!layout || column === this.column)\r\n return this;\r\n if (column < this.column) {\r\n this._layouts[column] = undefined;\r\n }\r\n else {\r\n // we save the original x,y,w (h isn't cached) to see what actually changed to propagate better.\r\n // NOTE: we don't need to check against out of bound scaling/moving as that will be done when using those cache values. #1785\r\n let ratio = column / this.column;\r\n nodes.forEach(node => {\r\n if (!node._orig)\r\n return; // didn't change (newly added ?)\r\n let n = layout.find(l => l._id === node._id);\r\n if (!n)\r\n return; // no cache for new nodes. Will use those values.\r\n // Y changed, push down same amount\r\n // TODO: detect doing item 'swaps' will help instead of move (especially in 1 column mode)\r\n if (node.y !== node._orig.y) {\r\n n.y += (node.y - node._orig.y);\r\n }\r\n // X changed, scale from new position\r\n if (node.x !== node._orig.x) {\r\n n.x = Math.round(node.x * ratio);\r\n }\r\n // width changed, scale from new width\r\n if (node.w !== node._orig.w) {\r\n n.w = Math.round(node.w * ratio);\r\n }\r\n // ...height always carries over from cache\r\n });\r\n }\r\n });\r\n return this;\r\n }\r\n /**\r\n * @internal Called to scale the widget width & position up/down based on the column change.\r\n * Note we store previous layouts (especially original ones) to make it possible to go\r\n * from say 12 -> 1 -> 12 and get back to where we were.\r\n *\r\n * @param prevColumn previous number of columns\r\n * @param column new column number\r\n * @param nodes different sorted list (ex: DOM order) instead of current list\r\n * @param layout specify the type of re-layout that will happen (position, size, etc...).\r\n * Note: items will never be outside of the current column boundaries. default (moveScale). Ignored for 1 column\r\n */\r\n updateNodeWidths(prevColumn, column, nodes, layout = 'moveScale') {\r\n var _a;\r\n if (!this.nodes.length || !column || prevColumn === column)\r\n return this;\r\n // cache the current layout in case they want to go back (like 12 -> 1 -> 12) as it requires original data\r\n this.cacheLayout(this.nodes, prevColumn);\r\n this.batchUpdate(); // do this EARLY as it will call saveInitial() so we can detect where we started for _dirty and collision\r\n let newNodes = [];\r\n // if we're going to 1 column and using DOM order rather than default sorting, then generate that layout\r\n let domOrder = false;\r\n if (column === 1 && (nodes === null || nodes === void 0 ? void 0 : nodes.length)) {\r\n domOrder = true;\r\n let top = 0;\r\n nodes.forEach(n => {\r\n n.x = 0;\r\n n.w = 1;\r\n n.y = Math.max(n.y, top);\r\n top = n.y + n.h;\r\n });\r\n newNodes = nodes;\r\n nodes = [];\r\n }\r\n else {\r\n nodes = utils_1.Utils.sort(this.nodes, -1, prevColumn); // current column reverse sorting so we can insert last to front (limit collision)\r\n }\r\n // see if we have cached previous layout IFF we are going up in size (restore) otherwise always\r\n // generate next size down from where we are (looks more natural as you gradually size down).\r\n let cacheNodes = [];\r\n if (column > prevColumn) {\r\n cacheNodes = this._layouts[column] || [];\r\n // ...if not, start with the largest layout (if not already there) as down-scaling is more accurate\r\n // by pretending we came from that larger column by assigning those values as starting point\r\n let lastIndex = this._layouts.length - 1;\r\n if (!cacheNodes.length && prevColumn !== lastIndex && ((_a = this._layouts[lastIndex]) === null || _a === void 0 ? void 0 : _a.length)) {\r\n prevColumn = lastIndex;\r\n this._layouts[lastIndex].forEach(cacheNode => {\r\n let n = nodes.find(n => n._id === cacheNode._id);\r\n if (n) {\r\n // still current, use cache info positions\r\n n.x = cacheNode.x;\r\n n.y = cacheNode.y;\r\n n.w = cacheNode.w;\r\n }\r\n });\r\n }\r\n }\r\n // if we found cache re-use those nodes that are still current\r\n cacheNodes.forEach(cacheNode => {\r\n let j = nodes.findIndex(n => n._id === cacheNode._id);\r\n if (j !== -1) {\r\n // still current, use cache info positions\r\n if (cacheNode.autoPosition || isNaN(cacheNode.x) || isNaN(cacheNode.y)) {\r\n this.findEmptyPosition(cacheNode, newNodes);\r\n }\r\n if (!cacheNode.autoPosition) {\r\n nodes[j].x = cacheNode.x;\r\n nodes[j].y = cacheNode.y;\r\n nodes[j].w = cacheNode.w;\r\n newNodes.push(nodes[j]);\r\n }\r\n nodes.splice(j, 1);\r\n }\r\n });\r\n // ...and add any extra non-cached ones\r\n if (nodes.length) {\r\n if (typeof layout === 'function') {\r\n layout(column, prevColumn, newNodes, nodes);\r\n }\r\n else if (!domOrder) {\r\n let ratio = column / prevColumn;\r\n let move = (layout === 'move' || layout === 'moveScale');\r\n let scale = (layout === 'scale' || layout === 'moveScale');\r\n nodes.forEach(node => {\r\n // NOTE: x + w could be outside of the grid, but addNode() below will handle that\r\n node.x = (column === 1 ? 0 : (move ? Math.round(node.x * ratio) : Math.min(node.x, column - 1)));\r\n node.w = ((column === 1 || prevColumn === 1) ? 1 :\r\n scale ? (Math.round(node.w * ratio) || 1) : (Math.min(node.w, column)));\r\n newNodes.push(node);\r\n });\r\n nodes = [];\r\n }\r\n }\r\n // finally re-layout them in reverse order (to get correct placement)\r\n if (!domOrder)\r\n newNodes = utils_1.Utils.sort(newNodes, -1, column);\r\n this._inColumnResize = true; // prevent cache update\r\n this.nodes = []; // pretend we have no nodes to start with (add() will use same structures) to simplify layout\r\n newNodes.forEach(node => {\r\n this.addNode(node, false); // 'false' for add event trigger\r\n delete node._orig; // make sure the commit doesn't try to restore things back to original\r\n });\r\n this.batchUpdate(false);\r\n delete this._inColumnResize;\r\n return this;\r\n }\r\n /**\r\n * call to cache the given layout internally to the given location so we can restore back when column changes size\r\n * @param nodes list of nodes\r\n * @param column corresponding column index to save it under\r\n * @param clear if true, will force other caches to be removed (default false)\r\n */\r\n cacheLayout(nodes, column, clear = false) {\r\n let copy = [];\r\n nodes.forEach((n, i) => {\r\n n._id = n._id || GridStackEngine._idSeq++; // make sure we have an id in case this is new layout, else re-use id already set\r\n copy[i] = { x: n.x, y: n.y, w: n.w, _id: n._id }; // only thing we change is x,y,w and id to find it back\r\n });\r\n this._layouts = clear ? [] : this._layouts || []; // use array to find larger quick\r\n this._layouts[column] = copy;\r\n return this;\r\n }\r\n /**\r\n * call to cache the given node layout internally to the given location so we can restore back when column changes size\r\n * @param node single node to cache\r\n * @param column corresponding column index to save it under\r\n */\r\n cacheOneLayout(n, column) {\r\n n._id = n._id || GridStackEngine._idSeq++;\r\n let l = { x: n.x, y: n.y, w: n.w, _id: n._id };\r\n if (n.autoPosition) {\r\n delete l.x;\r\n delete l.y;\r\n l.autoPosition = true;\r\n }\r\n this._layouts = this._layouts || [];\r\n this._layouts[column] = this._layouts[column] || [];\r\n let index = this.findCacheLayout(n, column);\r\n if (index === -1)\r\n this._layouts[column].push(l);\r\n else\r\n this._layouts[column][index] = l;\r\n return this;\r\n }\r\n findCacheLayout(n, column) {\r\n var _a, _b, _c;\r\n return (_c = (_b = (_a = this._layouts) === null || _a === void 0 ? void 0 : _a[column]) === null || _b === void 0 ? void 0 : _b.findIndex(l => l._id === n._id)) !== null && _c !== void 0 ? _c : -1;\r\n }\r\n /** called to remove all internal values but the _id */\r\n cleanupNode(node) {\r\n for (let prop in node) {\r\n if (prop[0] === '_' && prop !== '_id')\r\n delete node[prop];\r\n }\r\n return this;\r\n }\r\n}\r\nexports.GridStackEngine = GridStackEngine;\r\n/** @internal unique global internal _id counter NOT starting at 0 */\r\nGridStackEngine._idSeq = 1;\r\n//# sourceMappingURL=gridstack-engine.js.map","/**\n * @module ol/TileRange\n */\n/**\n * A representation of a contiguous block of tiles. A tile range is specified\n * by its min/max tile coordinates and is inclusive of coordinates.\n */\nvar TileRange = /** @class */ (function () {\n /**\n * @param {number} minX Minimum X.\n * @param {number} maxX Maximum X.\n * @param {number} minY Minimum Y.\n * @param {number} maxY Maximum Y.\n */\n function TileRange(minX, maxX, minY, maxY) {\n /**\n * @type {number}\n */\n this.minX = minX;\n /**\n * @type {number}\n */\n this.maxX = maxX;\n /**\n * @type {number}\n */\n this.minY = minY;\n /**\n * @type {number}\n */\n this.maxY = maxY;\n }\n /**\n * @param {import(\"./tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @return {boolean} Contains tile coordinate.\n */\n TileRange.prototype.contains = function (tileCoord) {\n return this.containsXY(tileCoord[1], tileCoord[2]);\n };\n /**\n * @param {TileRange} tileRange Tile range.\n * @return {boolean} Contains.\n */\n TileRange.prototype.containsTileRange = function (tileRange) {\n return (this.minX <= tileRange.minX &&\n tileRange.maxX <= this.maxX &&\n this.minY <= tileRange.minY &&\n tileRange.maxY <= this.maxY);\n };\n /**\n * @param {number} x Tile coordinate x.\n * @param {number} y Tile coordinate y.\n * @return {boolean} Contains coordinate.\n */\n TileRange.prototype.containsXY = function (x, y) {\n return this.minX <= x && x <= this.maxX && this.minY <= y && y <= this.maxY;\n };\n /**\n * @param {TileRange} tileRange Tile range.\n * @return {boolean} Equals.\n */\n TileRange.prototype.equals = function (tileRange) {\n return (this.minX == tileRange.minX &&\n this.minY == tileRange.minY &&\n this.maxX == tileRange.maxX &&\n this.maxY == tileRange.maxY);\n };\n /**\n * @param {TileRange} tileRange Tile range.\n */\n TileRange.prototype.extend = function (tileRange) {\n if (tileRange.minX < this.minX) {\n this.minX = tileRange.minX;\n }\n if (tileRange.maxX > this.maxX) {\n this.maxX = tileRange.maxX;\n }\n if (tileRange.minY < this.minY) {\n this.minY = tileRange.minY;\n }\n if (tileRange.maxY > this.maxY) {\n this.maxY = tileRange.maxY;\n }\n };\n /**\n * @return {number} Height.\n */\n TileRange.prototype.getHeight = function () {\n return this.maxY - this.minY + 1;\n };\n /**\n * @return {import(\"./size.js\").Size} Size.\n */\n TileRange.prototype.getSize = function () {\n return [this.getWidth(), this.getHeight()];\n };\n /**\n * @return {number} Width.\n */\n TileRange.prototype.getWidth = function () {\n return this.maxX - this.minX + 1;\n };\n /**\n * @param {TileRange} tileRange Tile range.\n * @return {boolean} Intersects.\n */\n TileRange.prototype.intersects = function (tileRange) {\n return (this.minX <= tileRange.maxX &&\n this.maxX >= tileRange.minX &&\n this.minY <= tileRange.maxY &&\n this.maxY >= tileRange.minY);\n };\n return TileRange;\n}());\n/**\n * @param {number} minX Minimum X.\n * @param {number} maxX Maximum X.\n * @param {number} minY Minimum Y.\n * @param {number} maxY Maximum Y.\n * @param {TileRange} [tileRange] TileRange.\n * @return {TileRange} Tile range.\n */\nexport function createOrUpdate(minX, maxX, minY, maxY, tileRange) {\n if (tileRange !== undefined) {\n tileRange.minX = minX;\n tileRange.maxX = maxX;\n tileRange.minY = minY;\n tileRange.maxY = maxY;\n return tileRange;\n }\n else {\n return new TileRange(minX, maxX, minY, maxY);\n }\n}\nexport default TileRange;\n//# sourceMappingURL=TileRange.js.map","/**\n * @module ol/render/canvas\n */\nimport BaseObject from '../Object.js';\nimport EventTarget from '../events/Target.js';\nimport { WORKER_OFFSCREEN_CANVAS } from '../has.js';\nimport { clear } from '../obj.js';\nimport { createCanvasContext2D } from '../dom.js';\nimport { getFontParameters } from '../css.js';\n/**\n * @typedef {'Circle' | 'Image' | 'LineString' | 'Polygon' | 'Text' | 'Default'} BuilderType\n */\n/**\n * @typedef {Object} FillState\n * @property {import(\"../colorlike.js\").ColorLike} fillStyle FillStyle.\n */\n/**\n * @typedef Label\n * @property {number} width Width.\n * @property {number} height Height.\n * @property {Array} contextInstructions ContextInstructions.\n */\n/**\n * @typedef {Object} FillStrokeState\n * @property {import(\"../colorlike.js\").ColorLike} [currentFillStyle] Current FillStyle.\n * @property {import(\"../colorlike.js\").ColorLike} [currentStrokeStyle] Current StrokeStyle.\n * @property {CanvasLineCap} [currentLineCap] Current LineCap.\n * @property {Array} currentLineDash Current LineDash.\n * @property {number} [currentLineDashOffset] Current LineDashOffset.\n * @property {CanvasLineJoin} [currentLineJoin] Current LineJoin.\n * @property {number} [currentLineWidth] Current LineWidth.\n * @property {number} [currentMiterLimit] Current MiterLimit.\n * @property {number} [lastStroke] Last stroke.\n * @property {import(\"../colorlike.js\").ColorLike} [fillStyle] FillStyle.\n * @property {import(\"../colorlike.js\").ColorLike} [strokeStyle] StrokeStyle.\n * @property {CanvasLineCap} [lineCap] LineCap.\n * @property {Array} lineDash LineDash.\n * @property {number} [lineDashOffset] LineDashOffset.\n * @property {CanvasLineJoin} [lineJoin] LineJoin.\n * @property {number} [lineWidth] LineWidth.\n * @property {number} [miterLimit] MiterLimit.\n */\n/**\n * @typedef {Object} StrokeState\n * @property {CanvasLineCap} lineCap LineCap.\n * @property {Array} lineDash LineDash.\n * @property {number} lineDashOffset LineDashOffset.\n * @property {CanvasLineJoin} lineJoin LineJoin.\n * @property {number} lineWidth LineWidth.\n * @property {number} miterLimit MiterLimit.\n * @property {import(\"../colorlike.js\").ColorLike} strokeStyle StrokeStyle.\n */\n/**\n * @typedef {Object} TextState\n * @property {string} font Font.\n * @property {string} [textAlign] TextAlign.\n * @property {string} [justify] Justify.\n * @property {string} textBaseline TextBaseline.\n * @property {string} [placement] Placement.\n * @property {number} [maxAngle] MaxAngle.\n * @property {boolean} [overflow] Overflow.\n * @property {import(\"../style/Fill.js\").default} [backgroundFill] BackgroundFill.\n * @property {import(\"../style/Stroke.js\").default} [backgroundStroke] BackgroundStroke.\n * @property {import(\"../size.js\").Size} [scale] Scale.\n * @property {Array} [padding] Padding.\n */\n/**\n * @typedef {Object} SerializableInstructions\n * @property {Array<*>} instructions The rendering instructions.\n * @property {Array<*>} hitDetectionInstructions The rendering hit detection instructions.\n * @property {Array} coordinates The array of all coordinates.\n * @property {!Object} [textStates] The text states (decluttering).\n * @property {!Object} [fillStates] The fill states (decluttering).\n * @property {!Object} [strokeStates] The stroke states (decluttering).\n */\n/**\n * @typedef {Object} DeclutterImageWithText\n */\n/**\n * @const\n * @type {string}\n */\nexport var defaultFont = '10px sans-serif';\n/**\n * @const\n * @type {import(\"../colorlike.js\").ColorLike}\n */\nexport var defaultFillStyle = '#000';\n/**\n * @const\n * @type {CanvasLineCap}\n */\nexport var defaultLineCap = 'round';\n/**\n * @const\n * @type {Array}\n */\nexport var defaultLineDash = [];\n/**\n * @const\n * @type {number}\n */\nexport var defaultLineDashOffset = 0;\n/**\n * @const\n * @type {CanvasLineJoin}\n */\nexport var defaultLineJoin = 'round';\n/**\n * @const\n * @type {number}\n */\nexport var defaultMiterLimit = 10;\n/**\n * @const\n * @type {import(\"../colorlike.js\").ColorLike}\n */\nexport var defaultStrokeStyle = '#000';\n/**\n * @const\n * @type {string}\n */\nexport var defaultTextAlign = 'center';\n/**\n * @const\n * @type {string}\n */\nexport var defaultTextBaseline = 'middle';\n/**\n * @const\n * @type {Array}\n */\nexport var defaultPadding = [0, 0, 0, 0];\n/**\n * @const\n * @type {number}\n */\nexport var defaultLineWidth = 1;\n/**\n * @type {BaseObject}\n */\nexport var checkedFonts = new BaseObject();\n/**\n * The label cache for text rendering. To change the default cache size of 2048\n * entries, use {@link module:ol/structs/LRUCache~LRUCache#setSize cache.setSize()}.\n * Deprecated - there is no label cache any more.\n * @type {?}\n * @api\n * @deprecated\n */\nexport var labelCache = new EventTarget();\nlabelCache.setSize = function () {\n console.warn('labelCache is deprecated.'); //eslint-disable-line\n};\n/**\n * @type {CanvasRenderingContext2D}\n */\nvar measureContext = null;\n/**\n * @type {string}\n */\nvar measureFont;\n/**\n * @type {!Object}\n */\nexport var textHeights = {};\n/**\n * Clears the label cache when a font becomes available.\n * @param {string} fontSpec CSS font spec.\n */\nexport var registerFont = (function () {\n var retries = 100;\n var size = '32px ';\n var referenceFonts = ['monospace', 'serif'];\n var len = referenceFonts.length;\n var text = 'wmytzilWMYTZIL@#/&?$%10\\uF013';\n var interval, referenceWidth;\n /**\n * @param {string} fontStyle Css font-style\n * @param {string} fontWeight Css font-weight\n * @param {*} fontFamily Css font-family\n * @return {boolean} Font with style and weight is available\n */\n function isAvailable(fontStyle, fontWeight, fontFamily) {\n var available = true;\n for (var i = 0; i < len; ++i) {\n var referenceFont = referenceFonts[i];\n referenceWidth = measureTextWidth(fontStyle + ' ' + fontWeight + ' ' + size + referenceFont, text);\n if (fontFamily != referenceFont) {\n var width = measureTextWidth(fontStyle +\n ' ' +\n fontWeight +\n ' ' +\n size +\n fontFamily +\n ',' +\n referenceFont, text);\n // If width and referenceWidth are the same, then the fallback was used\n // instead of the font we wanted, so the font is not available.\n available = available && width != referenceWidth;\n }\n }\n if (available) {\n return true;\n }\n return false;\n }\n function check() {\n var done = true;\n var fonts = checkedFonts.getKeys();\n for (var i = 0, ii = fonts.length; i < ii; ++i) {\n var font = fonts[i];\n if (checkedFonts.get(font) < retries) {\n if (isAvailable.apply(this, font.split('\\n'))) {\n clear(textHeights);\n // Make sure that loaded fonts are picked up by Safari\n measureContext = null;\n measureFont = undefined;\n checkedFonts.set(font, retries);\n }\n else {\n checkedFonts.set(font, checkedFonts.get(font) + 1, true);\n done = false;\n }\n }\n }\n if (done) {\n clearInterval(interval);\n interval = undefined;\n }\n }\n return function (fontSpec) {\n var font = getFontParameters(fontSpec);\n if (!font) {\n return;\n }\n var families = font.families;\n for (var i = 0, ii = families.length; i < ii; ++i) {\n var family = families[i];\n var key = font.style + '\\n' + font.weight + '\\n' + family;\n if (checkedFonts.get(key) === undefined) {\n checkedFonts.set(key, retries, true);\n if (!isAvailable(font.style, font.weight, family)) {\n checkedFonts.set(key, 0, true);\n if (interval === undefined) {\n interval = setInterval(check, 32);\n }\n }\n }\n }\n };\n})();\n/**\n * @param {string} font Font to use for measuring.\n * @return {import(\"../size.js\").Size} Measurement.\n */\nexport var measureTextHeight = (function () {\n /**\n * @type {HTMLDivElement}\n */\n var measureElement;\n return function (fontSpec) {\n var height = textHeights[fontSpec];\n if (height == undefined) {\n if (WORKER_OFFSCREEN_CANVAS) {\n var font = getFontParameters(fontSpec);\n var metrics = measureText(fontSpec, 'Žg');\n var lineHeight = isNaN(Number(font.lineHeight))\n ? 1.2\n : Number(font.lineHeight);\n height =\n lineHeight *\n (metrics.actualBoundingBoxAscent + metrics.actualBoundingBoxDescent);\n }\n else {\n if (!measureElement) {\n measureElement = document.createElement('div');\n measureElement.innerHTML = 'M';\n measureElement.style.minHeight = '0';\n measureElement.style.maxHeight = 'none';\n measureElement.style.height = 'auto';\n measureElement.style.padding = '0';\n measureElement.style.border = 'none';\n measureElement.style.position = 'absolute';\n measureElement.style.display = 'block';\n measureElement.style.left = '-99999px';\n }\n measureElement.style.font = fontSpec;\n document.body.appendChild(measureElement);\n height = measureElement.offsetHeight;\n document.body.removeChild(measureElement);\n }\n textHeights[fontSpec] = height;\n }\n return height;\n };\n})();\n/**\n * @param {string} font Font.\n * @param {string} text Text.\n * @return {TextMetrics} Text metrics.\n */\nfunction measureText(font, text) {\n if (!measureContext) {\n measureContext = createCanvasContext2D(1, 1);\n }\n if (font != measureFont) {\n measureContext.font = font;\n measureFont = measureContext.font;\n }\n return measureContext.measureText(text);\n}\n/**\n * @param {string} font Font.\n * @param {string} text Text.\n * @return {number} Width.\n */\nexport function measureTextWidth(font, text) {\n return measureText(font, text).width;\n}\n/**\n * Measure text width using a cache.\n * @param {string} font The font.\n * @param {string} text The text to measure.\n * @param {Object} cache A lookup of cached widths by text.\n * @return {number} The text width.\n */\nexport function measureAndCacheTextWidth(font, text, cache) {\n if (text in cache) {\n return cache[text];\n }\n var width = text\n .split('\\n')\n .reduce(function (prev, curr) { return Math.max(prev, measureTextWidth(font, curr)); }, 0);\n cache[text] = width;\n return width;\n}\n/**\n * @param {TextState} baseStyle Base style.\n * @param {Array} chunks Text chunks to measure.\n * @return {{width: number, height: number, widths: Array, heights: Array, lineWidths: Array}}} Text metrics.\n */\nexport function getTextDimensions(baseStyle, chunks) {\n var widths = [];\n var heights = [];\n var lineWidths = [];\n var width = 0;\n var lineWidth = 0;\n var height = 0;\n var lineHeight = 0;\n for (var i = 0, ii = chunks.length; i <= ii; i += 2) {\n var text = chunks[i];\n if (text === '\\n' || i === ii) {\n width = Math.max(width, lineWidth);\n lineWidths.push(lineWidth);\n lineWidth = 0;\n height += lineHeight;\n continue;\n }\n var font = chunks[i + 1] || baseStyle.font;\n var currentWidth = measureTextWidth(font, text);\n widths.push(currentWidth);\n lineWidth += currentWidth;\n var currentHeight = measureTextHeight(font);\n heights.push(currentHeight);\n lineHeight = Math.max(lineHeight, currentHeight);\n }\n return { width: width, height: height, widths: widths, heights: heights, lineWidths: lineWidths };\n}\n/**\n * @param {CanvasRenderingContext2D} context Context.\n * @param {number} rotation Rotation.\n * @param {number} offsetX X offset.\n * @param {number} offsetY Y offset.\n */\nexport function rotateAtOffset(context, rotation, offsetX, offsetY) {\n if (rotation !== 0) {\n context.translate(offsetX, offsetY);\n context.rotate(rotation);\n context.translate(-offsetX, -offsetY);\n }\n}\n/**\n * @param {CanvasRenderingContext2D} context Context.\n * @param {import(\"../transform.js\").Transform|null} transform Transform.\n * @param {number} opacity Opacity.\n * @param {Label|HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} labelOrImage Label.\n * @param {number} originX Origin X.\n * @param {number} originY Origin Y.\n * @param {number} w Width.\n * @param {number} h Height.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../size.js\").Size} scale Scale.\n */\nexport function drawImageOrLabel(context, transform, opacity, labelOrImage, originX, originY, w, h, x, y, scale) {\n context.save();\n if (opacity !== 1) {\n context.globalAlpha *= opacity;\n }\n if (transform) {\n context.setTransform.apply(context, transform);\n }\n if ( /** @type {*} */(labelOrImage).contextInstructions) {\n // label\n context.translate(x, y);\n context.scale(scale[0], scale[1]);\n executeLabelInstructions(/** @type {Label} */ (labelOrImage), context);\n }\n else if (scale[0] < 0 || scale[1] < 0) {\n // flipped image\n context.translate(x, y);\n context.scale(scale[0], scale[1]);\n context.drawImage(\n /** @type {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} */ (labelOrImage), originX, originY, w, h, 0, 0, w, h);\n }\n else {\n // if image not flipped translate and scale can be avoided\n context.drawImage(\n /** @type {HTMLCanvasElement|HTMLImageElement|HTMLVideoElement} */ (labelOrImage), originX, originY, w, h, x, y, w * scale[0], h * scale[1]);\n }\n context.restore();\n}\n/**\n * @param {Label} label Label.\n * @param {CanvasRenderingContext2D} context Context.\n */\nfunction executeLabelInstructions(label, context) {\n var contextInstructions = label.contextInstructions;\n for (var i = 0, ii = contextInstructions.length; i < ii; i += 2) {\n if (Array.isArray(contextInstructions[i + 1])) {\n context[contextInstructions[i]].apply(context, contextInstructions[i + 1]);\n }\n else {\n context[contextInstructions[i]] = contextInstructions[i + 1];\n }\n }\n}\n//# sourceMappingURL=canvas.js.map","module.exports = __webpack_public_path__ + \"img/map-info.7fa9f493.png\";","/**\n * @module ol/layer/Property\n */\n/**\n * @enum {string}\n */\nexport default {\n OPACITY: 'opacity',\n VISIBLE: 'visible',\n EXTENT: 'extent',\n Z_INDEX: 'zIndex',\n MAX_RESOLUTION: 'maxResolution',\n MIN_RESOLUTION: 'minResolution',\n MAX_ZOOM: 'maxZoom',\n MIN_ZOOM: 'minZoom',\n SOURCE: 'source',\n MAP: 'map',\n};\n//# sourceMappingURL=Property.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/Collection\n */\nimport AssertionError from './AssertionError.js';\nimport BaseObject from './Object.js';\nimport CollectionEventType from './CollectionEventType.js';\nimport Event from './events/Event.js';\n/**\n * @enum {string}\n * @private\n */\nvar Property = {\n LENGTH: 'length',\n};\n/**\n * @classdesc\n * Events emitted by {@link module:ol/Collection~Collection} instances are instances of this\n * type.\n */\nvar CollectionEvent = /** @class */ (function (_super) {\n __extends(CollectionEvent, _super);\n /**\n * @param {import(\"./CollectionEventType.js\").default} type Type.\n * @param {*} [opt_element] Element.\n * @param {number} [opt_index] The index of the added or removed element.\n */\n function CollectionEvent(type, opt_element, opt_index) {\n var _this = _super.call(this, type) || this;\n /**\n * The element that is added to or removed from the collection.\n * @type {*}\n * @api\n */\n _this.element = opt_element;\n /**\n * The index of the added or removed element.\n * @type {number}\n * @api\n */\n _this.index = opt_index;\n return _this;\n }\n return CollectionEvent;\n}(Event));\nexport { CollectionEvent };\n/***\n * @template Return\n * @typedef {import(\"./Observable\").OnSignature &\n * import(\"./Observable\").OnSignature &\n * import(\"./Observable\").OnSignature<'add'|'remove', CollectionEvent, Return> &\n * import(\"./Observable\").CombinedOnSignature} CollectionOnSignature\n */\n/**\n * @typedef {Object} Options\n * @property {boolean} [unique=false] Disallow the same item from being added to\n * the collection twice.\n */\n/**\n * @classdesc\n * An expanded version of standard JS Array, adding convenience methods for\n * manipulation. Add and remove changes to the Collection trigger a Collection\n * event. Note that this does not cover changes to the objects _within_ the\n * Collection; they trigger events on the appropriate object, not on the\n * Collection as a whole.\n *\n * @fires CollectionEvent\n *\n * @template T\n * @api\n */\nvar Collection = /** @class */ (function (_super) {\n __extends(Collection, _super);\n /**\n * @param {Array} [opt_array] Array.\n * @param {Options} [opt_options] Collection options.\n */\n function Collection(opt_array, opt_options) {\n var _this = _super.call(this) || this;\n /***\n * @type {CollectionOnSignature}\n */\n _this.on;\n /***\n * @type {CollectionOnSignature}\n */\n _this.once;\n /***\n * @type {CollectionOnSignature}\n */\n _this.un;\n var options = opt_options || {};\n /**\n * @private\n * @type {boolean}\n */\n _this.unique_ = !!options.unique;\n /**\n * @private\n * @type {!Array}\n */\n _this.array_ = opt_array ? opt_array : [];\n if (_this.unique_) {\n for (var i = 0, ii = _this.array_.length; i < ii; ++i) {\n _this.assertUnique_(_this.array_[i], i);\n }\n }\n _this.updateLength_();\n return _this;\n }\n /**\n * Remove all elements from the collection.\n * @api\n */\n Collection.prototype.clear = function () {\n while (this.getLength() > 0) {\n this.pop();\n }\n };\n /**\n * Add elements to the collection. This pushes each item in the provided array\n * to the end of the collection.\n * @param {!Array} arr Array.\n * @return {Collection} This collection.\n * @api\n */\n Collection.prototype.extend = function (arr) {\n for (var i = 0, ii = arr.length; i < ii; ++i) {\n this.push(arr[i]);\n }\n return this;\n };\n /**\n * Iterate over each element, calling the provided callback.\n * @param {function(T, number, Array): *} f The function to call\n * for every element. This function takes 3 arguments (the element, the\n * index and the array). The return value is ignored.\n * @api\n */\n Collection.prototype.forEach = function (f) {\n var array = this.array_;\n for (var i = 0, ii = array.length; i < ii; ++i) {\n f(array[i], i, array);\n }\n };\n /**\n * Get a reference to the underlying Array object. Warning: if the array\n * is mutated, no events will be dispatched by the collection, and the\n * collection's \"length\" property won't be in sync with the actual length\n * of the array.\n * @return {!Array} Array.\n * @api\n */\n Collection.prototype.getArray = function () {\n return this.array_;\n };\n /**\n * Get the element at the provided index.\n * @param {number} index Index.\n * @return {T} Element.\n * @api\n */\n Collection.prototype.item = function (index) {\n return this.array_[index];\n };\n /**\n * Get the length of this collection.\n * @return {number} The length of the array.\n * @observable\n * @api\n */\n Collection.prototype.getLength = function () {\n return this.get(Property.LENGTH);\n };\n /**\n * Insert an element at the provided index.\n * @param {number} index Index.\n * @param {T} elem Element.\n * @api\n */\n Collection.prototype.insertAt = function (index, elem) {\n if (this.unique_) {\n this.assertUnique_(elem);\n }\n this.array_.splice(index, 0, elem);\n this.updateLength_();\n this.dispatchEvent(new CollectionEvent(CollectionEventType.ADD, elem, index));\n };\n /**\n * Remove the last element of the collection and return it.\n * Return `undefined` if the collection is empty.\n * @return {T|undefined} Element.\n * @api\n */\n Collection.prototype.pop = function () {\n return this.removeAt(this.getLength() - 1);\n };\n /**\n * Insert the provided element at the end of the collection.\n * @param {T} elem Element.\n * @return {number} New length of the collection.\n * @api\n */\n Collection.prototype.push = function (elem) {\n if (this.unique_) {\n this.assertUnique_(elem);\n }\n var n = this.getLength();\n this.insertAt(n, elem);\n return this.getLength();\n };\n /**\n * Remove the first occurrence of an element from the collection.\n * @param {T} elem Element.\n * @return {T|undefined} The removed element or undefined if none found.\n * @api\n */\n Collection.prototype.remove = function (elem) {\n var arr = this.array_;\n for (var i = 0, ii = arr.length; i < ii; ++i) {\n if (arr[i] === elem) {\n return this.removeAt(i);\n }\n }\n return undefined;\n };\n /**\n * Remove the element at the provided index and return it.\n * Return `undefined` if the collection does not contain this index.\n * @param {number} index Index.\n * @return {T|undefined} Value.\n * @api\n */\n Collection.prototype.removeAt = function (index) {\n var prev = this.array_[index];\n this.array_.splice(index, 1);\n this.updateLength_();\n this.dispatchEvent(new CollectionEvent(CollectionEventType.REMOVE, prev, index));\n return prev;\n };\n /**\n * Set the element at the provided index.\n * @param {number} index Index.\n * @param {T} elem Element.\n * @api\n */\n Collection.prototype.setAt = function (index, elem) {\n var n = this.getLength();\n if (index < n) {\n if (this.unique_) {\n this.assertUnique_(elem, index);\n }\n var prev = this.array_[index];\n this.array_[index] = elem;\n this.dispatchEvent(new CollectionEvent(CollectionEventType.REMOVE, prev, index));\n this.dispatchEvent(new CollectionEvent(CollectionEventType.ADD, elem, index));\n }\n else {\n for (var j = n; j < index; ++j) {\n this.insertAt(j, undefined);\n }\n this.insertAt(index, elem);\n }\n };\n /**\n * @private\n */\n Collection.prototype.updateLength_ = function () {\n this.set(Property.LENGTH, this.array_.length);\n };\n /**\n * @private\n * @param {T} elem Element.\n * @param {number} [opt_except] Optional index to ignore.\n */\n Collection.prototype.assertUnique_ = function (elem, opt_except) {\n for (var i = 0, ii = this.array_.length; i < ii; ++i) {\n if (this.array_[i] === elem && i !== opt_except) {\n throw new AssertionError(58);\n }\n }\n };\n return Collection;\n}(BaseObject));\nexport default Collection;\n//# sourceMappingURL=Collection.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/net\n */\nimport { getUid } from './util.js';\n/**\n * Simple JSONP helper. Supports error callbacks and a custom callback param.\n * The error callback will be called when no JSONP is executed after 10 seconds.\n *\n * @param {string} url Request url. A 'callback' query parameter will be\n * appended.\n * @param {Function} callback Callback on success.\n * @param {Function} [opt_errback] Callback on error.\n * @param {string} [opt_callbackParam] Custom query parameter for the JSONP\n * callback. Default is 'callback'.\n */\nexport function jsonp(url, callback, opt_errback, opt_callbackParam) {\n var script = document.createElement('script');\n var key = 'olc_' + getUid(callback);\n function cleanup() {\n delete window[key];\n script.parentNode.removeChild(script);\n }\n script.async = true;\n script.src =\n url +\n (url.indexOf('?') == -1 ? '?' : '&') +\n (opt_callbackParam || 'callback') +\n '=' +\n key;\n var timer = setTimeout(function () {\n cleanup();\n if (opt_errback) {\n opt_errback();\n }\n }, 10000);\n window[key] = function (data) {\n clearTimeout(timer);\n cleanup();\n callback(data);\n };\n document.head.appendChild(script);\n}\nvar ResponseError = /** @class */ (function (_super) {\n __extends(ResponseError, _super);\n /**\n * @param {XMLHttpRequest} response The XHR object.\n */\n function ResponseError(response) {\n var _this = this;\n var message = 'Unexpected response status: ' + response.status;\n _this = _super.call(this, message) || this;\n /**\n * @type {string}\n */\n _this.name = 'ResponseError';\n /**\n * @type {XMLHttpRequest}\n */\n _this.response = response;\n return _this;\n }\n return ResponseError;\n}(Error));\nexport { ResponseError };\nvar ClientError = /** @class */ (function (_super) {\n __extends(ClientError, _super);\n /**\n * @param {XMLHttpRequest} client The XHR object.\n */\n function ClientError(client) {\n var _this = _super.call(this, 'Failed to issue request') || this;\n /**\n * @type {string}\n */\n _this.name = 'ClientError';\n /**\n * @type {XMLHttpRequest}\n */\n _this.client = client;\n return _this;\n }\n return ClientError;\n}(Error));\nexport { ClientError };\n/**\n * @param {string} url The URL.\n * @return {Promise} A promise that resolves to the JSON response.\n */\nexport function getJSON(url) {\n return new Promise(function (resolve, reject) {\n /**\n * @param {ProgressEvent} event The load event.\n */\n function onLoad(event) {\n var client = event.target;\n // status will be 0 for file:// urls\n if (!client.status || (client.status >= 200 && client.status < 300)) {\n var data = void 0;\n try {\n data = JSON.parse(client.responseText);\n }\n catch (err) {\n var message = 'Error parsing response text as JSON: ' + err.message;\n reject(new Error(message));\n return;\n }\n resolve(data);\n return;\n }\n reject(new ResponseError(client));\n }\n /**\n * @param {ProgressEvent} event The error event.\n */\n function onError(event) {\n reject(new ClientError(event.target));\n }\n var client = new XMLHttpRequest();\n client.addEventListener('load', onLoad);\n client.addEventListener('error', onError);\n client.open('GET', url);\n client.setRequestHeader('Accept', 'application/json');\n client.send();\n });\n}\n/**\n * @param {string} base The base URL.\n * @param {string} url The potentially relative URL.\n * @return {string} The full URL.\n */\nexport function resolveUrl(base, url) {\n if (url.indexOf('://') >= 0) {\n return url;\n }\n return new URL(url, base).href;\n}\nvar originalXHR;\nexport function overrideXHR(xhr) {\n if (typeof XMLHttpRequest !== 'undefined') {\n originalXHR = XMLHttpRequest;\n }\n global.XMLHttpRequest = xhr;\n}\nexport function restoreXHR() {\n global.XMLHttpRequest = originalXHR;\n}\n//# sourceMappingURL=net.js.map","/**\n * @module ol/MapProperty\n */\n/**\n * @enum {string}\n */\nexport default {\n LAYERGROUP: 'layergroup',\n SIZE: 'size',\n TARGET: 'target',\n VIEW: 'view',\n};\n//# sourceMappingURL=MapProperty.js.map","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./airSamplesTable.vue?vue&type=style&index=0&id=67548003&prod&lang=less\"","/**\r\n * DevExtreme (esm/localization/language_codes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport localizationCoreUtils from \"./core\";\r\nvar LANGUAGE_CODES = {\r\n ar: 1,\r\n bg: 2,\r\n ca: 3,\r\n \"zh-Hans\": 4,\r\n cs: 5,\r\n da: 6,\r\n de: 7,\r\n el: 8,\r\n en: 9,\r\n es: 10,\r\n fi: 11,\r\n fr: 12,\r\n he: 13,\r\n hu: 14,\r\n is: 15,\r\n it: 16,\r\n ja: 17,\r\n ko: 18,\r\n nl: 19,\r\n no: 20,\r\n pl: 21,\r\n pt: 22,\r\n rm: 23,\r\n ro: 24,\r\n ru: 25,\r\n hr: 26,\r\n sk: 27,\r\n sq: 28,\r\n sv: 29,\r\n th: 30,\r\n tr: 31,\r\n ur: 32,\r\n id: 33,\r\n uk: 34,\r\n be: 35,\r\n sl: 36,\r\n et: 37,\r\n lv: 38,\r\n lt: 39,\r\n tg: 40,\r\n fa: 41,\r\n vi: 42,\r\n hy: 43,\r\n az: 44,\r\n eu: 45,\r\n hsb: 46,\r\n mk: 47,\r\n tn: 50,\r\n xh: 52,\r\n zu: 53,\r\n af: 54,\r\n ka: 55,\r\n fo: 56,\r\n hi: 57,\r\n mt: 58,\r\n se: 59,\r\n ga: 60,\r\n ms: 62,\r\n kk: 63,\r\n ky: 64,\r\n sw: 65,\r\n tk: 66,\r\n uz: 67,\r\n tt: 68,\r\n bn: 69,\r\n pa: 70,\r\n gu: 71,\r\n or: 72,\r\n ta: 73,\r\n te: 74,\r\n kn: 75,\r\n ml: 76,\r\n as: 77,\r\n mr: 78,\r\n sa: 79,\r\n mn: 80,\r\n bo: 81,\r\n cy: 82,\r\n km: 83,\r\n lo: 84,\r\n gl: 86,\r\n kok: 87,\r\n syr: 90,\r\n si: 91,\r\n iu: 93,\r\n am: 94,\r\n tzm: 95,\r\n ne: 97,\r\n fy: 98,\r\n ps: 99,\r\n fil: 100,\r\n dv: 101,\r\n ha: 104,\r\n yo: 106,\r\n quz: 107,\r\n nso: 108,\r\n ba: 109,\r\n lb: 110,\r\n kl: 111,\r\n ig: 112,\r\n ii: 120,\r\n arn: 122,\r\n moh: 124,\r\n br: 126,\r\n ug: 128,\r\n mi: 129,\r\n oc: 130,\r\n co: 131,\r\n gsw: 132,\r\n sah: 133,\r\n qut: 134,\r\n rw: 135,\r\n wo: 136,\r\n prs: 140,\r\n gd: 145,\r\n \"ar-SA\": 1025,\r\n \"bg-BG\": 1026,\r\n \"ca-ES\": 1027,\r\n \"zh-TW\": 1028,\r\n \"cs-CZ\": 1029,\r\n \"da-DK\": 1030,\r\n \"de-DE\": 1031,\r\n \"el-GR\": 1032,\r\n \"en-US\": 1033,\r\n \"fi-FI\": 1035,\r\n \"fr-FR\": 1036,\r\n \"he-IL\": 1037,\r\n \"hu-HU\": 1038,\r\n \"is-IS\": 1039,\r\n \"it-IT\": 1040,\r\n \"ja-JP\": 1041,\r\n \"ko-KR\": 1042,\r\n \"nl-NL\": 1043,\r\n \"nb-NO\": 1044,\r\n \"pl-PL\": 1045,\r\n \"pt-BR\": 1046,\r\n \"rm-CH\": 1047,\r\n \"ro-RO\": 1048,\r\n \"ru-RU\": 1049,\r\n \"hr-HR\": 1050,\r\n \"sk-SK\": 1051,\r\n \"sq-AL\": 1052,\r\n \"sv-SE\": 1053,\r\n \"th-TH\": 1054,\r\n \"tr-TR\": 1055,\r\n \"ur-PK\": 1056,\r\n \"id-ID\": 1057,\r\n \"uk-UA\": 1058,\r\n \"be-BY\": 1059,\r\n \"sl-SI\": 1060,\r\n \"et-EE\": 1061,\r\n \"lv-LV\": 1062,\r\n \"lt-LT\": 1063,\r\n \"tg-Cyrl-TJ\": 1064,\r\n \"fa-IR\": 1065,\r\n \"vi-VN\": 1066,\r\n \"hy-AM\": 1067,\r\n \"az-Latn-AZ\": 1068,\r\n \"eu-ES\": 1069,\r\n \"hsb-DE\": 1070,\r\n \"mk-MK\": 1071,\r\n \"tn-ZA\": 1074,\r\n \"xh-ZA\": 1076,\r\n \"zu-ZA\": 1077,\r\n \"af-ZA\": 1078,\r\n \"ka-GE\": 1079,\r\n \"fo-FO\": 1080,\r\n \"hi-IN\": 1081,\r\n \"mt-MT\": 1082,\r\n \"se-NO\": 1083,\r\n \"ms-MY\": 1086,\r\n \"kk-KZ\": 1087,\r\n \"ky-KG\": 1088,\r\n \"sw-KE\": 1089,\r\n \"tk-TM\": 1090,\r\n \"uz-Latn-UZ\": 1091,\r\n \"tt-RU\": 1092,\r\n \"bn-IN\": 1093,\r\n \"pa-IN\": 1094,\r\n \"gu-IN\": 1095,\r\n \"or-IN\": 1096,\r\n \"ta-IN\": 1097,\r\n \"te-IN\": 1098,\r\n \"kn-IN\": 1099,\r\n \"ml-IN\": 1100,\r\n \"as-IN\": 1101,\r\n \"mr-IN\": 1102,\r\n \"sa-IN\": 1103,\r\n \"mn-MN\": 1104,\r\n \"bo-CN\": 1105,\r\n \"cy-GB\": 1106,\r\n \"km-KH\": 1107,\r\n \"lo-LA\": 1108,\r\n \"gl-ES\": 1110,\r\n \"kok-IN\": 1111,\r\n \"syr-SY\": 1114,\r\n \"si-LK\": 1115,\r\n \"iu-Cans-CA\": 1117,\r\n \"am-ET\": 1118,\r\n \"ne-NP\": 1121,\r\n \"fy-NL\": 1122,\r\n \"ps-AF\": 1123,\r\n \"fil-PH\": 1124,\r\n \"dv-MV\": 1125,\r\n \"ha-Latn-NG\": 1128,\r\n \"yo-NG\": 1130,\r\n \"quz-BO\": 1131,\r\n \"nso-ZA\": 1132,\r\n \"ba-RU\": 1133,\r\n \"lb-LU\": 1134,\r\n \"kl-GL\": 1135,\r\n \"ig-NG\": 1136,\r\n \"ii-CN\": 1144,\r\n \"arn-CL\": 1146,\r\n \"moh-CA\": 1148,\r\n \"br-FR\": 1150,\r\n \"ug-CN\": 1152,\r\n \"mi-NZ\": 1153,\r\n \"oc-FR\": 1154,\r\n \"co-FR\": 1155,\r\n \"gsw-FR\": 1156,\r\n \"sah-RU\": 1157,\r\n \"qut-GT\": 1158,\r\n \"rw-RW\": 1159,\r\n \"wo-SN\": 1160,\r\n \"prs-AF\": 1164,\r\n \"gd-GB\": 1169,\r\n \"ar-IQ\": 2049,\r\n \"zh-CN\": 2052,\r\n \"de-CH\": 2055,\r\n \"en-GB\": 2057,\r\n \"es-MX\": 2058,\r\n \"fr-BE\": 2060,\r\n \"it-CH\": 2064,\r\n \"nl-BE\": 2067,\r\n \"nn-NO\": 2068,\r\n \"pt-PT\": 2070,\r\n \"sr-Latn-CS\": 2074,\r\n \"sv-FI\": 2077,\r\n \"az-Cyrl-AZ\": 2092,\r\n \"dsb-DE\": 2094,\r\n \"se-SE\": 2107,\r\n \"ga-IE\": 2108,\r\n \"ms-BN\": 2110,\r\n \"uz-Cyrl-UZ\": 2115,\r\n \"bn-BD\": 2117,\r\n \"mn-Mong-CN\": 2128,\r\n \"iu-Latn-CA\": 2141,\r\n \"tzm-Latn-DZ\": 2143,\r\n \"quz-EC\": 2155,\r\n \"ar-EG\": 3073,\r\n \"zh-HK\": 3076,\r\n \"de-AT\": 3079,\r\n \"en-AU\": 3081,\r\n \"es-ES\": 3082,\r\n \"fr-CA\": 3084,\r\n \"sr-Cyrl-CS\": 3098,\r\n \"se-FI\": 3131,\r\n \"quz-PE\": 3179,\r\n \"ar-LY\": 4097,\r\n \"zh-SG\": 4100,\r\n \"de-LU\": 4103,\r\n \"en-CA\": 4105,\r\n \"es-GT\": 4106,\r\n \"fr-CH\": 4108,\r\n \"hr-BA\": 4122,\r\n \"smj-NO\": 4155,\r\n \"ar-DZ\": 5121,\r\n \"zh-MO\": 5124,\r\n \"de-LI\": 5127,\r\n \"en-NZ\": 5129,\r\n \"es-CR\": 5130,\r\n \"fr-LU\": 5132,\r\n \"bs-Latn-BA\": 5146,\r\n \"smj-SE\": 5179,\r\n \"ar-MA\": 6145,\r\n \"en-IE\": 6153,\r\n \"es-PA\": 6154,\r\n \"fr-MC\": 6156,\r\n \"sr-Latn-BA\": 6170,\r\n \"sma-NO\": 6203,\r\n \"ar-TN\": 7169,\r\n \"en-ZA\": 7177,\r\n \"es-DO\": 7178,\r\n \"sr-Cyrl-BA\": 7194,\r\n \"sma-SE\": 7227,\r\n \"ar-OM\": 8193,\r\n \"en-JM\": 8201,\r\n \"es-VE\": 8202,\r\n \"bs-Cyrl-BA\": 8218,\r\n \"sms-FI\": 8251,\r\n \"ar-YE\": 9217,\r\n \"en-029\": 9225,\r\n \"es-CO\": 9226,\r\n \"sr-Latn-RS\": 9242,\r\n \"smn-FI\": 9275,\r\n \"ar-SY\": 10241,\r\n \"en-BZ\": 10249,\r\n \"es-PE\": 10250,\r\n \"sr-Cyrl-RS\": 10266,\r\n \"ar-JO\": 11265,\r\n \"en-TT\": 11273,\r\n \"es-AR\": 11274,\r\n \"sr-Latn-ME\": 11290,\r\n \"ar-LB\": 12289,\r\n \"en-ZW\": 12297,\r\n \"es-EC\": 12298,\r\n \"sr-Cyrl-ME\": 12314,\r\n \"ar-KW\": 13313,\r\n \"en-PH\": 13321,\r\n \"es-CL\": 13322,\r\n \"ar-AE\": 14337,\r\n \"es-UY\": 14346,\r\n \"ar-BH\": 15361,\r\n \"es-PY\": 15370,\r\n \"ar-QA\": 16385,\r\n \"en-IN\": 16393,\r\n \"es-BO\": 16394,\r\n \"en-MY\": 17417,\r\n \"es-SV\": 17418,\r\n \"en-SG\": 18441,\r\n \"es-HN\": 18442,\r\n \"es-NI\": 19466,\r\n \"es-PR\": 20490,\r\n \"es-US\": 21514,\r\n \"bs-Cyrl\": 25626,\r\n \"bs-Latn\": 26650,\r\n \"sr-Cyrl\": 27674,\r\n \"sr-Latn\": 28698,\r\n smn: 28731,\r\n \"az-Cyrl\": 29740,\r\n sms: 29755,\r\n zh: 30724,\r\n nn: 30740,\r\n bs: 30746,\r\n \"az-Latn\": 30764,\r\n sma: 30779,\r\n \"uz-Cyrl\": 30787,\r\n \"mn-Cyrl\": 30800,\r\n \"iu-Cans\": 30813,\r\n \"zh-Hant\": 31748,\r\n nb: 31764,\r\n sr: 31770,\r\n \"tg-Cyrl\": 31784,\r\n dsb: 31790,\r\n smj: 31803,\r\n \"uz-Latn\": 31811,\r\n \"mn-Mong\": 31824,\r\n \"iu-Latn\": 31837,\r\n \"tzm-Latn\": 31839,\r\n \"ha-Latn\": 31848\r\n};\r\nexport function getLanguageId() {\r\n return LANGUAGE_CODES[localizationCoreUtils.locale()]\r\n}\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export_format.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n format as stringFormat\r\n} from \"../../core/utils/string\";\r\nimport numberFormatter from \"../../localization/number\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport {\r\n isDefined,\r\n isString,\r\n isObject,\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getFormat\r\n} from \"../../localization/ldml/date.format\";\r\nimport {\r\n getLanguageId\r\n} from \"../../localization/language_codes\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport \"../../localization/currency\";\r\nvar ARABIC_ZERO_CODE = 1632;\r\nvar DEFINED_NUMBER_FORMTATS = {\r\n thousands: \"#,##0{0},"K"\",\r\n millions: \"#,##0{0},,"M"\",\r\n billions: \"#,##0{0},,,"B"\",\r\n trillions: \"#,##0{0},,,,"T"\",\r\n percent: \"0{0}%\",\r\n decimal: \"#{0}\",\r\n fixedpoint: \"#,##0{0}\",\r\n exponential: \"0{0}E+00\",\r\n currency: \" \"\r\n};\r\nvar PERIOD_REGEXP = /a+/g;\r\nvar DAY_REGEXP = /E/g;\r\nvar DO_REGEXP = /dE+/g;\r\nvar STANDALONE_MONTH_REGEXP = /L/g;\r\nvar HOUR_REGEXP = /h/g;\r\nvar ANY_REGEXP = /./g;\r\n\r\nfunction _applyPrecision(format, precision) {\r\n var result;\r\n var i;\r\n if (precision > 0) {\r\n result = \"decimal\" !== format ? \".\" : \"\";\r\n for (i = 0; i < precision; i++) {\r\n result += \"0\"\r\n }\r\n return result\r\n }\r\n return \"\"\r\n}\r\n\r\nfunction _hasArabicDigits(text) {\r\n var code;\r\n for (var i = 0; i < text.length; i++) {\r\n code = text.charCodeAt(i);\r\n if (code >= ARABIC_ZERO_CODE && code < ARABIC_ZERO_CODE + 10) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction _convertDateFormat(format) {\r\n var formattedValue = (dateLocalization.format(new Date(2009, 8, 8, 6, 5, 4), format) || \"\").toString();\r\n var result = getFormat(value => dateLocalization.format(value, format));\r\n if (result) {\r\n result = _convertDateFormatToOpenXml(result);\r\n result = _getLanguageInfo(formattedValue) + result\r\n }\r\n return result\r\n}\r\n\r\nfunction _getLanguageInfo(defaultPattern) {\r\n var languageID = getLanguageId();\r\n var languageIDStr = languageID ? languageID.toString(16) : \"\";\r\n var languageInfo = \"\";\r\n if (_hasArabicDigits(defaultPattern)) {\r\n while (languageIDStr.length < 3) {\r\n languageIDStr = \"0\" + languageIDStr\r\n }\r\n languageInfo = \"[$-2010\" + languageIDStr + \"]\"\r\n } else if (languageIDStr) {\r\n languageInfo = \"[$-\" + languageIDStr + \"]\"\r\n }\r\n return languageInfo\r\n}\r\n\r\nfunction _convertDateFormatToOpenXml(format) {\r\n return format.split(\"/\").join(\"\\\\/\").split(\"'\").map((function(datePart, index) {\r\n if (index % 2 === 0) {\r\n return datePart.replace(PERIOD_REGEXP, \"AM/PM\").replace(DO_REGEXP, \"d\").replace(DAY_REGEXP, \"d\").replace(STANDALONE_MONTH_REGEXP, \"M\").replace(HOUR_REGEXP, \"H\").split(\"[\").join(\"\\\\[\").split(\"]\").join(\"\\\\]\")\r\n }\r\n if (datePart) {\r\n return datePart.replace(ANY_REGEXP, \"\\\\$&\")\r\n }\r\n return \"'\"\r\n })).join(\"\")\r\n}\r\n\r\nfunction _convertNumberFormat(format, precision, currency) {\r\n var result;\r\n var excelFormat;\r\n if (\"currency\" === format) {\r\n excelFormat = numberFormatter.getOpenXmlCurrencyFormat(currency)\r\n } else {\r\n excelFormat = DEFINED_NUMBER_FORMTATS[format.toLowerCase()]\r\n }\r\n if (excelFormat) {\r\n result = stringFormat(excelFormat, _applyPrecision(format, precision))\r\n }\r\n return result\r\n}\r\n\r\nfunction _hasCSVInjection(value) {\r\n if (!value || value.length < 2) {\r\n return false\r\n }\r\n return _includesCSVExpression(value)\r\n}\r\n\r\nfunction _hasCSVQuotedInjection(value, textQualifier) {\r\n if (!value || value.length < 4 || value[0] !== textQualifier) {\r\n return false\r\n }\r\n return _includesCSVExpression(value.substring(1, value.length - 1))\r\n}\r\n\r\nfunction _includesCSVExpression(value) {\r\n if (!value) {\r\n return false\r\n }\r\n if (/^[@=\\t\\r]/.test(value)) {\r\n return true\r\n }\r\n if (!/^[+-]/.test(value)) {\r\n return false\r\n }\r\n return !isNumeric(value)\r\n}\r\nexport var ExportFormat = {\r\n formatObjectConverter(format, dataType) {\r\n var result = {\r\n format: format,\r\n precision: format && format.precision,\r\n dataType: dataType\r\n };\r\n if (isObject(format)) {\r\n return extend(result, format, {\r\n format: format.formatter || format.type,\r\n currency: format.currency\r\n })\r\n }\r\n return result\r\n },\r\n convertFormat(format, precision, type, currency) {\r\n if (isDefined(format)) {\r\n if (\"date\" === type) {\r\n return _convertDateFormat(format)\r\n } else if (isString(format) && DEFINED_NUMBER_FORMTATS[format.toLowerCase()]) {\r\n return _convertNumberFormat(format, precision, currency)\r\n }\r\n }\r\n },\r\n encode(value) {\r\n var escaped = false;\r\n if (_hasCSVInjection(value)) {\r\n escaped = true\r\n } else if (_hasCSVQuotedInjection(value, '\"')) {\r\n value = value.substring(1, value.length - 1);\r\n escaped = true\r\n }\r\n if (escaped) {\r\n var escapedTextQualifier = \"\".concat('\"').concat('\"');\r\n return \"\\\"'\" + value.replaceAll('\"', escapedTextQualifier) + '\"'\r\n }\r\n return value\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/grid_core/ui.grid_core.utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport gridCoreUtils from \"../../__internal/grids/grid_core/m_utils\";\r\nexport default gridCoreUtils;\r\n","/**\r\n * DevExtreme (esm/exporter/common/export_load_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport LoadPanel from \"../../ui/load_panel\";\r\nimport gridUtils from \"../../ui/grid_core/ui.grid_core.utils\";\r\nvar EXPORT_LOAD_PANEL_CLASS = \"dx-export-loadpanel\";\r\nclass ExportLoadPanel {\r\n constructor(component, $targetElement, $container, options) {\r\n this._$targetElement = $targetElement;\r\n this._$container = $container;\r\n this._loadPanel = component._createComponent($(\"
\").addClass(EXPORT_LOAD_PANEL_CLASS).appendTo(this._$container), LoadPanel, this.getOptions(options))\r\n }\r\n getDefaultOptions() {\r\n return {\r\n animation: null,\r\n shading: false,\r\n height: 90,\r\n width: 200,\r\n container: this._$container\r\n }\r\n }\r\n getOptions(options) {\r\n if (isDefined(options.text)) {\r\n options.message = options.text\r\n } else {\r\n options.message = messageLocalization.format(\"dxDataGrid-exporting\")\r\n }\r\n return extend(this.getDefaultOptions(), options)\r\n }\r\n show() {\r\n this._loadPanel.option(\"position\", gridUtils.calculateLoadPanelPosition(this._$targetElement));\r\n this._loadPanel.show()\r\n }\r\n dispose() {\r\n $(this._loadPanel.element()).remove();\r\n delete this._loadPanel\r\n }\r\n}\r\nexport {\r\n ExportLoadPanel\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isString,\r\n isDate,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n ExportFormat\r\n} from \"./export_format\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n ExportLoadPanel\r\n} from \"../common/export_load_panel\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar MAX_DIGIT_WIDTH_IN_PIXELS = 7;\r\nvar MAX_EXCEL_COLUMN_WIDTH = 255;\r\nexport var Export = {\r\n getFullOptions(options) {\r\n var fullOptions = extend({}, options);\r\n if (!(isDefined(fullOptions.worksheet) && isObject(fullOptions.worksheet))) {\r\n throw Error('The \"worksheet\" field must contain an object.')\r\n }\r\n if (!isDefined(fullOptions.topLeftCell)) {\r\n fullOptions.topLeftCell = {\r\n row: 1,\r\n column: 1\r\n }\r\n } else if (isString(fullOptions.topLeftCell)) {\r\n var {\r\n row: row,\r\n col: col\r\n } = fullOptions.worksheet.getCell(fullOptions.topLeftCell);\r\n fullOptions.topLeftCell = {\r\n row: row,\r\n column: col\r\n }\r\n }\r\n if (!isDefined(fullOptions.keepColumnWidths)) {\r\n fullOptions.keepColumnWidths = true\r\n }\r\n if (!isDefined(fullOptions.loadPanel)) {\r\n fullOptions.loadPanel = {}\r\n }\r\n if (!isDefined(fullOptions.loadPanel.enabled)) {\r\n fullOptions.loadPanel.enabled = true\r\n }\r\n if (!isDefined(fullOptions.encodeExecutableContent)) {\r\n fullOptions.encodeExecutableContent = false\r\n }\r\n return fullOptions\r\n },\r\n convertDateForExcelJS: date => new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds())),\r\n setNumberFormat(excelCell, numberFormat) {\r\n excelCell.numFmt = numberFormat\r\n },\r\n getCellStyles(dataProvider) {\r\n var styles = dataProvider.getStyles();\r\n styles.forEach(style => {\r\n var numberFormat = this.tryConvertToExcelNumberFormat(style.format, style.dataType);\r\n if (isDefined(numberFormat)) {\r\n numberFormat = numberFormat.replace(/"/g, '\"')\r\n }\r\n style.numberFormat = numberFormat\r\n });\r\n return styles\r\n },\r\n tryConvertToExcelNumberFormat(format, dataType) {\r\n var newFormat = ExportFormat.formatObjectConverter(format, dataType);\r\n var currency = newFormat.currency;\r\n format = newFormat.format;\r\n dataType = newFormat.dataType;\r\n return ExportFormat.convertFormat(format, newFormat.precision, dataType, currency)\r\n },\r\n setAlignment(excelCell, wrapText, horizontalAlignment) {\r\n var _excelCell$alignment;\r\n excelCell.alignment = null !== (_excelCell$alignment = excelCell.alignment) && void 0 !== _excelCell$alignment ? _excelCell$alignment : {};\r\n if (isDefined(wrapText)) {\r\n excelCell.alignment.wrapText = wrapText\r\n }\r\n if (isDefined(horizontalAlignment)) {\r\n excelCell.alignment.horizontal = horizontalAlignment\r\n }\r\n excelCell.alignment.vertical = \"top\"\r\n },\r\n setColumnsWidth(worksheet, widths, startColumnIndex) {\r\n if (!isDefined(widths)) {\r\n return\r\n }\r\n for (var i = 0; i < widths.length; i++) {\r\n var columnWidth = widths[i];\r\n if (\"number\" === typeof columnWidth && isFinite(columnWidth)) {\r\n worksheet.getColumn(startColumnIndex + i).width = Math.min(MAX_EXCEL_COLUMN_WIDTH, Math.floor(columnWidth / MAX_DIGIT_WIDTH_IN_PIXELS * 100) / 100)\r\n }\r\n }\r\n },\r\n export (options, Helpers, getLoadPanelTargetElement, getLoadPanelContainer) {\r\n var _component$_getIntern;\r\n var {\r\n component: component,\r\n worksheet: worksheet,\r\n topLeftCell: topLeftCell,\r\n keepColumnWidths: keepColumnWidths,\r\n selectedRowsOnly: selectedRowsOnly,\r\n loadPanel: loadPanel,\r\n encodeExecutableContent: encodeExecutableContent\r\n } = options;\r\n var dataProvider = component.getDataProvider(selectedRowsOnly);\r\n var internalComponent = (null === (_component$_getIntern = component._getInternalInstance) || void 0 === _component$_getIntern ? void 0 : _component$_getIntern.call(component)) || component;\r\n var initialLoadPanelEnabledOption = internalComponent.option(\"loadPanel\") && internalComponent.option(\"loadPanel\").enabled;\r\n if (initialLoadPanelEnabledOption) {\r\n component.option(\"loadPanel.enabled\", false)\r\n }\r\n var exportLoadPanel;\r\n if (loadPanel.enabled && hasWindow()) {\r\n var $targetElement = getLoadPanelTargetElement(component);\r\n var $container = getLoadPanelContainer(component);\r\n exportLoadPanel = new ExportLoadPanel(component, $targetElement, $container, loadPanel);\r\n exportLoadPanel.show()\r\n }\r\n var wrapText = !!component.option(\"wordWrapEnabled\");\r\n worksheet.properties.outlineProperties = {\r\n summaryBelow: false,\r\n summaryRight: false\r\n };\r\n var cellRange = {\r\n from: {\r\n row: topLeftCell.row,\r\n column: topLeftCell.column\r\n },\r\n to: {\r\n row: topLeftCell.row,\r\n column: topLeftCell.column\r\n }\r\n };\r\n return new Promise(resolve => {\r\n dataProvider.ready().done(() => {\r\n var columns = dataProvider.getColumns();\r\n var dataRowsCount = dataProvider.getRowsCount();\r\n var helpers = new Helpers(component, dataProvider, worksheet, options);\r\n if (keepColumnWidths) {\r\n this.setColumnsWidth(worksheet, dataProvider.getColumnsWidths(), cellRange.from.column)\r\n }\r\n helpers._exportAllFieldHeaders(columns, this.setAlignment);\r\n var fieldHeaderRowsCount = helpers._getFieldHeaderRowsCount();\r\n cellRange.to.row = cellRange.from.row + fieldHeaderRowsCount;\r\n var styles = this.getCellStyles(dataProvider);\r\n for (var rowIndex = 0; rowIndex < dataRowsCount; rowIndex++) {\r\n var currentRowIndex = cellRange.from.row + fieldHeaderRowsCount + rowIndex;\r\n var row = worksheet.getRow(currentRowIndex);\r\n var startColumnIndex = 0;\r\n if (helpers._isRowFieldHeadersRow(rowIndex)) {\r\n startColumnIndex = dataProvider.getRowAreaColCount();\r\n helpers._exportFieldHeaders(\"row\", currentRowIndex, 0, startColumnIndex, this.setAlignment)\r\n }\r\n helpers._trySetOutlineLevel(row, rowIndex);\r\n this.exportRow(dataProvider, helpers, row, rowIndex, startColumnIndex, columns.length, wrapText, styles, encodeExecutableContent);\r\n cellRange.to.row = currentRowIndex\r\n }\r\n helpers.mergedRangesManager.applyMergedRages();\r\n cellRange.to.column += columns.length > 0 ? columns.length - 1 : 0;\r\n var worksheetViewSettings = worksheet.views[0] || {};\r\n if (component.option(\"rtlEnabled\")) {\r\n worksheetViewSettings.rightToLeft = true\r\n }\r\n if (helpers._isFrozenZone(dataProvider)) {\r\n if (-1 === Object.keys(worksheetViewSettings).indexOf(\"state\")) {\r\n extend(worksheetViewSettings, helpers._getWorksheetFrozenState(cellRange))\r\n }\r\n helpers._trySetAutoFilter(cellRange)\r\n }\r\n if (Object.keys(worksheetViewSettings).length > 0) {\r\n worksheet.views = [worksheetViewSettings]\r\n }\r\n resolve(cellRange)\r\n }).always(() => {\r\n if (initialLoadPanelEnabledOption) {\r\n component.option(\"loadPanel.enabled\", initialLoadPanelEnabledOption)\r\n }\r\n if (loadPanel.enabled && hasWindow()) {\r\n exportLoadPanel.dispose()\r\n }\r\n })\r\n })\r\n },\r\n exportRow(dataProvider, helpers, row, rowIndex, startColumnIndex, columnsCount, wrapText, styles, encodeExecutableContent) {\r\n for (var cellIndex = startColumnIndex; cellIndex < columnsCount; cellIndex++) {\r\n var cellData = dataProvider.getCellData(rowIndex, cellIndex, true);\r\n var excelCell = row.getCell(helpers._getFirstColumnIndex() + cellIndex);\r\n helpers.mergedRangesManager.updateMergedRanges(excelCell, rowIndex, cellIndex, helpers);\r\n var cellInfo = helpers.mergedRangesManager.findMergedCellInfo(rowIndex, cellIndex, helpers._isHeaderCell(rowIndex, cellIndex));\r\n if (isDefined(cellInfo) && excelCell !== cellInfo.masterCell) {\r\n excelCell.style = cellInfo.masterCell.style;\r\n excelCell.value = cellInfo.masterCell.value\r\n } else {\r\n if (isDate(cellData.value)) {\r\n excelCell.value = this.convertDateForExcelJS(cellData.value)\r\n } else {\r\n excelCell.value = cellData.value\r\n }\r\n if (isDefined(excelCell.value)) {\r\n var {\r\n bold: bold,\r\n alignment: horizontalAlignment,\r\n numberFormat: numberFormat\r\n } = styles[dataProvider.getStyleId(rowIndex, cellIndex)];\r\n if (isDefined(numberFormat)) {\r\n this.setNumberFormat(excelCell, numberFormat)\r\n } else if (isString(excelCell.value) && /^[@=+-]/.test(excelCell.value)) {\r\n this.setNumberFormat(excelCell, \"@\")\r\n }\r\n helpers._trySetFont(excelCell, bold);\r\n this.setAlignment(excelCell, wrapText, horizontalAlignment)\r\n }\r\n }\r\n helpers._customizeCell(excelCell, cellData.cellSourceData);\r\n if (encodeExecutableContent) {\r\n excelCell.value = ExportFormat.encode(excelCell.value)\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export_merged_ranges_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nclass MergedRangesManager {\r\n constructor(dataProvider, worksheet) {\r\n this.dataProvider = dataProvider;\r\n this.worksheet = worksheet;\r\n this.mergedCells = [];\r\n this.mergedRanges = []\r\n }\r\n updateMergedRanges(excelCell, rowIndex, cellIndex, helpers) {\r\n if (helpers._isHeaderCell(rowIndex, cellIndex) && !this.isCellInMergedRanges(rowIndex, cellIndex)) {\r\n var {\r\n rowspan: rowspan,\r\n colspan: colspan\r\n } = this.dataProvider.getCellMerging(rowIndex, cellIndex);\r\n var isMasterCellOfMergedRange = colspan || rowspan;\r\n if (isMasterCellOfMergedRange) {\r\n var allowToMergeRange = helpers._allowToMergeRange(rowIndex, cellIndex, rowspan, colspan);\r\n this.updateMergedCells(excelCell, rowIndex, cellIndex, rowspan, colspan);\r\n if (allowToMergeRange) {\r\n var shouldReduceInfoRange = helpers._isInfoCell(rowIndex, cellIndex) && helpers._allowExportRowFieldHeaders();\r\n this.mergedRanges.push({\r\n masterCell: excelCell,\r\n rowspan: rowspan - (shouldReduceInfoRange && rowspan > 0),\r\n colspan: colspan\r\n })\r\n }\r\n }\r\n }\r\n }\r\n isCellInMergedRanges(rowIndex, cellIndex) {\r\n return this.mergedCells[rowIndex] && this.mergedCells[rowIndex][cellIndex]\r\n }\r\n findMergedCellInfo(rowIndex, cellIndex, isHeaderCell) {\r\n if (isHeaderCell && this.isCellInMergedRanges(rowIndex, cellIndex)) {\r\n return this.mergedCells[rowIndex][cellIndex]\r\n }\r\n }\r\n updateMergedCells(excelCell, rowIndex, cellIndex, rowspan, colspan) {\r\n for (var i = rowIndex; i <= rowIndex + rowspan; i++) {\r\n for (var j = cellIndex; j <= cellIndex + colspan; j++) {\r\n if (!this.mergedCells[i]) {\r\n this.mergedCells[i] = []\r\n }\r\n this.mergedCells[i][j] = {\r\n masterCell: excelCell\r\n }\r\n }\r\n }\r\n }\r\n addMergedRange(masterCell, rowspan, colspan) {\r\n this.mergedRanges.push({\r\n masterCell: masterCell,\r\n rowspan: rowspan,\r\n colspan: colspan\r\n })\r\n }\r\n applyMergedRages() {\r\n this.mergedRanges.forEach(range => {\r\n var startRowIndex = range.masterCell.fullAddress.row;\r\n var startColumnIndex = range.masterCell.fullAddress.col;\r\n var endRowIndex = startRowIndex + range.rowspan;\r\n var endColumnIndex = startColumnIndex + range.colspan;\r\n this.worksheet.mergeCells(startRowIndex, startColumnIndex, endRowIndex, endColumnIndex)\r\n })\r\n }\r\n}\r\nexport {\r\n MergedRangesManager\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export_data_grid.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isObject,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Export\r\n} from \"./export\";\r\nimport {\r\n MergedRangesManager\r\n} from \"./export_merged_ranges_manager\";\r\nclass DataGridHelpers {\r\n constructor(component, dataProvider, worksheet, options) {\r\n this.component = component;\r\n this.dataProvider = dataProvider;\r\n this.worksheet = worksheet;\r\n this.mergedRangesManager = new MergedRangesManager(dataProvider, worksheet);\r\n this.topLeftCell = options.topLeftCell;\r\n this.customizeCell = options.customizeCell;\r\n this.autoFilterEnabled = options.autoFilterEnabled\r\n }\r\n _getFirstColumnIndex() {\r\n return this.topLeftCell.column\r\n }\r\n _getFieldHeaderRowsCount() {\r\n return 0\r\n }\r\n _trySetAutoFilter(cellRange) {\r\n if (this.autoFilterEnabled) {\r\n if (!isDefined(this.worksheet.autoFilter) && this.dataProvider.getRowsCount() > 0) {\r\n var dataRange = {\r\n from: {\r\n row: cellRange.from.row + this.dataProvider.getHeaderRowCount() - 1,\r\n column: cellRange.from.column\r\n },\r\n to: cellRange.to\r\n };\r\n this.worksheet.autoFilter = dataRange\r\n }\r\n }\r\n }\r\n _trySetFont(excelCell, bold) {\r\n if (isDefined(bold)) {\r\n excelCell.font = excelCell.font || {};\r\n excelCell.font.bold = bold\r\n }\r\n }\r\n _getWorksheetFrozenState(cellRange) {\r\n return {\r\n state: \"frozen\",\r\n ySplit: cellRange.from.row + this.dataProvider.getFrozenArea().y - 1\r\n }\r\n }\r\n _trySetOutlineLevel(row, rowIndex) {\r\n if (rowIndex >= this.dataProvider.getHeaderRowCount()) {\r\n row.outlineLevel = this.dataProvider.getGroupLevel(rowIndex)\r\n }\r\n }\r\n _isFrozenZone(dataProvider) {\r\n return dataProvider.getHeaderRowCount() > 0\r\n }\r\n _isHeaderCell(rowIndex) {\r\n return rowIndex < this.dataProvider.getHeaderRowCount()\r\n }\r\n _isInfoCell() {\r\n return false\r\n }\r\n _allowToMergeRange() {\r\n return true\r\n }\r\n _getAllFieldHeaders() {\r\n return []\r\n }\r\n _customizeCell(excelCell, gridCell) {\r\n if (isFunction(this.customizeCell)) {\r\n this.customizeCell({\r\n excelCell: excelCell,\r\n gridCell: gridCell\r\n })\r\n }\r\n }\r\n _exportFieldHeaders() {}\r\n _exportAllFieldHeaders() {}\r\n _isRowFieldHeadersRow() {}\r\n}\r\n\r\nfunction exportDataGrid(options) {\r\n return Export.export(_getFullOptions(options), DataGridHelpers, _getLoadPanelTargetElement, _getLoadPanelContainer)\r\n}\r\n\r\nfunction _getFullOptions(options) {\r\n if (!(isDefined(options) && isObject(options))) {\r\n throw Error('The \"exportDataGrid\" method requires a configuration object.')\r\n }\r\n if (!(isDefined(options.component) && isObject(options.component) && \"dxDataGrid\" === options.component.NAME)) {\r\n throw Error('The \"component\" field must contain a DataGrid instance.')\r\n }\r\n if (!isDefined(options.selectedRowsOnly)) {\r\n options.selectedRowsOnly = false\r\n }\r\n if (!isDefined(options.autoFilterEnabled)) {\r\n options.autoFilterEnabled = false\r\n }\r\n return Export.getFullOptions(options)\r\n}\r\n\r\nfunction _getLoadPanelTargetElement(component) {\r\n return component.getView(\"rowsView\").element()\r\n}\r\n\r\nfunction _getLoadPanelContainer(component) {\r\n return component.getView(\"rowsView\").element().parent()\r\n}\r\nexport {\r\n exportDataGrid\r\n};\r\n","/*! ExcelJS 21-08-2021 */\n\n!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).ExcelJS=t()}}((function(){return function t(e,r,n){function i(a,s){if(!r[a]){if(!e[a]){var u=\"function\"==typeof require&&require;if(!s&&u)return u(a,!0);if(o)return o(a,!0);var c=new Error(\"Cannot find module '\"+a+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var f=r[a]={exports:{}};e[a][0].call(f.exports,(function(t){return i(e[a][1][t]||t)}),f,f.exports,t,e,r,n)}return r[a].exports}for(var o=\"function\"==typeof require&&require,a=0;a2&&void 0!==arguments[2]?arguments[2]:0;if(n(this,t),r)if(\"string\"==typeof r){var a=o.decodeAddress(r);this.nativeCol=a.col+i,this.nativeColOff=0,this.nativeRow=a.row+i,this.nativeRowOff=0}else void 0!==r.nativeCol?(this.nativeCol=r.nativeCol||0,this.nativeColOff=r.nativeColOff||0,this.nativeRow=r.nativeRow||0,this.nativeRowOff=r.nativeRowOff||0):void 0!==r.col?(this.col=r.col+i,this.row=r.row+i):(this.nativeCol=0,this.nativeColOff=0,this.nativeRow=0,this.nativeRowOff=0);else this.nativeCol=0,this.nativeColOff=0,this.nativeRow=0,this.nativeRowOff=0;this.worksheet=e}var e,r,a;return e=t,a=[{key:\"asInstance\",value:function(e){return e instanceof t||null==e?e:new t(e)}}],(r=[{key:\"col\",get:function(){return this.nativeCol+Math.min(this.colWidth-1,this.nativeColOff)/this.colWidth},set:function(t){this.nativeCol=Math.floor(t),this.nativeColOff=Math.floor((t-this.nativeCol)*this.colWidth)}},{key:\"row\",get:function(){return this.nativeRow+Math.min(this.rowHeight-1,this.nativeRowOff)/this.rowHeight},set:function(t){this.nativeRow=Math.floor(t),this.nativeRowOff=Math.floor((t-this.nativeRow)*this.rowHeight)}},{key:\"colWidth\",get:function(){return this.worksheet&&this.worksheet.getColumn(this.nativeCol+1)&&this.worksheet.getColumn(this.nativeCol+1).isCustomWidth?Math.floor(1e4*this.worksheet.getColumn(this.nativeCol+1).width):64e4}},{key:\"rowHeight\",get:function(){return this.worksheet&&this.worksheet.getRow(this.nativeRow+1)&&this.worksheet.getRow(this.nativeRow+1).height?Math.floor(1e4*this.worksheet.getRow(this.nativeRow+1).height):18e4}},{key:\"model\",get:function(){return{nativeCol:this.nativeCol,nativeColOff:this.nativeColOff,nativeRow:this.nativeRow,nativeRowOff:this.nativeRowOff}},set:function(t){this.nativeCol=t.nativeCol,this.nativeColOff=t.nativeColOff,this.nativeRow=t.nativeRow,this.nativeRowOff=t.nativeRowOff}}])&&i(e.prototype,r),a&&i(e,a),t}();e.exports=a},{\"../utils/col-cache\":19}],3:[function(t,e,r){\"use strict\";function n(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function i(t,e){for(var r=0;r0||this.type===t.Types.Merge}},{key:\"master\",get:function(){return this.type===t.Types.Merge?this._value.master:this}},{key:\"isHyperlink\",get:function(){return this._value.type===t.Types.Hyperlink}},{key:\"hyperlink\",get:function(){return this._value.hyperlink}},{key:\"value\",get:function(){return this._value.value},set:function(e){this.type!==t.Types.Merge?(this._value.release(),this._value=S.create(S.getType(e),this,e)):this._value.master.value=e}},{key:\"note\",get:function(){return this._comment&&this._comment.note},set:function(t){this._comment=new f(t)}},{key:\"text\",get:function(){return this._value.toString()}},{key:\"html\",get:function(){return s.escapeHtml(this.text)}},{key:\"formula\",get:function(){return this._value.formula}},{key:\"result\",get:function(){return this._value.result}},{key:\"formulaType\",get:function(){return this._value.formulaType}},{key:\"fullAddress\",get:function(){return{sheetName:this._row.worksheet.name,address:this.address,row:this.row,col:this.col}}},{key:\"name\",get:function(){return this.names[0]},set:function(t){this.names=[t]}},{key:\"names\",get:function(){return this.workbook.definedNames.getNamesEx(this.fullAddress)},set:function(t){var e=this,r=this.workbook.definedNames;r.removeAllNames(this.fullAddress),t.forEach((function(t){r.addEx(e.fullAddress,t)}))}},{key:\"_dataValidations\",get:function(){return this.worksheet.dataValidations}},{key:\"dataValidation\",get:function(){return this._dataValidations.find(this.address)},set:function(t){this._dataValidations.add(this.address,t)}},{key:\"model\",get:function(){var t=this._value.model;return t.style=this.style,this._comment&&(t.comment=this._comment.model),t},set:function(t){if(this._value.release(),this._value=S.create(t.type,this),this._value.model=t,t.comment)switch(t.comment.type){case\"note\":this._comment=f.fromModel(t.comment)}t.style?this.style=t.style:this.style={}}}]),t}();l.Types=u.ValueType;var h=function(){function t(e){n(this,t),this.model={address:e.address,type:l.Types.Null}}return o(t,[{key:\"toCsvString\",value:function(){return\"\"}},{key:\"release\",value:function(){}},{key:\"toString\",value:function(){return\"\"}},{key:\"value\",get:function(){return null},set:function(t){}},{key:\"type\",get:function(){return l.Types.Null}},{key:\"effectiveType\",get:function(){return l.Types.Null}},{key:\"address\",get:function(){return this.model.address},set:function(t){this.model.address=t}}]),t}(),d=function(){function t(e,r){n(this,t),this.model={address:e.address,type:l.Types.Number,value:r}}return o(t,[{key:\"toCsvString\",value:function(){return this.model.value.toString()}},{key:\"release\",value:function(){}},{key:\"toString\",value:function(){return this.model.value.toString()}},{key:\"value\",get:function(){return this.model.value},set:function(t){this.model.value=t}},{key:\"type\",get:function(){return l.Types.Number}},{key:\"effectiveType\",get:function(){return l.Types.Number}},{key:\"address\",get:function(){return this.model.address},set:function(t){this.model.address=t}}]),t}(),p=function(){function t(e,r){n(this,t),this.model={address:e.address,type:l.Types.String,value:r}}return o(t,[{key:\"toCsvString\",value:function(){return'\"'.concat(this.model.value.replace(/\"/g,'\"\"'),'\"')}},{key:\"release\",value:function(){}},{key:\"toString\",value:function(){return this.model.value}},{key:\"value\",get:function(){return this.model.value},set:function(t){this.model.value=t}},{key:\"type\",get:function(){return l.Types.String}},{key:\"effectiveType\",get:function(){return l.Types.String}},{key:\"address\",get:function(){return this.model.address},set:function(t){this.model.address=t}}]),t}(),m=function(){function t(e,r){n(this,t),this.model={address:e.address,type:l.Types.String,value:r}}return o(t,[{key:\"toString\",value:function(){return this.model.value.richText.map((function(t){return t.text})).join(\"\")}},{key:\"toCsvString\",value:function(){return'\"'.concat(this.text.replace(/\"/g,'\"\"'),'\"')}},{key:\"release\",value:function(){}},{key:\"value\",get:function(){return this.model.value},set:function(t){this.model.value=t}},{key:\"type\",get:function(){return l.Types.RichText}},{key:\"effectiveType\",get:function(){return l.Types.RichText}},{key:\"address\",get:function(){return this.model.address},set:function(t){this.model.address=t}}]),t}(),y=function(){function t(e,r){n(this,t),this.model={address:e.address,type:l.Types.Date,value:r}}return o(t,[{key:\"toCsvString\",value:function(){return this.model.value.toISOString()}},{key:\"release\",value:function(){}},{key:\"toString\",value:function(){return this.model.value.toString()}},{key:\"value\",get:function(){return this.model.value},set:function(t){this.model.value=t}},{key:\"type\",get:function(){return l.Types.Date}},{key:\"effectiveType\",get:function(){return l.Types.Date}},{key:\"address\",get:function(){return this.model.address},set:function(t){this.model.address=t}}]),t}(),b=function(){function t(e,r){n(this,t),this.model={address:e.address,type:l.Types.Hyperlink,text:r?r.text:void 0,hyperlink:r?r.hyperlink:void 0},r&&r.tooltip&&(this.model.tooltip=r.tooltip)}return o(t,[{key:\"toCsvString\",value:function(){return this.model.hyperlink}},{key:\"release\",value:function(){}},{key:\"toString\",value:function(){return this.model.text}},{key:\"value\",get:function(){var t={text:this.model.text,hyperlink:this.model.hyperlink};return this.model.tooltip&&(t.tooltip=this.model.tooltip),t},set:function(t){this.model={text:t.text,hyperlink:t.hyperlink},t.tooltip&&(this.model.tooltip=t.tooltip)}},{key:\"text\",get:function(){return this.model.text},set:function(t){this.model.text=t}},{key:\"hyperlink\",get:function(){return this.model.hyperlink},set:function(t){this.model.hyperlink=t}},{key:\"type\",get:function(){return l.Types.Hyperlink}},{key:\"effectiveType\",get:function(){return l.Types.Hyperlink}},{key:\"address\",get:function(){return this.model.address},set:function(t){this.model.address=t}}]),t}(),v=function(){function t(e,r){n(this,t),this.model={address:e.address,type:l.Types.Merge,master:r?r.address:void 0},this._master=r,r&&r.addMergeRef()}return o(t,[{key:\"isMergedTo\",value:function(t){return t===this._master}},{key:\"toCsvString\",value:function(){return\"\"}},{key:\"release\",value:function(){this._master.releaseMergeRef()}},{key:\"toString\",value:function(){return this.value.toString()}},{key:\"value\",get:function(){return this._master.value},set:function(t){t instanceof l?(this._master&&this._master.releaseMergeRef(),t.addMergeRef(),this._master=t):this._master.value=t}},{key:\"master\",get:function(){return this._master}},{key:\"type\",get:function(){return l.Types.Merge}},{key:\"effectiveType\",get:function(){return this._master.effectiveType}},{key:\"address\",get:function(){return this.model.address},set:function(t){this.model.address=t}}]),t}(),g=function(){function t(e,r){n(this,t),this.cell=e,this.model={address:e.address,type:l.Types.Formula,shareType:r?r.shareType:void 0,ref:r?r.ref:void 0,formula:r?r.formula:void 0,sharedFormula:r?r.sharedFormula:void 0,result:r?r.result:void 0}}return o(t,[{key:\"_copyModel\",value:function(t){var e={},r=function(r){var n=t[r];n&&(e[r]=n)};return r(\"formula\"),r(\"result\"),r(\"ref\"),r(\"shareType\"),r(\"sharedFormula\"),e}},{key:\"validate\",value:function(t){switch(S.getType(t)){case l.Types.Null:case l.Types.String:case l.Types.Number:case l.Types.Date:break;case l.Types.Hyperlink:case l.Types.Formula:default:throw new Error(\"Cannot process that type of result value\")}}},{key:\"_getTranslatedFormula\",value:function(){if(!this._translatedFormula&&this.model.sharedFormula){var t=this.cell.worksheet.findCell(this.model.sharedFormula);this._translatedFormula=t&&c(t.formula,t.address,this.model.address)}return this._translatedFormula}},{key:\"toCsvString\",value:function(){return\"\".concat(this.model.result||\"\")}},{key:\"release\",value:function(){}},{key:\"toString\",value:function(){return this.model.result?this.model.result.toString():\"\"}},{key:\"value\",get:function(){return this._copyModel(this.model)},set:function(t){this.model=this._copyModel(t)}},{key:\"dependencies\",get:function(){return{ranges:this.formula.match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\\d{1,4}:[A-Z]{1,3}\\d{1,4}/g),cells:this.formula.replace(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\\d{1,4}:[A-Z]{1,3}\\d{1,4}/g,\"\").match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\\d{1,4}/g)}}},{key:\"formula\",get:function(){return this.model.formula||this._getTranslatedFormula()},set:function(t){this.model.formula=t}},{key:\"formulaType\",get:function(){return this.model.formula?u.FormulaType.Master:this.model.sharedFormula?u.FormulaType.Shared:u.FormulaType.None}},{key:\"result\",get:function(){return this.model.result},set:function(t){this.model.result=t}},{key:\"type\",get:function(){return l.Types.Formula}},{key:\"effectiveType\",get:function(){var t=this.model.result;return null==t?u.ValueType.Null:t instanceof String||\"string\"==typeof t?u.ValueType.String:\"number\"==typeof t?u.ValueType.Number:t instanceof Date?u.ValueType.Date:t.text&&t.hyperlink?u.ValueType.Hyperlink:t.formula?u.ValueType.Formula:u.ValueType.Null}},{key:\"address\",get:function(){return this.model.address},set:function(t){this.model.address=t}}]),t}(),w=function(){function t(e,r){n(this,t),this.model={address:e.address,type:l.Types.SharedString,value:r}}return o(t,[{key:\"toCsvString\",value:function(){return this.model.value.toString()}},{key:\"release\",value:function(){}},{key:\"toString\",value:function(){return this.model.value.toString()}},{key:\"value\",get:function(){return this.model.value},set:function(t){this.model.value=t}},{key:\"type\",get:function(){return l.Types.SharedString}},{key:\"effectiveType\",get:function(){return l.Types.SharedString}},{key:\"address\",get:function(){return this.model.address},set:function(t){this.model.address=t}}]),t}(),_=function(){function t(e,r){n(this,t),this.model={address:e.address,type:l.Types.Boolean,value:r}}return o(t,[{key:\"toCsvString\",value:function(){return this.model.value?1:0}},{key:\"release\",value:function(){}},{key:\"toString\",value:function(){return this.model.value.toString()}},{key:\"value\",get:function(){return this.model.value},set:function(t){this.model.value=t}},{key:\"type\",get:function(){return l.Types.Boolean}},{key:\"effectiveType\",get:function(){return l.Types.Boolean}},{key:\"address\",get:function(){return this.model.address},set:function(t){this.model.address=t}}]),t}(),k=function(){function t(e,r){n(this,t),this.model={address:e.address,type:l.Types.Error,value:r}}return o(t,[{key:\"toCsvString\",value:function(){return this.toString()}},{key:\"release\",value:function(){}},{key:\"toString\",value:function(){return this.model.value.error.toString()}},{key:\"value\",get:function(){return this.model.value},set:function(t){this.model.value=t}},{key:\"type\",get:function(){return l.Types.Error}},{key:\"effectiveType\",get:function(){return l.Types.Error}},{key:\"address\",get:function(){return this.model.address},set:function(t){this.model.address=t}}]),t}(),x=function(){function t(e,r){n(this,t),this.model={address:e.address,type:l.Types.String,value:JSON.stringify(r),rawValue:r}}return o(t,[{key:\"toCsvString\",value:function(){return this.model.value}},{key:\"release\",value:function(){}},{key:\"toString\",value:function(){return this.model.value}},{key:\"value\",get:function(){return this.model.rawValue},set:function(t){this.model.rawValue=t,this.model.value=JSON.stringify(t)}},{key:\"type\",get:function(){return l.Types.String}},{key:\"effectiveType\",get:function(){return l.Types.String}},{key:\"address\",get:function(){return this.model.address},set:function(t){this.model.address=t}}]),t}(),S={getType:function(t){return null==t?l.Types.Null:t instanceof String||\"string\"==typeof t?l.Types.String:\"number\"==typeof t?l.Types.Number:\"boolean\"==typeof t?l.Types.Boolean:t instanceof Date?l.Types.Date:t.text&&t.hyperlink?l.Types.Hyperlink:t.formula||t.sharedFormula?l.Types.Formula:t.richText?l.Types.RichText:t.sharedString?l.Types.SharedString:t.error?l.Types.Error:l.Types.JSON},types:[{t:l.Types.Null,f:h},{t:l.Types.Number,f:d},{t:l.Types.String,f:p},{t:l.Types.Date,f:y},{t:l.Types.Hyperlink,f:b},{t:l.Types.Formula,f:g},{t:l.Types.Merge,f:v},{t:l.Types.JSON,f:x},{t:l.Types.SharedString,f:w},{t:l.Types.RichText,f:m},{t:l.Types.Boolean,f:_},{t:l.Types.Error,f:k}].reduce((function(t,e){return t[e.t]=e.f,t}),[]),create:function(t,e,r){var n=this.types[t];if(!n)throw new Error(\"Could not create Value of type \".concat(t));return new n(e,r)}};e.exports=l},{\"../utils/col-cache\":19,\"../utils/shared-formula\":22,\"../utils/under-dash\":25,\"./enums\":7,\"./note\":9}],4:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0;r=this._worksheet.properties.outlineLevelCol)}},{key:\"isDefault\",get:function(){if(this.isCustomWidth)return!1;if(this.hidden)return!1;if(this.outlineLevel)return!1;var t=this.style;return!t||!(t.font||t.numFmt||t.alignment||t.border||t.fill||t.protection)}},{key:\"headerCount\",get:function(){return this.headers.length}},{key:\"values\",get:function(){var t=[];return this.eachCell((function(e,r){e&&e.type!==o.ValueType.Null&&(t[r]=e.value)})),t},set:function(t){var e=this;if(t){var r=this.number,n=0;t.hasOwnProperty(\"0\")&&(n=1),t.forEach((function(t,i){e._worksheet.getCell(i+n,r).value=t}))}}},{key:\"numFmt\",get:function(){return this.style.numFmt},set:function(t){this._applyStyle(\"numFmt\",t)}},{key:\"font\",get:function(){return this.style.font},set:function(t){this._applyStyle(\"font\",t)}},{key:\"alignment\",get:function(){return this.style.alignment},set:function(t){this._applyStyle(\"alignment\",t)}},{key:\"protection\",get:function(){return this.style.protection},set:function(t){this._applyStyle(\"protection\",t)}},{key:\"border\",get:function(){return this.style.border},set:function(t){this._applyStyle(\"border\",t)}},{key:\"fill\",get:function(){return this.style.fill},set:function(t){this._applyStyle(\"fill\",t)}}])&&n(e.prototype,r),s&&n(e,s),t}();e.exports=s},{\"../utils/col-cache\":19,\"../utils/under-dash\":25,\"./enums\":7}],5:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0;rthis.bottom)&&(this.bottom=r),(!this.model.right||n>this.right)&&(this.right=n)}},{key:\"expandRow\",value:function(t){if(t){var e=t.dimensions,r=t.number;e&&this.expand(r,e.min,r,e.max)}}},{key:\"expandToAddress\",value:function(t){var e=o.decodeEx(t);this.expand(e.row,e.col,e.row,e.col)}},{key:\"toString\",value:function(){return this.range}},{key:\"intersects\",value:function(t){return!(t.sheetName&&this.sheetName&&t.sheetName!==this.sheetName||t.bottomthis.bottom||t.rightthis.right)}},{key:\"contains\",value:function(t){var e=o.decodeEx(t);return this.containsEx(e)}},{key:\"containsEx\",value:function(t){return(!t.sheetName||!this.sheetName||t.sheetName===this.sheetName)&&t.row>=this.top&&t.row<=this.bottom&&t.col>=this.left&&t.col<=this.right}},{key:\"forEachAddress\",value:function(t){for(var e=this.left;e<=this.right;e++)for(var r=this.top;r<=this.bottom;r++)t(o.encodeAddress(r,e),r,e)}},{key:\"top\",get:function(){return this.model.top||1},set:function(t){this.model.top=t}},{key:\"left\",get:function(){return this.model.left||1},set:function(t){this.model.left=t}},{key:\"bottom\",get:function(){return this.model.bottom||1},set:function(t){this.model.bottom=t}},{key:\"right\",get:function(){return this.model.right||1},set:function(t){this.model.right=t}},{key:\"sheetName\",get:function(){return this.model.sheetName},set:function(t){this.model.sheetName=t}},{key:\"_serialisedSheetName\",get:function(){var t=this.model.sheetName;return t?/^[a-zA-Z0-9]*$/.test(t)?\"\".concat(t,\"!\"):\"'\".concat(t,\"'!\"):\"\"}},{key:\"tl\",get:function(){return o.n2l(this.left)+this.top}},{key:\"$t$l\",get:function(){return\"$\".concat(o.n2l(this.left),\"$\").concat(this.top)}},{key:\"br\",get:function(){return o.n2l(this.right)+this.bottom}},{key:\"$b$r\",get:function(){return\"$\".concat(o.n2l(this.right),\"$\").concat(this.bottom)}},{key:\"range\",get:function(){return\"\".concat(this._serialisedSheetName+this.tl,\":\").concat(this.br)}},{key:\"$range\",get:function(){return\"\".concat(this._serialisedSheetName+this.$t$l,\":\").concat(this.$b$r)}},{key:\"shortRange\",get:function(){return this.count>1?this.range:this._serialisedSheetName+this.tl}},{key:\"$shortRange\",get:function(){return this.count>1?this.$range:this._serialisedSheetName+this.$t$l}},{key:\"count\",get:function(){return(1+this.bottom-this.top)*(1+this.right-this.left)}}])&&i(e.prototype,r),a&&i(e,a),t}();e.exports=a},{\"../utils/col-cache\":19}],11:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0;r2?n-2:0),o=2;o0)for(a=f;a>=r;a--)(s=this._cells[a-1])?((u=this.getCell(a+c)).value=s.value,u.style=s.style,u._comment=s._comment):this._cells[a+c-1]=void 0;for(a=0;ar.col)&&(t=r.col),e0?{min:t,max:e}:null}},{key:\"numFmt\",get:function(){return this.style.numFmt},set:function(t){this._applyStyle(\"numFmt\",t)}},{key:\"font\",get:function(){return this.style.font},set:function(t){this._applyStyle(\"font\",t)}},{key:\"alignment\",get:function(){return this.style.alignment},set:function(t){this._applyStyle(\"alignment\",t)}},{key:\"protection\",get:function(){return this.style.protection},set:function(t){this._applyStyle(\"protection\",t)}},{key:\"border\",get:function(){return this.style.border},set:function(t){this._applyStyle(\"border\",t)}},{key:\"fill\",get:function(){return this.style.fill},set:function(t){this._applyStyle(\"fill\",t)}},{key:\"hidden\",get:function(){return!!this._hidden},set:function(t){this._hidden=t}},{key:\"outlineLevel\",get:function(){return this._outlineLevel||0},set:function(t){this._outlineLevel=t}},{key:\"collapsed\",get:function(){return!!(this._outlineLevel&&this._outlineLevel>=this._worksheet.properties.outlineLevelRow)}},{key:\"model\",get:function(){var t=[],e=0,r=0;return this._cells.forEach((function(n){if(n){var i=n.model;i&&((!e||e>n.col)&&(e=n.col),r0,\"Table must be on valid row\"),n(s>0,\"Table must be on valid col\");var u=this.width,c=this.filterHeight,f=this.tableHeight;e.autoFilterRef=a.encode(o,s,o+c-1,s+u-1),e.tableRef=a.encode(o,s,o+f-1,s+u-1),e.columns.forEach((function(e,i){n(e.name,\"Column \".concat(i,\" must have a name\")),0===i?r(e,\"totalsRowLabel\",\"Total\"):(r(e,\"totalsRowFunction\",\"none\"),e.totalsRowFormula=t.getFormula(e))}))}},{key:\"store\",value:function(){var t=this,e=function(t,e){e&&Object.keys(e).forEach((function(r){t[r]=e[r]}))},r=this.worksheet,n=this.table,i=n.tl,o=i.row,a=i.col,s=0;if(n.headerRow){var u=r.getRow(o+s++);n.columns.forEach((function(t,r){var n=t.style,i=t.name,o=u.getCell(a+r);o.value=i,e(o,n)}))}if(n.rows.forEach((function(t){var i=r.getRow(o+s++);t.forEach((function(t,r){var o=i.getCell(a+r);o.value=t,e(o,n.columns[r].style)}))})),n.totalsRow){var c=r.getRow(o+s++);n.columns.forEach((function(r,n){var i=c.getCell(a+n);if(0===n)i.value=r.totalsRowLabel;else{var o=t.getFormula(r);i.value=o?{formula:r.totalsRowFormula,result:r.totalsRowResult}:null}e(i,r.style)}))}}},{key:\"load\",value:function(t){var e=this,r=this.table,n=r.tl,i=n.row,o=n.col,a=0;if(r.headerRow){var s=t.getRow(i+a++);r.columns.forEach((function(t,e){s.getCell(o+e).value=t.name}))}if(r.rows.forEach((function(e){var r=t.getRow(i+a++);e.forEach((function(t,e){r.getCell(o+e).value=t}))})),r.totalsRow){var u=t.getRow(i+a++);r.columns.forEach((function(t,r){var n=u.getCell(o+r);0===r?n.value=t.totalsRowLabel:e.getFormula(t)&&(n.value={formula:t.totalsRowFormula,result:t.totalsRowResult})}))}}},{key:\"cacheState\",value:function(){this._cache||(this._cache={ref:this.ref,width:this.width,tableHeight:this.tableHeight})}},{key:\"commit\",value:function(){if(this._cache){this.validate();var t=a.decodeAddress(this._cache.ref);if(this.ref!==this._cache.ref)for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:1;this.cacheState(),this.table.rows.splice(t,e)}},{key:\"getColumn\",value:function(t){var e=this.table.columns[t];return new s(this,e,t)}},{key:\"addColumn\",value:function(t,e,r){this.cacheState(),void 0===r?(this.table.columns.push(t),this.table.rows.forEach((function(t,r){t.push(e[r])}))):(this.table.columns.splice(r,0,t),this.table.rows.forEach((function(t,n){t.splice(r,0,e[n])})))}},{key:\"removeColumns\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.cacheState(),this.table.columns.splice(t,e),this.table.rows.forEach((function(r){r.splice(t,e)}))}},{key:\"_assign\",value:function(t,e,r){this.cacheState(),t[e]=r}},{key:\"width\",get:function(){return this.table.columns.length}},{key:\"height\",get:function(){return this.table.rows.length}},{key:\"filterHeight\",get:function(){return this.height+(this.table.headerRow?1:0)}},{key:\"tableHeight\",get:function(){return this.filterHeight+(this.table.totalsRow?1:0)}},{key:\"model\",get:function(){return this.table},set:function(t){this.table=t}},{key:\"ref\",get:function(){return this.table.ref},set:function(t){this._assign(this.table,\"ref\",t)}},{key:\"name\",get:function(){return this.table.name},set:function(t){this.table.name=t}},{key:\"displayName\",get:function(){return this.table.displyName||this.table.name}},{key:\"displayNamename\",set:function(t){this.table.displayName=t}},{key:\"headerRow\",get:function(){return this.table.headerRow},set:function(t){this._assign(this.table,\"headerRow\",t)}},{key:\"totalsRow\",get:function(){return this.table.totalsRow},set:function(t){this._assign(this.table,\"totalsRow\",t)}},{key:\"theme\",get:function(){return this.table.style.name},set:function(t){this.table.style.name=t}},{key:\"showFirstColumn\",get:function(){return this.table.style.showFirstColumn},set:function(t){this.table.style.showFirstColumn=t}},{key:\"showLastColumn\",get:function(){return this.table.style.showLastColumn},set:function(t){this.table.style.showLastColumn=t}},{key:\"showRowStripes\",get:function(){return this.table.style.showRowStripes},set:function(t){this.table.style.showRowStripes=t}},{key:\"showColumnStripes\",get:function(){return this.table.style.showColumnStripes},set:function(t){this.table.style.showColumnStripes=t}}]),t}();e.exports=u},{\"../utils/col-cache\":19}],13:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0;r31&&console.warn(\"Worksheet name \".concat(t,\" exceeds 31 chars. This will be truncated\")),/[*?:/\\\\[\\]]/.test(t))throw new Error(\"Worksheet name \".concat(t,\" cannot include any of the following characters: * ? : \\\\ / [ ]\"));if(/(^')|('$)/.test(t))throw new Error(\"The first or last character of worksheet name cannot be a single quotation mark: \".concat(t));if(t=(t||\"sheet\".concat(r)).substring(0,31),this._worksheets.find((function(e){return e&&e.name.toLowerCase()===t.toLowerCase()})))throw new Error(\"Worksheet name already exists: \".concat(t));e&&(\"string\"==typeof e?(console.trace('tabColor argument is now deprecated. Please use workbook.addWorksheet(name, {properties: { tabColor: { argb: \"rbg value\" } }'),e={properties:{tabColor:{argb:e}}}):(e.argb||e.theme||e.indexed)&&(console.trace(\"tabColor argument is now deprecated. Please use workbook.addWorksheet(name, {properties: { tabColor: { ... } }\"),e={properties:{tabColor:e}}));var n=this._worksheets.reduce((function(t,e){return(e&&e.orderNo)>t?e.orderNo:t}),0),o=Object.assign({},e,{id:r,name:t,orderNo:n+1,workbook:this}),a=new i(o);return this._worksheets[r]=a,a}},{key:\"removeWorksheetEx\",value:function(t){delete this._worksheets[t.id]}},{key:\"removeWorksheet\",value:function(t){var e=this.getWorksheet(t);e&&e.destroy()}},{key:\"getWorksheet\",value:function(t){return void 0===t?this._worksheets.find(Boolean):\"number\"==typeof t?this._worksheets[t]:\"string\"==typeof t?this._worksheets.find((function(e){return e&&e.name===t})):void 0}},{key:\"eachSheet\",value:function(t){this.worksheets.forEach((function(e){t(e,e.id)}))}},{key:\"clearThemes\",value:function(){this._themes=void 0}},{key:\"addImage\",value:function(t){var e=this.media.length;return this.media.push(Object.assign({},t,{type:\"image\"})),e}},{key:\"getImage\",value:function(t){return this.media[t]}},{key:\"xlsx\",get:function(){return this._xlsx||(this._xlsx=new a(this)),this._xlsx}},{key:\"csv\",get:function(){return this._csv||(this._csv=new s(this)),this._csv}},{key:\"nextId\",get:function(){for(var t=1;tt.length)&&(e=t.length);for(var r=0,n=new Array(e);rthis._columns.length)for(var r=this._columns.length+1;r<=t;)this._columns.push(new d(this,r++));return this._columns[t-1]}},{key:\"spliceColumns\",value:function(t,e){for(var r=this,n=this._rows,i=n.length,o=arguments.length,a=new Array(o>2?o-2:0),s=2;s0)for(var u=function(n){var i=[t,e];a.forEach((function(t){i.push(t[n]||null)}));var o=r.getRow(n+1);o.splice.apply(o,i)},c=0;c0)for(var p=h;p>=l;p--)this.getColumn(p+f).defn=this.getColumn(p).defn;for(var m=t;m1&&void 0!==arguments[1]?arguments[1]:\"n\",r=this._nextRow,n=this.getRow(r);return n.values=t,this._setStyleOption(r,\"i\"===e[0]?e:\"n\"),n}},{key:\"addRows\",value:function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"n\",n=[];return t.forEach((function(t){n.push(e.addRow(t,r))})),n}},{key:\"insertRow\",value:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"n\";return this.spliceRows(t,0,e),this._setStyleOption(t,r),this.getRow(t)}},{key:\"insertRows\",value:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"n\";if(this.spliceRows.apply(this,[t,0].concat(a(e))),\"n\"!==r)for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:\"n\";\"o\"===e[0]&&void 0!==this.findRow(t+1)?this._copyStyle(t+1,t,\"+\"===e[1]):\"i\"===e[0]&&void 0!==this.findRow(t-1)&&this._copyStyle(t-1,t,\"+\"===e[1])}},{key:\"_copyStyle\",value:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=this.getRow(t),o=this.getRow(e);o.style=Object.freeze(i({},n.style)),n.eachCell({includeEmpty:r},(function(t,e){o.getCell(e).style=Object.freeze(i({},t.style))})),o.height=n.height}},{key:\"duplicateRow\",value:function(t,e){var r=this,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=this._rows[t-1],o=new Array(e).fill(i.values);this.spliceRows.apply(this,[t+1,n?0:e].concat(a(o)));for(var s=function(e){var n=r._rows[t+e];n.style=i.style,n.height=i.height,i.eachCell({includeEmpty:!0},(function(t,e){n.getCell(e).style=t.style}))},u=0;u2?i-2:0),a=2;a0)for(s=l;s>=n;s--)(u=this._rows[s-1])?function(){var t=r.getRow(s+f);t.values=u.values,t.style=u.style,t.height=u.height,u.eachCell({includeEmpty:!0},(function(e,n){if(t.getCell(n).style=e.style,\"MergeValue\"===e._value.constructor.name){var i=r.getRow(e._row._number+c).getCell(n),o=e._value._master,a=r.getRow(o._row._number+c).getCell(o._column._number);i.merge(a)}}))}():this._rows[s+f-1]=void 0;for(s=0;st.top||i>t.left)&&this.getCell(n,i).merge(r,e);this._merges[r.address]=t}},{key:\"_unMergeMaster\",value:function(t){var e=this._merges[t.address];if(e){for(var r=e.top;r<=e.bottom;r++)for(var n=e.left;n<=e.right;n++)this.getCell(r,n).unmerge();delete this._merges[t.address]}}},{key:\"unMergeCells\",value:function(){for(var t=arguments.length,e=new Array(t),r=0;r3&&void 0!==arguments[3]?arguments[3]:\"shared\",o=f.decode(t),a=o.top,s=o.left,u=o.bottom,c=o.right,l=c-s+1,h=f.encodeAddress(a,s),d=\"shared\"===i;n=\"function\"==typeof r?r:Array.isArray(r)?Array.isArray(r[0])?function(t,e){return r[t-a][e-s]}:function(t,e){return r[(t-a)*l+(e-s)]}:function(){};for(var p=!0,m=a;m<=u;m++)for(var y=s;y<=c;y++)p?(this.getCell(m,y).value={shareType:i,formula:e,ref:t,result:n(m,y)},p=!1):this.getCell(m,y).value=d?{sharedFormula:h,result:n(m,y)}:n(m,y)}},{key:\"addImage\",value:function(t,e){var r={type:\"image\",imageId:t,range:e};this._media.push(new m(this,r))}},{key:\"getImages\",value:function(){return this._media.filter((function(t){return\"image\"===t.type}))}},{key:\"addBackgroundImage\",value:function(t){var e={type:\"background\",imageId:t};this._media.push(new m(this,e))}},{key:\"getBackgroundImageId\",value:function(){var t=this._media.find((function(t){return\"background\"===t.type}));return t&&t.imageId}},{key:\"protect\",value:function(t,e){var r=this;return new Promise((function(n){r.sheetProtection={sheet:!0},e&&\"spinCount\"in e&&(e.spinCount=Number.isFinite(e.spinCount)?Math.round(Math.max(0,e.spinCount)):1e5),t&&(r.sheetProtection.algorithmName=\"SHA-512\",r.sheetProtection.saltValue=v.randomBytes(16).toString(\"base64\"),r.sheetProtection.spinCount=e&&\"spinCount\"in e?e.spinCount:1e5,r.sheetProtection.hashValue=v.convertPasswordToHash(t,\"SHA512\",r.sheetProtection.saltValue,r.sheetProtection.spinCount)),e&&(r.sheetProtection=Object.assign(r.sheetProtection,e),!t&&\"spinCount\"in e&&delete r.sheetProtection.spinCount),n()}))}},{key:\"unprotect\",value:function(){this.sheetProtection=null}},{key:\"addTable\",value:function(t){var e=new y(this,t);return this.tables[t.name]=e,e}},{key:\"getTable\",value:function(t){return this.tables[t]}},{key:\"removeTable\",value:function(t){delete this.tables[t]}},{key:\"getTables\",value:function(){return Object.values(this.tables)}},{key:\"addConditionalFormatting\",value:function(t){this.conditionalFormattings.push(t)}},{key:\"removeConditionalFormatting\",value:function(t){\"number\"==typeof t?this.conditionalFormattings.splice(t,1):this.conditionalFormattings=t instanceof Function?this.conditionalFormattings.filter(t):[]}},{key:\"_parseRows\",value:function(t){var e=this;this._rows=[],t.rows.forEach((function(t){var r=new h(e,t.number);e._rows[r.number-1]=r,r.model=t}))}},{key:\"_parseMergeCells\",value:function(t){var e=this;c.each(t.mergeCells,(function(t){e.mergeCellsWithoutStyle(t)}))}},{key:\"workbook\",get:function(){return this._workbook}},{key:\"dimensions\",get:function(){var t=new l;return this._rows.forEach((function(e){if(e){var r=e.dimensions;r&&t.expand(e.number,r.min,e.number,r.max)}})),t}},{key:\"columns\",get:function(){return this._columns},set:function(t){var e=this;this._headerRowCount=t.reduce((function(t,e){var r=(e.header?1:e.headers&&e.headers.length)||0;return Math.max(t,r)}),0);var r=1,n=this._columns=[];t.forEach((function(t){var i=new d(e,r++,!1);n.push(i),i.defn=t}))}},{key:\"lastColumn\",get:function(){return this.getColumn(this.columnCount)}},{key:\"columnCount\",get:function(){var t=0;return this.eachRow((function(e){t=Math.max(t,e.cellCount)})),t}},{key:\"actualColumnCount\",get:function(){var t=[],e=0;return this.eachRow((function(r){r.eachCell((function(r){var n=r.col;t[n]||(t[n]=!0,e++)}))})),e}},{key:\"_lastRowNumber\",get:function(){for(var t=this._rows,e=t.length;e>0&&void 0===t[e-1];)e--;return e}},{key:\"_nextRow\",get:function(){return this._lastRowNumber+1}},{key:\"lastRow\",get:function(){if(this._rows.length)return this._rows[this._rows.length-1]}},{key:\"rowCount\",get:function(){return this._lastRowNumber}},{key:\"actualRowCount\",get:function(){var t=0;return this.eachRow((function(){t++})),t}},{key:\"hasMerges\",get:function(){return c.some(this._merges,Boolean)}},{key:\"tabColor\",get:function(){return console.trace(\"worksheet.tabColor property is now deprecated. Please use worksheet.properties.tabColor\"),this.properties.tabColor},set:function(t){console.trace(\"worksheet.tabColor property is now deprecated. Please use worksheet.properties.tabColor\"),this.properties.tabColor=t}},{key:\"model\",get:function(){var t={id:this.id,name:this.name,dataValidations:this.dataValidations.model,properties:this.properties,state:this.state,pageSetup:this.pageSetup,headerFooter:this.headerFooter,rowBreaks:this.rowBreaks,views:this.views,autoFilter:this.autoFilter,media:this._media.map((function(t){return t.model})),sheetProtection:this.sheetProtection,tables:Object.values(this.tables).map((function(t){return t.model})),conditionalFormattings:this.conditionalFormattings};t.cols=d.toModel(this.columns);var e=t.rows=[],r=t.dimensions=new l;return this._rows.forEach((function(t){var n=t&&t.model;n&&(r.expand(n.number,n.min,n.number,n.max),e.push(n))})),t.merges=[],c.each(this._merges,(function(e){t.merges.push(e.range)})),t},set:function(t){var e=this;this.name=t.name,this._columns=d.fromModel(this,t.cols),this._parseRows(t),this._parseMergeCells(t),this.dataValidations=new b(t.dataValidations),this.properties=t.properties,this.pageSetup=t.pageSetup,this.headerFooter=t.headerFooter,this.views=t.views,this.autoFilter=t.autoFilter,this._media=t.media.map((function(t){return new m(e,t)})),this.sheetProtection=t.sheetProtection,this.tables=t.tables.reduce((function(t,e){var r=new y;return r.model=e,t[e.name]=r,t}),{}),this.conditionalFormattings=t.conditionalFormattings}}])&&u(e.prototype,r),n&&u(e,n),t}();e.exports=g},{\"../utils/col-cache\":19,\"../utils/encryptor\":20,\"../utils/under-dash\":25,\"./column\":4,\"./data-validations\":5,\"./enums\":7,\"./image\":8,\"./range\":10,\"./row\":11,\"./table\":12}],15:[function(t,e,r){\"use strict\";t(\"core-js/modules/es.promise\"),t(\"core-js/modules/es.object.assign\"),t(\"core-js/modules/es.object.keys\"),t(\"core-js/modules/es.object.values\"),t(\"core-js/modules/es.symbol\"),t(\"core-js/modules/es.symbol.async-iterator\"),t(\"core-js/modules/es.array.iterator\"),t(\"core-js/modules/es.array.includes\"),t(\"core-js/modules/es.array.find-index\"),t(\"core-js/modules/es.array.find\"),t(\"core-js/modules/es.string.from-code-point\"),t(\"core-js/modules/es.string.includes\"),t(\"core-js/modules/es.number.is-nan\"),t(\"regenerator-runtime/runtime\");var n={Workbook:t(\"./doc/workbook\")},i=t(\"./doc/enums\");Object.keys(i).forEach((function(t){n[t]=i[t]})),e.exports=n},{\"./doc/enums\":7,\"./doc/workbook\":13,\"core-js/modules/es.array.find\":316,\"core-js/modules/es.array.find-index\":315,\"core-js/modules/es.array.includes\":317,\"core-js/modules/es.array.iterator\":318,\"core-js/modules/es.number.is-nan\":319,\"core-js/modules/es.object.assign\":320,\"core-js/modules/es.object.keys\":321,\"core-js/modules/es.object.values\":322,\"core-js/modules/es.promise\":323,\"core-js/modules/es.string.from-code-point\":324,\"core-js/modules/es.string.includes\":325,\"core-js/modules/es.symbol\":327,\"core-js/modules/es.symbol.async-iterator\":326,\"regenerator-runtime/runtime\":492}],16:[function(t,e,r){\"use strict\";var n=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf-8\");r.bufferToString=function(t){return\"string\"==typeof t?t:n?n.decode(t):t.toString()}},{}],17:[function(t,e,r){\"use strict\";var n=\"undefined\"==typeof TextEncoder?null:new TextEncoder(\"utf-8\"),i=t(\"buffer\").Buffer;r.stringToBuffer=function(t){return\"string\"!=typeof t?t:n?i.from(n.encode(t).buffer):i.from(t)}},{buffer:216}],18:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r=4)throw new Error(\"Out of bounds. Excel supports columns from 1 to 16384\");if(this._l2nFill<1&&t>=1){for(;a<=26;)e=this._dictionary[a-1],this._n2l[a]=e,this._l2n[e]=a,a++;this._l2nFill=1}if(this._l2nFill<2&&t>=2){for(a=27;a<=702;)n=(r=a-27)%26,i=Math.floor(r/26),e=this._dictionary[i]+this._dictionary[n],this._n2l[a]=e,this._l2n[e]=a,a++;this._l2nFill=2}if(this._l2nFill<3&&t>=3){for(a=703;a<=16384;)n=(r=a-703)%26,i=Math.floor(r/26)%26,o=Math.floor(r/676),e=this._dictionary[o]+this._dictionary[i]+this._dictionary[n],this._n2l[a]=e,this._l2n[e]=a,a++;this._l2nFill=3}},l2n:function(t){if(this._l2n[t]||this._fill(t.length),!this._l2n[t])throw new Error(\"Out of bounds. Invalid column letter: \".concat(t));return this._l2n[t]},n2l:function(t){if(t<1||t>16384)throw new Error(\"\".concat(t,\" is out of bounds. Excel supports columns from 1 to 16384\"));return this._n2l[t]||this._fill(this._level(t)),this._n2l[t]},_hash:{},validateAddress:function(t){if(!s.test(t))throw new Error(\"Invalid Address: \".concat(t));return!0},decodeAddress:function(t){var e=t.length<5&&this._hash[t];if(e)return e;for(var r,n=!1,i=\"\",o=0,a=!1,s=\"\",u=0,c=0;c=65&&r<=90)n=!0,i+=t[c],o=26*o+r-64;else if(r>=48&&r<=57)a=!0,s+=t[c],u=10*u+r-48;else if(a&&n&&36!==r)break;if(n){if(o>16384)throw new Error(\"Out of bounds. Invalid column letter: \".concat(i))}else o=void 0;a||(u=void 0);var f={address:t=i+s,col:o,row:u,$col$row:\"$\".concat(i,\"$\").concat(s)};return o<=100&&u<=100&&(this._hash[t]=f,this._hash[f.$col$row]=f),f},getAddress:function(t,e){if(e){var r=this.n2l(e)+t;return this.decodeAddress(r)}return this.decodeAddress(t)},decode:function(t){var e=t.split(\":\");if(2===e.length){var r=this.decodeAddress(e[0]),n=this.decodeAddress(e[1]),i={top:Math.min(r.row,n.row),left:Math.min(r.col,n.col),bottom:Math.max(r.row,n.row),right:Math.max(r.col,n.col)};return i.tl=this.n2l(i.left)+i.top,i.br=this.n2l(i.right)+i.bottom,i.dimensions=\"\".concat(i.tl,\":\").concat(i.br),i}return this.decodeAddress(t)},decodeEx:function(t){var e=t.match(/(?:(?:(?:'((?:[^']|'')*)')|([^'^ !]*))!)?(.*)/),r=e[1]||e[2],n=e[3],i=n.split(\":\");if(i.length>1){var s=this.decodeAddress(i[0]),u=this.decodeAddress(i[1]),c=Math.min(s.row,u.row),f=Math.min(s.col,u.col),l=Math.max(s.row,u.row),h=Math.max(s.col,u.col);return s=this.n2l(f)+c,u=this.n2l(h)+l,{top:c,left:f,bottom:l,right:h,sheetName:r,tl:{address:s,col:f,row:c,$col$row:\"$\".concat(this.n2l(f),\"$\").concat(c),sheetName:r},br:{address:u,col:h,row:l,$col$row:\"$\".concat(this.n2l(h),\"$\").concat(l),sheetName:r},dimensions:\"\".concat(s,\":\").concat(u)}}if(n.startsWith(\"#\"))return r?{sheetName:r,error:n}:{error:n};var d=this.decodeAddress(n);return r?function(t){for(var e=1;e=i&&c<=a&&f>=o&&f<=s}};e.exports=u},{}],20:[function(t,e,r){(function(r){\"use strict\";var n=t(\"crypto\"),i={hash:function(t){for(var e=n.createHash(t),i=arguments.length,o=new Array(i>1?i-1:0),a=1;a3||3===l.length&&l>\"XFD\")return t;var p=n.l2n(l),m=parseInt(d,10);return f||(p+=s.col-a.col),h||(m+=s.row-a.row),(e||\"\")+(f||\"\")+n.n2l(p)+(h||\"\")+m}return t}))}}},{\"./col-cache\":19}],23:[function(t,e,r){(function(r,n){\"use strict\";function i(t,e,r,n,i,o,a){try{var s=t[o](a),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,i)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function s(t){i(a,n,o,s,u,\"next\",t)}function u(t){i(a,n,o,s,u,\"throw\",t)}s(void 0)}))}}function a(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function s(t,e){for(var r=0;r=this.length?(e=this.toBuffer(),this.iRead=this.iWrite,e):(e=n.alloc(t),this.buffer.copy(e,0,this.iRead,t),this.iRead+=t,e)}},{key:\"write\",value:function(t,e,r){var n=Math.min(r,this.size-this.iWrite);return t.copy(this.buffer,this.iWrite,e,e+n),this.iWrite+=n,n}},{key:\"length\",get:function(){return this.iWrite-this.iRead}},{key:\"eod\",get:function(){return this.iRead===this.iWrite}},{key:\"full\",get:function(){return this.iWrite===this.size}}]),t}(),y=function(t){t=t||{},this.bufSize=t.bufSize||1048576,this.buffers=[],this.batch=t.batch||!1,this.corked=!1,this.inPos=0,this.outPos=0,this.pipes=[],this.paused=!1,this.encoding=null};f.inherits(y,c.Duplex,{toBuffer:function(){switch(this.buffers.length){case 0:return null;case 1:return this.buffers[0].toBuffer();default:return n.concat(this.buffers.map((function(t){return t.toBuffer()})))}},_getWritableBuffer:function(){if(this.buffers.length){var t=this.buffers[this.buffers.length-1];if(!t.full)return t}var e=new m(this.bufSize);return this.buffers.push(e),e},_pipe:function(t){var e=this;return o(regeneratorRuntime.mark((function r(){var n;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n=function(e){return new Promise((function(r){e.write(t.toBuffer(),(function(){r()}))}))},r.next=3,Promise.all(e.pipes.map(n));case 3:case\"end\":return r.stop()}}),r)})))()},_writeToBuffers:function(t){for(var e=0,r=t.length;e1;)a._pipe(a.buffers.shift());o.next=29;break;case 21:if(a.corked){o.next=27;break}return o.next=24,a._pipe(s);case 24:i(),o.next=29;break;case 27:a._writeToBuffers(s),r.nextTick(i);case 29:o.next=34;break;case 31:a.paused||a.emit(\"data\",s.toBuffer()),a._writeToBuffers(s),a.emit(\"readable\");case 34:return o.abrupt(\"return\",!0);case 35:case\"end\":return o.stop()}}),o)})))()},cork:function(){this.corked=!0},_flush:function(){if(this.pipes.length)for(;this.buffers.length;)this._pipe(this.buffers.shift())},uncork:function(){this.corked=!1,this._flush()},end:function(t,e,r){var n=this,i=function(t){t?r(t):(n._flush(),n.pipes.forEach((function(t){t.end()})),n.emit(\"finish\"))};t?this.write(t,e,i):i()},read:function(t){var e;if(t){for(e=[];t&&this.buffers.length&&!this.buffers[0].eod;){var r=this.buffers[0],i=r.read(t);t-=i.length,e.push(i),r.eod&&r.full&&this.buffers.shift()}return n.concat(e)}return e=this.buffers.map((function(t){return t.toBuffer()})).filter(Boolean),this.buffers=[],n.concat(e)},setEncoding:function(t){this.encoding=t},pause:function(){this.paused=!0},resume:function(){this.paused=!1},isPaused:function(){return!!this.paused},pipe:function(t){this.pipes.push(t),!this.paused&&this.buffers.length&&this.end()},unpipe:function(t){this.pipes=this.pipes.filter((function(e){return e!==t}))},unshift:function(){throw new Error(\"Not Implemented\")},wrap:function(){throw new Error(\"Not Implemented\")}}),e.exports=y}).call(this,t(\"_process\"),t(\"buffer\").Buffer)},{\"./string-buf\":24,\"./utils\":26,_process:467,buffer:216,\"readable-stream\":491}],24:[function(t,e,r){(function(t){\"use strict\";function r(t,e){for(var r=0;r=this._buf.length-4;)this._grow(this._inPos+t.length),e=this._inPos+this._buf.write(t,this._inPos,this._encoding);this._inPos=e}},{key:\"addStringBuf\",value:function(t){t.length&&(this._buffer=void 0,this.length+t.length>this.capacity&&this._grow(this.length+t.length),t._buf.copy(this._buf,this._inPos,0,t.length),this._inPos+=t.length)}},{key:\"length\",get:function(){return this._inPos}},{key:\"capacity\",get:function(){return this._buf.length}},{key:\"buffer\",get:function(){return this._buf}}])&&r(n.prototype,i),o&&r(n,o),e}();e.exports=n}).call(this,t(\"buffer\").Buffer)},{buffer:216}],25:[function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var i=Object.prototype.toString,o=/[\"&<>]/,a={each:function(t,e){t&&(Array.isArray(t)?t.forEach(e):Object.keys(t).forEach((function(r){e(t[r],r)})))},some:function(t,e){return!!t&&(Array.isArray(t)?t.some(e):Object.keys(t).some((function(r){return e(t[r],r)})))},every:function(t,e){return!t||(Array.isArray(t)?t.every(e):Object.keys(t).every((function(r){return e(t[r],r)})))},map:function(t,e){return t?Array.isArray(t)?t.map(e):Object.keys(t).map((function(r){return e(t[r],r)})):[]},keyBy:function(t,e){return t.reduce((function(t,r){return t[r[e]]=r,t}),{})},isEqual:function(t,e){var r=n(t),i=n(e),o=Array.isArray(t),s=Array.isArray(e);if(r!==i)return!1;switch(n(t)){case\"object\":return o||s?!(!o||!s)&&(t.length===e.length&&t.every((function(t,r){var n=e[r];return a.isEqual(t,n)}))):a.every(t,(function(t,r){var n=e[r];return a.isEqual(t,n)}));default:return t===e}},escapeHtml:function(t){var e=o.exec(t);if(!e)return t;for(var r=\"\",n=\"\",i=0,a=e.index;a\":n=\">\";break;default:continue}i!==a&&(r+=t.substring(i,a)),i=a+1,r+=n}return i!==a?r+t.substring(i,a):r},strcmp:function(t,e){return te?1:0},isUndefined:function(t){return\"[object Undefined]\"===i.call(t)},isObject:function(t){return\"[object Object]\"===i.call(t)},deepMerge:function(){var t,e,r,n=arguments[0]||{},i=arguments.length;function o(i,o){t=n[o],r=Array.isArray(i),a.isObject(i)||r?(r?(r=!1,e=t&&Array.isArray(t)?t:[]):e=t&&a.isObject(t)?t:{},n[o]=a.deepMerge(e,i)):a.isUndefined(i)||(n[o]=i)}for(var s=0;s&'\"\\x7F\\x00-\\x08\\x0B-\\x0C\\x0E-\\x1F]/,a={nop:function(){},promiseImmediate:function(t){return new Promise((function(e){r.setImmediate?n((function(){e(t)})):setTimeout((function(){e(t)}),1)}))},inherits:function(t,e,r,n){t.super_=e,n||(n=r,r=null),r&&Object.keys(r).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}));var i={constructor:{value:t,enumerable:!1,writable:!1,configurable:!0}};n&&Object.keys(n).forEach((function(t){i[t]=Object.getOwnPropertyDescriptor(n,t)})),t.prototype=Object.create(e.prototype,i)},dateToExcel:function(t,e){return 25569+t.getTime()/864e5-(e?1462:0)},excelToDate:function(t,e){var r=Math.round(24*(t-25569+(e?1462:0))*3600*1e3);return new Date(r)},parsePath:function(t){var e=t.lastIndexOf(\"/\");return{path:t.substring(0,e),name:t.substring(e+1)}},getRelsPath:function(t){var e=a.parsePath(t);return\"\".concat(e.path,\"/_rels/\").concat(e.name,\".rels\")},xmlEncode:function(t){var e=o.exec(t);if(!e)return t;for(var r=\"\",n=\"\",i=0,a=e.index;a=11&&13!==s)){n=\"\";break}continue}i!==a&&(r+=t.substring(i,a)),i=a+1,n&&(r+=n)}return i!==a?r+t.substring(i,a):r},xmlDecode:function(t){return t.replace(/&([a-z]*);/g,(function(t){switch(t){case\"<\":return\"<\";case\">\":return\">\";case\"&\":return\"&\";case\"'\":return\"'\";case\""\":return'\"';default:return t}}))},validInt:function(t){var e=parseInt(t,10);return Number.isNaN(e)?0:e},isDateFmt:function(t){return!!t&&null!==(t=(t=t.replace(/\\[[^\\]]*]/g,\"\")).replace(/\"[^\"]*\"/g,\"\")).match(/[ymdhMsb]+/)},fs:{exists:function(t){return new Promise((function(e){i.access(t,i.constants.F_OK,(function(t){e(!t)}))}))}},toIsoDateString:function(t){return t.toIsoString().subsstr(0,10)}};e.exports=a}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},t(\"timers\").setImmediate)},{fs:215,timers:521}],27:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0;r\\n\")}},{key:\"openNode\",value:function(t,e){var r=this.tos,n=this._xml;r&&this.open&&n.push(\">\"),this._stack.push(t),n.push(\"<\"),n.push(t),s(n,e),this.leaf=!0,this.open=!0}},{key:\"addAttribute\",value:function(t,e){if(!this.open)throw new Error(\"Cannot write attributes to node if it is not open\");void 0!==e&&a(this._xml,t,e)}},{key:\"addAttributes\",value:function(t){if(!this.open)throw new Error(\"Cannot write attributes to node if it is not open\");s(this._xml,t)}},{key:\"writeText\",value:function(t){var e=this._xml;this.open&&(e.push(\">\"),this.open=!1),this.leaf=!1,e.push(o.xmlEncode(t.toString()))}},{key:\"writeXml\",value:function(t){this.open&&(this._xml.push(\">\"),this.open=!1),this.leaf=!1,this._xml.push(t)}},{key:\"closeNode\",value:function(){var t=this._stack.pop(),e=this._xml;this.leaf?e.push(\"/>\"):(e.push(\"\")),this.open=!1,this.leaf=!1}},{key:\"leafNode\",value:function(t,e,r){this.openNode(t,e),void 0!==r&&this.writeText(r),this.closeNode()}},{key:\"closeAll\",value:function(){for(;this._stack.length;)this.closeNode()}},{key:\"addRollback\",value:function(){return this._rollbacks.push({xml:this._xml.length,stack:this._stack.length,leaf:this.leaf,open:this.open}),this.cursor}},{key:\"commit\",value:function(){this._rollbacks.pop()}},{key:\"rollback\",value:function(){var t=this._rollbacks.pop();this._xml.length>t.xml&&this._xml.splice(t.xml,this._xml.length-t.xml),this._stack.length>t.stack&&this._stack.splice(t.stack,this._stack.length-t.stack),this.leaf=t.leaf,this.open=t.open}},{key:\"tos\",get:function(){return this._stack.length?this._stack[this._stack.length-1]:void 0}},{key:\"cursor\",get:function(){return this._xml.length}},{key:\"xml\",get:function(){return this.closeAll(),this._xml.join(\"\")}}])&&n(e.prototype,r),i&&n(e,i),t}();u.StdDocAttributes={version:\"1.0\",encoding:\"UTF-8\",standalone:\"yes\"},e.exports=u},{\"./under-dash\":25,\"./utils\":26}],28:[function(t,e,r){(function(r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function i(t,e,r,n,i,o,a){try{var s=t[o](a),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,i)}function o(t,e){for(var r=0;r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,s=!0,u=!1;return{s:function(){r=t[Symbol.iterator]()},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw a}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r2&&void 0!==arguments[2]&&arguments[2];if(void 0===t){if(r)return e}else if(r||t!==e)return t.toString()}},{key:\"toStringAttribute\",value:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t.toAttribute(e,r,n)}},{key:\"toStringValue\",value:function(t,e){return void 0===t?e:t}},{key:\"toBoolAttribute\",value:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(void 0===t){if(r)return e}else if(r||t!==e)return t?\"1\":\"0\"}},{key:\"toBoolValue\",value:function(t,e){return void 0===t?e:\"1\"===t}},{key:\"toIntAttribute\",value:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t.toAttribute(e,r,n)}},{key:\"toIntValue\",value:function(t,e){return void 0===t?e:parseInt(t,10)}},{key:\"toFloatAttribute\",value:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t.toAttribute(e,r,n)}},{key:\"toFloatValue\",value:function(t,e){return void 0===t?e:parseFloat(t)}}],r&&s(e.prototype,r),i&&s(e,i),t}();e.exports=l},{\"../../utils/parse-sax\":21,\"../../utils/xml-stream\":27}],32:[function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){for(var r=0;rthis.maxItems))throw new Error(\"Max \".concat(this.childXform.tag,\" count (\").concat(this.maxItems,\") exceeded\"));return!0}return!1}},{key:\"reconcile\",value:function(t,e){if(t){var r=this.childXform;t.forEach((function(t){r.reconcile(t,e)}))}}}])&&i(e.prototype,r),n&&i(e,n),u}(t(\"./base-xform\"));e.exports=c},{\"./base-xform\":31}],71:[function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0\");case\"containsErrors\":return\"ISERROR(\".concat(e,\")\");case\"notContainsErrors\":return\"NOT(ISERROR(\".concat(e,\"))\");default:return}}(e);r&&this.formulaXform.render(t,r),t.closeNode()}},{key:\"renderTimePeriod\",value:function(t,e){t.openNode(this.tag,{type:\"timePeriod\",dxfId:e.dxfId,priority:e.priority,timePeriod:e.timePeriod});var r=function(t){if(t.formulae&&t.formulae[0])return t.formulae[0];var e=new p(t.ref).tl;switch(t.timePeriod){case\"thisWeek\":return\"AND(TODAY()-ROUNDDOWN(\".concat(e,\",0)<=WEEKDAY(TODAY())-1,ROUNDDOWN(\").concat(e,\",0)-TODAY()<=7-WEEKDAY(TODAY()))\");case\"lastWeek\":return\"AND(TODAY()-ROUNDDOWN(\".concat(e,\",0)>=(WEEKDAY(TODAY())),TODAY()-ROUNDDOWN(\").concat(e,\",0)<(WEEKDAY(TODAY())+7))\");case\"nextWeek\":return\"AND(ROUNDDOWN(\".concat(e,\",0)-TODAY()>(7-WEEKDAY(TODAY())),ROUNDDOWN(\").concat(e,\",0)-TODAY()<(15-WEEKDAY(TODAY())))\");case\"yesterday\":return\"FLOOR(\".concat(e,\",1)=TODAY()-1\");case\"today\":return\"FLOOR(\".concat(e,\",1)=TODAY()\");case\"tomorrow\":return\"FLOOR(\".concat(e,\",1)=TODAY()+1\");case\"last7Days\":return\"AND(TODAY()-FLOOR(\".concat(e,\",1)<=6,FLOOR(\").concat(e,\",1)<=TODAY())\");case\"lastMonth\":return\"AND(MONTH(\".concat(e,\")=MONTH(EDATE(TODAY(),0-1)),YEAR(\").concat(e,\")=YEAR(EDATE(TODAY(),0-1)))\");case\"thisMonth\":return\"AND(MONTH(\".concat(e,\")=MONTH(TODAY()),YEAR(\").concat(e,\")=YEAR(TODAY()))\");case\"nextMonth\":return\"AND(MONTH(\".concat(e,\")=MONTH(EDATE(TODAY(),0+1)),YEAR(\").concat(e,\")=YEAR(EDATE(TODAY(),0+1)))\");default:return}}(e);r&&this.formulaXform.render(t,r),t.closeNode()}},{key:\"createNewModel\",value:function(t){var e=t.attributes;return o(o({},function(t){var e=t.type,r=t.operator;switch(e){case\"containsText\":case\"containsBlanks\":case\"notContainsBlanks\":case\"containsErrors\":case\"notContainsErrors\":return{type:\"containsText\",operator:e};default:return{type:e,operator:r}}}(e)),{},{dxfId:h.toIntValue(e.dxfId),priority:h.toIntValue(e.priority),timePeriod:e.timePeriod,percent:h.toBoolValue(e.percent),bottom:h.toBoolValue(e.bottom),rank:h.toIntValue(e.rank),aboveAverage:h.toBoolValue(e.aboveAverage)})}},{key:\"onParserClose\",value:function(t,e){switch(t){case\"dataBar\":case\"extLst\":case\"colorScale\":case\"iconSet\":Object.assign(this.model,e.model);break;case\"formula\":this.model.formulae=this.model.formulae||[],this.model.formulae.push(e.model)}}},{key:\"tag\",get:function(){return\"cfRule\"}}])&&s(e.prototype,r),n&&s(e,n),a}(d);e.exports=_},{\"../../../../doc/range\":10,\"../../base-xform\":31,\"../../composite-xform\":47,\"./color-scale-xform\":84,\"./databar-xform\":87,\"./ext-lst-ref-xform\":88,\"./formula-xform\":89,\"./icon-set-xform\":90}],83:[function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r1||s>1){var f=i.row+(o-1),h=i.col+(s-1);return l(l({},e.dataValidation),{},{sqref:\"\".concat(e.address,\":\").concat(m.encodeAddress(f,h))})}return l(l({},e.dataValidation),{},{sqref:e.address})}return null})).filter(Boolean)}(e);r.length&&(t.openNode(\"dataValidations\",{count:r.length}),r.forEach((function(e){t.openNode(\"dataValidation\"),\"any\"!==e.type&&(t.addAttribute(\"type\",e.type),e.operator&&\"list\"!==e.type&&\"between\"!==e.operator&&t.addAttribute(\"operator\",e.operator),e.allowBlank&&t.addAttribute(\"allowBlank\",\"1\")),e.showInputMessage&&t.addAttribute(\"showInputMessage\",\"1\"),e.promptTitle&&t.addAttribute(\"promptTitle\",e.promptTitle),e.prompt&&t.addAttribute(\"prompt\",e.prompt),e.showErrorMessage&&t.addAttribute(\"showErrorMessage\",\"1\"),e.errorStyle&&t.addAttribute(\"errorStyle\",e.errorStyle),e.errorTitle&&t.addAttribute(\"errorTitle\",e.errorTitle),e.error&&t.addAttribute(\"error\",e.error),t.addAttribute(\"sqref\",e.sqref),(e.formulae||[]).forEach((function(r,n){t.openNode(\"formula\".concat(n+1)),\"date\"===e.type?t.writeText(p.dateToExcel(new Date(r))):t.writeText(r),t.closeNode()})),t.closeNode()})),t.closeNode())}},{key:\"parseOpen\",value:function(t){switch(t.name){case\"dataValidations\":return this.model={},!0;case\"dataValidation\":this._address=t.attributes.sqref;var e={type:t.attributes.type||\"any\",formulae:[]};switch(t.attributes.type&&g(e,t.attributes,\"allowBlank\"),g(e,t.attributes,\"showInputMessage\"),g(e,t.attributes,\"showErrorMessage\"),e.type){case\"any\":case\"list\":case\"custom\":break;default:v(e,t.attributes,\"operator\",\"between\")}return v(e,t.attributes,\"promptTitle\"),v(e,t.attributes,\"prompt\"),v(e,t.attributes,\"errorStyle\"),v(e,t.attributes,\"errorTitle\"),v(e,t.attributes,\"error\"),this._dataValidation=e,!0;case\"formula1\":case\"formula2\":return this._formula=[],!0;default:return!1}}},{key:\"parseText\",value:function(t){this._formula&&this._formula.push(t)}},{key:\"parseClose\",value:function(t){var e=this;switch(t){case\"dataValidations\":return!1;case\"dataValidation\":return this._dataValidation.formulae&&this._dataValidation.formulae.length||(delete this._dataValidation.formulae,delete this._dataValidation.operator),(this._address.split(/\\s+/g)||[]).forEach((function(t){t.includes(\":\")?new b(t).forEachAddress((function(t){e.model[t]=e._dataValidation})):e.model[t]=e._dataValidation})),!0;case\"formula1\":case\"formula2\":var r=this._formula.join(\"\");switch(this._dataValidation.type){case\"whole\":case\"textLength\":r=parseInt(r,10);break;case\"decimal\":r=parseFloat(r);break;case\"date\":r=p.excelToDate(parseFloat(r))}return this._dataValidation.formulae.push(r),this._formula=void 0,!0;default:return!0}}},{key:\"tag\",get:function(){return\"dataValidations\"}}])&&o(e.prototype,r),n&&o(e,n),c}(y);e.exports=w},{\"../../../doc/range\":10,\"../../../utils/col-cache\":19,\"../../../utils/under-dash\":25,\"../../../utils/utils\":26,\"../base-xform\":31}],93:[function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){for(var r=0;r0&&e.max>0&&e.min<=e.max&&t.addAttribute(\"spans\",\"\".concat(e.min,\":\").concat(e.max)),e.styleId&&(t.addAttribute(\"s\",e.styleId),t.addAttribute(\"customFormat\",\"1\")),t.addAttribute(\"x14ac:dyDescent\",\"0.25\"),e.outlineLevel&&t.addAttribute(\"outlineLevel\",e.outlineLevel),e.collapsed&&t.addAttribute(\"collapsed\",\"1\");var n=this.map.c;e.cells.forEach((function(e){n.render(t,e,r)})),t.closeNode()}},{key:\"parseOpen\",value:function(t){if(this.parser)return this.parser.parseOpen(t),!0;if(\"row\"===t.name){this.numRowsSeen+=1;var e=t.attributes.spans?t.attributes.spans.split(\":\").map((function(t){return parseInt(t,10)})):[void 0,void 0],r=this.model={number:parseInt(t.attributes.r,10),min:e[0],max:e[1],cells:[]};return t.attributes.s&&(r.styleId=parseInt(t.attributes.s,10)),!0!==t.attributes.hidden&&\"true\"!==t.attributes.hidden&&1!==t.attributes.hidden&&\"1\"!==t.attributes.hidden||(r.hidden=!0),t.attributes.bestFit&&(r.bestFit=!0),t.attributes.ht&&(r.height=parseFloat(t.attributes.ht)),t.attributes.outlineLevel&&(r.outlineLevel=parseInt(t.attributes.outlineLevel,10)),t.attributes.collapsed&&(r.collapsed=!0),!0}return this.parser=this.map[t.name],!!this.parser&&(this.parser.parseOpen(t),!0)}},{key:\"parseText\",value:function(t){this.parser&&this.parser.parseText(t)}},{key:\"parseClose\",value:function(t){if(this.parser){if(!this.parser.parseClose(t)){if(this.model.cells.push(this.parser.model),this.maxItems&&this.model.cells.length>this.maxItems)throw new Error(\"Max column count (\".concat(this.maxItems,\") exceeded\"));this.parser=void 0}return!0}return!1}},{key:\"reconcile\",value:function(t,e){t.style=t.styleId?e.styles.getStyleModel(t.styleId):{},void 0!==t.styleId&&(t.styleId=void 0);var r=this.map.c;t.cells.forEach((function(t){r.reconcile(t,e)}))}},{key:\"tag\",get:function(){return\"row\"}}])&&i(e.prototype,r),n&&i(e,n),u}(c);e.exports=l},{\"../base-xform\":31,\"./cell-xform\":72}],109:[function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){for(var r=0;r0){var o={Id:i(n),Type:h.Comments,Target:\"../comments\".concat(t.id,\".xml\")};n.push(o);var a={Id:i(n),Type:h.VmlDrawing,Target:\"../drawings/vmlDrawing\".concat(t.id,\".vml\")};n.push(a),t.comments.forEach((function(t){t.refAddress=f.decodeAddress(t.ref)})),e.commentRefs.push({commentName:\"comments\".concat(t.id),vmlDrawing:\"vmlDrawing\".concat(t.id)})}var s,u=[];t.media.forEach((function(o){if(\"background\"===o.type){var a=i(n);s=e.media[o.imageId],n.push({Id:a,Type:h.Image,Target:\"../media/\".concat(s.name,\".\").concat(s.extension)}),t.background={rId:a},t.image=e.media[o.imageId]}else if(\"image\"===o.type){var c=t.drawing;s=e.media[o.imageId],c||(c=t.drawing={rId:i(n),name:\"drawing\".concat(++e.drawingsCount),anchors:[],rels:[]},e.drawings.push(c),n.push({Id:c.rId,Type:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\",Target:\"../drawings/\".concat(c.name,\".xml\")}));var f=r.preImageId===o.imageId?u[o.imageId]:u[c.rels.length];f||(f=i(c.rels),u[c.rels.length]=f,c.rels.push({Id:f,Type:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",Target:\"../media/\".concat(s.name,\".\").concat(s.extension)}));var l={picture:{rId:f},range:o.range};if(o.hyperlinks&&o.hyperlinks.hyperlink){var d=i(c.rels);u[c.rels.length]=d,l.picture.hyperlinks={tooltip:o.hyperlinks.tooltip,rId:d},c.rels.push({Id:d,Type:h.Hyperlink,Target:o.hyperlinks.hyperlink,TargetMode:\"External\"})}r.preImageId=o.imageId,c.anchors.push(l)}})),t.tables.forEach((function(t){var r=i(n);t.rId=r,n.push({Id:r,Type:h.Table,Target:\"../tables/\".concat(t.target)}),t.columns.forEach((function(t){var r=t.style;r&&(t.dxfId=e.styles.addDxfStyle(r))}))})),this.map.extLst.prepare(t,e)}},{key:\"render\",value:function(t,e){t.openXml(l.StdDocAttributes),t.openNode(\"worksheet\",u.WORKSHEET_ATTRIBUTES);var r=e.properties?{defaultRowHeight:e.properties.defaultRowHeight,dyDescent:e.properties.dyDescent,outlineLevelCol:e.properties.outlineLevelCol,outlineLevelRow:e.properties.outlineLevelRow}:void 0;e.properties&&e.properties.defaultColWidth&&(r.defaultColWidth=e.properties.defaultColWidth);var n={outlineProperties:e.properties&&e.properties.outlineProperties,tabColor:e.properties&&e.properties.tabColor,pageSetup:e.pageSetup&&e.pageSetup.fitToPage?{fitToPage:e.pageSetup.fitToPage}:void 0},i=e.pageSetup&&e.pageSetup.margins,o={showRowColHeaders:e.pageSetup&&e.pageSetup.showRowColHeaders,showGridLines:e.pageSetup&&e.pageSetup.showGridLines,horizontalCentered:e.pageSetup&&e.pageSetup.horizontalCentered,verticalCentered:e.pageSetup&&e.pageSetup.verticalCentered},a=e.sheetProtection;this.map.sheetPr.render(t,n),this.map.dimension.render(t,e.dimensions),this.map.sheetViews.render(t,e.views),this.map.sheetFormatPr.render(t,r),this.map.cols.render(t,e.cols),this.map.sheetData.render(t,e.rows),this.map.sheetProtection.render(t,a),this.map.autoFilter.render(t,e.autoFilter),this.map.mergeCells.render(t,e.mergeCells),this.map.conditionalFormatting.render(t,e.conditionalFormattings),this.map.dataValidations.render(t,e.dataValidations),this.map.hyperlinks.render(t,e.hyperlinks),this.map.printOptions.render(t,o),this.map.pageMargins.render(t,i),this.map.pageSetup.render(t,e.pageSetup),this.map.headerFooter.render(t,e.headerFooter),this.map.rowBreaks.render(t,e.rowBreaks),this.map.drawing.render(t,e.drawing),this.map.picture.render(t,e.background),this.map.tableParts.render(t,e.tables),this.map.extLst.render(t,e),e.rels&&e.rels.forEach((function(e){e.Type===h.VmlDrawing&&t.leafNode(\"legacyDrawing\",{\"r:id\":e.Id})})),t.closeNode()}},{key:\"parseOpen\",value:function(t){return this.parser?(this.parser.parseOpen(t),!0):\"worksheet\"===t.name?(c.each(this.map,(function(t){t.reset()})),!0):(this.parser=this.map[t.name],this.parser&&this.parser.parseOpen(t),!0)}},{key:\"parseText\",value:function(t){this.parser&&this.parser.parseText(t)}},{key:\"parseClose\",value:function(t){if(this.parser)return this.parser.parseClose(t)||(this.parser=void 0),!0;switch(t){case\"worksheet\":var e=this.map.sheetFormatPr.model||{};this.map.sheetPr.model&&this.map.sheetPr.model.tabColor&&(e.tabColor=this.map.sheetPr.model.tabColor),this.map.sheetPr.model&&this.map.sheetPr.model.outlineProperties&&(e.outlineProperties=this.map.sheetPr.model.outlineProperties);var r={fitToPage:this.map.sheetPr.model&&this.map.sheetPr.model.pageSetup&&this.map.sheetPr.model.pageSetup.fitToPage||!1,margins:this.map.pageMargins.model},n=Object.assign(r,this.map.pageSetup.model,this.map.printOptions.model),i=B(this.map.conditionalFormatting.model,this.map.extLst.model&&this.map.extLst.model[\"x14:conditionalFormattings\"]);return this.model={dimensions:this.map.dimension.model,cols:this.map.cols.model,rows:this.map.sheetData.model,mergeCells:this.map.mergeCells.model,hyperlinks:this.map.hyperlinks.model,dataValidations:this.map.dataValidations.model,properties:e,views:this.map.sheetViews.model,pageSetup:n,headerFooter:this.map.headerFooter.model,background:this.map.picture.model,drawing:this.map.drawing.model,tables:this.map.tableParts.model,conditionalFormattings:i},this.map.autoFilter.model&&(this.model.autoFilter=this.map.autoFilter.model),this.map.sheetProtection.model&&(this.model.sheetProtection=this.map.sheetProtection.model),!1;default:return!0}}},{key:\"reconcile\",value:function(t,e){var r=(t.relationships||[]).reduce((function(r,n){if(r[n.Id]=n,n.Type===h.Comments&&(t.comments=e.comments[n.Target].comments),n.Type===h.VmlDrawing&&t.comments&&t.comments.length){var i=e.vmlDrawings[n.Target].comments;t.comments.forEach((function(t,e){t.note=Object.assign({},t.note,i[e])}))}return r}),{});if(e.commentsMap=(t.comments||[]).reduce((function(t,e){return e.ref&&(t[e.ref]=e),t}),{}),e.hyperlinkMap=(t.hyperlinks||[]).reduce((function(t,e){return e.rId&&(t[e.address]=r[e.rId].Target),t}),{}),e.formulae={},t.rows=t.rows&&t.rows.filter(Boolean)||[],t.rows.forEach((function(t){t.cells=t.cells&&t.cells.filter(Boolean)||[]})),this.map.cols.reconcile(t.cols,e),this.map.sheetData.reconcile(t.rows,e),this.map.conditionalFormatting.reconcile(t.conditionalFormattings,e),t.media=[],t.drawing){var n=r[t.drawing.rId].Target.match(/\\/drawings\\/([a-zA-Z0-9]+)[.][a-zA-Z]{3,4}$/);if(n){var i=n[1];e.drawings[i].anchors.forEach((function(e){if(e.medium){var r={type:\"image\",imageId:e.medium.index,range:e.range,hyperlinks:e.picture.hyperlinks};t.media.push(r)}}))}}var o=t.background&&r[t.background.rId];if(o){var a=o.Target.split(\"/media/\")[1],s=e.mediaIndex&&e.mediaIndex[a];void 0!==s&&t.media.push({type:\"background\",imageId:s})}t.tables=(t.tables||[]).map((function(t){var n=r[t.rId];return e.tables[n.Target]})),delete t.relationships,delete t.hyperlinks,delete t.comments}}])&&i(e.prototype,r),n&&i(e,n),u}(p);F.WORKSHEET_ATTRIBUTES={xmlns:\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\",\"xmlns:r\":\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",\"xmlns:mc\":\"http://schemas.openxmlformats.org/markup-compatibility/2006\",\"mc:Ignorable\":\"x14ac\",\"xmlns:x14ac\":\"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac\"},e.exports=F},{\"../../../utils/col-cache\":19,\"../../../utils/under-dash\":25,\"../../../utils/xml-stream\":27,\"../../rel-type\":30,\"../base-xform\":31,\"../list-xform\":70,\"./auto-filter-xform\":71,\"./cf/conditional-formattings-xform\":86,\"./col-xform\":91,\"./data-validations-xform\":92,\"./dimension-xform\":93,\"./drawing-xform\":94,\"./ext-lst-xform\":95,\"./header-footer-xform\":96,\"./hyperlink-xform\":97,\"./merge-cell-xform\":98,\"./merges\":99,\"./page-margins-xform\":102,\"./page-setup-xform\":104,\"./picture-xform\":105,\"./print-options-xform\":106,\"./row-breaks-xform\":107,\"./row-xform\":108,\"./sheet-format-properties-xform\":109,\"./sheet-properties-xform\":110,\"./sheet-protection-xform\":111,\"./sheet-view-xform\":112,\"./table-part-xform\":113}],115:[function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function i(t,e){for(var r=0;r=-90&&t<=90?t:void 0}},indent:function(t){return t=l.validInt(t),Math.max(0,t)},readingOrder:function(t){switch(t){case\"ltr\":return f.ReadingOrder.LeftToRight;case\"rtl\":return f.ReadingOrder.RightToLeft;default:return}}},p=function(t){if(t=d.textRotation(t)){if(\"vertical\"===t)return 255;var e=Math.round(t);if(e>=0&&e<=90)return e;if(e<0&&e>=-90)return 90-e}},m=function(t){var e=l.validInt(t);if(void 0!==e){if(255===e)return\"vertical\";if(e>=0&&e<=90)return e;if(e>90&&e<=180)return 90-e}},y=function(t){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}(c,t);var e,r,n,u=s(c);function c(){return i(this,c),u.apply(this,arguments)}return e=c,(r=[{key:\"render\",value:function(t,e){t.addRollback(),t.openNode(\"alignment\");var r=!1;function n(e,n){n&&(t.addAttribute(e,n),r=!0)}n(\"horizontal\",d.horizontal(e.horizontal)),n(\"vertical\",d.vertical(e.vertical)),n(\"wrapText\",!!d.wrapText(e.wrapText)&&\"1\"),n(\"shrinkToFit\",!!d.shrinkToFit(e.shrinkToFit)&&\"1\"),n(\"indent\",d.indent(e.indent)),n(\"textRotation\",p(e.textRotation)),n(\"readingOrder\",d.readingOrder(e.readingOrder)),t.closeNode(),r?t.commit():t.rollback()}},{key:\"parseOpen\",value:function(t){var e={},r=!1;function n(t,n,i){t&&(e[n]=i,r=!0)}n(t.attributes.horizontal,\"horizontal\",t.attributes.horizontal),n(t.attributes.vertical,\"vertical\",\"center\"===t.attributes.vertical?\"middle\":t.attributes.vertical),n(t.attributes.wrapText,\"wrapText\",!!t.attributes.wrapText),n(t.attributes.shrinkToFit,\"shrinkToFit\",!!t.attributes.shrinkToFit),n(t.attributes.indent,\"indent\",parseInt(t.attributes.indent,10)),n(t.attributes.textRotation,\"textRotation\",m(t.attributes.textRotation)),n(t.attributes.readingOrder,\"readingOrder\",\"2\"===t.attributes.readingOrder?\"rtl\":\"ltr\"),this.model=r?e:null}},{key:\"parseText\",value:function(){}},{key:\"parseClose\",value:function(){return!1}},{key:\"tag\",get:function(){return\"alignment\"}}])&&o(e.prototype,r),n&&o(e,n),c}(h);e.exports=y},{\"../../../doc/enums\":7,\"../../../utils/utils\":26,\"../base-xform\":31}],126:[function(t,e,r){\"use strict\";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t){for(var e=1;e=1)){t.next=6;break}return o=n.substr(i+1),a=n.substr(0,i),t.next=6,new Promise((function(t,i){var s=new h;s.on(\"finish\",(function(){r.mediaIndex[n]=r.media.length,r.mediaIndex[a]=r.media.length;var e={type:\"image\",name:a,extension:o,buffer:s.toBuffer()};r.media.push(e),t()})),e.on(\"error\",(function(t){i(t)})),e.pipe(s)}));case 6:case\"end\":return t.stop()}}),t)}))),function(t,e,r){return Y.apply(this,arguments)})},{key:\"_processDrawingEntry\",value:(Z=o(regeneratorRuntime.mark((function t(e,r,n){var i,o;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new S,t.next=3,i.parseStream(e);case 3:o=t.sent,r.drawings[n]=o;case 5:case\"end\":return t.stop()}}),t)}))),function(t,e,r){return Z.apply(this,arguments)})},{key:\"_processDrawingRelsEntry\",value:(K=o(regeneratorRuntime.mark((function t(e,r,n){var i,o;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new g,t.next=3,i.parseStream(e);case 3:o=t.sent,r.drawingRels[n]=o;case 5:case\"end\":return t.stop()}}),t)}))),function(t,e,r){return K.apply(this,arguments)})},{key:\"_processVmlDrawingEntry\",value:(X=o(regeneratorRuntime.mark((function t(e,r,n){var i,o;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=new E,t.next=3,i.parseStream(e);case 3:o=t.sent,r.vmlDrawings[\"../drawings/\".concat(n,\".vml\")]=o;case 5:case\"end\":return t.stop()}}),t)}))),function(t,e,r){return X.apply(this,arguments)})},{key:\"_processThemeEntry\",value:($=o(regeneratorRuntime.mark((function t(e,r,n){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,new Promise((function(t,i){var o=new h;e.on(\"error\",i),o.on(\"error\",i),o.on(\"finish\",(function(){r.themes[n]=o.read().toString(),t()})),e.pipe(o)}));case 2:case\"end\":return t.stop()}}),t)}))),function(t,e,r){return $.apply(this,arguments)})},{key:\"createInputStream\",value:function(){throw new Error(\"`XLSX#createInputStream` is deprecated. You should use `XLSX#read` instead. This method will be removed in version 5.0. Please follow upgrade instruction: https://github.com/exceljs/exceljs/blob/master/UPGRADE-4.0.md\")}},{key:\"read\",value:(W=o(regeneratorRuntime.mark((function t(e,r){var i,o,a,u,c,l,h,d;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:!e[Symbol.asyncIterator]&&e.pipe&&(e=e.pipe(new f)),i=[],o=!0,a=!1,t.prev=4,c=s(e);case 6:return t.next=8,c.next();case 8:return l=t.sent,o=l.done,t.next=12,l.value;case 12:if(h=t.sent,o){t.next=19;break}d=h,i.push(d);case 16:o=!0,t.next=6;break;case 19:t.next=25;break;case 21:t.prev=21,t.t0=t.catch(4),a=!0,u=t.t0;case 25:if(t.prev=25,t.prev=26,o||null==c.return){t.next=30;break}return t.next=30,c.return();case 30:if(t.prev=30,!a){t.next=33;break}throw u;case 33:return t.finish(30);case 34:return t.finish(25);case 35:return t.abrupt(\"return\",this.load(n.concat(i),r));case 36:case\"end\":return t.stop()}}),t,this,[[4,21,25,35],[26,,30,34]])}))),function(t,e){return W.apply(this,arguments)})},{key:\"load\",value:(q=o(regeneratorRuntime.mark((function t(e,i){var o,a,s,u,l,h,d,p,g,w,k,x,S,O,j,E;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=i&&i.base64?n.from(e.toString(),\"base64\"):e,a={worksheets:[],worksheetHash:{},worksheetRels:[],themes:{},media:[],mediaIndex:{},drawings:{},drawingRels:{},comments:{},tables:{},vmlDrawings:{}},t.next=4,c.loadAsync(o);case 4:s=t.sent,u=0,l=Object.values(s.files);case 6:if(!(u0&&(r=new p,o.render(r,t),e.append(r.xml,{name:\"xl/comments\".concat(t.id,\".xml\")}),r=new p,a.render(r,t),e.append(r.xml,{name:\"xl/drawings/vmlDrawing\".concat(t.id,\".vml\")}))}));case 5:case\"end\":return t.stop()}}),t)}))),function(t,e){return A.apply(this,arguments)})},{key:\"_finalize\",value:function(t){var e=this;return new Promise((function(r,n){t.on(\"finish\",(function(){r(e)})),t.on(\"error\",n),t.finalize()}))}},{key:\"prepareModel\",value:function(t,e){t.creator=t.creator||\"ExcelJS\",t.lastModifiedBy=t.lastModifiedBy||\"ExcelJS\",t.created=t.created||new Date,t.modified=t.modified||new Date,t.useSharedStrings=void 0===e.useSharedStrings||e.useSharedStrings,t.useStyles=void 0===e.useStyles||e.useStyles,t.sharedStrings=new v,t.styles=t.useStyles?new y(!0):new y.Mock;var r=new k,n=new x;r.prepare(t);var i={sharedStrings:t.sharedStrings,styles:t.styles,date1904:t.properties.date1904,drawingsCount:0,media:t.media};i.drawings=t.drawings=[],i.commentRefs=t.commentRefs=[];var o=0;t.tables=[],t.worksheets.forEach((function(e){e.tables.forEach((function(e){o++,e.target=\"table\".concat(o,\".xml\"),e.id=o,t.tables.push(e)})),n.prepare(e,i)}))}},{key:\"write\",value:(M=o(regeneratorRuntime.mark((function t(e,r){var n,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=r||{},n=this.workbook.model,(i=new l.ZipWriter(r.zip)).pipe(e),this.prepareModel(n,r),t.next=7,this.addContentTypes(i,n);case 7:return t.next=9,this.addOfficeRels(i,n);case 9:return t.next=11,this.addWorkbookRels(i,n);case 11:return t.next=13,this.addWorksheets(i,n);case 13:return t.next=15,this.addSharedStrings(i,n);case 15:return t.next=17,this.addDrawings(i,n);case 17:return t.next=19,this.addTables(i,n);case 19:return t.next=21,Promise.all([this.addThemes(i,n),this.addStyles(i,n)]);case 21:return t.next=23,this.addMedia(i,n);case 23:return t.next=25,Promise.all([this.addApp(i,n),this.addCore(i,n)]);case 25:return t.next=27,this.addWorkbook(i,n);case 27:return t.abrupt(\"return\",this._finalize(i));case 28:case\"end\":return t.stop()}}),t,this)}))),function(t,e){return M.apply(this,arguments)})},{key:\"writeFile\",value:function(t,e){var r=this,n=u.createWriteStream(t);return new Promise((function(t,i){n.on(\"finish\",(function(){t()})),n.on(\"error\",(function(t){i(t)})),r.write(n,e).then((function(){n.end()}))}))}},{key:\"writeBuffer\",value:(P=o(regeneratorRuntime.mark((function t(e){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=new h,t.next=3,this.write(r,e);case 3:return t.abrupt(\"return\",r.read());case 4:case\"end\":return t.stop()}}),t,this)}))),function(t){return P.apply(this,arguments)})}])&&a(e.prototype,i),C&&a(e,C),t}();C.RelType=t(\"./rel-type\"),e.exports=C}).call(this,t(\"_process\"),t(\"buffer\").Buffer)},{\"../utils/browser-buffer-decode\":16,\"../utils/stream-buf\":23,\"../utils/utils\":26,\"../utils/xml-stream\":27,\"../utils/zip-stream\":28,\"./rel-type\":30,\"./xform/book/workbook-xform\":37,\"./xform/comment/comments-xform\":39,\"./xform/comment/vml-notes-xform\":44,\"./xform/core/app-xform\":50,\"./xform/core/content-types-xform\":51,\"./xform/core/core-xform\":52,\"./xform/core/relationships-xform\":54,\"./xform/drawing/drawing-xform\":61,\"./xform/sheet/worksheet-xform\":114,\"./xform/strings/shared-strings-xform\":123,\"./xform/style/styles-xform\":134,\"./xform/table/table-xform\":140,\"./xml/theme1.js\":142,_process:467,buffer:216,fs:215,jszip:399,\"readable-stream\":491}],142:[function(t,e,r){\"use strict\";e.exports='\\n '},{}],143:[function(t,e,r){(function(e){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function i(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};n(this,t),this.objectMode=!0,this.delimiter=\",\",this.rowDelimiter=\"\\n\",this.quote='\"',this.escape=this.quote,this.quoteColumns=!1,this.quoteHeaders=this.quoteColumns,this.headers=null,this.includeEndRowDelimiter=!1,this.writeBOM=!1,this.BOM=\"\\ufeff\",this.alwaysWriteHeaders=!1,Object.assign(this,r||{}),void 0===(null==r?void 0:r.quoteHeaders)&&(this.quoteHeaders=this.quoteColumns),!0===(null==r?void 0:r.quote)?this.quote='\"':!1===(null==r?void 0:r.quote)&&(this.quote=\"\"),\"string\"!=typeof(null==r?void 0:r.escape)&&(this.escape=this.quote),this.shouldWriteHeaders=!!this.headers&&(null===(e=r.writeHeaders)||void 0===e||e),this.headers=Array.isArray(this.headers)?this.headers:null,this.escapedQuote=\"\".concat(this.escape).concat(this.quote)}},{}],145:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},i=[],o=new u.Writable({write:function(t,e,r){i.push(t),r()}});return new Promise((function(a,s){o.on(\"error\",s).on(\"finish\",(function(){return a(e.concat(i))})),r.write(t,n).pipe(o)}))},r.writeToString=function(t,e){return r.writeToBuffer(t,e).then((function(t){return t.toString()}))},r.writeToPath=function(t,e,n){var i=c.createWriteStream(t,{encoding:\"utf8\"});return r.write(e,n).pipe(i)}}).call(this,t(\"buffer\").Buffer)},{\"./CsvFormatterStream\":143,\"./FormatterOptions\":144,\"./types\":149,buffer:216,fs:215,stream:506,util:525}],149:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.isSyncTransform=void 0,r.isSyncTransform=function(t){return 1===t.length}},{}],150:[function(t,e,r){(function(e){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function i(t,e){for(var r=0;r1?r-1:0),i=1;i=i||n.hasHitRowLimit)return r();if(n.parsedLineCount+=1,n.shouldSkipLine)return s();var u=t[a];n.rowCount+=1,n.parsedRowCount+=1;var c=n.rowCount;return n.transformRow(u,(function(t,e){if(t)return n.rowCount-=1,s(t);if(!e)return s(new Error(\"expected transform result\"));if(e.isValid){if(e.row)return n.pushRow(e.row,s)}else n.emit(\"data-invalid\",e.row,c,e.reason);return s()}))}(0)}},{key:\"transformRow\",value:function(t,e){var r=this;try{this.headerTransformer.transform(t,(function(n,i){return n?e(n):i?i.isValid?i.row?r.shouldEmitRows?r.rowTransformerValidator.transformAndValidate(i.row,e):r.skipRow(e):(r.rowCount-=1,r.parsedRowCount-=1,e(null,{row:null,isValid:!0})):r.shouldEmitRows?e(null,{isValid:!1,row:t}):r.skipRow(e):e(new Error(\"Expected result from header transform\"))}))}catch(t){e(t)}}},{key:\"checkAndEmitHeaders\",value:function(){!this.headersEmitted&&this.headerTransformer.headers&&(this.headersEmitted=!0,this.emit(\"headers\",this.headerTransformer.headers))}},{key:\"skipRow\",value:function(t){return this.rowCount-=1,t(null,{row:null,isValid:!0})}},{key:\"pushRow\",value:function(t,e){try{this.parserOptions.objectMode?this.push(t):this.push(JSON.stringify(t)),e()}catch(t){e(t)}}},{key:\"hasHitRowLimit\",get:function(){return this.parserOptions.limitRows&&this.rowCount>=this.parserOptions.maxRows}},{key:\"shouldEmitRows\",get:function(){return this.parsedRowCount>this.parserOptions.skipRows}},{key:\"shouldSkipLine\",get:function(){return this.parsedLineCount<=this.parserOptions.skipLines}}])&&i(r.prototype,n),u&&i(r,u),p}(l.Transform);r.CsvParserStream=p}).call(this,t(\"timers\").setImmediate)},{\"./parser\":162,\"./transforms\":165,stream:506,string_decoder:520,timers:521}],151:[function(t,e,r){\"use strict\";var n=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(r,\"__esModule\",{value:!0}),r.ParserOptions=void 0;var i=n(t(\"lodash.escaperegexp\")),o=n(t(\"lodash.isnil\"));r.ParserOptions=function t(e){var r;if(function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.objectMode=!0,this.delimiter=\",\",this.ignoreEmpty=!1,this.quote='\"',this.escape=null,this.escapeChar=this.quote,this.comment=null,this.supportsComments=!1,this.ltrim=!1,this.rtrim=!1,this.trim=!1,this.headers=null,this.renameHeaders=!1,this.strictColumnHandling=!1,this.discardUnmappedColumns=!1,this.carriageReturn=\"\\r\",this.encoding=\"utf8\",this.limitRows=!1,this.maxRows=0,this.skipLines=0,this.skipRows=0,Object.assign(this,e||{}),this.delimiter.length>1)throw new Error(\"delimiter option must be one character long\");this.escapedDelimiter=i.default(this.delimiter),this.escapeChar=null!==(r=this.escape)&&void 0!==r?r:this.quote,this.supportsComments=!o.default(this.comment),this.NEXT_TOKEN_REGEXP=new RegExp(\"([^\\\\s]|\\\\r\\\\n|\\\\n|\\\\r|\".concat(this.escapedDelimiter,\")\")),this.maxRows>0&&(this.limitRows=!0)}},{\"lodash.escaperegexp\":426,\"lodash.isnil\":431}],152:[function(t,e,r){\"use strict\";var n=Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]},i=Object.create?function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}:function(t,e){t.default=e},o=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)\"default\"!==r&&Object.hasOwnProperty.call(t,r)&&n(e,t,r);return i(e,t),e},a=function(t,e){for(var r in t)\"default\"===r||e.hasOwnProperty(r)||n(e,t,r)};Object.defineProperty(r,\"__esModule\",{value:!0}),r.parseString=r.parseFile=r.parseStream=r.parse=void 0;var s=o(t(\"fs\")),u=t(\"stream\"),c=t(\"./ParserOptions\"),f=t(\"./CsvParserStream\");a(t(\"./types\"),r);var l=t(\"./CsvParserStream\");Object.defineProperty(r,\"CsvParserStream\",{enumerable:!0,get:function(){return l.CsvParserStream}});var h=t(\"./ParserOptions\");Object.defineProperty(r,\"ParserOptions\",{enumerable:!0,get:function(){return h.ParserOptions}}),r.parse=function(t){return new f.CsvParserStream(new c.ParserOptions(t))},r.parseStream=function(t,e){return t.pipe(new f.CsvParserStream(new c.ParserOptions(e)))},r.parseFile=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return s.createReadStream(t).pipe(new f.CsvParserStream(new c.ParserOptions(e)))},r.parseString=function(t,e){var r=new u.Readable;return r.push(t),r.push(null),r.pipe(new f.CsvParserStream(new c.ParserOptions(e)))}},{\"./CsvParserStream\":150,\"./ParserOptions\":151,\"./types\":166,fs:215,stream:506}],153:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0;rthis.cursor}},{key:\"nextNonSpaceToken\",get:function(){var t=this.lineFromCursor,e=this.parserOptions.NEXT_TOKEN_REGEXP;if(-1===t.search(e))return null;var r=e.exec(t);if(null==r)return null;var n=r[1],o=this.cursor+(r.index||0);return new i.Token({token:n,startCursor:o,endCursor:o+n.length-1})}},{key:\"nextCharacterToken\",get:function(){var t=this.cursor;return this.lineLength<=t?null:new i.Token({token:this.line[t],startCursor:t,endCursor:t})}},{key:\"lineFromCursor\",get:function(){return this.line.substr(this.cursor)}}])&&n(e.prototype,r),a&&n(e,a),t}();r.Scanner=a},{\"./Token\":156}],156:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0;rthis.headersLength){if(!e.strictColumnHandling)throw new Error(\"Unexpected Error: column header mismatch expected: \".concat(this.headersLength,\" columns got: \").concat(t.length));return{row:t,isValid:!1,reason:\"Column header mismatch expected: \".concat(this.headersLength,\" columns got: \").concat(t.length)}}return e.strictColumnHandling&&t.length1}));throw new Error(\"Duplicate headers found \".concat(JSON.stringify(i)))}this.headers=t,this.receivedHeaders=!0,this.headersLength=(null===(e=this.headers)||void 0===e?void 0:e.length)||0}}])&&n(e.prototype,r),i&&n(e,i),t}();r.HeaderTransformer=c},{\"lodash.groupby\":427,\"lodash.isfunction\":430,\"lodash.isundefined\":432,\"lodash.uniq\":433}],164:[function(t,e,r){\"use strict\";function n(t,e){for(var r=0;r>6],i=0==(32&r);if(31==(31&r)){var o=r;for(r=0;128==(128&o);){if(o=t.readUInt8(e),t.isError(o))return o;r<<=7,r|=127&o}}else r&=31;return{cls:n,primitive:i,tag:r,tagStr:s.tag[r]}}function l(t,e,r){var n=t.readUInt8(r);if(t.isError(n))return n;if(!e&&128===n)return null;if(0==(128&n))return n;var i=127&n;if(i>4)return t.error(\"length octect is too long\");n=0;for(var o=0;o=31)return n.error(\"Multi-octet tag encoding unsupported\");e||(i|=32);return i|=a.tagClassByName[r||\"universal\"]<<6}(t,e,r,this.reporter);if(n.length<128){var s=i.alloc(2);return s[0]=o,s[1]=n.length,this._createEncoderBuffer([s,n])}for(var u=1,c=n.length;c>=256;c>>=8)u++;var f=i.alloc(2+u);f[0]=o,f[1]=128|u;for(var l=1+u,h=n.length;h>0;l--,h>>=8)f[l]=255&h;return this._createEncoderBuffer([f,n])},u.prototype._encodeStr=function(t,e){if(\"bitstr\"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if(\"bmpstr\"===e){for(var r=i.alloc(2*t.length),n=0;n=40)return this.reporter.error(\"Second objid identifier OOB\");t.splice(0,2,40*t[0]+t[1])}for(var a=0,s=0;s=128;u>>=7)a++}for(var c=i.alloc(a),f=c.length-1,l=t.length-1;l>=0;l--){var h=t[l];for(c[f--]=127&h;(h>>=7)>0;)c[f--]=128|127&h}return this._createEncoderBuffer(c)},u.prototype._encodeTime=function(t,e){var r,n=new Date(t);return\"gentime\"===e?r=[c(n.getUTCFullYear()),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),\"Z\"].join(\"\"):\"utctime\"===e?r=[c(n.getUTCFullYear()%100),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),\"Z\"].join(\"\"):this.reporter.error(\"Encoding \"+e+\" time is not supported yet\"),this._encodeStr(r,\"octstr\")},u.prototype._encodeNull=function(){return this._createEncoderBuffer(\"\")},u.prototype._encodeInt=function(t,e){if(\"string\"==typeof t){if(!e)return this.reporter.error(\"String int or enum given, but no values map\");if(!e.hasOwnProperty(t))return this.reporter.error(\"Values map doesn't contain: \"+JSON.stringify(t));t=e[t]}if(\"number\"!=typeof t&&!i.isBuffer(t)){var r=t.toArray();!t.sign&&128&r[0]&&r.unshift(0),t=i.from(r)}if(i.isBuffer(t)){var n=t.length;0===t.length&&n++;var o=i.alloc(n);return t.copy(o),0===t.length&&(o[0]=0),this._createEncoderBuffer(o)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);for(var a=1,s=t;s>=256;s>>=8)a++;for(var u=new Array(a),c=u.length-1;c>=0;c--)u[c]=255&t,t>>=8;return 128&u[0]&&u.unshift(0),this._createEncoderBuffer(i.from(u))},u.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},u.prototype._use=function(t,e){return\"function\"==typeof t&&(t=t(e)),t._getEncoder(\"der\").tree},u.prototype._skipDefault=function(t,e,r){var n,i=this._baseState;if(null===i.default)return!1;var o=t.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,e,r).join()),o.length!==i.defaultBuffer.length)return!1;for(n=0;n=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return n}function c(t,e,r,n){for(var i=0,o=Math.min(t.length,r),a=e;a=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&\"object\"===n(t)&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if(\"number\"==typeof t)return this._initNumber(t,e,r);if(\"object\"===n(t))return this._initArray(t,e,r);\"hex\"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var o=0;\"-\"===(t=t.toString().replace(/\\s+/g,\"\"))[0]&&o++,16===e?this._parseHex(t,o):this._parseBase(t,e,o),\"-\"===t[0]&&(this.negative=1),this.strip(),\"le\"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),\"le\"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(i(\"number\"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if(\"le\"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)i=u(t,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==e&&(i=u(t,e,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,f=r;f1&&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 f=[\"\",\"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],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var c=1;c>>26,l=67108863&u,h=Math.min(c,e.length-1),d=Math.max(0,c-t.length+1);d<=h;d++){var p=c-d|0;f+=(a=(i=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&a}r.words[c]=0|l,u=0|f}return 0!==u?r.words[c]=0|u:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||\"hex\"===t){r=\"\";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?f[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=l[t],d=h[t];r=\"\";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?m+r:f[c-m.length]+m+r}for(this.isZero()&&(r=\"0\"+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}i(!1,\"Base should be between 2 and 36\")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return i(void 0!==s),this.toArrayLike(s,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,\"byte array longer than desired length\"),i(o>0,\"Requested array length <= 0\"),this.strip();var a,s,u=\"le\"===e,c=new t(o),f=this.clone();if(u){for(s=0;!f.isZero();s++)a=f.andln(255),f.iushrn(8),c[s]=a;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i(\"number\"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i(\"number\"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,y=0|a[2],b=8191&y,v=y>>>13,g=0|a[3],w=8191&g,_=g>>>13,k=0|a[4],x=8191&k,S=k>>>13,O=0|a[5],j=8191&O,E=O>>>13,R=0|a[6],T=8191&R,C=R>>>13,P=0|a[7],M=8191&P,A=P>>>13,I=0|a[8],N=8191&I,D=I>>>13,B=0|a[9],F=8191&B,L=B>>>13,z=0|s[0],U=8191&z,H=z>>>13,V=0|s[1],q=8191&V,W=V>>>13,$=0|s[2],X=8191&$,K=$>>>13,Z=0|s[3],Y=8191&Z,G=Z>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ct=st>>>13,ft=0|s[8],lt=8191&ft,ht=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var yt=(c+(n=Math.imul(l,U))|0)+((8191&(i=(i=Math.imul(l,H))+Math.imul(h,U)|0))<<13)|0;c=((o=Math.imul(h,H))+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(p,U),i=(i=Math.imul(p,H))+Math.imul(m,U)|0,o=Math.imul(m,H);var bt=(c+(n=n+Math.imul(l,q)|0)|0)+((8191&(i=(i=i+Math.imul(l,W)|0)+Math.imul(h,q)|0))<<13)|0;c=((o=o+Math.imul(h,W)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,H))+Math.imul(v,U)|0,o=Math.imul(v,H),n=n+Math.imul(p,q)|0,i=(i=i+Math.imul(p,W)|0)+Math.imul(m,q)|0,o=o+Math.imul(m,W)|0;var vt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(i=(i=i+Math.imul(l,K)|0)+Math.imul(h,X)|0))<<13)|0;c=((o=o+Math.imul(h,K)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(w,U),i=(i=Math.imul(w,H))+Math.imul(_,U)|0,o=Math.imul(_,H),n=n+Math.imul(b,q)|0,i=(i=i+Math.imul(b,W)|0)+Math.imul(v,q)|0,o=o+Math.imul(v,W)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,K)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,K)|0;var gt=(c+(n=n+Math.imul(l,Y)|0)|0)+((8191&(i=(i=i+Math.imul(l,G)|0)+Math.imul(h,Y)|0))<<13)|0;c=((o=o+Math.imul(h,G)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(x,U),i=(i=Math.imul(x,H))+Math.imul(S,U)|0,o=Math.imul(S,H),n=n+Math.imul(w,q)|0,i=(i=i+Math.imul(w,W)|0)+Math.imul(_,q)|0,o=o+Math.imul(_,W)|0,n=n+Math.imul(b,X)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,K)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,G)|0;var wt=(c+(n=n+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(h,Q)|0))<<13)|0;c=((o=o+Math.imul(h,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(j,U),i=(i=Math.imul(j,H))+Math.imul(E,U)|0,o=Math.imul(E,H),n=n+Math.imul(x,q)|0,i=(i=i+Math.imul(x,W)|0)+Math.imul(S,q)|0,o=o+Math.imul(S,W)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,K)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,K)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(v,Y)|0,o=o+Math.imul(v,G)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(c+(n=n+Math.imul(l,rt)|0)|0)+((8191&(i=(i=i+Math.imul(l,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((o=o+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,H))+Math.imul(C,U)|0,o=Math.imul(C,H),n=n+Math.imul(j,q)|0,i=(i=i+Math.imul(j,W)|0)+Math.imul(E,q)|0,o=o+Math.imul(E,W)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,K)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,K)|0,n=n+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,Y)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var kt=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,at)|0)+Math.imul(h,ot)|0))<<13)|0;c=((o=o+Math.imul(h,at)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,H))+Math.imul(A,U)|0,o=Math.imul(A,H),n=n+Math.imul(T,q)|0,i=(i=i+Math.imul(T,W)|0)+Math.imul(C,q)|0,o=o+Math.imul(C,W)|0,n=n+Math.imul(j,X)|0,i=(i=i+Math.imul(j,K)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,K)|0,n=n+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(S,Y)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(i=(i=i+Math.imul(l,ct)|0)+Math.imul(h,ut)|0))<<13)|0;c=((o=o+Math.imul(h,ct)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(N,U),i=(i=Math.imul(N,H))+Math.imul(D,U)|0,o=Math.imul(D,H),n=n+Math.imul(M,q)|0,i=(i=i+Math.imul(M,W)|0)+Math.imul(A,q)|0,o=o+Math.imul(A,W)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,K)|0,n=n+Math.imul(j,Y)|0,i=(i=i+Math.imul(j,G)|0)+Math.imul(E,Y)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(b,ot)|0,i=(i=i+Math.imul(b,at)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ct)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ct)|0;var St=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ht)|0)+Math.imul(h,lt)|0))<<13)|0;c=((o=o+Math.imul(h,ht)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(F,U),i=(i=Math.imul(F,H))+Math.imul(L,U)|0,o=Math.imul(L,H),n=n+Math.imul(N,q)|0,i=(i=i+Math.imul(N,W)|0)+Math.imul(D,q)|0,o=o+Math.imul(D,W)|0,n=n+Math.imul(M,X)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,K)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(C,Y)|0,o=o+Math.imul(C,G)|0,n=n+Math.imul(j,Q)|0,i=(i=i+Math.imul(j,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(b,ut)|0,i=(i=i+Math.imul(b,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,i=(i=i+Math.imul(p,ht)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ht)|0;var Ot=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(i=(i=i+Math.imul(l,mt)|0)+Math.imul(h,pt)|0))<<13)|0;c=((o=o+Math.imul(h,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(F,q),i=(i=Math.imul(F,W))+Math.imul(L,q)|0,o=Math.imul(L,W),n=n+Math.imul(N,X)|0,i=(i=i+Math.imul(N,K)|0)+Math.imul(D,X)|0,o=o+Math.imul(D,K)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,G)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,n=n+Math.imul(j,rt)|0,i=(i=i+Math.imul(j,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ct)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ct)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ht)|0;var jt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(jt>>>26)|0,jt&=67108863,n=Math.imul(F,X),i=(i=Math.imul(F,K))+Math.imul(L,X)|0,o=Math.imul(L,K),n=n+Math.imul(N,Y)|0,i=(i=i+Math.imul(N,G)|0)+Math.imul(D,Y)|0,o=o+Math.imul(D,G)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(A,Q)|0,o=o+Math.imul(A,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,nt)|0,n=n+Math.imul(j,ot)|0,i=(i=i+Math.imul(j,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(w,lt)|0,i=(i=i+Math.imul(w,ht)|0)+Math.imul(_,lt)|0,o=o+Math.imul(_,ht)|0;var Et=(c+(n=n+Math.imul(b,pt)|0)|0)+((8191&(i=(i=i+Math.imul(b,mt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(F,Y),i=(i=Math.imul(F,G))+Math.imul(L,Y)|0,o=Math.imul(L,G),n=n+Math.imul(N,Q)|0,i=(i=i+Math.imul(N,tt)|0)+Math.imul(D,Q)|0,o=o+Math.imul(D,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,at)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,n=n+Math.imul(j,ut)|0,i=(i=i+Math.imul(j,ct)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ct)|0,n=n+Math.imul(x,lt)|0,i=(i=i+Math.imul(x,ht)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,ht)|0;var Rt=(c+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;c=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(F,Q),i=(i=Math.imul(F,tt))+Math.imul(L,Q)|0,o=Math.imul(L,tt),n=n+Math.imul(N,rt)|0,i=(i=i+Math.imul(N,nt)|0)+Math.imul(D,rt)|0,o=o+Math.imul(D,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,at)|0,n=n+Math.imul(T,ut)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(C,ut)|0,o=o+Math.imul(C,ct)|0,n=n+Math.imul(j,lt)|0,i=(i=i+Math.imul(j,ht)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ht)|0;var Tt=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(F,rt),i=(i=Math.imul(F,nt))+Math.imul(L,rt)|0,o=Math.imul(L,nt),n=n+Math.imul(N,ot)|0,i=(i=i+Math.imul(N,at)|0)+Math.imul(D,ot)|0,o=o+Math.imul(D,at)|0,n=n+Math.imul(M,ut)|0,i=(i=i+Math.imul(M,ct)|0)+Math.imul(A,ut)|0,o=o+Math.imul(A,ct)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ht)|0;var Ct=(c+(n=n+Math.imul(j,pt)|0)|0)+((8191&(i=(i=i+Math.imul(j,mt)|0)+Math.imul(E,pt)|0))<<13)|0;c=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(F,ot),i=(i=Math.imul(F,at))+Math.imul(L,ot)|0,o=Math.imul(L,at),n=n+Math.imul(N,ut)|0,i=(i=i+Math.imul(N,ct)|0)+Math.imul(D,ut)|0,o=o+Math.imul(D,ct)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(A,lt)|0,o=o+Math.imul(A,ht)|0;var Pt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(C,pt)|0))<<13)|0;c=((o=o+Math.imul(C,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(F,ut),i=(i=Math.imul(F,ct))+Math.imul(L,ut)|0,o=Math.imul(L,ct),n=n+Math.imul(N,lt)|0,i=(i=i+Math.imul(N,ht)|0)+Math.imul(D,lt)|0,o=o+Math.imul(D,ht)|0;var Mt=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((o=o+Math.imul(A,mt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(F,lt),i=(i=Math.imul(F,ht))+Math.imul(L,lt)|0,o=Math.imul(L,ht);var At=(c+(n=n+Math.imul(N,pt)|0)|0)+((8191&(i=(i=i+Math.imul(N,mt)|0)+Math.imul(D,pt)|0))<<13)|0;c=((o=o+Math.imul(D,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863;var It=(c+(n=Math.imul(F,pt))|0)+((8191&(i=(i=Math.imul(F,mt))+Math.imul(L,pt)|0))<<13)|0;return c=((o=Math.imul(L,mt))+(i>>>13)|0)+(It>>>26)|0,It&=67108863,u[0]=yt,u[1]=bt,u[2]=vt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=kt,u[7]=xt,u[8]=St,u[9]=Ot,u[10]=jt,u[11]=Et,u[12]=Rt,u[13]=Tt,u[14]=Ct,u[15]=Pt,u[16]=Mt,u[17]=At,u[18]=It,0!==c&&(u[19]=c,r.length++),r};function m(t,e,r){return(new y).mulp(t,e,r)}function y(t,e){this.x=t,this.y=e}Math.imul||(p=d),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?d(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):m(this,t,e)},y.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},y.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,e+=n/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,c=0;c=0&&(0!==f||c>=n);c--){var l=0|this.words[c];this.words[c]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i(\"number\"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this.strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,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,u=n.length-i.length;if(\"mod\"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var c=0;c=0;l--){var h=67108864*(0|n.words[i.length+l])+(0|n.words[i.length+l-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,l);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,l),n.isZero()||(n.negative^=1);s&&(s.words[l]=h)}return s&&s.strip(),n.strip(),\"div\"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\"mod\"!==e&&(n=s.div.neg()),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\"mod\"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?\"div\"===e?{div:this.divn(t.words[0]),mod:null}:\"mod\"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,\"div\",!1).div},a.prototype.mod=function(t){return this.divmod(t,\"mod\",!1).mod},a.prototype.umod=function(t){return this.divmod(t,\"mod\",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){i(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;n>=0;n--)r=(e*r+(0|this.words[n]))%t;return r},a.prototype.idivn=function(t){i(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var h=0,d=1;0==(e.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(c)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,f=1;0==(e.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var l=0,h=1;0==(r.words[0]&h)&&l<26;++l,h<<=1);if(l>0)for(r.iushrn(l);l-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i(\"number\"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,\"Number is too big\");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new x(t)},a.prototype.toRed=function(t){return i(!this.red,\"Already a number in reduction context\"),i(0===this.negative,\"red works only with positives\"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,\"Already a number in reduction context\"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,\"redAdd works only with red numbers\"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,\"redSub works only with red numbers\"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,\"redISub works only with red numbers\"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,\"redShl works only with red numbers\"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,t)};var b={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function g(){v.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function w(){v.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function _(){v.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function k(){v.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function x(t){if(\"string\"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),\"modulus must be greater than 1\"),this.m=t,this.prime=null}function S(t){x.call(this,t),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 t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},o(g,v),g.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},g.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(b[t])return b[t];var e;if(\"k256\"===t)e=new g;else if(\"p224\"===t)e=new w;else if(\"p192\"===t)e=new _;else{if(\"p25519\"!==t)throw new Error(\"Unknown prime \"+t);e=new k}return b[t]=e,e},x.prototype._verify1=function(t){i(0===t.negative,\"red works only with positives\"),i(t.red,\"red works only with red numbers\")},x.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),\"red works only with positives\"),i(t.red&&t.red===e.red,\"red works only with red numbers\")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},x.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),c=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new a(2*f*f).toRed(this);0!==this.pow(f,c).cmp(u);)f.redIAdd(u);for(var l=this.pow(f,n),h=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(s);){for(var m=d,y=0;0!==m.cmp(s);y++)m=m.redSqr();i(y=0;n--){for(var c=e.words[n],f=u-1;f>=0;f--){var l=c>>f&1;i!==r[0]&&(i=this.sqr(i)),0!==l||0!==o?(o<<=1,o|=l,(4===++s||0===n&&0===f)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new S(t)},o(S,x),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),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)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),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)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e)},{buffer:185}],182:[function(t,e,r){\"use strict\";r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){var e,r,n=c(t),a=n[0],s=n[1],u=new o(function(t,e,r){return 3*(e+r)/4-r}(0,a,s)),f=0,l=s>0?a-4:a;for(r=0;r>16&255,u[f++]=e>>8&255,u[f++]=255&e;2===s&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,u[f++]=255&e);1===s&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,u[f++]=e>>8&255,u[f++]=255&e);return u},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],a=0,s=r-i;as?s:a+16383));1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+\"==\")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+\"=\"));return o.join(\"\")};for(var n=[],i=[],o=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",s=0,u=a.length;s0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=t.indexOf(\"=\");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function f(t,e,r){for(var i,o,a=[],s=e;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join(\"\")}i[\"-\".charCodeAt(0)]=62,i[\"_\".charCodeAt(0)]=63},{}],183:[function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}!function(e,r){function i(t,e){if(!t)throw new Error(e||\"Assertion failed\")}function o(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&(\"le\"!==e&&\"be\"!==e||(r=e,e=10),this._init(t||0,e||10,r||\"be\"))}var s;\"object\"===n(e)?e.exports=a:(void 0).BN=a,a.BN=a,a.wordSize=26;try{s=t(\"buffer\").Buffer}catch(t){}function u(t,e,r){for(var n=0,o=Math.min(t.length,r),a=0,s=e;s=49&&c<=54?c-49+10:c>=17&&c<=22?c-17+10:c,a|=u}return i(!(240&a),\"Invalid character in \"+t),n}function c(t,e,r,n){for(var o=0,a=0,s=Math.min(t.length,r),u=e;u=49?c-49+10:c>=17?c-17+10:c,i(c>=0&&a0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if(\"number\"==typeof t)return this._initNumber(t,e,r);if(\"object\"===n(t))return this._initArray(t,e,r);\"hex\"===e&&(e=16),i(e===(0|e)&&e>=2&&e<=36);var o=0;\"-\"===(t=t.toString().replace(/\\s+/g,\"\"))[0]&&o++,16===e?this._parseHex(t,o):this._parseBase(t,e,o),\"-\"===t[0]&&(this.negative=1),this._strip(),\"le\"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(i(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),\"le\"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(i(\"number\"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if(\"le\"===r)for(n=0,o=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)i=u(t,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==e&&(i=u(t,e,r+6),this.words[n]|=i<>>26-o&4194303),this._strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,f=r;f1&&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},\"undefined\"!=typeof Symbol&&\"function\"==typeof Symbol.for)try{a.prototype[Symbol.for(\"nodejs.util.inspect.custom\")]=l}catch(t){a.prototype.inspect=l}else a.prototype.inspect=l;function l(){return(this.red?\"\"}var h=[\"\",\"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\"],d=[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],p=[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];a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||\"hex\"===t){r=\"\";for(var n=0,o=0,a=0;a>>24-n&16777215)||a!==this.length-1?h[6-u.length]+u+r:u+r,(n+=2)>=26&&(n-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=d[t],f=p[t];r=\"\";var l=this.clone();for(l.negative=0;!l.isZero();){var m=l.modrn(f).toString(t);r=(l=l.idivn(f)).isZero()?m+r:h[c-m.length]+m+r}for(this.isZero()&&(r=\"0\"+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}i(!1,\"Base should be between 2 and 36\")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&i(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16,2)},s&&(a.prototype.toBuffer=function(t,e){return this.toArrayLike(s,t,e)}),a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function m(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var c=1;c>>26,l=67108863&u,h=Math.min(c,e.length-1),d=Math.max(0,c-t.length+1);d<=h;d++){var p=c-d|0;f+=(a=(i=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&a}r.words[c]=0|l,u=0|f}return 0!==u?r.words[c]=0|u:r.length--,r._strip()}a.prototype.toArrayLike=function(t,e,r){this._strip();var n=this.byteLength(),o=r||Math.max(1,n);i(n<=o,\"byte array longer than desired length\"),i(o>0,\"Requested array length <= 0\");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this[\"_toArrayLike\"+(\"le\"===e?\"LE\":\"BE\")](a,n),a},a.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i>8&255),r>16&255),6===o?(r>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r=0&&(t[r--]=a>>8&255),r>=0&&(t[r--]=a>>16&255),6===o?(r>=0&&(t[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){i(\"number\"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this._strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){i(\"number\"==typeof t&&t>=0);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,m=d>>>13,y=0|a[2],b=8191&y,v=y>>>13,g=0|a[3],w=8191&g,_=g>>>13,k=0|a[4],x=8191&k,S=k>>>13,O=0|a[5],j=8191&O,E=O>>>13,R=0|a[6],T=8191&R,C=R>>>13,P=0|a[7],M=8191&P,A=P>>>13,I=0|a[8],N=8191&I,D=I>>>13,B=0|a[9],F=8191&B,L=B>>>13,z=0|s[0],U=8191&z,H=z>>>13,V=0|s[1],q=8191&V,W=V>>>13,$=0|s[2],X=8191&$,K=$>>>13,Z=0|s[3],Y=8191&Z,G=Z>>>13,J=0|s[4],Q=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ut=8191&st,ct=st>>>13,ft=0|s[8],lt=8191&ft,ht=ft>>>13,dt=0|s[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var yt=(c+(n=Math.imul(l,U))|0)+((8191&(i=(i=Math.imul(l,H))+Math.imul(h,U)|0))<<13)|0;c=((o=Math.imul(h,H))+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(p,U),i=(i=Math.imul(p,H))+Math.imul(m,U)|0,o=Math.imul(m,H);var bt=(c+(n=n+Math.imul(l,q)|0)|0)+((8191&(i=(i=i+Math.imul(l,W)|0)+Math.imul(h,q)|0))<<13)|0;c=((o=o+Math.imul(h,W)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,H))+Math.imul(v,U)|0,o=Math.imul(v,H),n=n+Math.imul(p,q)|0,i=(i=i+Math.imul(p,W)|0)+Math.imul(m,q)|0,o=o+Math.imul(m,W)|0;var vt=(c+(n=n+Math.imul(l,X)|0)|0)+((8191&(i=(i=i+Math.imul(l,K)|0)+Math.imul(h,X)|0))<<13)|0;c=((o=o+Math.imul(h,K)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(w,U),i=(i=Math.imul(w,H))+Math.imul(_,U)|0,o=Math.imul(_,H),n=n+Math.imul(b,q)|0,i=(i=i+Math.imul(b,W)|0)+Math.imul(v,q)|0,o=o+Math.imul(v,W)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,K)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,K)|0;var gt=(c+(n=n+Math.imul(l,Y)|0)|0)+((8191&(i=(i=i+Math.imul(l,G)|0)+Math.imul(h,Y)|0))<<13)|0;c=((o=o+Math.imul(h,G)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(x,U),i=(i=Math.imul(x,H))+Math.imul(S,U)|0,o=Math.imul(S,H),n=n+Math.imul(w,q)|0,i=(i=i+Math.imul(w,W)|0)+Math.imul(_,q)|0,o=o+Math.imul(_,W)|0,n=n+Math.imul(b,X)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,K)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,G)|0;var wt=(c+(n=n+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(h,Q)|0))<<13)|0;c=((o=o+Math.imul(h,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(j,U),i=(i=Math.imul(j,H))+Math.imul(E,U)|0,o=Math.imul(E,H),n=n+Math.imul(x,q)|0,i=(i=i+Math.imul(x,W)|0)+Math.imul(S,q)|0,o=o+Math.imul(S,W)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,K)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,K)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(v,Y)|0,o=o+Math.imul(v,G)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var _t=(c+(n=n+Math.imul(l,rt)|0)|0)+((8191&(i=(i=i+Math.imul(l,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((o=o+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,H))+Math.imul(C,U)|0,o=Math.imul(C,H),n=n+Math.imul(j,q)|0,i=(i=i+Math.imul(j,W)|0)+Math.imul(E,q)|0,o=o+Math.imul(E,W)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,K)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,K)|0,n=n+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,Y)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var kt=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,at)|0)+Math.imul(h,ot)|0))<<13)|0;c=((o=o+Math.imul(h,at)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,H))+Math.imul(A,U)|0,o=Math.imul(A,H),n=n+Math.imul(T,q)|0,i=(i=i+Math.imul(T,W)|0)+Math.imul(C,q)|0,o=o+Math.imul(C,W)|0,n=n+Math.imul(j,X)|0,i=(i=i+Math.imul(j,K)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,K)|0,n=n+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(S,Y)|0,o=o+Math.imul(S,G)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0;var xt=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(i=(i=i+Math.imul(l,ct)|0)+Math.imul(h,ut)|0))<<13)|0;c=((o=o+Math.imul(h,ct)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(N,U),i=(i=Math.imul(N,H))+Math.imul(D,U)|0,o=Math.imul(D,H),n=n+Math.imul(M,q)|0,i=(i=i+Math.imul(M,W)|0)+Math.imul(A,q)|0,o=o+Math.imul(A,W)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,K)|0,n=n+Math.imul(j,Y)|0,i=(i=i+Math.imul(j,G)|0)+Math.imul(E,Y)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(b,ot)|0,i=(i=i+Math.imul(b,at)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,at)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ct)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ct)|0;var St=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ht)|0)+Math.imul(h,lt)|0))<<13)|0;c=((o=o+Math.imul(h,ht)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(F,U),i=(i=Math.imul(F,H))+Math.imul(L,U)|0,o=Math.imul(L,H),n=n+Math.imul(N,q)|0,i=(i=i+Math.imul(N,W)|0)+Math.imul(D,q)|0,o=o+Math.imul(D,W)|0,n=n+Math.imul(M,X)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,K)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(C,Y)|0,o=o+Math.imul(C,G)|0,n=n+Math.imul(j,Q)|0,i=(i=i+Math.imul(j,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(S,rt)|0,o=o+Math.imul(S,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(b,ut)|0,i=(i=i+Math.imul(b,ct)|0)+Math.imul(v,ut)|0,o=o+Math.imul(v,ct)|0,n=n+Math.imul(p,lt)|0,i=(i=i+Math.imul(p,ht)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ht)|0;var Ot=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(i=(i=i+Math.imul(l,mt)|0)+Math.imul(h,pt)|0))<<13)|0;c=((o=o+Math.imul(h,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(F,q),i=(i=Math.imul(F,W))+Math.imul(L,q)|0,o=Math.imul(L,W),n=n+Math.imul(N,X)|0,i=(i=i+Math.imul(N,K)|0)+Math.imul(D,X)|0,o=o+Math.imul(D,K)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,G)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,n=n+Math.imul(j,rt)|0,i=(i=i+Math.imul(j,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,at)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,ct)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,ct)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ht)|0;var jt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(jt>>>26)|0,jt&=67108863,n=Math.imul(F,X),i=(i=Math.imul(F,K))+Math.imul(L,X)|0,o=Math.imul(L,K),n=n+Math.imul(N,Y)|0,i=(i=i+Math.imul(N,G)|0)+Math.imul(D,Y)|0,o=o+Math.imul(D,G)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(A,Q)|0,o=o+Math.imul(A,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,nt)|0,n=n+Math.imul(j,ot)|0,i=(i=i+Math.imul(j,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,ct)|0)+Math.imul(S,ut)|0,o=o+Math.imul(S,ct)|0,n=n+Math.imul(w,lt)|0,i=(i=i+Math.imul(w,ht)|0)+Math.imul(_,lt)|0,o=o+Math.imul(_,ht)|0;var Et=(c+(n=n+Math.imul(b,pt)|0)|0)+((8191&(i=(i=i+Math.imul(b,mt)|0)+Math.imul(v,pt)|0))<<13)|0;c=((o=o+Math.imul(v,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(F,Y),i=(i=Math.imul(F,G))+Math.imul(L,Y)|0,o=Math.imul(L,G),n=n+Math.imul(N,Q)|0,i=(i=i+Math.imul(N,tt)|0)+Math.imul(D,Q)|0,o=o+Math.imul(D,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,at)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,at)|0,n=n+Math.imul(j,ut)|0,i=(i=i+Math.imul(j,ct)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ct)|0,n=n+Math.imul(x,lt)|0,i=(i=i+Math.imul(x,ht)|0)+Math.imul(S,lt)|0,o=o+Math.imul(S,ht)|0;var Rt=(c+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;c=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(F,Q),i=(i=Math.imul(F,tt))+Math.imul(L,Q)|0,o=Math.imul(L,tt),n=n+Math.imul(N,rt)|0,i=(i=i+Math.imul(N,nt)|0)+Math.imul(D,rt)|0,o=o+Math.imul(D,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,at)|0,n=n+Math.imul(T,ut)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(C,ut)|0,o=o+Math.imul(C,ct)|0,n=n+Math.imul(j,lt)|0,i=(i=i+Math.imul(j,ht)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ht)|0;var Tt=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(S,pt)|0))<<13)|0;c=((o=o+Math.imul(S,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(F,rt),i=(i=Math.imul(F,nt))+Math.imul(L,rt)|0,o=Math.imul(L,nt),n=n+Math.imul(N,ot)|0,i=(i=i+Math.imul(N,at)|0)+Math.imul(D,ot)|0,o=o+Math.imul(D,at)|0,n=n+Math.imul(M,ut)|0,i=(i=i+Math.imul(M,ct)|0)+Math.imul(A,ut)|0,o=o+Math.imul(A,ct)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ht)|0;var Ct=(c+(n=n+Math.imul(j,pt)|0)|0)+((8191&(i=(i=i+Math.imul(j,mt)|0)+Math.imul(E,pt)|0))<<13)|0;c=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(F,ot),i=(i=Math.imul(F,at))+Math.imul(L,ot)|0,o=Math.imul(L,at),n=n+Math.imul(N,ut)|0,i=(i=i+Math.imul(N,ct)|0)+Math.imul(D,ut)|0,o=o+Math.imul(D,ct)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(A,lt)|0,o=o+Math.imul(A,ht)|0;var Pt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(C,pt)|0))<<13)|0;c=((o=o+Math.imul(C,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(F,ut),i=(i=Math.imul(F,ct))+Math.imul(L,ut)|0,o=Math.imul(L,ct),n=n+Math.imul(N,lt)|0,i=(i=i+Math.imul(N,ht)|0)+Math.imul(D,lt)|0,o=o+Math.imul(D,ht)|0;var Mt=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((o=o+Math.imul(A,mt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(F,lt),i=(i=Math.imul(F,ht))+Math.imul(L,lt)|0,o=Math.imul(L,ht);var At=(c+(n=n+Math.imul(N,pt)|0)|0)+((8191&(i=(i=i+Math.imul(N,mt)|0)+Math.imul(D,pt)|0))<<13)|0;c=((o=o+Math.imul(D,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863;var It=(c+(n=Math.imul(F,pt))|0)+((8191&(i=(i=Math.imul(F,mt))+Math.imul(L,pt)|0))<<13)|0;return c=((o=Math.imul(L,mt))+(i>>>13)|0)+(It>>>26)|0,It&=67108863,u[0]=yt,u[1]=bt,u[2]=vt,u[3]=gt,u[4]=wt,u[5]=_t,u[6]=kt,u[7]=xt,u[8]=St,u[9]=Ot,u[10]=jt,u[11]=Et,u[12]=Rt,u[13]=Tt,u[14]=Ct,u[15]=Pt,u[16]=Mt,u[17]=At,u[18]=It,0!==c&&(u[19]=c,r.length++),r};function b(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function v(t,e,r){return b(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(y=m),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?y(this,t,e):r<63?m(this,t,e):r<1024?b(this,t,e):v(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a>=26,r+=o/67108864|0,r+=a>>>26,this.words[n]=67108863&a}return 0!==r&&(this.words[n]=r,this.length++),e?this.ineg():this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i&1}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,n=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e=0),n=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,c=0;c=0&&(0!==f||c>=n);c--){var l=0|this.words[c];this.words[c]=f<<26-o|l>>>o,f=l&s}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},a.prototype.ishrn=function(t,e,r){return i(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){i(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,n=1<=0);var e=t%26,r=(t-e)/26;if(i(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var n=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(i(\"number\"==typeof t),i(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[n+r]=67108863&o}for(;n>26,this.words[n+r]=67108863&o;if(0===s)return this._strip();for(i(-1===s),s=0,n=0;n>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,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,u=n.length-i.length;if(\"mod\"!==e){(s=new a(null)).length=u+1,s.words=new Array(s.length);for(var c=0;c=0;l--){var h=67108864*(0|n.words[i.length+l])+(0|n.words[i.length+l-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,l);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,l),n.isZero()||(n.negative^=1);s&&(s.words[l]=h)}return s&&s._strip(),n._strip(),\"div\"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return i(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\"mod\"!==e&&(n=s.div.neg()),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:n,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\"mod\"!==e&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?\"div\"===e?{div:this.divn(t.words[0]),mod:null}:\"mod\"===e?{div:null,mod:new a(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modrn(t.words[0]))}:this._wordDiv(t,e);var n,o,s},a.prototype.div=function(t){return this.divmod(t,\"div\",!1).div},a.prototype.mod=function(t){return this.divmod(t,\"mod\",!1).mod},a.prototype.umod=function(t){return this.divmod(t,\"mod\",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modrn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(r*n+(0|this.words[o]))%t;return e?-n:n},a.prototype.modn=function(t){return this.modrn(t)},a.prototype.idivn=function(t){var e=t<0;e&&(t=-t),i(t<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*r;this.words[n]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new a(1),o=new a(0),s=new a(0),u=new a(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var f=r.clone(),l=e.clone();!e.isZero();){for(var h=0,d=1;0==(e.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(n.isOdd()||o.isOdd())&&(n.iadd(f),o.isub(l)),n.iushrn(1),o.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(l)),s.iushrn(1),u.iushrn(1);e.cmp(r)>=0?(e.isub(r),n.isub(s),o.isub(u)):(r.isub(e),s.isub(n),u.isub(o))}return{a:s,b:u,gcd:r.iushln(c)}},a.prototype._invmp=function(t){i(0===t.negative),i(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n,o=new a(1),s=new a(0),u=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,f=1;0==(e.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var l=0,h=1;0==(r.words[0]&h)&&l<26;++l,h<<=1);if(l>0)for(r.iushrn(l);l-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(n=0===e.cmpn(1)?o:s).cmpn(0)<0&&n.iadd(t),n},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){i(\"number\"==typeof t);var e=t%26,r=(t-e)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),i(t<=67108863,\"Number is too big\");var n=0|this.words[0];e=n===t?0:nt.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new j(t)},a.prototype.toRed=function(t){return i(!this.red,\"Already a number in reduction context\"),i(0===this.negative,\"red works only with positives\"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return i(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return i(!this.red,\"Already a number in reduction context\"),this._forceRed(t)},a.prototype.redAdd=function(t){return i(this.red,\"redAdd works only with red numbers\"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return i(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return i(this.red,\"redSub works only with red numbers\"),this.red.sub(this,t)},a.prototype.redISub=function(t){return i(this.red,\"redISub works only with red numbers\"),this.red.isub(this,t)},a.prototype.redShl=function(t){return i(this.red,\"redShl works only with red numbers\"),this.red.shl(this,t)},a.prototype.redMul=function(t){return i(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return i(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return i(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return i(this.red&&!t.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,t)};var w={k256:null,p224:null,p192:null,p25519:null};function _(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function k(){_.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function x(){_.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function S(){_.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function O(){_.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function j(t){if(\"string\"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else i(t.gtn(1),\"modulus must be greater than 1\"),this.m=t,this.prime=null}function E(t){j.call(this,t),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)}_.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},_.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},_.prototype.split=function(t,e){t.iushrn(this.n,0,e)},_.prototype.imulK=function(t){return t.imul(this.k)},o(k,_),k.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},k.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(w[t])return w[t];var e;if(\"k256\"===t)e=new k;else if(\"p224\"===t)e=new x;else if(\"p192\"===t)e=new S;else{if(\"p25519\"!==t)throw new Error(\"Unknown prime \"+t);e=new O}return w[t]=e,e},j.prototype._verify1=function(t){i(0===t.negative,\"red works only with positives\"),i(t.red,\"red works only with red numbers\")},j.prototype._verify2=function(t,e){i(0==(t.negative|e.negative),\"red works only with positives\"),i(t.red&&t.red===e.red,\"red works only with red numbers\")},j.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(f(t,t.umod(this.m)._forceRed(this)),t)},j.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},j.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},j.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},j.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},j.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},j.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},j.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},j.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},j.prototype.isqr=function(t){return this.imul(t,t.clone())},j.prototype.sqr=function(t){return this.mul(t,t)},j.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(i(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),o=0;!n.isZero()&&0===n.andln(1);)o++,n.iushrn(1);i(!n.isZero());var s=new a(1).toRed(this),u=s.redNeg(),c=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new a(2*f*f).toRed(this);0!==this.pow(f,c).cmp(u);)f.redIAdd(u);for(var l=this.pow(f,n),h=this.pow(t,n.addn(1).iushrn(1)),d=this.pow(t,n),p=o;0!==d.cmp(s);){for(var m=d,y=0;0!==m.cmp(s);y++)m=m.redSqr();i(y=0;n--){for(var c=e.words[n],f=u-1;f>=0;f--){var l=c>>f&1;i!==r[0]&&(i=this.sqr(i)),0!==l||0!==o?(o<<=1,o|=l,(4===++s||0===n&&0===f)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}u=26}return i},j.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},j.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new E(t)},o(E,j),E.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},E.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},E.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),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)},E.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),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)},E.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e)},{buffer:185}],184:[function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var i;function o(t){this.rand=t}if(e.exports=function(t){return i||(i=new o(null)),i.generate(t)},e.exports.Rand=o,o.prototype.generate=function(t){return this._rand(t)},o.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),r=0;r>>24]^f[p>>>16&255]^l[m>>>8&255]^h[255&y]^e[b++],a=c[p>>>24]^f[m>>>16&255]^l[y>>>8&255]^h[255&d]^e[b++],s=c[m>>>24]^f[y>>>16&255]^l[d>>>8&255]^h[255&p]^e[b++],u=c[y>>>24]^f[d>>>16&255]^l[p>>>8&255]^h[255&m]^e[b++],d=o,p=a,m=s,y=u;return o=(n[d>>>24]<<24|n[p>>>16&255]<<16|n[m>>>8&255]<<8|n[255&y])^e[b++],a=(n[p>>>24]<<24|n[m>>>16&255]<<16|n[y>>>8&255]<<8|n[255&d])^e[b++],s=(n[m>>>24]<<24|n[y>>>16&255]<<16|n[d>>>8&255]<<8|n[255&p])^e[b++],u=(n[y>>>24]<<24|n[d>>>16&255]<<16|n[p>>>8&255]<<8|n[255&m])^e[b++],[o>>>=0,a>>>=0,s>>>=0,u>>>=0]}var s=[0,1,2,4,8,16,32,64,128,27,54],u=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],n=[],i=[[],[],[],[]],o=[[],[],[],[]],a=0,s=0,u=0;u<256;++u){var c=s^s<<1^s<<2^s<<3^s<<4;c=c>>>8^255&c^99,r[a]=c,n[c]=a;var f=t[a],l=t[f],h=t[l],d=257*t[c]^16843008*c;i[0][a]=d<<24|d>>>8,i[1][a]=d<<16|d>>>16,i[2][a]=d<<8|d>>>24,i[3][a]=d,d=16843009*h^65537*l^257*f^16843008*a,o[0][c]=d<<24|d>>>8,o[1][c]=d<<16|d>>>16,o[2][c]=d<<8|d>>>24,o[3][c]=d,0===a?a=s=1:(a=f^t[t[t[h^f]]],s^=t[t[s]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:o}}();function c(t){this._key=i(t),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,n=4*(r+1),i=[],o=0;o>>24,a=u.SBOX[a>>>24]<<24|u.SBOX[a>>>16&255]<<16|u.SBOX[a>>>8&255]<<8|u.SBOX[255&a],a^=s[o/e|0]<<24):e>6&&o%e==4&&(a=u.SBOX[a>>>24]<<24|u.SBOX[a>>>16&255]<<16|u.SBOX[a>>>8&255]<<8|u.SBOX[255&a]),i[o]=i[o-e]^a}for(var c=[],f=0;f>>24]]^u.INV_SUB_MIX[1][u.SBOX[h>>>16&255]]^u.INV_SUB_MIX[2][u.SBOX[h>>>8&255]]^u.INV_SUB_MIX[3][u.SBOX[255&h]]}this._nRounds=r,this._keySchedule=i,this._invKeySchedule=c},c.prototype.encryptBlockRaw=function(t){return a(t=i(t),this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},c.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=n.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},c.prototype.decryptBlock=function(t){var e=(t=i(t))[1];t[1]=t[3],t[3]=e;var r=a(t,this._invKeySchedule,u.INV_SUB_MIX,u.INV_SBOX,this._nRounds),o=n.allocUnsafe(16);return o.writeUInt32BE(r[0],0),o.writeUInt32BE(r[3],4),o.writeUInt32BE(r[2],8),o.writeUInt32BE(r[1],12),o},c.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},e.exports.AES=c},{\"safe-buffer\":494}],187:[function(t,e,r){\"use strict\";var n=t(\"./aes\"),i=t(\"safe-buffer\").Buffer,o=t(\"cipher-base\"),a=t(\"inherits\"),s=t(\"./ghash\"),u=t(\"buffer-xor\"),c=t(\"./incr32\");function f(t,e,r,a){o.call(this);var u=i.alloc(4,0);this._cipher=new n.AES(e);var f=this._cipher.encryptBlock(u);this._ghash=new s(f),r=function(t,e,r){if(12===e.length)return t._finID=i.concat([e,i.from([0,0,0,1])]),i.concat([e,i.from([0,0,0,2])]);var n=new s(r),o=e.length,a=o%16;n.update(e),a&&(a=16-a,n.update(i.alloc(a,0))),n.update(i.alloc(8,0));var u=8*o,f=i.alloc(8);f.writeUIntBE(u,0,8),n.update(f),t._finID=n.state;var l=i.from(t._finID);return c(l),l}(this,r,f),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=a,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}a(f,o),f.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=i.alloc(e,0),this._ghash.update(e))}this._called=!0;var r=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(r),this._len+=t.length,r},f.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error(\"Unsupported state or unable to authenticate data\");var t=u(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var r=0;t.length!==e.length&&r++;for(var n=Math.min(t.length,e.length),i=0;i16)throw new Error(\"unable to decrypt data\");var r=-1;for(;++r16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},l.prototype.flush=function(){if(this.cache.length)return this.cache},r.createDecipher=function(t,e){var r=o[t.toLowerCase()];if(!r)throw new TypeError(\"invalid suite type\");var n=c(e,!1,r.key,r.iv);return h(t,n.key,n.iv)},r.createDecipheriv=h},{\"./aes\":186,\"./authCipher\":187,\"./modes\":199,\"./streamCipher\":202,\"cipher-base\":218,evp_bytestokey:368,inherits:387,\"safe-buffer\":494}],190:[function(t,e,r){\"use strict\";var n=t(\"./modes\"),i=t(\"./authCipher\"),o=t(\"safe-buffer\").Buffer,a=t(\"./streamCipher\"),s=t(\"cipher-base\"),u=t(\"./aes\"),c=t(\"evp_bytestokey\");function f(t,e,r){s.call(this),this._cache=new h,this._cipher=new u.AES(e),this._prev=o.from(r),this._mode=t,this._autopadding=!0}t(\"inherits\")(f,s),f.prototype._update=function(t){var e,r;this._cache.add(t);for(var n=[];e=this._cache.get();)r=this._mode.encrypt(this,e),n.push(r);return o.concat(n)};var l=o.alloc(16,16);function h(){this.cache=o.allocUnsafe(0)}function d(t,e,r){var s=n[t.toLowerCase()];if(!s)throw new TypeError(\"invalid suite type\");if(\"string\"==typeof e&&(e=o.from(e)),e.length!==s.key/8)throw new TypeError(\"invalid key length \"+e.length);if(\"string\"==typeof r&&(r=o.from(r)),\"GCM\"!==s.mode&&r.length!==s.iv)throw new TypeError(\"invalid iv length \"+r.length);return\"stream\"===s.type?new a(s.module,e,r):\"auth\"===s.type?new i(s.module,e,r):new f(s.module,e,r)}f.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(l))throw this._cipher.scrub(),new Error(\"data not multiple of block length\")},f.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},h.prototype.add=function(t){this.cache=o.concat([this.cache,t])},h.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},h.prototype.flush=function(){for(var t=16-this.cache.length,e=o.allocUnsafe(t),r=-1;++r>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function a(t){this.h=t,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}a.prototype.ghash=function(t){for(var e=-1;++e0;e--)n[e]=n[e]>>>1|(1&n[e-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=o(i)},a.prototype.update=function(t){var e;for(this.cache=n.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},a.prototype.final=function(t,e){return this.cache.length&&this.ghash(n.concat([this.cache,i],16)),this.ghash(o([0,t,0,e])),this.state},e.exports=a},{\"safe-buffer\":494}],192:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=t.length;r--;){if(255!==(e=t.readUInt8(r))){e++,t.writeUInt8(e,r);break}t.writeUInt8(0,r)}}},{}],193:[function(t,e,r){\"use strict\";var n=t(\"buffer-xor\");r.encrypt=function(t,e){var r=n(e,t._prev);return t._prev=t._cipher.encryptBlock(r),t._prev},r.decrypt=function(t,e){var r=t._prev;t._prev=e;var i=t._cipher.decryptBlock(e);return n(i,r)}},{\"buffer-xor\":217}],194:[function(t,e,r){\"use strict\";var n=t(\"safe-buffer\").Buffer,i=t(\"buffer-xor\");function o(t,e,r){var o=e.length,a=i(e,t._cache);return t._cache=t._cache.slice(o),t._prev=n.concat([t._prev,r?e:a]),a}r.encrypt=function(t,e,r){for(var i,a=n.allocUnsafe(0);e.length;){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=n.allocUnsafe(0)),!(t._cache.length<=e.length)){a=n.concat([a,o(t,e,r)]);break}i=t._cache.length,a=n.concat([a,o(t,e.slice(0,i),r)]),e=e.slice(i)}return a}},{\"buffer-xor\":217,\"safe-buffer\":494}],195:[function(t,e,r){\"use strict\";var n=t(\"safe-buffer\").Buffer;function i(t,e,r){for(var n,i,a=-1,s=0;++a<8;)n=e&1<<7-a?128:0,s+=(128&(i=t._cipher.encryptBlock(t._prev)[0]^n))>>a%8,t._prev=o(t._prev,r?n:i);return s}function o(t,e){var r=t.length,i=-1,o=n.allocUnsafe(t.length);for(t=n.concat([t,n.from([e])]);++i>7;return o}r.encrypt=function(t,e,r){for(var o=e.length,a=n.allocUnsafe(o),s=-1;++s=0||!r.umod(t.prime1)||!r.umod(t.prime2);)r=new n(i(e));return r}e.exports=o,o.getr=a}).call(this,t(\"buffer\").Buffer)},{\"bn.js\":207,buffer:216,randombytes:475}],207:[function(t,e,r){arguments[4][181][0].apply(r,arguments)},{buffer:185,dup:181}],208:[function(t,e,r){\"use strict\";e.exports=t(\"./browser/algorithms.json\")},{\"./browser/algorithms.json\":209}],209:[function(t,e,r){e.exports={sha224WithRSAEncryption:{sign:\"rsa\",hash:\"sha224\",id:\"302d300d06096086480165030402040500041c\"},\"RSA-SHA224\":{sign:\"ecdsa/rsa\",hash:\"sha224\",id:\"302d300d06096086480165030402040500041c\"},sha256WithRSAEncryption:{sign:\"rsa\",hash:\"sha256\",id:\"3031300d060960864801650304020105000420\"},\"RSA-SHA256\":{sign:\"ecdsa/rsa\",hash:\"sha256\",id:\"3031300d060960864801650304020105000420\"},sha384WithRSAEncryption:{sign:\"rsa\",hash:\"sha384\",id:\"3041300d060960864801650304020205000430\"},\"RSA-SHA384\":{sign:\"ecdsa/rsa\",hash:\"sha384\",id:\"3041300d060960864801650304020205000430\"},sha512WithRSAEncryption:{sign:\"rsa\",hash:\"sha512\",id:\"3051300d060960864801650304020305000440\"},\"RSA-SHA512\":{sign:\"ecdsa/rsa\",hash:\"sha512\",id:\"3051300d060960864801650304020305000440\"},\"RSA-SHA1\":{sign:\"rsa\",hash:\"sha1\",id:\"3021300906052b0e03021a05000414\"},\"ecdsa-with-SHA1\":{sign:\"ecdsa\",hash:\"sha1\",id:\"\"},sha256:{sign:\"ecdsa\",hash:\"sha256\",id:\"\"},sha224:{sign:\"ecdsa\",hash:\"sha224\",id:\"\"},sha384:{sign:\"ecdsa\",hash:\"sha384\",id:\"\"},sha512:{sign:\"ecdsa\",hash:\"sha512\",id:\"\"},\"DSA-SHA\":{sign:\"dsa\",hash:\"sha1\",id:\"\"},\"DSA-SHA1\":{sign:\"dsa\",hash:\"sha1\",id:\"\"},DSA:{sign:\"dsa\",hash:\"sha1\",id:\"\"},\"DSA-WITH-SHA224\":{sign:\"dsa\",hash:\"sha224\",id:\"\"},\"DSA-SHA224\":{sign:\"dsa\",hash:\"sha224\",id:\"\"},\"DSA-WITH-SHA256\":{sign:\"dsa\",hash:\"sha256\",id:\"\"},\"DSA-SHA256\":{sign:\"dsa\",hash:\"sha256\",id:\"\"},\"DSA-WITH-SHA384\":{sign:\"dsa\",hash:\"sha384\",id:\"\"},\"DSA-SHA384\":{sign:\"dsa\",hash:\"sha384\",id:\"\"},\"DSA-WITH-SHA512\":{sign:\"dsa\",hash:\"sha512\",id:\"\"},\"DSA-SHA512\":{sign:\"dsa\",hash:\"sha512\",id:\"\"},\"DSA-RIPEMD160\":{sign:\"dsa\",hash:\"rmd160\",id:\"\"},ripemd160WithRSA:{sign:\"rsa\",hash:\"rmd160\",id:\"3021300906052b2403020105000414\"},\"RSA-RIPEMD160\":{sign:\"rsa\",hash:\"rmd160\",id:\"3021300906052b2403020105000414\"},md5WithRSAEncryption:{sign:\"rsa\",hash:\"md5\",id:\"3020300c06082a864886f70d020505000410\"},\"RSA-MD5\":{sign:\"rsa\",hash:\"md5\",id:\"3020300c06082a864886f70d020505000410\"}}},{}],210:[function(t,e,r){e.exports={\"1.3.132.0.10\":\"secp256k1\",\"1.3.132.0.33\":\"p224\",\"1.2.840.10045.3.1.1\":\"p192\",\"1.2.840.10045.3.1.7\":\"p256\",\"1.3.132.0.34\":\"p384\",\"1.3.132.0.35\":\"p521\"}},{}],211:[function(t,e,r){\"use strict\";var n=t(\"safe-buffer\").Buffer,i=t(\"create-hash\"),o=t(\"readable-stream\"),a=t(\"inherits\"),s=t(\"./sign\"),u=t(\"./verify\"),c=t(\"./algorithms.json\");function f(t){o.Writable.call(this);var e=c[t];if(!e)throw new Error(\"Unknown message digest\");this._hashType=e.hash,this._hash=i(e.hash),this._tag=e.id,this._signType=e.sign}function l(t){o.Writable.call(this);var e=c[t];if(!e)throw new Error(\"Unknown message digest\");this._hash=i(e.hash),this._tag=e.id,this._signType=e.sign}function h(t){return new f(t)}function d(t){return new l(t)}Object.keys(c).forEach((function(t){c[t].id=n.from(c[t].id,\"hex\"),c[t.toLowerCase()]=c[t]})),a(f,o.Writable),f.prototype._write=function(t,e,r){this._hash.update(t),r()},f.prototype.update=function(t,e){return\"string\"==typeof t&&(t=n.from(t,e)),this._hash.update(t),this},f.prototype.sign=function(t,e){this.end();var r=this._hash.digest(),n=s(r,t,this._hashType,this._signType,this._tag);return e?n.toString(e):n},a(l,o.Writable),l.prototype._write=function(t,e,r){this._hash.update(t),r()},l.prototype.update=function(t,e){return\"string\"==typeof t&&(t=n.from(t,e)),this._hash.update(t),this},l.prototype.verify=function(t,e,r){\"string\"==typeof e&&(e=n.from(e,r)),this.end();var i=this._hash.digest();return u(e,i,t,this._signType,this._tag)},e.exports={Sign:h,Verify:d,createSign:h,createVerify:d}},{\"./algorithms.json\":209,\"./sign\":212,\"./verify\":213,\"create-hash\":331,inherits:387,\"readable-stream\":491,\"safe-buffer\":214}],212:[function(t,e,r){\"use strict\";var n=t(\"safe-buffer\").Buffer,i=t(\"create-hmac\"),o=t(\"browserify-rsa\"),a=t(\"elliptic\").ec,s=t(\"bn.js\"),u=t(\"parse-asn1\"),c=t(\"./curves.json\");function f(t,e,r,o){if((t=n.from(t.toArray())).length0&&r.ishrn(n),r}function h(t,e,r){var o,a;do{for(o=n.alloc(0);8*o.length=e)throw new Error(\"invalid sig\")}e.exports=function(t,e,r,c,f){var l=a(r);if(\"ec\"===l.type){if(\"ecdsa\"!==c&&\"ecdsa/rsa\"!==c)throw new Error(\"wrong public key type\");return function(t,e,r){var n=s[r.data.algorithm.curve.join(\".\")];if(!n)throw new Error(\"unknown curve \"+r.data.algorithm.curve.join(\".\"));var i=new o(n),a=r.data.subjectPrivateKey.data;return i.verify(e,t,a)}(t,e,l)}if(\"dsa\"===l.type){if(\"dsa\"!==c)throw new Error(\"wrong public key type\");return function(t,e,r){var n=r.data.p,o=r.data.q,s=r.data.g,c=r.data.pub_key,f=a.signature.decode(t,\"der\"),l=f.s,h=f.r;u(l,o),u(h,o);var d=i.mont(n),p=l.invm(o);return 0===s.toRed(d).redPow(new i(e).mul(p).mod(o)).fromRed().mul(c.toRed(d).redPow(h.mul(p).mod(o)).fromRed()).mod(n).mod(o).cmp(h)}(t,e,l)}if(\"rsa\"!==c&&\"ecdsa/rsa\"!==c)throw new Error(\"wrong public key type\");e=n.concat([f,e]);for(var h=l.modulus.byteLength(),d=[1],p=0;e.length+d.length+2 */var n=t(\"buffer\"),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function a(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(o(n,r),r.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(t,e,r){if(\"number\"==typeof t)throw new TypeError(\"Argument must not be a number\");return i(t,e,r)},a.alloc=function(t,e,r){if(\"number\"!=typeof t)throw new TypeError(\"Argument must be a number\");var n=i(t);return void 0!==e?\"string\"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},a.allocUnsafe=function(t){if(\"number\"!=typeof t)throw new TypeError(\"Argument must be a number\");return i(t)},a.allocUnsafeSlow=function(t){if(\"number\"!=typeof t)throw new TypeError(\"Argument must be a number\");return n.SlowBuffer(t)}},{buffer:216}],215:[function(t,e,r){arguments[4][185][0].apply(r,arguments)},{dup:185}],216:[function(t,e,r){(function(e){\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var i=t(\"base64-js\"),o=t(\"ieee754\");r.Buffer=e,r.SlowBuffer=function(t){+t!=t&&(t=0);return e.alloc(+t)},r.INSPECT_MAX_BYTES=50;function a(t){if(t>2147483647)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var r=new Uint8Array(t);return r.__proto__=e.prototype,r}function e(t,e,r){if(\"number\"==typeof t){if(\"string\"==typeof e)throw new TypeError('The \"string\" argument must be of type string. Received type number');return c(t)}return s(t,e,r)}function s(t,r,i){if(\"string\"==typeof t)return function(t,r){\"string\"==typeof r&&\"\"!==r||(r=\"utf8\");if(!e.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r);var n=0|h(t,r),i=a(n),o=i.write(t,r);o!==n&&(i=i.slice(0,o));return i}(t,r);if(ArrayBuffer.isView(t))return f(t);if(null==t)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+n(t));if(L(t,ArrayBuffer)||t&&L(t.buffer,ArrayBuffer))return function(t,r,n){if(r<0||t.byteLength=2147483647)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+2147483647..toString(16)+\" bytes\");return 0|t}function h(t,r){if(e.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||L(t,ArrayBuffer))return t.byteLength;if(\"string\"!=typeof t)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+n(t));var i=t.length,o=arguments.length>2&&!0===arguments[2];if(!o&&0===i)return 0;for(var a=!1;;)switch(r){case\"ascii\":case\"latin1\":case\"binary\":return i;case\"utf8\":case\"utf-8\":return D(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*i;case\"hex\":return i>>>1;case\"base64\":return B(t).length;default:if(a)return o?-1:D(t).length;r=(\"\"+r).toLowerCase(),a=!0}}function d(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return E(this,e,r);case\"utf8\":case\"utf-8\":return S(this,e,r);case\"ascii\":return O(this,e,r);case\"latin1\":case\"binary\":return j(this,e,r);case\"base64\":return x(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return R(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function p(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function m(t,r,n,i,o){if(0===t.length)return-1;if(\"string\"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),z(n=+n)&&(n=o?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(o)return-1;n=t.length-1}else if(n<0){if(!o)return-1;n=0}if(\"string\"==typeof r&&(r=e.from(r,i)),e.isBuffer(r))return 0===r.length?-1:y(t,r,n,i,o);if(\"number\"==typeof r)return r&=255,\"function\"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(t,r,n):Uint8Array.prototype.lastIndexOf.call(t,r,n):y(t,[r],n,i,o);throw new TypeError(\"val must be string, number or Buffer\")}function y(t,e,r,n,i){var o,a=1,s=t.length,u=e.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,r/=2}function c(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var f=-1;for(o=r;os&&(r=s-u),o=r;o>=0;o--){for(var l=!0,h=0;hi&&(n=i):n=i;var o=e.length;n>o/2&&(n=o/2);for(var a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function x(t,e,r){return 0===e&&r===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,r))}function S(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+l<=r)switch(l){case 1:c<128&&(f=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(f=u);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(u=(15&c)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(f=u);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(f=u)}null===f?(f=65533,l=1):f>65535&&(f-=65536,n.push(f>>>10&1023|55296),f=56320|1023&f),n.push(f),i+=l}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;ne&&(t+=\" ... \"),\"\"},e.prototype.compare=function(t,r,i,o,a){if(L(t,Uint8Array)&&(t=e.from(t,t.offset,t.byteLength)),!e.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+n(t));if(void 0===r&&(r=0),void 0===i&&(i=t?t.length:0),void 0===o&&(o=0),void 0===a&&(a=this.length),r<0||i>t.length||o<0||a>this.length)throw new RangeError(\"out of range index\");if(o>=a&&r>=i)return 0;if(o>=a)return-1;if(r>=i)return 1;if(this===t)return 0;for(var s=(a>>>=0)-(o>>>=0),u=(i>>>=0)-(r>>>=0),c=Math.min(s,u),f=this.slice(o,a),l=t.slice(r,i),h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var o=!1;;)switch(n){case\"hex\":return b(this,t,e,r);case\"utf8\":case\"utf-8\":return v(this,t,e,r);case\"ascii\":return g(this,t,e,r);case\"latin1\":case\"binary\":return w(this,t,e,r);case\"base64\":return _(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return k(this,t,e,r);default:if(o)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),o=!0}},e.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function O(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i=\"\",o=e;or)throw new RangeError(\"Trying to access beyond buffer length\")}function C(t,r,n,i,o,a){if(!e.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(r>o||rt.length)throw new RangeError(\"Index out of range\")}function P(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function M(t,e,r,n,i){return e=+e,r>>>=0,i||P(t,0,r,4),o.write(t,e,r,n,23,4),r+4}function A(t,e,r,n,i){return e=+e,r>>>=0,i||P(t,0,r,8),o.write(t,e,r,n,52,8),r+8}e.prototype.slice=function(t,r){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(r=void 0===r?n:~~r)<0?(r+=n)<0&&(r=0):r>n&&(r=n),r>>=0,e>>>=0,r||T(t,e,this.length);for(var n=this[t],i=1,o=0;++o>>=0,e>>>=0,r||T(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},e.prototype.readUInt8=function(t,e){return t>>>=0,e||T(t,1,this.length),this[t]},e.prototype.readUInt16LE=function(t,e){return t>>>=0,e||T(t,2,this.length),this[t]|this[t+1]<<8},e.prototype.readUInt16BE=function(t,e){return t>>>=0,e||T(t,2,this.length),this[t]<<8|this[t+1]},e.prototype.readUInt32LE=function(t,e){return t>>>=0,e||T(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},e.prototype.readUInt32BE=function(t,e){return t>>>=0,e||T(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},e.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||T(t,e,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*e)),n},e.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||T(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},e.prototype.readInt8=function(t,e){return t>>>=0,e||T(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},e.prototype.readInt16LE=function(t,e){t>>>=0,e||T(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt16BE=function(t,e){t>>>=0,e||T(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt32LE=function(t,e){return t>>>=0,e||T(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},e.prototype.readInt32BE=function(t,e){return t>>>=0,e||T(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},e.prototype.readFloatLE=function(t,e){return t>>>=0,e||T(t,4,this.length),o.read(this,t,!0,23,4)},e.prototype.readFloatBE=function(t,e){return t>>>=0,e||T(t,4,this.length),o.read(this,t,!1,23,4)},e.prototype.readDoubleLE=function(t,e){return t>>>=0,e||T(t,8,this.length),o.read(this,t,!0,52,8)},e.prototype.readDoubleBE=function(t,e){return t>>>=0,e||T(t,8,this.length),o.read(this,t,!1,52,8)},e.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||C(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o>>=0,r>>>=0,n)||C(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+r},e.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,1,255,0),this[e]=255&t,e+1},e.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},e.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},e.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);C(this,t,e,r,i-1,-i)}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+r},e.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);C(this,t,e,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+r},e.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},e.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},e.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||C(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},e.prototype.writeFloatLE=function(t,e,r){return M(this,t,e,!0,r)},e.prototype.writeFloatBE=function(t,e,r){return M(this,t,e,!1,r)},e.prototype.writeDoubleLE=function(t,e,r){return A(this,t,e,!0,r)},e.prototype.writeDoubleBE=function(t,e,r){return A(this,t,e,!1,r)},e.prototype.copy=function(t,r,n,i){if(!e.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(n||(n=0),i||0===i||(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;--a)t[a+r]=this[a+n];else Uint8Array.prototype.set.call(t,this.subarray(n,i),r);return o},e.prototype.fill=function(t,r,n,i){if(\"string\"==typeof t){if(\"string\"==typeof r?(i=r,r=0,n=this.length):\"string\"==typeof n&&(i=n,n=this.length),void 0!==i&&\"string\"!=typeof i)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof i&&!e.isEncoding(i))throw new TypeError(\"Unknown encoding: \"+i);if(1===t.length){var o=t.charCodeAt(0);(\"utf8\"===i&&o<128||\"latin1\"===i)&&(t=o)}}else\"number\"==typeof t&&(t&=255);if(r<0||this.length>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),\"number\"==typeof t)for(a=r;a55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function B(t){return i.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(I,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function F(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function L(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function z(t){return t!=t}}).call(this,t(\"buffer\").Buffer)},{\"base64-js\":182,buffer:216,ieee754:385}],217:[function(t,e,r){(function(t){\"use strict\";e.exports=function(e,r){for(var n=Math.min(e.length,r.length),i=new t(n),o=0;of;)if((s=u[f++])!=s)return!0}else for(;c>f;f++)if((t||f in u)&&u[f]===r)return t||f||0;return!t&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},{\"../internals/to-absolute-index\":304,\"../internals/to-indexed-object\":305,\"../internals/to-length\":307}],225:[function(t,e,r){var n=t(\"../internals/function-bind-context\"),i=t(\"../internals/indexed-object\"),o=t(\"../internals/to-object\"),a=t(\"../internals/to-length\"),s=t(\"../internals/array-species-create\"),u=[].push,c=function(t){var e=1==t,r=2==t,c=3==t,f=4==t,l=6==t,h=5==t||l;return function(d,p,m,y){for(var b,v,g=o(d),w=i(g),_=n(p,m,3),k=a(w.length),x=0,S=y||s,O=e?S(d,k):r?S(d,0):void 0;k>x;x++)if((h||x in w)&&(v=_(b=w[x],x,g),t))if(e)O[x]=v;else if(v)switch(t){case 3:return!0;case 5:return b;case 6:return x;case 2:u.call(O,b)}else if(f)return!1;return l?-1:c||f?f:O}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6)}},{\"../internals/array-species-create\":227,\"../internals/function-bind-context\":248,\"../internals/indexed-object\":257,\"../internals/to-length\":307,\"../internals/to-object\":308}],226:[function(t,e,r){var n=t(\"../internals/descriptors\"),i=t(\"../internals/fails\"),o=t(\"../internals/has\"),a=Object.defineProperty,s={},u=function(t){throw t};e.exports=function(t,e){if(o(s,t))return s[t];e||(e={});var r=[][t],c=!!o(e,\"ACCESSORS\")&&e.ACCESSORS,f=o(e,0)?e[0]:u,l=o(e,1)?e[1]:void 0;return s[t]=!!r&&!i((function(){if(c&&!n)return!0;var t={length:-1};c?a(t,1,{enumerable:!0,get:u}):t[1]=1,r.call(t,f,l)}))}},{\"../internals/descriptors\":240,\"../internals/fails\":247,\"../internals/has\":252}],227:[function(t,e,r){var n=t(\"../internals/is-object\"),i=t(\"../internals/is-array\"),o=t(\"../internals/well-known-symbol\")(\"species\");e.exports=function(t,e){var r;return i(t)&&(\"function\"!=typeof(r=t.constructor)||r!==Array&&!i(r.prototype)?n(r)&&null===(r=r[o])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)}},{\"../internals/is-array\":261,\"../internals/is-object\":263,\"../internals/well-known-symbol\":314}],228:[function(t,e,r){var n=t(\"../internals/an-object\");e.exports=function(t,e,r,i){try{return i?e(n(r)[0],r[1]):e(r)}catch(e){var o=t.return;throw void 0!==o&&n(o.call(t)),e}}},{\"../internals/an-object\":223}],229:[function(t,e,r){var n=t(\"../internals/well-known-symbol\")(\"iterator\"),i=!1;try{var o=0,a={next:function(){return{done:!!o++}},return:function(){i=!0}};a[n]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}e.exports=function(t,e){if(!e&&!i)return!1;var r=!1;try{var o={};o[n]=function(){return{next:function(){return{done:r=!0}}}},t(o)}catch(t){}return r}},{\"../internals/well-known-symbol\":314}],230:[function(t,e,r){var n={}.toString;e.exports=function(t){return n.call(t).slice(8,-1)}},{}],231:[function(t,e,r){var n=t(\"../internals/to-string-tag-support\"),i=t(\"../internals/classof-raw\"),o=t(\"../internals/well-known-symbol\")(\"toStringTag\"),a=\"Arguments\"==i(function(){return arguments}());e.exports=n?i:function(t){var e,r,n;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),o))?r:a?i(e):\"Object\"==(n=i(e))&&\"function\"==typeof e.callee?\"Arguments\":n}},{\"../internals/classof-raw\":230,\"../internals/to-string-tag-support\":310,\"../internals/well-known-symbol\":314}],232:[function(t,e,r){var n=t(\"../internals/has\"),i=t(\"../internals/own-keys\"),o=t(\"../internals/object-get-own-property-descriptor\"),a=t(\"../internals/object-define-property\");e.exports=function(t,e){for(var r=i(e),s=a.f,u=o.f,c=0;c=74)&&(n=a.match(/Chrome\\/(\\d+)/))&&(i=n[1]),e.exports=i&&+i},{\"../internals/engine-user-agent\":243,\"../internals/global\":251}],245:[function(t,e,r){e.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"]},{}],246:[function(t,e,r){var n=t(\"../internals/global\"),i=t(\"../internals/object-get-own-property-descriptor\").f,o=t(\"../internals/create-non-enumerable-property\"),a=t(\"../internals/redefine\"),s=t(\"../internals/set-global\"),u=t(\"../internals/copy-constructor-properties\"),c=t(\"../internals/is-forced\");e.exports=function(t,e){var r,f,l,h,d,p=t.target,m=t.global,y=t.stat;if(r=m?n:y?n[p]||s(p,{}):(n[p]||{}).prototype)for(f in e){if(h=e[f],l=t.noTargetGet?(d=i(r,f))&&d.value:r[f],!c(m?f:p+(y?\".\":\"#\")+f,t.forced)&&void 0!==l){if(typeof h==typeof l)continue;u(h,l)}(t.sham||l&&l.sham)&&o(h,\"sham\",!0),a(r,f,h,t)}}},{\"../internals/copy-constructor-properties\":232,\"../internals/create-non-enumerable-property\":236,\"../internals/global\":251,\"../internals/is-forced\":262,\"../internals/object-get-own-property-descriptor\":279,\"../internals/redefine\":294,\"../internals/set-global\":296}],247:[function(t,e,r){e.exports=function(t){try{return!!t()}catch(t){return!0}}},{}],248:[function(t,e,r){var n=t(\"../internals/a-function\");e.exports=function(t,e,r){if(n(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,i){return t.call(e,r,n,i)}}return function(){return t.apply(e,arguments)}}},{\"../internals/a-function\":219}],249:[function(t,e,r){var n=t(\"../internals/path\"),i=t(\"../internals/global\"),o=function(t){return\"function\"==typeof t?t:void 0};e.exports=function(t,e){return arguments.length<2?o(n[t])||o(i[t]):n[t]&&n[t][e]||i[t]&&i[t][e]}},{\"../internals/global\":251,\"../internals/path\":290}],250:[function(t,e,r){var n=t(\"../internals/classof\"),i=t(\"../internals/iterators\"),o=t(\"../internals/well-known-symbol\")(\"iterator\");e.exports=function(t){if(null!=t)return t[o]||t[\"@@iterator\"]||i[n(t)]}},{\"../internals/classof\":231,\"../internals/iterators\":268,\"../internals/well-known-symbol\":314}],251:[function(t,e,r){(function(t){var r=function(t){return t&&t.Math==Math&&t};e.exports=r(\"object\"==typeof globalThis&&globalThis)||r(\"object\"==typeof window&&window)||r(\"object\"==typeof self&&self)||r(\"object\"==typeof t&&t)||Function(\"return this\")()}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],252:[function(t,e,r){var n={}.hasOwnProperty;e.exports=function(t,e){return n.call(t,e)}},{}],253:[function(t,e,r){e.exports={}},{}],254:[function(t,e,r){var n=t(\"../internals/global\");e.exports=function(t,e){var r=n.console;r&&r.error&&(1===arguments.length?r.error(t):r.error(t,e))}},{\"../internals/global\":251}],255:[function(t,e,r){var n=t(\"../internals/get-built-in\");e.exports=n(\"document\",\"documentElement\")},{\"../internals/get-built-in\":249}],256:[function(t,e,r){var n=t(\"../internals/descriptors\"),i=t(\"../internals/fails\"),o=t(\"../internals/document-create-element\");e.exports=!n&&!i((function(){return 7!=Object.defineProperty(o(\"div\"),\"a\",{get:function(){return 7}}).a}))},{\"../internals/descriptors\":240,\"../internals/document-create-element\":241,\"../internals/fails\":247}],257:[function(t,e,r){var n=t(\"../internals/fails\"),i=t(\"../internals/classof-raw\"),o=\"\".split;e.exports=n((function(){return!Object(\"z\").propertyIsEnumerable(0)}))?function(t){return\"String\"==i(t)?o.call(t,\"\"):Object(t)}:Object},{\"../internals/classof-raw\":230,\"../internals/fails\":247}],258:[function(t,e,r){var n=t(\"../internals/shared-store\"),i=Function.toString;\"function\"!=typeof n.inspectSource&&(n.inspectSource=function(t){return i.call(t)}),e.exports=n.inspectSource},{\"../internals/shared-store\":300}],259:[function(t,e,r){var n,i,o,a=t(\"../internals/native-weak-map\"),s=t(\"../internals/global\"),u=t(\"../internals/is-object\"),c=t(\"../internals/create-non-enumerable-property\"),f=t(\"../internals/has\"),l=t(\"../internals/shared-key\"),h=t(\"../internals/hidden-keys\"),d=s.WeakMap;if(a){var p=new d,m=p.get,y=p.has,b=p.set;n=function(t,e){return b.call(p,t,e),e},i=function(t){return m.call(p,t)||{}},o=function(t){return y.call(p,t)}}else{var v=l(\"state\");h[v]=!0,n=function(t,e){return c(t,v,e),e},i=function(t){return f(t,v)?t[v]:{}},o=function(t){return f(t,v)}}e.exports={set:n,get:i,has:o,enforce:function(t){return o(t)?i(t):n(t,{})},getterFor:function(t){return function(e){var r;if(!u(e)||(r=i(e)).type!==t)throw TypeError(\"Incompatible receiver, \"+t+\" required\");return r}}}},{\"../internals/create-non-enumerable-property\":236,\"../internals/global\":251,\"../internals/has\":252,\"../internals/hidden-keys\":253,\"../internals/is-object\":263,\"../internals/native-weak-map\":272,\"../internals/shared-key\":299}],260:[function(t,e,r){var n=t(\"../internals/well-known-symbol\"),i=t(\"../internals/iterators\"),o=n(\"iterator\"),a=Array.prototype;e.exports=function(t){return void 0!==t&&(i.Array===t||a[o]===t)}},{\"../internals/iterators\":268,\"../internals/well-known-symbol\":314}],261:[function(t,e,r){var n=t(\"../internals/classof-raw\");e.exports=Array.isArray||function(t){return\"Array\"==n(t)}},{\"../internals/classof-raw\":230}],262:[function(t,e,r){var n=t(\"../internals/fails\"),i=/#|\\.prototype\\./,o=function(t,e){var r=s[a(t)];return r==c||r!=u&&(\"function\"==typeof e?n(e):!!e)},a=o.normalize=function(t){return String(t).replace(i,\".\").toLowerCase()},s=o.data={},u=o.NATIVE=\"N\",c=o.POLYFILL=\"P\";e.exports=o},{\"../internals/fails\":247}],263:[function(t,e,r){e.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},{}],264:[function(t,e,r){e.exports=!1},{}],265:[function(t,e,r){var n=t(\"../internals/is-object\"),i=t(\"../internals/classof-raw\"),o=t(\"../internals/well-known-symbol\")(\"match\");e.exports=function(t){var e;return n(t)&&(void 0!==(e=t[o])?!!e:\"RegExp\"==i(t))}},{\"../internals/classof-raw\":230,\"../internals/is-object\":263,\"../internals/well-known-symbol\":314}],266:[function(t,e,r){var n=t(\"../internals/an-object\"),i=t(\"../internals/is-array-iterator-method\"),o=t(\"../internals/to-length\"),a=t(\"../internals/function-bind-context\"),s=t(\"../internals/get-iterator-method\"),u=t(\"../internals/call-with-safe-iteration-closing\"),c=function(t,e){this.stopped=t,this.result=e};(e.exports=function(t,e,r,f,l){var h,d,p,m,y,b,v,g=a(e,r,f?2:1);if(l)h=t;else{if(\"function\"!=typeof(d=s(t)))throw TypeError(\"Target is not iterable\");if(i(d)){for(p=0,m=o(t.length);m>p;p++)if((y=f?g(n(v=t[p])[0],v[1]):g(t[p]))&&y instanceof c)return y;return new c(!1)}h=d.call(t)}for(b=h.next;!(v=b.call(h)).done;)if(\"object\"==typeof(y=u(h,g,v.value,f))&&y&&y instanceof c)return y;return new c(!1)}).stop=function(t){return new c(!0,t)}},{\"../internals/an-object\":223,\"../internals/call-with-safe-iteration-closing\":228,\"../internals/function-bind-context\":248,\"../internals/get-iterator-method\":250,\"../internals/is-array-iterator-method\":260,\"../internals/to-length\":307}],267:[function(t,e,r){\"use strict\";var n,i,o,a=t(\"../internals/object-get-prototype-of\"),s=t(\"../internals/create-non-enumerable-property\"),u=t(\"../internals/has\"),c=t(\"../internals/well-known-symbol\"),f=t(\"../internals/is-pure\"),l=c(\"iterator\"),h=!1;[].keys&&(\"next\"in(o=[].keys())?(i=a(a(o)))!==Object.prototype&&(n=i):h=!0),null==n&&(n={}),f||u(n,l)||s(n,l,(function(){return this})),e.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:h}},{\"../internals/create-non-enumerable-property\":236,\"../internals/has\":252,\"../internals/is-pure\":264,\"../internals/object-get-prototype-of\":283,\"../internals/well-known-symbol\":314}],268:[function(t,e,r){arguments[4][253][0].apply(r,arguments)},{dup:253}],269:[function(t,e,r){var n,i,o,a,s,u,c,f,l=t(\"../internals/global\"),h=t(\"../internals/object-get-own-property-descriptor\").f,d=t(\"../internals/classof-raw\"),p=t(\"../internals/task\").set,m=t(\"../internals/engine-is-ios\"),y=l.MutationObserver||l.WebKitMutationObserver,b=l.process,v=l.Promise,g=\"process\"==d(b),w=h(l,\"queueMicrotask\"),_=w&&w.value;_||(n=function(){var t,e;for(g&&(t=b.domain)&&t.exit();i;){e=i.fn,i=i.next;try{e()}catch(t){throw i?a():o=void 0,t}}o=void 0,t&&t.enter()},g?a=function(){b.nextTick(n)}:y&&!m?(s=!0,u=document.createTextNode(\"\"),new y(n).observe(u,{characterData:!0}),a=function(){u.data=s=!s}):v&&v.resolve?(c=v.resolve(void 0),f=c.then,a=function(){f.call(c,n)}):a=function(){p.call(l,n)}),e.exports=_||function(t){var e={fn:t,next:void 0};o&&(o.next=e),i||(i=e,a()),o=e}},{\"../internals/classof-raw\":230,\"../internals/engine-is-ios\":242,\"../internals/global\":251,\"../internals/object-get-own-property-descriptor\":279,\"../internals/task\":303}],270:[function(t,e,r){var n=t(\"../internals/global\");e.exports=n.Promise},{\"../internals/global\":251}],271:[function(t,e,r){var n=t(\"../internals/fails\");e.exports=!!Object.getOwnPropertySymbols&&!n((function(){return!String(Symbol())}))},{\"../internals/fails\":247}],272:[function(t,e,r){var n=t(\"../internals/global\"),i=t(\"../internals/inspect-source\"),o=n.WeakMap;e.exports=\"function\"==typeof o&&/native code/.test(i(o))},{\"../internals/global\":251,\"../internals/inspect-source\":258}],273:[function(t,e,r){\"use strict\";var n=t(\"../internals/a-function\"),i=function(t){var e,r;this.promise=new t((function(t,n){if(void 0!==e||void 0!==r)throw TypeError(\"Bad Promise constructor\");e=t,r=n})),this.resolve=n(e),this.reject=n(r)};e.exports.f=function(t){return new i(t)}},{\"../internals/a-function\":219}],274:[function(t,e,r){var n=t(\"../internals/is-regexp\");e.exports=function(t){if(n(t))throw TypeError(\"The method doesn't accept regular expressions\");return t}},{\"../internals/is-regexp\":265}],275:[function(t,e,r){\"use strict\";var n=t(\"../internals/descriptors\"),i=t(\"../internals/fails\"),o=t(\"../internals/object-keys\"),a=t(\"../internals/object-get-own-property-symbols\"),s=t(\"../internals/object-property-is-enumerable\"),u=t(\"../internals/to-object\"),c=t(\"../internals/indexed-object\"),f=Object.assign,l=Object.defineProperty;e.exports=!f||i((function(){if(n&&1!==f({b:1},f(l({},\"a\",{enumerable:!0,get:function(){l(this,\"b\",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol();return t[r]=7,\"abcdefghijklmnopqrst\".split(\"\").forEach((function(t){e[t]=t})),7!=f({},t)[r]||\"abcdefghijklmnopqrst\"!=o(f({},e)).join(\"\")}))?function(t,e){for(var r=u(t),i=arguments.length,f=1,l=a.f,h=s.f;i>f;)for(var d,p=c(arguments[f++]),m=l?o(p).concat(l(p)):o(p),y=m.length,b=0;y>b;)d=m[b++],n&&!h.call(p,d)||(r[d]=p[d]);return r}:f},{\"../internals/descriptors\":240,\"../internals/fails\":247,\"../internals/indexed-object\":257,\"../internals/object-get-own-property-symbols\":282,\"../internals/object-keys\":285,\"../internals/object-property-is-enumerable\":286,\"../internals/to-object\":308}],276:[function(t,e,r){var n,i=t(\"../internals/an-object\"),o=t(\"../internals/object-define-properties\"),a=t(\"../internals/enum-bug-keys\"),s=t(\"../internals/hidden-keys\"),u=t(\"../internals/html\"),c=t(\"../internals/document-create-element\"),f=t(\"../internals/shared-key\"),l=f(\"IE_PROTO\"),h=function(){},d=function(t){return\"\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./userModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./userModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./userModal.vue?vue&type=template&id=78f98c58&scoped=true\"\nimport script from \"./userModal.vue?vue&type=script&lang=js\"\nexport * from \"./userModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./userModal.vue?vue&type=style&index=0&id=78f98c58&prod&lang=less&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"78f98c58\",\n null\n \n)\n\nexport default component.exports","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * @module ol/source/Source\n */\nimport BaseObject from '../Object.js';\nimport { abstract } from '../util.js';\nimport { get as getProjection } from '../proj.js';\n/**\n * @typedef {'undefined' | 'loading' | 'ready' | 'error'} State\n * State of the source, one of 'undefined', 'loading', 'ready' or 'error'.\n */\n/**\n * A function that takes a {@link module:ol/PluggableMap~FrameState} and returns a string or\n * an array of strings representing source attributions.\n *\n * @typedef {function(import(\"../PluggableMap.js\").FrameState): (string|Array)} Attribution\n */\n/**\n * A type that can be used to provide attribution information for data sources.\n *\n * It represents either\n * * a simple string (e.g. `'© Acme Inc.'`)\n * * an array of simple strings (e.g. `['© Acme Inc.', '© Bacme Inc.']`)\n * * a function that returns a string or array of strings ({@link module:ol/source/Source~Attribution})\n *\n * @typedef {string|Array|Attribution} AttributionLike\n */\n/**\n * @typedef {Object} Options\n * @property {AttributionLike} [attributions] Attributions.\n * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible.\n * @property {import(\"../proj.js\").ProjectionLike} [projection] Projection. Default is the view projection.\n * @property {import(\"./Source.js\").State} [state='ready'] State.\n * @property {boolean} [wrapX=false] WrapX.\n * @property {boolean} [interpolate=false] Use interpolated values when resampling. By default,\n * the nearest neighbor is used when resampling.\n */\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * Base class for {@link module:ol/layer/Layer~Layer} sources.\n *\n * A generic `change` event is triggered when the state of the source changes.\n * @abstract\n * @api\n */\nvar Source = /** @class */ (function (_super) {\n __extends(Source, _super);\n /**\n * @param {Options} options Source options.\n */\n function Source(options) {\n var _this = _super.call(this) || this;\n /**\n * @protected\n * @type {import(\"../proj/Projection.js\").default|null}\n */\n _this.projection = getProjection(options.projection);\n /**\n * @private\n * @type {?Attribution}\n */\n _this.attributions_ = adaptAttributions(options.attributions);\n /**\n * @private\n * @type {boolean}\n */\n _this.attributionsCollapsible_ =\n options.attributionsCollapsible !== undefined\n ? options.attributionsCollapsible\n : true;\n /**\n * This source is currently loading data. Sources that defer loading to the\n * map's tile queue never set this to `true`.\n * @type {boolean}\n */\n _this.loading = false;\n /**\n * @private\n * @type {import(\"./Source.js\").State}\n */\n _this.state_ = options.state !== undefined ? options.state : 'ready';\n /**\n * @private\n * @type {boolean}\n */\n _this.wrapX_ = options.wrapX !== undefined ? options.wrapX : false;\n /**\n * @private\n * @type {boolean}\n */\n _this.interpolate_ = !!options.interpolate;\n /**\n * @protected\n * @type {function(import(\"../View.js\").ViewOptions):void}\n */\n _this.viewResolver = null;\n /**\n * @protected\n * @type {function(Error):void}\n */\n _this.viewRejector = null;\n var self = _this;\n /**\n * @private\n * @type {Promise}\n */\n _this.viewPromise_ = new Promise(function (resolve, reject) {\n self.viewResolver = resolve;\n self.viewRejector = reject;\n });\n return _this;\n }\n /**\n * Get the attribution function for the source.\n * @return {?Attribution} Attribution function.\n * @api\n */\n Source.prototype.getAttributions = function () {\n return this.attributions_;\n };\n /**\n * @return {boolean} Attributions are collapsible.\n * @api\n */\n Source.prototype.getAttributionsCollapsible = function () {\n return this.attributionsCollapsible_;\n };\n /**\n * Get the projection of the source.\n * @return {import(\"../proj/Projection.js\").default|null} Projection.\n * @api\n */\n Source.prototype.getProjection = function () {\n return this.projection;\n };\n /**\n * @abstract\n * @return {Array|null} Resolutions.\n */\n Source.prototype.getResolutions = function () {\n return abstract();\n };\n /**\n * @return {Promise} A promise for view-related properties.\n */\n Source.prototype.getView = function () {\n return this.viewPromise_;\n };\n /**\n * Get the state of the source, see {@link import(\"./Source.js\").State} for possible states.\n * @return {import(\"./Source.js\").State} State.\n * @api\n */\n Source.prototype.getState = function () {\n return this.state_;\n };\n /**\n * @return {boolean|undefined} Wrap X.\n */\n Source.prototype.getWrapX = function () {\n return this.wrapX_;\n };\n /**\n * @return {boolean} Use linear interpolation when resampling.\n */\n Source.prototype.getInterpolate = function () {\n return this.interpolate_;\n };\n /**\n * Refreshes the source. The source will be cleared, and data from the server will be reloaded.\n * @api\n */\n Source.prototype.refresh = function () {\n this.changed();\n };\n /**\n * Set the attributions of the source.\n * @param {AttributionLike|undefined} attributions Attributions.\n * Can be passed as `string`, `Array`, {@link module:ol/source/Source~Attribution},\n * or `undefined`.\n * @api\n */\n Source.prototype.setAttributions = function (attributions) {\n this.attributions_ = adaptAttributions(attributions);\n this.changed();\n };\n /**\n * Set the state of the source.\n * @param {import(\"./Source.js\").State} state State.\n */\n Source.prototype.setState = function (state) {\n this.state_ = state;\n this.changed();\n };\n return Source;\n}(BaseObject));\n/**\n * Turns the attributions option into an attributions function.\n * @param {AttributionLike|undefined} attributionLike The attribution option.\n * @return {Attribution|null} An attribution function (or null).\n */\nfunction adaptAttributions(attributionLike) {\n if (!attributionLike) {\n return null;\n }\n if (Array.isArray(attributionLike)) {\n return function (frameState) {\n return attributionLike;\n };\n }\n if (typeof attributionLike === 'function') {\n return attributionLike;\n }\n return function (frameState) {\n return [attributionLike];\n };\n}\nexport default Source;\n//# sourceMappingURL=Source.js.map"],"sourceRoot":""}