@smartbit4all/ng-client 6.0.55 → 6.0.56
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/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/api/api.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/api/default.service.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/api.module.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/configuration.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/encoder.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/index.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/componentType.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/componentWidgetType.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/layoutDefinitionDescriptor.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/layoutDirection.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/models.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/smartComponentWidgetDefinition.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/toolbarAlignment.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/api/param.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/variables.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/api/api/api.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/api/diagramService.service.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/api.module.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/configuration.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/encoder.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/index.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/diagramColor.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/diagramDataContainer.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/diagramDataItem.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/diagramDataSet.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/diagramDescriptor.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/diagramModel.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/diagramShape.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/drawTime.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/labelText.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/models.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/param.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/variables.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/api.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/api/filter.service.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/api.module.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/index.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilder.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/models.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/searchPageConfig.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/filter-utils.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/advanced/advanced-relation-button/advanced-relation-button.component.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/advanced/advanced-smart-filter-expression-item/advanced-smart-filter-expression-item.component.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/advanced/expression-editor-dialog/expression-editor-dialog.component.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/advanced/expression-editor-dialog/expression-editor-dialog.service.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-filter-editor/smart-filter-widget/smart-filter-widget.component.mjs +3 -3
- package/esm2022/lib/smart-form/api/api/api.mjs +1 -1
- package/esm2022/lib/smart-form/api/api/default.service.mjs +1 -1
- package/esm2022/lib/smart-form/api/api.module.mjs +1 -1
- package/esm2022/lib/smart-form/api/configuration.mjs +1 -1
- package/esm2022/lib/smart-form/api/encoder.mjs +1 -1
- package/esm2022/lib/smart-form/api/index.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/dateFieldProperties.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/divProperties.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/fileUploaderProperties.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/imageProperties.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/models.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/multiFileUploaderProperties.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/propertyMapping.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/recordingUploaderProperties.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/selectionDefinition.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartFormInputMode.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartFormWidgetDirection.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartFormWidgetType.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartLayoutDefinition.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartMatrixModel.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartWidgetDefinition.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartWidgetHint.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/sortDefinition.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/textBoxProperties.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/textFieldProperties.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/valueChangeMode.mjs +1 -1
- package/esm2022/lib/smart-form/api/param.mjs +1 -1
- package/esm2022/lib/smart-form/api/variables.mjs +1 -1
- 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 +8 -5
- 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-generic-pages/acl-editing-view/acl-editing-view.component.mjs +3 -3
- package/esm2022/lib/smart-generic-pages/api/platform/acl/model/aCL.mjs +1 -1
- package/esm2022/lib/smart-generic-pages/api/platform/acl/model/aCLEntry.mjs +1 -1
- package/esm2022/lib/smart-generic-pages/api/platform/acl/model/objectValidationSeverity.mjs +1 -1
- package/esm2022/lib/smart-generic-pages/api/platform/acl/model/subject.mjs +1 -1
- package/esm2022/lib/smart-generic-pages/api/platform/api-default/objectHistoryRangeData.mjs +1 -1
- package/esm2022/lib/smart-generic-pages/api/platform/searchpage/model/searchPageModel.mjs +1 -1
- package/esm2022/lib/smart-generic-pages/api/platform/subjectselector/model/subjectSelectorPageModel.mjs +1 -1
- package/esm2022/lib/smart-generic-pages/api/platform/validation/model/validationItem.mjs +1 -1
- package/esm2022/lib/smart-generic-pages/api/platform/validation/model/validationResultPageModel.mjs +1 -1
- package/esm2022/lib/smart-generic-pages/generic-page/generic-page.component.mjs +3 -3
- package/esm2022/lib/smart-generic-pages/invalid-smartlink/invalid-smartlink.component.mjs +3 -3
- package/esm2022/lib/smart-generic-pages/no-permission-page/no-permission-page.component.mjs +3 -3
- package/esm2022/lib/smart-generic-pages/projects.mjs +1 -1
- package/esm2022/lib/smart-generic-pages/search-page/search-page.component.mjs +3 -3
- package/esm2022/lib/smart-generic-pages/smart-generic-pages.module.mjs +1 -1
- package/esm2022/lib/smart-generic-pages/subject-selector/subject-selector.component.mjs +3 -3
- package/esm2022/lib/smart-generic-pages/validation-result-page/validation-result-page.component.mjs +3 -3
- 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/gridRowLayoutDescriptor.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/api/api.mjs +1 -1
- package/esm2022/lib/smart-map/api/api/geoMap.service.mjs +1 -1
- package/esm2022/lib/smart-map/api/api.module.mjs +1 -1
- package/esm2022/lib/smart-map/api/configuration.mjs +1 -1
- package/esm2022/lib/smart-map/api/encoder.mjs +1 -1
- package/esm2022/lib/smart-map/api/index.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/gPSPosition.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/gPSRoute.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapChange.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapDataLoadingMode.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapDataSourceDescriptor.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapDataSourceType.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapEditingSession.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapInteraction.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapItem.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapItemKind.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapLayer.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapLayerChange.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapLayerDescriptor.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapModel.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapOperationMode.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapSelectionMode.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapServerModel.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapTextType.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapViewState.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapViewport.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/models.mjs +1 -1
- package/esm2022/lib/smart-map/api/param.mjs +1 -1
- package/esm2022/lib/smart-map/api/variables.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.module.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/theme/theme.service.mjs +1 -1
- package/esm2022/lib/view-context/api/api/api.mjs +1 -1
- package/esm2022/lib/view-context/api/api/view.service.mjs +1 -1
- package/esm2022/lib/view-context/api/api-default/binaryContentData.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/api.module.mjs +1 -1
- package/esm2022/lib/view-context/api/configuration.mjs +1 -1
- package/esm2022/lib/view-context/api/encoder.mjs +1 -1
- package/esm2022/lib/view-context/api/index.mjs +1 -1
- package/esm2022/lib/view-context/api/model/backgroundProcessInfo.mjs +1 -1
- package/esm2022/lib/view-context/api/model/badgeDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/api/model/clipboardData.mjs +1 -1
- package/esm2022/lib/view-context/api/model/closeResult.mjs +1 -1
- package/esm2022/lib/view-context/api/model/componentConstraint.mjs +1 -1
- package/esm2022/lib/view-context/api/model/componentModel.mjs +1 -1
- package/esm2022/lib/view-context/api/model/componentModelChange.mjs +1 -1
- package/esm2022/lib/view-context/api/model/dataChange.mjs +1 -1
- package/esm2022/lib/view-context/api/model/dataChangeEvent.mjs +1 -1
- package/esm2022/lib/view-context/api/model/dataChangeKind.mjs +1 -1
- package/esm2022/lib/view-context/api/model/deviceInfo.mjs +1 -1
- package/esm2022/lib/view-context/api/model/downloadedFile.mjs +1 -1
- package/esm2022/lib/view-context/api/model/iconPosition.mjs +1 -1
- package/esm2022/lib/view-context/api/model/imageResource.mjs +1 -1
- package/esm2022/lib/view-context/api/model/link.mjs +1 -1
- package/esm2022/lib/view-context/api/model/menuDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/api/model/menuOpenDirection.mjs +1 -1
- package/esm2022/lib/view-context/api/model/menuTriggerType.mjs +1 -1
- package/esm2022/lib/view-context/api/model/messageData.mjs +1 -1
- package/esm2022/lib/view-context/api/model/messageOption.mjs +1 -1
- package/esm2022/lib/view-context/api/model/messageOptionType.mjs +1 -1
- package/esm2022/lib/view-context/api/model/messageResult.mjs +1 -1
- package/esm2022/lib/view-context/api/model/messageTextType.mjs +1 -1
- package/esm2022/lib/view-context/api/model/messageType.mjs +1 -1
- package/esm2022/lib/view-context/api/model/models.mjs +1 -1
- package/esm2022/lib/view-context/api/model/multiComboBoxElement.mjs +1 -1
- package/esm2022/lib/view-context/api/model/multiComboBoxModel.mjs +1 -1
- package/esm2022/lib/view-context/api/model/namedValidator.mjs +1 -1
- package/esm2022/lib/view-context/api/model/openPendingData.mjs +1 -1
- package/esm2022/lib/view-context/api/model/publishedViewData.mjs +1 -1
- package/esm2022/lib/view-context/api/model/serverRequestExecutionStat.mjs +1 -1
- package/esm2022/lib/view-context/api/model/serverRequestTrack.mjs +1 -1
- package/esm2022/lib/view-context/api/model/serverRequestType.mjs +1 -1
- package/esm2022/lib/view-context/api/model/shellProperty.mjs +1 -1
- package/esm2022/lib/view-context/api/model/smartLinkData.mjs +1 -1
- package/esm2022/lib/view-context/api/model/smartLinkMigrationStatus.mjs +1 -1
- package/esm2022/lib/view-context/api/model/statisticRecord.mjs +1 -1
- package/esm2022/lib/view-context/api/model/style.mjs +1 -1
- package/esm2022/lib/view-context/api/model/themeDefinition.mjs +1 -1
- package/esm2022/lib/view-context/api/model/themeDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/api/model/themeShellDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiAction.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionButtonDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionButtonType.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionConstraint.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/uiActionDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionDialogDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionFeedbackType.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionInputType.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionRequest.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionSchedule.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionTooltip.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionUploadDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uploadWidgetType.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uploadedFile.mjs +1 -1
- package/esm2022/lib/view-context/api/model/valueSet.mjs +1 -1
- package/esm2022/lib/view-context/api/model/view.mjs +1 -1
- package/esm2022/lib/view-context/api/model/viewApiError.mjs +1 -1
- package/esm2022/lib/view-context/api/model/viewConstraint.mjs +1 -1
- package/esm2022/lib/view-context/api/model/viewContext.mjs +1 -1
- package/esm2022/lib/view-context/api/model/viewContextChange.mjs +1 -1
- package/esm2022/lib/view-context/api/model/viewContextData.mjs +1 -1
- package/esm2022/lib/view-context/api/model/viewContextUpdate.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/api/model/viewPlaceholder.mjs +1 -1
- package/esm2022/lib/view-context/api/model/viewState.mjs +1 -1
- package/esm2022/lib/view-context/api/model/viewStateUpdate.mjs +1 -1
- package/esm2022/lib/view-context/api/model/viewType.mjs +1 -1
- package/esm2022/lib/view-context/api/param.mjs +1 -1
- package/esm2022/lib/view-context/api/variables.mjs +1 -1
- package/esm2022/lib/view-context/default-view-components.token.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/reuse-router-slot.token.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/click/menu.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/menu/hover/hover-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/theme-selector/theme-selector.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 +3 -3
- 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/button-icon-placeholder.mjs +1 -1
- 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/lib/view-context/view-handler-resolution.mjs +1 -1
- package/esm2022/lib/view-context/view-op.mjs +1 -1
- package/esm2022/lib/view-context/view-slot-resolution.mjs +1 -1
- package/esm2022/projects.mjs +1 -1
- package/fesm2022/smartbit4all-ng-client.mjs +158 -155
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/smart-form/smartfileuploader/smartfileuploader.component.d.ts +1 -1
- package/package.json +1 -1
- package/smartbit4all-ng-client-6.0.56.tgz +0 -0
- package/smartbit4all-ng-client-6.0.55.tgz +0 -0
|
@@ -321,11 +321,11 @@ export class UiActionToolbarComponent {
|
|
|
321
321
|
return MenuTriggerType;
|
|
322
322
|
}
|
|
323
323
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionToolbarComponent, deps: [{ token: i1.UiActionService }, { token: i0.Injector }, { token: i2.UiMenuService }, { token: i0.ChangeDetectorRef }, { token: COMPONENT_LIBRARY }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
324
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService", id: "id", scrollOnWrap: "scrollOnWrap", toolbarPropertes: "toolbarPropertes" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (isScrollable && scrollOnWrap) {\n <ui-action-button\n [disabled]=\"!isScrollable\"\n [descriptor]=\"buttonLeft\"\n (actionClick)=\"scrollLeft()\"\n (mousedown)=\"scrollStart('left')\"\n (mouseup)=\"stopScroll()\"\n (mouseleave)=\"stopScroll()\"\n (touchstart)=\"scrollStart('left')\"\n (touchend)=\"stopScroll()\"\n />\n}\n\n<div\n #container\n class=\"uiActionButtonsContainer\"\n (click)=\"$event.stopPropagation()\"\n [ngClass]=\"{\n scrollableContent: scrollOnWrap,\n verticalToolbar: isVertical,\n horizontalToolbar: isHorizontal,\n alignedStart: isAlignedStart,\n alignedEnd: isAlignedEnd,\n }\"\n>\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\n @if (uiActionModel.uiAction.code === 'themeSelector') {\n <theme-selector [model]=\"uiActionModel\"></theme-selector>\n } @else if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\n <ng-container\n *ngTemplateOutlet=\"menuTypes; context: { uiActionModel: uiActionModel }\"\n ></ng-container>\n } @else {\n <ui-action-button\n (mouseenter)=\"onHover()\"\n [descriptor]=\"uiActionModel.descriptor!\"\n [code]=\"uiActionModel.uiAction.code\"\n [identifier]=\"uiActionModel.uiAction.identifier\"\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\n [addedCssClass]=\"uiActionModel.cssClass\"\n [viewActivated]=\"uiActionModel.uiAction.viewActivated\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\n >\n </ui-action-button>\n }\n </ng-container>\n</div>\n\n@if (isScrollable && scrollOnWrap) {\n <ui-action-button\n [disabled]=\"!isScrollable\"\n [descriptor]=\"buttonRight\"\n (actionClick)=\"scrollRight()\"\n (mousedown)=\"scrollStart('right')\"\n (mouseup)=\"stopScroll()\"\n (mouseleave)=\"stopScroll()\"\n (touchstart)=\"scrollStart('right')\"\n (touchend)=\"stopScroll()\"\n />\n}\n\n<ng-template #menuTypes let-uiActionModel=\"uiActionModel\">\n @switch (uiActionModel?.uiAction?.descriptor?.menu?.triggerType) {\n @case (triggerType.HOVER) {\n <ui-hover-menu\n #menu\n [toolbarId]=\"id\"\n (mouseenter)=\"onHover()\"\n [triggerAction]=\"uiActionModel.uiAction\"\n [subActions]=\"uiActionModel.uiAction.subActions!\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n ></ui-hover-menu>\n }\n @case (triggerType.CLICK) {\n <ui-tiered-menu\n #menu\n (mouseenter)=\"onHover()\"\n [triggerAction]=\"uiActionModel.uiAction\"\n [subActions]=\"uiActionModel.uiAction.subActions!\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n ></ui-tiered-menu>\n }\n @default {\n <ui-tiered-menu\n #menu\n (mouseenter)=\"onHover()\"\n [triggerAction]=\"uiActionModel.uiAction\"\n [subActions]=\"uiActionModel.uiAction.subActions!\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n ></ui-tiered-menu>\n }\n }\n</ng-template>\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}:host:has(.verticalToolbar){height:100%}:host:has(.horizontalToolbar.alignedEnd){width:100%}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column;height:100%}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%}.alignedStart{justify-content:flex-start}.alignedEnd{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "identifier", "viewActivated", "addedCssClass", "addBasicClasses", "iconPlaceholder"], outputs: ["actionClick", "actionDoubleClick"] }, { kind: "component", type: i5.ClickMenuComponent, selector: "ui-tiered-menu", inputs: ["triggerAction", "isSubmenu", "menuOpenDirection"], outputs: ["actionClick", "submenuOpened"] }, { kind: "component", type: i6.HoverMenuComponent, selector: "ui-hover-menu", inputs: ["triggerAction", "isSubmenu", "menuOpenDirection", "toolbarId"], outputs: ["actionClick", "submenuOpened"] }, { kind: "component", type: i7.ThemeSelectorComponent, selector: "theme-selector", inputs: ["model"] }] }); }
|
|
324
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService", id: "id", scrollOnWrap: "scrollOnWrap", toolbarPropertes: "toolbarPropertes" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonLeft\"\r\n (actionClick)=\"scrollLeft()\"\r\n (mousedown)=\"scrollStart('left')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('left')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<div\r\n #container\r\n class=\"uiActionButtonsContainer\"\r\n (click)=\"$event.stopPropagation()\"\r\n [ngClass]=\"{\r\n scrollableContent: scrollOnWrap,\r\n verticalToolbar: isVertical,\r\n horizontalToolbar: isHorizontal,\r\n alignedStart: isAlignedStart,\r\n alignedEnd: isAlignedEnd,\r\n }\"\r\n>\r\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\r\n @if (uiActionModel.uiAction.code === 'themeSelector') {\r\n <theme-selector [model]=\"uiActionModel\"></theme-selector>\r\n } @else if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\r\n <ng-container\r\n *ngTemplateOutlet=\"menuTypes; context: { uiActionModel: uiActionModel }\"\r\n ></ng-container>\r\n } @else {\r\n <ui-action-button\r\n (mouseenter)=\"onHover()\"\r\n [descriptor]=\"uiActionModel.descriptor!\"\r\n [code]=\"uiActionModel.uiAction.code\"\r\n [identifier]=\"uiActionModel.uiAction.identifier\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n [addedCssClass]=\"uiActionModel.cssClass\"\r\n [viewActivated]=\"uiActionModel.uiAction.viewActivated\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n </ui-action-button>\r\n }\r\n </ng-container>\r\n</div>\r\n\r\n@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonRight\"\r\n (actionClick)=\"scrollRight()\"\r\n (mousedown)=\"scrollStart('right')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('right')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<ng-template #menuTypes let-uiActionModel=\"uiActionModel\">\r\n @switch (uiActionModel?.uiAction?.descriptor?.menu?.triggerType) {\r\n @case (triggerType.HOVER) {\r\n <ui-hover-menu\r\n #menu\r\n [toolbarId]=\"id\"\r\n (mouseenter)=\"onHover()\"\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-hover-menu>\r\n }\r\n @case (triggerType.CLICK) {\r\n <ui-tiered-menu\r\n #menu\r\n (mouseenter)=\"onHover()\"\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n }\r\n @default {\r\n <ui-tiered-menu\r\n #menu\r\n (mouseenter)=\"onHover()\"\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n }\r\n }\r\n</ng-template>\r\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}:host:has(.verticalToolbar){height:100%}:host:has(.horizontalToolbar.alignedEnd){width:100%}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column;height:100%}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%}.alignedStart{justify-content:flex-start}.alignedEnd{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "identifier", "viewActivated", "addedCssClass", "addBasicClasses", "iconPlaceholder"], outputs: ["actionClick", "actionDoubleClick"] }, { kind: "component", type: i5.ClickMenuComponent, selector: "ui-tiered-menu", inputs: ["triggerAction", "isSubmenu", "menuOpenDirection"], outputs: ["actionClick", "submenuOpened"] }, { kind: "component", type: i6.HoverMenuComponent, selector: "ui-hover-menu", inputs: ["triggerAction", "isSubmenu", "menuOpenDirection", "toolbarId"], outputs: ["actionClick", "submenuOpened"] }, { kind: "component", type: i7.ThemeSelectorComponent, selector: "theme-selector", inputs: ["model"] }] }); }
|
|
325
325
|
}
|
|
326
326
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionToolbarComponent, decorators: [{
|
|
327
327
|
type: Component,
|
|
328
|
-
args: [{ selector: 'smart-ui-action-toolbar', template: "@if (isScrollable && scrollOnWrap) {\n <ui-action-button\n [disabled]=\"!isScrollable\"\n [descriptor]=\"buttonLeft\"\n (actionClick)=\"scrollLeft()\"\n (mousedown)=\"scrollStart('left')\"\n (mouseup)=\"stopScroll()\"\n (mouseleave)=\"stopScroll()\"\n (touchstart)=\"scrollStart('left')\"\n (touchend)=\"stopScroll()\"\n />\n}\n\n<div\n #container\n class=\"uiActionButtonsContainer\"\n (click)=\"$event.stopPropagation()\"\n [ngClass]=\"{\n scrollableContent: scrollOnWrap,\n verticalToolbar: isVertical,\n horizontalToolbar: isHorizontal,\n alignedStart: isAlignedStart,\n alignedEnd: isAlignedEnd,\n }\"\n>\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\n @if (uiActionModel.uiAction.code === 'themeSelector') {\n <theme-selector [model]=\"uiActionModel\"></theme-selector>\n } @else if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\n <ng-container\n *ngTemplateOutlet=\"menuTypes; context: { uiActionModel: uiActionModel }\"\n ></ng-container>\n } @else {\n <ui-action-button\n (mouseenter)=\"onHover()\"\n [descriptor]=\"uiActionModel.descriptor!\"\n [code]=\"uiActionModel.uiAction.code\"\n [identifier]=\"uiActionModel.uiAction.identifier\"\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\n [addedCssClass]=\"uiActionModel.cssClass\"\n [viewActivated]=\"uiActionModel.uiAction.viewActivated\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\n >\n </ui-action-button>\n }\n </ng-container>\n</div>\n\n@if (isScrollable && scrollOnWrap) {\n <ui-action-button\n [disabled]=\"!isScrollable\"\n [descriptor]=\"buttonRight\"\n (actionClick)=\"scrollRight()\"\n (mousedown)=\"scrollStart('right')\"\n (mouseup)=\"stopScroll()\"\n (mouseleave)=\"stopScroll()\"\n (touchstart)=\"scrollStart('right')\"\n (touchend)=\"stopScroll()\"\n />\n}\n\n<ng-template #menuTypes let-uiActionModel=\"uiActionModel\">\n @switch (uiActionModel?.uiAction?.descriptor?.menu?.triggerType) {\n @case (triggerType.HOVER) {\n <ui-hover-menu\n #menu\n [toolbarId]=\"id\"\n (mouseenter)=\"onHover()\"\n [triggerAction]=\"uiActionModel.uiAction\"\n [subActions]=\"uiActionModel.uiAction.subActions!\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n ></ui-hover-menu>\n }\n @case (triggerType.CLICK) {\n <ui-tiered-menu\n #menu\n (mouseenter)=\"onHover()\"\n [triggerAction]=\"uiActionModel.uiAction\"\n [subActions]=\"uiActionModel.uiAction.subActions!\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n ></ui-tiered-menu>\n }\n @default {\n <ui-tiered-menu\n #menu\n (mouseenter)=\"onHover()\"\n [triggerAction]=\"uiActionModel.uiAction\"\n [subActions]=\"uiActionModel.uiAction.subActions!\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n ></ui-tiered-menu>\n }\n }\n</ng-template>\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}:host:has(.verticalToolbar){height:100%}:host:has(.horizontalToolbar.alignedEnd){width:100%}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column;height:100%}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%}.alignedStart{justify-content:flex-start}.alignedEnd{justify-content:flex-end}\n"] }]
|
|
328
|
+
args: [{ selector: 'smart-ui-action-toolbar', template: "@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonLeft\"\r\n (actionClick)=\"scrollLeft()\"\r\n (mousedown)=\"scrollStart('left')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('left')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<div\r\n #container\r\n class=\"uiActionButtonsContainer\"\r\n (click)=\"$event.stopPropagation()\"\r\n [ngClass]=\"{\r\n scrollableContent: scrollOnWrap,\r\n verticalToolbar: isVertical,\r\n horizontalToolbar: isHorizontal,\r\n alignedStart: isAlignedStart,\r\n alignedEnd: isAlignedEnd,\r\n }\"\r\n>\r\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\r\n @if (uiActionModel.uiAction.code === 'themeSelector') {\r\n <theme-selector [model]=\"uiActionModel\"></theme-selector>\r\n } @else if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\r\n <ng-container\r\n *ngTemplateOutlet=\"menuTypes; context: { uiActionModel: uiActionModel }\"\r\n ></ng-container>\r\n } @else {\r\n <ui-action-button\r\n (mouseenter)=\"onHover()\"\r\n [descriptor]=\"uiActionModel.descriptor!\"\r\n [code]=\"uiActionModel.uiAction.code\"\r\n [identifier]=\"uiActionModel.uiAction.identifier\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n [addedCssClass]=\"uiActionModel.cssClass\"\r\n [viewActivated]=\"uiActionModel.uiAction.viewActivated\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n </ui-action-button>\r\n }\r\n </ng-container>\r\n</div>\r\n\r\n@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonRight\"\r\n (actionClick)=\"scrollRight()\"\r\n (mousedown)=\"scrollStart('right')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('right')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<ng-template #menuTypes let-uiActionModel=\"uiActionModel\">\r\n @switch (uiActionModel?.uiAction?.descriptor?.menu?.triggerType) {\r\n @case (triggerType.HOVER) {\r\n <ui-hover-menu\r\n #menu\r\n [toolbarId]=\"id\"\r\n (mouseenter)=\"onHover()\"\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-hover-menu>\r\n }\r\n @case (triggerType.CLICK) {\r\n <ui-tiered-menu\r\n #menu\r\n (mouseenter)=\"onHover()\"\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n }\r\n @default {\r\n <ui-tiered-menu\r\n #menu\r\n (mouseenter)=\"onHover()\"\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n }\r\n }\r\n</ng-template>\r\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}:host:has(.verticalToolbar){height:100%}:host:has(.horizontalToolbar.alignedEnd){width:100%}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column;height:100%}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%}.alignedStart{justify-content:flex-start}.alignedEnd{justify-content:flex-end}\n"] }]
|
|
329
329
|
}], ctorParameters: () => [{ type: i1.UiActionService }, { type: i0.Injector }, { type: i2.UiMenuService }, { type: i0.ChangeDetectorRef }, { type: i8.ComponentLibrary, decorators: [{
|
|
330
330
|
type: Inject,
|
|
331
331
|
args: [COMPONENT_LIBRARY]
|
|
@@ -346,4 +346,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
346
346
|
type: HostListener,
|
|
347
347
|
args: ['window:resize']
|
|
348
348
|
}] } });
|
|
349
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFFTixLQUFLLEVBS0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUNMLFlBQVksRUFDWixlQUFlLEdBR2hCLE1BQU0sUUFBUSxDQUFDO0FBQ2hCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xGLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBRWpCLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7QUFRMUMsTUFBTSxPQUFPLHdCQUF3QjtJQThCbkMsWUFDVSxPQUF3QixFQUN4QixNQUFnQixFQUNoQixXQUEwQixFQUMzQixjQUFpQyxFQUNOLE9BQXlCO1FBSm5ELFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVU7UUFDaEIsZ0JBQVcsR0FBWCxX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QUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLFNBQVMsS0FBSyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7SUFDeEUsQ0FBQztJQUNELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLFNBQVMsS0FBSyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLEtBQUssZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLEtBQUssZ0JBQWdCLENBQUMsR0FBRyxDQUFDO0lBQ25FLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDOytHQTVYVSx3QkFBd0IsdUlBbUN6QixpQkFBaUI7bUdBbkNoQix3QkFBd0IsMmFDdkNyQywwcEdBOEZBOzs0RkR2RGEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHlCQUF5Qjs7MEJBdUNoQyxNQUFNOzJCQUFDLGlCQUFpQjt5Q0FsQ2dCLFlBQVk7c0JBQXRELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFRaEMsY0FBYztzQkFBdEIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQW1EeUIsUUFBUTtzQkFBdEMsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBJY29uUG9zaXRpb24sXG4gIE1lbnVUcmlnZ2VyVHlwZSxcbiAgVWlBY3Rpb25EZXNjcmlwdG9yLFxuICBVaUFjdGlvblRvb2x0aXBUb29sdGlwUG9zaXRpb25FbnVtLFxufSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHsgVWlBY3Rpb25CdXR0b25UeXBlIH0gZnJvbSAnLi4vYXBpL21vZGVsL3VpQWN0aW9uQnV0dG9uVHlwZSc7XG5pbXBvcnQgeyBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlIH0gZnJvbSAnLi91aS1hY3Rpb24uZGVzY3JpcHRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFVpQWN0aW9uTW9kZWwgfSBmcm9tICcuL3VpLWFjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBVaUFjdGlvblNlcnZpY2UgfSBmcm9tICcuL3VpLWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5IH0gZnJvbSAnLi4vdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcbmltcG9ydCB7XG4gIFRvb2xiYXJBbGlnbm1lbnQsXG4gIFRvb2xiYXJEaXJlY3Rpb24sXG4gIFRvb2xiYXJQcm9wZXJ0aWVzLFxufSBmcm9tICcuLi8uLi9zbWFydC1jb21wb25lbnQtbGF5b3V0L2FwaSc7XG5pbXBvcnQgeyBVaU1lbnVTZXJ2aWNlIH0gZnJvbSAnLi9jb21wb25lbnRzL21lbnUvbWVudS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtdWktYWN0aW9uLXRvb2xiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGFpbmVyUmVmITogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29tcG9uZW50TGlicmFyeSA9IENvbXBvbmVudExpYnJhcnk7IC8vIEV4cG9zZSB0aGUgZW51bSB0byB0aGUgdGVtcGxhdGVcblxuICBwcmVzc2VkQnV0dG9uQWN0aXZlOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKSB1aUFjdGlvbk1vZGVscz86IFVpQWN0aW9uTW9kZWxbXTtcbiAgQElucHV0KCkgdWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZT86IFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2U7XG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nO1xuICBASW5wdXQoKSBzY3JvbGxPbldyYXA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdG9vbGJhclByb3BlcnRlcz86IFRvb2xiYXJQcm9wZXJ0aWVzO1xuXG4gIHVpQWN0aW9uTW9kZWxzV2l0aERlc2NyaXB0aW9ucz86IFVpQWN0aW9uTW9kZWxbXTtcblxuICBwcml2YXRlIG1hbmFnZXIhOiBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlO1xuICBwcml2YXRlIGxhbmd1YWdlQ2hhbmdlZFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICBpc1Njcm9sbGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIHNjcm9sbEludGVydmFsOiBhbnk7XG4gIHByaXZhdGUgc2Nyb2xsVGltZW91dDogYW55O1xuICBwcml2YXRlIHNjcm9sbFNwZWVkOiBudW1iZXIgPSA1O1xuICBwcml2YXRlIHNjcm9sbERlbGF5OiBudW1iZXIgPSAxNjtcbiAgcHJpdmF0ZSBzY3JvbGxIb2xkRGVsYXk6IG51bWJlciA9IDEwMDtcblxuICBwcml2YXRlIHNjaGVkdWxlcyA9IG5ldyBNYXA8c3RyaW5nLCBTdWJzY3JpcHRpb24+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBVaUFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmplY3Q6IEluamVjdG9yLFxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IFVpTWVudVNlcnZpY2UsXG4gICAgcHVibGljIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBwdWJsaWMgY29tcExpYjogQ29tcG9uZW50TGlicmFyeVxuICApIHtcbiAgICAvLyBJbmplY3RzIHRoZSBiYXNpYyBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlIHByb3ZpZGVkIGJ5IHRoZSBBcHBNb2R1bGVcbiAgICB0aGlzLm1hbmFnZXIgPSBpbmplY3QuZ2V0KFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UpO1xuXG4gICAgdGhpcy5zdWJzY3JpYmVUb0xhbmd1YWdlQ2hhbmdlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBPdmVycmlkZXMgdGhlIGJhc2ljIFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2Ugd2l0aCBhIGN1c3RvbSBvbmUgaWYgdGhlcmUgaXMgb25lXG4gICAgaWYgKHRoaXMudWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSkge1xuICAgICAgdGhpcy5tYW5hZ2VyID0gdGhpcy51aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlO1xuICAgICAgdGhpcy5zdWJzY3JpYmVUb0xhbmd1YWdlQ2hhbmdlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnRvb2xiYXJQcm9wZXJ0ZXMpIHtcbiAgICAgIHRoaXMuc2Nyb2xsT25XcmFwID0gdGhpcy50b29sYmFyUHJvcGVydGVzLnNjcm9sbGFibGUgPz8gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRVcCgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLnNjcm9sbE9uV3JhcCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hlY2tTY3JvbGxhYmxlKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJykgb25SZXNpemUoKSB7XG4gICAgaWYgKHRoaXMuc2Nyb2xsT25XcmFwKSB7XG4gICAgICB0aGlzLmNoZWNrU2Nyb2xsYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sndWlBY3Rpb25Nb2RlbHMnXSkge1xuICAgICAgbGV0IHVpQWN0aW9uTW9kZWxzID0gY2hhbmdlc1sndWlBY3Rpb25Nb2RlbHMnXS5jdXJyZW50VmFsdWU7XG4gICAgICBpZiAodWlBY3Rpb25Nb2RlbHMpIHtcbiAgICAgICAgdGhpcy51aUFjdGlvbk1vZGVscyA9IHVpQWN0aW9uTW9kZWxzO1xuXG4gICAgICAgIHRoaXMuc2V0VXAoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyU2NoZWR1bGUoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9MYW5ndWFnZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmxhbmd1YWdlQ2hhbmdlZFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMubGFuZ3VhZ2VDaGFuZ2VkU3Vic2NyaXB0aW9uID0gdGhpcy5tYW5hZ2VyLmxhbmd1YWdlQ2hhbmdlZFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNldFVwKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNldFVwKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLnVpQWN0aW9uTW9kZWxzKSB7XG4gICAgICBsZXQgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zID0gW107XG4gICAgICBmb3IgKGNvbnN0IHVpQWN0aW9uTW9kZWwgb2YgdGhpcy51aUFjdGlvbk1vZGVscykge1xuICAgICAgICBjb25zdCB1aUFjdGlvbiA9IHVpQWN0aW9uTW9kZWwudWlBY3Rpb247XG5cbiAgICAgICAgLy8gdXNpbmcgZXF1YWxpdHkgaXMgYSBtdXN0IGhlcmUsIHVuZGVmaW5lZCBhbmQgbnVsbCBzaG91bGQgYmUgZXF1YWxcbiAgICAgICAgaWYgKHRoaXMuaWQgPT0gdWlBY3Rpb24udG9vbGJhcikge1xuICAgICAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvciA9IGF3YWl0IHRoaXMubWFuYWdlci5nZXRBY3Rpb25EZXNjcmlwdG9yKHVpQWN0aW9uTW9kZWwudWlBY3Rpb24pO1xuICAgICAgICAgIHVpQWN0aW9uTW9kZWxzV2l0aERlc2NyaXB0aW9ucy5wdXNoKHVpQWN0aW9uTW9kZWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLnNjaGVkdWxlQWN0aW9ucyh0aGlzLnVpQWN0aW9uTW9kZWxzKTtcbiAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zID0gdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zO1xuXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jaGVja1Njcm9sbGFibGUoKSk7XG4gICAgfVxuICB9XG5cbiAgc2V0QWN0aW9uTW9kZWxzKG1vZGVsczogVWlBY3Rpb25Nb2RlbFtdKTogdm9pZCB7XG4gICAgdGhpcy51aUFjdGlvbk1vZGVscyA9IG1vZGVscztcbiAgICB0aGlzLnNldFVwKCk7XG4gIH1cblxuICBjbGVhclNjaGVkdWxlKCk6IHZvaWQge1xuICAgIHRoaXMuc2NoZWR1bGVzLmZvckVhY2goKHN1YikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICAgIHRoaXMuc2NoZWR1bGVzLmNsZWFyKCk7XG4gIH1cblxuICBzY2hlZHVsZUFjdGlvbnModWlBY3Rpb25Nb2RlbHM6IFVpQWN0aW9uTW9kZWxbXSkge1xuICAgIHRoaXMuY2xlYXJTY2hlZHVsZSgpO1xuXG4gICAgdWlBY3Rpb25Nb2RlbHMuZm9yRWFjaCgodWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCkgPT4ge1xuICAgICAgdmFyIHVpQWN0aW9uID0gdWlBY3Rpb25Nb2RlbC51aUFjdGlvbjtcblxuICAgICAgaWYgKFxuICAgICAgICAhdWlBY3Rpb24uY29kZSB8fFxuICAgICAgICB1aUFjdGlvbi5kaXNhYmxlZCB8fFxuICAgICAgICAhdWlBY3Rpb24uc2NoZWR1bGU/LmludGVydmFsU2Vjb25kcyB8fFxuICAgICAgICB0aGlzLnNjaGVkdWxlcy5oYXModWlBY3Rpb24uY29kZSkgfHxcbiAgICAgICAgdWlBY3Rpb24uc3ViQWN0aW9ucz8ubGVuZ3RoXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgaW50ZXJ2YWxJbk1zID0gdWlBY3Rpb24uc2NoZWR1bGUuaW50ZXJ2YWxTZWNvbmRzICogMTAwMDtcbiAgICAgIHZhciBzdWIgPSBpbnRlcnZhbChpbnRlcnZhbEluTXMpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHZhciBzY2hlZHVsZWRVaUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsID0ge1xuICAgICAgICAgICAgLi4udWlBY3Rpb25Nb2RlbCxcbiAgICAgICAgICAgIHVpQWN0aW9uOiB7XG4gICAgICAgICAgICAgIC4uLnVpQWN0aW9uTW9kZWwudWlBY3Rpb24sXG4gICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgIC4uLnVpQWN0aW9uTW9kZWwudWlBY3Rpb24ucGFyYW1zLFxuICAgICAgICAgICAgICAgIHNjaGVkdWxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHRoaXMuZmlyZUFjdGlvbihzY2hlZHVsZWRVaUFjdGlvbk1vZGVsKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2NoZWR1bGVzLnNldCh1aUFjdGlvbi5jb2RlLCBzdWIpO1xuICAgIH0pO1xuICB9XG5cbiAgdHJhY2tCeUZuKGlkeDogbnVtYmVyLCBtOiBVaUFjdGlvbk1vZGVsKTogc3RyaW5nIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gbS51aUFjdGlvbi5jb2RlID8/IGlkeDtcbiAgfVxuXG4gIGFzeW5jIGZpcmVBY3Rpb24odWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IG9wdGlvbnMgPSB7XG4gICAgICBub2RlSWQ6IHVpQWN0aW9uTW9kZWwubm9kZUlkLFxuICAgICAgd2lkZ2V0SWQ6IHVpQWN0aW9uTW9kZWwud2lkZ2V0SWQsXG4gICAgfTtcblxuICAgIGF3YWl0IHRoaXMuc2VydmljZS5leGVjdXRlKHVpQWN0aW9uTW9kZWwudWlBY3Rpb24sIHVpQWN0aW9uTW9kZWwsIG9wdGlvbnMpO1xuICB9XG5cbiAgYXN5bmMgb25BY3Rpb25DbGlja2VkKGV2ZW50OiBhbnksIHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlQWxsTWVudXMoKTtcblxuICAgIGlmICh1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJlc3NlZEJ1dHRvbkFjdGl2ZSkge1xuICAgICAgdGhpcy5wcmVzc2VkQnV0dG9uQWN0aXZlID0gZmFsc2U7XG5cbiAgICAgIC8vIHVpLXRpZXJlZC1tZW51IGVtaXRzIGEgZnVsbCBVaUFjdGlvbiAobm8gJ2V2ZW50JyBwcm9wZXJ0eSksXG4gICAgICAvLyB1aS1hY3Rpb24tYnV0dG9uIGVtaXRzIHsgZXZlbnQ6IE1vdXNlRXZlbnQsIGNvZGUsIGRlc2NyaXB0b3IgfS5cbiAgICAgIC8vIFVzZSB0aGUgZW1pdHRlZCBVaUFjdGlvbiBvbmx5IGZvciB0aWVyZWQtbWVudSBzdWItYWN0aW9ucy5cbiAgICAgIGxldCBhY3Rpb25Ub0V4ZWN1dGU6IFVpQWN0aW9uTW9kZWwgPSB7XG4gICAgICAgIC4uLnVpQWN0aW9uTW9kZWwsXG4gICAgICAgIHVpQWN0aW9uOiAhZXZlbnQuZXZlbnQgJiYgZXZlbnQuY29kZSA/IGV2ZW50IDogdWlBY3Rpb25Nb2RlbC51aUFjdGlvbixcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHRoaXMuZmlyZUFjdGlvbihhY3Rpb25Ub0V4ZWN1dGUpO1xuXG4gICAgICB0aGlzLnByZXNzZWRCdXR0b25BY3RpdmUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uQWN0aW9uRG91YmxlQ2xpY2tlZChldmVudDogYW55LCB1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgLy8gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgLy8gV2UgZG8gbm90IGhhbmRsZSBkb3VibGUgY2xpY2tzXG4gIH1cbiAgZ2V0YnRuQ2xhc3ModWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCk6IHN0cmluZyB7XG4gICAgaWYgKHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3IpIHtcbiAgICAgIHJldHVybiAncC1idXR0b24tJyArIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3I7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuICBnZXRUeXBlKHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBhbnkge1xuICAgIGlmICghdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlKSB7XG4gICAgICAvLyBjb25zb2xlLmxvZyhgQWN0aW9uIGJ1dHRvbiB0eXBlIHVuc2V0OiAke3VpQWN0aW9uTW9kZWw/LnVpQWN0aW9uPy5jb2RlfWApO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb21wTGliID09PSBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcpIHtcbiAgICAgIC8vIHJldHVybiAnJztcblxuICAgICAgLy8gJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxuICAgICAgLyogICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcbiAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxuICAgICAgICAncC1idXR0b24tb3V0bGluZWQnOiB0cnVlLFxuICAqL1xuICAgICAgc3dpdGNoICh1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUpIHtcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMOlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkxBVDpcbiAgICAgICAgICByZXR1cm4geyAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSwgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlIH07XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRDpcbiAgICAgICAgICByZXR1cm4geyAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSwgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlIH07XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlNUUk9LRUQ6XG4gICAgICAgICAgcmV0dXJuIHsgJ3AtYnV0dG9uLW91dGxpbmVkJzogdHJ1ZSwgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlIH07XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk1JTklfRkFCOlxuICAgICAgICAgIHJldHVybiB7ICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSwgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLCAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSB9O1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJ1dHRvbi1vdXRsaW5lZCc6IHRydWUsXG4gICAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc3dpdGNoICh1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUpIHtcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMOlxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1idXR0b24nO1xuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GTEFUOlxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1mbGF0LWJ1dHRvbic7XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRDpcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtcmFpc2VkLWJ1dHRvbic7XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlNUUk9LRUQ6XG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLXN0cm9rZWQtYnV0dG9uJztcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTjpcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtaWNvbi1idXR0b24nO1xuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQjpcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtbWluaS1mYWInO1xuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GQUI6XG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWZhYic7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coYFVuaGFuZGxlZCBhY3Rpb24gYnV0dG9uIHR5cGUgY2FzZTogJHt1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGV9YCk7XG4gICAgICAgICAgcmV0dXJuIGBtYXQtYnV0dG9uYDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpY29uUG9zaXRpb24oKTogdHlwZW9mIEljb25Qb3NpdGlvbiB7XG4gICAgcmV0dXJuIEljb25Qb3NpdGlvbjtcbiAgfVxuXG4gIGlzT25seUljb24odWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OIHx8XG4gICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQiB8fFxuICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuRkFCXG4gICAgKTtcbiAgfVxuXG4gIGdldFRvb2x0aXBQb3MocG9zPzogVWlBY3Rpb25Ub29sdGlwVG9vbHRpcFBvc2l0aW9uRW51bSk6IFRvb2x0aXBQb3NpdGlvbiB7XG4gICAgaWYgKHBvcykge1xuICAgICAgcmV0dXJuIHBvcy50b0xvd2VyQ2FzZSgpIGFzIFRvb2x0aXBQb3NpdGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdiZWZvcmUnO1xuICAgIH1cbiAgfVxuXG4gIGdldFRvb2x0aXBEZWxheShkZWxheT86IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGRlbGF5ID8gZGVsYXkgOiAxMDAwO1xuICB9XG5cbiAgZ2V0VG9vbHRpcEhpZGVEZWxheShkZWxheT86IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGRlbGF5ID8gZGVsYXkgOiAyMDAwO1xuICB9XG5cbiAgY2hlY2tTY3JvbGxhYmxlKCkge1xuICAgIGlmICghdGhpcy5zY3JvbGxPbldyYXApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzY3JvbGxhYmxlID0gdGhpcy5jb250YWluZXJSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHNjcm9sbGFibGUpIHtcbiAgICAgIHRoaXMuaXNTY3JvbGxhYmxlID0gc2Nyb2xsYWJsZS5zY3JvbGxXaWR0aCA+IHNjcm9sbGFibGUuY2xpZW50V2lkdGg7XG4gICAgfVxuICB9XG4gIHNjcm9sbExlZnQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0IC09IDEwMDtcbiAgfVxuXG4gIHNjcm9sbFJpZ2h0KCk6IHZvaWQge1xuICAgIHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArPSAxMDA7XG4gIH1cblxuICBzY3JvbGxTdGFydChkaXJlY3Rpb246ICdsZWZ0JyB8ICdyaWdodCcpOiB2b2lkIHtcbiAgICB0aGlzLnNjcm9sbFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IGRlbHRhID0gZGlyZWN0aW9uID09PSAnbGVmdCcgPyAtdGhpcy5zY3JvbGxTcGVlZCA6IHRoaXMuc2Nyb2xsU3BlZWQ7XG5cbiAgICAgIHRoaXMuc2Nyb2xsSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArPSBkZWx0YTtcbiAgICAgIH0sIHRoaXMuc2Nyb2xsRGVsYXkpO1xuICAgIH0sIHRoaXMuc2Nyb2xsSG9sZERlbGF5KTtcbiAgfVxuXG4gIHN0b3BTY3JvbGwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2Nyb2xsVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2Nyb2xsVGltZW91dCk7XG4gICAgICB0aGlzLnNjcm9sbFRpbWVvdXQgPSBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5zY3JvbGxJbnRlcnZhbCkge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnNjcm9sbEludGVydmFsKTtcbiAgICAgIHRoaXMuc2Nyb2xsSW50ZXJ2YWwgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIG9uSG92ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5tZW51U2VydmljZS5jbG9zZU1lbnVzRm9yVG9vbGJhcih0aGlzLmlkID8/ICcnKTtcbiAgfVxuXG4gIGJ1dHRvbkxlZnQ6IFVpQWN0aW9uRGVzY3JpcHRvciA9IHtcbiAgICB0aXRsZTogJycsXG4gICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VELFxuICAgIGljb246IHRoaXMuY29tcExpYiA9PT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HID8gJ2NoZXZyb24tbGVmdCcgOiAnYXJyb3dfYmFjaycsXG4gICAgaWNvblBvc2l0aW9uOiBJY29uUG9zaXRpb24uUFJFLFxuICB9O1xuXG4gIGJ1dHRvblJpZ2h0OiBVaUFjdGlvbkRlc2NyaXB0b3IgPSB7XG4gICAgdGl0bGU6ICcnLFxuICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgdHlwZTogVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRCxcbiAgICBpY29uOiB0aGlzLmNvbXBMaWIgPT09IENvbXBvbmVudExpYnJhcnkuUFJJTUVORyA/ICdjaGV2cm9uLXJpZ2h0JyA6ICdhcnJvd19mb3J3YXJkJyxcbiAgICBpY29uUG9zaXRpb246IEljb25Qb3NpdGlvbi5QUkUsXG4gIH07XG5cbiAgZ2V0IGlzVmVydGljYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudG9vbGJhclByb3BlcnRlcz8uZGlyZWN0aW9uID09PSBUb29sYmFyRGlyZWN0aW9uLlZFUlRJQ0FMO1xuICB9XG4gIGdldCBpc0hvcml6b250YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudG9vbGJhclByb3BlcnRlcz8uZGlyZWN0aW9uID09PSBUb29sYmFyRGlyZWN0aW9uLkhPUklaT05UQUw7XG4gIH1cblxuICBnZXQgaXNBbGlnbmVkU3RhcnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudG9vbGJhclByb3BlcnRlcz8uYWxpZ25tZW50ID09PSBUb29sYmFyQWxpZ25tZW50LlNUQVJUO1xuICB9XG5cbiAgZ2V0IGlzQWxpZ25lZEVuZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50b29sYmFyUHJvcGVydGVzPy5hbGlnbm1lbnQgPT09IFRvb2xiYXJBbGlnbm1lbnQuRU5EO1xuICB9XG5cbiAgZ2V0IHRyaWdnZXJUeXBlKCkge1xuICAgIHJldHVybiBNZW51VHJpZ2dlclR5cGU7XG4gIH1cbn1cbiIsIkBpZiAoaXNTY3JvbGxhYmxlICYmIHNjcm9sbE9uV3JhcCkge1xuICA8dWktYWN0aW9uLWJ1dHRvblxuICAgIFtkaXNhYmxlZF09XCIhaXNTY3JvbGxhYmxlXCJcbiAgICBbZGVzY3JpcHRvcl09XCJidXR0b25MZWZ0XCJcbiAgICAoYWN0aW9uQ2xpY2spPVwic2Nyb2xsTGVmdCgpXCJcbiAgICAobW91c2Vkb3duKT1cInNjcm9sbFN0YXJ0KCdsZWZ0JylcIlxuICAgIChtb3VzZXVwKT1cInN0b3BTY3JvbGwoKVwiXG4gICAgKG1vdXNlbGVhdmUpPVwic3RvcFNjcm9sbCgpXCJcbiAgICAodG91Y2hzdGFydCk9XCJzY3JvbGxTdGFydCgnbGVmdCcpXCJcbiAgICAodG91Y2hlbmQpPVwic3RvcFNjcm9sbCgpXCJcbiAgLz5cbn1cblxuPGRpdlxuICAjY29udGFpbmVyXG4gIGNsYXNzPVwidWlBY3Rpb25CdXR0b25zQ29udGFpbmVyXCJcbiAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICBzY3JvbGxhYmxlQ29udGVudDogc2Nyb2xsT25XcmFwLFxuICAgIHZlcnRpY2FsVG9vbGJhcjogaXNWZXJ0aWNhbCxcbiAgICBob3Jpem9udGFsVG9vbGJhcjogaXNIb3Jpem9udGFsLFxuICAgIGFsaWduZWRTdGFydDogaXNBbGlnbmVkU3RhcnQsXG4gICAgYWxpZ25lZEVuZDogaXNBbGlnbmVkRW5kLFxuICB9XCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdWlBY3Rpb25Nb2RlbCBvZiB1aUFjdGlvbk1vZGVsc1dpdGhEZXNjcmlwdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgIEBpZiAodWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5jb2RlID09PSAndGhlbWVTZWxlY3RvcicpIHtcbiAgICAgIDx0aGVtZS1zZWxlY3RvciBbbW9kZWxdPVwidWlBY3Rpb25Nb2RlbFwiPjwvdGhlbWUtc2VsZWN0b3I+XG4gICAgfSBAZWxzZSBpZiAodWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5zdWJBY3Rpb25zICYmIHVpQWN0aW9uTW9kZWwudWlBY3Rpb24uc3ViQWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwibWVudVR5cGVzOyBjb250ZXh0OiB7IHVpQWN0aW9uTW9kZWw6IHVpQWN0aW9uTW9kZWwgfVwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8dWktYWN0aW9uLWJ1dHRvblxuICAgICAgICAobW91c2VlbnRlcik9XCJvbkhvdmVyKClcIlxuICAgICAgICBbZGVzY3JpcHRvcl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3IhXCJcbiAgICAgICAgW2NvZGVdPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5jb2RlXCJcbiAgICAgICAgW2lkZW50aWZpZXJdPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5pZGVudGlmaWVyXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiEhdWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgIFthZGRlZENzc0NsYXNzXT1cInVpQWN0aW9uTW9kZWwuY3NzQ2xhc3NcIlxuICAgICAgICBbdmlld0FjdGl2YXRlZF09XCJ1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLnZpZXdBY3RpdmF0ZWRcIlxuICAgICAgICAoYWN0aW9uQ2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxuICAgICAgICAoYWN0aW9uRG91YmxlQ2xpY2spPVwib25BY3Rpb25Eb3VibGVDbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxuICAgICAgPlxuICAgICAgPC91aS1hY3Rpb24tYnV0dG9uPlxuICAgIH1cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuQGlmIChpc1Njcm9sbGFibGUgJiYgc2Nyb2xsT25XcmFwKSB7XG4gIDx1aS1hY3Rpb24tYnV0dG9uXG4gICAgW2Rpc2FibGVkXT1cIiFpc1Njcm9sbGFibGVcIlxuICAgIFtkZXNjcmlwdG9yXT1cImJ1dHRvblJpZ2h0XCJcbiAgICAoYWN0aW9uQ2xpY2spPVwic2Nyb2xsUmlnaHQoKVwiXG4gICAgKG1vdXNlZG93bik9XCJzY3JvbGxTdGFydCgncmlnaHQnKVwiXG4gICAgKG1vdXNldXApPVwic3RvcFNjcm9sbCgpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJzdG9wU2Nyb2xsKClcIlxuICAgICh0b3VjaHN0YXJ0KT1cInNjcm9sbFN0YXJ0KCdyaWdodCcpXCJcbiAgICAodG91Y2hlbmQpPVwic3RvcFNjcm9sbCgpXCJcbiAgLz5cbn1cblxuPG5nLXRlbXBsYXRlICNtZW51VHlwZXMgbGV0LXVpQWN0aW9uTW9kZWw9XCJ1aUFjdGlvbk1vZGVsXCI+XG4gIEBzd2l0Y2ggKHVpQWN0aW9uTW9kZWw/LnVpQWN0aW9uPy5kZXNjcmlwdG9yPy5tZW51Py50cmlnZ2VyVHlwZSkge1xuICAgIEBjYXNlICh0cmlnZ2VyVHlwZS5IT1ZFUikge1xuICAgICAgPHVpLWhvdmVyLW1lbnVcbiAgICAgICAgI21lbnVcbiAgICAgICAgW3Rvb2xiYXJJZF09XCJpZFwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9uSG92ZXIoKVwiXG4gICAgICAgIFt0cmlnZ2VyQWN0aW9uXT1cInVpQWN0aW9uTW9kZWwudWlBY3Rpb25cIlxuICAgICAgICBbc3ViQWN0aW9uc109XCJ1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLnN1YkFjdGlvbnMhXCJcbiAgICAgICAgKGFjdGlvbkNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tlZCgkZXZlbnQsIHVpQWN0aW9uTW9kZWwpXCJcbiAgICAgID48L3VpLWhvdmVyLW1lbnU+XG4gICAgfVxuICAgIEBjYXNlICh0cmlnZ2VyVHlwZS5DTElDSykge1xuICAgICAgPHVpLXRpZXJlZC1tZW51XG4gICAgICAgICNtZW51XG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9uSG92ZXIoKVwiXG4gICAgICAgIFt0cmlnZ2VyQWN0aW9uXT1cInVpQWN0aW9uTW9kZWwudWlBY3Rpb25cIlxuICAgICAgICBbc3ViQWN0aW9uc109XCJ1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLnN1YkFjdGlvbnMhXCJcbiAgICAgICAgKGFjdGlvbkNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tlZCgkZXZlbnQsIHVpQWN0aW9uTW9kZWwpXCJcbiAgICAgID48L3VpLXRpZXJlZC1tZW51PlxuICAgIH1cbiAgICBAZGVmYXVsdCB7XG4gICAgICA8dWktdGllcmVkLW1lbnVcbiAgICAgICAgI21lbnVcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwib25Ib3ZlcigpXCJcbiAgICAgICAgW3RyaWdnZXJBY3Rpb25dPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvblwiXG4gICAgICAgIFtzdWJBY3Rpb25zXT1cInVpQWN0aW9uTW9kZWwudWlBY3Rpb24uc3ViQWN0aW9ucyFcIlxuICAgICAgICAoYWN0aW9uQ2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxuICAgICAgPjwvdWktdGllcmVkLW1lbnU+XG4gICAgfVxuICB9XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
349
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFFTixLQUFLLEVBS0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUNMLFlBQVksRUFDWixlQUFlLEdBR2hCLE1BQU0sUUFBUSxDQUFDO0FBQ2hCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xGLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBRWpCLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7QUFRMUMsTUFBTSxPQUFPLHdCQUF3QjtJQThCbkMsWUFDVSxPQUF3QixFQUN4QixNQUFnQixFQUNoQixXQUEwQixFQUMzQixjQUFpQyxFQUNOLE9BQXlCO1FBSm5ELFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVU7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ04sWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFoQ3JELGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVqRCxxQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLGtDQUFrQztRQUV2RSx3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUFLM0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFRdkMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFJdEIsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFDeEIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsb0JBQWUsR0FBVyxHQUFHLENBQUM7UUFFOUIsY0FBUyxHQUFHLElBQUksR0FBRyxFQUF3QixDQUFDO1FBK1RwRCxlQUFVLEdBQXVCO1lBQy9CLEtBQUssRUFBRSxFQUFFO1lBQ1QsS0FBSyxFQUFFLFNBQVM7WUFDaEIsSUFBSSxFQUFFLGtCQUFrQixDQUFDLE1BQU07WUFDL0IsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLEtBQUssZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFlBQVk7WUFDL0UsWUFBWSxFQUFFLFlBQVksQ0FBQyxHQUFHO1NBQy9CLENBQUM7UUFFRixnQkFBVyxHQUF1QjtZQUNoQyxLQUFLLEVBQUUsRUFBRTtZQUNULEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO1lBQy9CLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlO1lBQ25GLFlBQVksRUFBRSxZQUFZLENBQUMsR0FBRztTQUMvQixDQUFDO1FBcFVBLHdFQUF3RTtRQUN4RSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsUUFBUTtRQUNOLGtGQUFrRjtRQUNsRixJQUFJLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDO1lBQzlDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQ25DLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUM7UUFDaEUsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUU4QixRQUFRO1FBQ3JDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBSSxjQUFjLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsWUFBWSxDQUFDO1lBQzVELElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO2dCQUVyQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8seUJBQXlCO1FBQy9CLElBQUksQ0FBQywyQkFBMkIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUVoRCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlO2FBQzVELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQy9CLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNULElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksOEJBQThCLEdBQUcsRUFBRSxDQUFDO1lBQ3hDLEtBQUssTUFBTSxhQUFhLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNoRCxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDO2dCQUV4QyxvRUFBb0U7Z0JBQ3BFLElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2hDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDMUYsOEJBQThCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyw4QkFBOEIsR0FBRyw4QkFBOEIsQ0FBQztZQUVyRSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7WUFFcEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQXVCO1FBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGVBQWUsQ0FBQyxjQUErQjtRQUM3QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQTRCLEVBQUUsRUFBRTtZQUN0RCxJQUFJLFFBQVEsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDO1lBRXRDLElBQ0UsQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDZCxRQUFRLENBQUMsUUFBUTtnQkFDakIsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLGVBQWU7Z0JBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUMzQixDQUFDO2dCQUNELE9BQU87WUFDVCxDQUFDO1lBRUQsSUFBSSxZQUFZLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQzVELElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7aUJBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUMvQixTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksc0JBQXNCLEdBQWtCO29CQUMxQyxHQUFHLGFBQWE7b0JBQ2hCLFFBQVEsRUFBRTt3QkFDUixHQUFHLGFBQWEsQ0FBQyxRQUFRO3dCQUN6QixNQUFNLEVBQUU7NEJBQ04sR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU07NEJBQ2hDLFNBQVMsRUFBRSxJQUFJO3lCQUNoQjtxQkFDRjtpQkFDRixDQUFDO2dCQUVGLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztZQUVMLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxDQUFnQjtRQUNyQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQztJQUNoQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUE0QjtRQUMzQyxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLE9BQU8sR0FBRztZQUNaLE1BQU0sRUFBRSxhQUFhLENBQUMsTUFBTTtZQUM1QixRQUFRLEVBQUUsYUFBYSxDQUFDLFFBQVE7U0FDakMsQ0FBQztRQUVGLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBVSxFQUFFLGFBQTRCO1FBQzVELDJCQUEyQjtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRWpDLElBQUksYUFBYSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUVqQyw4REFBOEQ7WUFDOUQsa0VBQWtFO1lBQ2xFLDZEQUE2RDtZQUM3RCxJQUFJLGVBQWUsR0FBa0I7Z0JBQ25DLEdBQUcsYUFBYTtnQkFDaEIsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRO2FBQ3RFLENBQUM7WUFFRixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFdkMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQVUsRUFBRSxhQUE0QjtRQUM1RCwyQkFBMkI7UUFDM0IsaUNBQWlDO0lBQ25DLENBQUM7SUFDRCxXQUFXLENBQUMsYUFBNEI7UUFDdEMsSUFBSSxhQUFhLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3BDLE9BQU8sV0FBVyxHQUFHLGFBQWEsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxPQUFPLENBQUMsYUFBNEI7UUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDcEMsNkVBQTZFO1FBQy9FLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDOUMsYUFBYTtZQUViLHlCQUF5QjtZQUN6Qjs7O1VBR0Y7WUFDRSxRQUFRLGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQ3ZDLEtBQUssa0JBQWtCLENBQUMsTUFBTTtvQkFDNUIsT0FBTzt3QkFDTCxlQUFlLEVBQUUsSUFBSTt3QkFDckIsa0JBQWtCLEVBQUUsSUFBSTtxQkFDekIsQ0FBQztnQkFDSixLQUFLLGtCQUFrQixDQUFDLElBQUk7b0JBQzFCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQy9ELEtBQUssa0JBQWtCLENBQUMsTUFBTTtvQkFDNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDL0QsS0FBSyxrQkFBa0IsQ0FBQyxPQUFPO29CQUM3QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUFDO2dCQUNqRSxLQUFLLGtCQUFrQixDQUFDLFFBQVE7b0JBQzlCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDdEY7b0JBQ0UsT0FBTzt3QkFDTCxlQUFlLEVBQUUsSUFBSTt3QkFDckIsaUJBQWlCLEVBQUUsSUFBSTt3QkFDdkIsa0JBQWtCLEVBQUUsSUFBSTt3QkFDeEIsbUJBQW1CLEVBQUUsSUFBSTtxQkFDMUIsQ0FBQztZQUNOLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLFFBQVEsYUFBYSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDdkMsS0FBSyxrQkFBa0IsQ0FBQyxNQUFNO29CQUM1QixPQUFPLGdCQUFnQixDQUFDO2dCQUMxQixLQUFLLGtCQUFrQixDQUFDLElBQUk7b0JBQzFCLE9BQU8scUJBQXFCLENBQUM7Z0JBQy9CLEtBQUssa0JBQWtCLENBQUMsTUFBTTtvQkFDNUIsT0FBTyx1QkFBdUIsQ0FBQztnQkFDakMsS0FBSyxrQkFBa0IsQ0FBQyxPQUFPO29CQUM3QixPQUFPLHdCQUF3QixDQUFDO2dCQUNsQyxLQUFLLGtCQUFrQixDQUFDLElBQUk7b0JBQzFCLE9BQU8scUJBQXFCLENBQUM7Z0JBQy9CLEtBQUssa0JBQWtCLENBQUMsUUFBUTtvQkFDOUIsT0FBTyxrQkFBa0IsQ0FBQztnQkFDNUIsS0FBSyxrQkFBa0IsQ0FBQyxHQUFHO29CQUN6QixPQUFPLGFBQWEsQ0FBQztnQkFDdkI7b0JBQ0UsdUZBQXVGO29CQUN2RixPQUFPLFlBQVksQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxhQUE0QjtRQUNyQyxPQUFPLENBQ0wsYUFBYSxDQUFDLFVBQVUsRUFBRSxJQUFJLEtBQUssa0JBQWtCLENBQUMsSUFBSTtZQUMxRCxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxRQUFRO1lBQzlELGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxLQUFLLGtCQUFrQixDQUFDLEdBQUcsQ0FDMUQsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBd0M7UUFDcEQsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBcUIsQ0FBQztRQUM5QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWM7UUFDNUIsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFjO1FBQ2hDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztRQUNwRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7UUFDdEUsQ0FBQztJQUNILENBQUM7SUFDRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQztJQUNwRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUM7SUFDcEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUEyQjtRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDbkMsTUFBTSxLQUFLLEdBQUcsU0FBUyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBRTFFLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtnQkFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQztZQUN0RCxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBa0JELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLFNBQVMsS0FBSyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7SUFDeEUsQ0FBQztJQUNELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFLFNBQVMsS0FBSyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLEtBQUssZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLEtBQUssZ0JBQWdCLENBQUMsR0FBRyxDQUFDO0lBQ25FLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDOytHQTVYVSx3QkFBd0IsdUlBbUN6QixpQkFBaUI7bUdBbkNoQix3QkFBd0IsMmFDdkNyQyxzMUdBOEZBOzs0RkR2RGEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHlCQUF5Qjs7MEJBdUNoQyxNQUFNOzJCQUFDLGlCQUFpQjt5Q0FsQ2dCLFlBQVk7c0JBQXRELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFRaEMsY0FBYztzQkFBdEIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQW1EeUIsUUFBUTtzQkFBdEMsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5qZWN0LFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgSWNvblBvc2l0aW9uLFxyXG4gIE1lbnVUcmlnZ2VyVHlwZSxcclxuICBVaUFjdGlvbkRlc2NyaXB0b3IsXHJcbiAgVWlBY3Rpb25Ub29sdGlwVG9vbHRpcFBvc2l0aW9uRW51bSxcclxufSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkJ1dHRvblR5cGUgfSBmcm9tICcuLi9hcGkvbW9kZWwvdWlBY3Rpb25CdXR0b25UeXBlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSB9IGZyb20gJy4vdWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uTW9kZWwgfSBmcm9tICcuL3VpLWFjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uU2VydmljZSB9IGZyb20gJy4vdWktYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDT01QT05FTlRfTElCUkFSWSwgQ29tcG9uZW50TGlicmFyeSB9IGZyb20gJy4uL3V0aWxpdHkvY29tcG9uZW50TGlicmFyeSc7XHJcbmltcG9ydCB7XHJcbiAgVG9vbGJhckFsaWdubWVudCxcclxuICBUb29sYmFyRGlyZWN0aW9uLFxyXG4gIFRvb2xiYXJQcm9wZXJ0aWVzLFxyXG59IGZyb20gJy4uLy4uL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQvYXBpJztcclxuaW1wb3J0IHsgVWlNZW51U2VydmljZSB9IGZyb20gJy4vY29tcG9uZW50cy9tZW51L21lbnUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NtYXJ0LXVpLWFjdGlvbi10b29sYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWYhOiBFbGVtZW50UmVmO1xyXG5cclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGNvbXBvbmVudExpYnJhcnkgPSBDb21wb25lbnRMaWJyYXJ5OyAvLyBFeHBvc2UgdGhlIGVudW0gdG8gdGhlIHRlbXBsYXRlXHJcblxyXG4gIHByZXNzZWRCdXR0b25BY3RpdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSB1aUFjdGlvbk1vZGVscz86IFVpQWN0aW9uTW9kZWxbXTtcclxuICBASW5wdXQoKSB1aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlPzogVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZTtcclxuICBASW5wdXQoKSBpZD86IHN0cmluZztcclxuICBASW5wdXQoKSBzY3JvbGxPbldyYXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB0b29sYmFyUHJvcGVydGVzPzogVG9vbGJhclByb3BlcnRpZXM7XHJcblxyXG4gIHVpQWN0aW9uTW9kZWxzV2l0aERlc2NyaXB0aW9ucz86IFVpQWN0aW9uTW9kZWxbXTtcclxuXHJcbiAgcHJpdmF0ZSBtYW5hZ2VyITogVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZTtcclxuICBwcml2YXRlIGxhbmd1YWdlQ2hhbmdlZFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgaXNTY3JvbGxhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgc2Nyb2xsSW50ZXJ2YWw6IGFueTtcclxuICBwcml2YXRlIHNjcm9sbFRpbWVvdXQ6IGFueTtcclxuICBwcml2YXRlIHNjcm9sbFNwZWVkOiBudW1iZXIgPSA1O1xyXG4gIHByaXZhdGUgc2Nyb2xsRGVsYXk6IG51bWJlciA9IDE2O1xyXG4gIHByaXZhdGUgc2Nyb2xsSG9sZERlbGF5OiBudW1iZXIgPSAxMDA7XHJcblxyXG4gIHByaXZhdGUgc2NoZWR1bGVzID0gbmV3IE1hcDxzdHJpbmcsIFN1YnNjcmlwdGlvbj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFVpQWN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgaW5qZWN0OiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IFVpTWVudVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQEluamVjdChDT01QT05FTlRfTElCUkFSWSkgcHVibGljIGNvbXBMaWI6IENvbXBvbmVudExpYnJhcnlcclxuICApIHtcclxuICAgIC8vIEluamVjdHMgdGhlIGJhc2ljIFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UgcHJvdmlkZWQgYnkgdGhlIEFwcE1vZHVsZVxyXG4gICAgdGhpcy5tYW5hZ2VyID0gaW5qZWN0LmdldChVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmliZVRvTGFuZ3VhZ2VDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gT3ZlcnJpZGVzIHRoZSBiYXNpYyBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlIHdpdGggYSBjdXN0b20gb25lIGlmIHRoZXJlIGlzIG9uZVxyXG4gICAgaWYgKHRoaXMudWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSkge1xyXG4gICAgICB0aGlzLm1hbmFnZXIgPSB0aGlzLnVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2U7XHJcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9MYW5ndWFnZUNoYW5nZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudG9vbGJhclByb3BlcnRlcykge1xyXG4gICAgICB0aGlzLnNjcm9sbE9uV3JhcCA9IHRoaXMudG9vbGJhclByb3BlcnRlcy5zY3JvbGxhYmxlID8/IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2V0VXAoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnNjcm9sbE9uV3JhcCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNoZWNrU2Nyb2xsYWJsZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKSBvblJlc2l6ZSgpIHtcclxuICAgIGlmICh0aGlzLnNjcm9sbE9uV3JhcCkge1xyXG4gICAgICB0aGlzLmNoZWNrU2Nyb2xsYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3VpQWN0aW9uTW9kZWxzJ10pIHtcclxuICAgICAgbGV0IHVpQWN0aW9uTW9kZWxzID0gY2hhbmdlc1sndWlBY3Rpb25Nb2RlbHMnXS5jdXJyZW50VmFsdWU7XHJcbiAgICAgIGlmICh1aUFjdGlvbk1vZGVscykge1xyXG4gICAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbHMgPSB1aUFjdGlvbk1vZGVscztcclxuXHJcbiAgICAgICAgdGhpcy5zZXRVcCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xlYXJTY2hlZHVsZSgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9MYW5ndWFnZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMubGFuZ3VhZ2VDaGFuZ2VkU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMubGFuZ3VhZ2VDaGFuZ2VkU3Vic2NyaXB0aW9uID0gdGhpcy5tYW5hZ2VyLmxhbmd1YWdlQ2hhbmdlZFxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNldFVwKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2V0VXAoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy51aUFjdGlvbk1vZGVscykge1xyXG4gICAgICBsZXQgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zID0gW107XHJcbiAgICAgIGZvciAoY29uc3QgdWlBY3Rpb25Nb2RlbCBvZiB0aGlzLnVpQWN0aW9uTW9kZWxzKSB7XHJcbiAgICAgICAgY29uc3QgdWlBY3Rpb24gPSB1aUFjdGlvbk1vZGVsLnVpQWN0aW9uO1xyXG5cclxuICAgICAgICAvLyB1c2luZyBlcXVhbGl0eSBpcyBhIG11c3QgaGVyZSwgdW5kZWZpbmVkIGFuZCBudWxsIHNob3VsZCBiZSBlcXVhbFxyXG4gICAgICAgIGlmICh0aGlzLmlkID09IHVpQWN0aW9uLnRvb2xiYXIpIHtcclxuICAgICAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvciA9IGF3YWl0IHRoaXMubWFuYWdlci5nZXRBY3Rpb25EZXNjcmlwdG9yKHVpQWN0aW9uTW9kZWwudWlBY3Rpb24pO1xyXG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zLnB1c2godWlBY3Rpb25Nb2RlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2NoZWR1bGVBY3Rpb25zKHRoaXMudWlBY3Rpb25Nb2RlbHMpO1xyXG4gICAgICB0aGlzLnVpQWN0aW9uTW9kZWxzV2l0aERlc2NyaXB0aW9ucyA9IHVpQWN0aW9uTW9kZWxzV2l0aERlc2NyaXB0aW9ucztcclxuXHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoZWNrU2Nyb2xsYWJsZSgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEFjdGlvbk1vZGVscyhtb2RlbHM6IFVpQWN0aW9uTW9kZWxbXSk6IHZvaWQge1xyXG4gICAgdGhpcy51aUFjdGlvbk1vZGVscyA9IG1vZGVscztcclxuICAgIHRoaXMuc2V0VXAoKTtcclxuICB9XHJcblxyXG4gIGNsZWFyU2NoZWR1bGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNjaGVkdWxlcy5mb3JFYWNoKChzdWIpID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcclxuICAgIHRoaXMuc2NoZWR1bGVzLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICBzY2hlZHVsZUFjdGlvbnModWlBY3Rpb25Nb2RlbHM6IFVpQWN0aW9uTW9kZWxbXSkge1xyXG4gICAgdGhpcy5jbGVhclNjaGVkdWxlKCk7XHJcblxyXG4gICAgdWlBY3Rpb25Nb2RlbHMuZm9yRWFjaCgodWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCkgPT4ge1xyXG4gICAgICB2YXIgdWlBY3Rpb24gPSB1aUFjdGlvbk1vZGVsLnVpQWN0aW9uO1xyXG5cclxuICAgICAgaWYgKFxyXG4gICAgICAgICF1aUFjdGlvbi5jb2RlIHx8XHJcbiAgICAgICAgdWlBY3Rpb24uZGlzYWJsZWQgfHxcclxuICAgICAgICAhdWlBY3Rpb24uc2NoZWR1bGU/LmludGVydmFsU2Vjb25kcyB8fFxyXG4gICAgICAgIHRoaXMuc2NoZWR1bGVzLmhhcyh1aUFjdGlvbi5jb2RlKSB8fFxyXG4gICAgICAgIHVpQWN0aW9uLnN1YkFjdGlvbnM/Lmxlbmd0aFxyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHZhciBpbnRlcnZhbEluTXMgPSB1aUFjdGlvbi5zY2hlZHVsZS5pbnRlcnZhbFNlY29uZHMgKiAxMDAwO1xyXG4gICAgICB2YXIgc3ViID0gaW50ZXJ2YWwoaW50ZXJ2YWxJbk1zKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB2YXIgc2NoZWR1bGVkVWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCA9IHtcclxuICAgICAgICAgICAgLi4udWlBY3Rpb25Nb2RlbCxcclxuICAgICAgICAgICAgdWlBY3Rpb246IHtcclxuICAgICAgICAgICAgICAuLi51aUFjdGlvbk1vZGVsLnVpQWN0aW9uLFxyXG4gICAgICAgICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgICAgICAgLi4udWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5wYXJhbXMsXHJcbiAgICAgICAgICAgICAgICBzY2hlZHVsZWQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgdGhpcy5maXJlQWN0aW9uKHNjaGVkdWxlZFVpQWN0aW9uTW9kZWwpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zY2hlZHVsZXMuc2V0KHVpQWN0aW9uLmNvZGUsIHN1Yik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlGbihpZHg6IG51bWJlciwgbTogVWlBY3Rpb25Nb2RlbCk6IHN0cmluZyB8IG51bWJlciB7XHJcbiAgICByZXR1cm4gbS51aUFjdGlvbi5jb2RlID8/IGlkeDtcclxuICB9XHJcblxyXG4gIGFzeW5jIGZpcmVBY3Rpb24odWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHVpQWN0aW9uTW9kZWwudWlBY3Rpb24uZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBvcHRpb25zID0ge1xyXG4gICAgICBub2RlSWQ6IHVpQWN0aW9uTW9kZWwubm9kZUlkLFxyXG4gICAgICB3aWRnZXRJZDogdWlBY3Rpb25Nb2RlbC53aWRnZXRJZCxcclxuICAgIH07XHJcblxyXG4gICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmV4ZWN1dGUodWlBY3Rpb25Nb2RlbC51aUFjdGlvbiwgdWlBY3Rpb25Nb2RlbCwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBvbkFjdGlvbkNsaWNrZWQoZXZlbnQ6IGFueSwgdWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlQWxsTWVudXMoKTtcclxuXHJcbiAgICBpZiAodWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucHJlc3NlZEJ1dHRvbkFjdGl2ZSkge1xyXG4gICAgICB0aGlzLnByZXNzZWRCdXR0b25BY3RpdmUgPSBmYWxzZTtcclxuXHJcbiAgICAgIC8vIHVpLXRpZXJlZC1tZW51IGVtaXRzIGEgZnVsbCBVaUFjdGlvbiAobm8gJ2V2ZW50JyBwcm9wZXJ0eSksXHJcbiAgICAgIC8vIHVpLWFjdGlvbi1idXR0b24gZW1pdHMgeyBldmVudDogTW91c2VFdmVudCwgY29kZSwgZGVzY3JpcHRvciB9LlxyXG4gICAgICAvLyBVc2UgdGhlIGVtaXR0ZWQgVWlBY3Rpb24gb25seSBmb3IgdGllcmVkLW1lbnUgc3ViLWFjdGlvbnMuXHJcbiAgICAgIGxldCBhY3Rpb25Ub0V4ZWN1dGU6IFVpQWN0aW9uTW9kZWwgPSB7XHJcbiAgICAgICAgLi4udWlBY3Rpb25Nb2RlbCxcclxuICAgICAgICB1aUFjdGlvbjogIWV2ZW50LmV2ZW50ICYmIGV2ZW50LmNvZGUgPyBldmVudCA6IHVpQWN0aW9uTW9kZWwudWlBY3Rpb24sXHJcbiAgICAgIH07XHJcblxyXG4gICAgICBhd2FpdCB0aGlzLmZpcmVBY3Rpb24oYWN0aW9uVG9FeGVjdXRlKTtcclxuXHJcbiAgICAgIHRoaXMucHJlc3NlZEJ1dHRvbkFjdGl2ZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkFjdGlvbkRvdWJsZUNsaWNrZWQoZXZlbnQ6IGFueSwgdWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCk6IHZvaWQge1xyXG4gICAgLy8gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAvLyBXZSBkbyBub3QgaGFuZGxlIGRvdWJsZSBjbGlja3NcclxuICB9XHJcbiAgZ2V0YnRuQ2xhc3ModWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCk6IHN0cmluZyB7XHJcbiAgICBpZiAodWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5jb2xvcikge1xyXG4gICAgICByZXR1cm4gJ3AtYnV0dG9uLScgKyB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LmNvbG9yO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuICBnZXRUeXBlKHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBhbnkge1xyXG4gICAgaWYgKCF1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUpIHtcclxuICAgICAgLy8gY29uc29sZS5sb2coYEFjdGlvbiBidXR0b24gdHlwZSB1bnNldDogJHt1aUFjdGlvbk1vZGVsPy51aUFjdGlvbj8uY29kZX1gKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmNvbXBMaWIgPT09IENvbXBvbmVudExpYnJhcnkuUFJJTUVORykge1xyXG4gICAgICAvLyByZXR1cm4gJyc7XHJcblxyXG4gICAgICAvLyAncC1idXR0b24tdGV4dCc6IHRydWUsXHJcbiAgICAgIC8qICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICdwLWJ1dHRvbi1vdXRsaW5lZCc6IHRydWUsXHJcbiAgKi9cclxuICAgICAgc3dpdGNoICh1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUpIHtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5OT1JNQUw6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkxBVDpcclxuICAgICAgICAgIHJldHVybiB7ICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLCAncC1idXR0b24tcm91bmRlZCc6IHRydWUgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5SQUlTRUQ6XHJcbiAgICAgICAgICByZXR1cm4geyAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSwgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuU1RST0tFRDpcclxuICAgICAgICAgIHJldHVybiB7ICdwLWJ1dHRvbi1vdXRsaW5lZCc6IHRydWUsICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk1JTklfRkFCOlxyXG4gICAgICAgICAgcmV0dXJuIHsgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLCAncC1idXR0b24tdGV4dCc6IHRydWUsICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlIH07XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLW91dGxpbmVkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN3aXRjaCAodWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlKSB7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWJ1dHRvbic7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkxBVDpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1mbGF0LWJ1dHRvbic7XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VEOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLXJhaXNlZC1idXR0b24nO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlNUUk9LRUQ6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtc3Ryb2tlZC1idXR0b24nO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLklDT046XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtaWNvbi1idXR0b24nO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk1JTklfRkFCOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLW1pbmktZmFiJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GQUI6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtZmFiJztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgLy8gY29uc29sZS5sb2coYFVuaGFuZGxlZCBhY3Rpb24gYnV0dG9uIHR5cGUgY2FzZTogJHt1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGV9YCk7XHJcbiAgICAgICAgICByZXR1cm4gYG1hdC1idXR0b25gO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpY29uUG9zaXRpb24oKTogdHlwZW9mIEljb25Qb3NpdGlvbiB7XHJcbiAgICByZXR1cm4gSWNvblBvc2l0aW9uO1xyXG4gIH1cclxuXHJcbiAgaXNPbmx5SWNvbih1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OIHx8XHJcbiAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udHlwZSA9PT0gVWlBY3Rpb25CdXR0b25UeXBlLk1JTklfRkFCIHx8XHJcbiAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udHlwZSA9PT0gVWlBY3Rpb25CdXR0b25UeXBlLkZBQlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRvb2x0aXBQb3MocG9zPzogVWlBY3Rpb25Ub29sdGlwVG9vbHRpcFBvc2l0aW9uRW51bSk6IFRvb2x0aXBQb3NpdGlvbiB7XHJcbiAgICBpZiAocG9zKSB7XHJcbiAgICAgIHJldHVybiBwb3MudG9Mb3dlckNhc2UoKSBhcyBUb29sdGlwUG9zaXRpb247XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ2JlZm9yZSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRUb29sdGlwRGVsYXkoZGVsYXk/OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIGRlbGF5ID8gZGVsYXkgOiAxMDAwO1xyXG4gIH1cclxuXHJcbiAgZ2V0VG9vbHRpcEhpZGVEZWxheShkZWxheT86IG51bWJlcik6IG51bWJlciB7XHJcbiAgICByZXR1cm4gZGVsYXkgPyBkZWxheSA6IDIwMDA7XHJcbiAgfVxyXG5cclxuICBjaGVja1Njcm9sbGFibGUoKSB7XHJcbiAgICBpZiAoIXRoaXMuc2Nyb2xsT25XcmFwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzY3JvbGxhYmxlID0gdGhpcy5jb250YWluZXJSZWY/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBpZiAoc2Nyb2xsYWJsZSkge1xyXG4gICAgICB0aGlzLmlzU2Nyb2xsYWJsZSA9IHNjcm9sbGFibGUuc2Nyb2xsV2lkdGggPiBzY3JvbGxhYmxlLmNsaWVudFdpZHRoO1xyXG4gICAgfVxyXG4gIH1cclxuICBzY3JvbGxMZWZ0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0IC09IDEwMDtcclxuICB9XHJcblxyXG4gIHNjcm9sbFJpZ2h0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICs9IDEwMDtcclxuICB9XHJcblxyXG4gIHNjcm9sbFN0YXJ0KGRpcmVjdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0Jyk6IHZvaWQge1xyXG4gICAgdGhpcy5zY3JvbGxUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGRlbHRhID0gZGlyZWN0aW9uID09PSAnbGVmdCcgPyAtdGhpcy5zY3JvbGxTcGVlZCA6IHRoaXMuc2Nyb2xsU3BlZWQ7XHJcblxyXG4gICAgICB0aGlzLnNjcm9sbEludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArPSBkZWx0YTtcclxuICAgICAgfSwgdGhpcy5zY3JvbGxEZWxheSk7XHJcbiAgICB9LCB0aGlzLnNjcm9sbEhvbGREZWxheSk7XHJcbiAgfVxyXG5cclxuICBzdG9wU2Nyb2xsKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2Nyb2xsVGltZW91dCkge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5zY3JvbGxUaW1lb3V0KTtcclxuICAgICAgdGhpcy5zY3JvbGxUaW1lb3V0ID0gbnVsbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNjcm9sbEludGVydmFsKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5zY3JvbGxJbnRlcnZhbCk7XHJcbiAgICAgIHRoaXMuc2Nyb2xsSW50ZXJ2YWwgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Ib3ZlcigpOiB2b2lkIHtcclxuICAgIHRoaXMubWVudVNlcnZpY2UuY2xvc2VNZW51c0ZvclRvb2xiYXIodGhpcy5pZCA/PyAnJyk7XHJcbiAgfVxyXG5cclxuICBidXR0b25MZWZ0OiBVaUFjdGlvbkRlc2NyaXB0b3IgPSB7XHJcbiAgICB0aXRsZTogJycsXHJcbiAgICBjb2xvcjogJ3ByaW1hcnknLFxyXG4gICAgdHlwZTogVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRCxcclxuICAgIGljb246IHRoaXMuY29tcExpYiA9PT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HID8gJ2NoZXZyb24tbGVmdCcgOiAnYXJyb3dfYmFjaycsXHJcbiAgICBpY29uUG9zaXRpb246IEljb25Qb3NpdGlvbi5QUkUsXHJcbiAgfTtcclxuXHJcbiAgYnV0dG9uUmlnaHQ6IFVpQWN0aW9uRGVzY3JpcHRvciA9IHtcclxuICAgIHRpdGxlOiAnJyxcclxuICAgIGNvbG9yOiAncHJpbWFyeScsXHJcbiAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VELFxyXG4gICAgaWNvbjogdGhpcy5jb21wTGliID09PSBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcgPyAnY2hldnJvbi1yaWdodCcgOiAnYXJyb3dfZm9yd2FyZCcsXHJcbiAgICBpY29uUG9zaXRpb246IEljb25Qb3NpdGlvbi5QUkUsXHJcbiAgfTtcclxuXHJcbiAgZ2V0IGlzVmVydGljYWwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50b29sYmFyUHJvcGVydGVzPy5kaXJlY3Rpb24gPT09IFRvb2xiYXJEaXJlY3Rpb24uVkVSVElDQUw7XHJcbiAgfVxyXG4gIGdldCBpc0hvcml6b250YWwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50b29sYmFyUHJvcGVydGVzPy5kaXJlY3Rpb24gPT09IFRvb2xiYXJEaXJlY3Rpb24uSE9SSVpPTlRBTDtcclxuICB9XHJcblxyXG4gIGdldCBpc0FsaWduZWRTdGFydCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRvb2xiYXJQcm9wZXJ0ZXM/LmFsaWdubWVudCA9PT0gVG9vbGJhckFsaWdubWVudC5TVEFSVDtcclxuICB9XHJcblxyXG4gIGdldCBpc0FsaWduZWRFbmQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50b29sYmFyUHJvcGVydGVzPy5hbGlnbm1lbnQgPT09IFRvb2xiYXJBbGlnbm1lbnQuRU5EO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRyaWdnZXJUeXBlKCkge1xyXG4gICAgcmV0dXJuIE1lbnVUcmlnZ2VyVHlwZTtcclxuICB9XHJcbn1cclxuIiwiQGlmIChpc1Njcm9sbGFibGUgJiYgc2Nyb2xsT25XcmFwKSB7XHJcbiAgPHVpLWFjdGlvbi1idXR0b25cclxuICAgIFtkaXNhYmxlZF09XCIhaXNTY3JvbGxhYmxlXCJcclxuICAgIFtkZXNjcmlwdG9yXT1cImJ1dHRvbkxlZnRcIlxyXG4gICAgKGFjdGlvbkNsaWNrKT1cInNjcm9sbExlZnQoKVwiXHJcbiAgICAobW91c2Vkb3duKT1cInNjcm9sbFN0YXJ0KCdsZWZ0JylcIlxyXG4gICAgKG1vdXNldXApPVwic3RvcFNjcm9sbCgpXCJcclxuICAgIChtb3VzZWxlYXZlKT1cInN0b3BTY3JvbGwoKVwiXHJcbiAgICAodG91Y2hzdGFydCk9XCJzY3JvbGxTdGFydCgnbGVmdCcpXCJcclxuICAgICh0b3VjaGVuZCk9XCJzdG9wU2Nyb2xsKClcIlxyXG4gIC8+XHJcbn1cclxuXHJcbjxkaXZcclxuICAjY29udGFpbmVyXHJcbiAgY2xhc3M9XCJ1aUFjdGlvbkJ1dHRvbnNDb250YWluZXJcIlxyXG4gIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gIFtuZ0NsYXNzXT1cIntcclxuICAgIHNjcm9sbGFibGVDb250ZW50OiBzY3JvbGxPbldyYXAsXHJcbiAgICB2ZXJ0aWNhbFRvb2xiYXI6IGlzVmVydGljYWwsXHJcbiAgICBob3Jpem9udGFsVG9vbGJhcjogaXNIb3Jpem9udGFsLFxyXG4gICAgYWxpZ25lZFN0YXJ0OiBpc0FsaWduZWRTdGFydCxcclxuICAgIGFsaWduZWRFbmQ6IGlzQWxpZ25lZEVuZCxcclxuICB9XCJcclxuPlxyXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHVpQWN0aW9uTW9kZWwgb2YgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cclxuICAgIEBpZiAodWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5jb2RlID09PSAndGhlbWVTZWxlY3RvcicpIHtcclxuICAgICAgPHRoZW1lLXNlbGVjdG9yIFttb2RlbF09XCJ1aUFjdGlvbk1vZGVsXCI+PC90aGVtZS1zZWxlY3Rvcj5cclxuICAgIH0gQGVsc2UgaWYgKHVpQWN0aW9uTW9kZWwudWlBY3Rpb24uc3ViQWN0aW9ucyAmJiB1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLnN1YkFjdGlvbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51VHlwZXM7IGNvbnRleHQ6IHsgdWlBY3Rpb25Nb2RlbDogdWlBY3Rpb25Nb2RlbCB9XCJcclxuICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIDx1aS1hY3Rpb24tYnV0dG9uXHJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwib25Ib3ZlcigpXCJcclxuICAgICAgICBbZGVzY3JpcHRvcl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3IhXCJcclxuICAgICAgICBbY29kZV09XCJ1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmNvZGVcIlxyXG4gICAgICAgIFtpZGVudGlmaWVyXT1cInVpQWN0aW9uTW9kZWwudWlBY3Rpb24uaWRlbnRpZmllclwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiEhdWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5kaXNhYmxlZFwiXHJcbiAgICAgICAgW2FkZGVkQ3NzQ2xhc3NdPVwidWlBY3Rpb25Nb2RlbC5jc3NDbGFzc1wiXHJcbiAgICAgICAgW3ZpZXdBY3RpdmF0ZWRdPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvbi52aWV3QWN0aXZhdGVkXCJcclxuICAgICAgICAoYWN0aW9uQ2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxyXG4gICAgICAgIChhY3Rpb25Eb3VibGVDbGljayk9XCJvbkFjdGlvbkRvdWJsZUNsaWNrZWQoJGV2ZW50LCB1aUFjdGlvbk1vZGVsKVwiXHJcbiAgICAgID5cclxuICAgICAgPC91aS1hY3Rpb24tYnV0dG9uPlxyXG4gICAgfVxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbkBpZiAoaXNTY3JvbGxhYmxlICYmIHNjcm9sbE9uV3JhcCkge1xyXG4gIDx1aS1hY3Rpb24tYnV0dG9uXHJcbiAgICBbZGlzYWJsZWRdPVwiIWlzU2Nyb2xsYWJsZVwiXHJcbiAgICBbZGVzY3JpcHRvcl09XCJidXR0b25SaWdodFwiXHJcbiAgICAoYWN0aW9uQ2xpY2spPVwic2Nyb2xsUmlnaHQoKVwiXHJcbiAgICAobW91c2Vkb3duKT1cInNjcm9sbFN0YXJ0KCdyaWdodCcpXCJcclxuICAgIChtb3VzZXVwKT1cInN0b3BTY3JvbGwoKVwiXHJcbiAgICAobW91c2VsZWF2ZSk9XCJzdG9wU2Nyb2xsKClcIlxyXG4gICAgKHRvdWNoc3RhcnQpPVwic2Nyb2xsU3RhcnQoJ3JpZ2h0JylcIlxyXG4gICAgKHRvdWNoZW5kKT1cInN0b3BTY3JvbGwoKVwiXHJcbiAgLz5cclxufVxyXG5cclxuPG5nLXRlbXBsYXRlICNtZW51VHlwZXMgbGV0LXVpQWN0aW9uTW9kZWw9XCJ1aUFjdGlvbk1vZGVsXCI+XHJcbiAgQHN3aXRjaCAodWlBY3Rpb25Nb2RlbD8udWlBY3Rpb24/LmRlc2NyaXB0b3I/Lm1lbnU/LnRyaWdnZXJUeXBlKSB7XHJcbiAgICBAY2FzZSAodHJpZ2dlclR5cGUuSE9WRVIpIHtcclxuICAgICAgPHVpLWhvdmVyLW1lbnVcclxuICAgICAgICAjbWVudVxyXG4gICAgICAgIFt0b29sYmFySWRdPVwiaWRcIlxyXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9uSG92ZXIoKVwiXHJcbiAgICAgICAgW3RyaWdnZXJBY3Rpb25dPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvblwiXHJcbiAgICAgICAgW3N1YkFjdGlvbnNdPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5zdWJBY3Rpb25zIVwiXHJcbiAgICAgICAgKGFjdGlvbkNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tlZCgkZXZlbnQsIHVpQWN0aW9uTW9kZWwpXCJcclxuICAgICAgPjwvdWktaG92ZXItbWVudT5cclxuICAgIH1cclxuICAgIEBjYXNlICh0cmlnZ2VyVHlwZS5DTElDSykge1xyXG4gICAgICA8dWktdGllcmVkLW1lbnVcclxuICAgICAgICAjbWVudVxyXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9uSG92ZXIoKVwiXHJcbiAgICAgICAgW3RyaWdnZXJBY3Rpb25dPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvblwiXHJcbiAgICAgICAgW3N1YkFjdGlvbnNdPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5zdWJBY3Rpb25zIVwiXHJcbiAgICAgICAgKGFjdGlvbkNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tlZCgkZXZlbnQsIHVpQWN0aW9uTW9kZWwpXCJcclxuICAgICAgPjwvdWktdGllcmVkLW1lbnU+XHJcbiAgICB9XHJcbiAgICBAZGVmYXVsdCB7XHJcbiAgICAgIDx1aS10aWVyZWQtbWVudVxyXG4gICAgICAgICNtZW51XHJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwib25Ib3ZlcigpXCJcclxuICAgICAgICBbdHJpZ2dlckFjdGlvbl09XCJ1aUFjdGlvbk1vZGVsLnVpQWN0aW9uXCJcclxuICAgICAgICBbc3ViQWN0aW9uc109XCJ1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLnN1YkFjdGlvbnMhXCJcclxuICAgICAgICAoYWN0aW9uQ2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxyXG4gICAgICA+PC91aS10aWVyZWQtbWVudT5cclxuICAgIH1cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -182,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
182
182
|
providedIn: 'root',
|
|
183
183
|
}]
|
|
184
184
|
}], ctorParameters: () => [{ type: i1.SmartViewContextService }] });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBRUwsWUFBWSxFQUNaLGtCQUFrQixFQUdsQixvQkFBb0IsR0FDckIsTUFBTSxRQUFRLENBQUM7OztBQU1oQixNQUFNLE9BQU8seUJBQXlCO0lBTXBDLFlBQW9CLFdBQW9DO1FBQXBDLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUxoRCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFakQsb0JBQWUsR0FBa0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xFLG9CQUFlLEdBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7UUErS2hGLDJCQUFzQixHQUFvQyxJQUFJLEdBQUcsQ0FBQztZQUN4RTtnQkFDRSxRQUFRO2dCQUNSO29CQUNFLEtBQUssRUFBRSxFQUFFO29CQUNULElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO29CQUMvQixLQUFLLEVBQUUsUUFBUTtvQkFDZixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsU0FBUyxFQUFFLGNBQWM7b0JBQ3pCLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSTtvQkFDL0IsTUFBTSxFQUFFO3dCQUNOLEtBQUss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LE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFNUQsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDOytHQWpMVSx5QkFBeUI7bUhBQXpCLHlCQUF5QixjQUZ4QixNQUFNOzs0RkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNtYXJ0U3ViamVjdCB9IGZyb20gJy4uLy4uL3NtYXJ0LXN1YmplY3QvcHJvamVjdHMnO1xuaW1wb3J0IHtcbiAgVWlBY3Rpb24sXG4gIEljb25Qb3NpdGlvbixcbiAgVWlBY3Rpb25CdXR0b25UeXBlLFxuICBVaUFjdGlvbkRlc2NyaXB0b3IsXG4gIFVpQWN0aW9uRGlhbG9nRGVzY3JpcHRvcixcbiAgVWlBY3Rpb25GZWVkYmFja1R5cGUsXG59IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0U2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXZpZXctY29udGV4dC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgbGFuZ3VhZ2VDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG4gIGtleXNUb1RyYW5zbGF0ZTogc3RyaW5nW10gPSBbJ3RpdGxlJywgJ3RleHQnLCAncGxhY2Vob2xkZXInLCAnY2FwdGlvbicsICdmZWVkYmFja1RleHQnXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250ZXh0OiBTbWFydFZpZXdDb250ZXh0U2VydmljZSkge1xuICAgIGlmICh0aGlzLnZpZXdDb250ZXh0LnRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9UcmFuc2xhdGVTZXJ2aWNlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlld0NvbnRleHQudHJhbnNsYXRlU2VydmljZUNoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvVHJhbnNsYXRlU2VydmljZSgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1RyYW5zbGF0ZVNlcnZpY2UoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3Q29udGV4dFxuICAgICAgLnRyYW5zbGF0ZVNlcnZpY2UhLm9uTGFuZ0NoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5sYW5ndWFnZUNoYW5nZWQubmV4dCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0QWN0aW9uRGVzY3JpcHRvcih1aUFjdGlvbjogVWlBY3Rpb24pOiBQcm9taXNlPFVpQWN0aW9uRGVzY3JpcHRvcj4ge1xuICAgIGxldCBjb2RlID0gdWlBY3Rpb24uY29kZSE7XG4gICAgbGV0IGlzVW5rb3duID0gZmFsc2U7XG5cbiAgICBsZXQgc2VydmVyOiBVaUFjdGlvbkRlc2NyaXB0b3IgfCB1bmRlZmluZWQgfCBudWxsID0gdWlBY3Rpb24uZGVzY3JpcHRvcjtcbiAgICBsZXQgY2xpZW50OiBVaUFjdGlvbkRlc2NyaXB0b3IgfCB1bmRlZmluZWQgfCBudWxsID0gbnVsbDtcblxuICAgIGxldCBhY3Rpb25EZXNjcmlwdG9yRnJvbURlc2NyaXB0b3JzID0gdGhpcy52aWV3Q29udGV4dC5nZXRBY3Rpb25EZXNjcmlwdG9ycygpPy5nZXQoY29kZSk7XG4gICAgaWYgKGFjdGlvbkRlc2NyaXB0b3JGcm9tRGVzY3JpcHRvcnMpIHtcbiAgICAgIGNsaWVudCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYWN0aW9uRGVzY3JpcHRvckZyb21EZXNjcmlwdG9ycykpO1xuICAgIH1cblxuICAgIGxldCBhY3Rpb25EZXNjcmlwdG9yOiBVaUFjdGlvbkRlc2NyaXB0b3IgfCB1bmRlZmluZWQgfCBudWxsO1xuICAgIGlmICghY2xpZW50KSB7XG4gICAgICAvLyBzZXJ2ZXIgb25seVxuICAgICAgYWN0aW9uRGVzY3JpcHRvciA9IHNlcnZlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY2xpZW50IGV4aXN0c1xuICAgICAgaWYgKHNlcnZlcikge1xuICAgICAgICAvLyBzZXJ2ZXIgJiBjbGllbnQgLT4gbWVyZ2UgaW50byBjbGllbnQgd2hhdCdzIGZpbGxlZCBmcm9tIHNlcnZlclxuICAgICAgICB0aGlzLm1lcmdlQWN0aW9uRGVzY3JpcHRvckludG9DbGllbnQoc2VydmVyLCBjbGllbnQpO1xuICAgICAgfVxuICAgICAgYWN0aW9uRGVzY3JpcHRvciA9IGNsaWVudDtcbiAgICB9XG5cbiAgICBpZiAoIWFjdGlvbkRlc2NyaXB0b3IpIHtcbiAgICAgIGlzVW5rb3duID0gdHJ1ZTtcbiAgICAgIGxldCB1bmtvd25BY3Rpb25EZXNjcmlwdG9yID0gdGhpcy5iYXNpY0FjdGlvbkRlc2NyaXB0b3JzLmdldCgnVU5LT1dOJyk7XG4gICAgICBhY3Rpb25EZXNjcmlwdG9yID0geyAuLi51bmtvd25BY3Rpb25EZXNjcmlwdG9yISB9O1xuICAgICAgYWN0aW9uRGVzY3JpcHRvciEudGl0bGUgPSBjb2RlO1xuICAgIH1cblxuICAgIGlmICghYWN0aW9uRGVzY3JpcHRvciEuZGlhbG9nKSB7XG4gICAgICBhY3Rpb25EZXNjcmlwdG9yID0gdGhpcy5zZXRVcFVua293bkRpYWxvZ0Rlc2NyaXB0b3IoY29kZSwgYWN0aW9uRGVzY3JpcHRvciEsICdkaWFsb2cnKTtcbiAgICB9XG5cbiAgICBpZiAoIWFjdGlvbkRlc2NyaXB0b3IhLmZlZWRiYWNrVHlwZSAmJiB1aUFjdGlvbi5zdWJtaXQpIHtcbiAgICAgIGFjdGlvbkRlc2NyaXB0b3IhLmZlZWRiYWNrVHlwZSA9IFVpQWN0aW9uRmVlZGJhY2tUeXBlLlNOQUNLQkFSO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZpZXdDb250ZXh0LnRyYW5zbGF0ZVNlcnZpY2UgJiYgIWlzVW5rb3duICYmICFzZXJ2ZXIpIHtcbiAgICAgIGFjdGlvbkRlc2NyaXB0b3IgPSBhd2FpdCB0aGlzLnRyYW5zbGF0ZVVpQWN0aW9uRGVzY3JpcHRvcihhY3Rpb25EZXNjcmlwdG9yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWN0aW9uRGVzY3JpcHRvciE7XG4gIH1cblxuICBwdWJsaWMgbWVyZ2VBY3Rpb25EZXNjcmlwdG9ySW50b0NsaWVudChcbiAgICBzZXJ2ZXI6IFVpQWN0aW9uRGVzY3JpcHRvcixcbiAgICBjbGllbnQ6IFVpQWN0aW9uRGVzY3JpcHRvclxuICApOiB2b2lkIHtcbiAgICBpZiAoc2VydmVyLnRpdGxlKSB7XG4gICAgICBjbGllbnQudGl0bGUgPSBzZXJ2ZXIudGl0bGU7XG4gICAgfVxuICAgIGlmIChzZXJ2ZXIuaWNvbikge1xuICAgICAgY2xpZW50Lmljb24gPSBzZXJ2ZXIuaWNvbjtcbiAgICB9XG4gICAgaWYgKHNlcnZlci5jb2xvcikge1xuICAgICAgY2xpZW50LmNvbG9yID0gc2VydmVyLmNvbG9yO1xuICAgIH1cbiAgICBpZiAoc2VydmVyLmNvbmZpcm1EaWFsb2cpIHtcbiAgICAgIGlmICghY2xpZW50LmNvbmZpcm1EaWFsb2cpIHtcbiAgICAgICAgY2xpZW50LmNvbmZpcm1EaWFsb2cgPSBzZXJ2ZXIuY29uZmlybURpYWxvZztcbiAgICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1lcmdlQWN0aW9uRGlhbG9nRGVzY3JpcHRvckludG9DbGllbnQoc2VydmVyLmNvbmZpcm1EaWFsb2csIGNsaWVudC5jb25maXJtRGlhbG9nKTtcbiAgICAgIH1cbiAgICAvLyAgY2xpZW50LmNvbmZpcm1EaWFsb2cgPSBzZXJ2ZXIuY29uZmlybURpYWxvZztcbiAgICB9XG4gICAgaWYgKHNlcnZlci5mZWVkYmFja1R5cGUpIHtcbiAgICAgIGNsaWVudC5mZWVkYmFja1R5cGUgPSBzZXJ2ZXIuZmVlZGJhY2tUeXBlO1xuICAgIH1cblxuICAgIGlmIChzZXJ2ZXIuZmVlZGJhY2tUZXh0KSB7XG4gICAgICBjbGllbnQuZmVlZGJhY2tUZXh0ID0gc2VydmVyLmZlZWRiYWNrVGV4dDtcbiAgICB9XG4gIH1cblxuICAvLyBUT0RPIHVzZSBwcm9wIG5hbWUgdG8gaGFuZGxlIGFsbCBkaWFsb2dzXG4gIC8vIHByaXZhdGUgbWVyZ2VBY3Rpb25EZXNjcmlwdG9yRGlhbG9nKFxuICAvLyAgIHNlcnZlcjogVWlBY3Rpb25EZXNjcmlwdG9yLFxuICAvLyAgIGNsaWVudDogVWlBY3Rpb25EZXNjcmlwdG9yLFxuICAvLyAgIHByb3A6IHN0cmluZ1xuICAvLyApOiB2b2lkIHtcbiAgLy8gICAvL2xldCBzZXJ2ZXJEaWFsb2c6IFVpQWN0aW9uRGlhbG9nRGVzY3JpcHRvciA9IHNlcnZlcltwcm9wXSBhcyBVaUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3I7XG4gIC8vICAgaWYgKHNlcnZlci5jb25maXJtRGlhbG9nKSB7XG4gIC8vICAgICBpZiAoIWNsaWVudC5jb25maXJtRGlhbG9nKSB7XG4gIC8vICAgICAgIGNsaWVudC5jb25maXJtRGlhbG9nID0gc2VydmVyLmNvbmZpcm1EaWFsb2c7XG4gIC8vICAgICB9XG4gIC8vICAgICB0aGlzLm1lcmdlQWN0aW9uRGlhbG9nRGVzY3JpcHRvckludG9DbGllbnQoc2VydmVyLmNvbmZpcm1EaWFsb2csIGNsaWVudC5jb25maXJtRGlhbG9nKTtcbiAgLy8gICAgIGNsaWVudC5jb25maXJtRGlhbG9nID0gc2VydmVyLmNvbmZpcm1EaWFsb2c7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgcHJpdmF0ZSBtZXJnZUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3JJbnRvQ2xpZW50KFxuICAgIHNlcnZlckRpYWxvZzogVWlBY3Rpb25EaWFsb2dEZXNjcmlwdG9yLFxuICAgIGNsaWVudERpYWxvZzogVWlBY3Rpb25EaWFsb2dEZXNjcmlwdG9yXG4gICk6IHZvaWQge1xuICAgIGlmIChzZXJ2ZXJEaWFsb2cudGl0bGUpIHtcbiAgICAgIGNsaWVudERpYWxvZy50aXRsZSA9IHNlcnZlckRpYWxvZy50aXRsZTtcbiAgICB9XG4gICAgaWYgKHNlcnZlckRpYWxvZy5wbGFjZWhvbGRlcikge1xuICAgICAgY2xpZW50RGlhbG9nLnBsYWNlaG9sZGVyID0gc2VydmVyRGlhbG9nLnBsYWNlaG9sZGVyO1xuICAgIH1cbiAgICBpZiAoc2VydmVyRGlhbG9nLnRleHQpIHtcbiAgICAgIGNsaWVudERpYWxvZy50ZXh0ID0gc2VydmVyRGlhbG9nLnRleHQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB0cmFuc2xhdGVVaUFjdGlvbkRlc2NyaXB0b3IoXG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yOiBVaUFjdGlvbkRlc2NyaXB0b3JcbiAgKTogUHJvbWlzZTxVaUFjdGlvbkRlc2NyaXB0b3I+IHtcbiAgICB1aUFjdGlvbkRlc2NyaXB0b3IgPSBhd2FpdCB0aGlzLmRlZXBUcmFuc2xhdGUodWlBY3Rpb25EZXNjcmlwdG9yKTtcblxuICAgIHJldHVybiB1aUFjdGlvbkRlc2NyaXB0b3I7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGRlZXBUcmFuc2xhdGUoX21vZGVsOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGxldCBtb2RlbCA9IHsgLi4uX21vZGVsIH07XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBPYmplY3Qua2V5cyhtb2RlbCkubWFwKGFzeW5jIChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgbW9kZWxba2V5XSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgdHlwZW9mIG1vZGVsW2tleV0gPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgbW9kZWxba2V5XS5sZW5ndGggJiZcbiAgICAgICAgICB0aGlzLmtleXNUb1RyYW5zbGF0ZS5pbmNsdWRlcyhrZXkpXG4gICAgICAgICkge1xuICAgICAgICAgIG1vZGVsW2tleV0gPSBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LnRyYW5zbGF0ZVNlcnZpY2UhLmdldChtb2RlbFtrZXldKS50b1Byb21pc2UoKTtcbiAgICAgICAgfSBlbHNlIGlmIChtb2RlbFtrZXldICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIG1vZGVsW2tleV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgbW9kZWxba2V5XSA9IGF3YWl0IHRoaXMuZGVlcFRyYW5zbGF0ZShtb2RlbFtrZXldKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbW9kZWw7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBwcml2YXRlIHNldFVwVW5rb3duRGlhbG9nRGVzY3JpcHRvcihcbiAgICBjb2RlOiBzdHJpbmcsXG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yOiBVaUFjdGlvbkRlc2NyaXB0b3IsXG4gICAgZGlhbG9nVHlwZTogJ2RpYWxvZycgfCAnY29uZmlybURpYWxvZycgfCAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZydcbiAgKTogVWlBY3Rpb25EZXNjcmlwdG9yIHtcbiAgICBsZXQgdW5rb3duRGVzY3JpcHRvciA9IHRoaXMuYmFzaWNBY3Rpb25EZXNjcmlwdG9ycy5nZXQoJ1VOS09XTicpO1xuXG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yW2RpYWxvZ1R5cGVdID0gdW5rb3duRGVzY3JpcHRvciEuZGlhbG9nO1xuICAgIHVpQWN0aW9uRGVzY3JpcHRvcltkaWFsb2dUeXBlXSEudGl0bGUgPSBjb2RlO1xuICAgIHVpQWN0aW9uRGVzY3JpcHRvcltkaWFsb2dUeXBlXSEuYWN0aW9uQnV0dG9uLmNhcHRpb24gPSBjb2RlO1xuXG4gICAgcmV0dXJuIHVpQWN0aW9uRGVzY3JpcHRvcjtcbiAgfVxuXG4gIHByaXZhdGUgYmFzaWNBY3Rpb25EZXNjcmlwdG9yczogTWFwPHN0cmluZywgVWlBY3Rpb25EZXNjcmlwdG9yPiA9IG5ldyBNYXAoW1xuICAgIFtcbiAgICAgICdVTktPV04nLFxuICAgICAge1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIHR5cGU6IFVpQWN0aW9uQnV0dG9uVHlwZS5OT1JNQUwsXG4gICAgICAgIGNvbG9yOiAnYWNjZW50JyxcbiAgICAgICAgaWNvbjogJ1F1ZXN0aW9uJyxcbiAgICAgICAgaWNvbkNvbG9yOiBgdGV4dC1wcmltYXJ5YCxcbiAgICAgICAgaWNvblBvc2l0aW9uOiBJY29uUG9zaXRpb24uUE9TVCxcbiAgICAgICAgZGlhbG9nOiB7XG4gICAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICAgIHBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXInLFxuICAgICAgICAgIGFjdGlvbkJ1dHRvbjoge1xuICAgICAgICAgICAgY2FwdGlvbjogJycsXG4gICAgICAgICAgICBjb2xvcjogJ2FjY2VudCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjYW5jZWxCdXR0b246IHtcbiAgICAgICAgICAgIGNhcHRpb246ICdNw6lnc2UnLFxuICAgICAgICAgICAgY29sb3I6ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufVxuIl19
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBRUwsWUFBWSxFQUNaLGtCQUFrQixFQUdsQixvQkFBb0IsR0FDckIsTUFBTSxRQUFRLENBQUM7OztBQU1oQixNQUFNLE9BQU8seUJBQXlCO0lBTXBDLFlBQW9CLFdBQW9DO1FBQXBDLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUxoRCxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFakQsb0JBQWUsR0FBa0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xFLG9CQUFlLEdBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7UUErS2hGLDJCQUFzQixHQUFvQyxJQUFJLEdBQUcsQ0FBQztZQUN4RTtnQkFDRSxRQUFRO2dCQUNSO29CQUNFLEtBQUssRUFBRSxFQUFFO29CQUNULElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO29CQUMvQixLQUFLLEVBQUUsUUFBUTtvQkFDZixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsU0FBUyxFQUFFLGNBQWM7b0JBQ3pCLFlBQVksRUFBRSxZQUFZLENBQUMsSUFBSTtvQkFDL0IsTUFBTSxFQUFFO3dCQUNOLEtBQUss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LE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFNUQsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDOytHQWpMVSx5QkFBeUI7bUhBQXpCLHlCQUF5QixjQUZ4QixNQUFNOzs0RkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTbWFydFN1YmplY3QgfSBmcm9tICcuLi8uLi9zbWFydC1zdWJqZWN0L3Byb2plY3RzJztcclxuaW1wb3J0IHtcclxuICBVaUFjdGlvbixcclxuICBJY29uUG9zaXRpb24sXHJcbiAgVWlBY3Rpb25CdXR0b25UeXBlLFxyXG4gIFVpQWN0aW9uRGVzY3JpcHRvcixcclxuICBVaUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3IsXHJcbiAgVWlBY3Rpb25GZWVkYmFja1R5cGUsXHJcbn0gZnJvbSAnLi4vYXBpJztcclxuaW1wb3J0IHsgU21hcnRWaWV3Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi9zbWFydC12aWV3LWNvbnRleHQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBsYW5ndWFnZUNoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuICBrZXlzVG9UcmFuc2xhdGU6IHN0cmluZ1tdID0gWyd0aXRsZScsICd0ZXh0JywgJ3BsYWNlaG9sZGVyJywgJ2NhcHRpb24nLCAnZmVlZGJhY2tUZXh0J107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRleHQ6IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlKSB7XHJcbiAgICBpZiAodGhpcy52aWV3Q29udGV4dC50cmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9UcmFuc2xhdGVTZXJ2aWNlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZpZXdDb250ZXh0LnRyYW5zbGF0ZVNlcnZpY2VDaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnN1YnNjcmliZVRvVHJhbnNsYXRlU2VydmljZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1RyYW5zbGF0ZVNlcnZpY2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdDb250ZXh0XHJcbiAgICAgIC50cmFuc2xhdGVTZXJ2aWNlIS5vbkxhbmdDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmxhbmd1YWdlQ2hhbmdlZC5uZXh0KCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFjdGlvbkRlc2NyaXB0b3IodWlBY3Rpb246IFVpQWN0aW9uKTogUHJvbWlzZTxVaUFjdGlvbkRlc2NyaXB0b3I+IHtcclxuICAgIGxldCBjb2RlID0gdWlBY3Rpb24uY29kZSE7XHJcbiAgICBsZXQgaXNVbmtvd24gPSBmYWxzZTtcclxuXHJcbiAgICBsZXQgc2VydmVyOiBVaUFjdGlvbkRlc2NyaXB0b3IgfCB1bmRlZmluZWQgfCBudWxsID0gdWlBY3Rpb24uZGVzY3JpcHRvcjtcclxuICAgIGxldCBjbGllbnQ6IFVpQWN0aW9uRGVzY3JpcHRvciB8IHVuZGVmaW5lZCB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGxldCBhY3Rpb25EZXNjcmlwdG9yRnJvbURlc2NyaXB0b3JzID0gdGhpcy52aWV3Q29udGV4dC5nZXRBY3Rpb25EZXNjcmlwdG9ycygpPy5nZXQoY29kZSk7XHJcbiAgICBpZiAoYWN0aW9uRGVzY3JpcHRvckZyb21EZXNjcmlwdG9ycykge1xyXG4gICAgICBjbGllbnQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGFjdGlvbkRlc2NyaXB0b3JGcm9tRGVzY3JpcHRvcnMpKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgYWN0aW9uRGVzY3JpcHRvcjogVWlBY3Rpb25EZXNjcmlwdG9yIHwgdW5kZWZpbmVkIHwgbnVsbDtcclxuICAgIGlmICghY2xpZW50KSB7XHJcbiAgICAgIC8vIHNlcnZlciBvbmx5XHJcbiAgICAgIGFjdGlvbkRlc2NyaXB0b3IgPSBzZXJ2ZXI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBjbGllbnQgZXhpc3RzXHJcbiAgICAgIGlmIChzZXJ2ZXIpIHtcclxuICAgICAgICAvLyBzZXJ2ZXIgJiBjbGllbnQgLT4gbWVyZ2UgaW50byBjbGllbnQgd2hhdCdzIGZpbGxlZCBmcm9tIHNlcnZlclxyXG4gICAgICAgIHRoaXMubWVyZ2VBY3Rpb25EZXNjcmlwdG9ySW50b0NsaWVudChzZXJ2ZXIsIGNsaWVudCk7XHJcbiAgICAgIH1cclxuICAgICAgYWN0aW9uRGVzY3JpcHRvciA9IGNsaWVudDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWFjdGlvbkRlc2NyaXB0b3IpIHtcclxuICAgICAgaXNVbmtvd24gPSB0cnVlO1xyXG4gICAgICBsZXQgdW5rb3duQWN0aW9uRGVzY3JpcHRvciA9IHRoaXMuYmFzaWNBY3Rpb25EZXNjcmlwdG9ycy5nZXQoJ1VOS09XTicpO1xyXG4gICAgICBhY3Rpb25EZXNjcmlwdG9yID0geyAuLi51bmtvd25BY3Rpb25EZXNjcmlwdG9yISB9O1xyXG4gICAgICBhY3Rpb25EZXNjcmlwdG9yIS50aXRsZSA9IGNvZGU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFhY3Rpb25EZXNjcmlwdG9yIS5kaWFsb2cpIHtcclxuICAgICAgYWN0aW9uRGVzY3JpcHRvciA9IHRoaXMuc2V0VXBVbmtvd25EaWFsb2dEZXNjcmlwdG9yKGNvZGUsIGFjdGlvbkRlc2NyaXB0b3IhLCAnZGlhbG9nJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFhY3Rpb25EZXNjcmlwdG9yIS5mZWVkYmFja1R5cGUgJiYgdWlBY3Rpb24uc3VibWl0KSB7XHJcbiAgICAgIGFjdGlvbkRlc2NyaXB0b3IhLmZlZWRiYWNrVHlwZSA9IFVpQWN0aW9uRmVlZGJhY2tUeXBlLlNOQUNLQkFSO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnZpZXdDb250ZXh0LnRyYW5zbGF0ZVNlcnZpY2UgJiYgIWlzVW5rb3duICYmICFzZXJ2ZXIpIHtcclxuICAgICAgYWN0aW9uRGVzY3JpcHRvciA9IGF3YWl0IHRoaXMudHJhbnNsYXRlVWlBY3Rpb25EZXNjcmlwdG9yKGFjdGlvbkRlc2NyaXB0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBhY3Rpb25EZXNjcmlwdG9yITtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBtZXJnZUFjdGlvbkRlc2NyaXB0b3JJbnRvQ2xpZW50KFxyXG4gICAgc2VydmVyOiBVaUFjdGlvbkRlc2NyaXB0b3IsXHJcbiAgICBjbGllbnQ6IFVpQWN0aW9uRGVzY3JpcHRvclxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKHNlcnZlci50aXRsZSkge1xyXG4gICAgICBjbGllbnQudGl0bGUgPSBzZXJ2ZXIudGl0bGU7XHJcbiAgICB9XHJcbiAgICBpZiAoc2VydmVyLmljb24pIHtcclxuICAgICAgY2xpZW50Lmljb24gPSBzZXJ2ZXIuaWNvbjtcclxuICAgIH1cclxuICAgIGlmIChzZXJ2ZXIuY29sb3IpIHtcclxuICAgICAgY2xpZW50LmNvbG9yID0gc2VydmVyLmNvbG9yO1xyXG4gICAgfVxyXG4gICAgaWYgKHNlcnZlci5jb25maXJtRGlhbG9nKSB7XHJcbiAgICAgIGlmICghY2xpZW50LmNvbmZpcm1EaWFsb2cpIHtcclxuICAgICAgICBjbGllbnQuY29uZmlybURpYWxvZyA9IHNlcnZlci5jb25maXJtRGlhbG9nO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1lcmdlQWN0aW9uRGlhbG9nRGVzY3JpcHRvckludG9DbGllbnQoc2VydmVyLmNvbmZpcm1EaWFsb2csIGNsaWVudC5jb25maXJtRGlhbG9nKTtcclxuICAgICAgfVxyXG4gICAgLy8gIGNsaWVudC5jb25maXJtRGlhbG9nID0gc2VydmVyLmNvbmZpcm1EaWFsb2c7XHJcbiAgICB9XHJcbiAgICBpZiAoc2VydmVyLmZlZWRiYWNrVHlwZSkge1xyXG4gICAgICBjbGllbnQuZmVlZGJhY2tUeXBlID0gc2VydmVyLmZlZWRiYWNrVHlwZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc2VydmVyLmZlZWRiYWNrVGV4dCkge1xyXG4gICAgICBjbGllbnQuZmVlZGJhY2tUZXh0ID0gc2VydmVyLmZlZWRiYWNrVGV4dDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFRPRE8gdXNlIHByb3AgbmFtZSB0byBoYW5kbGUgYWxsIGRpYWxvZ3NcclxuICAvLyBwcml2YXRlIG1lcmdlQWN0aW9uRGVzY3JpcHRvckRpYWxvZyhcclxuICAvLyAgIHNlcnZlcjogVWlBY3Rpb25EZXNjcmlwdG9yLFxyXG4gIC8vICAgY2xpZW50OiBVaUFjdGlvbkRlc2NyaXB0b3IsXHJcbiAgLy8gICBwcm9wOiBzdHJpbmdcclxuICAvLyApOiB2b2lkIHtcclxuICAvLyAgIC8vbGV0IHNlcnZlckRpYWxvZzogVWlBY3Rpb25EaWFsb2dEZXNjcmlwdG9yID0gc2VydmVyW3Byb3BdIGFzIFVpQWN0aW9uRGlhbG9nRGVzY3JpcHRvcjtcclxuICAvLyAgIGlmIChzZXJ2ZXIuY29uZmlybURpYWxvZykge1xyXG4gIC8vICAgICBpZiAoIWNsaWVudC5jb25maXJtRGlhbG9nKSB7XHJcbiAgLy8gICAgICAgY2xpZW50LmNvbmZpcm1EaWFsb2cgPSBzZXJ2ZXIuY29uZmlybURpYWxvZztcclxuICAvLyAgICAgfVxyXG4gIC8vICAgICB0aGlzLm1lcmdlQWN0aW9uRGlhbG9nRGVzY3JpcHRvckludG9DbGllbnQoc2VydmVyLmNvbmZpcm1EaWFsb2csIGNsaWVudC5jb25maXJtRGlhbG9nKTtcclxuICAvLyAgICAgY2xpZW50LmNvbmZpcm1EaWFsb2cgPSBzZXJ2ZXIuY29uZmlybURpYWxvZztcclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG4gIHByaXZhdGUgbWVyZ2VBY3Rpb25EaWFsb2dEZXNjcmlwdG9ySW50b0NsaWVudChcclxuICAgIHNlcnZlckRpYWxvZzogVWlBY3Rpb25EaWFsb2dEZXNjcmlwdG9yLFxyXG4gICAgY2xpZW50RGlhbG9nOiBVaUFjdGlvbkRpYWxvZ0Rlc2NyaXB0b3JcclxuICApOiB2b2lkIHtcclxuICAgIGlmIChzZXJ2ZXJEaWFsb2cudGl0bGUpIHtcclxuICAgICAgY2xpZW50RGlhbG9nLnRpdGxlID0gc2VydmVyRGlhbG9nLnRpdGxlO1xyXG4gICAgfVxyXG4gICAgaWYgKHNlcnZlckRpYWxvZy5wbGFjZWhvbGRlcikge1xyXG4gICAgICBjbGllbnREaWFsb2cucGxhY2Vob2xkZXIgPSBzZXJ2ZXJEaWFsb2cucGxhY2Vob2xkZXI7XHJcbiAgICB9XHJcbiAgICBpZiAoc2VydmVyRGlhbG9nLnRleHQpIHtcclxuICAgICAgY2xpZW50RGlhbG9nLnRleHQgPSBzZXJ2ZXJEaWFsb2cudGV4dDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgdHJhbnNsYXRlVWlBY3Rpb25EZXNjcmlwdG9yKFxyXG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yOiBVaUFjdGlvbkRlc2NyaXB0b3JcclxuICApOiBQcm9taXNlPFVpQWN0aW9uRGVzY3JpcHRvcj4ge1xyXG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yID0gYXdhaXQgdGhpcy5kZWVwVHJhbnNsYXRlKHVpQWN0aW9uRGVzY3JpcHRvcik7XHJcblxyXG4gICAgcmV0dXJuIHVpQWN0aW9uRGVzY3JpcHRvcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgZGVlcFRyYW5zbGF0ZShfbW9kZWw6IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICBsZXQgbW9kZWwgPSB7IC4uLl9tb2RlbCB9O1xyXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXHJcbiAgICAgIE9iamVjdC5rZXlzKG1vZGVsKS5tYXAoYXN5bmMgKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgbW9kZWxba2V5XSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgICB0eXBlb2YgbW9kZWxba2V5XSA9PT0gJ3N0cmluZycgJiZcclxuICAgICAgICAgIG1vZGVsW2tleV0ubGVuZ3RoICYmXHJcbiAgICAgICAgICB0aGlzLmtleXNUb1RyYW5zbGF0ZS5pbmNsdWRlcyhrZXkpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBtb2RlbFtrZXldID0gYXdhaXQgdGhpcy52aWV3Q29udGV4dC50cmFuc2xhdGVTZXJ2aWNlIS5nZXQobW9kZWxba2V5XSkudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChtb2RlbFtrZXldICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIG1vZGVsW2tleV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBtb2RlbFtrZXldID0gYXdhaXQgdGhpcy5kZWVwVHJhbnNsYXRlKG1vZGVsW2tleV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbW9kZWw7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIHJldHVybiBtb2RlbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VXBVbmtvd25EaWFsb2dEZXNjcmlwdG9yKFxyXG4gICAgY29kZTogc3RyaW5nLFxyXG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yOiBVaUFjdGlvbkRlc2NyaXB0b3IsXHJcbiAgICBkaWFsb2dUeXBlOiAnZGlhbG9nJyB8ICdjb25maXJtRGlhbG9nJyB8ICdpbnB1dERpYWxvZycgfCAnaW5wdXQyRGlhbG9nJ1xyXG4gICk6IFVpQWN0aW9uRGVzY3JpcHRvciB7XHJcbiAgICBsZXQgdW5rb3duRGVzY3JpcHRvciA9IHRoaXMuYmFzaWNBY3Rpb25EZXNjcmlwdG9ycy5nZXQoJ1VOS09XTicpO1xyXG5cclxuICAgIHVpQWN0aW9uRGVzY3JpcHRvcltkaWFsb2dUeXBlXSA9IHVua293bkRlc2NyaXB0b3IhLmRpYWxvZztcclxuICAgIHVpQWN0aW9uRGVzY3JpcHRvcltkaWFsb2dUeXBlXSEudGl0bGUgPSBjb2RlO1xyXG4gICAgdWlBY3Rpb25EZXNjcmlwdG9yW2RpYWxvZ1R5cGVdIS5hY3Rpb25CdXR0b24uY2FwdGlvbiA9IGNvZGU7XHJcblxyXG4gICAgcmV0dXJuIHVpQWN0aW9uRGVzY3JpcHRvcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYmFzaWNBY3Rpb25EZXNjcmlwdG9yczogTWFwPHN0cmluZywgVWlBY3Rpb25EZXNjcmlwdG9yPiA9IG5ldyBNYXAoW1xyXG4gICAgW1xyXG4gICAgICAnVU5LT1dOJyxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnJyxcclxuICAgICAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMLFxyXG4gICAgICAgIGNvbG9yOiAnYWNjZW50JyxcclxuICAgICAgICBpY29uOiAnUXVlc3Rpb24nLFxyXG4gICAgICAgIGljb25Db2xvcjogYHRleHQtcHJpbWFyeWAsXHJcbiAgICAgICAgaWNvblBvc2l0aW9uOiBJY29uUG9zaXRpb24uUE9TVCxcclxuICAgICAgICBkaWFsb2c6IHtcclxuICAgICAgICAgIHRpdGxlOiAnJyxcclxuICAgICAgICAgIHBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXInLFxyXG4gICAgICAgICAgYWN0aW9uQnV0dG9uOiB7XHJcbiAgICAgICAgICAgIGNhcHRpb246ICcnLFxyXG4gICAgICAgICAgICBjb2xvcjogJ2FjY2VudCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgY2FuY2VsQnV0dG9uOiB7XHJcbiAgICAgICAgICAgIGNhcHRpb246ICdNw6lnc2UnLFxyXG4gICAgICAgICAgICBjb2xvcjogJycsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIF0pO1xyXG59XHJcbiJdfQ==
|
|
@@ -4,4 +4,4 @@ export var UiActionDialogType;
|
|
|
4
4
|
UiActionDialogType["confirmDialog"] = "confirmDialog";
|
|
5
5
|
UiActionDialogType["dialog"] = "dialog";
|
|
6
6
|
})(UiActionDialogType || (UiActionDialogType = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMERBLE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDNUIsaURBQTJCLENBQUE7SUFDM0IscURBQStCLENBQUE7SUFDL0IsdUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVpQWN0aW9uIH0gZnJvbSAnLi4vYXBpL21vZGVsL3VpQWN0aW9uJztcclxuaW1wb3J0IHsgVWlBY3Rpb25EZXNjcmlwdG9yIH0gZnJvbSAnLi4vYXBpL21vZGVsL3VpQWN0aW9uRGVzY3JpcHRvcic7XHJcbmltcG9ydCB7IFVpQWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL2FwaS9tb2RlbC91aUFjdGlvblJlcXVlc3QnO1xyXG5pbXBvcnQgeyBTbWFydEZvcm1JbnZhbGlkRmllbGRzIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zbWFydGZvcm0ubW9kZWwnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVaUFjdGlvbk1vZGVsIHtcclxuICB1aUFjdGlvbjogVWlBY3Rpb247XHJcbiAgc2VydmljZVRvVXNlOiBVc2VVaUFjdGlvbiB8IFVzZVVpQWN0aW9uMjtcclxuICBleGNlcHRpb24/OiBib29sZWFuO1xyXG4gIGRlc2NyaXB0b3I/OiBVaUFjdGlvbkRlc2NyaXB0b3I7XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgd2lkZ2V0SWQ/OiBzdHJpbmc7XHJcbiAgbm9kZUlkPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZVVpQWN0aW9uIHtcclxuICBzdWJtaXQ6IFN1YmplY3Q8dm9pZD47XHJcbiAgcmVTdWJzY3JpYmVUb0NoYW5nZTogU3ViamVjdDx2b2lkPjtcclxuICBnZXRBZGRpdGlvbmFsUGFyYW1zKHVpQWN0aW9uOiBVaUFjdGlvbik6IFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcztcclxuICBnZXRNb2RlbCgpOiBhbnk7XHJcbiAgcGVyZm9ybVVpQWN0aW9uUmVxdWVzdChcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmcsXHJcbiAgICBub2RlSWQ/OiBzdHJpbmdcclxuICApOiBQcm9taXNlPGFueT47XHJcbiAgaGFuZGxlU3BlY2lmaWNEZW1hbmRzQXN5bmNocm9ub3VzbHkoXHJcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXHJcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdFxyXG4gICk6IFByb21pc2U8VWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVc2VVaUFjdGlvbjIge1xyXG4gIHN1Ym1pdEZvcm0odmFsaWRhdGU6IGJvb2xlYW4pOiB2b2lkO1xyXG4gIGdldEludmFsaWRGaWVsZHMoKTogU21hcnRGb3JtSW52YWxpZEZpZWxkcztcclxuICBnZXRBZGRpdGlvbmFsUGFyYW1zKHVpQWN0aW9uOiBVaUFjdGlvbik6IFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcztcclxuICBnZXRNb2RlbCgpOiBhbnk7XHJcbiAgcGVyZm9ybVVpQWN0aW9uUmVxdWVzdChcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmcsXHJcbiAgICBub2RlSWQ/OiBzdHJpbmdcclxuICApOiBQcm9taXNlPGFueT47XHJcbiAgaGFuZGxlU3BlY2lmaWNEZW1hbmRzQXN5bmNocm9ub3VzbHkoXHJcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXHJcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdFxyXG4gICk6IFByb21pc2U8VWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVaUFjdGlvblNwZWNpZmljRGVtYW5kUmVzcG9uc2Uge1xyXG4gIHNob3VsZFBlcmZvcm1BY3Rpb246IGJvb2xlYW47XHJcbiAgdWlBY3Rpb25SZXF1ZXN0PzogVWlBY3Rpb25SZXF1ZXN0O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcyB7XHJcbiAgZm9yVGV4dEZpZWxkPzogc3RyaW5nO1xyXG4gIGZvclRleHRBcmVhPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBVaUFjdGlvbkRpYWxvZ1R5cGUge1xyXG4gIGlucHV0RGlhbG9nID0gJ2lucHV0RGlhbG9nJyxcclxuICBjb25maXJtRGlhbG9nID0gJ2NvbmZpcm1EaWFsb2cnLFxyXG4gIGRpYWxvZyA9ICdkaWFsb2cnLFxyXG59XHJcbiJdfQ==
|
|
@@ -247,4 +247,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
247
247
|
type: Inject,
|
|
248
248
|
args: ['fileUploadDialogService']
|
|
249
249
|
}] }, { type: i1.MatSnackBar }, { type: i2.SmartViewContextService }] });
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFZLG9CQUFvQixFQUFFLGlCQUFpQixFQUFtQixNQUFNLFFBQVEsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQU10RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7QUFrQmhILE1BQU0sT0FBTyxlQUFlO0lBTTFCLFlBQzBDLG9CQUFrRCxFQUNoRCxzQkFBa0QsRUFFcEYsdUJBQXdELEVBQ3hELFNBQXNCLEVBQ3RCLFdBQW9DO1FBTEoseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE4QjtRQUNoRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQTRCO1FBRXBGLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBaUM7UUFDeEQsY0FBUyxHQUFULFNBQVMsQ0FBYTtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFYdEMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXpDLGtCQUFhLEdBQXlELENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQ3ZGLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFTaEIsQ0FBQztJQUVKLFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFB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eUJBQXlCLENBQUMsYUFBcUM7UUFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBOEIsRUFBRTtZQUMvRCxRQUFRLEVBQUUsQ0FBQyxHQUFHLElBQUk7WUFDbEIsVUFBVSxFQUFFLENBQUMsc0JBQXNCLENBQUM7WUFDcEMsSUFBSSxFQUFFLGFBQWE7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E3VFUsZUFBZSxrQkFPaEIsc0JBQXNCLGFBQ3RCLHdCQUF3QixhQUN4Qix5QkFBeUI7bUhBVHhCLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBUUksTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUM3QixNQUFNOzJCQUFDLHdCQUF3Qjs7MEJBQy9CLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVWlBY3Rpb24sIFVpQWN0aW9uRmVlZGJhY2tUeXBlLCBVaUFjdGlvbklucHV0VHlwZSwgVWlBY3Rpb25SZXF1ZXN0IH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IFN1Y2Nlc3NTbmFja0JhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdWNjZXNzLXNuYWNrLWJhci9zdWNjZXNzLXNuYWNrLWJhci5jb21wb25lbnQnO1xuXG5pbXBvcnQgdHlwZSB7IFVpQWN0aW9uQ29uZmlybURpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2RpYWxvZ3MvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB0eXBlIHsgVWlBY3Rpb25JbnB1dERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2RpYWxvZ3MvdWktYWN0aW9uLWlucHV0LWRpYWxvZy91aS1hY3Rpb24taW5wdXQtZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4vdWktYWN0aW9uLm1vZGVsJztcbmltcG9ydCB0eXBlIHsgVWlBY3Rpb25GaWxlVXBsb2FkRGlhbG9nU2VydmljZSB9IGZyb20gJy4vZGlhbG9ncy91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBTbWFydFN1YmplY3QgfSBmcm9tICcuLi8uLi9zbWFydC1zdWJqZWN0L3Byb2plY3RzJztcbmltcG9ydCB7IEludmFsaWRGaWVsZHNTbmFja0JhckNvbXBvbmVudCB9IGZyb20gJy4uL2ludmFsaWQtZmllbGRzLXNuYWNrLWJhci9pbnZhbGlkLWZpZWxkcy1zbmFjay1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNtYXJ0Rm9ybUludmFsaWRGaWVsZHMgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5tb2RlbCc7XG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0U2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXZpZXctY29udGV4dC5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBFeGVjdXRlVWlBY3Rpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIEluIGNhc2Ugb2YgdXNpbmcgYSBncmlkOiBncmlkLmlkZW50aWZpZXJcbiAgICovXG4gIHdpZGdldElkPzogc3RyaW5nO1xuICAvKipcbiAgICogSW4gY2FzZSBvZiB1c2luZyBhIGdyaWQ6IGdyaWRSb3cuaWRcbiAgICovXG4gIG5vZGVJZD86IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBwcml2YXRlIG9uQWN0aW9uRXJyb3I6ICh1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCwgZXJyOiBhbnkpID0+IHZvaWQgPSAoXywgZXJyKSA9PlxuICAgIGNvbnNvbGUubG9nKGVycik7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnY29uZmlybURpYWxvZ1NlcnZpY2UnKSBwcml2YXRlIGNvbmZpcm1EaWFsb2dTZXJ2aWNlOiBVaUFjdGlvbkNvbmZpcm1EaWFsb2dTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ3RleHRGaWVsZERpYWxvZ1NlcnZpY2UnKSBwcml2YXRlIHRleHRGaWVsZERpYWxvZ1NlcnZpY2U6IFVpQWN0aW9uSW5wdXREaWFsb2dTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2ZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlJylcbiAgICBwcml2YXRlIGZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlOiBVaUFjdGlvbkZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3NuYWNrQmFyOiBNYXRTbmFja0JhcixcbiAgICBwcml2YXRlIHZpZXdDb250ZXh0OiBTbWFydFZpZXdDb250ZXh0U2VydmljZVxuICApIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aW9uRXJyb3JIYW5kbGVyKGY6ICh1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCwgZXJyOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQWN0aW9uRXJyb3IgPSBmO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZShcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXG4gICAgdWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCxcbiAgICBvcHRpb25zPzogRXhlY3V0ZVVpQWN0aW9uT3B0aW9uc1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ7XG5cbiAgICB1aUFjdGlvblJlcXVlc3QgPSB7XG4gICAgICBjb2RlOiB1aUFjdGlvbi5jb2RlISxcbiAgICAgIHBhdGg6IHVpQWN0aW9uLnBhdGgsXG4gICAgICBpZGVudGlmaWVyOiB1aUFjdGlvbi5pZGVudGlmaWVyLFxuICAgICAgcGFyYW1zOiB1aUFjdGlvbi5wYXJhbXMgPz8ge30sXG4gICAgfTtcblxuICAgIGlmICh1aUFjdGlvbi5zdWJtaXQgfHwgdWlBY3Rpb24ubW9kZWwpIHtcbiAgICAgIC8vIHN1Ym1pdDogd2l0aCB2YWxpZGF0aW9uLCBtb2RlbDogd2l0aG91dCB2YWxpZGF0aW9uLiBib3RoIGNhbiBiZSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHZhbGlkYXRlID0gdWlBY3Rpb24uc3VibWl0IHx8ICF1aUFjdGlvbi5tb2RlbDtcblxuICAgICAgaWYgKCdyZVN1YnNjcmliZVRvQ2hhbmdlJyBpbiB1aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZSkge1xuICAgICAgICBpZiAoIXZhbGlkYXRlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgVmFsaWRhdGUgPSBmYWxzZSwgYnV0IFVzZVVpQWN0aW9uIGRvZXNuJ3Qgc3VwcG9ydCBpdGApO1xuICAgICAgICB9XG4gICAgICAgIHVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnN1Ym1pdC5uZXh0KCk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgdWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0LnRvUHJvbWlzZSgpO1xuICAgICAgICAgIHVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnN1Ym1pdCA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuICAgICAgICAgIHVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnJlU3Vic2NyaWJlVG9DaGFuZ2UubmV4dCgpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UucmVTdWJzY3JpYmVUb0NoYW5nZS5uZXh0KCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5zdWJtaXRGb3JtKHZhbGlkYXRlKTtcbiAgICAgICAgbGV0IGludmFsaWRGaWVsZHMgPSB1aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5nZXRJbnZhbGlkRmllbGRzKCk7XG5cbiAgICAgICAgY29uc3QgY29udGFpbmVyVXVpZCA9ICh1aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZSBhcyBhbnkpLnV1aWQgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBpZiAodWlBY3Rpb24uY29tcG9zaXRlICYmIGNvbnRhaW5lclV1aWQpIHtcbiAgICAgICAgICBjb25zdCBlbWJlZGRlZEludmFsaWQgPSB0aGlzLnZpZXdDb250ZXh0LnN1Ym1pdEVtYmVkZGVkRm9ybXMoY29udGFpbmVyVXVpZCwgdmFsaWRhdGUpO1xuICAgICAgICAgIGludmFsaWRGaWVsZHMgPSB7XG4gICAgICAgICAgICBpbnZhbGlkRmllbGRLZXlzOiBbXG4gICAgICAgICAgICAgIC4uLmludmFsaWRGaWVsZHMuaW52YWxpZEZpZWxkS2V5cyxcbiAgICAgICAgICAgICAgLi4uZW1iZWRkZWRJbnZhbGlkLmludmFsaWRGaWVsZEtleXMsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgaW52YWxpZEZpZWxkTmFtZXM6IFtcbiAgICAgICAgICAgICAgLi4uaW52YWxpZEZpZWxkcy5pbnZhbGlkRmllbGROYW1lcyxcbiAgICAgICAgICAgICAgLi4uZW1iZWRkZWRJbnZhbGlkLmludmFsaWRGaWVsZE5hbWVzLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbGlkYXRlICYmIGludmFsaWRGaWVsZHMuaW52YWxpZEZpZWxkS2V5cy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLnNob3dJbnZhbGlkRmllbGRzU25hY2tiYXIoaW52YWxpZEZpZWxkcyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHVpQWN0aW9uLmNvbmZpcm0pIHtcbiAgICAgIHRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2UuYWN0aW9uID0gdWlBY3Rpb247XG4gICAgICB0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coKTtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2Uub25BY3Rpb24udG9Qcm9taXNlKCk7XG4gICAgICBpZiAoIXRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2Uuc2hvdWxkRG9BY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0VHlwZVxuICAgIGlmICh1aUFjdGlvbi5pbnB1dFR5cGUgJiYgdWlBY3Rpb24uaW5wdXRUeXBlICE9PSBVaUFjdGlvbklucHV0VHlwZS5OT05FKSB7XG4gICAgICB1aUFjdGlvblJlcXVlc3QgPSBhd2FpdCB0aGlzLmhhbmRsZUlucHV0VHlwZShcbiAgICAgICAgdWlBY3Rpb24uaW5wdXRUeXBlLFxuICAgICAgICB1aUFjdGlvbixcbiAgICAgICAgdWlBY3Rpb25SZXF1ZXN0LFxuICAgICAgICAnaW5wdXREaWFsb2cnLFxuICAgICAgICB1aUFjdGlvbk1vZGVsXG4gICAgICApO1xuICAgICAgaWYgKCF1aUFjdGlvblJlcXVlc3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMjUwKSk7XG4gICAgfVxuICAgIC8vIElucHV0MlR5cGVcbiAgICBpZiAodWlBY3Rpb24uaW5wdXQyVHlwZSAmJiB1aUFjdGlvbi5pbnB1dDJUeXBlICE9PSBVaUFjdGlvbklucHV0VHlwZS5OT05FKSB7XG4gICAgICB1aUFjdGlvblJlcXVlc3QgPSBhd2FpdCB0aGlzLmhhbmRsZUlucHV0VHlwZShcbiAgICAgICAgdWlBY3Rpb24uaW5wdXQyVHlwZSxcbiAgICAgICAgdWlBY3Rpb24sXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdCxcbiAgICAgICAgJ2lucHV0MkRpYWxvZycsXG4gICAgICAgIHVpQWN0aW9uTW9kZWxcbiAgICAgICk7XG4gICAgICBpZiAoIXVpQWN0aW9uUmVxdWVzdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHVpQWN0aW9uTW9kZWwuZXhjZXB0aW9uKSB7XG4gICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCB1aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5oYW5kbGVTcGVjaWZpY0RlbWFuZHNBc3luY2hyb25vdXNseShcbiAgICAgICAgdWlBY3Rpb24sXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdFxuICAgICAgKTtcblxuICAgICAgaWYgKCFyZXNwb25zZS5zaG91bGRQZXJmb3JtQWN0aW9uIHx8ICFyZXNwb25zZS51aUFjdGlvblJlcXVlc3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdWlBY3Rpb25SZXF1ZXN0ID0gcmVzcG9uc2UudWlBY3Rpb25SZXF1ZXN0O1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMucGVyZm9ybUFjdGlvbih1aUFjdGlvbiwgdWlBY3Rpb25SZXF1ZXN0LCB1aUFjdGlvbk1vZGVsLCBvcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlSW5wdXRUeXBlKFxuICAgIGlucHV0VHlwZTogVWlBY3Rpb25JbnB1dFR5cGUsXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxuICAgIGlucHV0VHlwZU5hbWU6ICdpbnB1dERpYWxvZycgfCAnaW5wdXQyRGlhbG9nJyxcbiAgICB1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsXG4gICk6IFByb21pc2U8VWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkPiB7XG4gICAgc3dpdGNoIChpbnB1dFR5cGUpIHtcbiAgICAgIGNhc2UgVWlBY3Rpb25JbnB1dFR5cGUuTk9ORTpcbiAgICAgICAgcmV0dXJuIHVpQWN0aW9uUmVxdWVzdDtcbiAgICAgIGNhc2UgVWlBY3Rpb25JbnB1dFR5cGUuVEVYVEFSRUE6XG4gICAgICBjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLlRFWFRGSUVMRDpcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlVGV4dEZpZWxkKFxuICAgICAgICAgIGlucHV0VHlwZU5hbWUsXG4gICAgICAgICAgdWlBY3Rpb24sXG4gICAgICAgICAgdWlBY3Rpb25SZXF1ZXN0LFxuICAgICAgICAgIHVpQWN0aW9uTW9kZWxcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgVWlBY3Rpb25JbnB1dFR5cGUuVVNFUl9TRUxFQ1Q6XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZUlucHV0VHlwZVVzZXJTZWxlY3QoXG4gICAgICAgICAgaW5wdXRUeXBlTmFtZSxcbiAgICAgICAgICB1aUFjdGlvbixcbiAgICAgICAgICB1aUFjdGlvblJlcXVlc3QsXG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbFxuICAgICAgICApO1xuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5GSUxFOlxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGVVcGxvYWQoaW5wdXRUeXBlTmFtZSwgdWlBY3Rpb24sIHVpQWN0aW9uUmVxdWVzdCwgZmFsc2UpO1xuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5NVUxUSVBMRV9GSUxFUzpcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlVXBsb2FkKGlucHV0VHlwZU5hbWUsIHVpQWN0aW9uLCB1aUFjdGlvblJlcXVlc3QsIHRydWUpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHVpQWN0aW9uUmVxdWVzdDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUlucHV0VHlwZVRleHRGaWVsZChcbiAgICBpbnB1dFR5cGVOYW1lOiAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZycsXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxuICAgIHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWxcbiAgKTogUHJvbWlzZTxVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ+IHtcbiAgICBsZXQgYWRkaXRpb25hbFBhcmFtcyA9IHVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmdldEFkZGl0aW9uYWxQYXJhbXModWlBY3Rpb24pO1xuICAgIGxldCBpbnB1dFR5cGU6ICdpbnB1dFR5cGUnIHwgJ2lucHV0MlR5cGUnID1cbiAgICAgIGlucHV0VHlwZU5hbWUgPT09ICdpbnB1dERpYWxvZycgPyAnaW5wdXRUeXBlJyA6ICdpbnB1dDJUeXBlJztcblxuICAgIGlmICh1aUFjdGlvbltpbnB1dFR5cGVdID09PSBVaUFjdGlvbklucHV0VHlwZS5URVhURklFTEQpIHtcbiAgICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5ub2RlTmFtZSA9IGFkZGl0aW9uYWxQYXJhbXMuZm9yVGV4dEZpZWxkO1xuICAgIH0gZWxzZSBpZiAodWlBY3Rpb25baW5wdXRUeXBlXSA9PT0gVWlBY3Rpb25JbnB1dFR5cGUuVEVYVEFSRUEpIHtcbiAgICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5ub2RlTmFtZSA9IGFkZGl0aW9uYWxQYXJhbXMuZm9yVGV4dEFyZWE7XG4gICAgfVxuXG4gICAgdGhpcy50ZXh0RmllbGREaWFsb2dTZXJ2aWNlLmlucHV0VHlwZU5hbWUgPSBpbnB1dFR5cGVOYW1lO1xuICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5hY3Rpb24gPSB1aUFjdGlvbjtcblxuICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKCk7XG5cbiAgICBhd2FpdCB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2Uub25BY3Rpb24udG9Qcm9taXNlKCk7XG4gICAgbGV0IHBhcmFtcyA9IHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5wYXJhbXM7XG5cbiAgICBpZiAoIXBhcmFtcykge1xuICAgICAgY29uc29sZS5lcnJvcignVGhlcmUgd2FzIG5vIHJlc3BvbnNlIGZyb20gSW5wdXREaWFsb2cnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyA9IHtcbiAgICAgIC4uLnVpQWN0aW9uUmVxdWVzdC5wYXJhbXMsXG4gICAgICAuLi5wYXJhbXMsXG4gICAgfTtcbiAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVJbnB1dFR5cGVVcGxvYWQoXG4gICAgaW5wdXRUeXBlTmFtZTogJ2lucHV0RGlhbG9nJyB8ICdpbnB1dDJEaWFsb2cnLFxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCxcbiAgICBpc011bHRpcGxlOiBib29sZWFuXG4gICk6IFByb21pc2U8VWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkPiB7XG4gICAgdGhpcy5maWxlVXBsb2FkRGlhbG9nU2VydmljZS5pbnB1dFR5cGVOYW1lID0gaW5wdXRUeXBlTmFtZTtcbiAgICB0aGlzLmZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLmFjdGlvbiA9IHVpQWN0aW9uO1xuICAgIHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UuaXNNdWx0aXBsZSA9IGlzTXVsdGlwbGU7XG5cbiAgICB0aGlzLmZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coKTtcblxuICAgIGF3YWl0IHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2Uub25BY3Rpb24udG9Qcm9taXNlKCk7XG4gICAgbGV0IGZpbGVzID0gdGhpcy5maWxlVXBsb2FkRGlhbG9nU2VydmljZS5maWxlcztcbiAgICBsZXQgdXBsb2FkRGVzY3JpcHRvciA9IHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UudXBsb2FkRGVzY3JpcHRvcjtcblxuICAgIGlmICghZmlsZXMgfHwgIWZpbGVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHVpQWN0aW9uUmVxdWVzdC5wYXJhbXMgPSB7XG4gICAgICAuLi51aUFjdGlvblJlcXVlc3QucGFyYW1zLFxuICAgICAgX2ZpbGVzOiBmaWxlcyxcbiAgICAgIF91cGxvYWREZXNjcmlwdG9yOiB1cGxvYWREZXNjcmlwdG9yLFxuICAgICAgaXNNdWx0aXBsZSxcbiAgICAgIHBhcmFtOlxuICAgICAgICB1aUFjdGlvbi5pbnB1dFR5cGUgPT09ICdmaWxlJyB8fCB1aUFjdGlvbi5pbnB1dFR5cGUgPT09ICdtdWx0aXBsZV9maWxlcydcbiAgICAgICAgICA/ICdpbnB1dCdcbiAgICAgICAgICA6ICdpbnB1dDInLFxuICAgIH07XG4gICAgcmV0dXJuIHVpQWN0aW9uUmVxdWVzdDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlSW5wdXRUeXBlVXNlclNlbGVjdChcbiAgICBpbnB1dFR5cGVOYW1lOiAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZycsXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxuICAgIHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWxcbiAgKTogUHJvbWlzZTxVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ+IHtcbiAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCB1aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5oYW5kbGVTcGVjaWZpY0RlbWFuZHNBc3luY2hyb25vdXNseShcbiAgICAgIHVpQWN0aW9uLFxuICAgICAgdWlBY3Rpb25SZXF1ZXN0XG4gICAgKTtcblxuICAgIGlmICghcmVzcG9uc2Uuc2hvdWxkUGVyZm9ybUFjdGlvbiB8fCAhcmVzcG9uc2UudWlBY3Rpb25SZXF1ZXN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHVpQWN0aW9uUmVxdWVzdCA9IHJlc3BvbnNlLnVpQWN0aW9uUmVxdWVzdDtcbiAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwZXJmb3JtQWN0aW9uKFxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCxcbiAgICB1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsLFxuICAgIG9wdGlvbnM/OiBFeGVjdXRlVWlBY3Rpb25PcHRpb25zXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChcbiAgICAgICF1aUFjdGlvblJlcXVlc3QucGFyYW1zIHx8XG4gICAgICAodWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyAmJiAhT2JqZWN0LmtleXModWlBY3Rpb25SZXF1ZXN0LnBhcmFtcykubGVuZ3RoKVxuICAgICkge1xuICAgICAgdWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyA9IHtcbiAgICAgICAgbW9kZWw6IHVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmdldE1vZGVsKCksXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAodWlBY3Rpb24uc3VibWl0IHx8IHVpQWN0aW9uLm1vZGVsKSB7XG4gICAgICBpZiAob3B0aW9ucz8ud2lkZ2V0SWQgJiYgb3B0aW9ucz8ubm9kZUlkKSB7XG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdC5wYXJhbXNbJ2NsaWVudFBhZ2VNb2RlbCddID0geyBkYXRhOiB1aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5nZXRNb2RlbCgpIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1aUFjdGlvblJlcXVlc3QucGFyYW1zWydtb2RlbCddID0gdWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UuZ2V0TW9kZWwoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodWlBY3Rpb24uY29tcG9zaXRlKSB7XG4gICAgICBjb25zdCBjb250YWluZXJVdWlkID0gKHVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlIGFzIGFueSkudXVpZCBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICBpZiAoY29udGFpbmVyVXVpZCkge1xuICAgICAgICB1aUFjdGlvblJlcXVlc3QucGFyYW1zWydjb21wb3NpdGVNb2RlbCddID1cbiAgICAgICAgICB0aGlzLnZpZXdDb250ZXh0LmdldENvbXBvc2l0ZU1vZGVsKGNvbnRhaW5lclV1aWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB1aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5wZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KFxuICAgICAgICB1aUFjdGlvblJlcXVlc3QsXG4gICAgICAgIG9wdGlvbnM/LndpZGdldElkLFxuICAgICAgICBvcHRpb25zPy5ub2RlSWRcbiAgICAgICk7XG5cbiAgICAgIGlmICh1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LmZlZWRiYWNrVHlwZSA9PT0gVWlBY3Rpb25GZWVkYmFja1R5cGUuU05BQ0tCQVIpIHtcbiAgICAgICAgdGhpcy5zaG93U2F2ZWRTbmFja2Jhcih1aUFjdGlvbik7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5vbkFjdGlvbkVycm9yKHVpQWN0aW9uUmVxdWVzdCwgZXJyb3IpO1xuICAgICAgfSBjYXRjaCAoaGFuZGxlckVycm9yOiBhbnkpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0FjdGlvbkVycm9yIEhhbmRsZXIgY3Jhc2hlZDogJywgaGFuZGxlckVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzaG93U2F2ZWRTbmFja2Jhcih1aUFjdGlvbjogVWlBY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLl9zbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChTdWNjZXNzU25hY2tCYXJDb21wb25lbnQsIHtcbiAgICAgIGR1cmF0aW9uOiA1ICogMTAwMCxcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYmFja2dyb3VuZENvbG9yLWFjY2VudCddLFxuICAgICAgZGF0YTogdWlBY3Rpb24sXG4gICAgfSk7XG4gIH1cblxuICBzaG93SW52YWxpZEZpZWxkc1NuYWNrYmFyKGludmFsaWRGaWVsZHM6IFNtYXJ0Rm9ybUludmFsaWRGaWVsZHMpOiB2b2lkIHtcbiAgICB0aGlzLl9zbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChJbnZhbGlkRmllbGRzU25hY2tCYXJDb21wb25lbnQsIHtcbiAgICAgIGR1cmF0aW9uOiA1ICogMTAwMCxcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYmFja2dyb3VuZENvbG9yLXdhcm4nXSxcbiAgICAgIGRhdGE6IGludmFsaWRGaWVsZHMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFZLG9CQUFvQixFQUFFLGlCQUFpQixFQUFtQixNQUFNLFFBQVEsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQU10RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7QUFrQmhILE1BQU0sT0FBTyxlQUFlO0lBTTFCLFlBQzBDLG9CQUFrRCxFQUNoRCxzQkFBa0QsRUFFcEYsdUJBQXdELEVBQ3hELFNBQXNCLEVBQ3RCLFdBQW9DO1FBTEoseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE4QjtRQUNoRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQTRCO1FBRXBGLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBaUM7UUFDeEQsY0FBUyxHQUFULFNBQVMsQ0FBYTtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFYdEMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXpDLGtCQUFhLEdBQXlELENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQ3ZGLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFTaEIsQ0FBQztJQUVKLFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFB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eUJBQXlCLENBQUMsYUFBcUM7UUFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBOEIsRUFBRTtZQUMvRCxRQUFRLEVBQUUsQ0FBQyxHQUFHLElBQUk7WUFDbEIsVUFBVSxFQUFFLENBQUMsc0JBQXNCLENBQUM7WUFDcEMsSUFBSSxFQUFFLGFBQWE7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E3VFUsZUFBZSxrQkFPaEIsc0JBQXNCLGFBQ3RCLHdCQUF3QixhQUN4Qix5QkFBeUI7bUhBVHhCLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBUUksTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUM3QixNQUFNOzJCQUFDLHdCQUF3Qjs7MEJBQy9CLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5cclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbiwgVWlBY3Rpb25GZWVkYmFja1R5cGUsIFVpQWN0aW9uSW5wdXRUeXBlLCBVaUFjdGlvblJlcXVlc3QgfSBmcm9tICcuLi9hcGknO1xyXG5pbXBvcnQgeyBTdWNjZXNzU25hY2tCYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3VjY2Vzcy1zbmFjay1iYXIvc3VjY2Vzcy1zbmFjay1iYXIuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB0eXBlIHsgVWlBY3Rpb25Db25maXJtRGlhbG9nU2VydmljZSB9IGZyb20gJy4vZGlhbG9ncy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgdHlwZSB7IFVpQWN0aW9uSW5wdXREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9kaWFsb2dzL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cvdWktYWN0aW9uLWlucHV0LWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4vdWktYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHR5cGUgeyBVaUFjdGlvbkZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9kaWFsb2dzL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cvdWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRTdWJqZWN0IH0gZnJvbSAnLi4vLi4vc21hcnQtc3ViamVjdC9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IEludmFsaWRGaWVsZHNTbmFja0JhckNvbXBvbmVudCB9IGZyb20gJy4uL2ludmFsaWQtZmllbGRzLXNuYWNrLWJhci9pbnZhbGlkLWZpZWxkcy1zbmFjay1iYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRGb3JtSW52YWxpZEZpZWxkcyB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vc21hcnRmb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgU21hcnRWaWV3Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi9zbWFydC12aWV3LWNvbnRleHQuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGVVaUFjdGlvbk9wdGlvbnMge1xyXG4gIC8qKlxyXG4gICAqIEluIGNhc2Ugb2YgdXNpbmcgYSBncmlkOiBncmlkLmlkZW50aWZpZXJcclxuICAgKi9cclxuICB3aWRnZXRJZD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBJbiBjYXNlIG9mIHVzaW5nIGEgZ3JpZDogZ3JpZFJvdy5pZFxyXG4gICAqL1xyXG4gIG5vZGVJZD86IHN0cmluZztcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBwcml2YXRlIG9uQWN0aW9uRXJyb3I6ICh1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCwgZXJyOiBhbnkpID0+IHZvaWQgPSAoXywgZXJyKSA9PlxyXG4gICAgY29uc29sZS5sb2coZXJyKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KCdjb25maXJtRGlhbG9nU2VydmljZScpIHByaXZhdGUgY29uZmlybURpYWxvZ1NlcnZpY2U6IFVpQWN0aW9uQ29uZmlybURpYWxvZ1NlcnZpY2UsXHJcbiAgICBASW5qZWN0KCd0ZXh0RmllbGREaWFsb2dTZXJ2aWNlJykgcHJpdmF0ZSB0ZXh0RmllbGREaWFsb2dTZXJ2aWNlOiBVaUFjdGlvbklucHV0RGlhbG9nU2VydmljZSxcclxuICAgIEBJbmplY3QoJ2ZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlJylcclxuICAgIHByaXZhdGUgZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2U6IFVpQWN0aW9uRmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zbmFja0JhcjogTWF0U25hY2tCYXIsXHJcbiAgICBwcml2YXRlIHZpZXdDb250ZXh0OiBTbWFydFZpZXdDb250ZXh0U2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEFjdGlvbkVycm9ySGFuZGxlcihmOiAodWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QsIGVycjogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQWN0aW9uRXJyb3IgPSBmO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZXhlY3V0ZShcclxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcclxuICAgIHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwsXHJcbiAgICBvcHRpb25zPzogRXhlY3V0ZVVpQWN0aW9uT3B0aW9uc1xyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIHVpQWN0aW9uUmVxdWVzdCA9IHtcclxuICAgICAgY29kZTogdWlBY3Rpb24uY29kZSEsXHJcbiAgICAgIHBhdGg6IHVpQWN0aW9uLnBhdGgsXHJcbiAgICAgIGlkZW50aWZpZXI6IHVpQWN0aW9uLmlkZW50aWZpZXIsXHJcbiAgICAgIHBhcmFtczogdWlBY3Rpb24ucGFyYW1zID8/IHt9LFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodWlBY3Rpb24uc3VibWl0IHx8IHVpQWN0aW9uLm1vZGVsKSB7XHJcbiAgICAgIC8vIHN1Ym1pdDogd2l0aCB2YWxpZGF0aW9uLCBtb2RlbDogd2l0aG91dCB2YWxpZGF0aW9uLiBib3RoIGNhbiBiZSB1bmRlZmluZWRcclxuICAgICAgY29uc3QgdmFsaWRhdGUgPSB1aUFjdGlvbi5zdWJtaXQgfHwgIXVpQWN0aW9uLm1vZGVsO1xyXG5cclxuICAgICAgaWYgKCdyZVN1YnNjcmliZVRvQ2hhbmdlJyBpbiB1aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZSkge1xyXG4gICAgICAgIGlmICghdmFsaWRhdGUpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFZhbGlkYXRlID0gZmFsc2UsIGJ1dCBVc2VVaUFjdGlvbiBkb2Vzbid0IHN1cHBvcnQgaXRgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0Lm5leHQoKTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgYXdhaXQgdWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0LnRvUHJvbWlzZSgpO1xyXG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XHJcbiAgICAgICAgICB1aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5yZVN1YnNjcmliZVRvQ2hhbmdlLm5leHQoKTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgIHVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnN1Ym1pdCA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xyXG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UucmVTdWJzY3JpYmVUb0NoYW5nZS5uZXh0KCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnN1Ym1pdEZvcm0odmFsaWRhdGUpO1xyXG4gICAgICAgIGxldCBpbnZhbGlkRmllbGRzID0gdWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UuZ2V0SW52YWxpZEZpZWxkcygpO1xyXG5cclxuICAgICAgICBjb25zdCBjb250YWluZXJVdWlkID0gKHVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlIGFzIGFueSkudXVpZCBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKHVpQWN0aW9uLmNvbXBvc2l0ZSAmJiBjb250YWluZXJVdWlkKSB7XHJcbiAgICAgICAgICBjb25zdCBlbWJlZGRlZEludmFsaWQgPSB0aGlzLnZpZXdDb250ZXh0LnN1Ym1pdEVtYmVkZGVkRm9ybXMoY29udGFpbmVyVXVpZCwgdmFsaWRhdGUpO1xyXG4gICAgICAgICAgaW52YWxpZEZpZWxkcyA9IHtcclxuICAgICAgICAgICAgaW52YWxpZEZpZWxkS2V5czogW1xyXG4gICAgICAgICAgICAgIC4uLmludmFsaWRGaWVsZHMuaW52YWxpZEZpZWxkS2V5cyxcclxuICAgICAgICAgICAgICAuLi5lbWJlZGRlZEludmFsaWQuaW52YWxpZEZpZWxkS2V5cyxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgaW52YWxpZEZpZWxkTmFtZXM6IFtcclxuICAgICAgICAgICAgICAuLi5pbnZhbGlkRmllbGRzLmludmFsaWRGaWVsZE5hbWVzLFxyXG4gICAgICAgICAgICAgIC4uLmVtYmVkZGVkSW52YWxpZC5pbnZhbGlkRmllbGROYW1lcyxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodmFsaWRhdGUgJiYgaW52YWxpZEZpZWxkcy5pbnZhbGlkRmllbGRLZXlzLmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy5zaG93SW52YWxpZEZpZWxkc1NuYWNrYmFyKGludmFsaWRGaWVsZHMpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh1aUFjdGlvbi5jb25maXJtKSB7XHJcbiAgICAgIHRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2UuYWN0aW9uID0gdWlBY3Rpb247XHJcbiAgICAgIHRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZygpO1xyXG4gICAgICBhd2FpdCB0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLm9uQWN0aW9uLnRvUHJvbWlzZSgpO1xyXG4gICAgICBpZiAoIXRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2Uuc2hvdWxkRG9BY3Rpb24pIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBJbnB1dFR5cGVcclxuICAgIGlmICh1aUFjdGlvbi5pbnB1dFR5cGUgJiYgdWlBY3Rpb24uaW5wdXRUeXBlICE9PSBVaUFjdGlvbklucHV0VHlwZS5OT05FKSB7XHJcbiAgICAgIHVpQWN0aW9uUmVxdWVzdCA9IGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlKFxyXG4gICAgICAgIHVpQWN0aW9uLmlucHV0VHlwZSxcclxuICAgICAgICB1aUFjdGlvbixcclxuICAgICAgICB1aUFjdGlvblJlcXVlc3QsXHJcbiAgICAgICAgJ2lucHV0RGlhbG9nJyxcclxuICAgICAgICB1aUFjdGlvbk1vZGVsXHJcbiAgICAgICk7XHJcbiAgICAgIGlmICghdWlBY3Rpb25SZXF1ZXN0KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDI1MCkpO1xyXG4gICAgfVxyXG4gICAgLy8gSW5wdXQyVHlwZVxyXG4gICAgaWYgKHVpQWN0aW9uLmlucHV0MlR5cGUgJiYgdWlBY3Rpb24uaW5wdXQyVHlwZSAhPT0gVWlBY3Rpb25JbnB1dFR5cGUuTk9ORSkge1xyXG4gICAgICB1aUFjdGlvblJlcXVlc3QgPSBhd2FpdCB0aGlzLmhhbmRsZUlucHV0VHlwZShcclxuICAgICAgICB1aUFjdGlvbi5pbnB1dDJUeXBlLFxyXG4gICAgICAgIHVpQWN0aW9uLFxyXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdCxcclxuICAgICAgICAnaW5wdXQyRGlhbG9nJyxcclxuICAgICAgICB1aUFjdGlvbk1vZGVsXHJcbiAgICAgICk7XHJcbiAgICAgIGlmICghdWlBY3Rpb25SZXF1ZXN0KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHVpQWN0aW9uTW9kZWwuZXhjZXB0aW9uKSB7XHJcbiAgICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxyXG4gICAgICAgIHVpQWN0aW9uLFxyXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdFxyXG4gICAgICApO1xyXG5cclxuICAgICAgaWYgKCFyZXNwb25zZS5zaG91bGRQZXJmb3JtQWN0aW9uIHx8ICFyZXNwb25zZS51aUFjdGlvblJlcXVlc3QpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdWlBY3Rpb25SZXF1ZXN0ID0gcmVzcG9uc2UudWlBY3Rpb25SZXF1ZXN0O1xyXG4gICAgfVxyXG5cclxuICAgIGF3YWl0IHRoaXMucGVyZm9ybUFjdGlvbih1aUFjdGlvbiwgdWlBY3Rpb25SZXF1ZXN0LCB1aUFjdGlvbk1vZGVsLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlSW5wdXRUeXBlKFxyXG4gICAgaW5wdXRUeXBlOiBVaUFjdGlvbklucHV0VHlwZSxcclxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgaW5wdXRUeXBlTmFtZTogJ2lucHV0RGlhbG9nJyB8ICdpbnB1dDJEaWFsb2cnLFxyXG4gICAgdWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbFxyXG4gICk6IFByb21pc2U8VWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkPiB7XHJcbiAgICBzd2l0Y2ggKGlucHV0VHlwZSkge1xyXG4gICAgICBjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLk5PTkU6XHJcbiAgICAgICAgcmV0dXJuIHVpQWN0aW9uUmVxdWVzdDtcclxuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5URVhUQVJFQTpcclxuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5URVhURklFTEQ6XHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlVGV4dEZpZWxkKFxyXG4gICAgICAgICAgaW5wdXRUeXBlTmFtZSxcclxuICAgICAgICAgIHVpQWN0aW9uLFxyXG4gICAgICAgICAgdWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgICAgICAgdWlBY3Rpb25Nb2RlbFxyXG4gICAgICAgICk7XHJcbiAgICAgIGNhc2UgVWlBY3Rpb25JbnB1dFR5cGUuVVNFUl9TRUxFQ1Q6XHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlVXNlclNlbGVjdChcclxuICAgICAgICAgIGlucHV0VHlwZU5hbWUsXHJcbiAgICAgICAgICB1aUFjdGlvbixcclxuICAgICAgICAgIHVpQWN0aW9uUmVxdWVzdCxcclxuICAgICAgICAgIHVpQWN0aW9uTW9kZWxcclxuICAgICAgICApO1xyXG4gICAgICBjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLkZJTEU6XHJcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlVXBsb2FkKGlucHV0VHlwZU5hbWUsIHVpQWN0aW9uLCB1aUFjdGlvblJlcXVlc3QsIGZhbHNlKTtcclxuICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5NVUxUSVBMRV9GSUxFUzpcclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGVVcGxvYWQoaW5wdXRUeXBlTmFtZSwgdWlBY3Rpb24sIHVpQWN0aW9uUmVxdWVzdCwgdHJ1ZSk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHVpQWN0aW9uUmVxdWVzdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlSW5wdXRUeXBlVGV4dEZpZWxkKFxyXG4gICAgaW5wdXRUeXBlTmFtZTogJ2lucHV0RGlhbG9nJyB8ICdpbnB1dDJEaWFsb2cnLFxyXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QsXHJcbiAgICB1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsXHJcbiAgKTogUHJvbWlzZTxVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ+IHtcclxuICAgIGxldCBhZGRpdGlvbmFsUGFyYW1zID0gdWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UuZ2V0QWRkaXRpb25hbFBhcmFtcyh1aUFjdGlvbik7XHJcbiAgICBsZXQgaW5wdXRUeXBlOiAnaW5wdXRUeXBlJyB8ICdpbnB1dDJUeXBlJyA9XHJcbiAgICAgIGlucHV0VHlwZU5hbWUgPT09ICdpbnB1dERpYWxvZycgPyAnaW5wdXRUeXBlJyA6ICdpbnB1dDJUeXBlJztcclxuXHJcbiAgICBpZiAodWlBY3Rpb25baW5wdXRUeXBlXSA9PT0gVWlBY3Rpb25JbnB1dFR5cGUuVEVYVEZJRUxEKSB7XHJcbiAgICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5ub2RlTmFtZSA9IGFkZGl0aW9uYWxQYXJhbXMuZm9yVGV4dEZpZWxkO1xyXG4gICAgfSBlbHNlIGlmICh1aUFjdGlvbltpbnB1dFR5cGVdID09PSBVaUFjdGlvbklucHV0VHlwZS5URVhUQVJFQSkge1xyXG4gICAgICB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2Uubm9kZU5hbWUgPSBhZGRpdGlvbmFsUGFyYW1zLmZvclRleHRBcmVhO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5pbnB1dFR5cGVOYW1lID0gaW5wdXRUeXBlTmFtZTtcclxuICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5hY3Rpb24gPSB1aUFjdGlvbjtcclxuXHJcbiAgICB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZygpO1xyXG5cclxuICAgIGF3YWl0IHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5vbkFjdGlvbi50b1Byb21pc2UoKTtcclxuICAgIGxldCBwYXJhbXMgPSB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2UucGFyYW1zO1xyXG5cclxuICAgIGlmICghcGFyYW1zKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZXJlIHdhcyBubyByZXNwb25zZSBmcm9tIElucHV0RGlhbG9nJyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHVpQWN0aW9uUmVxdWVzdC5wYXJhbXMgPSB7XHJcbiAgICAgIC4uLnVpQWN0aW9uUmVxdWVzdC5wYXJhbXMsXHJcbiAgICAgIC4uLnBhcmFtcyxcclxuICAgIH07XHJcbiAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVJbnB1dFR5cGVVcGxvYWQoXHJcbiAgICBpbnB1dFR5cGVOYW1lOiAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZycsXHJcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXHJcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCxcclxuICAgIGlzTXVsdGlwbGU6IGJvb2xlYW5cclxuICApOiBQcm9taXNlPFVpQWN0aW9uUmVxdWVzdCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgdGhpcy5maWxlVXBsb2FkRGlhbG9nU2VydmljZS5pbnB1dFR5cGVOYW1lID0gaW5wdXRUeXBlTmFtZTtcclxuICAgIHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UuYWN0aW9uID0gdWlBY3Rpb247XHJcbiAgICB0aGlzLmZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLmlzTXVsdGlwbGUgPSBpc011bHRpcGxlO1xyXG5cclxuICAgIHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZygpO1xyXG5cclxuICAgIGF3YWl0IHRoaXMuZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2Uub25BY3Rpb24udG9Qcm9taXNlKCk7XHJcbiAgICBsZXQgZmlsZXMgPSB0aGlzLmZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLmZpbGVzO1xyXG4gICAgbGV0IHVwbG9hZERlc2NyaXB0b3IgPSB0aGlzLmZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlLnVwbG9hZERlc2NyaXB0b3I7XHJcblxyXG4gICAgaWYgKCFmaWxlcyB8fCAhZmlsZXMubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB1aUFjdGlvblJlcXVlc3QucGFyYW1zID0ge1xyXG4gICAgICAuLi51aUFjdGlvblJlcXVlc3QucGFyYW1zLFxyXG4gICAgICBfZmlsZXM6IGZpbGVzLFxyXG4gICAgICBfdXBsb2FkRGVzY3JpcHRvcjogdXBsb2FkRGVzY3JpcHRvcixcclxuICAgICAgaXNNdWx0aXBsZSxcclxuICAgICAgcGFyYW06XHJcbiAgICAgICAgdWlBY3Rpb24uaW5wdXRUeXBlID09PSAnZmlsZScgfHwgdWlBY3Rpb24uaW5wdXRUeXBlID09PSAnbXVsdGlwbGVfZmlsZXMnXHJcbiAgICAgICAgICA/ICdpbnB1dCdcclxuICAgICAgICAgIDogJ2lucHV0MicsXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHVpQWN0aW9uUmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlSW5wdXRUeXBlVXNlclNlbGVjdChcclxuICAgIGlucHV0VHlwZU5hbWU6ICdpbnB1dERpYWxvZycgfCAnaW5wdXQyRGlhbG9nJyxcclxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgdWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbFxyXG4gICk6IFByb21pc2U8VWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkPiB7XHJcbiAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCB1aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5oYW5kbGVTcGVjaWZpY0RlbWFuZHNBc3luY2hyb25vdXNseShcclxuICAgICAgdWlBY3Rpb24sXHJcbiAgICAgIHVpQWN0aW9uUmVxdWVzdFxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoIXJlc3BvbnNlLnNob3VsZFBlcmZvcm1BY3Rpb24gfHwgIXJlc3BvbnNlLnVpQWN0aW9uUmVxdWVzdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB1aUFjdGlvblJlcXVlc3QgPSByZXNwb25zZS51aUFjdGlvblJlcXVlc3Q7XHJcbiAgICByZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBwZXJmb3JtQWN0aW9uKFxyXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QsXHJcbiAgICB1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsLFxyXG4gICAgb3B0aW9ucz86IEV4ZWN1dGVVaUFjdGlvbk9wdGlvbnNcclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChcclxuICAgICAgIXVpQWN0aW9uUmVxdWVzdC5wYXJhbXMgfHxcclxuICAgICAgKHVpQWN0aW9uUmVxdWVzdC5wYXJhbXMgJiYgIU9iamVjdC5rZXlzKHVpQWN0aW9uUmVxdWVzdC5wYXJhbXMpLmxlbmd0aClcclxuICAgICkge1xyXG4gICAgICB1aUFjdGlvblJlcXVlc3QucGFyYW1zID0ge1xyXG4gICAgICAgIG1vZGVsOiB1aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5nZXRNb2RlbCgpLFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIGlmICh1aUFjdGlvbi5zdWJtaXQgfHwgdWlBY3Rpb24ubW9kZWwpIHtcclxuICAgICAgaWYgKG9wdGlvbnM/LndpZGdldElkICYmIG9wdGlvbnM/Lm5vZGVJZCkge1xyXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdC5wYXJhbXNbJ2NsaWVudFBhZ2VNb2RlbCddID0geyBkYXRhOiB1aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5nZXRNb2RlbCgpIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdWlBY3Rpb25SZXF1ZXN0LnBhcmFtc1snbW9kZWwnXSA9IHVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmdldE1vZGVsKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodWlBY3Rpb24uY29tcG9zaXRlKSB7XHJcbiAgICAgIGNvbnN0IGNvbnRhaW5lclV1aWQgPSAodWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UgYXMgYW55KS51dWlkIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgICAgaWYgKGNvbnRhaW5lclV1aWQpIHtcclxuICAgICAgICB1aUFjdGlvblJlcXVlc3QucGFyYW1zWydjb21wb3NpdGVNb2RlbCddID1cclxuICAgICAgICAgIHRoaXMudmlld0NvbnRleHQuZ2V0Q29tcG9zaXRlTW9kZWwoY29udGFpbmVyVXVpZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCB1aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5wZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KFxyXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdCxcclxuICAgICAgICBvcHRpb25zPy53aWRnZXRJZCxcclxuICAgICAgICBvcHRpb25zPy5ub2RlSWRcclxuICAgICAgKTtcclxuXHJcbiAgICAgIGlmICh1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LmZlZWRiYWNrVHlwZSA9PT0gVWlBY3Rpb25GZWVkYmFja1R5cGUuU05BQ0tCQVIpIHtcclxuICAgICAgICB0aGlzLnNob3dTYXZlZFNuYWNrYmFyKHVpQWN0aW9uKTtcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHRoaXMub25BY3Rpb25FcnJvcih1aUFjdGlvblJlcXVlc3QsIGVycm9yKTtcclxuICAgICAgfSBjYXRjaCAoaGFuZGxlckVycm9yOiBhbnkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQWN0aW9uRXJyb3IgSGFuZGxlciBjcmFzaGVkOiAnLCBoYW5kbGVyRXJyb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93U2F2ZWRTbmFja2Jhcih1aUFjdGlvbjogVWlBY3Rpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuX3NuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KFN1Y2Nlc3NTbmFja0JhckNvbXBvbmVudCwge1xyXG4gICAgICBkdXJhdGlvbjogNSAqIDEwMDAsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYmFja2dyb3VuZENvbG9yLWFjY2VudCddLFxyXG4gICAgICBkYXRhOiB1aUFjdGlvbixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2hvd0ludmFsaWRGaWVsZHNTbmFja2JhcihpbnZhbGlkRmllbGRzOiBTbWFydEZvcm1JbnZhbGlkRmllbGRzKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChJbnZhbGlkRmllbGRzU25hY2tCYXJDb21wb25lbnQsIHtcclxuICAgICAgZHVyYXRpb246IDUgKiAxMDAwLFxyXG4gICAgICBwYW5lbENsYXNzOiBbJ2JhY2tncm91bmRDb2xvci13YXJuJ10sXHJcbiAgICAgIGRhdGE6IGludmFsaWRGaWVsZHMsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
75
75
|
type: Inject,
|
|
76
76
|
args: [COMPONENT_LIBRARY]
|
|
77
77
|
}] }] });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1jb250ZXh0LWRpYWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC1kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFLNUIsTUFBTSxPQUFPLDZCQUE2QjtJQUV4QyxZQUNZLE1BQWlCLEVBQ2pCLGFBQTRCLEVBQzVCLE1BQWdCLEVBQ1EsT0FBeUI7UUFIakQsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQ1EsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFMN0QscUJBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFNakMsQ0FBQztJQUVKLFlBQVksQ0FDVixXQUE0QixFQUM1QixTQUE2QjtRQUU3QixJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwRCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUVsRSxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2pELElBQUksRUFBRSxVQUFVO2dCQUNoQixXQUFXLEVBQUUsS0FBSztnQkFDbEIsYUFBYSxFQUFFLEtBQUs7Z0JBQ3BCLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDO2dCQUNoRCxVQUFVLEVBQUUsQ0FBQyxHQUFHO2FBQ2pCLENBQUMsQ0FBQztZQUNILFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUNiLFdBQTRCLEVBQzVCLFNBQTZCO1FBRTdCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRXJFLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMzQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQscUJBQXFCLENBQ25CLFNBQTZCLEVBQzdCLFFBQWdCLEVBQ2hCLElBQWE7UUFFYixJQUFJLFdBQVcsR0FBb0I7WUFDakMsSUFBSSxFQUFFLEVBQUU7WUFDUixPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLFFBQVE7YUFDaEI7WUFDRCxlQUFlLEVBQUUsU0FBUztZQUMxQixJQUFJO1NBQ0wsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQ2YsU0FBb0QsRUFDcEQsVUFBMkI7UUFFM0IsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ25CLElBQUksU0FBUyxZQUFZLGdCQUFnQixFQUFFLENBQUM7WUFDMUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDOytHQTNFVSw2QkFBNkIsZ0dBTTlCLGlCQUFpQjttSEFOaEIsNkJBQTZCLGNBRjVCLE1BQU07OzRGQUVQLDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU21hcnREaWFsb2dEYXRhIH0gZnJvbSAnLi4vc21hcnQtZGlhbG9nL3NtYXJ0ZGlhbG9nLm1vZGVsJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5IH0gZnJvbSAnLi91dGlsaXR5L2NvbXBvbmVudExpYnJhcnknO1xyXG5pbXBvcnQgeyBESUFMT0dfRElTQUJMRV9DTE9TRSB9IGZyb20gJy4vc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRWaWV3Q29udGV4dERpYWxvZ1NlcnZpY2Uge1xyXG4gIGNvbXBvbmVudExpYnJhcnkgPSBDb21wb25lbnRMaWJyYXJ5O1xyXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcm90ZWN0ZWQgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBpbmplY3Q6IEluamVjdG9yLFxyXG4gICAgQEluamVjdChDT01QT05FTlRfTElCUkFSWSkgcHVibGljIGNvbXBMaWI6IENvbXBvbmVudExpYnJhcnlcclxuICApIHt9XHJcblxyXG4gIGNyZWF0ZURpYWxvZyhcclxuICAgIHNtYXJ0RGlhbG9nOiBTbWFydERpYWxvZ0RhdGEsXHJcbiAgICBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8YW55PlxyXG4gICk6IE1hdERpYWxvZ1JlZjxhbnksIGFueT4gfCBEeW5hbWljRGlhbG9nUmVmIHtcclxuICAgIGxldCBkaWFsb2dEYXRhID0gc21hcnREaWFsb2c7XHJcbiAgICBpZiAodGhpcy5jb21wTGliID09PSB0aGlzLmNvbXBvbmVudExpYnJhcnkuTUFURVJJQUwpIHtcclxuICAgICAgbGV0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oY29tcG9uZW50LCB7IGRhdGE6IGRpYWxvZ0RhdGEgfSk7XHJcblxyXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xvc2VEaWFsb2coZGlhbG9nUmVmLCBkaWFsb2dEYXRhKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBkaWFsb2dSZWY7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oY29tcG9uZW50LCB7XHJcbiAgICAgICAgZGF0YTogZGlhbG9nRGF0YSxcclxuICAgICAgICBmb2N1c09uU2hvdzogZmFsc2UsXHJcbiAgICAgICAgY2xvc2VPbkVzY2FwZTogZmFsc2UsXHJcbiAgICAgICAgZHVwbGljYXRlOiB0cnVlLFxyXG4gICAgICAgIGNsb3NhYmxlOiAhdGhpcy5pbmplY3QuZ2V0KERJQUxPR19ESVNBQkxFX0NMT1NFKSxcclxuICAgICAgICBiYXNlWkluZGV4OiAtMTAyLFxyXG4gICAgICB9KTtcclxuICAgICAgZGlhbG9nUmVmLm9uQ2xvc2UucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xvc2VEaWFsb2coZGlhbG9nUmVmLCBkaWFsb2dEYXRhKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBkaWFsb2dSZWY7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVEaWFsb2dSZWYoXHJcbiAgICBzbWFydERpYWxvZzogU21hcnREaWFsb2dEYXRhLFxyXG4gICAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPGFueT5cclxuICApOiBNYXREaWFsb2dSZWY8YW55LCBhbnk+IHwgRHluYW1pY0RpYWxvZ1JlZiB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKGNvbXBvbmVudCwgeyBkYXRhOiBzbWFydERpYWxvZyB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBkaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBkaWFsb2dSZWY7XHJcbiAgfVxyXG5cclxuICBvcGVuQ29tcG9uZW50QXNEaWFsb2coXHJcbiAgICBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8YW55PixcclxuICAgIHZpZXdOYW1lOiBzdHJpbmcsXHJcbiAgICB1dWlkPzogc3RyaW5nXHJcbiAgKTogTWF0RGlhbG9nUmVmPGFueSwgYW55PiB8IER5bmFtaWNEaWFsb2dSZWYge1xyXG4gICAgbGV0IHNtYXJ0RGlhbG9nOiBTbWFydERpYWxvZ0RhdGEgPSB7XHJcbiAgICAgIHNpemU6IHt9LFxyXG4gICAgICBjb250ZW50OiB7XHJcbiAgICAgICAgdGl0bGU6IHZpZXdOYW1lLFxyXG4gICAgICB9LFxyXG4gICAgICBjdXN0b21Db21wb25lbnQ6IGNvbXBvbmVudCxcclxuICAgICAgdXVpZCxcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlRGlhbG9nKHNtYXJ0RGlhbG9nLCBjb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgY2xvc2VEaWFsb2coXHJcbiAgICBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxhbnksIGFueT4gfCBEeW5hbWljRGlhbG9nUmVmLFxyXG4gICAgZGlhbG9nRGF0YTogU21hcnREaWFsb2dEYXRhXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBkaWFsb2dSZWY/LmNsb3NlKCk7XHJcbiAgICBpZiAoZGlhbG9nUmVmIGluc3RhbmNlb2YgRHluYW1pY0RpYWxvZ1JlZikge1xyXG4gICAgICBkaWFsb2dSZWY/LmRlc3Ryb3koKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -26,10 +26,10 @@ export class SmartViewContextErrorDialogComponent {
|
|
|
26
26
|
this.service.closeDialog();
|
|
27
27
|
}
|
|
28
28
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartViewContextErrorDialogComponent, deps: [{ token: i1.SmartViewContextErrorDialogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartViewContextErrorDialogComponent, selector: "lib-smart-view-context-error-dialog", ngImport: i0, template: "<div *ngIf=\"smartViewContextApiError\" class=\"container\">\n <h3 class=\"color-accent-700\">\n {{ smartViewContextApiError.dialogTitle }}\n </h3>\n <div class=\"content\">\n <p>\n {{ smartViewContextApiError.message }}\n </p>\n </div>\n <div class=\"buttonContainer\">\n <ui-action-button [descriptor]=\"buttonDescriptor\" (actionClick)=\"onActionClick()\">\n </ui-action-button>\n </div>\n</div>\n", styles: [".container{display:flex;flex-direction:column;gap:1em;min-width:25rem;max-width:50vw;height:auto;max-height:75vh}.content{flex:1;overflow:auto}.buttonContainer{display:flex;flex-direction:row;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "identifier", "viewActivated", "addedCssClass", "addBasicClasses", "iconPlaceholder"], outputs: ["actionClick", "actionDoubleClick"] }] }); }
|
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartViewContextErrorDialogComponent, selector: "lib-smart-view-context-error-dialog", ngImport: i0, template: "<div *ngIf=\"smartViewContextApiError\" class=\"container\">\r\n <h3 class=\"color-accent-700\">\r\n {{ smartViewContextApiError.dialogTitle }}\r\n </h3>\r\n <div class=\"content\">\r\n <p>\r\n {{ smartViewContextApiError.message }}\r\n </p>\r\n </div>\r\n <div class=\"buttonContainer\">\r\n <ui-action-button [descriptor]=\"buttonDescriptor\" (actionClick)=\"onActionClick()\">\r\n </ui-action-button>\r\n </div>\r\n</div>\r\n", styles: [".container{display:flex;flex-direction:column;gap:1em;min-width:25rem;max-width:50vw;height:auto;max-height:75vh}.content{flex:1;overflow:auto}.buttonContainer{display:flex;flex-direction:row;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "identifier", "viewActivated", "addedCssClass", "addBasicClasses", "iconPlaceholder"], outputs: ["actionClick", "actionDoubleClick"] }] }); }
|
|
30
30
|
}
|
|
31
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartViewContextErrorDialogComponent, decorators: [{
|
|
32
32
|
type: Component,
|
|
33
|
-
args: [{ selector: 'lib-smart-view-context-error-dialog', template: "<div *ngIf=\"smartViewContextApiError\" class=\"container\">\n <h3 class=\"color-accent-700\">\n {{ smartViewContextApiError.dialogTitle }}\n </h3>\n <div class=\"content\">\n <p>\n {{ smartViewContextApiError.message }}\n </p>\n </div>\n <div class=\"buttonContainer\">\n <ui-action-button [descriptor]=\"buttonDescriptor\" (actionClick)=\"onActionClick()\">\n </ui-action-button>\n </div>\n</div>\n", styles: [".container{display:flex;flex-direction:column;gap:1em;min-width:25rem;max-width:50vw;height:auto;max-height:75vh}.content{flex:1;overflow:auto}.buttonContainer{display:flex;flex-direction:row;justify-content:flex-end}\n"] }]
|
|
33
|
+
args: [{ selector: 'lib-smart-view-context-error-dialog', template: "<div *ngIf=\"smartViewContextApiError\" class=\"container\">\r\n <h3 class=\"color-accent-700\">\r\n {{ smartViewContextApiError.dialogTitle }}\r\n </h3>\r\n <div class=\"content\">\r\n <p>\r\n {{ smartViewContextApiError.message }}\r\n </p>\r\n </div>\r\n <div class=\"buttonContainer\">\r\n <ui-action-button [descriptor]=\"buttonDescriptor\" (actionClick)=\"onActionClick()\">\r\n </ui-action-button>\r\n </div>\r\n</div>\r\n", styles: [".container{display:flex;flex-direction:column;gap:1em;min-width:25rem;max-width:50vw;height:auto;max-height:75vh}.content{flex:1;overflow:auto}.buttonContainer{display:flex;flex-direction:row;justify-content:flex-end}\n"] }]
|
|
34
34
|
}], ctorParameters: () => [{ type: i1.SmartViewContextErrorDialogService }] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy9zbWFydC12aWV3LWNvbnRleHQtZXJyb3ItZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC12aWV3LWNvbnRleHQtZXJyb3ItZGlhbG9nL3NtYXJ0LXZpZXctY29udGV4dC1lcnJvci1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUdsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQXNCLE1BQU0sUUFBUSxDQUFDOzs7OztBQU9oRSxNQUFNLE9BQU8sb0NBQW9DO0lBSy9DLFlBQW9CLE9BQTJDO1FBQTNDLFlBQU8sR0FBUCxPQUFPLENBQW9DO1FBQzdELElBQUksQ0FBQyxPQUFPO2FBQ1QsMkJBQTJCLEVBQUU7YUFDN0IsSUFBSSxDQUFDLENBQUMsd0JBQWtELEVBQUUsRUFBRTtZQUMzRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsd0JBQXdCLENBQUM7WUFDekQsSUFBSSxDQUFDLGdCQUFnQixHQUFHO2dCQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVk7Z0JBQ2pELEtBQUssRUFBRSxTQUFTO2dCQUNoQixJQUFJLEVBQUUsa0JBQWtCLENBQUMsTUFBTTthQUNoQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7SUFFbkIsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFLFlBQVksRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QixDQUFDOytHQXpCVSxvQ0FBb0M7bUdBQXBDLG9DQUFvQywyRUNWakQsd2NBY0E7OzRGREphLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDRSxxQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0QXBpRXJyb3IgfSBmcm9tICcuLi9zbWFydC12aWV3LWNvbnRleHQubW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC12aWV3LWNvbnRleHQtZXJyb3ItZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkJ1dHRvblR5cGUsIFVpQWN0aW9uRGVzY3JpcHRvciB9IGZyb20gJy4uL2FwaSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zbWFydC12aWV3LWNvbnRleHQtZXJyb3ItZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvcj86IFNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvcjtcclxuXHJcbiAgYnV0dG9uRGVzY3JpcHRvciE6IFVpQWN0aW9uRGVzY3JpcHRvcjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOiBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLmdldFNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvcigpXHJcbiAgICAgIC50aGVuKChzbWFydFZpZXdDb250ZXh0QXBpRXJyb3I6IFNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvcikgPT4ge1xyXG4gICAgICAgIHRoaXMuc21hcnRWaWV3Q29udGV4dEFwaUVycm9yID0gc21hcnRWaWV3Q29udGV4dEFwaUVycm9yO1xyXG4gICAgICAgIHRoaXMuYnV0dG9uRGVzY3JpcHRvciA9IHtcclxuICAgICAgICAgIHRpdGxlOiB0aGlzLnNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvci5idXR0b25MYWJlbCEsXHJcbiAgICAgICAgICBjb2xvcjogJ3ByaW1hcnknLFxyXG4gICAgICAgICAgdHlwZTogVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRCxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgb25BY3Rpb25DbGljaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvcj8uY3VzdG9tQWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuc21hcnRWaWV3Q29udGV4dEFwaUVycm9yLmN1c3RvbUFjdGlvbigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlRGlhbG9nKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJzbWFydFZpZXdDb250ZXh0QXBpRXJyb3JcIiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gIDxoMyBjbGFzcz1cImNvbG9yLWFjY2VudC03MDBcIj5cclxuICAgIHt7IHNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvci5kaWFsb2dUaXRsZSB9fVxyXG4gIDwvaDM+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cclxuICAgIDxwPlxyXG4gICAgICB7eyBzbWFydFZpZXdDb250ZXh0QXBpRXJyb3IubWVzc2FnZSB9fVxyXG4gICAgPC9wPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJidXR0b25Db250YWluZXJcIj5cclxuICAgIDx1aS1hY3Rpb24tYnV0dG9uIFtkZXNjcmlwdG9yXT1cImJ1dHRvbkRlc2NyaXB0b3JcIiAoYWN0aW9uQ2xpY2spPVwib25BY3Rpb25DbGljaygpXCI+XHJcbiAgICA8L3VpLWFjdGlvbi1idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|