devextreme-angular 24.1.16 → 24.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/charts/index.d.ts +2 -2
- package/common/data/custom-store/index.d.ts +2 -2
- package/common/grids/index.d.ts +2 -2
- package/common/index.d.ts +2 -2
- package/core/component.d.ts +2 -2
- package/core/events-strategy.d.ts +2 -2
- package/core/index.d.ts +2 -2
- package/core/integration.d.ts +2 -2
- package/core/iterable-differ-helper.d.ts +2 -2
- package/core/nested-option.d.ts +2 -2
- package/core/template-host.d.ts +2 -2
- package/core/template.d.ts +2 -2
- package/core/transfer-state.d.ts +2 -2
- package/core/utils.d.ts +2 -2
- package/esm2022/common/charts/index.mjs +3 -3
- package/esm2022/common/data/custom-store/index.mjs +3 -3
- package/esm2022/common/grids/index.mjs +3 -3
- package/esm2022/common/index.mjs +3 -3
- package/esm2022/core/component.mjs +3 -3
- package/esm2022/core/events-strategy.mjs +3 -3
- package/esm2022/core/index.mjs +3 -3
- package/esm2022/core/integration.mjs +3 -3
- package/esm2022/core/iterable-differ-helper.mjs +3 -3
- package/esm2022/core/nested-option.mjs +3 -3
- package/esm2022/core/template-host.mjs +3 -3
- package/esm2022/core/template.mjs +3 -3
- package/esm2022/core/transfer-state.mjs +3 -3
- package/esm2022/core/utils.mjs +3 -3
- package/esm2022/core/watcher-helper.mjs +3 -3
- package/esm2022/http/ajax.mjs +3 -3
- package/esm2022/http/index.mjs +3 -3
- package/esm2022/index.mjs +3 -3
- package/esm2022/server/index.mjs +3 -3
- package/esm2022/server/render.mjs +3 -3
- package/esm2022/ui/accordion/index.mjs +3 -3
- package/esm2022/ui/action-sheet/index.mjs +3 -3
- package/esm2022/ui/all.mjs +3 -3
- package/esm2022/ui/autocomplete/index.mjs +3 -3
- package/esm2022/ui/bar-gauge/index.mjs +3 -3
- package/esm2022/ui/box/index.mjs +3 -3
- package/esm2022/ui/bullet/index.mjs +3 -3
- package/esm2022/ui/button/index.mjs +3 -3
- package/esm2022/ui/button-group/index.mjs +3 -3
- package/esm2022/ui/calendar/index.mjs +3 -3
- package/esm2022/ui/chart/index.mjs +3 -3
- package/esm2022/ui/check-box/index.mjs +3 -3
- package/esm2022/ui/circular-gauge/index.mjs +3 -3
- package/esm2022/ui/color-box/index.mjs +3 -3
- package/esm2022/ui/context-menu/index.mjs +3 -3
- package/esm2022/ui/data-grid/index.mjs +3 -3
- package/esm2022/ui/date-box/index.mjs +3 -3
- package/esm2022/ui/date-range-box/index.mjs +3 -3
- package/esm2022/ui/defer-rendering/index.mjs +3 -3
- package/esm2022/ui/diagram/index.mjs +3 -3
- package/esm2022/ui/draggable/index.mjs +3 -3
- package/esm2022/ui/drawer/index.mjs +3 -3
- package/esm2022/ui/drop-down-box/index.mjs +3 -3
- package/esm2022/ui/drop-down-button/index.mjs +3 -3
- package/esm2022/ui/file-manager/index.mjs +3 -3
- package/esm2022/ui/file-uploader/index.mjs +3 -3
- package/esm2022/ui/filter-builder/index.mjs +3 -3
- package/esm2022/ui/form/index.mjs +3 -3
- package/esm2022/ui/funnel/index.mjs +3 -3
- package/esm2022/ui/gallery/index.mjs +3 -3
- package/esm2022/ui/gantt/index.mjs +3 -3
- package/esm2022/ui/html-editor/index.mjs +3 -3
- package/esm2022/ui/linear-gauge/index.mjs +3 -3
- package/esm2022/ui/list/index.mjs +3 -3
- package/esm2022/ui/load-indicator/index.mjs +3 -3
- package/esm2022/ui/load-panel/index.mjs +3 -3
- package/esm2022/ui/lookup/index.mjs +3 -3
- package/esm2022/ui/map/index.mjs +3 -3
- package/esm2022/ui/menu/index.mjs +3 -3
- package/esm2022/ui/multi-view/index.mjs +3 -3
- package/esm2022/ui/nested/adapter.mjs +3 -3
- package/esm2022/ui/nested/adaptive-layout.mjs +3 -3
- package/esm2022/ui/nested/aggregation-interval.mjs +3 -3
- package/esm2022/ui/nested/aggregation.mjs +3 -3
- package/esm2022/ui/nested/animation.mjs +3 -3
- package/esm2022/ui/nested/annotation-dxi.mjs +3 -3
- package/esm2022/ui/nested/api-key.mjs +3 -3
- package/esm2022/ui/nested/appointment-dragging.mjs +3 -3
- package/esm2022/ui/nested/area.mjs +3 -3
- package/esm2022/ui/nested/argument-axis.mjs +3 -3
- package/esm2022/ui/nested/argument-format.mjs +3 -3
- package/esm2022/ui/nested/at.mjs +3 -3
- package/esm2022/ui/nested/auto-layout.mjs +3 -3
- package/esm2022/ui/nested/background-color.mjs +3 -3
- package/esm2022/ui/nested/background.mjs +3 -3
- package/esm2022/ui/nested/bar.mjs +3 -3
- package/esm2022/ui/nested/base/animation-config.mjs +3 -3
- package/esm2022/ui/nested/base/animation-state.mjs +3 -3
- package/esm2022/ui/nested/base/box-options.mjs +3 -3
- package/esm2022/ui/nested/base/button-group-item-dxi.mjs +3 -3
- package/esm2022/ui/nested/base/button-options.mjs +3 -3
- package/esm2022/ui/nested/base/calendar-options.mjs +3 -3
- package/esm2022/ui/nested/base/chart-annotation-config-dxi.mjs +3 -3
- package/esm2022/ui/nested/base/chart-common-annotation-config.mjs +3 -3
- package/esm2022/ui/nested/base/chart-common-series-settings.mjs +3 -3
- package/esm2022/ui/nested/base/chart-series-dxi.mjs +3 -3
- package/esm2022/ui/nested/base/charts-color.mjs +3 -3
- package/esm2022/ui/nested/base/column-chooser-search-config.mjs +3 -3
- package/esm2022/ui/nested/base/column-chooser-selection-config.mjs +3 -3
- package/esm2022/ui/nested/base/data-change-dxi.mjs +3 -3
- package/esm2022/ui/nested/base/data-grid-column-dxi.mjs +3 -3
- package/esm2022/ui/nested/base/data-grid-toolbar.mjs +3 -3
- package/esm2022/ui/nested/base/diagram-custom-command-dxi.mjs +3 -3
- package/esm2022/ui/nested/base/file-manager-context-menu.mjs +3 -3
- package/esm2022/ui/nested/base/file-manager-toolbar-item-dxi.mjs +3 -3
- package/esm2022/ui/nested/base/file-uploader-options.mjs +3 -3
- package/esm2022/ui/nested/base/filter-builder-custom-operation-dxi.mjs +3 -3
- package/esm2022/ui/nested/base/filter-builder-field-dxi.mjs +3 -3
- package/esm2022/ui/nested/base/filter-builder-options.mjs +3 -3
- package/esm2022/ui/nested/base/form-options.mjs +3 -3
- package/esm2022/ui/nested/base/form-simple-item.mjs +3 -3
- package/esm2022/ui/nested/base/format.mjs +3 -3
- package/esm2022/ui/nested/base/gantt-filter-row-operation-descriptions.mjs +3 -3
- package/esm2022/ui/nested/base/gantt-filter-row.mjs +3 -3
- package/esm2022/ui/nested/base/gantt-header-filter-texts.mjs +3 -3
- package/esm2022/ui/nested/base/gantt-header-filter.mjs +3 -3
- package/esm2022/ui/nested/base/gantt-sorting.mjs +3 -3
- package/esm2022/ui/nested/base/gantt-strip-line-dxi.mjs +3 -3
- package/esm2022/ui/nested/base/gauge-indicator.mjs +3 -3
- package/esm2022/ui/nested/base/html-editor-image-upload-tab-item-dxi.mjs +3 -3
- package/esm2022/ui/nested/base/html-editor-image-upload.mjs +3 -3
- package/esm2022/ui/nested/base/html-editor-media-resizing.mjs +3 -3
- package/esm2022/ui/nested/base/html-editor-mention-dxi.mjs +3 -3
- package/esm2022/ui/nested/base/html-editor-table-context-menu.mjs +3 -3
- package/esm2022/ui/nested/base/html-editor-table-resizing.mjs +3 -3
- package/esm2022/ui/nested/base/html-editor-variables.mjs +3 -3
- package/esm2022/ui/nested/base/pivot-grid-data-source.mjs +3 -3
- package/esm2022/ui/nested/base/popup-options.mjs +3 -3
- package/esm2022/ui/nested/base/position-config.mjs +3 -3
- package/esm2022/ui/nested/base/scheduler-scrolling.mjs +3 -3
- package/esm2022/ui/nested/base/sortable-options.mjs +3 -3
- package/esm2022/ui/nested/base/splitter-options.mjs +3 -3
- package/esm2022/ui/nested/base/tab-panel-options.mjs +3 -3
- package/esm2022/ui/nested/base/text-box-options.mjs +3 -3
- package/esm2022/ui/nested/base/text-editor-button-dxi.mjs +3 -3
- package/esm2022/ui/nested/base/vector-map-projection-config.mjs +3 -3
- package/esm2022/ui/nested/base/viz-font.mjs +3 -3
- package/esm2022/ui/nested/base/viz-scale-break-dxi.mjs +3 -3
- package/esm2022/ui/nested/behavior.mjs +3 -3
- package/esm2022/ui/nested/border.mjs +3 -3
- package/esm2022/ui/nested/boundary-offset.mjs +3 -3
- package/esm2022/ui/nested/box.mjs +3 -3
- package/esm2022/ui/nested/break-dxi.mjs +3 -3
- package/esm2022/ui/nested/break-style.mjs +3 -3
- package/esm2022/ui/nested/bubble.mjs +3 -3
- package/esm2022/ui/nested/button-dxi.mjs +3 -3
- package/esm2022/ui/nested/button-options.mjs +3 -3
- package/esm2022/ui/nested/calendar-options.mjs +3 -3
- package/esm2022/ui/nested/candlestick.mjs +3 -3
- package/esm2022/ui/nested/center-dxi.mjs +3 -3
- package/esm2022/ui/nested/change-dxi.mjs +3 -3
- package/esm2022/ui/nested/chart.mjs +3 -3
- package/esm2022/ui/nested/col-count-by-screen.mjs +3 -3
- package/esm2022/ui/nested/col-dxi.mjs +3 -3
- package/esm2022/ui/nested/collision.mjs +3 -3
- package/esm2022/ui/nested/color.mjs +3 -3
- package/esm2022/ui/nested/colorizer.mjs +3 -3
- package/esm2022/ui/nested/column-chooser.mjs +3 -3
- package/esm2022/ui/nested/column-dxi.mjs +3 -3
- package/esm2022/ui/nested/column-fixing.mjs +3 -3
- package/esm2022/ui/nested/command-dxi.mjs +3 -3
- package/esm2022/ui/nested/common-annotation-settings.mjs +3 -3
- package/esm2022/ui/nested/common-axis-settings.mjs +3 -3
- package/esm2022/ui/nested/common-pane-settings.mjs +3 -3
- package/esm2022/ui/nested/common-series-settings.mjs +3 -3
- package/esm2022/ui/nested/connection-point-dxi.mjs +3 -3
- package/esm2022/ui/nested/connector.mjs +3 -3
- package/esm2022/ui/nested/constant-line-dxi.mjs +3 -3
- package/esm2022/ui/nested/constant-line-style.mjs +3 -3
- package/esm2022/ui/nested/context-menu.mjs +3 -3
- package/esm2022/ui/nested/context-toolbox.mjs +3 -3
- package/esm2022/ui/nested/control-bar.mjs +3 -3
- package/esm2022/ui/nested/crosshair.mjs +3 -3
- package/esm2022/ui/nested/cursor-offset.mjs +3 -3
- package/esm2022/ui/nested/custom-operation-dxi.mjs +3 -3
- package/esm2022/ui/nested/custom-shape-dxi.mjs +3 -3
- package/esm2022/ui/nested/data-prepare-settings.mjs +3 -3
- package/esm2022/ui/nested/data-source.mjs +3 -3
- package/esm2022/ui/nested/default-item-properties.mjs +3 -3
- package/esm2022/ui/nested/delay.mjs +3 -3
- package/esm2022/ui/nested/dependencies.mjs +3 -3
- package/esm2022/ui/nested/details.mjs +3 -3
- package/esm2022/ui/nested/display-format.mjs +3 -3
- package/esm2022/ui/nested/drag-box-style.mjs +3 -3
- package/esm2022/ui/nested/drop-down-options.mjs +3 -3
- package/esm2022/ui/nested/edges.mjs +3 -3
- package/esm2022/ui/nested/editing.mjs +3 -3
- package/esm2022/ui/nested/export.mjs +3 -3
- package/esm2022/ui/nested/field-chooser.mjs +3 -3
- package/esm2022/ui/nested/field-dxi.mjs +3 -3
- package/esm2022/ui/nested/field-panel.mjs +3 -3
- package/esm2022/ui/nested/file-selection-item-dxi.mjs +3 -3
- package/esm2022/ui/nested/file-uploader-options.mjs +3 -3
- package/esm2022/ui/nested/filter-builder-popup.mjs +3 -3
- package/esm2022/ui/nested/filter-builder.mjs +3 -3
- package/esm2022/ui/nested/filter-operation-descriptions.mjs +3 -3
- package/esm2022/ui/nested/filter-panel.mjs +3 -3
- package/esm2022/ui/nested/filter-row.mjs +3 -3
- package/esm2022/ui/nested/font.mjs +3 -3
- package/esm2022/ui/nested/form-item.mjs +3 -3
- package/esm2022/ui/nested/form.mjs +3 -3
- package/esm2022/ui/nested/format.mjs +3 -3
- package/esm2022/ui/nested/from.mjs +3 -3
- package/esm2022/ui/nested/fullstackedarea.mjs +3 -3
- package/esm2022/ui/nested/fullstackedbar.mjs +3 -3
- package/esm2022/ui/nested/fullstackedline.mjs +3 -3
- package/esm2022/ui/nested/fullstackedspline.mjs +3 -3
- package/esm2022/ui/nested/fullstackedsplinearea.mjs +3 -3
- package/esm2022/ui/nested/geometry.mjs +3 -3
- package/esm2022/ui/nested/grid-size.mjs +3 -3
- package/esm2022/ui/nested/grid.mjs +3 -3
- package/esm2022/ui/nested/group-dxi.mjs +3 -3
- package/esm2022/ui/nested/group-item-dxi.mjs +3 -3
- package/esm2022/ui/nested/group-operation-descriptions.mjs +3 -3
- package/esm2022/ui/nested/group-panel.mjs +3 -3
- package/esm2022/ui/nested/group.mjs +3 -3
- package/esm2022/ui/nested/grouping.mjs +3 -3
- package/esm2022/ui/nested/hatching.mjs +3 -3
- package/esm2022/ui/nested/header-filter.mjs +3 -3
- package/esm2022/ui/nested/height.mjs +3 -3
- package/esm2022/ui/nested/hide-event.mjs +3 -3
- package/esm2022/ui/nested/hide.mjs +3 -3
- package/esm2022/ui/nested/history-toolbar.mjs +3 -3
- package/esm2022/ui/nested/horizontal-line.mjs +3 -3
- package/esm2022/ui/nested/hover-style.mjs +3 -3
- package/esm2022/ui/nested/image-upload.mjs +3 -3
- package/esm2022/ui/nested/image.mjs +3 -3
- package/esm2022/ui/nested/indent.mjs +3 -3
- package/esm2022/ui/nested/index.mjs +3 -3
- package/esm2022/ui/nested/item-dragging.mjs +3 -3
- package/esm2022/ui/nested/item-dxi.mjs +3 -3
- package/esm2022/ui/nested/item-text-format.mjs +3 -3
- package/esm2022/ui/nested/item-view.mjs +3 -3
- package/esm2022/ui/nested/item.mjs +3 -3
- package/esm2022/ui/nested/keyboard-navigation.mjs +3 -3
- package/esm2022/ui/nested/label.mjs +3 -3
- package/esm2022/ui/nested/layer-dxi.mjs +3 -3
- package/esm2022/ui/nested/legend-dxi.mjs +3 -3
- package/esm2022/ui/nested/legend.mjs +3 -3
- package/esm2022/ui/nested/line.mjs +3 -3
- package/esm2022/ui/nested/link.mjs +3 -3
- package/esm2022/ui/nested/load-panel.mjs +3 -3
- package/esm2022/ui/nested/loading-indicator.mjs +3 -3
- package/esm2022/ui/nested/location-dxi.mjs +3 -3
- package/esm2022/ui/nested/lookup.mjs +3 -3
- package/esm2022/ui/nested/main-toolbar.mjs +3 -3
- package/esm2022/ui/nested/margin.mjs +3 -3
- package/esm2022/ui/nested/marker-dxi.mjs +3 -3
- package/esm2022/ui/nested/marker.mjs +3 -3
- package/esm2022/ui/nested/master-detail.mjs +3 -3
- package/esm2022/ui/nested/max-range.mjs +3 -3
- package/esm2022/ui/nested/media-resizing.mjs +3 -3
- package/esm2022/ui/nested/mention-dxi.mjs +3 -3
- package/esm2022/ui/nested/menu-item-dxi.mjs +3 -3
- package/esm2022/ui/nested/min-range.mjs +3 -3
- package/esm2022/ui/nested/min-visual-range-length.mjs +3 -3
- package/esm2022/ui/nested/minor-grid.mjs +3 -3
- package/esm2022/ui/nested/minor-tick-interval.mjs +3 -3
- package/esm2022/ui/nested/minor-tick.mjs +3 -3
- package/esm2022/ui/nested/my.mjs +3 -3
- package/esm2022/ui/nested/node.mjs +3 -3
- package/esm2022/ui/nested/nodes.mjs +3 -3
- package/esm2022/ui/nested/notifications.mjs +3 -3
- package/esm2022/ui/nested/offset.mjs +3 -3
- package/esm2022/ui/nested/operation-descriptions.mjs +3 -3
- package/esm2022/ui/nested/options.mjs +3 -3
- package/esm2022/ui/nested/page-size.mjs +3 -3
- package/esm2022/ui/nested/pager.mjs +3 -3
- package/esm2022/ui/nested/paging.mjs +3 -3
- package/esm2022/ui/nested/pane-dxi.mjs +3 -3
- package/esm2022/ui/nested/permissions.mjs +3 -3
- package/esm2022/ui/nested/point.mjs +3 -3
- package/esm2022/ui/nested/popup.mjs +3 -3
- package/esm2022/ui/nested/position.mjs +3 -3
- package/esm2022/ui/nested/projection.mjs +3 -3
- package/esm2022/ui/nested/properties-panel.mjs +3 -3
- package/esm2022/ui/nested/range-container.mjs +3 -3
- package/esm2022/ui/nested/range-dxi.mjs +3 -3
- package/esm2022/ui/nested/rangearea.mjs +3 -3
- package/esm2022/ui/nested/rangebar.mjs +3 -3
- package/esm2022/ui/nested/reduction.mjs +3 -3
- package/esm2022/ui/nested/remote-operations.mjs +3 -3
- package/esm2022/ui/nested/resource-assignments.mjs +3 -3
- package/esm2022/ui/nested/resource-dxi.mjs +3 -3
- package/esm2022/ui/nested/resources.mjs +3 -3
- package/esm2022/ui/nested/route-dxi.mjs +3 -3
- package/esm2022/ui/nested/row-dragging.mjs +3 -3
- package/esm2022/ui/nested/row-dxi.mjs +3 -3
- package/esm2022/ui/nested/scale-type-range.mjs +3 -3
- package/esm2022/ui/nested/scale.mjs +3 -3
- package/esm2022/ui/nested/scatter.mjs +3 -3
- package/esm2022/ui/nested/scroll-bar.mjs +3 -3
- package/esm2022/ui/nested/scrolling.mjs +3 -3
- package/esm2022/ui/nested/search-editor-options.mjs +3 -3
- package/esm2022/ui/nested/search-panel.mjs +3 -3
- package/esm2022/ui/nested/search.mjs +3 -3
- package/esm2022/ui/nested/selection-style.mjs +3 -3
- package/esm2022/ui/nested/selection.mjs +3 -3
- package/esm2022/ui/nested/series-dxi.mjs +3 -3
- package/esm2022/ui/nested/series-template.mjs +3 -3
- package/esm2022/ui/nested/shadow.mjs +3 -3
- package/esm2022/ui/nested/show-event.mjs +3 -3
- package/esm2022/ui/nested/show-first-submenu-mode.mjs +3 -3
- package/esm2022/ui/nested/show-submenu-mode.mjs +3 -3
- package/esm2022/ui/nested/show.mjs +3 -3
- package/esm2022/ui/nested/shutter.mjs +3 -3
- package/esm2022/ui/nested/size.mjs +3 -3
- package/esm2022/ui/nested/slider-handle.mjs +3 -3
- package/esm2022/ui/nested/slider-marker.mjs +3 -3
- package/esm2022/ui/nested/small-values-grouping.mjs +3 -3
- package/esm2022/ui/nested/sort-by-group-summary-info-dxi.mjs +3 -3
- package/esm2022/ui/nested/sorting.mjs +3 -3
- package/esm2022/ui/nested/source.mjs +3 -3
- package/esm2022/ui/nested/spline.mjs +3 -3
- package/esm2022/ui/nested/splinearea.mjs +3 -3
- package/esm2022/ui/nested/splitter.mjs +3 -3
- package/esm2022/ui/nested/stackedarea.mjs +3 -3
- package/esm2022/ui/nested/stackedbar.mjs +3 -3
- package/esm2022/ui/nested/stackedline.mjs +3 -3
- package/esm2022/ui/nested/stackedspline.mjs +3 -3
- package/esm2022/ui/nested/stackedsplinearea.mjs +3 -3
- package/esm2022/ui/nested/state-storing.mjs +3 -3
- package/esm2022/ui/nested/steparea.mjs +3 -3
- package/esm2022/ui/nested/stepline.mjs +3 -3
- package/esm2022/ui/nested/stock.mjs +3 -3
- package/esm2022/ui/nested/store.mjs +3 -3
- package/esm2022/ui/nested/strip-dxi.mjs +3 -3
- package/esm2022/ui/nested/strip-line-dxi.mjs +3 -3
- package/esm2022/ui/nested/strip-style.mjs +3 -3
- package/esm2022/ui/nested/subtitle.mjs +3 -3
- package/esm2022/ui/nested/subvalue-indicator.mjs +3 -3
- package/esm2022/ui/nested/summary.mjs +3 -3
- package/esm2022/ui/nested/tab-dxi.mjs +3 -3
- package/esm2022/ui/nested/tab-panel-options.mjs +3 -3
- package/esm2022/ui/nested/table-context-menu.mjs +3 -3
- package/esm2022/ui/nested/table-resizing.mjs +3 -3
- package/esm2022/ui/nested/tasks.mjs +3 -3
- package/esm2022/ui/nested/text.mjs +3 -3
- package/esm2022/ui/nested/texts.mjs +3 -3
- package/esm2022/ui/nested/tick-interval.mjs +3 -3
- package/esm2022/ui/nested/tick.mjs +3 -3
- package/esm2022/ui/nested/tile.mjs +3 -3
- package/esm2022/ui/nested/title.mjs +3 -3
- package/esm2022/ui/nested/to.mjs +3 -3
- package/esm2022/ui/nested/toolbar-item-dxi.mjs +3 -3
- package/esm2022/ui/nested/toolbar.mjs +3 -3
- package/esm2022/ui/nested/toolbox.mjs +3 -3
- package/esm2022/ui/nested/tooltip.mjs +3 -3
- package/esm2022/ui/nested/total-item-dxi.mjs +3 -3
- package/esm2022/ui/nested/upload.mjs +3 -3
- package/esm2022/ui/nested/url.mjs +3 -3
- package/esm2022/ui/nested/validation-rule-dxi.mjs +3 -3
- package/esm2022/ui/nested/validation.mjs +3 -3
- package/esm2022/ui/nested/value-axis-dxi.mjs +3 -3
- package/esm2022/ui/nested/value-axis.mjs +3 -3
- package/esm2022/ui/nested/value-error-bar.mjs +3 -3
- package/esm2022/ui/nested/value-format.mjs +3 -3
- package/esm2022/ui/nested/value-indicator.mjs +3 -3
- package/esm2022/ui/nested/variables.mjs +3 -3
- package/esm2022/ui/nested/vertical-line.mjs +3 -3
- package/esm2022/ui/nested/view-dxi.mjs +3 -3
- package/esm2022/ui/nested/view-toolbar.mjs +3 -3
- package/esm2022/ui/nested/width.mjs +3 -3
- package/esm2022/ui/nested/zoom-and-pan.mjs +3 -3
- package/esm2022/ui/nested/zoom-level.mjs +3 -3
- package/esm2022/ui/number-box/index.mjs +3 -3
- package/esm2022/ui/pie-chart/index.mjs +3 -3
- package/esm2022/ui/pivot-grid/index.mjs +3 -3
- package/esm2022/ui/pivot-grid-field-chooser/index.mjs +3 -3
- package/esm2022/ui/polar-chart/index.mjs +3 -3
- package/esm2022/ui/popover/index.mjs +3 -3
- package/esm2022/ui/popup/index.mjs +3 -3
- package/esm2022/ui/progress-bar/index.mjs +3 -3
- package/esm2022/ui/radio-group/index.mjs +3 -3
- package/esm2022/ui/range-selector/index.mjs +3 -3
- package/esm2022/ui/range-slider/index.mjs +3 -3
- package/esm2022/ui/recurrence-editor/index.mjs +3 -3
- package/esm2022/ui/resizable/index.mjs +3 -3
- package/esm2022/ui/responsive-box/index.mjs +3 -3
- package/esm2022/ui/sankey/index.mjs +3 -3
- package/esm2022/ui/scheduler/index.mjs +3 -3
- package/esm2022/ui/scroll-view/index.mjs +3 -3
- package/esm2022/ui/select-box/index.mjs +3 -3
- package/esm2022/ui/slider/index.mjs +3 -3
- package/esm2022/ui/sortable/index.mjs +3 -3
- package/esm2022/ui/sparkline/index.mjs +3 -3
- package/esm2022/ui/speed-dial-action/index.mjs +3 -3
- package/esm2022/ui/splitter/index.mjs +3 -3
- package/esm2022/ui/switch/index.mjs +3 -3
- package/esm2022/ui/tab-panel/index.mjs +3 -3
- package/esm2022/ui/tabs/index.mjs +3 -3
- package/esm2022/ui/tag-box/index.mjs +3 -3
- package/esm2022/ui/text-area/index.mjs +3 -3
- package/esm2022/ui/text-box/index.mjs +3 -3
- package/esm2022/ui/tile-view/index.mjs +3 -3
- package/esm2022/ui/toast/index.mjs +3 -3
- package/esm2022/ui/toolbar/index.mjs +3 -3
- package/esm2022/ui/tooltip/index.mjs +3 -3
- package/esm2022/ui/tree-list/index.mjs +3 -3
- package/esm2022/ui/tree-map/index.mjs +3 -3
- package/esm2022/ui/tree-view/index.mjs +3 -3
- package/esm2022/ui/validation-group/index.mjs +3 -3
- package/esm2022/ui/validation-summary/index.mjs +3 -3
- package/esm2022/ui/validator/index.mjs +3 -3
- package/esm2022/ui/vector-map/index.mjs +3 -3
- package/fesm2022/devextreme-angular-common-charts.mjs +2 -2
- package/fesm2022/devextreme-angular-common-charts.mjs.map +1 -1
- package/fesm2022/devextreme-angular-common-data-custom-store.mjs +2 -2
- package/fesm2022/devextreme-angular-common-data-custom-store.mjs.map +1 -1
- package/fesm2022/devextreme-angular-common-grids.mjs +2 -2
- package/fesm2022/devextreme-angular-common-grids.mjs.map +1 -1
- package/fesm2022/devextreme-angular-common.mjs +2 -2
- package/fesm2022/devextreme-angular-common.mjs.map +1 -1
- package/fesm2022/devextreme-angular-core.mjs +22 -22
- package/fesm2022/devextreme-angular-core.mjs.map +1 -1
- package/fesm2022/devextreme-angular-http.mjs +4 -4
- package/fesm2022/devextreme-angular-http.mjs.map +1 -1
- package/fesm2022/devextreme-angular-server.mjs +4 -4
- package/fesm2022/devextreme-angular-server.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-accordion.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-accordion.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-action-sheet.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-action-sheet.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-autocomplete.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-autocomplete.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-bar-gauge.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-bar-gauge.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-box.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-box.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-bullet.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-bullet.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-button-group.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-button-group.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-button.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-button.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-calendar.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-calendar.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-chart.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-chart.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-check-box.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-check-box.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-circular-gauge.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-circular-gauge.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-color-box.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-color-box.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-context-menu.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-context-menu.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-data-grid.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-data-grid.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-date-box.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-date-box.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-date-range-box.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-date-range-box.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-defer-rendering.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-defer-rendering.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-diagram.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-diagram.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-draggable.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-draggable.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-drawer.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-drawer.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-drop-down-box.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-drop-down-box.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-drop-down-button.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-drop-down-button.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-file-manager.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-file-manager.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-file-uploader.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-file-uploader.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-filter-builder.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-filter-builder.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-form.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-form.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-funnel.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-funnel.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-gallery.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-gallery.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-gantt.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-gantt.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-html-editor.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-html-editor.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-linear-gauge.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-linear-gauge.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-list.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-list.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-load-indicator.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-load-indicator.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-load-panel.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-load-panel.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-lookup.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-lookup.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-map.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-map.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-menu.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-menu.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-multi-view.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-multi-view.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-nested.mjs +590 -590
- package/fesm2022/devextreme-angular-ui-nested.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-number-box.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-number-box.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-pie-chart.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-pie-chart.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-pivot-grid-field-chooser.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-pivot-grid-field-chooser.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-pivot-grid.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-pivot-grid.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-polar-chart.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-polar-chart.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-popover.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-popover.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-popup.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-popup.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-progress-bar.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-progress-bar.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-radio-group.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-radio-group.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-range-selector.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-range-selector.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-range-slider.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-range-slider.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-recurrence-editor.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-recurrence-editor.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-resizable.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-resizable.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-responsive-box.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-responsive-box.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-sankey.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-sankey.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-scheduler.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-scheduler.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-scroll-view.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-scroll-view.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-select-box.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-select-box.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-slider.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-slider.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-sortable.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-sortable.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-sparkline.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-sparkline.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-speed-dial-action.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-speed-dial-action.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-splitter.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-splitter.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-switch.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-switch.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-tab-panel.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-tab-panel.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-tabs.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-tabs.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-tag-box.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-tag-box.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-text-area.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-text-area.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-text-box.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-text-box.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-tile-view.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-tile-view.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-toast.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-toast.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-toolbar.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-toolbar.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-tooltip.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-tooltip.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-tree-list.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-tree-list.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-tree-map.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-tree-map.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-tree-view.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-tree-view.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-validation-group.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-validation-group.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-validation-summary.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-validation-summary.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-validator.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-validator.mjs.map +1 -1
- package/fesm2022/devextreme-angular-ui-vector-map.mjs +2 -2
- package/fesm2022/devextreme-angular-ui-vector-map.mjs.map +1 -1
- package/fesm2022/devextreme-angular.mjs +10 -10
- package/fesm2022/devextreme-angular.mjs.map +1 -1
- package/http/ajax.d.ts +2 -2
- package/http/index.d.ts +2 -2
- package/index.d.ts +2 -2
- package/package.json +8 -8
- package/server/index.d.ts +2 -2
- package/ui/accordion/index.d.ts +2 -2
- package/ui/action-sheet/index.d.ts +2 -2
- package/ui/autocomplete/index.d.ts +2 -2
- package/ui/bar-gauge/index.d.ts +2 -2
- package/ui/box/index.d.ts +2 -2
- package/ui/bullet/index.d.ts +2 -2
- package/ui/button/index.d.ts +2 -2
- package/ui/button-group/index.d.ts +2 -2
- package/ui/calendar/index.d.ts +2 -2
- package/ui/chart/index.d.ts +2 -2
- package/ui/check-box/index.d.ts +2 -2
- package/ui/circular-gauge/index.d.ts +2 -2
- package/ui/color-box/index.d.ts +2 -2
- package/ui/context-menu/index.d.ts +2 -2
- package/ui/data-grid/index.d.ts +2 -2
- package/ui/date-box/index.d.ts +2 -2
- package/ui/date-range-box/index.d.ts +2 -2
- package/ui/defer-rendering/index.d.ts +2 -2
- package/ui/diagram/index.d.ts +2 -2
- package/ui/draggable/index.d.ts +2 -2
- package/ui/drawer/index.d.ts +2 -2
- package/ui/drop-down-box/index.d.ts +2 -2
- package/ui/drop-down-button/index.d.ts +2 -2
- package/ui/file-manager/index.d.ts +2 -2
- package/ui/file-uploader/index.d.ts +2 -2
- package/ui/filter-builder/index.d.ts +2 -2
- package/ui/form/index.d.ts +2 -2
- package/ui/funnel/index.d.ts +2 -2
- package/ui/gallery/index.d.ts +2 -2
- package/ui/gantt/index.d.ts +2 -2
- package/ui/html-editor/index.d.ts +2 -2
- package/ui/linear-gauge/index.d.ts +2 -2
- package/ui/list/index.d.ts +2 -2
- package/ui/load-indicator/index.d.ts +2 -2
- package/ui/load-panel/index.d.ts +2 -2
- package/ui/lookup/index.d.ts +2 -2
- package/ui/map/index.d.ts +2 -2
- package/ui/menu/index.d.ts +2 -2
- package/ui/multi-view/index.d.ts +2 -2
- package/ui/nested/adapter.d.ts +2 -2
- package/ui/nested/adaptive-layout.d.ts +2 -2
- package/ui/nested/aggregation-interval.d.ts +2 -2
- package/ui/nested/aggregation.d.ts +2 -2
- package/ui/nested/animation.d.ts +2 -2
- package/ui/nested/api-key.d.ts +2 -2
- package/ui/nested/appointment-dragging.d.ts +2 -2
- package/ui/nested/area.d.ts +2 -2
- package/ui/nested/argument-axis.d.ts +2 -2
- package/ui/nested/argument-format.d.ts +2 -2
- package/ui/nested/at.d.ts +2 -2
- package/ui/nested/auto-layout.d.ts +2 -2
- package/ui/nested/background-color.d.ts +2 -2
- package/ui/nested/background.d.ts +2 -2
- package/ui/nested/bar.d.ts +2 -2
- package/ui/nested/base/animation-config.d.ts +2 -2
- package/ui/nested/base/animation-state.d.ts +2 -2
- package/ui/nested/base/box-options.d.ts +2 -2
- package/ui/nested/base/button-group-item-dxi.d.ts +2 -2
- package/ui/nested/base/button-options.d.ts +2 -2
- package/ui/nested/base/calendar-options.d.ts +2 -2
- package/ui/nested/base/chart-annotation-config-dxi.d.ts +2 -2
- package/ui/nested/base/chart-common-annotation-config.d.ts +2 -2
- package/ui/nested/base/chart-common-series-settings.d.ts +2 -2
- package/ui/nested/base/chart-series-dxi.d.ts +2 -2
- package/ui/nested/base/charts-color.d.ts +2 -2
- package/ui/nested/base/column-chooser-search-config.d.ts +2 -2
- package/ui/nested/base/column-chooser-selection-config.d.ts +2 -2
- package/ui/nested/base/data-change-dxi.d.ts +2 -2
- package/ui/nested/base/data-grid-column-dxi.d.ts +2 -2
- package/ui/nested/base/data-grid-toolbar.d.ts +2 -2
- package/ui/nested/base/diagram-custom-command-dxi.d.ts +2 -2
- package/ui/nested/base/file-manager-context-menu.d.ts +2 -2
- package/ui/nested/base/file-manager-toolbar-item-dxi.d.ts +2 -2
- package/ui/nested/base/file-uploader-options.d.ts +2 -2
- package/ui/nested/base/filter-builder-custom-operation-dxi.d.ts +2 -2
- package/ui/nested/base/filter-builder-field-dxi.d.ts +2 -2
- package/ui/nested/base/filter-builder-options.d.ts +2 -2
- package/ui/nested/base/form-options.d.ts +2 -2
- package/ui/nested/base/form-simple-item.d.ts +2 -2
- package/ui/nested/base/format.d.ts +2 -2
- package/ui/nested/base/gantt-filter-row-operation-descriptions.d.ts +2 -2
- package/ui/nested/base/gantt-filter-row.d.ts +2 -2
- package/ui/nested/base/gantt-header-filter-texts.d.ts +2 -2
- package/ui/nested/base/gantt-header-filter.d.ts +2 -2
- package/ui/nested/base/gantt-sorting.d.ts +2 -2
- package/ui/nested/base/gantt-strip-line-dxi.d.ts +2 -2
- package/ui/nested/base/gauge-indicator.d.ts +2 -2
- package/ui/nested/base/html-editor-image-upload-tab-item-dxi.d.ts +2 -2
- package/ui/nested/base/html-editor-image-upload.d.ts +2 -2
- package/ui/nested/base/html-editor-media-resizing.d.ts +2 -2
- package/ui/nested/base/html-editor-mention-dxi.d.ts +2 -2
- package/ui/nested/base/html-editor-table-context-menu.d.ts +2 -2
- package/ui/nested/base/html-editor-table-resizing.d.ts +2 -2
- package/ui/nested/base/html-editor-variables.d.ts +2 -2
- package/ui/nested/base/pivot-grid-data-source.d.ts +2 -2
- package/ui/nested/base/popup-options.d.ts +2 -2
- package/ui/nested/base/position-config.d.ts +2 -2
- package/ui/nested/base/scheduler-scrolling.d.ts +2 -2
- package/ui/nested/base/sortable-options.d.ts +2 -2
- package/ui/nested/base/splitter-options.d.ts +2 -2
- package/ui/nested/base/tab-panel-options.d.ts +2 -2
- package/ui/nested/base/text-box-options.d.ts +2 -2
- package/ui/nested/base/text-editor-button-dxi.d.ts +2 -2
- package/ui/nested/base/vector-map-projection-config.d.ts +2 -2
- package/ui/nested/base/viz-font.d.ts +2 -2
- package/ui/nested/base/viz-scale-break-dxi.d.ts +2 -2
- package/ui/nested/behavior.d.ts +2 -2
- package/ui/nested/border.d.ts +2 -2
- package/ui/nested/boundary-offset.d.ts +2 -2
- package/ui/nested/box.d.ts +2 -2
- package/ui/nested/break-style.d.ts +2 -2
- package/ui/nested/bubble.d.ts +2 -2
- package/ui/nested/button-options.d.ts +2 -2
- package/ui/nested/calendar-options.d.ts +2 -2
- package/ui/nested/candlestick.d.ts +2 -2
- package/ui/nested/chart.d.ts +2 -2
- package/ui/nested/col-count-by-screen.d.ts +2 -2
- package/ui/nested/collision.d.ts +2 -2
- package/ui/nested/color.d.ts +2 -2
- package/ui/nested/colorizer.d.ts +2 -2
- package/ui/nested/column-chooser.d.ts +2 -2
- package/ui/nested/column-dxi.d.ts +2 -2
- package/ui/nested/column-fixing.d.ts +2 -2
- package/ui/nested/command-dxi.d.ts +2 -2
- package/ui/nested/common-annotation-settings.d.ts +2 -2
- package/ui/nested/common-axis-settings.d.ts +2 -2
- package/ui/nested/common-pane-settings.d.ts +2 -2
- package/ui/nested/common-series-settings.d.ts +2 -2
- package/ui/nested/connector.d.ts +2 -2
- package/ui/nested/constant-line-style.d.ts +2 -2
- package/ui/nested/context-menu.d.ts +2 -2
- package/ui/nested/context-toolbox.d.ts +2 -2
- package/ui/nested/control-bar.d.ts +2 -2
- package/ui/nested/crosshair.d.ts +2 -2
- package/ui/nested/cursor-offset.d.ts +2 -2
- package/ui/nested/custom-shape-dxi.d.ts +2 -2
- package/ui/nested/data-prepare-settings.d.ts +2 -2
- package/ui/nested/data-source.d.ts +2 -2
- package/ui/nested/default-item-properties.d.ts +2 -2
- package/ui/nested/delay.d.ts +2 -2
- package/ui/nested/dependencies.d.ts +2 -2
- package/ui/nested/details.d.ts +2 -2
- package/ui/nested/display-format.d.ts +2 -2
- package/ui/nested/drag-box-style.d.ts +2 -2
- package/ui/nested/drop-down-options.d.ts +2 -2
- package/ui/nested/edges.d.ts +2 -2
- package/ui/nested/editing.d.ts +2 -2
- package/ui/nested/export.d.ts +2 -2
- package/ui/nested/field-chooser.d.ts +2 -2
- package/ui/nested/field-panel.d.ts +2 -2
- package/ui/nested/file-uploader-options.d.ts +2 -2
- package/ui/nested/filter-builder-popup.d.ts +2 -2
- package/ui/nested/filter-builder.d.ts +2 -2
- package/ui/nested/filter-operation-descriptions.d.ts +2 -2
- package/ui/nested/filter-panel.d.ts +2 -2
- package/ui/nested/filter-row.d.ts +2 -2
- package/ui/nested/font.d.ts +2 -2
- package/ui/nested/form-item.d.ts +2 -2
- package/ui/nested/form.d.ts +2 -2
- package/ui/nested/format.d.ts +2 -2
- package/ui/nested/from.d.ts +2 -2
- package/ui/nested/fullstackedarea.d.ts +2 -2
- package/ui/nested/fullstackedbar.d.ts +2 -2
- package/ui/nested/fullstackedline.d.ts +2 -2
- package/ui/nested/fullstackedspline.d.ts +2 -2
- package/ui/nested/fullstackedsplinearea.d.ts +2 -2
- package/ui/nested/geometry.d.ts +2 -2
- package/ui/nested/grid-size.d.ts +2 -2
- package/ui/nested/grid.d.ts +2 -2
- package/ui/nested/group-dxi.d.ts +2 -2
- package/ui/nested/group-operation-descriptions.d.ts +2 -2
- package/ui/nested/group-panel.d.ts +2 -2
- package/ui/nested/group.d.ts +2 -2
- package/ui/nested/grouping.d.ts +2 -2
- package/ui/nested/hatching.d.ts +2 -2
- package/ui/nested/header-filter.d.ts +2 -2
- package/ui/nested/height.d.ts +2 -2
- package/ui/nested/hide-event.d.ts +2 -2
- package/ui/nested/hide.d.ts +2 -2
- package/ui/nested/history-toolbar.d.ts +2 -2
- package/ui/nested/horizontal-line.d.ts +2 -2
- package/ui/nested/hover-style.d.ts +2 -2
- package/ui/nested/image-upload.d.ts +2 -2
- package/ui/nested/image.d.ts +2 -2
- package/ui/nested/indent.d.ts +2 -2
- package/ui/nested/index.d.ts +2 -2
- package/ui/nested/item-dragging.d.ts +2 -2
- package/ui/nested/item-dxi.d.ts +2 -2
- package/ui/nested/item-text-format.d.ts +2 -2
- package/ui/nested/item-view.d.ts +2 -2
- package/ui/nested/item.d.ts +2 -2
- package/ui/nested/keyboard-navigation.d.ts +2 -2
- package/ui/nested/label.d.ts +2 -2
- package/ui/nested/legend.d.ts +2 -2
- package/ui/nested/line.d.ts +2 -2
- package/ui/nested/link.d.ts +2 -2
- package/ui/nested/load-panel.d.ts +2 -2
- package/ui/nested/loading-indicator.d.ts +2 -2
- package/ui/nested/lookup.d.ts +2 -2
- package/ui/nested/main-toolbar.d.ts +2 -2
- package/ui/nested/margin.d.ts +2 -2
- package/ui/nested/marker-dxi.d.ts +2 -2
- package/ui/nested/marker.d.ts +2 -2
- package/ui/nested/master-detail.d.ts +2 -2
- package/ui/nested/max-range.d.ts +2 -2
- package/ui/nested/media-resizing.d.ts +2 -2
- package/ui/nested/min-range.d.ts +2 -2
- package/ui/nested/min-visual-range-length.d.ts +2 -2
- package/ui/nested/minor-grid.d.ts +2 -2
- package/ui/nested/minor-tick-interval.d.ts +2 -2
- package/ui/nested/minor-tick.d.ts +2 -2
- package/ui/nested/my.d.ts +2 -2
- package/ui/nested/node.d.ts +2 -2
- package/ui/nested/nodes.d.ts +2 -2
- package/ui/nested/notifications.d.ts +2 -2
- package/ui/nested/offset.d.ts +2 -2
- package/ui/nested/operation-descriptions.d.ts +2 -2
- package/ui/nested/options.d.ts +2 -2
- package/ui/nested/page-size.d.ts +2 -2
- package/ui/nested/pager.d.ts +2 -2
- package/ui/nested/paging.d.ts +2 -2
- package/ui/nested/permissions.d.ts +2 -2
- package/ui/nested/point.d.ts +2 -2
- package/ui/nested/popup.d.ts +2 -2
- package/ui/nested/position.d.ts +2 -2
- package/ui/nested/projection.d.ts +2 -2
- package/ui/nested/properties-panel.d.ts +2 -2
- package/ui/nested/range-container.d.ts +2 -2
- package/ui/nested/rangearea.d.ts +2 -2
- package/ui/nested/rangebar.d.ts +2 -2
- package/ui/nested/reduction.d.ts +2 -2
- package/ui/nested/remote-operations.d.ts +2 -2
- package/ui/nested/resource-assignments.d.ts +2 -2
- package/ui/nested/resources.d.ts +2 -2
- package/ui/nested/route-dxi.d.ts +2 -2
- package/ui/nested/row-dragging.d.ts +2 -2
- package/ui/nested/scale-type-range.d.ts +2 -2
- package/ui/nested/scale.d.ts +2 -2
- package/ui/nested/scatter.d.ts +2 -2
- package/ui/nested/scroll-bar.d.ts +2 -2
- package/ui/nested/scrolling.d.ts +2 -2
- package/ui/nested/search-editor-options.d.ts +2 -2
- package/ui/nested/search-panel.d.ts +2 -2
- package/ui/nested/search.d.ts +2 -2
- package/ui/nested/selection-style.d.ts +2 -2
- package/ui/nested/selection.d.ts +2 -2
- package/ui/nested/series-template.d.ts +2 -2
- package/ui/nested/shadow.d.ts +2 -2
- package/ui/nested/show-event.d.ts +2 -2
- package/ui/nested/show-first-submenu-mode.d.ts +2 -2
- package/ui/nested/show-submenu-mode.d.ts +2 -2
- package/ui/nested/show.d.ts +2 -2
- package/ui/nested/shutter.d.ts +2 -2
- package/ui/nested/size.d.ts +2 -2
- package/ui/nested/slider-handle.d.ts +2 -2
- package/ui/nested/slider-marker.d.ts +2 -2
- package/ui/nested/small-values-grouping.d.ts +2 -2
- package/ui/nested/sorting.d.ts +2 -2
- package/ui/nested/source.d.ts +2 -2
- package/ui/nested/spline.d.ts +2 -2
- package/ui/nested/splinearea.d.ts +2 -2
- package/ui/nested/splitter.d.ts +2 -2
- package/ui/nested/stackedarea.d.ts +2 -2
- package/ui/nested/stackedbar.d.ts +2 -2
- package/ui/nested/stackedline.d.ts +2 -2
- package/ui/nested/stackedspline.d.ts +2 -2
- package/ui/nested/stackedsplinearea.d.ts +2 -2
- package/ui/nested/state-storing.d.ts +2 -2
- package/ui/nested/steparea.d.ts +2 -2
- package/ui/nested/stepline.d.ts +2 -2
- package/ui/nested/stock.d.ts +2 -2
- package/ui/nested/store.d.ts +2 -2
- package/ui/nested/strip-style.d.ts +2 -2
- package/ui/nested/subtitle.d.ts +2 -2
- package/ui/nested/subvalue-indicator.d.ts +2 -2
- package/ui/nested/summary.d.ts +2 -2
- package/ui/nested/tab-dxi.d.ts +2 -2
- package/ui/nested/tab-panel-options.d.ts +2 -2
- package/ui/nested/table-context-menu.d.ts +2 -2
- package/ui/nested/table-resizing.d.ts +2 -2
- package/ui/nested/tasks.d.ts +2 -2
- package/ui/nested/text.d.ts +2 -2
- package/ui/nested/texts.d.ts +2 -2
- package/ui/nested/tick-interval.d.ts +2 -2
- package/ui/nested/tick.d.ts +2 -2
- package/ui/nested/tile.d.ts +2 -2
- package/ui/nested/title.d.ts +2 -2
- package/ui/nested/to.d.ts +2 -2
- package/ui/nested/toolbar-item-dxi.d.ts +2 -2
- package/ui/nested/toolbar.d.ts +2 -2
- package/ui/nested/toolbox.d.ts +2 -2
- package/ui/nested/tooltip.d.ts +2 -2
- package/ui/nested/upload.d.ts +2 -2
- package/ui/nested/url.d.ts +2 -2
- package/ui/nested/validation.d.ts +2 -2
- package/ui/nested/value-axis-dxi.d.ts +2 -2
- package/ui/nested/value-axis.d.ts +2 -2
- package/ui/nested/value-error-bar.d.ts +2 -2
- package/ui/nested/value-format.d.ts +2 -2
- package/ui/nested/value-indicator.d.ts +2 -2
- package/ui/nested/variables.d.ts +2 -2
- package/ui/nested/vertical-line.d.ts +2 -2
- package/ui/nested/view-toolbar.d.ts +2 -2
- package/ui/nested/width.d.ts +2 -2
- package/ui/nested/zoom-and-pan.d.ts +2 -2
- package/ui/nested/zoom-level.d.ts +2 -2
- package/ui/number-box/index.d.ts +2 -2
- package/ui/pie-chart/index.d.ts +2 -2
- package/ui/pivot-grid/index.d.ts +2 -2
- package/ui/pivot-grid-field-chooser/index.d.ts +2 -2
- package/ui/polar-chart/index.d.ts +2 -2
- package/ui/popover/index.d.ts +2 -2
- package/ui/popup/index.d.ts +2 -2
- package/ui/progress-bar/index.d.ts +2 -2
- package/ui/radio-group/index.d.ts +2 -2
- package/ui/range-selector/index.d.ts +2 -2
- package/ui/range-slider/index.d.ts +2 -2
- package/ui/recurrence-editor/index.d.ts +2 -2
- package/ui/resizable/index.d.ts +2 -2
- package/ui/responsive-box/index.d.ts +2 -2
- package/ui/sankey/index.d.ts +2 -2
- package/ui/scheduler/index.d.ts +2 -2
- package/ui/scroll-view/index.d.ts +2 -2
- package/ui/select-box/index.d.ts +2 -2
- package/ui/slider/index.d.ts +2 -2
- package/ui/sortable/index.d.ts +2 -2
- package/ui/sparkline/index.d.ts +2 -2
- package/ui/speed-dial-action/index.d.ts +2 -2
- package/ui/splitter/index.d.ts +2 -2
- package/ui/switch/index.d.ts +2 -2
- package/ui/tab-panel/index.d.ts +2 -2
- package/ui/tabs/index.d.ts +2 -2
- package/ui/tag-box/index.d.ts +2 -2
- package/ui/text-area/index.d.ts +2 -2
- package/ui/text-box/index.d.ts +2 -2
- package/ui/tile-view/index.d.ts +2 -2
- package/ui/toast/index.d.ts +2 -2
- package/ui/toolbar/index.d.ts +2 -2
- package/ui/tooltip/index.d.ts +2 -2
- package/ui/tree-list/index.d.ts +2 -2
- package/ui/tree-map/index.d.ts +2 -2
- package/ui/tree-view/index.d.ts +2 -2
- package/ui/validation-group/index.d.ts +2 -2
- package/ui/validation-summary/index.d.ts +2 -2
- package/ui/validator/index.d.ts +2 -2
- package/ui/vector-map/index.d.ts +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* devextreme-angular
|
|
3
|
-
* Version: 24.1.
|
|
4
|
-
* Build date: Fri
|
|
3
|
+
* Version: 24.1.17
|
|
4
|
+
* Build date: Fri Apr 24 2026
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
|
|
7
7
|
*
|
|
@@ -778,4 +778,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
778
778
|
]
|
|
779
779
|
}]
|
|
780
780
|
}] });
|
|
781
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9kaXN0L3VpL3Rvb2x0aXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxvQ0FBb0M7QUFHcEMsT0FBTyxFQUNILGFBQWEsRUFDYixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixNQUFNLEVBQ04sV0FBVyxFQUNYLE1BQU0sRUFFTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQVN2QixPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUc5QyxPQUFPLEVBQ0gsV0FBVyxFQUNYLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixhQUFhLEVBQ2hCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixD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akIsV0FBVzt3QkFDWCx1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogZGV2ZXh0cmVtZS1hbmd1bGFyXG4gKiBWZXJzaW9uOiAyNC4xLjE2XG4gKiBCdWlsZCBkYXRlOiBGcmkgRmViIDIwIDIwMjZcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDI2IERldmVsb3BlciBFeHByZXNzIEluYy4gQUxMIFJJR0hUUyBSRVNFUlZFRFxuICpcbiAqIFRoaXMgc29mdHdhcmUgbWF5IGJlIG1vZGlmaWVkIGFuZCBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXNcbiAqIG9mIHRoZSBNSVQgbGljZW5zZS4gU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3QgZm9yIGRldGFpbHMuXG4gKlxuICogaHR0cHM6Ly9naXRodWIuY29tL0RldkV4cHJlc3MvZGV2ZXh0cmVtZS1hbmd1bGFyXG4gKi9cblxuLyogdHNsaW50OmRpc2FibGU6bWF4LWxpbmUtbGVuZ3RoICovXHJcblxyXG5cclxuaW1wb3J0IHtcclxuICAgIFRyYW5zZmVyU3RhdGUsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBOZ01vZHVsZSxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBOZ1pvbmUsXHJcbiAgICBQTEFURk9STV9JRCxcclxuICAgIEluamVjdCxcclxuXHJcbiAgICBJbnB1dCxcclxuICAgIE91dHB1dCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIEV2ZW50RW1pdHRlclxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcbmltcG9ydCB7IEFuaW1hdGlvbkNvbmZpZyB9IGZyb20gJ2RldmV4dHJlbWUvYW5pbWF0aW9uL2Z4JztcclxuaW1wb3J0IHsgUG9zaXRpb25Db25maWcgfSBmcm9tICdkZXZleHRyZW1lL2FuaW1hdGlvbi9wb3NpdGlvbic7XHJcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnZGV2ZXh0cmVtZS9jb21tb24nO1xyXG5pbXBvcnQgeyBVc2VyRGVmaW5lZEVsZW1lbnQgfSBmcm9tICdkZXZleHRyZW1lL2NvcmUvZWxlbWVudCc7XHJcbmltcG9ydCB7IENvbnRlbnRSZWFkeUV2ZW50LCBEaXNwb3NpbmdFdmVudCwgSGlkZGVuRXZlbnQsIEhpZGluZ0V2ZW50LCBJbml0aWFsaXplZEV2ZW50LCBPcHRpb25DaGFuZ2VkRXZlbnQsIFNob3dpbmdFdmVudCwgU2hvd25FdmVudCB9IGZyb20gJ2RldmV4dHJlbWUvdWkvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgRHhUb29sdGlwIGZyb20gJ2RldmV4dHJlbWUvdWkvdG9vbHRpcCc7XHJcblxyXG5cclxuaW1wb3J0IHtcclxuICAgIER4Q29tcG9uZW50LFxyXG4gICAgRHhUZW1wbGF0ZUhvc3QsXHJcbiAgICBEeEludGVncmF0aW9uTW9kdWxlLFxyXG4gICAgRHhUZW1wbGF0ZU1vZHVsZSxcclxuICAgIE5lc3RlZE9wdGlvbkhvc3QsXHJcbiAgICBXYXRjaGVySGVscGVyXHJcbn0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRHhvQW5pbWF0aW9uTW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b0hpZGVNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvRnJvbU1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9Qb3NpdGlvbk1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9BdE1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9Cb3VuZGFyeU9mZnNldE1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9Db2xsaXNpb25Nb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvTXlNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvT2Zmc2V0TW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b1RvTW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b1Nob3dNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvSGlkZUV2ZW50TW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b1Nob3dFdmVudE1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5cclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIFtkZXNjcjpkeFRvb2x0aXBdXHJcblxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2R4LXRvb2x0aXAnLFxyXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcclxuICAgIGhvc3Q6IHsgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScgfSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIER4VGVtcGxhdGVIb3N0LFxyXG4gICAgICAgIFdhdGNoZXJIZWxwZXIsXHJcbiAgICAgICAgTmVzdGVkT3B0aW9uSG9zdFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHhUb29sdGlwQ29tcG9uZW50IGV4dGVuZHMgRHhDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgaW5zdGFuY2U6IER4VG9vbHRpcCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhQb3BvdmVyT3B0aW9ucy5hbmltYXRpb25dXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBhbmltYXRpb24oKTogeyBoaWRlPzogQW5pbWF0aW9uQ29uZmlnLCBzaG93PzogQW5pbWF0aW9uQ29uZmlnIH0ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2FuaW1hdGlvbicpO1xyXG4gICAgfVxyXG4gICAgc2V0IGFuaW1hdGlvbih2YWx1ZTogeyBoaWRlPzogQW5pbWF0aW9uQ29uZmlnLCBzaG93PzogQW5pbWF0aW9uQ29uZmlnIH0pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2FuaW1hdGlvbicsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhQb3BvdmVyT3B0aW9ucy5jbG9zZU9uT3V0c2lkZUNsaWNrXVxyXG4gICAgXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBbZGVwTm90ZTpkeFBvcG92ZXJPcHRpb25zLmNsb3NlT25PdXRzaWRlQ2xpY2tdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBjbG9zZU9uT3V0c2lkZUNsaWNrKCk6IGJvb2xlYW4gfCBGdW5jdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignY2xvc2VPbk91dHNpZGVDbGljaycpO1xyXG4gICAgfVxyXG4gICAgc2V0IGNsb3NlT25PdXRzaWRlQ2xpY2sodmFsdWU6IGJvb2xlYW4gfCBGdW5jdGlvbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignY2xvc2VPbk91dHNpZGVDbGljaycsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhQb3B1cE9wdGlvbnMuY29udGFpbmVyXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgY29udGFpbmVyKCk6IFVzZXJEZWZpbmVkRWxlbWVudCB8IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignY29udGFpbmVyJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgY29udGFpbmVyKHZhbHVlOiBVc2VyRGVmaW5lZEVsZW1lbnQgfCBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2NvbnRhaW5lcicsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhPdmVybGF5T3B0aW9ucy5jb250ZW50VGVtcGxhdGVdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBjb250ZW50VGVtcGxhdGUoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdjb250ZW50VGVtcGxhdGUnKTtcclxuICAgIH1cclxuICAgIHNldCBjb250ZW50VGVtcGxhdGUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignY29udGVudFRlbXBsYXRlJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeE92ZXJsYXlPcHRpb25zLmRlZmVyUmVuZGVyaW5nXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZGVmZXJSZW5kZXJpbmcoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignZGVmZXJSZW5kZXJpbmcnKTtcclxuICAgIH1cclxuICAgIHNldCBkZWZlclJlbmRlcmluZyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZGVmZXJSZW5kZXJpbmcnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOldpZGdldE9wdGlvbnMuZGlzYWJsZWRdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdkaXNhYmxlZCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdkaXNhYmxlZCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhQb3BvdmVyT3B0aW9ucy5oZWlnaHRdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBoZWlnaHQoKTogbnVtYmVyIHwgRnVuY3Rpb24gfCBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2hlaWdodCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGhlaWdodCh2YWx1ZTogbnVtYmVyIHwgRnVuY3Rpb24gfCBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2hlaWdodCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhQb3BvdmVyT3B0aW9ucy5oaWRlRXZlbnRdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBoaWRlRXZlbnQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgeyBkZWxheT86IG51bWJlciB8IHVuZGVmaW5lZCwgbmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZCB9IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdoaWRlRXZlbnQnKTtcclxuICAgIH1cclxuICAgIHNldCBoaWRlRXZlbnQodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCB8IHsgZGVsYXk/OiBudW1iZXIgfCB1bmRlZmluZWQsIG5hbWU/OiBzdHJpbmcgfCB1bmRlZmluZWQgfSkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignaGlkZUV2ZW50JywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeFBvcG92ZXJPcHRpb25zLmhpZGVPbk91dHNpZGVDbGlja11cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGhpZGVPbk91dHNpZGVDbGljaygpOiBib29sZWFuIHwgRnVuY3Rpb24ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2hpZGVPbk91dHNpZGVDbGljaycpO1xyXG4gICAgfVxyXG4gICAgc2V0IGhpZGVPbk91dHNpZGVDbGljayh2YWx1ZTogYm9vbGVhbiB8IEZ1bmN0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdoaWRlT25PdXRzaWRlQ2xpY2snLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4UG9wb3Zlck9wdGlvbnMuaGlkZU9uUGFyZW50U2Nyb2xsXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgaGlkZU9uUGFyZW50U2Nyb2xsKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2hpZGVPblBhcmVudFNjcm9sbCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGhpZGVPblBhcmVudFNjcm9sbCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignaGlkZU9uUGFyZW50U2Nyb2xsJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpXaWRnZXRPcHRpb25zLmhpbnRdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBoaW50KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignaGludCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGhpbnQodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignaGludCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6V2lkZ2V0T3B0aW9ucy5ob3ZlclN0YXRlRW5hYmxlZF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGhvdmVyU3RhdGVFbmFibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2hvdmVyU3RhdGVFbmFibGVkJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgaG92ZXJTdGF0ZUVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2hvdmVyU3RhdGVFbmFibGVkJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeE92ZXJsYXlPcHRpb25zLm1heEhlaWdodF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IG1heEhlaWdodCgpOiBudW1iZXIgfCBGdW5jdGlvbiB8IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignbWF4SGVpZ2h0Jyk7XHJcbiAgICB9XHJcbiAgICBzZXQgbWF4SGVpZ2h0KHZhbHVlOiBudW1iZXIgfCBGdW5jdGlvbiB8IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignbWF4SGVpZ2h0JywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeE92ZXJsYXlPcHRpb25zLm1heFdpZHRoXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgbWF4V2lkdGgoKTogbnVtYmVyIHwgRnVuY3Rpb24gfCBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ21heFdpZHRoJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgbWF4V2lkdGgodmFsdWU6IG51bWJlciB8IEZ1bmN0aW9uIHwgc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdtYXhXaWR0aCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhPdmVybGF5T3B0aW9ucy5taW5IZWlnaHRdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBtaW5IZWlnaHQoKTogbnVtYmVyIHwgRnVuY3Rpb24gfCBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ21pbkhlaWdodCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IG1pbkhlaWdodCh2YWx1ZTogbnVtYmVyIHwgRnVuY3Rpb24gfCBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ21pbkhlaWdodCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhPdmVybGF5T3B0aW9ucy5taW5XaWR0aF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IG1pbldpZHRoKCk6IG51bWJlciB8IEZ1bmN0aW9uIHwgc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdtaW5XaWR0aCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IG1pbldpZHRoKHZhbHVlOiBudW1iZXIgfCBGdW5jdGlvbiB8IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignbWluV2lkdGgnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4UG9wb3Zlck9wdGlvbnMucG9zaXRpb25dXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBwb3NpdGlvbigpOiBQb3NpdGlvbiB8IFBvc2l0aW9uQ29uZmlnIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdwb3NpdGlvbicpO1xyXG4gICAgfVxyXG4gICAgc2V0IHBvc2l0aW9uKHZhbHVlOiBQb3NpdGlvbiB8IFBvc2l0aW9uQ29uZmlnKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdwb3NpdGlvbicsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6RE9NQ29tcG9uZW50T3B0aW9ucy5ydGxFbmFibGVkXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgcnRsRW5hYmxlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdydGxFbmFibGVkJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgcnRsRW5hYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbigncnRsRW5hYmxlZCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhQb3BvdmVyT3B0aW9ucy5zaGFkaW5nXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hhZGluZygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdzaGFkaW5nJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hhZGluZyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignc2hhZGluZycsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhPdmVybGF5T3B0aW9ucy5zaGFkaW5nQ29sb3JdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaGFkaW5nQ29sb3IoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdzaGFkaW5nQ29sb3InKTtcclxuICAgIH1cclxuICAgIHNldCBzaGFkaW5nQ29sb3IodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignc2hhZGluZ0NvbG9yJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeFBvcG92ZXJPcHRpb25zLnNob3dFdmVudF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dFdmVudCgpOiBzdHJpbmcgfCB1bmRlZmluZWQgfCB7IGRlbGF5PzogbnVtYmVyIHwgdW5kZWZpbmVkLCBuYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkIH0ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3Nob3dFdmVudCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dFdmVudCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgeyBkZWxheT86IG51bWJlciB8IHVuZGVmaW5lZCwgbmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZCB9KSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdzaG93RXZlbnQnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4UG9wb3Zlck9wdGlvbnMudGFyZ2V0XVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgdGFyZ2V0KCk6IFVzZXJEZWZpbmVkRWxlbWVudCB8IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbigndGFyZ2V0Jyk7XHJcbiAgICB9XHJcbiAgICBzZXQgdGFyZ2V0KHZhbHVlOiBVc2VyRGVmaW5lZEVsZW1lbnQgfCBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ3RhcmdldCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhPdmVybGF5T3B0aW9ucy52aXNpYmxlXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCd2aXNpYmxlJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbigndmlzaWJsZScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhQb3BvdmVyT3B0aW9ucy53aWR0aF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHdpZHRoKCk6IG51bWJlciB8IEZ1bmN0aW9uIHwgc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCd3aWR0aCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IHdpZHRoKHZhbHVlOiBudW1iZXIgfCBGdW5jdGlvbiB8IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignd2lkdGgnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4T3ZlcmxheU9wdGlvbnMud3JhcHBlckF0dHJdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCB3cmFwcGVyQXR0cigpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3dyYXBwZXJBdHRyJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgd3JhcHBlckF0dHIodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignd3JhcHBlckF0dHInLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeFRvb2x0aXBPcHRpb25zLm9uQ29udGVudFJlYWR5XVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uQ29udGVudFJlYWR5OiBFdmVudEVtaXR0ZXI8Q29udGVudFJlYWR5RXZlbnQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhUb29sdGlwT3B0aW9ucy5vbkRpc3Bvc2luZ11cclxuICAgIFxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvbkRpc3Bvc2luZzogRXZlbnRFbWl0dGVyPERpc3Bvc2luZ0V2ZW50PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4VG9vbHRpcE9wdGlvbnMub25IaWRkZW5dXHJcbiAgICBcclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25IaWRkZW46IEV2ZW50RW1pdHRlcjxIaWRkZW5FdmVudD47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeFRvb2x0aXBPcHRpb25zLm9uSGlkaW5nXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uSGlkaW5nOiBFdmVudEVtaXR0ZXI8SGlkaW5nRXZlbnQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhUb29sdGlwT3B0aW9ucy5vbkluaXRpYWxpemVkXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uSW5pdGlhbGl6ZWQ6IEV2ZW50RW1pdHRlcjxJbml0aWFsaXplZEV2ZW50PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4VG9vbHRpcE9wdGlvbnMub25PcHRpb25DaGFuZ2VkXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uT3B0aW9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPE9wdGlvbkNoYW5nZWRFdmVudD47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeFRvb2x0aXBPcHRpb25zLm9uU2hvd2luZ11cclxuICAgIFxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvblNob3dpbmc6IEV2ZW50RW1pdHRlcjxTaG93aW5nRXZlbnQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhUb29sdGlwT3B0aW9ucy5vblNob3duXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uU2hvd246IEV2ZW50RW1pdHRlcjxTaG93bkV2ZW50PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgYW5pbWF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8eyBoaWRlPzogQW5pbWF0aW9uQ29uZmlnLCBzaG93PzogQW5pbWF0aW9uQ29uZmlnIH0+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBjbG9zZU9uT3V0c2lkZUNsaWNrQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbiB8IEZ1bmN0aW9uPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgY29udGFpbmVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VXNlckRlZmluZWRFbGVtZW50IHwgc3RyaW5nIHwgdW5kZWZpbmVkPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgY29udGVudFRlbXBsYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgZGVmZXJSZW5kZXJpbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgZGlzYWJsZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgaGVpZ2h0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyIHwgRnVuY3Rpb24gfCBzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBoaWRlRXZlbnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCB1bmRlZmluZWQgfCB7IGRlbGF5PzogbnVtYmVyIHwgdW5kZWZpbmVkLCBuYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkIH0+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBoaWRlT25PdXRzaWRlQ2xpY2tDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuIHwgRnVuY3Rpb24+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBoaWRlT25QYXJlbnRTY3JvbGxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgaGludENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZyB8IHVuZGVmaW5lZD47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGhvdmVyU3RhdGVFbmFibGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG1heEhlaWdodENoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlciB8IEZ1bmN0aW9uIHwgc3RyaW5nPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgbWF4V2lkdGhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXIgfCBGdW5jdGlvbiB8IHN0cmluZz47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG1pbkhlaWdodENoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlciB8IEZ1bmN0aW9uIHwgc3RyaW5nPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgbWluV2lkdGhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXIgfCBGdW5jdGlvbiB8IHN0cmluZz47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIHBvc2l0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UG9zaXRpb24gfCBQb3NpdGlvbkNvbmZpZz47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIHJ0bEVuYWJsZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgc2hhZGluZ0NoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBzaGFkaW5nQ29sb3JDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBzaG93RXZlbnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCB1bmRlZmluZWQgfCB7IGRlbGF5PzogbnVtYmVyIHwgdW5kZWZpbmVkLCBuYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkIH0+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSB0YXJnZXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxVc2VyRGVmaW5lZEVsZW1lbnQgfCBzdHJpbmcgfCB1bmRlZmluZWQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIHdpZHRoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyIHwgRnVuY3Rpb24gfCBzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSB3cmFwcGVyQXR0ckNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgbmdab25lOiBOZ1pvbmUsIHRlbXBsYXRlSG9zdDogRHhUZW1wbGF0ZUhvc3QsXHJcbiAgICAgICAgICAgIF93YXRjaGVySGVscGVyOiBXYXRjaGVySGVscGVyLFxyXG4gICAgICAgICAgICBvcHRpb25Ib3N0OiBOZXN0ZWRPcHRpb25Ib3N0LFxyXG4gICAgICAgICAgICB0cmFuc2ZlclN0YXRlOiBUcmFuc2ZlclN0YXRlLFxyXG4gICAgICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBhbnkpIHtcclxuXHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgbmdab25lLCB0ZW1wbGF0ZUhvc3QsIF93YXRjaGVySGVscGVyLCB0cmFuc2ZlclN0YXRlLCBwbGF0Zm9ybUlkKTtcclxuXHJcbiAgICAgICAgdGhpcy5fY3JlYXRlRXZlbnRFbWl0dGVycyhbXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnY29udGVudFJlYWR5JywgZW1pdDogJ29uQ29udGVudFJlYWR5JyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2Rpc3Bvc2luZycsIGVtaXQ6ICdvbkRpc3Bvc2luZycgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdoaWRkZW4nLCBlbWl0OiAnb25IaWRkZW4nIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnaGlkaW5nJywgZW1pdDogJ29uSGlkaW5nJyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2luaXRpYWxpemVkJywgZW1pdDogJ29uSW5pdGlhbGl6ZWQnIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnb3B0aW9uQ2hhbmdlZCcsIGVtaXQ6ICdvbk9wdGlvbkNoYW5nZWQnIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnc2hvd2luZycsIGVtaXQ6ICdvblNob3dpbmcnIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnc2hvd24nLCBlbWl0OiAnb25TaG93bicgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnYW5pbWF0aW9uQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdjbG9zZU9uT3V0c2lkZUNsaWNrQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdjb250YWluZXJDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2NvbnRlbnRUZW1wbGF0ZUNoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnZGVmZXJSZW5kZXJpbmdDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2Rpc2FibGVkQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdoZWlnaHRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2hpZGVFdmVudENoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnaGlkZU9uT3V0c2lkZUNsaWNrQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdoaWRlT25QYXJlbnRTY3JvbGxDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2hpbnRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2hvdmVyU3RhdGVFbmFibGVkQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdtYXhIZWlnaHRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ21heFdpZHRoQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdtaW5IZWlnaHRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ21pbldpZHRoQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdwb3NpdGlvbkNoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAncnRsRW5hYmxlZENoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnc2hhZGluZ0NoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnc2hhZGluZ0NvbG9yQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdzaG93RXZlbnRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ3RhcmdldENoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAndmlzaWJsZUNoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnd2lkdGhDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ3dyYXBwZXJBdHRyQ2hhbmdlJyB9XHJcbiAgICAgICAgXSk7XHJcbiAgICAgICAgb3B0aW9uSG9zdC5zZXRIb3N0KHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfY3JlYXRlSW5zdGFuY2UoZWxlbWVudCwgb3B0aW9ucykge1xyXG5cclxuICAgICAgICByZXR1cm4gbmV3IER4VG9vbHRpcChlbGVtZW50LCBvcHRpb25zKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5fZGVzdHJveVdpZGdldCgpO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBEeG9BbmltYXRpb25Nb2R1bGUsXHJcbiAgICBEeG9IaWRlTW9kdWxlLFxyXG4gICAgRHhvRnJvbU1vZHVsZSxcclxuICAgIER4b1Bvc2l0aW9uTW9kdWxlLFxyXG4gICAgRHhvQXRNb2R1bGUsXHJcbiAgICBEeG9Cb3VuZGFyeU9mZnNldE1vZHVsZSxcclxuICAgIER4b0NvbGxpc2lvbk1vZHVsZSxcclxuICAgIER4b015TW9kdWxlLFxyXG4gICAgRHhvT2Zmc2V0TW9kdWxlLFxyXG4gICAgRHhvVG9Nb2R1bGUsXHJcbiAgICBEeG9TaG93TW9kdWxlLFxyXG4gICAgRHhvSGlkZUV2ZW50TW9kdWxlLFxyXG4gICAgRHhvU2hvd0V2ZW50TW9kdWxlLFxyXG4gICAgRHhJbnRlZ3JhdGlvbk1vZHVsZSxcclxuICAgIER4VGVtcGxhdGVNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRHhUb29sdGlwQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBEeFRvb2x0aXBDb21wb25lbnQsXHJcbiAgICBEeG9BbmltYXRpb25Nb2R1bGUsXHJcbiAgICBEeG9IaWRlTW9kdWxlLFxyXG4gICAgRHhvRnJvbU1vZHVsZSxcclxuICAgIER4b1Bvc2l0aW9uTW9kdWxlLFxyXG4gICAgRHhvQXRNb2R1bGUsXHJcbiAgICBEeG9Cb3VuZGFyeU9mZnNldE1vZHVsZSxcclxuICAgIER4b0NvbGxpc2lvbk1vZHVsZSxcclxuICAgIER4b015TW9kdWxlLFxyXG4gICAgRHhvT2Zmc2V0TW9kdWxlLFxyXG4gICAgRHhvVG9Nb2R1bGUsXHJcbiAgICBEeG9TaG93TW9kdWxlLFxyXG4gICAgRHhvSGlkZUV2ZW50TW9kdWxlLFxyXG4gICAgRHhvU2hvd0V2ZW50TW9kdWxlLFxyXG4gICAgRHhUZW1wbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIER4VG9vbHRpcE1vZHVsZSB7IH1cclxuXHJcbmltcG9ydCB0eXBlICogYXMgRHhUb29sdGlwVHlwZXMgZnJvbSBcImRldmV4dHJlbWUvdWkvdG9vbHRpcF90eXBlc1wiO1xyXG5leHBvcnQgeyBEeFRvb2x0aXBUeXBlcyB9O1xyXG5cclxuXHJcbiJdfQ==
|
|
781
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9kaXN0L3VpL3Rvb2x0aXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxvQ0FBb0M7QUFHcEMsT0FBTyxFQUNILGFBQWEsRUFDYixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixNQUFNLEVBQ04sV0FBVyxFQUNYLE1BQU0sRUFFTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQVN2QixPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUc5QyxPQUFPLEVBQ0gsV0FBVyxFQUNYLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixhQUFhLEVBQ2hCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixD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akIsV0FBVzt3QkFDWCx1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogZGV2ZXh0cmVtZS1hbmd1bGFyXG4gKiBWZXJzaW9uOiAyNC4xLjE3XG4gKiBCdWlsZCBkYXRlOiBGcmkgQXByIDI0IDIwMjZcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDI2IERldmVsb3BlciBFeHByZXNzIEluYy4gQUxMIFJJR0hUUyBSRVNFUlZFRFxuICpcbiAqIFRoaXMgc29mdHdhcmUgbWF5IGJlIG1vZGlmaWVkIGFuZCBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXNcbiAqIG9mIHRoZSBNSVQgbGljZW5zZS4gU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3QgZm9yIGRldGFpbHMuXG4gKlxuICogaHR0cHM6Ly9naXRodWIuY29tL0RldkV4cHJlc3MvZGV2ZXh0cmVtZS1hbmd1bGFyXG4gKi9cblxuLyogdHNsaW50OmRpc2FibGU6bWF4LWxpbmUtbGVuZ3RoICovXHJcblxyXG5cclxuaW1wb3J0IHtcclxuICAgIFRyYW5zZmVyU3RhdGUsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBOZ01vZHVsZSxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBOZ1pvbmUsXHJcbiAgICBQTEFURk9STV9JRCxcclxuICAgIEluamVjdCxcclxuXHJcbiAgICBJbnB1dCxcclxuICAgIE91dHB1dCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIEV2ZW50RW1pdHRlclxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcbmltcG9ydCB7IEFuaW1hdGlvbkNvbmZpZyB9IGZyb20gJ2RldmV4dHJlbWUvYW5pbWF0aW9uL2Z4JztcclxuaW1wb3J0IHsgUG9zaXRpb25Db25maWcgfSBmcm9tICdkZXZleHRyZW1lL2FuaW1hdGlvbi9wb3NpdGlvbic7XHJcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnZGV2ZXh0cmVtZS9jb21tb24nO1xyXG5pbXBvcnQgeyBVc2VyRGVmaW5lZEVsZW1lbnQgfSBmcm9tICdkZXZleHRyZW1lL2NvcmUvZWxlbWVudCc7XHJcbmltcG9ydCB7IENvbnRlbnRSZWFkeUV2ZW50LCBEaXNwb3NpbmdFdmVudCwgSGlkZGVuRXZlbnQsIEhpZGluZ0V2ZW50LCBJbml0aWFsaXplZEV2ZW50LCBPcHRpb25DaGFuZ2VkRXZlbnQsIFNob3dpbmdFdmVudCwgU2hvd25FdmVudCB9IGZyb20gJ2RldmV4dHJlbWUvdWkvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgRHhUb29sdGlwIGZyb20gJ2RldmV4dHJlbWUvdWkvdG9vbHRpcCc7XHJcblxyXG5cclxuaW1wb3J0IHtcclxuICAgIER4Q29tcG9uZW50LFxyXG4gICAgRHhUZW1wbGF0ZUhvc3QsXHJcbiAgICBEeEludGVncmF0aW9uTW9kdWxlLFxyXG4gICAgRHhUZW1wbGF0ZU1vZHVsZSxcclxuICAgIE5lc3RlZE9wdGlvbkhvc3QsXHJcbiAgICBXYXRjaGVySGVscGVyXHJcbn0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRHhvQW5pbWF0aW9uTW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b0hpZGVNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvRnJvbU1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9Qb3NpdGlvbk1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9BdE1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9Cb3VuZGFyeU9mZnNldE1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9Db2xsaXNpb25Nb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvTXlNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvT2Zmc2V0TW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b1RvTW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b1Nob3dNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvSGlkZUV2ZW50TW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b1Nob3dFdmVudE1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5cclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIFtkZXNjcjpkeFRvb2x0aXBdXHJcblxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2R4LXRvb2x0aXAnLFxyXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcclxuICAgIGhvc3Q6IHsgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScgfSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIER4VGVtcGxhdGVIb3N0LFxyXG4gICAgICAgIFdhdGNoZXJIZWxwZXIsXHJcbiAgICAgICAgTmVzdGVkT3B0aW9uSG9zdFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHhUb29sdGlwQ29tcG9uZW50IGV4dGVuZHMgRHhDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgaW5zdGFuY2U6IER4VG9vbHRpcCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhQb3BvdmVyT3B0aW9ucy5hbmltYXRpb25dXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBhbmltYXRpb24oKTogeyBoaWRlPzogQW5pbWF0aW9uQ29uZmlnLCBzaG93PzogQW5pbWF0aW9uQ29uZmlnIH0ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2FuaW1hdGlvbicpO1xyXG4gICAgfVxyXG4gICAgc2V0IGFuaW1hdGlvbih2YWx1ZTogeyBoaWRlPzogQW5pbWF0aW9uQ29uZmlnLCBzaG93PzogQW5pbWF0aW9uQ29uZmlnIH0pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2FuaW1hdGlvbicsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhQb3BvdmVyT3B0aW9ucy5jbG9zZU9uT3V0c2lkZUNsaWNrXVxyXG4gICAgXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBbZGVwTm90ZTpkeFBvcG92ZXJPcHRpb25zLmNsb3NlT25PdXRzaWRlQ2xpY2tdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBjbG9zZU9uT3V0c2lkZUNsaWNrKCk6IGJvb2xlYW4gfCBGdW5jdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignY2xvc2VPbk91dHNpZGVDbGljaycpO1xyXG4gICAgfVxyXG4gICAgc2V0IGNsb3NlT25PdXRzaWRlQ2xpY2sodmFsdWU6IGJvb2xlYW4gfCBGdW5jdGlvbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignY2xvc2VPbk91dHNpZGVDbGljaycsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhQb3B1cE9wdGlvbnMuY29udGFpbmVyXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgY29udGFpbmVyKCk6IFVzZXJEZWZpbmVkRWxlbWVudCB8IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignY29udGFpbmVyJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgY29udGFpbmVyKHZhbHVlOiBVc2VyRGVmaW5lZEVsZW1lbnQgfCBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2NvbnRhaW5lcicsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhPdmVybGF5T3B0aW9ucy5jb250ZW50VGVtcGxhdGVdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBjb250ZW50VGVtcGxhdGUoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdjb250ZW50VGVtcGxhdGUnKTtcclxuICAgIH1cclxuICAgIHNldCBjb250ZW50VGVtcGxhdGUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignY29udGVudFRlbXBsYXRlJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeE92ZXJsYXlPcHRpb25zLmRlZmVyUmVuZGVyaW5nXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZGVmZXJSZW5kZXJpbmcoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignZGVmZXJSZW5kZXJpbmcnKTtcclxuICAgIH1cclxuICAgIHNldCBkZWZlclJlbmRlcmluZyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZGVmZXJSZW5kZXJpbmcnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOldpZGdldE9wdGlvbnMuZGlzYWJsZWRdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdkaXNhYmxlZCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdkaXNhYmxlZCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhQb3BvdmVyT3B0aW9ucy5oZWlnaHRdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBoZWlnaHQoKTogbnVtYmVyIHwgRnVuY3Rpb24gfCBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2hlaWdodCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGhlaWdodCh2YWx1ZTogbnVtYmVyIHwgRnVuY3Rpb24gfCBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2hlaWdodCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhQb3BvdmVyT3B0aW9ucy5oaWRlRXZlbnRdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBoaWRlRXZlbnQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgeyBkZWxheT86IG51bWJlciB8IHVuZGVmaW5lZCwgbmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZCB9IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdoaWRlRXZlbnQnKTtcclxuICAgIH1cclxuICAgIHNldCBoaWRlRXZlbnQodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCB8IHsgZGVsYXk/OiBudW1iZXIgfCB1bmRlZmluZWQsIG5hbWU/OiBzdHJpbmcgfCB1bmRlZmluZWQgfSkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignaGlkZUV2ZW50JywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeFBvcG92ZXJPcHRpb25zLmhpZGVPbk91dHNpZGVDbGlja11cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGhpZGVPbk91dHNpZGVDbGljaygpOiBib29sZWFuIHwgRnVuY3Rpb24ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2hpZGVPbk91dHNpZGVDbGljaycpO1xyXG4gICAgfVxyXG4gICAgc2V0IGhpZGVPbk91dHNpZGVDbGljayh2YWx1ZTogYm9vbGVhbiB8IEZ1bmN0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdoaWRlT25PdXRzaWRlQ2xpY2snLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4UG9wb3Zlck9wdGlvbnMuaGlkZU9uUGFyZW50U2Nyb2xsXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgaGlkZU9uUGFyZW50U2Nyb2xsKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2hpZGVPblBhcmVudFNjcm9sbCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGhpZGVPblBhcmVudFNjcm9sbCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignaGlkZU9uUGFyZW50U2Nyb2xsJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpXaWRnZXRPcHRpb25zLmhpbnRdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBoaW50KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignaGludCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGhpbnQodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignaGludCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6V2lkZ2V0T3B0aW9ucy5ob3ZlclN0YXRlRW5hYmxlZF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGhvdmVyU3RhdGVFbmFibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2hvdmVyU3RhdGVFbmFibGVkJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgaG92ZXJTdGF0ZUVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2hvdmVyU3RhdGVFbmFibGVkJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeE92ZXJsYXlPcHRpb25zLm1heEhlaWdodF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IG1heEhlaWdodCgpOiBudW1iZXIgfCBGdW5jdGlvbiB8IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignbWF4SGVpZ2h0Jyk7XHJcbiAgICB9XHJcbiAgICBzZXQgbWF4SGVpZ2h0KHZhbHVlOiBudW1iZXIgfCBGdW5jdGlvbiB8IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignbWF4SGVpZ2h0JywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeE92ZXJsYXlPcHRpb25zLm1heFdpZHRoXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgbWF4V2lkdGgoKTogbnVtYmVyIHwgRnVuY3Rpb24gfCBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ21heFdpZHRoJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgbWF4V2lkdGgodmFsdWU6IG51bWJlciB8IEZ1bmN0aW9uIHwgc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdtYXhXaWR0aCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhPdmVybGF5T3B0aW9ucy5taW5IZWlnaHRdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBtaW5IZWlnaHQoKTogbnVtYmVyIHwgRnVuY3Rpb24gfCBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ21pbkhlaWdodCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IG1pbkhlaWdodCh2YWx1ZTogbnVtYmVyIHwgRnVuY3Rpb24gfCBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ21pbkhlaWdodCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhPdmVybGF5T3B0aW9ucy5taW5XaWR0aF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IG1pbldpZHRoKCk6IG51bWJlciB8IEZ1bmN0aW9uIHwgc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdtaW5XaWR0aCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IG1pbldpZHRoKHZhbHVlOiBudW1iZXIgfCBGdW5jdGlvbiB8IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignbWluV2lkdGgnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4UG9wb3Zlck9wdGlvbnMucG9zaXRpb25dXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBwb3NpdGlvbigpOiBQb3NpdGlvbiB8IFBvc2l0aW9uQ29uZmlnIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdwb3NpdGlvbicpO1xyXG4gICAgfVxyXG4gICAgc2V0IHBvc2l0aW9uKHZhbHVlOiBQb3NpdGlvbiB8IFBvc2l0aW9uQ29uZmlnKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdwb3NpdGlvbicsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6RE9NQ29tcG9uZW50T3B0aW9ucy5ydGxFbmFibGVkXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgcnRsRW5hYmxlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdydGxFbmFibGVkJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgcnRsRW5hYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbigncnRsRW5hYmxlZCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhQb3BvdmVyT3B0aW9ucy5zaGFkaW5nXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hhZGluZygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdzaGFkaW5nJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hhZGluZyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignc2hhZGluZycsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhPdmVybGF5T3B0aW9ucy5zaGFkaW5nQ29sb3JdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaGFkaW5nQ29sb3IoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdzaGFkaW5nQ29sb3InKTtcclxuICAgIH1cclxuICAgIHNldCBzaGFkaW5nQ29sb3IodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignc2hhZGluZ0NvbG9yJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeFBvcG92ZXJPcHRpb25zLnNob3dFdmVudF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dFdmVudCgpOiBzdHJpbmcgfCB1bmRlZmluZWQgfCB7IGRlbGF5PzogbnVtYmVyIHwgdW5kZWZpbmVkLCBuYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkIH0ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3Nob3dFdmVudCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dFdmVudCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgeyBkZWxheT86IG51bWJlciB8IHVuZGVmaW5lZCwgbmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZCB9KSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdzaG93RXZlbnQnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4UG9wb3Zlck9wdGlvbnMudGFyZ2V0XVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgdGFyZ2V0KCk6IFVzZXJEZWZpbmVkRWxlbWVudCB8IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbigndGFyZ2V0Jyk7XHJcbiAgICB9XHJcbiAgICBzZXQgdGFyZ2V0KHZhbHVlOiBVc2VyRGVmaW5lZEVsZW1lbnQgfCBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ3RhcmdldCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhPdmVybGF5T3B0aW9ucy52aXNpYmxlXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCd2aXNpYmxlJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbigndmlzaWJsZScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhQb3BvdmVyT3B0aW9ucy53aWR0aF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHdpZHRoKCk6IG51bWJlciB8IEZ1bmN0aW9uIHwgc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCd3aWR0aCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IHdpZHRoKHZhbHVlOiBudW1iZXIgfCBGdW5jdGlvbiB8IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignd2lkdGgnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4T3ZlcmxheU9wdGlvbnMud3JhcHBlckF0dHJdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCB3cmFwcGVyQXR0cigpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3dyYXBwZXJBdHRyJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgd3JhcHBlckF0dHIodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignd3JhcHBlckF0dHInLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeFRvb2x0aXBPcHRpb25zLm9uQ29udGVudFJlYWR5XVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uQ29udGVudFJlYWR5OiBFdmVudEVtaXR0ZXI8Q29udGVudFJlYWR5RXZlbnQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhUb29sdGlwT3B0aW9ucy5vbkRpc3Bvc2luZ11cclxuICAgIFxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvbkRpc3Bvc2luZzogRXZlbnRFbWl0dGVyPERpc3Bvc2luZ0V2ZW50PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4VG9vbHRpcE9wdGlvbnMub25IaWRkZW5dXHJcbiAgICBcclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25IaWRkZW46IEV2ZW50RW1pdHRlcjxIaWRkZW5FdmVudD47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeFRvb2x0aXBPcHRpb25zLm9uSGlkaW5nXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uSGlkaW5nOiBFdmVudEVtaXR0ZXI8SGlkaW5nRXZlbnQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhUb29sdGlwT3B0aW9ucy5vbkluaXRpYWxpemVkXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uSW5pdGlhbGl6ZWQ6IEV2ZW50RW1pdHRlcjxJbml0aWFsaXplZEV2ZW50PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4VG9vbHRpcE9wdGlvbnMub25PcHRpb25DaGFuZ2VkXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uT3B0aW9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPE9wdGlvbkNoYW5nZWRFdmVudD47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeFRvb2x0aXBPcHRpb25zLm9uU2hvd2luZ11cclxuICAgIFxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvblNob3dpbmc6IEV2ZW50RW1pdHRlcjxTaG93aW5nRXZlbnQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhUb29sdGlwT3B0aW9ucy5vblNob3duXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uU2hvd246IEV2ZW50RW1pdHRlcjxTaG93bkV2ZW50PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgYW5pbWF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8eyBoaWRlPzogQW5pbWF0aW9uQ29uZmlnLCBzaG93PzogQW5pbWF0aW9uQ29uZmlnIH0+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBjbG9zZU9uT3V0c2lkZUNsaWNrQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbiB8IEZ1bmN0aW9uPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgY29udGFpbmVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VXNlckRlZmluZWRFbGVtZW50IHwgc3RyaW5nIHwgdW5kZWZpbmVkPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgY29udGVudFRlbXBsYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgZGVmZXJSZW5kZXJpbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgZGlzYWJsZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgaGVpZ2h0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyIHwgRnVuY3Rpb24gfCBzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBoaWRlRXZlbnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCB1bmRlZmluZWQgfCB7IGRlbGF5PzogbnVtYmVyIHwgdW5kZWZpbmVkLCBuYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkIH0+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBoaWRlT25PdXRzaWRlQ2xpY2tDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuIHwgRnVuY3Rpb24+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBoaWRlT25QYXJlbnRTY3JvbGxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgaGludENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZyB8IHVuZGVmaW5lZD47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGhvdmVyU3RhdGVFbmFibGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG1heEhlaWdodENoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlciB8IEZ1bmN0aW9uIHwgc3RyaW5nPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgbWF4V2lkdGhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXIgfCBGdW5jdGlvbiB8IHN0cmluZz47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG1pbkhlaWdodENoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlciB8IEZ1bmN0aW9uIHwgc3RyaW5nPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgbWluV2lkdGhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXIgfCBGdW5jdGlvbiB8IHN0cmluZz47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIHBvc2l0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UG9zaXRpb24gfCBQb3NpdGlvbkNvbmZpZz47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIHJ0bEVuYWJsZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgc2hhZGluZ0NoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBzaGFkaW5nQ29sb3JDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBzaG93RXZlbnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCB1bmRlZmluZWQgfCB7IGRlbGF5PzogbnVtYmVyIHwgdW5kZWZpbmVkLCBuYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkIH0+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSB0YXJnZXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxVc2VyRGVmaW5lZEVsZW1lbnQgfCBzdHJpbmcgfCB1bmRlZmluZWQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIHdpZHRoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyIHwgRnVuY3Rpb24gfCBzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSB3cmFwcGVyQXR0ckNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgbmdab25lOiBOZ1pvbmUsIHRlbXBsYXRlSG9zdDogRHhUZW1wbGF0ZUhvc3QsXHJcbiAgICAgICAgICAgIF93YXRjaGVySGVscGVyOiBXYXRjaGVySGVscGVyLFxyXG4gICAgICAgICAgICBvcHRpb25Ib3N0OiBOZXN0ZWRPcHRpb25Ib3N0LFxyXG4gICAgICAgICAgICB0cmFuc2ZlclN0YXRlOiBUcmFuc2ZlclN0YXRlLFxyXG4gICAgICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBhbnkpIHtcclxuXHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgbmdab25lLCB0ZW1wbGF0ZUhvc3QsIF93YXRjaGVySGVscGVyLCB0cmFuc2ZlclN0YXRlLCBwbGF0Zm9ybUlkKTtcclxuXHJcbiAgICAgICAgdGhpcy5fY3JlYXRlRXZlbnRFbWl0dGVycyhbXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnY29udGVudFJlYWR5JywgZW1pdDogJ29uQ29udGVudFJlYWR5JyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2Rpc3Bvc2luZycsIGVtaXQ6ICdvbkRpc3Bvc2luZycgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdoaWRkZW4nLCBlbWl0OiAnb25IaWRkZW4nIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnaGlkaW5nJywgZW1pdDogJ29uSGlkaW5nJyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2luaXRpYWxpemVkJywgZW1pdDogJ29uSW5pdGlhbGl6ZWQnIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnb3B0aW9uQ2hhbmdlZCcsIGVtaXQ6ICdvbk9wdGlvbkNoYW5nZWQnIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnc2hvd2luZycsIGVtaXQ6ICdvblNob3dpbmcnIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnc2hvd24nLCBlbWl0OiAnb25TaG93bicgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnYW5pbWF0aW9uQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdjbG9zZU9uT3V0c2lkZUNsaWNrQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdjb250YWluZXJDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2NvbnRlbnRUZW1wbGF0ZUNoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnZGVmZXJSZW5kZXJpbmdDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2Rpc2FibGVkQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdoZWlnaHRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2hpZGVFdmVudENoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnaGlkZU9uT3V0c2lkZUNsaWNrQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdoaWRlT25QYXJlbnRTY3JvbGxDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2hpbnRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2hvdmVyU3RhdGVFbmFibGVkQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdtYXhIZWlnaHRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ21heFdpZHRoQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdtaW5IZWlnaHRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ21pbldpZHRoQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdwb3NpdGlvbkNoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAncnRsRW5hYmxlZENoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnc2hhZGluZ0NoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnc2hhZGluZ0NvbG9yQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdzaG93RXZlbnRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ3RhcmdldENoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAndmlzaWJsZUNoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnd2lkdGhDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ3dyYXBwZXJBdHRyQ2hhbmdlJyB9XHJcbiAgICAgICAgXSk7XHJcbiAgICAgICAgb3B0aW9uSG9zdC5zZXRIb3N0KHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfY3JlYXRlSW5zdGFuY2UoZWxlbWVudCwgb3B0aW9ucykge1xyXG5cclxuICAgICAgICByZXR1cm4gbmV3IER4VG9vbHRpcChlbGVtZW50LCBvcHRpb25zKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5fZGVzdHJveVdpZGdldCgpO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBEeG9BbmltYXRpb25Nb2R1bGUsXHJcbiAgICBEeG9IaWRlTW9kdWxlLFxyXG4gICAgRHhvRnJvbU1vZHVsZSxcclxuICAgIER4b1Bvc2l0aW9uTW9kdWxlLFxyXG4gICAgRHhvQXRNb2R1bGUsXHJcbiAgICBEeG9Cb3VuZGFyeU9mZnNldE1vZHVsZSxcclxuICAgIER4b0NvbGxpc2lvbk1vZHVsZSxcclxuICAgIER4b015TW9kdWxlLFxyXG4gICAgRHhvT2Zmc2V0TW9kdWxlLFxyXG4gICAgRHhvVG9Nb2R1bGUsXHJcbiAgICBEeG9TaG93TW9kdWxlLFxyXG4gICAgRHhvSGlkZUV2ZW50TW9kdWxlLFxyXG4gICAgRHhvU2hvd0V2ZW50TW9kdWxlLFxyXG4gICAgRHhJbnRlZ3JhdGlvbk1vZHVsZSxcclxuICAgIER4VGVtcGxhdGVNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRHhUb29sdGlwQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBEeFRvb2x0aXBDb21wb25lbnQsXHJcbiAgICBEeG9BbmltYXRpb25Nb2R1bGUsXHJcbiAgICBEeG9IaWRlTW9kdWxlLFxyXG4gICAgRHhvRnJvbU1vZHVsZSxcclxuICAgIER4b1Bvc2l0aW9uTW9kdWxlLFxyXG4gICAgRHhvQXRNb2R1bGUsXHJcbiAgICBEeG9Cb3VuZGFyeU9mZnNldE1vZHVsZSxcclxuICAgIER4b0NvbGxpc2lvbk1vZHVsZSxcclxuICAgIER4b015TW9kdWxlLFxyXG4gICAgRHhvT2Zmc2V0TW9kdWxlLFxyXG4gICAgRHhvVG9Nb2R1bGUsXHJcbiAgICBEeG9TaG93TW9kdWxlLFxyXG4gICAgRHhvSGlkZUV2ZW50TW9kdWxlLFxyXG4gICAgRHhvU2hvd0V2ZW50TW9kdWxlLFxyXG4gICAgRHhUZW1wbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIER4VG9vbHRpcE1vZHVsZSB7IH1cclxuXHJcbmltcG9ydCB0eXBlICogYXMgRHhUb29sdGlwVHlwZXMgZnJvbSBcImRldmV4dHJlbWUvdWkvdG9vbHRpcF90eXBlc1wiO1xyXG5leHBvcnQgeyBEeFRvb2x0aXBUeXBlcyB9O1xyXG5cclxuXHJcbiJdfQ==
|