@smartbit4all/ng-client 4.5.27 → 4.5.29
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/README.md +386 -386
- package/esm2022/lib/component-factory-service/component-factory-service.module.mjs +1 -1
- package/esm2022/lib/component-factory-service/component-factory-service.service.mjs +1 -1
- package/esm2022/lib/component-factory-service/projects.mjs +1 -1
- package/esm2022/lib/session/api/api/api.mjs +1 -1
- package/esm2022/lib/session/api/api/session.service.mjs +1 -1
- package/esm2022/lib/session/api/configuration.mjs +1 -1
- package/esm2022/lib/session/api/encoder.mjs +1 -1
- package/esm2022/lib/session/api/index.mjs +1 -1
- package/esm2022/lib/session/api/model/accountInfo.mjs +1 -1
- package/esm2022/lib/session/api/model/apiError.mjs +1 -1
- package/esm2022/lib/session/api/model/authenticationProviderData.mjs +1 -1
- package/esm2022/lib/session/api/model/getAuthenticationProvidersResponse.mjs +1 -1
- package/esm2022/lib/session/api/model/models.mjs +1 -1
- package/esm2022/lib/session/api/model/refreshSessionRequest.mjs +1 -1
- package/esm2022/lib/session/api/model/session.mjs +1 -1
- package/esm2022/lib/session/api/model/sessionInfoData.mjs +1 -1
- package/esm2022/lib/session/api/model/userActivityLog.mjs +1 -1
- package/esm2022/lib/session/api/param.mjs +1 -1
- package/esm2022/lib/session/api/variables.mjs +1 -1
- package/esm2022/lib/session/cookie-service/smart-cookie.service.mjs +1 -1
- package/esm2022/lib/session/projects.mjs +1 -1
- package/esm2022/lib/session/smart-backend-bootstrap.config.mjs +1 -1
- package/esm2022/lib/session/smart-backend-bootstrap.service.mjs +1 -1
- package/esm2022/lib/session/smart-default-error-ui.service.mjs +1 -1
- package/esm2022/lib/session/smart-error-catching.interceptor.mjs +1 -1
- package/esm2022/lib/session/smart-header-maintainer.interceptor.mjs +1 -1
- package/esm2022/lib/session/smart-session-handler.service.mjs +1 -1
- package/esm2022/lib/session/smart-session.module.mjs +1 -1
- package/esm2022/lib/session/smart-session.service.mjs +1 -1
- package/esm2022/lib/session/smart-timer/smart-session-timer.component.mjs +3 -3
- package/esm2022/lib/session/smart-timer/smart-session-timer.service.mjs +1 -1
- package/esm2022/lib/shared/projects.mjs +1 -1
- package/esm2022/lib/shared/shared.module.mjs +1 -1
- package/esm2022/lib/shared/smart-tooltip.directive.mjs +1 -1
- package/esm2022/lib/shared/smarttable.date-pipe.mjs +1 -1
- package/esm2022/lib/smart-client/projects.mjs +1 -1
- package/esm2022/lib/smart-client/smart-component-api-client.mjs +1 -1
- package/esm2022/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +3 -3
- package/esm2022/lib/smart-client/smart.component.mjs +1 -1
- package/esm2022/lib/smart-client/smart.service.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/componentWidgetType.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/models.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/toolbarDirection.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/toolbarProperties.mjs +1 -1
- package/esm2022/lib/smart-component-layout/projects.mjs +1 -1
- package/esm2022/lib/smart-component-layout/smart-component-layout-utility.mjs +1 -1
- package/esm2022/lib/smart-component-layout/smart-component-layout.component.mjs +3 -3
- package/esm2022/lib/smart-component-layout/smart-component-layout.module.mjs +1 -1
- package/esm2022/lib/smart-diagram/component/default-smart-diagram-options.provider.mjs +1 -1
- package/esm2022/lib/smart-diagram/component/smart-diagram.component.mjs +22 -22
- package/esm2022/lib/smart-diagram/component/smart-diagram.module.mjs +1 -1
- package/esm2022/lib/smart-diagram/component/smart-diagram.util.mjs +1 -1
- package/esm2022/lib/smart-diagram/projects.mjs +1 -1
- package/esm2022/lib/smart-dialog/projects.mjs +1 -1
- package/esm2022/lib/smart-dialog/smartdialog.component.mjs +3 -3
- package/esm2022/lib/smart-dialog/smartdialog.model.mjs +1 -1
- package/esm2022/lib/smart-dialog/smartdialog.module.mjs +1 -1
- package/esm2022/lib/smart-dialog/smartdialog.service.mjs +1 -1
- package/esm2022/lib/smart-expandable-section/expandable-section.component.mjs +3 -3
- package/esm2022/lib/smart-expandable-section/expandable-section.model.mjs +1 -1
- package/esm2022/lib/smart-expandable-section/projects.mjs +1 -1
- package/esm2022/lib/smart-expandable-section/smart-expandable-section.module.mjs +1 -1
- package/esm2022/lib/smart-expandable-section/smart-expandable-section.service.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderField.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionData.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionDataType.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionField.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldList.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionList.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperandData.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperation.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOrderBy.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/model.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/searchIndexObjectDefinitionData.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/searchIndexPropertyDefinitionData.mjs +1 -1
- package/esm2022/lib/smart-filter/api/value/model/value.mjs +1 -1
- package/esm2022/lib/smart-filter/projects.mjs +1 -1
- package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-expression-field/smart-filter-expression-field.component.mjs +1 -1
- package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.mjs +3 -3
- package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/smart-filter-simple.component.mjs +3 -3
- package/esm2022/lib/smart-filter/smart-filter/smart-filter.component.mjs +3 -3
- package/esm2022/lib/smart-filter/smart-filter/smart-filter.service.mjs +1 -1
- package/esm2022/lib/smart-filter/smart-filter.model.mjs +1 -1
- package/esm2022/lib/smart-filter/smart-filter.module.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/api/filter.service.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/configuration.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/encoder.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionData.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionDataType.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionField.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionList.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperation.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOrderBy.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/smartFilterType.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/param.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/variables.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/filterExpressionBuilderApiActions.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/project.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-editor.model.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/smart-filter-editor.module.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/smart-filter-editor.service.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/smart-filter-params/components/smart-filter-param/smart-filter-param.component.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-params/smart-filter-params.component.mjs +3 -3
- package/esm2022/lib/smart-form/highlightMacthingString-pipe.mjs +1 -1
- package/esm2022/lib/smart-form/projects.mjs +1 -1
- package/esm2022/lib/smart-form/services/smartform.layout-definition.service.mjs +1 -1
- package/esm2022/lib/smart-form/services/smartform.service.mjs +1 -1
- package/esm2022/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.mjs +3 -3
- package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.component.mjs +3 -3
- package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.model.mjs +1 -1
- package/esm2022/lib/smart-form/smartform.component.mjs +3 -3
- package/esm2022/lib/smart-form/smartform.form-model.mjs +1 -1
- package/esm2022/lib/smart-form/smartform.model.mjs +1 -1
- package/esm2022/lib/smart-form/widgets/components/smart-file-editor/smart-file-editor.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/components/smart-multi-file-editor/smart-multi-file-editor.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/components/smart-voice-recorder/smart-voice-recorder.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/directives/comparable-dropdown.directive.mjs +1 -1
- package/esm2022/lib/smart-form/widgets/directives/comparable-multiselect.directive.mjs +1 -1
- package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/smartformwidget/sortable-widget/sortable-widget.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/smartformwidget/trackCaps.directive.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/api/api.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/api/grid.service.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/api.module.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/configuration.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/encoder.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/index.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridExportDescriptor.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridPage.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridRow.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionChange.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridView.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/models.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/param.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/variables.mjs +1 -1
- package/esm2022/lib/smart-grid/components/expandable-grid/expandable-grid.component.mjs +3 -3
- package/esm2022/lib/smart-grid/components/generic-component/expanded-row-renderer.component.mjs +3 -3
- package/esm2022/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.mjs +3 -3
- package/esm2022/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs +3 -3
- package/esm2022/lib/smart-grid/models/model.mjs +1 -1
- package/esm2022/lib/smart-grid/projects.mjs +1 -1
- package/esm2022/lib/smart-grid/smart-grid-toolbar-util.mjs +1 -1
- package/esm2022/lib/smart-grid/smart-grid.component.mjs +3 -3
- package/esm2022/lib/smart-grid/smart-grid.module.mjs +1 -1
- package/esm2022/lib/smart-grid/smart-grid.service.mjs +1 -1
- package/esm2022/lib/smart-icon/projects.mjs +1 -1
- package/esm2022/lib/smart-icon/smart-icon/smart-icon.component.mjs +3 -3
- package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.component.mjs +3 -3
- package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.directive.mjs +1 -1
- package/esm2022/lib/smart-icon/smart-icon.module.mjs +1 -1
- package/esm2022/lib/smart-icon/smart-icon.service.mjs +1 -1
- package/esm2022/lib/smart-map/abstract-map.mjs +1 -1
- package/esm2022/lib/smart-map/api-default/api-default.mjs +1 -1
- package/esm2022/lib/smart-map/impl/google-map.mjs +1 -1
- package/esm2022/lib/smart-map/impl/leaflet-map.mjs +1 -1
- package/esm2022/lib/smart-map/projects.mjs +1 -1
- package/esm2022/lib/smart-map/smart-map.component.mjs +3 -3
- package/esm2022/lib/smart-map/smart-map.module.mjs +1 -1
- package/esm2022/lib/smart-map/smart-map.types.mjs +1 -1
- package/esm2022/lib/smart-navbar/projects.mjs +1 -1
- package/esm2022/lib/smart-navbar/smart-navbar.component.mjs +3 -3
- package/esm2022/lib/smart-navbar/smart-navbar.model.mjs +1 -1
- package/esm2022/lib/smart-navbar/smart-navbar.module.mjs +1 -1
- package/esm2022/lib/smart-navbar/smart-navbar.service.mjs +1 -1
- package/esm2022/lib/smart-navigation/projects.mjs +1 -1
- package/esm2022/lib/smart-navigation/smart-navigation.interface.mjs +1 -1
- package/esm2022/lib/smart-navigation/smart-navigation.module.mjs +1 -1
- package/esm2022/lib/smart-navigation/smart-navigation.service.mjs +1 -1
- package/esm2022/lib/smart-ng-client.module.mjs +1 -1
- package/esm2022/lib/smart-ng-client.service.mjs +1 -1
- package/esm2022/lib/smart-subject/projects.mjs +1 -1
- package/esm2022/lib/smart-subject/smart-subject.mjs +1 -1
- package/esm2022/lib/smart-tab-group/projects.mjs +1 -1
- package/esm2022/lib/smart-tab-group/smart-tab-group.component.mjs +3 -3
- package/esm2022/lib/smart-tab-group/smart-tab-group.module.mjs +1 -1
- package/esm2022/lib/smart-tab-group/smart-tab-group.service.mjs +1 -1
- package/esm2022/lib/smart-tab-group/tab-content/tab-content.component.mjs +3 -3
- package/esm2022/lib/smart-tab-group/tab-group-simplified/tab-group.component.mjs +3 -3
- package/esm2022/lib/smart-tab-group/tabTile.model.mjs +1 -1
- package/esm2022/lib/smart-table/components/default-actions-popup/default-actions-popup.component.mjs +3 -3
- package/esm2022/lib/smart-table/components/loading/loading.component.mjs +3 -3
- package/esm2022/lib/smart-table/directives/mat-context-menu-trigger-for.directive.mjs +1 -1
- package/esm2022/lib/smart-table/projects.mjs +1 -1
- package/esm2022/lib/smart-table/smarttable.component.mjs +3 -3
- package/esm2022/lib/smart-table/smarttable.model.mjs +1 -1
- package/esm2022/lib/smart-table/smarttable.module.mjs +1 -1
- package/esm2022/lib/smart-table/smarttable.service.mjs +1 -1
- package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +3 -3
- package/esm2022/lib/smart-table/tables/mobile-table/mobile-table.component.mjs +3 -3
- package/esm2022/lib/smart-table/tables/table.mjs +1 -1
- package/esm2022/lib/smart-tree/projects.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree-generic.service.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree.component.mjs +3 -3
- package/esm2022/lib/smart-tree/smarttree.model.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree.module.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree.node.model.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree.service.interface.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree.service.mjs +1 -1
- package/esm2022/lib/smart-tree/tree-api/api/tree.service.mjs +1 -1
- package/esm2022/lib/smart-tree/tree-api/configuration.mjs +1 -1
- package/esm2022/lib/smart-tree/tree-api/encoder.mjs +1 -1
- package/esm2022/lib/smart-tree/tree-api/param.mjs +1 -1
- package/esm2022/lib/smart-tree/tree-api/variables.mjs +1 -1
- package/esm2022/lib/smart-validation/named-validator.service.mjs +1 -1
- package/esm2022/lib/smart-validation/projects.mjs +1 -1
- package/esm2022/lib/smart-validation/smart-validation.module.mjs +1 -1
- package/esm2022/lib/smart-validation/smart-validation.types.mjs +1 -1
- package/esm2022/lib/view-context/api/api/view.service.mjs +1 -1
- package/esm2022/lib/view-context/api/api-default/binaryData.mjs +1 -1
- package/esm2022/lib/view-context/api/api-default/invocationError.mjs +1 -1
- package/esm2022/lib/view-context/api/api-default/invocationRequest.mjs +1 -1
- package/esm2022/lib/view-context/api/api-default/invocationRun.mjs +1 -1
- package/esm2022/lib/view-context/api/model/iconPosition.mjs +1 -1
- package/esm2022/lib/view-context/api/model/models.mjs +1 -1
- package/esm2022/lib/view-context/api/model/namedValidator.mjs +1 -1
- package/esm2022/lib/view-context/api/model/smartLinkData.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiAction.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionDefinition.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionDefinitionEntry.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionInputType.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionSchedule.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionUploadDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/api/model/view.mjs +1 -1
- package/esm2022/lib/view-context/api/model/viewData.mjs +1 -1
- package/esm2022/lib/view-context/api/model/viewEventHandler.mjs +1 -1
- package/esm2022/lib/view-context/invalid-fields-snack-bar/invalid-fields-snack-bar.component.mjs +3 -3
- package/esm2022/lib/view-context/message-dialog/message-dialog.component.mjs +3 -3
- package/esm2022/lib/view-context/projects.mjs +1 -1
- package/esm2022/lib/view-context/property-definition-data.mjs +1 -1
- package/esm2022/lib/view-context/smart-embedded-slot.directive.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.constants.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/photo-capture-widget/photo-capture-widget.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/prime-file-uploader/prime-file-uploader.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.utils.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/voice-record-widget/voice-record-widget.component.mjs +22 -11
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-dialog-button/ui-action-dialog-button.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/file-editor-toolbar/file-editor-toolbar.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/ui-action.model.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/ui-action.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context-dialog.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context.interceptor.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context.model.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context.module.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +1 -1
- package/esm2022/lib/view-context/utility/componentLibrary.mjs +1 -1
- package/esm2022/lib/view-context/utility/smart-object-utility.mjs +1 -1
- package/esm2022/lib/view-context/utility/smart-style-utility.mjs +1 -1
- package/esm2022/lib/view-context/value-api/api/api.mjs +1 -1
- package/esm2022/lib/view-context/value-api/api/value.service.mjs +1 -1
- package/esm2022/lib/view-context/value-api/api.module.mjs +1 -1
- package/esm2022/lib/view-context/value-api/configuration.mjs +1 -1
- package/esm2022/lib/view-context/value-api/encoder.mjs +1 -1
- package/esm2022/lib/view-context/value-api/index.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/genericValue.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/models.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/value.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetData.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetDefinition.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetDefinitionData.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetDefinitionKind.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetExpression.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetOperand.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetOperation.mjs +1 -1
- package/esm2022/lib/view-context/value-api/param.mjs +1 -1
- package/esm2022/lib/view-context/value-api/variables.mjs +1 -1
- package/esm2022/projects.mjs +1 -1
- package/fesm2022/smartbit4all-ng-client.mjs +152 -141
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/package.json +1 -1
- package/smartbit4all-ng-client-4.5.29.tgz +0 -0
- package/smartbit4all-ng-client-4.5.27.tgz +0 -0
package/esm2022/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs
CHANGED
|
@@ -185,11 +185,11 @@ export class TableLayoutDefinerComponent {
|
|
|
185
185
|
return true;
|
|
186
186
|
}
|
|
187
187
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TableLayoutDefinerComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
188
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TableLayoutDefinerComponent, selector: "app-table-layout-definer", viewQueries: [{ propertyName: "formChildren", predicate: ["forms"], descendants: true }], ngImport: i0, template: "<div class=\"edit-columns-container\">\n <div class=\"example-list\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"column-meta-row\" *ngFor=\"let col of forms\" cdkDrag cdkDragLockAxis=\"y\">\n <smart-icon color=\"primary\" icon=\"drag_handle\"></smart-icon>\n <smartform class=\"form\" #forms [smartForm]=\"col\"></smartform>\n <button\n *ngIf=\"isAlwaysShow(col) && (view?.orderedColumnNames)!.length > 1\"\n (click)=\"removeColumn(col)\"\n mat-icon-button\n color=\"primary\"\n >\n <mat-icon>delete_outline</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"add-btn\" *ngIf=\"showAddBtn\">\n <button mat-icon-button color=\"primary\" (click)=\"addColumn()\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n <div class=\"button-toolbar\">\n <button mat-button color=\"primary\" (click)=\"cancel()\"> M\u00E9gsem </button>\n <button mat-raised-button color=\"primary\" [disabled]=\"disableSave\" (click)=\"submit()\">\n Ment\u00E9s\n </button>\n </div>\n</div>\n", styles: [".edit-columns-container{padding:1rem;display:flex;flex-direction:column;gap:1rem}.row{display:flex;flex-direction:row;gap:.5rem}.form{flex:1}.fields{padding:1rem 0;display:flex;flex-direction:column;gap:.5rem}.example-list{display:flex;flex-direction:column;gap:1rem;width:500px;max-width:100%;max-height:80vh;overflow:auto}.column-meta-row{display:flex;flex-direction:row;gap:1rem;justify-content:space-between;border:solid 1px #ccc;padding:1rem}.buttonsContainer{display:flex;flex-direction:row;justify-content:space-between}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}h2{margin:0}.button-toolbar{display:flex;flex-direction:row;justify-content:space-between;padding:.5rem}.add-btn{display:flex;flex-direction:column;align-items:center}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i7.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }] }); }
|
|
188
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TableLayoutDefinerComponent, selector: "app-table-layout-definer", viewQueries: [{ propertyName: "formChildren", predicate: ["forms"], descendants: true }], ngImport: i0, template: "<div class=\"edit-columns-container\">\r\n <div class=\"example-list\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"column-meta-row\" *ngFor=\"let col of forms\" cdkDrag cdkDragLockAxis=\"y\">\r\n <smart-icon color=\"primary\" icon=\"drag_handle\"></smart-icon>\r\n <smartform class=\"form\" #forms [smartForm]=\"col\"></smartform>\r\n <button\r\n *ngIf=\"isAlwaysShow(col) && (view?.orderedColumnNames)!.length > 1\"\r\n (click)=\"removeColumn(col)\"\r\n mat-icon-button\r\n color=\"primary\"\r\n >\r\n <mat-icon>delete_outline</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"add-btn\" *ngIf=\"showAddBtn\">\r\n <button mat-icon-button color=\"primary\" (click)=\"addColumn()\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"button-toolbar\">\r\n <button mat-button color=\"primary\" (click)=\"cancel()\"> M\u00E9gsem </button>\r\n <button mat-raised-button color=\"primary\" [disabled]=\"disableSave\" (click)=\"submit()\">\r\n Ment\u00E9s\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".edit-columns-container{padding:1rem;display:flex;flex-direction:column;gap:1rem}.row{display:flex;flex-direction:row;gap:.5rem}.form{flex:1}.fields{padding:1rem 0;display:flex;flex-direction:column;gap:.5rem}.example-list{display:flex;flex-direction:column;gap:1rem;width:500px;max-width:100%;max-height:80vh;overflow:auto}.column-meta-row{display:flex;flex-direction:row;gap:1rem;justify-content:space-between;border:solid 1px #ccc;padding:1rem}.buttonsContainer{display:flex;flex-direction:row;justify-content:space-between}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}h2{margin:0}.button-toolbar{display:flex;flex-direction:row;justify-content:space-between;padding:.5rem}.add-btn{display:flex;flex-direction:column;align-items:center}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i7.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }] }); }
|
|
189
189
|
}
|
|
190
190
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TableLayoutDefinerComponent, decorators: [{
|
|
191
191
|
type: Component,
|
|
192
|
-
args: [{ selector: 'app-table-layout-definer', template: "<div class=\"edit-columns-container\">\n <div class=\"example-list\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"column-meta-row\" *ngFor=\"let col of forms\" cdkDrag cdkDragLockAxis=\"y\">\n <smart-icon color=\"primary\" icon=\"drag_handle\"></smart-icon>\n <smartform class=\"form\" #forms [smartForm]=\"col\"></smartform>\n <button\n *ngIf=\"isAlwaysShow(col) && (view?.orderedColumnNames)!.length > 1\"\n (click)=\"removeColumn(col)\"\n mat-icon-button\n color=\"primary\"\n >\n <mat-icon>delete_outline</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"add-btn\" *ngIf=\"showAddBtn\">\n <button mat-icon-button color=\"primary\" (click)=\"addColumn()\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n <div class=\"button-toolbar\">\n <button mat-button color=\"primary\" (click)=\"cancel()\"> M\u00E9gsem </button>\n <button mat-raised-button color=\"primary\" [disabled]=\"disableSave\" (click)=\"submit()\">\n Ment\u00E9s\n </button>\n </div>\n</div>\n", styles: [".edit-columns-container{padding:1rem;display:flex;flex-direction:column;gap:1rem}.row{display:flex;flex-direction:row;gap:.5rem}.form{flex:1}.fields{padding:1rem 0;display:flex;flex-direction:column;gap:.5rem}.example-list{display:flex;flex-direction:column;gap:1rem;width:500px;max-width:100%;max-height:80vh;overflow:auto}.column-meta-row{display:flex;flex-direction:row;gap:1rem;justify-content:space-between;border:solid 1px #ccc;padding:1rem}.buttonsContainer{display:flex;flex-direction:row;justify-content:space-between}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}h2{margin:0}.button-toolbar{display:flex;flex-direction:row;justify-content:space-between;padding:.5rem}.add-btn{display:flex;flex-direction:column;align-items:center}\n"] }]
|
|
192
|
+
args: [{ selector: 'app-table-layout-definer', template: "<div class=\"edit-columns-container\">\r\n <div class=\"example-list\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"column-meta-row\" *ngFor=\"let col of forms\" cdkDrag cdkDragLockAxis=\"y\">\r\n <smart-icon color=\"primary\" icon=\"drag_handle\"></smart-icon>\r\n <smartform class=\"form\" #forms [smartForm]=\"col\"></smartform>\r\n <button\r\n *ngIf=\"isAlwaysShow(col) && (view?.orderedColumnNames)!.length > 1\"\r\n (click)=\"removeColumn(col)\"\r\n mat-icon-button\r\n color=\"primary\"\r\n >\r\n <mat-icon>delete_outline</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"add-btn\" *ngIf=\"showAddBtn\">\r\n <button mat-icon-button color=\"primary\" (click)=\"addColumn()\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"button-toolbar\">\r\n <button mat-button color=\"primary\" (click)=\"cancel()\"> M\u00E9gsem </button>\r\n <button mat-raised-button color=\"primary\" [disabled]=\"disableSave\" (click)=\"submit()\">\r\n Ment\u00E9s\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".edit-columns-container{padding:1rem;display:flex;flex-direction:column;gap:1rem}.row{display:flex;flex-direction:row;gap:.5rem}.form{flex:1}.fields{padding:1rem 0;display:flex;flex-direction:column;gap:.5rem}.example-list{display:flex;flex-direction:column;gap:1rem;width:500px;max-width:100%;max-height:80vh;overflow:auto}.column-meta-row{display:flex;flex-direction:row;gap:1rem;justify-content:space-between;border:solid 1px #ccc;padding:1rem}.buttonsContainer{display:flex;flex-direction:row;justify-content:space-between}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}h2{margin:0}.button-toolbar{display:flex;flex-direction:row;justify-content:space-between;padding:.5rem}.add-btn{display:flex;flex-direction:column;align-items:center}\n"] }]
|
|
193
193
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
194
194
|
type: Inject,
|
|
195
195
|
args: [MAT_DIALOG_DATA]
|
|
@@ -197,4 +197,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
197
197
|
type: ViewChildren,
|
|
198
198
|
args: ['forms']
|
|
199
199
|
}] } });
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbGF5b3V0LWRlZmluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZ3JpZC9jb21wb25lbnRzL3RhYmxlLWxheW91dC1kZWZpbmVyL3RhYmxlLWxheW91dC1kZWZpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWdyaWQvY29tcG9uZW50cy90YWJsZS1sYXlvdXQtZGVmaW5lci90YWJsZS1sYXlvdXQtZGVmaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFhLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIsbUJBQW1CLEdBRXBCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLE9BQU8sRUFBUSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQWlCaEQsTUFBTSxPQUFPLDJCQUEyQjtJQVV0QyxZQUNrQyxJQUFxQixFQUM3QyxTQUFvRDtRQUQ1QixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUM3QyxjQUFTLEdBQVQsU0FBUyxDQUEyQztRQVh0RCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFJekMsMkJBQXNCLEdBQThCLEVBQUUsQ0FBQztRQUMvRCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixzQkFBaUIsR0FBYSxFQUFFLENBQUM7UUFDakMsZUFBVSxHQUFZLElBQUksQ0FBQztRQU16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QztZQUN0RSxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBeE5VLDJCQUEyQixrQkFXNUIsZUFBZTttR0FYZCwyQkFBMkIsMEpDMUJ4Qyxpa0NBMkJBOzs0RkREYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMEJBQTBCOzswQkFlakMsTUFBTTsyQkFBQyxlQUFlO29FQVRGLFlBQVk7c0JBQWxDLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtcbiAgU21hcnRGb3JtLFxuICBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24sXG4gIFNtYXJ0Rm9ybVdpZGdldFR5cGUsXG4gIFNtYXJ0Zm9ybUNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vc21hcnQtZm9ybS9wcm9qZWN0cyc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdyaWRDb2x1bW5NZXRhLCBHcmlkVXBkYXRlRGF0YSwgR3JpZFZpZXcgfSBmcm9tICcuLi8uLi9hcGkvZ3JpZC1hcGknO1xuaW1wb3J0IHsgU21hcnRHcmlkU2VydmljZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWdyaWQuc2VydmljZSc7XG5pbXBvcnQgeyBTbWFydERpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi8uLi9zbWFydC1kaWFsb2cvcHJvamVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlTGF5b3V0RGVmaW5lckNvbmZpZyB7XG4gIHV1aWQ6IHN0cmluZztcbiAgaWRlbnRpZmllcjogc3RyaW5nO1xuICB2aWV3OiBHcmlkVmlldztcbiAgc2VydmljZTogU21hcnRHcmlkU2VydmljZTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRhYmxlLWxheW91dC1kZWZpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWxheW91dC1kZWZpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtbGF5b3V0LWRlZmluZXIuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUxheW91dERlZmluZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG4gIEBWaWV3Q2hpbGRyZW4oJ2Zvcm1zJykgZm9ybUNoaWxkcmVuPzogU21hcnRmb3JtQ29tcG9uZW50W107XG4gIGZvcm1zPzogU21hcnRGb3JtW107XG4gIHZpZXc/OiBHcmlkVmlldztcbiAgcHJpdmF0ZSBvcmRlcmVkQ29sdW1uc0FzT2JqZWN0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gIGRpc2FibGVTYXZlOiBib29sZWFuID0gZmFsc2U7XG4gIGFsd2F5c1Nob3dDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuICBzaG93QWRkQnRuOiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IFNtYXJ0RGlhbG9nRGF0YSxcbiAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFRhYmxlTGF5b3V0RGVmaW5lckNvbXBvbmVudD5cbiAgKSB7XG4gICAgdGhpcy52aWV3ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhLmN1c3RvbUNvbXBvbmVudElucHV0cy5jb25maWcudmlldykpO1xuICAgIHRoaXMubWFwT3JkZXJlZENvbHVtbnNUb09iamVjdCgpO1xuICAgIHRoaXMuY29uc3RydWN0Rm9ybXMoKTtcbiAgICB0aGlzLmdldEFsd2F5c1Nob3dDb2x1bW5zKCk7XG4gICAgdGhpcy5zaG93QWRkQnRuID0gISh0aGlzLmZvcm1zIS5sZW5ndGggPT0gdGhpcy5nZXRNYXhDb2x1bW5Db3VudCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWF4Q29sdW1uQ291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudmlldyEuZGVzY3JpcHRvciEuY29sdW1ucy5maWx0ZXIoKGNvbCkgPT4gIWNvbC5hbHdheXNIaWRkZW4pLmxlbmd0aDtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NpYmVGb3JWYWx1ZUNoYW5nZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY2liZUZvclZhbHVlQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUNoaWxkcmVuPy5mb3JFYWNoKChjb21wOiBTbWFydGZvcm1Db21wb25lbnQpID0+IHtcbiAgICAgIGNvbXAub25WYWx1ZUNoYW5nZVN1YmplY3Q/LnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc1dpZGdldFNhdmFibGUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgaXNXaWRnZXRTYXZhYmxlKCkge1xuICAgIGxldCB1cGRhdGVkT3JkZXJlZENvbHVtbnMgPSB0aGlzLmdldFVwZGF0ZWRPcmRlcmVkQ29sdW1ucygpO1xuXG4gICAgbGV0IGZpbmREdXBsaWNhdGVzID0gdXBkYXRlZE9yZGVyZWRDb2x1bW5zLmZpbHRlcihcbiAgICAgIChpdGVtLCBpbmRleCkgPT4gdXBkYXRlZE9yZGVyZWRDb2x1bW5zLmluZGV4T2YoaXRlbSkgIT09IGluZGV4XG4gICAgKTtcblxuICAgIHRoaXMuZGlzYWJsZVNhdmUgPSBmaW5kRHVwbGljYXRlcz8ubGVuZ3RoID4gMCB8fCB0aGlzLmhhc0VtcHR5VmFsdWUodXBkYXRlZE9yZGVyZWRDb2x1bW5zKTtcbiAgfVxuXG4gIGhhc0VtcHR5VmFsdWUodXBkYXRlZE9yZGVyZWRDb2x1bW5zOiBzdHJpbmdbXSkge1xuICAgIHJldHVybiB1cGRhdGVkT3JkZXJlZENvbHVtbnMuc29tZSgodmFsdWUpID0+IHZhbHVlLmxlbmd0aCA9PT0gMCk7XG4gIH1cblxuICBjb25zdHJ1Y3RGb3JtcygpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1zID0gdGhpcy52aWV3IS5vcmRlcmVkQ29sdW1uTmFtZXMubWFwKChjb2w6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgbGV0IGZvcm06IFNtYXJ0Rm9ybSA9IHtcbiAgICAgICAgY29tcG9uZW50TW9kZWw6IHsgZGF0YTogdGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0IH0sXG4gICAgICAgIGRpcmVjdGlvbjogU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLkNPTCxcbiAgICAgICAgdXNlT25WYWx1ZUNoYW5nZUV2ZW50OiB0cnVlLFxuICAgICAgICB3aWRnZXRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiBpbmRleC50b1N0cmluZygpLFxuICAgICAgICAgICAgbGFiZWw6ICcnLFxuICAgICAgICAgICAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5TRUxFQ1QsXG4gICAgICAgICAgICB2YWx1ZUxpc3Q6IHRoaXMudmlldyEuZGVzY3JpcHRvciEuY29sdW1ucy5maWx0ZXIoKGNtKSA9PiAhY20uYWx3YXlzSGlkZGVuKS5tYXAoXG4gICAgICAgICAgICAgIChjb2xNZXRhOiBHcmlkQ29sdW1uTWV0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICBrZXk6ICcnLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGNvbE1ldGEubGFiZWwsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogY29sTWV0YS5wcm9wZXJ0eU5hbWUsXG4gICAgICAgICAgICAgICAgICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLklURU0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfTtcbiAgICAgIHJldHVybiBmb3JtO1xuICAgIH0pO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnN1YnNjaWJlRm9yVmFsdWVDaGFuZ2UoKTtcbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIGFkZENvbHVtbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtcyEubGVuZ3RoIDwgdGhpcy5nZXRNYXhDb2x1bW5Db3VudCgpKSB7XG4gICAgICB0aGlzLnZpZXc/Lm9yZGVyZWRDb2x1bW5OYW1lcy5wdXNoKCcnKTtcbiAgICAgIHRoaXMub3JkZXJlZENvbHVtbnNBc09iamVjdFt0aGlzLnZpZXchLm9yZGVyZWRDb2x1bW5OYW1lcy5sZW5ndGggLSAxXSA9ICcnO1xuICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtcygpO1xuICAgICAgdGhpcy5kaXNhYmxlU2F2ZSA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMuc2hvd0FkZEJ0biA9IHRoaXMuZm9ybXMhLmxlbmd0aCA8IHRoaXMuZ2V0TWF4Q29sdW1uQ291bnQoKTtcbiAgfVxuXG4gIHJlbW92ZUNvbHVtbihmb3JtOiBTbWFydEZvcm0pOiB2b2lkIHtcbiAgICBsZXQgcHJvcGVydHlOYW1lID0gdGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0W2Zvcm0ud2lkZ2V0c1swXS5rZXkhXTtcbiAgICBsZXQgaW5kZXggPSB0aGlzLnZpZXchLm9yZGVyZWRDb2x1bW5OYW1lcy5pbmRleE9mKHByb3BlcnR5TmFtZSk7XG4gICAgaWYgKGluZGV4ID4gLTEgJiYgcHJvcGVydHlOYW1lICE9ICcnKSB7XG4gICAgICB0aGlzLnZpZXc/Lm9yZGVyZWRDb2x1bW5OYW1lcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgdGhpcy5tYXBPcmRlcmVkQ29sdW1uc1RvT2JqZWN0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlldz8ub3JkZXJlZENvbHVtbk5hbWVzLnNwbGljZShmb3JtLndpZGdldHNbMF0ua2V5IGFzIGFueSwgMSk7XG4gICAgICBkZWxldGUgdGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0W2Zvcm0ud2lkZ2V0c1swXS5rZXkhXTtcblxuICAgICAgT2JqZWN0LmVudHJpZXModGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0KVxuICAgICAgICAuZmlsdGVyKChba2V5XSkgPT4gKGtleSBhcyBhbnkpID4gZm9ybS53aWRnZXRzWzBdLmtleSEpXG4gICAgICAgIC5tYXAoKFtrZXldKSA9PiBtb3ZlSXRlbUluQXJyYXkodGhpcy5mb3JtcyEsIGtleSBhcyBhbnksIChrZXkgYXMgYW55KSAtIDEpKTtcblxuICAgICAgdGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0ID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICBPYmplY3QuZW50cmllcyh0aGlzLm9yZGVyZWRDb2x1bW5zQXNPYmplY3QpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgaWYgKChrZXkgYXMgYW55KSA+IGZvcm0ud2lkZ2V0c1swXS5rZXkhKSB7XG4gICAgICAgICAgICByZXR1cm4gWyhrZXkgYXMgYW55KSAtIDEsIHZhbHVlXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIFtrZXksIHZhbHVlXTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuY29uc3RydWN0Rm9ybXMoKTtcbiAgICB0aGlzLmlzV2lkZ2V0U2F2YWJsZSgpO1xuICAgIHRoaXMuc2hvd0FkZEJ0biA9IHRoaXMuZm9ybXMhLmxlbmd0aCA8IHRoaXMuZ2V0TWF4Q29sdW1uQ291bnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGFiZWxGcm9tQ29sdW1uTWV0YShwcm9wOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBsYWJlbCA9IHRoaXMudmlldz8uZGVzY3JpcHRvcj8uY29sdW1ucy5maW5kKFxuICAgICAgKHZhbHVlOiBHcmlkQ29sdW1uTWV0YSkgPT4gdmFsdWUucHJvcGVydHlOYW1lID09PSBwcm9wXG4gICAgKT8ubGFiZWw7XG4gICAgcmV0dXJuIGxhYmVsID8/IHByb3A7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5mb3JtcyEsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gIH1cblxuICBnZXRGb3JtRm9yQ29sKGNvbDogc3RyaW5nKTogU21hcnRGb3JtIHtcbiAgICBsZXQgZm9ybTogU21hcnRGb3JtID0ge1xuICAgICAgY29tcG9uZW50TW9kZWw6IHsgZGF0YTogdGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0IH0sXG4gICAgICBkaXJlY3Rpb246IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbi5DT0wsXG4gICAgICB3aWRnZXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IGNvbCxcbiAgICAgICAgICBsYWJlbDogdGhpcy5nZXRMYWJlbEZyb21Db2x1bW5NZXRhKGNvbCksXG4gICAgICAgICAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5TRUxFQ1QsXG4gICAgICAgICAgdmFsdWVMaXN0OiB0aGlzLnZpZXchLmRlc2NyaXB0b3IhLmNvbHVtbnMubWFwKChjb2xNZXRhOiBHcmlkQ29sdW1uTWV0YSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAga2V5OiAnJyxcbiAgICAgICAgICAgICAgbGFiZWw6IGNvbE1ldGEubGFiZWwsXG4gICAgICAgICAgICAgIHZhbHVlOiBjb2xNZXRhLnByb3BlcnR5TmFtZSxcbiAgICAgICAgICAgICAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5JVEVNLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgICByZXR1cm4gZm9ybTtcbiAgfVxuXG4gIGFzeW5jIHN1Ym1pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnZpZXchLm9yZGVyZWRDb2x1bW5OYW1lcyA9IHRoaXMuZ2V0VXBkYXRlZE9yZGVyZWRDb2x1bW5zKCk7XG4gICAgbGV0IGNvbmZpZyA9IHRoaXMuZGF0YS5jdXN0b21Db21wb25lbnRJbnB1dHMuY29uZmlnO1xuXG4gICAgbGV0IHVwZGF0ZURhdGE6IEdyaWRVcGRhdGVEYXRhID0ge1xuICAgICAgb3JkZXJCeUxpc3Q6IHRoaXMudmlldyEub3JkZXJCeUxpc3QsXG4gICAgICBvcmRlcmVkQ29sdW1uTmFtZXM6IHRoaXMudmlldyEub3JkZXJlZENvbHVtbk5hbWVzLFxuICAgIH07XG5cbiAgICBhd2FpdCB0aGlzLmRhdGEuY3VzdG9tQ29tcG9uZW50SW5wdXRzLmNvbmZpZy5zZXJ2aWNlLnVwZGF0ZShcbiAgICAgIGNvbmZpZy51dWlkLFxuICAgICAgY29uZmlnLmlkZW50aWZpZXIsXG4gICAgICB1cGRhdGVEYXRhXG4gICAgKTtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG5cbiAgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFVwZGF0ZWRPcmRlcmVkQ29sdW1ucygpIHtcbiAgICBsZXQgdXBkYXRlZEtleU9yZGVyID0gdGhpcy5mb3JtcyEubWFwKChmb3JtOiBTbWFydEZvcm0pID0+IHtcbiAgICAgIHJldHVybiBmb3JtLndpZGdldHNbMF0ua2V5ITtcbiAgICB9KTtcblxuICAgIHRoaXMuZm9ybUNoaWxkcmVuPy5mb3JFYWNoKChjb21wOiBTbWFydGZvcm1Db21wb25lbnQpID0+IGNvbXAuc3VibWl0Rm9ybSgpKTtcblxuICAgIGxldCB1cGRhdGVkT3JkZXJlZENvbHVtbnMgPSB1cGRhdGVkS2V5T3JkZXIhLm1hcCgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMub3JkZXJlZENvbHVtbnNBc09iamVjdFt2YWx1ZV07XG4gICAgfSk7XG4gICAgcmV0dXJuIHVwZGF0ZWRPcmRlcmVkQ29sdW1ucztcbiAgfVxuXG4gIHByaXZhdGUgbWFwT3JkZXJlZENvbHVtbnNUb09iamVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9yZGVyZWRDb2x1bW5zQXNPYmplY3QgPSB7fTtcbiAgICB0aGlzLnZpZXc/Lm9yZGVyZWRDb2x1bW5OYW1lcy5tYXAoKHZhbHVlOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIHRoaXMub3JkZXJlZENvbHVtbnNBc09iamVjdFtpbmRleF0gPSB2YWx1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWx3YXlzU2hvd0NvbHVtbnMoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3Py5kZXNjcmlwdG9yPy5jb2x1bW5zLmZvckVhY2goKGNvbDogR3JpZENvbHVtbk1ldGEpID0+IHtcbiAgICAgIGlmIChjb2wuYWx3YXlzU2hvdykge1xuICAgICAgICB0aGlzLmFsd2F5c1Nob3dDb2x1bW5zLnB1c2goY29sLnByb3BlcnR5TmFtZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpc0Fsd2F5c1Nob3coY29sOiBTbWFydEZvcm0pIHtcbiAgICBsZXQga2V5ID0gY29sLndpZGdldHNbMF0ua2V5ITtcblxuICAgIGlmICh0aGlzLmFsd2F5c1Nob3dDb2x1bW5zLmluY2x1ZGVzKHRoaXMub3JkZXJlZENvbHVtbnNBc09iamVjdFtrZXldKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVkaXQtY29sdW1ucy1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cImV4YW1wbGUtbGlzdFwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbi1tZXRhLXJvd1wiICpuZ0Zvcj1cImxldCBjb2wgb2YgZm9ybXNcIiBjZGtEcmFnIGNka0RyYWdMb2NrQXhpcz1cInlcIj5cbiAgICAgIDxzbWFydC1pY29uIGNvbG9yPVwicHJpbWFyeVwiIGljb249XCJkcmFnX2hhbmRsZVwiPjwvc21hcnQtaWNvbj5cbiAgICAgIDxzbWFydGZvcm0gY2xhc3M9XCJmb3JtXCIgI2Zvcm1zIFtzbWFydEZvcm1dPVwiY29sXCI+PC9zbWFydGZvcm0+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiaXNBbHdheXNTaG93KGNvbCkgJiYgKHZpZXc/Lm9yZGVyZWRDb2x1bW5OYW1lcykhLmxlbmd0aCA+IDFcIlxuICAgICAgICAoY2xpY2spPVwicmVtb3ZlQ29sdW1uKGNvbClcIlxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uPmRlbGV0ZV9vdXRsaW5lPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFkZC1idG5cIiAqbmdJZj1cInNob3dBZGRCdG5cIj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiYWRkQ29sdW1uKClcIj5cbiAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImJ1dHRvbi10b29sYmFyXCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJjYW5jZWwoKVwiPiBNw6lnc2VtIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVTYXZlXCIgKGNsaWNrKT1cInN1Ym1pdCgpXCI+XG4gICAgICBNZW50w6lzXG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbGF5b3V0LWRlZmluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZ3JpZC9jb21wb25lbnRzL3RhYmxlLWxheW91dC1kZWZpbmVyL3RhYmxlLWxheW91dC1kZWZpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWdyaWQvY29tcG9uZW50cy90YWJsZS1sYXlvdXQtZGVmaW5lci90YWJsZS1sYXlvdXQtZGVmaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFhLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIsbUJBQW1CLEdBRXBCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLE9BQU8sRUFBUSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQWlCaEQsTUFBTSxPQUFPLDJCQUEyQjtJQVV0QyxZQUNrQyxJQUFxQixFQUM3QyxTQUFvRDtRQUQ1QixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUM3QyxjQUFTLEdBQVQsU0FBUyxDQUEyQztRQVh0RCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFJekMsMkJBQXNCLEdBQThCLEVBQUUsQ0FBQztRQUMvRCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixzQkFBaUIsR0FBYSxFQUFFLENBQUM7UUFDakMsZUFBVSxHQUFZLElBQUksQ0FBQztRQU16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QztZQUN0RSxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBeE5VLDJCQUEyQixrQkFXNUIsZUFBZTttR0FYZCwyQkFBMkIsMEpDMUJ4Qyx1bkNBMkJBOzs0RkREYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMEJBQTBCOzswQkFlakMsTUFBTTsyQkFBQyxlQUFlO29FQVRGLFlBQVk7c0JBQWxDLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHtcclxuICBTbWFydEZvcm0sXHJcbiAgU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLFxyXG4gIFNtYXJ0Rm9ybVdpZGdldFR5cGUsXHJcbiAgU21hcnRmb3JtQ29tcG9uZW50LFxyXG59IGZyb20gJy4uLy4uLy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR3JpZENvbHVtbk1ldGEsIEdyaWRVcGRhdGVEYXRhLCBHcmlkVmlldyB9IGZyb20gJy4uLy4uL2FwaS9ncmlkLWFwaSc7XHJcbmltcG9ydCB7IFNtYXJ0R3JpZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zbWFydC1ncmlkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydERpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi8uLi9zbWFydC1kaWFsb2cvcHJvamVjdHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUxheW91dERlZmluZXJDb25maWcge1xyXG4gIHV1aWQ6IHN0cmluZztcclxuICBpZGVudGlmaWVyOiBzdHJpbmc7XHJcbiAgdmlldzogR3JpZFZpZXc7XHJcbiAgc2VydmljZTogU21hcnRHcmlkU2VydmljZTtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdGFibGUtbGF5b3V0LWRlZmluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1sYXlvdXQtZGVmaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtbGF5b3V0LWRlZmluZXIuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVMYXlvdXREZWZpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgQFZpZXdDaGlsZHJlbignZm9ybXMnKSBmb3JtQ2hpbGRyZW4/OiBTbWFydGZvcm1Db21wb25lbnRbXTtcclxuICBmb3Jtcz86IFNtYXJ0Rm9ybVtdO1xyXG4gIHZpZXc/OiBHcmlkVmlldztcclxuICBwcml2YXRlIG9yZGVyZWRDb2x1bW5zQXNPYmplY3Q6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICBkaXNhYmxlU2F2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFsd2F5c1Nob3dDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHNob3dBZGRCdG46IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogU21hcnREaWFsb2dEYXRhLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxUYWJsZUxheW91dERlZmluZXJDb21wb25lbnQ+XHJcbiAgKSB7XHJcbiAgICB0aGlzLnZpZXcgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEuY3VzdG9tQ29tcG9uZW50SW5wdXRzLmNvbmZpZy52aWV3KSk7XHJcbiAgICB0aGlzLm1hcE9yZGVyZWRDb2x1bW5zVG9PYmplY3QoKTtcclxuICAgIHRoaXMuY29uc3RydWN0Rm9ybXMoKTtcclxuICAgIHRoaXMuZ2V0QWx3YXlzU2hvd0NvbHVtbnMoKTtcclxuICAgIHRoaXMuc2hvd0FkZEJ0biA9ICEodGhpcy5mb3JtcyEubGVuZ3RoID09IHRoaXMuZ2V0TWF4Q29sdW1uQ291bnQoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE1heENvbHVtbkNvdW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmlldyEuZGVzY3JpcHRvciEuY29sdW1ucy5maWx0ZXIoKGNvbCkgPT4gIWNvbC5hbHdheXNIaWRkZW4pLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NpYmVGb3JWYWx1ZUNoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY2liZUZvclZhbHVlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQ2hpbGRyZW4/LmZvckVhY2goKGNvbXA6IFNtYXJ0Zm9ybUNvbXBvbmVudCkgPT4ge1xyXG4gICAgICBjb21wLm9uVmFsdWVDaGFuZ2VTdWJqZWN0Py5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1dpZGdldFNhdmFibGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGlzV2lkZ2V0U2F2YWJsZSgpIHtcclxuICAgIGxldCB1cGRhdGVkT3JkZXJlZENvbHVtbnMgPSB0aGlzLmdldFVwZGF0ZWRPcmRlcmVkQ29sdW1ucygpO1xyXG5cclxuICAgIGxldCBmaW5kRHVwbGljYXRlcyA9IHVwZGF0ZWRPcmRlcmVkQ29sdW1ucy5maWx0ZXIoXHJcbiAgICAgIChpdGVtLCBpbmRleCkgPT4gdXBkYXRlZE9yZGVyZWRDb2x1bW5zLmluZGV4T2YoaXRlbSkgIT09IGluZGV4XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuZGlzYWJsZVNhdmUgPSBmaW5kRHVwbGljYXRlcz8ubGVuZ3RoID4gMCB8fCB0aGlzLmhhc0VtcHR5VmFsdWUodXBkYXRlZE9yZGVyZWRDb2x1bW5zKTtcclxuICB9XHJcblxyXG4gIGhhc0VtcHR5VmFsdWUodXBkYXRlZE9yZGVyZWRDb2x1bW5zOiBzdHJpbmdbXSkge1xyXG4gICAgcmV0dXJuIHVwZGF0ZWRPcmRlcmVkQ29sdW1ucy5zb21lKCh2YWx1ZSkgPT4gdmFsdWUubGVuZ3RoID09PSAwKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdEZvcm1zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtcyA9IHRoaXMudmlldyEub3JkZXJlZENvbHVtbk5hbWVzLm1hcCgoY29sOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgbGV0IGZvcm06IFNtYXJ0Rm9ybSA9IHtcclxuICAgICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiB0aGlzLm9yZGVyZWRDb2x1bW5zQXNPYmplY3QgfSxcclxuICAgICAgICBkaXJlY3Rpb246IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbi5DT0wsXHJcbiAgICAgICAgdXNlT25WYWx1ZUNoYW5nZUV2ZW50OiB0cnVlLFxyXG4gICAgICAgIHdpZGdldHM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAga2V5OiBpbmRleC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBsYWJlbDogJycsXHJcbiAgICAgICAgICAgIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuU0VMRUNULFxyXG4gICAgICAgICAgICB2YWx1ZUxpc3Q6IHRoaXMudmlldyEuZGVzY3JpcHRvciEuY29sdW1ucy5maWx0ZXIoKGNtKSA9PiAhY20uYWx3YXlzSGlkZGVuKS5tYXAoXHJcbiAgICAgICAgICAgICAgKGNvbE1ldGE6IEdyaWRDb2x1bW5NZXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICBrZXk6ICcnLFxyXG4gICAgICAgICAgICAgICAgICBsYWJlbDogY29sTWV0YS5sYWJlbCxcclxuICAgICAgICAgICAgICAgICAgdmFsdWU6IGNvbE1ldGEucHJvcGVydHlOYW1lLFxyXG4gICAgICAgICAgICAgICAgICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLklURU0sXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIGZvcm07XHJcbiAgICB9KTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5zdWJzY2liZUZvclZhbHVlQ2hhbmdlKCk7XHJcbiAgICB9LCAxMDAwKTtcclxuICB9XHJcblxyXG4gIGFkZENvbHVtbigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZvcm1zIS5sZW5ndGggPCB0aGlzLmdldE1heENvbHVtbkNvdW50KCkpIHtcclxuICAgICAgdGhpcy52aWV3Py5vcmRlcmVkQ29sdW1uTmFtZXMucHVzaCgnJyk7XHJcbiAgICAgIHRoaXMub3JkZXJlZENvbHVtbnNBc09iamVjdFt0aGlzLnZpZXchLm9yZGVyZWRDb2x1bW5OYW1lcy5sZW5ndGggLSAxXSA9ICcnO1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdEZvcm1zKCk7XHJcbiAgICAgIHRoaXMuZGlzYWJsZVNhdmUgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93QWRkQnRuID0gdGhpcy5mb3JtcyEubGVuZ3RoIDwgdGhpcy5nZXRNYXhDb2x1bW5Db3VudCgpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlQ29sdW1uKGZvcm06IFNtYXJ0Rm9ybSk6IHZvaWQge1xyXG4gICAgbGV0IHByb3BlcnR5TmFtZSA9IHRoaXMub3JkZXJlZENvbHVtbnNBc09iamVjdFtmb3JtLndpZGdldHNbMF0ua2V5IV07XHJcbiAgICBsZXQgaW5kZXggPSB0aGlzLnZpZXchLm9yZGVyZWRDb2x1bW5OYW1lcy5pbmRleE9mKHByb3BlcnR5TmFtZSk7XHJcbiAgICBpZiAoaW5kZXggPiAtMSAmJiBwcm9wZXJ0eU5hbWUgIT0gJycpIHtcclxuICAgICAgdGhpcy52aWV3Py5vcmRlcmVkQ29sdW1uTmFtZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgdGhpcy5tYXBPcmRlcmVkQ29sdW1uc1RvT2JqZWN0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZpZXc/Lm9yZGVyZWRDb2x1bW5OYW1lcy5zcGxpY2UoZm9ybS53aWRnZXRzWzBdLmtleSBhcyBhbnksIDEpO1xyXG4gICAgICBkZWxldGUgdGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0W2Zvcm0ud2lkZ2V0c1swXS5rZXkhXTtcclxuXHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMub3JkZXJlZENvbHVtbnNBc09iamVjdClcclxuICAgICAgICAuZmlsdGVyKChba2V5XSkgPT4gKGtleSBhcyBhbnkpID4gZm9ybS53aWRnZXRzWzBdLmtleSEpXHJcbiAgICAgICAgLm1hcCgoW2tleV0pID0+IG1vdmVJdGVtSW5BcnJheSh0aGlzLmZvcm1zISwga2V5IGFzIGFueSwgKGtleSBhcyBhbnkpIC0gMSkpO1xyXG5cclxuICAgICAgdGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0ID0gT2JqZWN0LmZyb21FbnRyaWVzKFxyXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMub3JkZXJlZENvbHVtbnNBc09iamVjdCkubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICAgIGlmICgoa2V5IGFzIGFueSkgPiBmb3JtLndpZGdldHNbMF0ua2V5ISkge1xyXG4gICAgICAgICAgICByZXR1cm4gWyhrZXkgYXMgYW55KSAtIDEsIHZhbHVlXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBba2V5LCB2YWx1ZV07XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29uc3RydWN0Rm9ybXMoKTtcclxuICAgIHRoaXMuaXNXaWRnZXRTYXZhYmxlKCk7XHJcbiAgICB0aGlzLnNob3dBZGRCdG4gPSB0aGlzLmZvcm1zIS5sZW5ndGggPCB0aGlzLmdldE1heENvbHVtbkNvdW50KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldExhYmVsRnJvbUNvbHVtbk1ldGEocHJvcDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCBsYWJlbCA9IHRoaXMudmlldz8uZGVzY3JpcHRvcj8uY29sdW1ucy5maW5kKFxyXG4gICAgICAodmFsdWU6IEdyaWRDb2x1bW5NZXRhKSA9PiB2YWx1ZS5wcm9wZXJ0eU5hbWUgPT09IHByb3BcclxuICAgICk/LmxhYmVsO1xyXG4gICAgcmV0dXJuIGxhYmVsID8/IHByb3A7XHJcbiAgfVxyXG5cclxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcclxuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmZvcm1zISwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICB9XHJcblxyXG4gIGdldEZvcm1Gb3JDb2woY29sOiBzdHJpbmcpOiBTbWFydEZvcm0ge1xyXG4gICAgbGV0IGZvcm06IFNtYXJ0Rm9ybSA9IHtcclxuICAgICAgY29tcG9uZW50TW9kZWw6IHsgZGF0YTogdGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0IH0sXHJcbiAgICAgIGRpcmVjdGlvbjogU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLkNPTCxcclxuICAgICAgd2lkZ2V0czogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGtleTogY29sLFxyXG4gICAgICAgICAgbGFiZWw6IHRoaXMuZ2V0TGFiZWxGcm9tQ29sdW1uTWV0YShjb2wpLFxyXG4gICAgICAgICAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5TRUxFQ1QsXHJcbiAgICAgICAgICB2YWx1ZUxpc3Q6IHRoaXMudmlldyEuZGVzY3JpcHRvciEuY29sdW1ucy5tYXAoKGNvbE1ldGE6IEdyaWRDb2x1bW5NZXRhKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAga2V5OiAnJyxcclxuICAgICAgICAgICAgICBsYWJlbDogY29sTWV0YS5sYWJlbCxcclxuICAgICAgICAgICAgICB2YWx1ZTogY29sTWV0YS5wcm9wZXJ0eU5hbWUsXHJcbiAgICAgICAgICAgICAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5JVEVNLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgICByZXR1cm4gZm9ybTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHN1Ym1pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMudmlldyEub3JkZXJlZENvbHVtbk5hbWVzID0gdGhpcy5nZXRVcGRhdGVkT3JkZXJlZENvbHVtbnMoKTtcclxuICAgIGxldCBjb25maWcgPSB0aGlzLmRhdGEuY3VzdG9tQ29tcG9uZW50SW5wdXRzLmNvbmZpZztcclxuXHJcbiAgICBsZXQgdXBkYXRlRGF0YTogR3JpZFVwZGF0ZURhdGEgPSB7XHJcbiAgICAgIG9yZGVyQnlMaXN0OiB0aGlzLnZpZXchLm9yZGVyQnlMaXN0LFxyXG4gICAgICBvcmRlcmVkQ29sdW1uTmFtZXM6IHRoaXMudmlldyEub3JkZXJlZENvbHVtbk5hbWVzLFxyXG4gICAgfTtcclxuXHJcbiAgICBhd2FpdCB0aGlzLmRhdGEuY3VzdG9tQ29tcG9uZW50SW5wdXRzLmNvbmZpZy5zZXJ2aWNlLnVwZGF0ZShcclxuICAgICAgY29uZmlnLnV1aWQsXHJcbiAgICAgIGNvbmZpZy5pZGVudGlmaWVyLFxyXG4gICAgICB1cGRhdGVEYXRhXHJcbiAgICApO1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIGNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFVwZGF0ZWRPcmRlcmVkQ29sdW1ucygpIHtcclxuICAgIGxldCB1cGRhdGVkS2V5T3JkZXIgPSB0aGlzLmZvcm1zIS5tYXAoKGZvcm06IFNtYXJ0Rm9ybSkgPT4ge1xyXG4gICAgICByZXR1cm4gZm9ybS53aWRnZXRzWzBdLmtleSE7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmZvcm1DaGlsZHJlbj8uZm9yRWFjaCgoY29tcDogU21hcnRmb3JtQ29tcG9uZW50KSA9PiBjb21wLnN1Ym1pdEZvcm0oKSk7XHJcblxyXG4gICAgbGV0IHVwZGF0ZWRPcmRlcmVkQ29sdW1ucyA9IHVwZGF0ZWRLZXlPcmRlciEubWFwKCh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLm9yZGVyZWRDb2x1bW5zQXNPYmplY3RbdmFsdWVdO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gdXBkYXRlZE9yZGVyZWRDb2x1bW5zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtYXBPcmRlcmVkQ29sdW1uc1RvT2JqZWN0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0ID0ge307XHJcbiAgICB0aGlzLnZpZXc/Lm9yZGVyZWRDb2x1bW5OYW1lcy5tYXAoKHZhbHVlOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgdGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0W2luZGV4XSA9IHZhbHVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEFsd2F5c1Nob3dDb2x1bW5zKCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3Py5kZXNjcmlwdG9yPy5jb2x1bW5zLmZvckVhY2goKGNvbDogR3JpZENvbHVtbk1ldGEpID0+IHtcclxuICAgICAgaWYgKGNvbC5hbHdheXNTaG93KSB7XHJcbiAgICAgICAgdGhpcy5hbHdheXNTaG93Q29sdW1ucy5wdXNoKGNvbC5wcm9wZXJ0eU5hbWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGlzQWx3YXlzU2hvdyhjb2w6IFNtYXJ0Rm9ybSkge1xyXG4gICAgbGV0IGtleSA9IGNvbC53aWRnZXRzWzBdLmtleSE7XHJcblxyXG4gICAgaWYgKHRoaXMuYWx3YXlzU2hvd0NvbHVtbnMuaW5jbHVkZXModGhpcy5vcmRlcmVkQ29sdW1uc0FzT2JqZWN0W2tleV0pKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZWRpdC1jb2x1bW5zLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJleGFtcGxlLWxpc3RcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbi1tZXRhLXJvd1wiICpuZ0Zvcj1cImxldCBjb2wgb2YgZm9ybXNcIiBjZGtEcmFnIGNka0RyYWdMb2NrQXhpcz1cInlcIj5cclxuICAgICAgPHNtYXJ0LWljb24gY29sb3I9XCJwcmltYXJ5XCIgaWNvbj1cImRyYWdfaGFuZGxlXCI+PC9zbWFydC1pY29uPlxyXG4gICAgICA8c21hcnRmb3JtIGNsYXNzPVwiZm9ybVwiICNmb3JtcyBbc21hcnRGb3JtXT1cImNvbFwiPjwvc21hcnRmb3JtPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgKm5nSWY9XCJpc0Fsd2F5c1Nob3coY29sKSAmJiAodmlldz8ub3JkZXJlZENvbHVtbk5hbWVzKSEubGVuZ3RoID4gMVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInJlbW92ZUNvbHVtbihjb2wpXCJcclxuICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1pY29uPmRlbGV0ZV9vdXRsaW5lPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiYWRkLWJ0blwiICpuZ0lmPVwic2hvd0FkZEJ0blwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImFkZENvbHVtbigpXCI+XHJcbiAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImJ1dHRvbi10b29sYmFyXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+IE3DqWdzZW0gPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlU2F2ZVwiIChjbGljayk9XCJzdWJtaXQoKVwiPlxyXG4gICAgICBNZW50w6lzXHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -26,4 +26,4 @@ export var SmartGridType;
|
|
|
26
26
|
SmartGridType["CARD2"] = "CARD2";
|
|
27
27
|
SmartGridType["CUSTOM"] = "CUSTOM";
|
|
28
28
|
})(SmartGridType || (SmartGridType = {}));
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1ncmlkL21vZGVscy9tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1REEsTUFBTSxDQUFOLElBQVksZ0JBR1g7QUFIRCxXQUFZLGdCQUFnQjtJQUMxQixtRUFBVSxDQUFBO0lBQ1YsMkRBQU0sQ0FBQTtBQUNSLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4QixpQ0FBZSxDQUFBO0lBQ2YsMkNBQXlCLENBQUE7SUFDekIsK0JBQWEsQ0FBQTtJQUNiLCtCQUFhLENBQUE7QUFDZixDQUFDLEVBTFcsY0FBYyxLQUFkLGNBQWMsUUFLekI7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFHWDtBQUhELFdBQVksbUJBQW1CO0lBQzdCLG9DQUFhLENBQUE7SUFDYix3Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUc5QjtBQUVELE1BQU0sQ0FBTixJQUFZLG1CQUdYO0FBSEQsV0FBWSxtQkFBbUI7SUFDN0Isa0NBQVcsQ0FBQTtJQUNYLHdDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBRzlCO0FBRUQsTUFBTSxDQUFOLElBQVksYUFJWDtBQUpELFdBQVksYUFBYTtJQUN2QixnQ0FBZSxDQUFBO0lBQ2YsZ0NBQWUsQ0FBQTtJQUNmLGtDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxhQUFhLEtBQWIsYUFBYSxRQUl4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNtYXJ0VGFibGVHcmlkSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vc21hcnQtdGFibGUvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0Lm1vZGVsJztcclxuaW1wb3J0IHsgR3JpZE1vZGVsIH0gZnJvbSAnLi4vYXBpL2dyaWQtYXBpJztcclxuXHJcbmV4cG9ydCB0eXBlIFNtYXJ0R3JpZCA9IHtcclxuICBncmlkTW9kZWw6IEdyaWRNb2RlbDtcclxuICBncmlkSWRlbnRpZmllcjogc3RyaW5nO1xyXG4gIGxheW91dERlZjogU21hcnRMYXlvdXREZWY7XHJcbiAgcGFnaW5hdG9yPzogYm9vbGVhbjtcclxuICBzaG93RWRpdENvbHVtbnM/OiBib29sZWFuO1xyXG4gIGN1c3RvbUNvbXBvbmVudD86IGFueTtcclxuICBkYXRhTGF5b3V0RGVmPzogU21hcnRHcmlkRGF0YTtcclxuICBpbnB1dE5hbWU/OiBzdHJpbmc7XHJcbiAgc2hvd1Jlc3VsdENvdW50PzogYm9vbGVhbjtcclxuICBidXR0b24/OiBTbWFydEdyaWRCdXR0b247XHJcbiAgY3NzQ2xhc3M/OiBhbnk7XHJcbiAgbnVtYmVyT2ZSb3c/OiBudW1iZXI7XHJcbiAgbnVtYmVyT2ZDb2x1bW4/OiBudW1iZXI7XHJcbiAgZXhwYW5kYWJsZT86IGJvb2xlYW47XHJcbiAgZXhwYW5kZWRDb21wb25lbnQ/OiBhbnk7XHJcbiAgdGFibGVDb25maWc/OiBTbWFydFRhYmxlR3JpZEludGVyZmFjZTxhbnk+O1xyXG5cclxuICBoZWFkZXJDb21wb25lbnQ/OiBhbnk7XHJcbiAgaGVhZGVyQ29tcG9uZW50SW5wdXROYW1lPzogc3RyaW5nO1xyXG4gIGV4cGFuZGFibGVDb21wb25lbnQ/OiBhbnk7XHJcbiAgZXhwYW5kYWJsZUNvbXBvbmVudElucHV0TmFtZT86IHN0cmluZztcclxuICB0cmFuc2xhdGVTZXJ2aWNlPzogU21hcnRUcmFuc2xhdGVTZXJ2aWNlO1xyXG5cclxuICBvcHRpb25zPzogR3JpZE9wdGlvbnM7XHJcbiAgdmlld0NvbnRleHRTZXJ2aWNlPzogYW55O1xyXG4gIHVpQWN0aW9uU2VydmljZT86IGFueTtcclxuICB1aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlPzogYW55O1xyXG4gIHNlcnZpY2VUb1VzZT86IGFueTtcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRHcmlkRGF0YSB7XHJcbiAgdHlwZTogU21hcnRHcmlkVHlwZTtcclxuICBncmlkTGF5b3V0OiBTbWFydEdyaWREYXRhTGF5b3V0O1xyXG4gIGRhdGFMYXlvdXQ6IFNtYXJ0R3JpZERhdGFMYXlvdXQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRHcmlkQnV0dG9uIHtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG4gIHR5cGU6IFNtYXJ0R3JpZEJ1dHRvblR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JpZE9wdGlvbnMge1xyXG4gIHJvd1VpQWN0aW9uVHlwZTogR3JpZFVpQWN0aW9uVHlwZTtcclxuICB1aUFjdGlvbk1vZGVsQ2FsbGJhY2s/OiAodWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCkgPT4gVWlBY3Rpb25Nb2RlbDtcclxuICBzaW1wbGVCdXR0b25zPzogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEdyaWRVaUFjdGlvblR5cGUge1xyXG4gIFBPUFVQX01FTlUsXHJcbiAgSU5MSU5FLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBTbWFydExheW91dERlZiB7XHJcbiAgVEFCTEUgPSAnVEFCTEUnLFxyXG4gIEVYUEFOREFCTEUgPSAnRVhQQU5EQUJMRScsXHJcbiAgQ0FSRCA9ICdDQVJEJyxcclxuICBUUkVFID0gJ1RSRUUnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBTbWFydEdyaWRCdXR0b25UeXBlIHtcclxuICBJQ09OID0gJ0lDT04nLFxyXG4gIFJBSVNFRCA9ICdSQUlTRUQnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBTbWFydEdyaWREYXRhTGF5b3V0IHtcclxuICBST1cgPSAnUk9XJyxcclxuICBDT0xVTU4gPSAnQ09MVU1OJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gU21hcnRHcmlkVHlwZSB7XHJcbiAgQ0FSRDEgPSAnQ0FSRDEnLFxyXG4gIENBUkQyID0gJ0NBUkQyJyxcclxuICBDVVNUT00gPSAnQ1VTVE9NJyxcclxufVxyXG4iXX0=
|
|
@@ -6,4 +6,4 @@ export * from './models/model';
|
|
|
6
6
|
export * from './smart-grid.component';
|
|
7
7
|
export * from './smart-grid.service';
|
|
8
8
|
export * from './api/grid-api/model/models';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1ncmlkL3Byb2plY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHNtYXJ0LWdyaWRcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0LWdyaWQubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvbW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0LWdyaWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1ncmlkLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FwaS9ncmlkLWFwaS9tb2RlbC9tb2RlbHMnO1xyXG4iXX0=
|
|
@@ -62,4 +62,4 @@ export class SmartGridToolbarActionsUtil {
|
|
|
62
62
|
return cellToActionMap[key];
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZ3JpZC10b29sYmFyLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1ncmlkL3NtYXJ0LWdyaWQtdG9vbGJhci11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTywyQkFBMkI7YUFDL0IsMkJBQXNCLEdBQUcsNEJBQTRCLENBQUM7SUFFN0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFZLEVBQUUsY0FBd0I7UUFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoRSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLGdCQUFnQixHQUFHLENBQUMsR0FBRyxjQUFjLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDeEUsSUFBSSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO2FBQzdELE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQy9DLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNuQixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLGFBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUF5QixDQUFDLENBQUM7UUFFaEMsT0FBTyxDQUNMLEdBQUcsQ0FBQyxPQUFPO1lBQ1gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUN0QixNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFx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TUFBTSxDQUFDLHNCQUFzQixDQUMzQixlQUFzQyxFQUN0QyxHQUFZLEVBQ1osTUFBYztRQUVkLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQzFCLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVaUFjdGlvbiB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGknO1xyXG5pbXBvcnQgeyBHcmlkUm93IH0gZnJvbSAnLi9hcGkvZ3JpZC1hcGknO1xyXG5leHBvcnQgY2xhc3MgU21hcnRHcmlkVG9vbGJhckFjdGlvbnNVdGlsIHtcclxuICBzdGF0aWMgZGVmYXVsdEFjdGlvblRvb2xiYXJJZCA9ICd0b29sYmFyRGVmYXVsdEFjdGlvbkNvbHVtbic7XHJcblxyXG4gIHN0YXRpYyBzaG93TWVudShyb3c6IEdyaWRSb3csIG9yZGVyZWRDb2x1bW5zOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFyb3cuY29sdW1uQWN0aW9ucyAmJiByb3cuYWN0aW9ucyAmJiByb3cuYWN0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBfY29sdW1uc1RvRmlsdGVyID0gWy4uLm9yZGVyZWRDb2x1bW5zLCB0aGlzLmRlZmF1bHRBY3Rpb25Ub29sYmFySWRdO1xyXG4gICAgbGV0IGZpbHRlcmVkQWN0aW9uQ29sdW1ucyA9IE9iamVjdC5rZXlzKHJvdy5jb2x1bW5BY3Rpb25zIHx8IHt9KVxyXG4gICAgICAuZmlsdGVyKChrZXkpID0+IF9jb2x1bW5zVG9GaWx0ZXIuaW5jbHVkZXMoa2V5KSlcclxuICAgICAgLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcclxuICAgICAgICBhY2Nba2V5XSA9IHJvdy5jb2x1bW5BY3Rpb25zIVtrZXldO1xyXG4gICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIGFueT4pO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIHJvdy5hY3Rpb25zICYmXHJcbiAgICAgIHJvdy5hY3Rpb25zLmxlbmd0aCA+IDAgJiZcclxuICAgICAgT2JqZWN0LnZhbHVlcyhmaWx0ZXJlZEFjdGlvbkNvbHVtbnMpLmZsYXQoKS5sZW5ndGggIT0gcm93LmFjdGlvbnMubGVuZ3RoXHJcbiAgICApO1xyXG4gIH1cclxuICBzdGF0aWMgc2hvd1Rvb2xiYXIocm93OiBHcmlkUm93LCBjb2x1bW5OYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXJvdy5hY3Rpb25zICYmIHJvdy5hY3Rpb25zLmxlbmd0aCA+IDAgJiYgISFyb3cuY29sdW1uQWN0aW9ucz8uW2NvbHVtbk5hbWVdO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNhbGN1bGF0ZUNlbGxUb0FjdGlvbk1hcChcclxuICAgIHJvd3M6IEdyaWRSb3dbXSxcclxuICAgIHNlcnZpY2VUb1VzZTogYW55LFxyXG4gICAgZ3JpZElkOiBzdHJpbmdcclxuICApOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4ge1xyXG4gICAgbGV0IGNlbGxUb0FjdGlvbk1hcDogUmVjb3JkPHN0cmluZywgYW55W10+ID0ge307XHJcblxyXG4gICAgcm93cy5mb3JFYWNoKChyb3cpID0+IHtcclxuICAgICAgaWYgKHJvdz8uY29sdW1uQWN0aW9ucyAmJiByb3c/LmFjdGlvbnMpIHtcclxuICAgICAgICBPYmplY3Qua2V5cyhyb3cuY29sdW1uQWN0aW9ucykuZm9yRWFjaCgoY29sdW1uTmFtZSkgPT4ge1xyXG4gICAgICAgICAgbGV0IGtleSA9IHJvdy5pZCArIGNvbHVtbk5hbWU7XHJcbiAgICAgICAgICBjb25zdCBhY3Rpb25Db2Rlczogc3RyaW5nW10gPSByb3cuY29sdW1uQWN0aW9ucyFbY29sdW1uTmFtZV07XHJcbiAgICAgICAgICBjb25zdCBhY3Rpb25zOiBVaUFjdGlvbltdID0gcm93LmFjdGlvbnMuZmlsdGVyKFxyXG4gICAgICAgICAgICAoYWN0aW9uOiBVaUFjdGlvbikgPT4gYWN0aW9uLmNvZGUgJiYgYWN0aW9uQ29kZXMuaW5jbHVkZXMoYWN0aW9uLmNvZGUpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgY29uc3QgYWN0aW9uTW9kZWxzOiBhbnlbXSA9IGFjdGlvbnMubWFwKCh1aUFjdGlvbjogVWlBY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgLy9BZGQgcm93IHRvIHVpQWN0aW9uXHJcbiAgICAgICAgICAgIGxldCBfdWlBY3Rpb24gPSB7IC4uLnVpQWN0aW9uIH07XHJcblxyXG4gICAgICAgICAgICBfdWlBY3Rpb24ucGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgIC4uLnVpQWN0aW9uLnBhcmFtcyxcclxuICAgICAgICAgICAgICBtb2RlbDogcm93LFxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgLy8gQWRkIGdyaWRJZCBhbmQgd2lkZ2V0SWQgdG8gdWlBY3Rpb25Nb2RcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBzZXJ2aWNlVG9Vc2U6IHNlcnZpY2VUb1VzZSxcclxuICAgICAgICAgICAgICB1aUFjdGlvbjogX3VpQWN0aW9uLFxyXG4gICAgICAgICAgICAgIG5vZGVJZDogcm93LmlkLFxyXG4gICAgICAgICAgICAgIHdpZGdldElkOiBncmlkSWQsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGNlbGxUb0FjdGlvbk1hcFtrZXldID0gYWN0aW9uTW9kZWxzO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjZWxsVG9BY3Rpb25NYXA7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY2FsY3VsYXRlTWVudUFjdGlvbnMocm93OiBHcmlkUm93LCBvcmRlcmVkQ29sdW1uczogc3RyaW5nW10pOiBVaUFjdGlvbltdIHtcclxuICAgIGxldCBfY29sdW1uc1RvRmlsdGVyID0gWy4uLm9yZGVyZWRDb2x1bW5zLCB0aGlzLmRlZmF1bHRBY3Rpb25Ub29sYmFySWRdO1xyXG4gICAgbGV0IGNvbHVtbkNvZGVzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKHJvdy5jb2x1bW5BY3Rpb25zIHx8IHt9KVxyXG4gICAgICAuZmlsdGVyKChrZXkpID0+IF9jb2x1bW5zVG9GaWx0ZXIuaW5jbHVkZXMoa2V5KSlcclxuICAgICAgLm1hcCgoa2V5KSA9PiByb3cuY29sdW1uQWN0aW9ucyFba2V5XSlcclxuICAgICAgLmZsYXQoKTtcclxuXHJcbiAgICByZXR1cm4gcm93LmFjdGlvbnM/LmZpbHRlcigoYWN0aW9uOiBVaUFjdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gIWNvbHVtbkNvZGVzLmluY2x1ZGVzKGFjdGlvbi5jb2RlISk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRBY3Rpb25Nb2RlbHNGcm9tTWFwKFxyXG4gICAgY2VsbFRvQWN0aW9uTWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4sXHJcbiAgICByb3c6IEdyaWRSb3csXHJcbiAgICBoZWFkZXI6IHN0cmluZ1xyXG4gICk6IGFueVtdIHtcclxuICAgIGxldCBrZXkgPSByb3cuaWQgKyBoZWFkZXI7XHJcbiAgICByZXR1cm4gY2VsbFRvQWN0aW9uTWFwW2tleV07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|