@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
|
@@ -57,11 +57,11 @@ export class SmartFilterExpressionItemComponent {
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterExpressionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
60
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: { item: "item", hasNext: "hasNext", service: "service" }, ngImport: i0, template: "<div class=\"expressionItemContainer\">\n <div\n class=\"expressionItemInnerContainer\"\n [ngClass]=\"\n item.expressionData?.currentOperation === 'EXPRESSION'\n ? isSelected\n ? 'selectedExpressionContainer'\n : 'expressionContainer'\n : ''\n \"\n >\n <div\n *ngIf=\"\n item.expressionData?.currentOperation === 'EXPRESSION';\n then expression;\n else simpleItem\n \"\n ></div>\n <ng-template #expression>\n <div class=\"expressionItemBubble expression\" (click)=\"select($event, item)\">[</div>\n <app-expression-item\n [item]=\"subItem\"\n [service]=\"service\"\n [hasNext]=\"i < (item.subFieldList?.filters)!.length - 1\"\n *ngFor=\"let subItem of item.subFieldList?.filters; let i = index\"\n ></app-expression-item>\n <div class=\"expressionItemBubble expression\">]</div>\n </ng-template>\n <ng-template #simpleItem>\n <div\n (click)=\"select($event, item)\"\n class=\"expressionItemBubble simpleItem\"\n [ngClass]=\"isSelected ? 'selectedSimpleItem' : ''\"\n >\n {{ item.label }}:\n <div *ngIf=\"item.expressionData?.currentOperation !== 'BETWEEN'\">\n <div *ngIf=\"item.widgetType === 'DATE'\">\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDate }}</b>\n </div>\n <div *ngIf=\"item.widgetType === 'DATE_TIME'\">\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDateTime }}</b>\n </div>\n <div *ngIf=\"item.widgetType !== 'DATE_TIME' && item.widgetType !== 'DATE'\">\n <b>{{ getDisplayValue(item.expressionData!.operand2!.valueAsString!) }}</b>\n </div>\n </div>\n <div *ngIf=\"item.expressionData?.currentOperation === 'IN'\">\n <b *ngFor=\"let value of item.expressionData?.operand2?.selectedValues; let last = last\">\n {{ getDisplayValue(value) }} <b *ngIf=\"!last\">,</b>\n </b>\n </div>\n <div class=\"expressionValues\" *ngIf=\"item.expressionData?.currentOperation === 'BETWEEN'\">\n <div *ngIf=\"item.widgetType === 'DATE'\">\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDate }}</b>\n </div>\n <div *ngIf=\"item.widgetType === 'DATE_TIME'\">\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDateTime }}</b>\n </div>\n <div *ngIf=\"item.widgetType !== 'DATE_TIME' && item.widgetType !== 'DATE'\">\n <b>{{ item.expressionData?.operand2?.valueAsString }}</b>\n </div>\n <b>-</b>\n <div *ngIf=\"item.widgetType === 'DATE'\">\n <b>{{ item.expressionData!.operand3!.valueAsString! | smartDate }}</b>\n </div>\n <div *ngIf=\"item.widgetType === 'DATE_TIME'\">\n <b>{{ item.expressionData!.operand3!.valueAsString! | smartDateTime }}</b>\n </div>\n <div *ngIf=\"item.widgetType !== 'DATE_TIME' && item.widgetType !== 'DATE'\">\n <b>{{ item.expressionData?.operand3?.valueAsString }}</b>\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n <div *ngIf=\"hasNext\" class=\"relationItemBubble\">\n <button\n mat-button\n (click)=\"setOperatorTo($event, boolOperatorType.AND)\"\n [ngClass]=\"\n item.expressionData?.boolOperator === boolOperatorType.AND\n ? 'mat-raised-button and-operator'\n : ''\n \"\n color=\"black\"\n >\n \u00C9S\n </button>\n <button\n mat-button\n (click)=\"setOperatorTo($event, boolOperatorType.OR)\"\n [ngClass]=\"\n item.expressionData?.boolOperator === boolOperatorType.OR\n ? 'mat-raised-button or-operator'\n : ''\n \"\n color=\"black\"\n >\n VAGY\n </button>\n </div>\n</div>\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-darker-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.selectedSimpleItem{border:2px solid var(--primary-color)}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem}.relationItemBubble .mat-mdc-button{border-radius:1.5rem;height:100%;margin:auto 0}.expressionValues{display:flex;flex-direction:row;gap:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: ["item", "hasNext", "service"] }, { kind: "pipe", type: i3.SmartDateTimePipe, name: "smartDateTime" }, { kind: "pipe", type: i3.SmartDatePipe, name: "smartDate" }] }); }
|
|
60
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: { item: "item", hasNext: "hasNext", service: "service" }, ngImport: i0, template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n >\r\n <div\r\n *ngIf=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION';\r\n then expression;\r\n else simpleItem\r\n \"\r\n ></div>\r\n <ng-template #expression>\r\n <div class=\"expressionItemBubble expression\" (click)=\"select($event, item)\">[</div>\r\n <app-expression-item\r\n [item]=\"subItem\"\r\n [service]=\"service\"\r\n [hasNext]=\"i < (item.subFieldList?.filters)!.length - 1\"\r\n *ngFor=\"let subItem of item.subFieldList?.filters; let i = index\"\r\n ></app-expression-item>\r\n <div class=\"expressionItemBubble expression\">]</div>\r\n </ng-template>\r\n <ng-template #simpleItem>\r\n <div\r\n (click)=\"select($event, item)\"\r\n class=\"expressionItemBubble simpleItem\"\r\n [ngClass]=\"isSelected ? 'selectedSimpleItem' : ''\"\r\n >\r\n {{ item.label }}:\r\n <div *ngIf=\"item.expressionData?.currentOperation !== 'BETWEEN'\">\r\n <div *ngIf=\"item.widgetType === 'DATE'\">\r\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDate }}</b>\r\n </div>\r\n <div *ngIf=\"item.widgetType === 'DATE_TIME'\">\r\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDateTime }}</b>\r\n </div>\r\n <div *ngIf=\"item.widgetType !== 'DATE_TIME' && item.widgetType !== 'DATE'\">\r\n <b>{{ getDisplayValue(item.expressionData!.operand2!.valueAsString!) }}</b>\r\n </div>\r\n </div>\r\n <div *ngIf=\"item.expressionData?.currentOperation === 'IN'\">\r\n <b *ngFor=\"let value of item.expressionData?.operand2?.selectedValues; let last = last\">\r\n {{ getDisplayValue(value) }} <b *ngIf=\"!last\">,</b>\r\n </b>\r\n </div>\r\n <div class=\"expressionValues\" *ngIf=\"item.expressionData?.currentOperation === 'BETWEEN'\">\r\n <div *ngIf=\"item.widgetType === 'DATE'\">\r\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDate }}</b>\r\n </div>\r\n <div *ngIf=\"item.widgetType === 'DATE_TIME'\">\r\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDateTime }}</b>\r\n </div>\r\n <div *ngIf=\"item.widgetType !== 'DATE_TIME' && item.widgetType !== 'DATE'\">\r\n <b>{{ item.expressionData?.operand2?.valueAsString }}</b>\r\n </div>\r\n <b>-</b>\r\n <div *ngIf=\"item.widgetType === 'DATE'\">\r\n <b>{{ item.expressionData!.operand3!.valueAsString! | smartDate }}</b>\r\n </div>\r\n <div *ngIf=\"item.widgetType === 'DATE_TIME'\">\r\n <b>{{ item.expressionData!.operand3!.valueAsString! | smartDateTime }}</b>\r\n </div>\r\n <div *ngIf=\"item.widgetType !== 'DATE_TIME' && item.widgetType !== 'DATE'\">\r\n <b>{{ item.expressionData?.operand3?.valueAsString }}</b>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div *ngIf=\"hasNext\" class=\"relationItemBubble\">\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.AND)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.AND\r\n ? 'mat-raised-button and-operator'\r\n : ''\r\n \"\r\n color=\"black\"\r\n >\r\n \u00C9S\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.OR)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.OR\r\n ? 'mat-raised-button or-operator'\r\n : ''\r\n \"\r\n color=\"black\"\r\n >\r\n VAGY\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-darker-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.selectedSimpleItem{border:2px solid var(--primary-color)}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem}.relationItemBubble .mat-mdc-button{border-radius:1.5rem;height:100%;margin:auto 0}.expressionValues{display:flex;flex-direction:row;gap:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: ["item", "hasNext", "service"] }, { kind: "pipe", type: i3.SmartDateTimePipe, name: "smartDateTime" }, { kind: "pipe", type: i3.SmartDatePipe, name: "smartDate" }] }); }
|
|
61
61
|
}
|
|
62
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterExpressionItemComponent, decorators: [{
|
|
63
63
|
type: Component,
|
|
64
|
-
args: [{ selector: 'app-expression-item', template: "<div class=\"expressionItemContainer\">\n <div\n class=\"expressionItemInnerContainer\"\n [ngClass]=\"\n item.expressionData?.currentOperation === 'EXPRESSION'\n ? isSelected\n ? 'selectedExpressionContainer'\n : 'expressionContainer'\n : ''\n \"\n >\n <div\n *ngIf=\"\n item.expressionData?.currentOperation === 'EXPRESSION';\n then expression;\n else simpleItem\n \"\n ></div>\n <ng-template #expression>\n <div class=\"expressionItemBubble expression\" (click)=\"select($event, item)\">[</div>\n <app-expression-item\n [item]=\"subItem\"\n [service]=\"service\"\n [hasNext]=\"i < (item.subFieldList?.filters)!.length - 1\"\n *ngFor=\"let subItem of item.subFieldList?.filters; let i = index\"\n ></app-expression-item>\n <div class=\"expressionItemBubble expression\">]</div>\n </ng-template>\n <ng-template #simpleItem>\n <div\n (click)=\"select($event, item)\"\n class=\"expressionItemBubble simpleItem\"\n [ngClass]=\"isSelected ? 'selectedSimpleItem' : ''\"\n >\n {{ item.label }}:\n <div *ngIf=\"item.expressionData?.currentOperation !== 'BETWEEN'\">\n <div *ngIf=\"item.widgetType === 'DATE'\">\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDate }}</b>\n </div>\n <div *ngIf=\"item.widgetType === 'DATE_TIME'\">\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDateTime }}</b>\n </div>\n <div *ngIf=\"item.widgetType !== 'DATE_TIME' && item.widgetType !== 'DATE'\">\n <b>{{ getDisplayValue(item.expressionData!.operand2!.valueAsString!) }}</b>\n </div>\n </div>\n <div *ngIf=\"item.expressionData?.currentOperation === 'IN'\">\n <b *ngFor=\"let value of item.expressionData?.operand2?.selectedValues; let last = last\">\n {{ getDisplayValue(value) }} <b *ngIf=\"!last\">,</b>\n </b>\n </div>\n <div class=\"expressionValues\" *ngIf=\"item.expressionData?.currentOperation === 'BETWEEN'\">\n <div *ngIf=\"item.widgetType === 'DATE'\">\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDate }}</b>\n </div>\n <div *ngIf=\"item.widgetType === 'DATE_TIME'\">\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDateTime }}</b>\n </div>\n <div *ngIf=\"item.widgetType !== 'DATE_TIME' && item.widgetType !== 'DATE'\">\n <b>{{ item.expressionData?.operand2?.valueAsString }}</b>\n </div>\n <b>-</b>\n <div *ngIf=\"item.widgetType === 'DATE'\">\n <b>{{ item.expressionData!.operand3!.valueAsString! | smartDate }}</b>\n </div>\n <div *ngIf=\"item.widgetType === 'DATE_TIME'\">\n <b>{{ item.expressionData!.operand3!.valueAsString! | smartDateTime }}</b>\n </div>\n <div *ngIf=\"item.widgetType !== 'DATE_TIME' && item.widgetType !== 'DATE'\">\n <b>{{ item.expressionData?.operand3?.valueAsString }}</b>\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n <div *ngIf=\"hasNext\" class=\"relationItemBubble\">\n <button\n mat-button\n (click)=\"setOperatorTo($event, boolOperatorType.AND)\"\n [ngClass]=\"\n item.expressionData?.boolOperator === boolOperatorType.AND\n ? 'mat-raised-button and-operator'\n : ''\n \"\n color=\"black\"\n >\n \u00C9S\n </button>\n <button\n mat-button\n (click)=\"setOperatorTo($event, boolOperatorType.OR)\"\n [ngClass]=\"\n item.expressionData?.boolOperator === boolOperatorType.OR\n ? 'mat-raised-button or-operator'\n : ''\n \"\n color=\"black\"\n >\n VAGY\n </button>\n </div>\n</div>\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-darker-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.selectedSimpleItem{border:2px solid var(--primary-color)}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem}.relationItemBubble .mat-mdc-button{border-radius:1.5rem;height:100%;margin:auto 0}.expressionValues{display:flex;flex-direction:row;gap:.5rem}\n"] }]
|
|
64
|
+
args: [{ selector: 'app-expression-item', template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n >\r\n <div\r\n *ngIf=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION';\r\n then expression;\r\n else simpleItem\r\n \"\r\n ></div>\r\n <ng-template #expression>\r\n <div class=\"expressionItemBubble expression\" (click)=\"select($event, item)\">[</div>\r\n <app-expression-item\r\n [item]=\"subItem\"\r\n [service]=\"service\"\r\n [hasNext]=\"i < (item.subFieldList?.filters)!.length - 1\"\r\n *ngFor=\"let subItem of item.subFieldList?.filters; let i = index\"\r\n ></app-expression-item>\r\n <div class=\"expressionItemBubble expression\">]</div>\r\n </ng-template>\r\n <ng-template #simpleItem>\r\n <div\r\n (click)=\"select($event, item)\"\r\n class=\"expressionItemBubble simpleItem\"\r\n [ngClass]=\"isSelected ? 'selectedSimpleItem' : ''\"\r\n >\r\n {{ item.label }}:\r\n <div *ngIf=\"item.expressionData?.currentOperation !== 'BETWEEN'\">\r\n <div *ngIf=\"item.widgetType === 'DATE'\">\r\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDate }}</b>\r\n </div>\r\n <div *ngIf=\"item.widgetType === 'DATE_TIME'\">\r\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDateTime }}</b>\r\n </div>\r\n <div *ngIf=\"item.widgetType !== 'DATE_TIME' && item.widgetType !== 'DATE'\">\r\n <b>{{ getDisplayValue(item.expressionData!.operand2!.valueAsString!) }}</b>\r\n </div>\r\n </div>\r\n <div *ngIf=\"item.expressionData?.currentOperation === 'IN'\">\r\n <b *ngFor=\"let value of item.expressionData?.operand2?.selectedValues; let last = last\">\r\n {{ getDisplayValue(value) }} <b *ngIf=\"!last\">,</b>\r\n </b>\r\n </div>\r\n <div class=\"expressionValues\" *ngIf=\"item.expressionData?.currentOperation === 'BETWEEN'\">\r\n <div *ngIf=\"item.widgetType === 'DATE'\">\r\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDate }}</b>\r\n </div>\r\n <div *ngIf=\"item.widgetType === 'DATE_TIME'\">\r\n <b>{{ item.expressionData!.operand2!.valueAsString! | smartDateTime }}</b>\r\n </div>\r\n <div *ngIf=\"item.widgetType !== 'DATE_TIME' && item.widgetType !== 'DATE'\">\r\n <b>{{ item.expressionData?.operand2?.valueAsString }}</b>\r\n </div>\r\n <b>-</b>\r\n <div *ngIf=\"item.widgetType === 'DATE'\">\r\n <b>{{ item.expressionData!.operand3!.valueAsString! | smartDate }}</b>\r\n </div>\r\n <div *ngIf=\"item.widgetType === 'DATE_TIME'\">\r\n <b>{{ item.expressionData!.operand3!.valueAsString! | smartDateTime }}</b>\r\n </div>\r\n <div *ngIf=\"item.widgetType !== 'DATE_TIME' && item.widgetType !== 'DATE'\">\r\n <b>{{ item.expressionData?.operand3?.valueAsString }}</b>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div *ngIf=\"hasNext\" class=\"relationItemBubble\">\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.AND)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.AND\r\n ? 'mat-raised-button and-operator'\r\n : ''\r\n \"\r\n color=\"black\"\r\n >\r\n \u00C9S\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.OR)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.OR\r\n ? 'mat-raised-button or-operator'\r\n : ''\r\n \"\r\n color=\"black\"\r\n >\r\n VAGY\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-darker-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.selectedSimpleItem{border:2px solid var(--primary-color)}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem}.relationItemBubble .mat-mdc-button{border-radius:1.5rem;height:100%;margin:auto 0}.expressionValues{display:flex;flex-direction:row;gap:.5rem}\n"] }]
|
|
65
65
|
}], ctorParameters: () => [], propDecorators: { item: [{
|
|
66
66
|
type: Input
|
|
67
67
|
}], hasNext: [{
|
|
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
69
69
|
}], service: [{
|
|
70
70
|
type: Input
|
|
71
71
|
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU16RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7Ozs7QUFTL0YsTUFBTSxPQUFPLGtDQUFrQztJQVM3QztRQUpBLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFNUIscUJBQWdCLEdBQUcsNEJBQTRCLENBQUM7SUFFakMsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVSxFQUFFLGFBQTJDO1FBQ25FLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFlLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQztZQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO2dCQUM5QixJQUFJLEVBQUUsMEJBQTBCO2dCQUNoQyxNQUFNLEVBQUU7b0JBQ04sS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJO2lCQUNqQjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFVLEVBQUUsSUFBMkI7UUFDbEQsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNyQixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7b0JBQ3BDLElBQUksRUFBRSxjQUFjO29CQUNwQixNQUFNLEVBQUU7d0JBQ04sS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJO3FCQUNqQjtpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO29CQUNwQyxJQUFJLEVBQUUsY0FBYztvQkFDcEIsTUFBTSxFQUFFO3dCQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtxQkFDakI7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVk7UUFDMUIsSUFBSSxLQUFLLEdBQXNCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQzVFLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsT0FBTyxLQUFLLENBQUMsWUFBYSxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzsrR0E1RFUsa0NBQWtDO21HQUFsQyxrQ0FBa0MsNkhDZi9DLDYxSEFzR0EsaTZDRHZGYSxrQ0FBa0M7OzRGQUFsQyxrQ0FBa0M7a0JBTDlDLFNBQVM7K0JBQ0UscUJBQXFCO3dEQUt0QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSVNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZSxcbiAgU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlLFxufSBmcm9tICcuLi8uLi8uLi9zbWFydC1maWx0ZXItZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vYXBpL21vZGVsL2ZpbHRlckV4cHJlc3Npb25GaWVsZCc7XG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uQm9vbE9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vYXBpL21vZGVsL2ZpbHRlckV4cHJlc3Npb25Cb29sT3BlcmF0b3InO1xuaW1wb3J0IHsgVmFsdWUgfSBmcm9tICcuLy4uLy4uLy4uLy4uL3ZpZXctY29udGV4dC92YWx1ZS1hcGkvbW9kZWwvdmFsdWUnO1xuaW1wb3J0IHsgViB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1leHByZXNzaW9uLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlckV4cHJlc3Npb25JdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgaXRlbSE6IEZpbHRlckV4cHJlc3Npb25GaWVsZDtcbiAgQElucHV0KCkgaGFzTmV4dCE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNlcnZpY2UhOiBJU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlO1xuXG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBib29sT3BlcmF0b3JUeXBlID0gRmlsdGVyRXhwcmVzc2lvbkJvb2xPcGVyYXRvcjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc1NlbGVjdGVkID0gdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkPy5pZCA9PT0gdGhpcy5pdGVtLmlkO1xuICB9XG5cbiAgc2V0T3BlcmF0b3JUbyhldmVudDogYW55LCBvcGVyYXRpb25UeXBlOiBGaWx0ZXJFeHByZXNzaW9uQm9vbE9wZXJhdG9yKTogdm9pZCB7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICghdGhpcy5zZXJ2aWNlLm1vZGVsPy5yZWFkT25seSkge1xuICAgICAgdGhpcy5pdGVtLmV4cHJlc3Npb25EYXRhIS5ib29sT3BlcmF0b3IgPSBvcGVyYXRpb25UeXBlO1xuICAgICAgdGhpcy5zZXJ2aWNlLnBlZm9ybVdpZGdldEFjdGlvbih7XG4gICAgICAgIGNvZGU6ICdVUERBVEVfRklMVEVSX0VYUFJFU1NJT04nLFxuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBtb2RlbDogdGhpcy5pdGVtLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2VsZWN0KGV2ZW50OiBhbnksIGl0ZW06IEZpbHRlckV4cHJlc3Npb25GaWVsZCkge1xuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICghdGhpcy5zZXJ2aWNlLm1vZGVsPy5yZWFkT25seSkge1xuICAgICAgaWYgKCF0aGlzLmlzU2VsZWN0ZWQpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnBlZm9ybVdpZGdldEFjdGlvbih7XG4gICAgICAgICAgY29kZTogJ1NFTEVDVF9GSUVMRCcsXG4gICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICBtb2RlbDogdGhpcy5pdGVtLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnBlZm9ybVdpZGdldEFjdGlvbih7XG4gICAgICAgICAgY29kZTogJ1NFTEVDVF9GSUVMRCcsXG4gICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICBtb2RlbDogdGhpcy5pdGVtLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldERpc3BsYXlWYWx1ZShjb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCB2YWx1ZTogVmFsdWUgfCB1bmRlZmluZWQgPSB0aGlzLml0ZW0ucG9zc2libGVWYWx1ZXMuZmluZCgodmFsdWU6IFZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4gdmFsdWUuY29kZSA9PT0gY29kZTtcbiAgICB9KTtcblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlLmRpc3BsYXlWYWx1ZSE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjb2RlO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImV4cHJlc3Npb25JdGVtQ29udGFpbmVyXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImV4cHJlc3Npb25JdGVtSW5uZXJDb250YWluZXJcIlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgaXRlbS5leHByZXNzaW9uRGF0YT8uY3VycmVudE9wZXJhdGlvbiA9PT0gJ0VYUFJFU1NJT04nXG4gICAgICAgID8gaXNTZWxlY3RlZFxuICAgICAgICAgID8gJ3NlbGVjdGVkRXhwcmVzc2lvbkNvbnRhaW5lcidcbiAgICAgICAgICA6ICdleHByZXNzaW9uQ29udGFpbmVyJ1xuICAgICAgICA6ICcnXG4gICAgXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIGl0ZW0uZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT09ICdFWFBSRVNTSU9OJztcbiAgICAgICAgdGhlbiBleHByZXNzaW9uO1xuICAgICAgICBlbHNlIHNpbXBsZUl0ZW1cbiAgICAgIFwiXG4gICAgPjwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjZXhwcmVzc2lvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJleHByZXNzaW9uSXRlbUJ1YmJsZSBleHByZXNzaW9uXCIgKGNsaWNrKT1cInNlbGVjdCgkZXZlbnQsIGl0ZW0pXCI+WzwvZGl2PlxuICAgICAgPGFwcC1leHByZXNzaW9uLWl0ZW1cbiAgICAgICAgW2l0ZW1dPVwic3ViSXRlbVwiXG4gICAgICAgIFtzZXJ2aWNlXT1cInNlcnZpY2VcIlxuICAgICAgICBbaGFzTmV4dF09XCJpIDwgKGl0ZW0uc3ViRmllbGRMaXN0Py5maWx0ZXJzKSEubGVuZ3RoIC0gMVwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBzdWJJdGVtIG9mIGl0ZW0uc3ViRmllbGRMaXN0Py5maWx0ZXJzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgID48L2FwcC1leHByZXNzaW9uLWl0ZW0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZXhwcmVzc2lvbkl0ZW1CdWJibGUgZXhwcmVzc2lvblwiPl08L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjc2ltcGxlSXRlbT5cbiAgICAgIDxkaXZcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdCgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgY2xhc3M9XCJleHByZXNzaW9uSXRlbUJ1YmJsZSBzaW1wbGVJdGVtXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaXNTZWxlY3RlZCA/ICdzZWxlY3RlZFNpbXBsZUl0ZW0nIDogJydcIlxuICAgICAgPlxuICAgICAgICB7eyBpdGVtLmxhYmVsIH19OlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5leHByZXNzaW9uRGF0YT8uY3VycmVudE9wZXJhdGlvbiAhPT0gJ0JFVFdFRU4nXCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0ud2lkZ2V0VHlwZSA9PT0gJ0RBVEUnXCI+XG4gICAgICAgICAgICA8Yj57eyBpdGVtLmV4cHJlc3Npb25EYXRhIS5vcGVyYW5kMiEudmFsdWVBc1N0cmluZyEgfCBzbWFydERhdGUgfX08L2I+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0ud2lkZ2V0VHlwZSA9PT0gJ0RBVEVfVElNRSdcIj5cbiAgICAgICAgICAgIDxiPnt7IGl0ZW0uZXhwcmVzc2lvbkRhdGEhLm9wZXJhbmQyIS52YWx1ZUFzU3RyaW5nISB8IHNtYXJ0RGF0ZVRpbWUgfX08L2I+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0ud2lkZ2V0VHlwZSAhPT0gJ0RBVEVfVElNRScgJiYgaXRlbS53aWRnZXRUeXBlICE9PSAnREFURSdcIj5cbiAgICAgICAgICAgIDxiPnt7IGdldERpc3BsYXlWYWx1ZShpdGVtLmV4cHJlc3Npb25EYXRhIS5vcGVyYW5kMiEudmFsdWVBc1N0cmluZyEpIH19PC9iPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0uZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT09ICdJTidcIj5cbiAgICAgICAgICA8YiAqbmdGb3I9XCJsZXQgdmFsdWUgb2YgaXRlbS5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDI/LnNlbGVjdGVkVmFsdWVzOyBsZXQgbGFzdCA9IGxhc3RcIj5cbiAgICAgICAgICAgIHt7IGdldERpc3BsYXlWYWx1ZSh2YWx1ZSkgfX0gPGIgKm5nSWY9XCIhbGFzdFwiPiw8L2I+XG4gICAgICAgICAgPC9iPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4cHJlc3Npb25WYWx1ZXNcIiAqbmdJZj1cIml0ZW0uZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT09ICdCRVRXRUVOJ1wiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLndpZGdldFR5cGUgPT09ICdEQVRFJ1wiPlxuICAgICAgICAgICAgPGI+e3sgaXRlbS5leHByZXNzaW9uRGF0YSEub3BlcmFuZDIhLnZhbHVlQXNTdHJpbmchIHwgc21hcnREYXRlIH19PC9iPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLndpZGdldFR5cGUgPT09ICdEQVRFX1RJTUUnXCI+XG4gICAgICAgICAgICA8Yj57eyBpdGVtLmV4cHJlc3Npb25EYXRhIS5vcGVyYW5kMiEudmFsdWVBc1N0cmluZyEgfCBzbWFydERhdGVUaW1lIH19PC9iPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLndpZGdldFR5cGUgIT09ICdEQVRFX1RJTUUnICYmIGl0ZW0ud2lkZ2V0VHlwZSAhPT0gJ0RBVEUnXCI+XG4gICAgICAgICAgICA8Yj57eyBpdGVtLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMj8udmFsdWVBc1N0cmluZyB9fTwvYj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8Yj4tPC9iPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLndpZGdldFR5cGUgPT09ICdEQVRFJ1wiPlxuICAgICAgICAgICAgPGI+e3sgaXRlbS5leHByZXNzaW9uRGF0YSEub3BlcmFuZDMhLnZhbHVlQXNTdHJpbmchIHwgc21hcnREYXRlIH19PC9iPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLndpZGdldFR5cGUgPT09ICdEQVRFX1RJTUUnXCI+XG4gICAgICAgICAgICA8Yj57eyBpdGVtLmV4cHJlc3Npb25EYXRhIS5vcGVyYW5kMyEudmFsdWVBc1N0cmluZyEgfCBzbWFydERhdGVUaW1lIH19PC9iPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLndpZGdldFR5cGUgIT09ICdEQVRFX1RJTUUnICYmIGl0ZW0ud2lkZ2V0VHlwZSAhPT0gJ0RBVEUnXCI+XG4gICAgICAgICAgICA8Yj57eyBpdGVtLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMz8udmFsdWVBc1N0cmluZyB9fTwvYj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImhhc05leHRcIiBjbGFzcz1cInJlbGF0aW9uSXRlbUJ1YmJsZVwiPlxuICAgIDxidXR0b25cbiAgICAgIG1hdC1idXR0b25cbiAgICAgIChjbGljayk9XCJzZXRPcGVyYXRvclRvKCRldmVudCwgYm9vbE9wZXJhdG9yVHlwZS5BTkQpXCJcbiAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICBpdGVtLmV4cHJlc3Npb25EYXRhPy5ib29sT3BlcmF0b3IgPT09IGJvb2xPcGVyYXRvclR5cGUuQU5EXG4gICAgICAgICAgPyAnbWF0LXJhaXNlZC1idXR0b24gYW5kLW9wZXJhdG9yJ1xuICAgICAgICAgIDogJydcbiAgICAgIFwiXG4gICAgICBjb2xvcj1cImJsYWNrXCJcbiAgICA+XG4gICAgICDDiVNcbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBtYXQtYnV0dG9uXG4gICAgICAoY2xpY2spPVwic2V0T3BlcmF0b3JUbygkZXZlbnQsIGJvb2xPcGVyYXRvclR5cGUuT1IpXCJcbiAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICBpdGVtLmV4cHJlc3Npb25EYXRhPy5ib29sT3BlcmF0b3IgPT09IGJvb2xPcGVyYXRvclR5cGUuT1JcbiAgICAgICAgICA/ICdtYXQtcmFpc2VkLWJ1dHRvbiBvci1vcGVyYXRvcidcbiAgICAgICAgICA6ICcnXG4gICAgICBcIlxuICAgICAgY29sb3I9XCJibGFja1wiXG4gICAgPlxuICAgICAgVkFHWVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU16RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7Ozs7QUFTL0YsTUFBTSxPQUFPLGtDQUFrQztJQVM3QztRQUpBLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFNUIscUJBQWdCLEdBQUcsNEJBQTRCLENBQUM7SUFFakMsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVSxFQUFFLGFBQTJDO1FBQ25FLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFlLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQztZQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO2dCQUM5QixJQUFJLEVBQUUsMEJBQTBCO2dCQUNoQyxNQUFNLEVBQUU7b0JBQ04sS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJO2lCQUNqQjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFVLEVBQUUsSUFBMkI7UUFDbEQsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNyQixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7b0JBQ3BDLElBQUksRUFBRSxjQUFjO29CQUNwQixNQUFNLEVBQUU7d0JBQ04sS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJO3FCQUNqQjtpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO29CQUNwQyxJQUFJLEVBQUUsY0FBYztvQkFDcEIsTUFBTSxFQUFFO3dCQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtxQkFDakI7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVk7UUFDMUIsSUFBSSxLQUFLLEdBQXNCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQzVFLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsT0FBTyxLQUFLLENBQUMsWUFBYSxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzsrR0E1RFUsa0NBQWtDO21HQUFsQyxrQ0FBa0MsNkhDZi9DLHlpSUFzR0EsaTZDRHZGYSxrQ0FBa0M7OzRGQUFsQyxrQ0FBa0M7a0JBTDlDLFNBQVM7K0JBQ0UscUJBQXFCO3dEQUt0QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIElTbWFydEZpbHRlckVkaXRvclNlcnZpY2UsXHJcbiAgU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlLFxyXG59IGZyb20gJy4uLy4uLy4uL3NtYXJ0LWZpbHRlci1lZGl0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25GaWVsZCB9IGZyb20gJy4uLy4uLy4uL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uRmllbGQnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uQm9vbE9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vYXBpL21vZGVsL2ZpbHRlckV4cHJlc3Npb25Cb29sT3BlcmF0b3InO1xyXG5pbXBvcnQgeyBWYWx1ZSB9IGZyb20gJy4vLi4vLi4vLi4vLi4vdmlldy1jb250ZXh0L3ZhbHVlLWFwaS9tb2RlbC92YWx1ZSc7XHJcbmltcG9ydCB7IFYgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZXhwcmVzc2lvbi1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlckV4cHJlc3Npb25JdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBpdGVtITogRmlsdGVyRXhwcmVzc2lvbkZpZWxkO1xyXG4gIEBJbnB1dCgpIGhhc05leHQhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHNlcnZpY2UhOiBJU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlO1xyXG5cclxuICBpc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGJvb2xPcGVyYXRvclR5cGUgPSBGaWx0ZXJFeHByZXNzaW9uQm9vbE9wZXJhdG9yO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc1NlbGVjdGVkID0gdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkPy5pZCA9PT0gdGhpcy5pdGVtLmlkO1xyXG4gIH1cclxuXHJcbiAgc2V0T3BlcmF0b3JUbyhldmVudDogYW55LCBvcGVyYXRpb25UeXBlOiBGaWx0ZXJFeHByZXNzaW9uQm9vbE9wZXJhdG9yKTogdm9pZCB7XHJcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZiAoIXRoaXMuc2VydmljZS5tb2RlbD8ucmVhZE9ubHkpIHtcclxuICAgICAgdGhpcy5pdGVtLmV4cHJlc3Npb25EYXRhIS5ib29sT3BlcmF0b3IgPSBvcGVyYXRpb25UeXBlO1xyXG4gICAgICB0aGlzLnNlcnZpY2UucGVmb3JtV2lkZ2V0QWN0aW9uKHtcclxuICAgICAgICBjb2RlOiAnVVBEQVRFX0ZJTFRFUl9FWFBSRVNTSU9OJyxcclxuICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgIG1vZGVsOiB0aGlzLml0ZW0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBzZWxlY3QoZXZlbnQ6IGFueSwgaXRlbTogRmlsdGVyRXhwcmVzc2lvbkZpZWxkKSB7XHJcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgaWYgKCF0aGlzLnNlcnZpY2UubW9kZWw/LnJlYWRPbmx5KSB7XHJcbiAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnBlZm9ybVdpZGdldEFjdGlvbih7XHJcbiAgICAgICAgICBjb2RlOiAnU0VMRUNUX0ZJRUxEJyxcclxuICAgICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgICBtb2RlbDogdGhpcy5pdGVtLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBhd2FpdCB0aGlzLnNlcnZpY2UucGVmb3JtV2lkZ2V0QWN0aW9uKHtcclxuICAgICAgICAgIGNvZGU6ICdTRUxFQ1RfRklFTEQnLFxyXG4gICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgIG1vZGVsOiB0aGlzLml0ZW0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREaXNwbGF5VmFsdWUoY29kZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCB2YWx1ZTogVmFsdWUgfCB1bmRlZmluZWQgPSB0aGlzLml0ZW0ucG9zc2libGVWYWx1ZXMuZmluZCgodmFsdWU6IFZhbHVlKSA9PiB7XHJcbiAgICAgIHJldHVybiB2YWx1ZS5jb2RlID09PSBjb2RlO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZS5kaXNwbGF5VmFsdWUhO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGNvZGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJleHByZXNzaW9uSXRlbUNvbnRhaW5lclwiPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiZXhwcmVzc2lvbkl0ZW1Jbm5lckNvbnRhaW5lclwiXHJcbiAgICBbbmdDbGFzc109XCJcclxuICAgICAgaXRlbS5leHByZXNzaW9uRGF0YT8uY3VycmVudE9wZXJhdGlvbiA9PT0gJ0VYUFJFU1NJT04nXHJcbiAgICAgICAgPyBpc1NlbGVjdGVkXHJcbiAgICAgICAgICA/ICdzZWxlY3RlZEV4cHJlc3Npb25Db250YWluZXInXHJcbiAgICAgICAgICA6ICdleHByZXNzaW9uQ29udGFpbmVyJ1xyXG4gICAgICAgIDogJydcclxuICAgIFwiXHJcbiAgPlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdJZj1cIlxyXG4gICAgICAgIGl0ZW0uZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT09ICdFWFBSRVNTSU9OJztcclxuICAgICAgICB0aGVuIGV4cHJlc3Npb247XHJcbiAgICAgICAgZWxzZSBzaW1wbGVJdGVtXHJcbiAgICAgIFwiXHJcbiAgICA+PC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI2V4cHJlc3Npb24+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJleHByZXNzaW9uSXRlbUJ1YmJsZSBleHByZXNzaW9uXCIgKGNsaWNrKT1cInNlbGVjdCgkZXZlbnQsIGl0ZW0pXCI+WzwvZGl2PlxyXG4gICAgICA8YXBwLWV4cHJlc3Npb24taXRlbVxyXG4gICAgICAgIFtpdGVtXT1cInN1Ykl0ZW1cIlxyXG4gICAgICAgIFtzZXJ2aWNlXT1cInNlcnZpY2VcIlxyXG4gICAgICAgIFtoYXNOZXh0XT1cImkgPCAoaXRlbS5zdWJGaWVsZExpc3Q/LmZpbHRlcnMpIS5sZW5ndGggLSAxXCJcclxuICAgICAgICAqbmdGb3I9XCJsZXQgc3ViSXRlbSBvZiBpdGVtLnN1YkZpZWxkTGlzdD8uZmlsdGVyczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgID48L2FwcC1leHByZXNzaW9uLWl0ZW0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJleHByZXNzaW9uSXRlbUJ1YmJsZSBleHByZXNzaW9uXCI+XTwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjc2ltcGxlSXRlbT5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIChjbGljayk9XCJzZWxlY3QoJGV2ZW50LCBpdGVtKVwiXHJcbiAgICAgICAgY2xhc3M9XCJleHByZXNzaW9uSXRlbUJ1YmJsZSBzaW1wbGVJdGVtXCJcclxuICAgICAgICBbbmdDbGFzc109XCJpc1NlbGVjdGVkID8gJ3NlbGVjdGVkU2ltcGxlSXRlbScgOiAnJ1wiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBpdGVtLmxhYmVsIH19OlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLmV4cHJlc3Npb25EYXRhPy5jdXJyZW50T3BlcmF0aW9uICE9PSAnQkVUV0VFTidcIj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLndpZGdldFR5cGUgPT09ICdEQVRFJ1wiPlxyXG4gICAgICAgICAgICA8Yj57eyBpdGVtLmV4cHJlc3Npb25EYXRhIS5vcGVyYW5kMiEudmFsdWVBc1N0cmluZyEgfCBzbWFydERhdGUgfX08L2I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLndpZGdldFR5cGUgPT09ICdEQVRFX1RJTUUnXCI+XHJcbiAgICAgICAgICAgIDxiPnt7IGl0ZW0uZXhwcmVzc2lvbkRhdGEhLm9wZXJhbmQyIS52YWx1ZUFzU3RyaW5nISB8IHNtYXJ0RGF0ZVRpbWUgfX08L2I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLndpZGdldFR5cGUgIT09ICdEQVRFX1RJTUUnICYmIGl0ZW0ud2lkZ2V0VHlwZSAhPT0gJ0RBVEUnXCI+XHJcbiAgICAgICAgICAgIDxiPnt7IGdldERpc3BsYXlWYWx1ZShpdGVtLmV4cHJlc3Npb25EYXRhIS5vcGVyYW5kMiEudmFsdWVBc1N0cmluZyEpIH19PC9iPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0uZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT09ICdJTidcIj5cclxuICAgICAgICAgIDxiICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBpdGVtLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMj8uc2VsZWN0ZWRWYWx1ZXM7IGxldCBsYXN0ID0gbGFzdFwiPlxyXG4gICAgICAgICAgICB7eyBnZXREaXNwbGF5VmFsdWUodmFsdWUpIH19IDxiICpuZ0lmPVwiIWxhc3RcIj4sPC9iPlxyXG4gICAgICAgICAgPC9iPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJleHByZXNzaW9uVmFsdWVzXCIgKm5nSWY9XCJpdGVtLmV4cHJlc3Npb25EYXRhPy5jdXJyZW50T3BlcmF0aW9uID09PSAnQkVUV0VFTidcIj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLndpZGdldFR5cGUgPT09ICdEQVRFJ1wiPlxyXG4gICAgICAgICAgICA8Yj57eyBpdGVtLmV4cHJlc3Npb25EYXRhIS5vcGVyYW5kMiEudmFsdWVBc1N0cmluZyEgfCBzbWFydERhdGUgfX08L2I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLndpZGdldFR5cGUgPT09ICdEQVRFX1RJTUUnXCI+XHJcbiAgICAgICAgICAgIDxiPnt7IGl0ZW0uZXhwcmVzc2lvbkRhdGEhLm9wZXJhbmQyIS52YWx1ZUFzU3RyaW5nISB8IHNtYXJ0RGF0ZVRpbWUgfX08L2I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLndpZGdldFR5cGUgIT09ICdEQVRFX1RJTUUnICYmIGl0ZW0ud2lkZ2V0VHlwZSAhPT0gJ0RBVEUnXCI+XHJcbiAgICAgICAgICAgIDxiPnt7IGl0ZW0uZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQyPy52YWx1ZUFzU3RyaW5nIH19PC9iPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8Yj4tPC9iPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0ud2lkZ2V0VHlwZSA9PT0gJ0RBVEUnXCI+XHJcbiAgICAgICAgICAgIDxiPnt7IGl0ZW0uZXhwcmVzc2lvbkRhdGEhLm9wZXJhbmQzIS52YWx1ZUFzU3RyaW5nISB8IHNtYXJ0RGF0ZSB9fTwvYj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0ud2lkZ2V0VHlwZSA9PT0gJ0RBVEVfVElNRSdcIj5cclxuICAgICAgICAgICAgPGI+e3sgaXRlbS5leHByZXNzaW9uRGF0YSEub3BlcmFuZDMhLnZhbHVlQXNTdHJpbmchIHwgc21hcnREYXRlVGltZSB9fTwvYj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0ud2lkZ2V0VHlwZSAhPT0gJ0RBVEVfVElNRScgJiYgaXRlbS53aWRnZXRUeXBlICE9PSAnREFURSdcIj5cclxuICAgICAgICAgICAgPGI+e3sgaXRlbS5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDM/LnZhbHVlQXNTdHJpbmcgfX08L2I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJoYXNOZXh0XCIgY2xhc3M9XCJyZWxhdGlvbkl0ZW1CdWJibGVcIj5cclxuICAgIDxidXR0b25cclxuICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAoY2xpY2spPVwic2V0T3BlcmF0b3JUbygkZXZlbnQsIGJvb2xPcGVyYXRvclR5cGUuQU5EKVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIlxyXG4gICAgICAgIGl0ZW0uZXhwcmVzc2lvbkRhdGE/LmJvb2xPcGVyYXRvciA9PT0gYm9vbE9wZXJhdG9yVHlwZS5BTkRcclxuICAgICAgICAgID8gJ21hdC1yYWlzZWQtYnV0dG9uIGFuZC1vcGVyYXRvcidcclxuICAgICAgICAgIDogJydcclxuICAgICAgXCJcclxuICAgICAgY29sb3I9XCJibGFja1wiXHJcbiAgICA+XHJcbiAgICAgIMOJU1xyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1idXR0b25cclxuICAgICAgKGNsaWNrKT1cInNldE9wZXJhdG9yVG8oJGV2ZW50LCBib29sT3BlcmF0b3JUeXBlLk9SKVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIlxyXG4gICAgICAgIGl0ZW0uZXhwcmVzc2lvbkRhdGE/LmJvb2xPcGVyYXRvciA9PT0gYm9vbE9wZXJhdG9yVHlwZS5PUlxyXG4gICAgICAgICAgPyAnbWF0LXJhaXNlZC1idXR0b24gb3Itb3BlcmF0b3InXHJcbiAgICAgICAgICA6ICcnXHJcbiAgICAgIFwiXHJcbiAgICAgIGNvbG9yPVwiYmxhY2tcIlxyXG4gICAgPlxyXG4gICAgICBWQUdZXHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -34,11 +34,11 @@ export class SmartFilterExpressionItemsComponent {
|
|
|
34
34
|
await this.service.bulkUpdateFilterExpression($event);
|
|
35
35
|
}
|
|
36
36
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterExpressionItemsComponent, deps: [{ token: USE_ADVANCED_FILTER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartFilterExpressionItemsComponent, selector: "app-expression-items", inputs: { items: "items", service: "service" }, ngImport: i0, template: "<div *ngIf=\"useAdvancedFilter; then advancedFilter; else simpleFilter\"></div>\n\n<ng-template #simpleFilter>\n <div\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n class=\"expressionsContainer example-list\"\n [ngClass]=\"isSelected ? 'selected' : ''\"\n >\n <div cdkDrag class=\"expressionItem\" *ngFor=\"let item of items; let i = index\">\n <app-expression-item\n *ngIf=\"!useAdvancedFilter\"\n [item]=\"item\"\n [hasNext]=\"i < items.length - 1\"\n [service]=\"service\"\n ></app-expression-item>\n </div>\n </div>\n</ng-template>\n\n<ng-template #advancedFilter>\n <div class=\"advanced-expression-builder-container\">\n <div\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n class=\"expressionsContainer example-list\"\n [ngClass]=\"isSelected ? 'selected' : ''\"\n >\n <div\n cdkDrag\n class=\"expressionItem\"\n *ngFor=\"let item of items; let i = index\"\n [ngClass]=\"item.expressionData?.currentOperation == 'EXPRESSION' ? 'non-flex' : ''\"\n >\n <app-advanced-expression-item\n *ngIf=\"useAdvancedFilter\"\n [item]=\"item\"\n [hasNext]=\"i < items.length - 1\"\n [service]=\"service\"\n ></app-advanced-expression-item>\n </div>\n </div>\n\n <div class=\"relationItemBubble\">\n <lib-advanced-relation-button\n [boolOperator]=\"service.model?.model?.workplaceList?.defaultOperation\"\n (boolOperatorChanged)=\"onOperatorChanged($event)\"\n ></lib-advanced-relation-button>\n </div>\n </div>\n</ng-template>\n", styles: [".expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;border:1px dashed var(--primary-lighter-gray-color);padding:.25rem;border-radius:.25rem}.selected{border:2px dashed var(--primary-darker-color)}.expressionItem{margin:auto 0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.example-custom-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.non-flex{flex:0 0 100%}lib-advanced-relation-button{margin-top:.25rem;margin-bottom:.25rem}:host{display:flex}.advanced-expression-builder-container{display:inline-flex}.relationItemBubble{padding:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: ["item", "hasNext", "service"] }, { kind: "component", type: i3.AdvancedSmartFilterExpressionItemComponent, selector: "app-advanced-expression-item" }, { kind: "component", type: i4.AdvancedRelationButtonComponent, selector: "lib-advanced-relation-button", inputs: ["boolOperator"], outputs: ["boolOperatorChanged"] }] }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartFilterExpressionItemsComponent, selector: "app-expression-items", inputs: { items: "items", service: "service" }, ngImport: i0, template: "<div *ngIf=\"useAdvancedFilter; then advancedFilter; else simpleFilter\"></div>\r\n\r\n<ng-template #simpleFilter>\r\n <div\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n class=\"expressionsContainer example-list\"\r\n [ngClass]=\"isSelected ? 'selected' : ''\"\r\n >\r\n <div cdkDrag class=\"expressionItem\" *ngFor=\"let item of items; let i = index\">\r\n <app-expression-item\r\n *ngIf=\"!useAdvancedFilter\"\r\n [item]=\"item\"\r\n [hasNext]=\"i < items.length - 1\"\r\n [service]=\"service\"\r\n ></app-expression-item>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #advancedFilter>\r\n <div class=\"advanced-expression-builder-container\">\r\n <div\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n class=\"expressionsContainer example-list\"\r\n [ngClass]=\"isSelected ? 'selected' : ''\"\r\n >\r\n <div\r\n cdkDrag\r\n class=\"expressionItem\"\r\n *ngFor=\"let item of items; let i = index\"\r\n [ngClass]=\"item.expressionData?.currentOperation == 'EXPRESSION' ? 'non-flex' : ''\"\r\n >\r\n <app-advanced-expression-item\r\n *ngIf=\"useAdvancedFilter\"\r\n [item]=\"item\"\r\n [hasNext]=\"i < items.length - 1\"\r\n [service]=\"service\"\r\n ></app-advanced-expression-item>\r\n </div>\r\n </div>\r\n\r\n <div class=\"relationItemBubble\">\r\n <lib-advanced-relation-button\r\n [boolOperator]=\"service.model?.model?.workplaceList?.defaultOperation\"\r\n (boolOperatorChanged)=\"onOperatorChanged($event)\"\r\n ></lib-advanced-relation-button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;border:1px dashed var(--primary-lighter-gray-color);padding:.25rem;border-radius:.25rem}.selected{border:2px dashed var(--primary-darker-color)}.expressionItem{margin:auto 0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.example-custom-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.non-flex{flex:0 0 100%}lib-advanced-relation-button{margin-top:.25rem;margin-bottom:.25rem}:host{display:flex}.advanced-expression-builder-container{display:inline-flex}.relationItemBubble{padding:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: ["item", "hasNext", "service"] }, { kind: "component", type: i3.AdvancedSmartFilterExpressionItemComponent, selector: "app-advanced-expression-item" }, { kind: "component", type: i4.AdvancedRelationButtonComponent, selector: "lib-advanced-relation-button", inputs: ["boolOperator"], outputs: ["boolOperatorChanged"] }] }); }
|
|
38
38
|
}
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterExpressionItemsComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
|
-
args: [{ selector: 'app-expression-items', template: "<div *ngIf=\"useAdvancedFilter; then advancedFilter; else simpleFilter\"></div>\n\n<ng-template #simpleFilter>\n <div\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n class=\"expressionsContainer example-list\"\n [ngClass]=\"isSelected ? 'selected' : ''\"\n >\n <div cdkDrag class=\"expressionItem\" *ngFor=\"let item of items; let i = index\">\n <app-expression-item\n *ngIf=\"!useAdvancedFilter\"\n [item]=\"item\"\n [hasNext]=\"i < items.length - 1\"\n [service]=\"service\"\n ></app-expression-item>\n </div>\n </div>\n</ng-template>\n\n<ng-template #advancedFilter>\n <div class=\"advanced-expression-builder-container\">\n <div\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"drop($event)\"\n class=\"expressionsContainer example-list\"\n [ngClass]=\"isSelected ? 'selected' : ''\"\n >\n <div\n cdkDrag\n class=\"expressionItem\"\n *ngFor=\"let item of items; let i = index\"\n [ngClass]=\"item.expressionData?.currentOperation == 'EXPRESSION' ? 'non-flex' : ''\"\n >\n <app-advanced-expression-item\n *ngIf=\"useAdvancedFilter\"\n [item]=\"item\"\n [hasNext]=\"i < items.length - 1\"\n [service]=\"service\"\n ></app-advanced-expression-item>\n </div>\n </div>\n\n <div class=\"relationItemBubble\">\n <lib-advanced-relation-button\n [boolOperator]=\"service.model?.model?.workplaceList?.defaultOperation\"\n (boolOperatorChanged)=\"onOperatorChanged($event)\"\n ></lib-advanced-relation-button>\n </div>\n </div>\n</ng-template>\n", styles: [".expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;border:1px dashed var(--primary-lighter-gray-color);padding:.25rem;border-radius:.25rem}.selected{border:2px dashed var(--primary-darker-color)}.expressionItem{margin:auto 0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.example-custom-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.non-flex{flex:0 0 100%}lib-advanced-relation-button{margin-top:.25rem;margin-bottom:.25rem}:host{display:flex}.advanced-expression-builder-container{display:inline-flex}.relationItemBubble{padding:.5rem}\n"] }]
|
|
41
|
+
args: [{ selector: 'app-expression-items', template: "<div *ngIf=\"useAdvancedFilter; then advancedFilter; else simpleFilter\"></div>\r\n\r\n<ng-template #simpleFilter>\r\n <div\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n class=\"expressionsContainer example-list\"\r\n [ngClass]=\"isSelected ? 'selected' : ''\"\r\n >\r\n <div cdkDrag class=\"expressionItem\" *ngFor=\"let item of items; let i = index\">\r\n <app-expression-item\r\n *ngIf=\"!useAdvancedFilter\"\r\n [item]=\"item\"\r\n [hasNext]=\"i < items.length - 1\"\r\n [service]=\"service\"\r\n ></app-expression-item>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #advancedFilter>\r\n <div class=\"advanced-expression-builder-container\">\r\n <div\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n class=\"expressionsContainer example-list\"\r\n [ngClass]=\"isSelected ? 'selected' : ''\"\r\n >\r\n <div\r\n cdkDrag\r\n class=\"expressionItem\"\r\n *ngFor=\"let item of items; let i = index\"\r\n [ngClass]=\"item.expressionData?.currentOperation == 'EXPRESSION' ? 'non-flex' : ''\"\r\n >\r\n <app-advanced-expression-item\r\n *ngIf=\"useAdvancedFilter\"\r\n [item]=\"item\"\r\n [hasNext]=\"i < items.length - 1\"\r\n [service]=\"service\"\r\n ></app-advanced-expression-item>\r\n </div>\r\n </div>\r\n\r\n <div class=\"relationItemBubble\">\r\n <lib-advanced-relation-button\r\n [boolOperator]=\"service.model?.model?.workplaceList?.defaultOperation\"\r\n (boolOperatorChanged)=\"onOperatorChanged($event)\"\r\n ></lib-advanced-relation-button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;border:1px dashed var(--primary-lighter-gray-color);padding:.25rem;border-radius:.25rem}.selected{border:2px dashed var(--primary-darker-color)}.expressionItem{margin:auto 0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.example-custom-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.non-flex{flex:0 0 100%}lib-advanced-relation-button{margin-top:.25rem;margin-bottom:.25rem}:host{display:flex}.advanced-expression-builder-container{display:inline-flex}.relationItemBubble{padding:.5rem}\n"] }]
|
|
42
42
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
43
43
|
type: Inject,
|
|
44
44
|
args: [USE_ADVANCED_FILTER]
|
|
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
49
49
|
}], service: [{
|
|
50
50
|
type: Input
|
|
51
51
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZmlsdGVyLWVkaXRvci9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQvY29tcG9uZW50cy9zbWFydC1maWx0ZXItZXhwcmVzc2lvbi1pdGVtcy9zbWFydC1maWx0ZXItZXhwcmVzc2lvbi1pdGVtcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW1zL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW1zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBSUwsUUFBUSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQVE1RCxNQUFNLE9BQU8sbUNBQW1DO0lBUTlDLFlBQThELGlCQUEyQjtRQUEzQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVU7UUFQakYsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBS2pELGVBQVUsR0FBWSxLQUFLLENBQUM7SUFFZ0UsQ0FBQztJQUU3RixRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxhQUFhLEtBQUssSUFBSSxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxhQUFhLEtBQUssSUFBSSxDQUFDO0lBQy9ELENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNO1FBQ0osdURBQXVEO0lBQ3pELENBQUM7SUFFRCxJQUFJLENBQUMsS0FBVTtRQUNiLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBb0M7UUFDMUQsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7K0dBaENVLG1DQUFtQyxrQkFRMUIsbUJBQW1CO21HQVI1QixtQ0FBbUMsNEdDdEJoRCxxekRBcURBOzs0RkQvQmEsbUNBQW1DO2tCQUwvQyxTQUFTOytCQUNFLHNCQUFzQjs7MEJBWW5CLE1BQU07MkJBQUMsbUJBQW1COzswQkFBRyxRQUFRO3lDQUx6QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc21hcnQtZmlsdGVyLWVkaXRvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vYXBpL21vZGVsL2ZpbHRlckV4cHJlc3Npb25GaWVsZCc7XHJcbmltcG9ydCB7IFVTRV9BRFZBTkNFRF9GSUxURVIgfSBmcm9tICcuLi8uLi8uLi9maWx0ZXItdXRpbHMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uQm9vbE9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vYXBpJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWV4cHJlc3Npb24taXRlbXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1maWx0ZXItZXhwcmVzc2lvbi1pdGVtcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbXMuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBASW5wdXQoKSBpdGVtcyE6IEZpbHRlckV4cHJlc3Npb25GaWVsZFtdO1xyXG4gIEBJbnB1dCgpIHNlcnZpY2UhOiBJU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlO1xyXG5cclxuICBpc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoVVNFX0FEVkFOQ0VEX0ZJTFRFUikgQE9wdGlvbmFsKCkgcmVhZG9ubHkgdXNlQWR2YW5jZWRGaWx0ZXI/OiBib29sZWFuKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5tb2RlbENoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgY29uc29sZS5sb2codGhpcy5zZXJ2aWNlLm1vZGVsKTtcclxuICAgICAgdGhpcy5pc1NlbGVjdGVkID0gdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkID09PSBudWxsO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmlzU2VsZWN0ZWQgPSB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQgPT09IG51bGw7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdCgpOiB2b2lkIHtcclxuICAgIC8vIHRoaXMuc2VydmljZS5zZWxlY3RGaWx0ZXJFeHByZXNzaW9uRmllbGQodW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIGRyb3AoZXZlbnQ6IGFueSkge1xyXG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuaXRlbXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBvbk9wZXJhdG9yQ2hhbmdlZCgkZXZlbnQ6IEZpbHRlckV4cHJlc3Npb25Cb29sT3BlcmF0b3IpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMuc2VydmljZS5idWxrVXBkYXRlRmlsdGVyRXhwcmVzc2lvbigkZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwidXNlQWR2YW5jZWRGaWx0ZXI7IHRoZW4gYWR2YW5jZWRGaWx0ZXI7IGVsc2Ugc2ltcGxlRmlsdGVyXCI+PC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI3NpbXBsZUZpbHRlcj5cclxuICA8ZGl2XHJcbiAgICBjZGtEcm9wTGlzdFxyXG4gICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxyXG4gICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIlxyXG4gICAgY2xhc3M9XCJleHByZXNzaW9uc0NvbnRhaW5lciBleGFtcGxlLWxpc3RcIlxyXG4gICAgW25nQ2xhc3NdPVwiaXNTZWxlY3RlZCA/ICdzZWxlY3RlZCcgOiAnJ1wiXHJcbiAgPlxyXG4gICAgPGRpdiBjZGtEcmFnIGNsYXNzPVwiZXhwcmVzc2lvbkl0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICA8YXBwLWV4cHJlc3Npb24taXRlbVxyXG4gICAgICAgICpuZ0lmPVwiIXVzZUFkdmFuY2VkRmlsdGVyXCJcclxuICAgICAgICBbaXRlbV09XCJpdGVtXCJcclxuICAgICAgICBbaGFzTmV4dF09XCJpIDwgaXRlbXMubGVuZ3RoIC0gMVwiXHJcbiAgICAgICAgW3NlcnZpY2VdPVwic2VydmljZVwiXHJcbiAgICAgID48L2FwcC1leHByZXNzaW9uLWl0ZW0+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYWR2YW5jZWRGaWx0ZXI+XHJcbiAgPGRpdiBjbGFzcz1cImFkdmFuY2VkLWV4cHJlc3Npb24tYnVpbGRlci1jb250YWluZXJcIj5cclxuICAgIDxkaXZcclxuICAgICAgY2RrRHJvcExpc3RcclxuICAgICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxyXG4gICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXHJcbiAgICAgIGNsYXNzPVwiZXhwcmVzc2lvbnNDb250YWluZXIgZXhhbXBsZS1saXN0XCJcclxuICAgICAgW25nQ2xhc3NdPVwiaXNTZWxlY3RlZCA/ICdzZWxlY3RlZCcgOiAnJ1wiXHJcbiAgICA+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjZGtEcmFnXHJcbiAgICAgICAgY2xhc3M9XCJleHByZXNzaW9uSXRlbVwiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT0gJ0VYUFJFU1NJT04nID8gJ25vbi1mbGV4JyA6ICcnXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxhcHAtYWR2YW5jZWQtZXhwcmVzc2lvbi1pdGVtXHJcbiAgICAgICAgICAqbmdJZj1cInVzZUFkdmFuY2VkRmlsdGVyXCJcclxuICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICAgICAgW2hhc05leHRdPVwiaSA8IGl0ZW1zLmxlbmd0aCAtIDFcIlxyXG4gICAgICAgICAgW3NlcnZpY2VdPVwic2VydmljZVwiXHJcbiAgICAgICAgPjwvYXBwLWFkdmFuY2VkLWV4cHJlc3Npb24taXRlbT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb25JdGVtQnViYmxlXCI+XHJcbiAgICAgIDxsaWItYWR2YW5jZWQtcmVsYXRpb24tYnV0dG9uXHJcbiAgICAgICAgW2Jvb2xPcGVyYXRvcl09XCJzZXJ2aWNlLm1vZGVsPy5tb2RlbD8ud29ya3BsYWNlTGlzdD8uZGVmYXVsdE9wZXJhdGlvblwiXHJcbiAgICAgICAgKGJvb2xPcGVyYXRvckNoYW5nZWQpPVwib25PcGVyYXRvckNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgID48L2xpYi1hZHZhbmNlZC1yZWxhdGlvbi1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -302,11 +302,11 @@ export class SmartFilterEditorContentComponent {
|
|
|
302
302
|
});
|
|
303
303
|
}
|
|
304
304
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterEditorContentComponent, deps: [{ token: i1.SmartformLayoutDefinitionService }, { token: i2.ComponentFactoryService }, { token: i3.ExpressionEditorDialogService }, { token: USE_ADVANCED_FILTER, optional: true }, { token: COMPONENT_LIBRARY, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
305
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: { service: "service" }, viewQueries: [{ propertyName: "vcRef", first: true, predicate: ["form"], descendants: true, read: ViewContainerRef }, { propertyName: "simpleFilterVcRef", first: true, predicate: ["simpleFilterFromChild"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"smart-filter-editor-container\" *ngIf=\"service.model\">\n @if (service.model.model?.label) {\n <h3 class=\"smart-filter-editor-title\">{{ service.model.model?.label }}</h3>\n }\n\n <div *ngIf=\"service.model?.type === type.SIMPLE; then simpleFilter; else complexFilter\"></div>\n\n <ng-template #simpleFilter>\n <div class=\"smart-filter-editor-expressionsContainer\">\n <ng-template #simpleFilterFromChild></ng-template>\n <!-- #simpleFilterFromChild [smartForm]=\"simpleFilterForm\"></smartform> -->\n </div>\n </ng-template>\n <ng-template #complexFilter>\n <div class=\"smart-filter-editor-uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\n </div>\n <div\n *ngIf=\"\n service?.model?.model?.workplaceList?.filters?.length;\n then withParameters;\n else withoutParameters\n \"\n ></div>\n <ng-template #withoutParameters>\n <div class=\"smart-filter-editor-withoutParametersContainer\">\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\n </div>\n </ng-template>\n <ng-template #withParameters>\n <div class=\"smart-filter-editor-withParametersContainer\">\n <div\n class=\"smart-filter-editor-expressionsContainer\"\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\n (click)=\"unSelectItems($event)\"\n >\n <app-expression-items\n [items]=\"(service.model.model?.workplaceList)!.filters\"\n [service]=\"service\"\n ></app-expression-items>\n </div>\n <div\n *ngIf=\"\n !useAdvancedFilter ||\n service.model.selectedField?.expressionData?.currentOperation === 'EXPRESSION'\n \"\n class=\"smart-filter-editor-expressionEditorContainer\"\n >\n <!-- <smartform #form [smartForm]=\"smartForm\"></smartform> -->\n <ng-template #form></ng-template>\n <div *ngIf=\"smartForm\">\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\n </div>\n </div>\n </div>\n </ng-template>\n </ng-template>\n</div>\n", styles: [".smart-filter-editor-container{display:flex;flex-direction:column;overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.smart-filter-editor-uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color);display:flex;flex-direction:row;gap:1rem}.smart-filter-editor-withoutParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.smart-filter-editor-withParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.smart-filter-editor-expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.SmartFilterExpressionItemsComponent, selector: "app-expression-items", inputs: ["items", "service"] }] }); }
|
|
305
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: { service: "service" }, viewQueries: [{ propertyName: "vcRef", first: true, predicate: ["form"], descendants: true, read: ViewContainerRef }, { propertyName: "simpleFilterVcRef", first: true, predicate: ["simpleFilterFromChild"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"smart-filter-editor-container\" *ngIf=\"service.model\">\r\n @if (service.model.model?.label) {\r\n <h3 class=\"smart-filter-editor-title\">{{ service.model.model?.label }}</h3>\r\n }\r\n\r\n <div *ngIf=\"service.model?.type === type.SIMPLE; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"smart-filter-editor-expressionsContainer\">\r\n <ng-template #simpleFilterFromChild></ng-template>\r\n <!-- #simpleFilterFromChild [smartForm]=\"simpleFilterForm\"></smartform> -->\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"smart-filter-editor-uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"smart-filter-editor-withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"smart-filter-editor-withParametersContainer\">\r\n <div\r\n class=\"smart-filter-editor-expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n (click)=\"unSelectItems($event)\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model.model?.workplaceList)!.filters\"\r\n [service]=\"service\"\r\n ></app-expression-items>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n !useAdvancedFilter ||\r\n service.model.selectedField?.expressionData?.currentOperation === 'EXPRESSION'\r\n \"\r\n class=\"smart-filter-editor-expressionEditorContainer\"\r\n >\r\n <!-- <smartform #form [smartForm]=\"smartForm\"></smartform> -->\r\n <ng-template #form></ng-template>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".smart-filter-editor-container{display:flex;flex-direction:column;overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.smart-filter-editor-uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color);display:flex;flex-direction:row;gap:1rem}.smart-filter-editor-withoutParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.smart-filter-editor-withParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.smart-filter-editor-expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.SmartFilterExpressionItemsComponent, selector: "app-expression-items", inputs: ["items", "service"] }] }); }
|
|
306
306
|
}
|
|
307
307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterEditorContentComponent, decorators: [{
|
|
308
308
|
type: Component,
|
|
309
|
-
args: [{ selector: 'smart-filter-expression-editor', template: "<div class=\"smart-filter-editor-container\" *ngIf=\"service.model\">\n @if (service.model.model?.label) {\n <h3 class=\"smart-filter-editor-title\">{{ service.model.model?.label }}</h3>\n }\n\n <div *ngIf=\"service.model?.type === type.SIMPLE; then simpleFilter; else complexFilter\"></div>\n\n <ng-template #simpleFilter>\n <div class=\"smart-filter-editor-expressionsContainer\">\n <ng-template #simpleFilterFromChild></ng-template>\n <!-- #simpleFilterFromChild [smartForm]=\"simpleFilterForm\"></smartform> -->\n </div>\n </ng-template>\n <ng-template #complexFilter>\n <div class=\"smart-filter-editor-uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\n </div>\n <div\n *ngIf=\"\n service?.model?.model?.workplaceList?.filters?.length;\n then withParameters;\n else withoutParameters\n \"\n ></div>\n <ng-template #withoutParameters>\n <div class=\"smart-filter-editor-withoutParametersContainer\">\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\n </div>\n </ng-template>\n <ng-template #withParameters>\n <div class=\"smart-filter-editor-withParametersContainer\">\n <div\n class=\"smart-filter-editor-expressionsContainer\"\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\n (click)=\"unSelectItems($event)\"\n >\n <app-expression-items\n [items]=\"(service.model.model?.workplaceList)!.filters\"\n [service]=\"service\"\n ></app-expression-items>\n </div>\n <div\n *ngIf=\"\n !useAdvancedFilter ||\n service.model.selectedField?.expressionData?.currentOperation === 'EXPRESSION'\n \"\n class=\"smart-filter-editor-expressionEditorContainer\"\n >\n <!-- <smartform #form [smartForm]=\"smartForm\"></smartform> -->\n <ng-template #form></ng-template>\n <div *ngIf=\"smartForm\">\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\n </div>\n </div>\n </div>\n </ng-template>\n </ng-template>\n</div>\n", styles: [".smart-filter-editor-container{display:flex;flex-direction:column;overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.smart-filter-editor-uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color);display:flex;flex-direction:row;gap:1rem}.smart-filter-editor-withoutParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.smart-filter-editor-withParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.smart-filter-editor-expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"] }]
|
|
309
|
+
args: [{ selector: 'smart-filter-expression-editor', template: "<div class=\"smart-filter-editor-container\" *ngIf=\"service.model\">\r\n @if (service.model.model?.label) {\r\n <h3 class=\"smart-filter-editor-title\">{{ service.model.model?.label }}</h3>\r\n }\r\n\r\n <div *ngIf=\"service.model?.type === type.SIMPLE; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"smart-filter-editor-expressionsContainer\">\r\n <ng-template #simpleFilterFromChild></ng-template>\r\n <!-- #simpleFilterFromChild [smartForm]=\"simpleFilterForm\"></smartform> -->\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"smart-filter-editor-uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"smart-filter-editor-withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"smart-filter-editor-withParametersContainer\">\r\n <div\r\n class=\"smart-filter-editor-expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n (click)=\"unSelectItems($event)\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model.model?.workplaceList)!.filters\"\r\n [service]=\"service\"\r\n ></app-expression-items>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n !useAdvancedFilter ||\r\n service.model.selectedField?.expressionData?.currentOperation === 'EXPRESSION'\r\n \"\r\n class=\"smart-filter-editor-expressionEditorContainer\"\r\n >\r\n <!-- <smartform #form [smartForm]=\"smartForm\"></smartform> -->\r\n <ng-template #form></ng-template>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".smart-filter-editor-container{display:flex;flex-direction:column;overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.smart-filter-editor-uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color);display:flex;flex-direction:row;gap:1rem}.smart-filter-editor-withoutParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.smart-filter-editor-withParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.smart-filter-editor-expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"] }]
|
|
310
310
|
}], ctorParameters: () => [{ type: i1.SmartformLayoutDefinitionService }, { type: i2.ComponentFactoryService }, { type: i3.ExpressionEditorDialogService }, { type: undefined, decorators: [{
|
|
311
311
|
type: Inject,
|
|
312
312
|
args: [USE_ADVANCED_FILTER]
|
|
@@ -326,4 +326,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
326
326
|
type: ViewChild,
|
|
327
327
|
args: ['simpleFilterFromChild', { read: ViewContainerRef }]
|
|
328
328
|
}] } });
|
|
329
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZpbHRlci1lZGl0b3Ivc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixTQUFTLEVBRVQsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUsxRSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUVyRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUs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ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBJbmplY3RvcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5U2VydmljZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudC1mYWN0b3J5LXNlcnZpY2UvY29tcG9uZW50LWZhY3Rvcnktc2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUgfSBmcm9tICcuLi8uLi9zbWFydC1maWx0ZXIvcHJvamVjdHMnO1xuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9hcGkvbW9kZWwvc21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uJztcbmltcG9ydCB7IFNtYXJ0Rm9ybVdpZGdldFR5cGUgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3Byb2plY3RzJztcbmltcG9ydCB7IFNtYXJ0Zm9ybUxheW91dERlZmluaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zZXJ2aWNlcy9zbWFydGZvcm0ubGF5b3V0LWRlZmluaXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTbWFydGZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0IH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zbWFydGZvcm0uZm9ybS1tb2RlbCc7XG5pbXBvcnQgeyBTbWFydEZvcm0sIFNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZSwgVmFsdWUgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5tb2RlbCc7XG5pbXBvcnQgeyBVaUFjdGlvbiB9IGZyb20gJy4uLy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvdWlBY3Rpb24nO1xuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4uLy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyVWlNb2RlbFR5cGVFbnVtIH0gZnJvbSAnLi4vYXBpL21vZGVsL2ZpbHRlckV4cHJlc3Npb25CdWlsZGVyVWlNb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uRmllbGQgfSBmcm9tICcuLi9hcGkvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkZpZWxkJztcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyQXBpQWN0aW9ucyB9IGZyb20gJy4uL2ZpbHRlckV4cHJlc3Npb25CdWlsZGVyQXBpQWN0aW9ucyc7XG5pbXBvcnQgeyBJU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtZmlsdGVyLWVkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFNtYXJ0T2JqZWN0VXRpbGl0eSB9IGZyb20gJy4uLy4uL3ZpZXctY29udGV4dC91dGlsaXR5L3NtYXJ0LW9iamVjdC11dGlsaXR5JztcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5IH0gZnJvbSAnLi4vLi4vdmlldy1jb250ZXh0L3V0aWxpdHkvY29tcG9uZW50TGlicmFyeSc7XG5pbXBvcnQgeyBFeHByZXNzaW9uRWRpdG9yRGlhbG9nU2VydmljZSB9IGZyb20gJy4vY29tcG9uZW50cy9hZHZhbmNlZC9leHByZXNzaW9uLWVkaXRvci1kaWFsb2cvZXhwcmVzc2lvbi1lZGl0b3ItZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgVVNFX0FEVkFOQ0VEX0ZJTFRFUiB9IGZyb20gJy4uL2ZpbHRlci11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlckVkaXRvckNvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcbiAgQElucHV0KCkgc2VydmljZSE6IElTbWFydEZpbHRlckVkaXRvclNlcnZpY2U7XG5cbiAgdWlBY3Rpb25Nb2RlbHM6IFVpQWN0aW9uTW9kZWxbXSA9IFtdO1xuICBleHByZXNzaW9uVWlBY3Rpb25Nb2RlbHM6IFVpQWN0aW9uTW9kZWxbXSA9IFtdO1xuXG4gIEBWaWV3Q2hpbGQoJ2Zvcm0nLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgdmNSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xuICBmb3JtQ29tcFJlZj86IENvbXBvbmVudFJlZjxTbWFydGZvcm1Db21wb25lbnQ+O1xuICBzbWFydEZvcm0/OiBTbWFydEZvcm07XG5cbiAgQFZpZXdDaGlsZCgnc2ltcGxlRmlsdGVyRnJvbUNoaWxkJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXG4gIHNpbXBsZUZpbHRlclZjUmVmPzogVmlld0NvbnRhaW5lclJlZjtcbiAgc2ltcGxlRmlsdGVyUmVmPzogQ29tcG9uZW50UmVmPFNtYXJ0Zm9ybUNvbXBvbmVudD47XG5cbiAgdHlwZSA9IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyVWlNb2RlbFR5cGVFbnVtO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbGF5b3V0U2VydmljZTogU21hcnRmb3JtTGF5b3V0RGVmaW5pdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZlNlcnZpY2U6IENvbXBvbmVudEZhY3RvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgZXhwcmVzc2lvbkVkaXRvckRpYWxvZ1NlcnZpY2U6IEV4cHJlc3Npb25FZGl0b3JEaWFsb2dTZXJ2aWNlLFxuICAgIEBJbmplY3QoVVNFX0FEVkFOQ0VEX0ZJTFRFUikgQE9wdGlvbmFsKCkgcmVhZG9ubHkgdXNlQWR2YW5jZWRGaWx0ZXI/OiBib29sZWFuLFxuICAgIEBJbmplY3QoQ09NUE9ORU5UX0xJQlJBUlkpIEBPcHRpb25hbCgpIHB1YmxpYyBjb21wTGliPzogQ29tcG9uZW50TGlicmFyeVxuICApIHt9XG5cbiAgcHJpdmF0ZSBzdWJzcmNpYmVTaW1wbGVGb3JtQ2hpbGRyZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5zaW1wbGVGaWx0ZXJSZWYhLmluc3RhbmNlLm9uQmx1clN1YmplY3QhLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2F2ZUZpbHRlcigpO1xuICAgIH0pO1xuICAgIHRoaXMuc2ltcGxlRmlsdGVyUmVmIS5pbnN0YW5jZS5zb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2U/LnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgKS5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xuICAgICAgaWYgKHRoaXMuY29tcExpYiA9PT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XG4gICAgICAgIGlmIChjaGFuZ2Uua2luZCA9PT0gJ3NlbGVjdGlvbicpIHtcbiAgICAgICAgICB0aGlzLnNhdmVGaWx0ZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGNoYW5nZS5raW5kID09PSAnc2VsZWN0aW9uJyAmJiAhY2hhbmdlLmtleS5pbmNsdWRlcygnc2VsZWN0ZWRWYWx1ZXMnKSkge1xuICAgICAgICAgIHRoaXMuc2F2ZUZpbHRlcigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZUVkaXRvckZvcm1DaGlsZHJlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Db21wUmVmPy5pbnN0YW5jZSEub25CbHVyU3ViamVjdCEucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zYXZlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm1Db21wUmVmIS5pbnN0YW5jZSEuc29waGlzdGljYXRlZFZhbHVlQ2hhbmdlPy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZShcbiAgICAgIChjaGFuZ2U6IFNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgY2hhbmdlLmtleSA9PT0gJ2V4cHJlc3Npb25EYXRhLmN1cnJlbnRPcGVyYXRpb24nIHx8XG4gICAgICAgICAgY2hhbmdlLmtleSA9PT0gJ2V4cHJlc3Npb25EYXRhLm9wZXJhbmQyLnNlbGVjdGVkT2JqZWN0cydcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5zYXZlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXJ2aWNlLm1vZGVsQ2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNldFVwKCkpO1xuICAgIHRoaXMuc2VydmljZS5sb2FkKCk7XG4gICAgaWYgKHRoaXMudXNlQWR2YW5jZWRGaWx0ZXIpIHtcbiAgICAgIHRoaXMuc2VydmljZS5pdGVtU2VsZWN0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gIT09ICdFWFBSRVNTSU9OJykge1xuICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbkVkaXRvckRpYWxvZ1NlcnZpY2Uuc2V0RGF0YUFuZE9wZW5EaWFsb2codGhpcy5jcmVhdGVGaWx0ZXJFZGl0b3JGb3JtKCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZXhwcmVzc2lvbkVkaXRvckRpYWxvZ1NlcnZpY2Uuc2F2ZUV2ZW50XG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLnNlcnZpY2UubW9kZWwhLnNlbGVjdGVkRmllbGQgPSBkYXRhO1xuICAgICAgICAgIHRoaXMudXBkYXRlRmlsdGVyRXhwcmVzc2lvbigpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBzZXR1cFNpbXBsZUZpbHRlcigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2ltcGxlRmlsdGVyVmNSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgd2lkZ2V0czogU21hcnRGb3JtV2lkZ2V0PGFueT5bXSA9IFtdO1xuXG4gICAgbGV0IGtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgbGV0IG1vZGVsOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG5cbiAgICB0aGlzLnNlcnZpY2UubW9kZWw/Lm1vZGVsPy53b3JrcGxhY2VMaXN0Py5maWx0ZXJzLmZvckVhY2goXG4gICAgICAoZmlsdGVyRXhwcmVzc2lvbkZpZWxkOiBGaWx0ZXJFeHByZXNzaW9uRmllbGQsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgbW9kZWxbaW5kZXhdID0gZmlsdGVyRXhwcmVzc2lvbkZpZWxkO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQud2lkZ2V0VHlwZSA9PT0gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxEX0xPT0tVUFxuICAgICAgICApIHtcbiAgICAgICAgICBrZXkgPSBpbmRleCArICcuZXhwcmVzc2lvbkRhdGEub3BlcmFuZDIuc2VsZWN0ZWRPYmplY3RzJztcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXG4gICAgICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm1XaWRnZXQoXG4gICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMiEsXG4gICAgICAgICAgICAgIEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVEVYVF9GSUVMRF9MT09LVVAsXG4gICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQyPy5zZWxlY3RlZE9iamVjdHMgPz8gW10sXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWx0ZXJFeHByZXNzaW9uRmllbGQud2lkZ2V0VHlwZSA9PT0gJ1NFTEVDVF9NVUxUSVBMRScpIHtcbiAgICAgICAgICBrZXkgPSBpbmRleCArICcuZXhwcmVzc2lvbkRhdGEub3BlcmFuZDIuc2VsZWN0ZWRWYWx1ZXMnO1xuICAgICAgICAgIHdpZGdldHMucHVzaChcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcbiAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQubGFiZWwyISxcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQucG9zc2libGVWYWx1ZXMgYXMgVmFsdWVbXSxcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMj8uc2VsZWN0ZWRWYWx1ZXMgPz8gW10sXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT09ICdCRVRXRUVOJykge1xuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMi52YWx1ZUFzU3RyaW5nJztcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXG4gICAgICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm1XaWRnZXQoXG4gICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMiEsXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC53aWRnZXRUeXBlID8/IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVEVYVF9GSUVMRCxcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnBvc3NpYmxlVmFsdWVzIGFzIFZhbHVlW10sXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDI/LnZhbHVlQXNTdHJpbmcgPz8gJycsXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuXG4gICAgICAgICAga2V5ID0gaW5kZXggKyAnLmV4cHJlc3Npb25EYXRhLm9wZXJhbmQzLnZhbHVlQXNTdHJpbmcnO1xuICAgICAgICAgIHdpZGdldHMucHVzaChcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcbiAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQubGFiZWwzISxcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQucG9zc2libGVWYWx1ZXMgYXMgVmFsdWVbXSxcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMz8udmFsdWVBc1N0cmluZyA/PyAnJyxcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnRvb2xiYXJJZFxuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDIpIHtcbiAgICAgICAgICBrZXkgPSBpbmRleCArICcuZXhwcmVzc2lvbkRhdGEub3BlcmFuZDIudmFsdWVBc1N0cmluZyc7XG5cbiAgICAgICAgICB3aWRnZXRzLnB1c2goXG4gICAgICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm1XaWRnZXQoXG4gICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMiEsXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC53aWRnZXRUeXBlID8/IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVEVYVF9GSUVMRCxcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnBvc3NpYmxlVmFsdWVzIGFzIFZhbHVlW10sXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDI/LnZhbHVlQXNTdHJpbmcgPz8gJycsXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlsdGVyRXhwcmVzc2lvbkZpZWxkPy5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDMpIHtcbiAgICAgICAgICBrZXkgPSBpbmRleCArICcuZXhwcmVzc2lvbkRhdGEub3BlcmFuZDMudmFsdWVBc1N0cmluZyc7XG5cbiAgICAgICAgICB3aWRnZXRzLnB1c2goXG4gICAgICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm1XaWRnZXQoXG4gICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMyEsXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC53aWRnZXRUeXBlID8/IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVEVYVF9GSUVMRCxcblxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQucG9zc2libGVWYWx1ZXMgYXMgVmFsdWVbXSxcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMz8udmFsdWVBc1N0cmluZyA/PyAnJyxcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnRvb2xiYXJJZFxuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcblxuICAgIGxldCBzbWFydEZvcm0gPSB7XG4gICAgICBkaXJlY3Rpb246IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbi5ST1csXG4gICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiBtb2RlbCB9LFxuICAgICAgdXNlT25WYWx1ZUNoYW5nZUV2ZW50OiAhdGhpcy51c2VBZHZhbmNlZEZpbHRlcixcbiAgICAgIHVzZU9uQmx1ckV2ZW50OiAhdGhpcy51c2VBZHZhbmNlZEZpbHRlcixcbiAgICAgIHdpZGdldHMsXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnNpbXBsZUZpbHRlclJlZj8uaW5zdGFuY2UpIHtcbiAgICAgIC8vIHdlIGFscmVhZHkgaGF2ZSBhIFNtYXJ0Rm9ybUNvbXBvbmVudCwgdXNlIHRoYXRcbiAgICAgIGxldCBjb21wID0gdGhpcy5zaW1wbGVGaWx0ZXJSZWY/Lmluc3RhbmNlO1xuXG4gICAgICBpZiAoY29tcC5zbWFydEZvcm0gJiYgdGhpcy5jb21wYXJlV2lkZ2V0cyhjb21wLnNtYXJ0Rm9ybS53aWRnZXRzLCBzbWFydEZvcm0ud2lkZ2V0cykpIHtcbiAgICAgICAgLy8gdGhlcmUncyBubyBzdHJ1Y3R1cmFsIGNoYW5nZSwgZG9uJ3QgcmVjcmVhdGUgU21hcnRGb3JtQ29tcG9uZW50XG4gICAgICAgIGNvbXAuc21hcnRGb3JtLmNvbXBvbmVudE1vZGVsID0gc21hcnRGb3JtLmNvbXBvbmVudE1vZGVsO1xuICAgICAgICBjb21wLmNvbnN0cnVjdEZvcm0oKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2ltcGxlRmlsdGVyVmNSZWY/LmNsZWFyKCk7XG4gICAgdGhpcy5zaW1wbGVGaWx0ZXJSZWY/LmRlc3Ryb3koKTtcblxuICAgIHRoaXMuc2ltcGxlRmlsdGVyUmVmID0gdGhpcy5jZlNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgdGhpcy5zaW1wbGVGaWx0ZXJWY1JlZiEsXG4gICAgICBTbWFydGZvcm1Db21wb25lbnQsXG4gICAgICBuZXcgTWFwPHN0cmluZywgYW55PihbWydzbWFydEZvcm0nLCBzbWFydEZvcm1dXSlcbiAgICApO1xuXG4gICAgdGhpcy5zdWJzcmNpYmVTaW1wbGVGb3JtQ2hpbGRyZW5FdmVudHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcGFyZVdpZGdldHMod3MxOiBTbWFydEZvcm1XaWRnZXQ8YW55PltdLCB3czI6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+W10pOiBib29sZWFuIHtcbiAgICBpZiAod3MxLmxlbmd0aCAhPT0gd3MyLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHdzMS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCF0aGlzLmNvbXBhcmVXaWRnZXQod3MxW2ldLCB3czJbaV0pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIGNvbXBhcmVXaWRnZXQodzE6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+LCB3MjogU21hcnRGb3JtV2lkZ2V0PGFueT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gU21hcnRPYmplY3RVdGlsaXR5LmNvbXBhcmVCeVByb3BzKHcxLCB3MiwgW1xuICAgICAgJ2Vycm9yJyxcbiAgICAgICdrZXknLFxuICAgICAgJ2xhYmVsJyxcbiAgICAgICd0eXBlJyxcbiAgICAgIC8vICd2YWx1ZScsIDwtIHZhbHVlIHdpbGwgYmUgc2V0IGJ5IGNvbXBvbmVudE1vZGVsLmRhdGEhXG4gICAgICAnc2hvd0xhYmVsJyxcbiAgICAgICd2YWx1ZUxpc3QnLFxuICAgICAgJ3Rvb2xiYXJJZCcsXG4gICAgXSk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RGaWx0ZXJGaWVsZEZyb21Gb3JtTW9kZWwoKTogdm9pZCB7XG4gICAgbGV0IHNpbXBsZUZpbHRlciA9IHRoaXMuc2ltcGxlRmlsdGVyUmVmPy5pbnN0YW5jZT8uc3VibWl0Rm9ybShmYWxzZSkuY29tcG9uZW50TW9kZWwuZGF0YTtcbiAgICBsZXQgcmVzdWx0OiBGaWx0ZXJFeHByZXNzaW9uRmllbGRbXSA9IFtdO1xuXG4gICAgT2JqZWN0LmtleXMoc2ltcGxlRmlsdGVyKS5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgcmVzdWx0LnB1c2goc2ltcGxlRmlsdGVyW2tleV0pO1xuICAgIH0pO1xuICAgIHRoaXMuc2VydmljZS5tb2RlbCEubW9kZWwhLndvcmtwbGFjZUxpc3QhLmZpbHRlcnMgPSByZXN1bHQ7XG4gIH1cblxuICBzZXRVcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZXJ2aWNlLm1vZGVsPy50eXBlID09PSB0aGlzLnR5cGUuU0lNUExFKSB7XG4gICAgICB0aGlzLnNldHVwU2ltcGxlRmlsdGVyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29uc3RydWN0VWlBY3Rpb25Nb2RlbHMoKTtcblxuICAgICAgaWYgKHRoaXMuc2VydmljZT8ubW9kZWw/LnNlbGVjdGVkRmllbGRFZGl0b3IpIHtcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZjUmVmPy5jbGVhcigpO1xuICAgICAgICB0aGlzLmZvcm1Db21wUmVmPy5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuc21hcnRGb3JtID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdFVpQWN0aW9uTW9kZWxzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlcnZpY2UubW9kZWw/LnBvc3NpYmxlQWN0aW9ucykge1xuICAgICAgdGhpcy51aUFjdGlvbk1vZGVscyA9IHRoaXMuc2VydmljZS5tb2RlbC5wb3NzaWJsZUFjdGlvbnMubWFwKChhY3Rpb246IFVpQWN0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc2VydmljZVRvVXNlOiB0aGlzLnNlcnZpY2UsXG4gICAgICAgICAgdWlBY3Rpb246IGFjdGlvbixcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGRFZGl0b3I/LnBvc3NpYmxlQWN0aW9ucykge1xuICAgICAgdGhpcy5leHByZXNzaW9uVWlBY3Rpb25Nb2RlbHMgPSB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGRFZGl0b3IucG9zc2libGVBY3Rpb25zLm1hcChcbiAgICAgICAgKHVpQWN0aW9uOiBVaUFjdGlvbikgPT4ge1xuICAgICAgICAgIGxldCBjb3BpZWRVaUFjdGlvbjogVWlBY3Rpb24gPSB7fTtcbiAgICAgICAgICBPYmplY3Qua2V5cyh1aUFjdGlvbikubWFwKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgKGNvcGllZFVpQWN0aW9uIGFzIGFueSlba2V5XSA9ICh1aUFjdGlvbiBhcyBhbnkpW2tleV07XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgY29waWVkVWlBY3Rpb24ucGFyYW1zID0ge1xuICAgICAgICAgICAgZmllbGQ6IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZCxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzZXJ2aWNlVG9Vc2U6IHRoaXMuc2VydmljZSxcbiAgICAgICAgICAgIHVpQWN0aW9uOiBjb3BpZWRVaUFjdGlvbixcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5zbWFydEZvcm0gPSB0aGlzLmNyZWF0ZUZpbHRlckVkaXRvckZvcm0oKTtcblxuICAgIHRoaXMudmNSZWY/LmNsZWFyKCk7XG4gICAgdGhpcy5mb3JtQ29tcFJlZj8uZGVzdHJveSgpO1xuXG4gICAgaWYgKCF0aGlzLnZjUmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtQ29tcFJlZiA9IHRoaXMuY2ZTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgIHRoaXMudmNSZWYhLFxuICAgICAgU21hcnRmb3JtQ29tcG9uZW50LFxuICAgICAgbmV3IE1hcDxzdHJpbmcsIGFueT4oW1snc21hcnRGb3JtJywgdGhpcy5zbWFydEZvcm1dXSlcbiAgICApO1xuICAgIHRoaXMuc2VydmljZS5zZXRDb21wbGV4VG9vbGJhcnModGhpcy5mb3JtQ29tcFJlZi5pbnN0YW5jZS5nZXRUb29sYmFycygpKTtcblxuICAgIHRoaXMuc3Vic2NyaWJlRWRpdG9yRm9ybUNoaWxkcmVuRXZlbnRzKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZpbHRlckVkaXRvckZvcm0oKTogU21hcnRGb3JtIHtcbiAgICBsZXQgZ2VuZXJhdGVkV2lkZ2V0czogU21hcnRGb3JtV2lkZ2V0PGFueT5bXSA9IHRoaXMubGF5b3V0U2VydmljZS5yZW5kZXIoe1xuICAgICAgbGF5b3V0RGVmaW5pdGlvbnM6IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZEVkaXRvcj8ubGF5b3V0RGVmPy53aWRnZXRzLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpcmVjdGlvbjogU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLlJPVyxcbiAgICAgIHVzZU9uQmx1ckV2ZW50OiB0cnVlLFxuICAgICAgdXNlT25WYWx1ZUNoYW5nZUV2ZW50OiB0cnVlLFxuICAgICAgY29tcG9uZW50TW9kZWw6IHsgZGF0YTogdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkIH0sXG4gICAgICB3aWRnZXRzOiBnZW5lcmF0ZWRXaWRnZXRzLFxuICAgIH07XG4gIH1cblxuICBzYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUNvbXBSZWY/Lmluc3RhbmNlPy5zdWJtaXRGb3JtKGZhbHNlKTtcbiAgICB0aGlzLnVwZGF0ZUZpbHRlckV4cHJlc3Npb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRmlsdGVyRXhwcmVzc2lvbigpIHtcbiAgICB0aGlzLnNlcnZpY2UucGVmb3JtV2lkZ2V0QWN0aW9uKHtcbiAgICAgIGNvZGU6ICdVUERBVEVfRklMVEVSX0VYUFJFU1NJT04nLFxuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIG1vZGVsOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlKCk6IHZvaWQge1xuICAgIHRoaXMuc2VydmljZS5wZWZvcm1XaWRnZXRBY3Rpb24oe1xuICAgICAgY29kZTogJ1JFTU9WRV9GSUxURVJfRVhQUkVTU0lPTicsXG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgbW9kZWw6IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzYXZlRmlsdGVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZXh0cmFjdEZpbHRlckZpZWxkRnJvbUZvcm1Nb2RlbCgpO1xuICAgIGF3YWl0IHRoaXMuc2VydmljZS5wZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KHtcbiAgICAgIGNvZGU6IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyQXBpQWN0aW9ucy5TQVZFX0VYUFJFU1NJT05fRklFTERfTElTVCxcbiAgICAgIHBhcmFtczoge1xuICAgICAgICBtb2RlbDogdGhpcy5zZXJ2aWNlLm1vZGVsISxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdEZvcm1XaWRnZXQoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgbGFiZWw6IHN0cmluZyxcbiAgICB3aWRnZXRUeXBlOiBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlLFxuICAgIHBvc3NpYmxlVmFsdWVzOiBWYWx1ZVtdLFxuICAgIHZhbHVlOiBhbnksXG4gICAgdG9vbGJhcklkPzogc3RyaW5nXG4gICk6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+IHtcbiAgICBsZXQgdHlwZTogYW55ID0gd2lkZ2V0VHlwZTtcblxuICAgIGlmICh0eXBlID09PSBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlLkRBVEUpIHtcbiAgICAgIHR5cGUgPSBTbWFydEZvcm1XaWRnZXRUeXBlLkRBVEVfUElDS0VSO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5EQVRFX1RJTUUpIHtcbiAgICAgIHR5cGUgPSBTbWFydEZvcm1XaWRnZXRUeXBlLkRBVEVfVElNRV9QSUNLRVI7XG4gICAgfVxuXG4gICAgbGV0IHdpZGdldDogU21hcnRGb3JtV2lkZ2V0PGFueT4gPSB7XG4gICAgICBlcnJvcjogdW5kZWZpbmVkLFxuICAgICAga2V5LFxuICAgICAgbGFiZWwsXG4gICAgICB0eXBlLFxuICAgICAgdmFsdWUsXG4gICAgICBzaG93TGFiZWw6IHRydWUsXG4gICAgICBpc0Zsb2F0TGFiZWw6IHRydWUsXG4gICAgICB2YWx1ZUxpc3Q6IHBvc3NpYmxlVmFsdWVzLm1hcCgodmFsdWU6IFZhbHVlKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAga2V5OiB2YWx1ZS5vYmplY3RVcmkgPyB2YWx1ZS5vYmplY3RVcmkgOiB2YWx1ZS5jb2RlISxcbiAgICAgICAgICBsYWJlbDogdmFsdWUuZGlzcGxheVZhbHVlLFxuICAgICAgICAgIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuSVRFTSxcbiAgICAgICAgICB2YWx1ZTogdmFsdWUub2JqZWN0VXJpID8gdmFsdWUub2JqZWN0VXJpIDogdmFsdWUuY29kZSxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICAgdG9vbGJhcklkLFxuICAgICAgdGV4dEZpZWxkUHJvcGVydGllczoge1xuICAgICAgICBjbGVhcmFibGU6IHRydWUsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gd2lkZ2V0O1xuICB9XG5cbiAgYXN5bmMgdW5TZWxlY3RJdGVtcyhldmVudDogTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGF3YWl0IHRoaXMuc2VydmljZS5wZWZvcm1XaWRnZXRBY3Rpb24oe1xuICAgICAgY29kZTogJ1NFTEVDVF9GSUVMRCcsXG4gICAgICBwYXJhbXM6IHt9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci1jb250YWluZXJcIiAqbmdJZj1cInNlcnZpY2UubW9kZWxcIj5cbiAgQGlmIChzZXJ2aWNlLm1vZGVsLm1vZGVsPy5sYWJlbCkge1xuICAgIDxoMyBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3ItdGl0bGVcIj57eyBzZXJ2aWNlLm1vZGVsLm1vZGVsPy5sYWJlbCB9fTwvaDM+XG4gIH1cblxuICA8ZGl2ICpuZ0lmPVwic2VydmljZS5tb2RlbD8udHlwZSA9PT0gdHlwZS5TSU1QTEU7IHRoZW4gc2ltcGxlRmlsdGVyOyBlbHNlIGNvbXBsZXhGaWx0ZXJcIj48L2Rpdj5cblxuICA8bmctdGVtcGxhdGUgI3NpbXBsZUZpbHRlcj5cbiAgICA8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci1leHByZXNzaW9uc0NvbnRhaW5lclwiPlxuICAgICAgPG5nLXRlbXBsYXRlICNzaW1wbGVGaWx0ZXJGcm9tQ2hpbGQ+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwhLS0gI3NpbXBsZUZpbHRlckZyb21DaGlsZCBbc21hcnRGb3JtXT1cInNpbXBsZUZpbHRlckZvcm1cIj48L3NtYXJ0Zm9ybT4gLS0+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjY29tcGxleEZpbHRlcj5cbiAgICA8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci11aUFjdGlvbnNCYXJcIiAqbmdJZj1cIiFzZXJ2aWNlLm1vZGVsPy5yZWFkT25seVwiPlxuICAgICAgPHNtYXJ0LXVpLWFjdGlvbi10b29sYmFyIFt1aUFjdGlvbk1vZGVsc109XCJ1aUFjdGlvbk1vZGVsc1wiPjwvc21hcnQtdWktYWN0aW9uLXRvb2xiYXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJcbiAgICAgICAgc2VydmljZT8ubW9kZWw/Lm1vZGVsPy53b3JrcGxhY2VMaXN0Py5maWx0ZXJzPy5sZW5ndGg7XG4gICAgICAgIHRoZW4gd2l0aFBhcmFtZXRlcnM7XG4gICAgICAgIGVsc2Ugd2l0aG91dFBhcmFtZXRlcnNcbiAgICAgIFwiXG4gICAgPjwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjd2l0aG91dFBhcmFtZXRlcnM+XG4gICAgICA8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci13aXRob3V0UGFyYW1ldGVyc0NvbnRhaW5lclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1ib2R5XCI+IE3DqWcgbmluY3MgbWVnYWR2YSBwYXJhbcOpdGVyIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICN3aXRoUGFyYW1ldGVycz5cbiAgICAgIDxkaXYgY2xhc3M9XCJzbWFydC1maWx0ZXItZWRpdG9yLXdpdGhQYXJhbWV0ZXJzQ29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3ItZXhwcmVzc2lvbnNDb250YWluZXJcIlxuICAgICAgICAgICpuZ0lmPVwic2VydmljZT8ubW9kZWw/Lm1vZGVsPy53b3JrcGxhY2VMaXN0Py5maWx0ZXJzPy5sZW5ndGhcIlxuICAgICAgICAgIChjbGljayk9XCJ1blNlbGVjdEl0ZW1zKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFwcC1leHByZXNzaW9uLWl0ZW1zXG4gICAgICAgICAgICBbaXRlbXNdPVwiKHNlcnZpY2UubW9kZWwubW9kZWw/LndvcmtwbGFjZUxpc3QpIS5maWx0ZXJzXCJcbiAgICAgICAgICAgIFtzZXJ2aWNlXT1cInNlcnZpY2VcIlxuICAgICAgICAgID48L2FwcC1leHByZXNzaW9uLWl0ZW1zPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAhdXNlQWR2YW5jZWRGaWx0ZXIgfHxcbiAgICAgICAgICAgIHNlcnZpY2UubW9kZWwuc2VsZWN0ZWRGaWVsZD8uZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT09ICdFWFBSRVNTSU9OJ1xuICAgICAgICAgIFwiXG4gICAgICAgICAgY2xhc3M9XCJzbWFydC1maWx0ZXItZWRpdG9yLWV4cHJlc3Npb25FZGl0b3JDb250YWluZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgPCEtLSA8c21hcnRmb3JtICNmb3JtIFtzbWFydEZvcm1dPVwic21hcnRGb3JtXCI+PC9zbWFydGZvcm0+IC0tPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZm9ybT48L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJzbWFydEZvcm1cIj5cbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInJlbW92ZSgpXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCI+VMO2cmzDqXM8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
329
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZpbHRlci1lZGl0b3Ivc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixTQUFTLEVBRVQsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUsxRSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUVyRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUs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ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEluamVjdG9yLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50LWZhY3Rvcnktc2VydmljZS9jb21wb25lbnQtZmFjdG9yeS1zZXJ2aWNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlIH0gZnJvbSAnLi4vLi4vc21hcnQtZmlsdGVyL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9hcGkvbW9kZWwvc21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uJztcclxuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0VHlwZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NtYXJ0LWZvcm0vc2VydmljZXMvc21hcnRmb3JtLmxheW91dC1kZWZpbml0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydGZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydEZvcm1XaWRnZXQgfSBmcm9tICcuLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5mb3JtLW1vZGVsJztcclxuaW1wb3J0IHsgU21hcnRGb3JtLCBTb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2UsIFZhbHVlIH0gZnJvbSAnLi4vLi4vc21hcnQtZm9ybS9zbWFydGZvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbiB9IGZyb20gJy4uLy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvdWlBY3Rpb24nO1xyXG5pbXBvcnQgeyBVaUFjdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlclVpTW9kZWxUeXBlRW51bSB9IGZyb20gJy4uL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uQnVpbGRlclVpTW9kZWwnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uRmllbGQgfSBmcm9tICcuLi9hcGkvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkZpZWxkJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJBcGlBY3Rpb25zIH0gZnJvbSAnLi4vZmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJBcGlBY3Rpb25zJztcclxuaW1wb3J0IHsgSVNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LWZpbHRlci1lZGl0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IFNtYXJ0T2JqZWN0VXRpbGl0eSB9IGZyb20gJy4uLy4uL3ZpZXctY29udGV4dC91dGlsaXR5L3NtYXJ0LW9iamVjdC11dGlsaXR5JztcclxuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuLi8uLi92aWV3LWNvbnRleHQvdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcclxuaW1wb3J0IHsgRXhwcmVzc2lvbkVkaXRvckRpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2NvbXBvbmVudHMvYWR2YW5jZWQvZXhwcmVzc2lvbi1lZGl0b3ItZGlhbG9nL2V4cHJlc3Npb24tZWRpdG9yLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVVNFX0FEVkFOQ0VEX0ZJTFRFUiB9IGZyb20gJy4uL2ZpbHRlci11dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgQElucHV0KCkgc2VydmljZSE6IElTbWFydEZpbHRlckVkaXRvclNlcnZpY2U7XHJcblxyXG4gIHVpQWN0aW9uTW9kZWxzOiBVaUFjdGlvbk1vZGVsW10gPSBbXTtcclxuICBleHByZXNzaW9uVWlBY3Rpb25Nb2RlbHM6IFVpQWN0aW9uTW9kZWxbXSA9IFtdO1xyXG5cclxuICBAVmlld0NoaWxkKCdmb3JtJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIHZjUmVmPzogVmlld0NvbnRhaW5lclJlZjtcclxuICBmb3JtQ29tcFJlZj86IENvbXBvbmVudFJlZjxTbWFydGZvcm1Db21wb25lbnQ+O1xyXG4gIHNtYXJ0Rm9ybT86IFNtYXJ0Rm9ybTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2ltcGxlRmlsdGVyRnJvbUNoaWxkJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXHJcbiAgc2ltcGxlRmlsdGVyVmNSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gIHNpbXBsZUZpbHRlclJlZj86IENvbXBvbmVudFJlZjxTbWFydGZvcm1Db21wb25lbnQ+O1xyXG5cclxuICB0eXBlID0gRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsVHlwZUVudW07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgY2ZTZXJ2aWNlOiBDb21wb25lbnRGYWN0b3J5U2VydmljZSxcclxuICAgIHByaXZhdGUgZXhwcmVzc2lvbkVkaXRvckRpYWxvZ1NlcnZpY2U6IEV4cHJlc3Npb25FZGl0b3JEaWFsb2dTZXJ2aWNlLFxyXG4gICAgQEluamVjdChVU0VfQURWQU5DRURfRklMVEVSKSBAT3B0aW9uYWwoKSByZWFkb25seSB1c2VBZHZhbmNlZEZpbHRlcj86IGJvb2xlYW4sXHJcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29tcExpYj86IENvbXBvbmVudExpYnJhcnlcclxuICApIHt9XHJcblxyXG4gIHByaXZhdGUgc3Vic3JjaWJlU2ltcGxlRm9ybUNoaWxkcmVuRXZlbnRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaW1wbGVGaWx0ZXJSZWYhLmluc3RhbmNlLm9uQmx1clN1YmplY3QhLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5zYXZlRmlsdGVyKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2ltcGxlRmlsdGVyUmVmIS5pbnN0YW5jZS5zb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2U/LnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcclxuICAgICkuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcclxuICAgICAgaWYgKHRoaXMuY29tcExpYiA9PT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XHJcbiAgICAgICAgaWYgKGNoYW5nZS5raW5kID09PSAnc2VsZWN0aW9uJykge1xyXG4gICAgICAgICAgdGhpcy5zYXZlRmlsdGVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChjaGFuZ2Uua2luZCA9PT0gJ3NlbGVjdGlvbicgJiYgIWNoYW5nZS5rZXkuaW5jbHVkZXMoJ3NlbGVjdGVkVmFsdWVzJykpIHtcclxuICAgICAgICAgIHRoaXMuc2F2ZUZpbHRlcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZUVkaXRvckZvcm1DaGlsZHJlbkV2ZW50cygpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNvbXBSZWY/Lmluc3RhbmNlIS5vbkJsdXJTdWJqZWN0IS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2F2ZSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5mb3JtQ29tcFJlZiEuaW5zdGFuY2UhLnNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZT8ucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoXHJcbiAgICAgIChjaGFuZ2U6IFNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZSkgPT4ge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGNoYW5nZS5rZXkgPT09ICdleHByZXNzaW9uRGF0YS5jdXJyZW50T3BlcmF0aW9uJyB8fFxyXG4gICAgICAgICAgY2hhbmdlLmtleSA9PT0gJ2V4cHJlc3Npb25EYXRhLm9wZXJhbmQyLnNlbGVjdGVkT2JqZWN0cydcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuc2F2ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UubW9kZWxDaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0VXAoKSk7XHJcbiAgICB0aGlzLnNlcnZpY2UubG9hZCgpO1xyXG4gICAgaWYgKHRoaXMudXNlQWR2YW5jZWRGaWx0ZXIpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlLml0ZW1TZWxlY3RlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLmV4cHJlc3Npb25EYXRhPy5jdXJyZW50T3BlcmF0aW9uICE9PSAnRVhQUkVTU0lPTicpIHtcclxuICAgICAgICAgIHRoaXMuZXhwcmVzc2lvbkVkaXRvckRpYWxvZ1NlcnZpY2Uuc2V0RGF0YUFuZE9wZW5EaWFsb2codGhpcy5jcmVhdGVGaWx0ZXJFZGl0b3JGb3JtKCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuZXhwcmVzc2lvbkVkaXRvckRpYWxvZ1NlcnZpY2Uuc2F2ZUV2ZW50XHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNlcnZpY2UubW9kZWwhLnNlbGVjdGVkRmllbGQgPSBkYXRhO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJFeHByZXNzaW9uKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldHVwU2ltcGxlRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnNpbXBsZUZpbHRlclZjUmVmKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgd2lkZ2V0czogU21hcnRGb3JtV2lkZ2V0PGFueT5bXSA9IFtdO1xyXG5cclxuICAgIGxldCBrZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICBsZXQgbW9kZWw6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuXHJcbiAgICB0aGlzLnNlcnZpY2UubW9kZWw/Lm1vZGVsPy53b3JrcGxhY2VMaXN0Py5maWx0ZXJzLmZvckVhY2goXHJcbiAgICAgIChmaWx0ZXJFeHByZXNzaW9uRmllbGQ6IEZpbHRlckV4cHJlc3Npb25GaWVsZCwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIG1vZGVsW2luZGV4XSA9IGZpbHRlckV4cHJlc3Npb25GaWVsZDtcclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPT09IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVEVYVF9GSUVMRF9MT09LVVBcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMi5zZWxlY3RlZE9iamVjdHMnO1xyXG4gICAgICAgICAgd2lkZ2V0cy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm1XaWRnZXQoXHJcbiAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5sYWJlbDIhLFxyXG4gICAgICAgICAgICAgIEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVEVYVF9GSUVMRF9MT09LVVAsXHJcbiAgICAgICAgICAgICAgW10sXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMj8uc2VsZWN0ZWRPYmplY3RzID8/IFtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmaWx0ZXJFeHByZXNzaW9uRmllbGQud2lkZ2V0VHlwZSA9PT0gJ1NFTEVDVF9NVUxUSVBMRScpIHtcclxuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMi5zZWxlY3RlZFZhbHVlcyc7XHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMiEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5wb3NzaWJsZVZhbHVlcyBhcyBWYWx1ZVtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDI/LnNlbGVjdGVkVmFsdWVzID8/IFtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT09ICdCRVRXRUVOJykge1xyXG4gICAgICAgICAga2V5ID0gaW5kZXggKyAnLmV4cHJlc3Npb25EYXRhLm9wZXJhbmQyLnZhbHVlQXNTdHJpbmcnO1xyXG4gICAgICAgICAgd2lkZ2V0cy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0cnVjdEZvcm1XaWRnZXQoXHJcbiAgICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5sYWJlbDIhLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC53aWRnZXRUeXBlID8/IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuVEVYVF9GSUVMRCxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQucG9zc2libGVWYWx1ZXMgYXMgVmFsdWVbXSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQyPy52YWx1ZUFzU3RyaW5nID8/ICcnLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICBrZXkgPSBpbmRleCArICcuZXhwcmVzc2lvbkRhdGEub3BlcmFuZDMudmFsdWVBc1N0cmluZyc7XHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMyEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5wb3NzaWJsZVZhbHVlcyBhcyBWYWx1ZVtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDM/LnZhbHVlQXNTdHJpbmcgPz8gJycsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnRvb2xiYXJJZFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDIpIHtcclxuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMi52YWx1ZUFzU3RyaW5nJztcclxuXHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMiEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5wb3NzaWJsZVZhbHVlcyBhcyBWYWx1ZVtdLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDI/LnZhbHVlQXNTdHJpbmcgPz8gJycsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLnRvb2xiYXJJZFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZmlsdGVyRXhwcmVzc2lvbkZpZWxkPy5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDMpIHtcclxuICAgICAgICAgIGtleSA9IGluZGV4ICsgJy5leHByZXNzaW9uRGF0YS5vcGVyYW5kMy52YWx1ZUFzU3RyaW5nJztcclxuXHJcbiAgICAgICAgICB3aWRnZXRzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RydWN0Rm9ybVdpZGdldChcclxuICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLmxhYmVsMyEsXHJcbiAgICAgICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkLndpZGdldFR5cGUgPz8gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5URVhUX0ZJRUxELFxyXG5cclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQucG9zc2libGVWYWx1ZXMgYXMgVmFsdWVbXSxcclxuICAgICAgICAgICAgICBmaWx0ZXJFeHByZXNzaW9uRmllbGQuZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQzPy52YWx1ZUFzU3RyaW5nID8/ICcnLFxyXG4gICAgICAgICAgICAgIGZpbHRlckV4cHJlc3Npb25GaWVsZC50b29sYmFySWRcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgbGV0IHNtYXJ0Rm9ybSA9IHtcclxuICAgICAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XLFxyXG4gICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiBtb2RlbCB9LFxyXG4gICAgICB1c2VPblZhbHVlQ2hhbmdlRXZlbnQ6ICF0aGlzLnVzZUFkdmFuY2VkRmlsdGVyLFxyXG4gICAgICB1c2VPbkJsdXJFdmVudDogIXRoaXMudXNlQWR2YW5jZWRGaWx0ZXIsXHJcbiAgICAgIHdpZGdldHMsXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLnNpbXBsZUZpbHRlclJlZj8uaW5zdGFuY2UpIHtcclxuICAgICAgLy8gd2UgYWxyZWFkeSBoYXZlIGEgU21hcnRGb3JtQ29tcG9uZW50LCB1c2UgdGhhdFxyXG4gICAgICBsZXQgY29tcCA9IHRoaXMuc2ltcGxlRmlsdGVyUmVmPy5pbnN0YW5jZTtcclxuXHJcbiAgICAgIGlmIChjb21wLnNtYXJ0Rm9ybSAmJiB0aGlzLmNvbXBhcmVXaWRnZXRzKGNvbXAuc21hcnRGb3JtLndpZGdldHMsIHNtYXJ0Rm9ybS53aWRnZXRzKSkge1xyXG4gICAgICAgIC8vIHRoZXJlJ3Mgbm8gc3RydWN0dXJhbCBjaGFuZ2UsIGRvbid0IHJlY3JlYXRlIFNtYXJ0Rm9ybUNvbXBvbmVudFxyXG4gICAgICAgIGNvbXAuc21hcnRGb3JtLmNvbXBvbmVudE1vZGVsID0gc21hcnRGb3JtLmNvbXBvbmVudE1vZGVsO1xyXG4gICAgICAgIGNvbXAuY29uc3RydWN0Rm9ybSgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2ltcGxlRmlsdGVyVmNSZWY/LmNsZWFyKCk7XHJcbiAgICB0aGlzLnNpbXBsZUZpbHRlclJlZj8uZGVzdHJveSgpO1xyXG5cclxuICAgIHRoaXMuc2ltcGxlRmlsdGVyUmVmID0gdGhpcy5jZlNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KFxyXG4gICAgICB0aGlzLnNpbXBsZUZpbHRlclZjUmVmISxcclxuICAgICAgU21hcnRmb3JtQ29tcG9uZW50LFxyXG4gICAgICBuZXcgTWFwPHN0cmluZywgYW55PihbWydzbWFydEZvcm0nLCBzbWFydEZvcm1dXSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5zdWJzcmNpYmVTaW1wbGVGb3JtQ2hpbGRyZW5FdmVudHMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29tcGFyZVdpZGdldHMod3MxOiBTbWFydEZvcm1XaWRnZXQ8YW55PltdLCB3czI6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+W10pOiBib29sZWFuIHtcclxuICAgIGlmICh3czEubGVuZ3RoICE9PSB3czIubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd3MxLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICghdGhpcy5jb21wYXJlV2lkZ2V0KHdzMVtpXSwgd3MyW2ldKSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbXBhcmVXaWRnZXQodzE6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+LCB3MjogU21hcnRGb3JtV2lkZ2V0PGFueT4pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBTbWFydE9iamVjdFV0aWxpdHkuY29tcGFyZUJ5UHJvcHModzEsIHcyLCBbXHJcbiAgICAgICdlcnJvcicsXHJcbiAgICAgICdrZXknLFxyXG4gICAgICAnbGFiZWwnLFxyXG4gICAgICAndHlwZScsXHJcbiAgICAgIC8vICd2YWx1ZScsIDwtIHZhbHVlIHdpbGwgYmUgc2V0IGJ5IGNvbXBvbmVudE1vZGVsLmRhdGEhXHJcbiAgICAgICdzaG93TGFiZWwnLFxyXG4gICAgICAndmFsdWVMaXN0JyxcclxuICAgICAgJ3Rvb2xiYXJJZCcsXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXh0cmFjdEZpbHRlckZpZWxkRnJvbUZvcm1Nb2RlbCgpOiB2b2lkIHtcclxuICAgIGxldCBzaW1wbGVGaWx0ZXIgPSB0aGlzLnNpbXBsZUZpbHRlclJlZj8uaW5zdGFuY2U/LnN1Ym1pdEZvcm0oZmFsc2UpLmNvbXBvbmVudE1vZGVsLmRhdGE7XHJcbiAgICBsZXQgcmVzdWx0OiBGaWx0ZXJFeHByZXNzaW9uRmllbGRbXSA9IFtdO1xyXG5cclxuICAgIE9iamVjdC5rZXlzKHNpbXBsZUZpbHRlcikuZm9yRWFjaCgoa2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgcmVzdWx0LnB1c2goc2ltcGxlRmlsdGVyW2tleV0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNlcnZpY2UubW9kZWwhLm1vZGVsIS53b3JrcGxhY2VMaXN0IS5maWx0ZXJzID0gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgc2V0VXAoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlLm1vZGVsPy50eXBlID09PSB0aGlzLnR5cGUuU0lNUExFKSB7XHJcbiAgICAgIHRoaXMuc2V0dXBTaW1wbGVGaWx0ZXIoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY29uc3RydWN0VWlBY3Rpb25Nb2RlbHMoKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLnNlcnZpY2U/Lm1vZGVsPy5zZWxlY3RlZEZpZWxkRWRpdG9yKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy52Y1JlZj8uY2xlYXIoKTtcclxuICAgICAgICB0aGlzLmZvcm1Db21wUmVmPy5kZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5zbWFydEZvcm0gPSB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdFVpQWN0aW9uTW9kZWxzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VydmljZS5tb2RlbD8ucG9zc2libGVBY3Rpb25zKSB7XHJcbiAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbHMgPSB0aGlzLnNlcnZpY2UubW9kZWwucG9zc2libGVBY3Rpb25zLm1hcCgoYWN0aW9uOiBVaUFjdGlvbikgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBzZXJ2aWNlVG9Vc2U6IHRoaXMuc2VydmljZSxcclxuICAgICAgICAgIHVpQWN0aW9uOiBhY3Rpb24sXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZEVkaXRvcj8ucG9zc2libGVBY3Rpb25zKSB7XHJcbiAgICAgIHRoaXMuZXhwcmVzc2lvblVpQWN0aW9uTW9kZWxzID0gdGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkRWRpdG9yLnBvc3NpYmxlQWN0aW9ucy5tYXAoXHJcbiAgICAgICAgKHVpQWN0aW9uOiBVaUFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgbGV0IGNvcGllZFVpQWN0aW9uOiBVaUFjdGlvbiA9IHt9O1xyXG4gICAgICAgICAgT2JqZWN0LmtleXModWlBY3Rpb24pLm1hcCgoa2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgKGNvcGllZFVpQWN0aW9uIGFzIGFueSlba2V5XSA9ICh1aUFjdGlvbiBhcyBhbnkpW2tleV07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGNvcGllZFVpQWN0aW9uLnBhcmFtcyA9IHtcclxuICAgICAgICAgICAgZmllbGQ6IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZCxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBzZXJ2aWNlVG9Vc2U6IHRoaXMuc2VydmljZSxcclxuICAgICAgICAgICAgdWlBY3Rpb246IGNvcGllZFVpQWN0aW9uLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RGb3JtKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zbWFydEZvcm0gPSB0aGlzLmNyZWF0ZUZpbHRlckVkaXRvckZvcm0oKTtcclxuXHJcbiAgICB0aGlzLnZjUmVmPy5jbGVhcigpO1xyXG4gICAgdGhpcy5mb3JtQ29tcFJlZj8uZGVzdHJveSgpO1xyXG5cclxuICAgIGlmICghdGhpcy52Y1JlZikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5mb3JtQ29tcFJlZiA9IHRoaXMuY2ZTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgdGhpcy52Y1JlZiEsXHJcbiAgICAgIFNtYXJ0Zm9ybUNvbXBvbmVudCxcclxuICAgICAgbmV3IE1hcDxzdHJpbmcsIGFueT4oW1snc21hcnRGb3JtJywgdGhpcy5zbWFydEZvcm1dXSlcclxuICAgICk7XHJcbiAgICB0aGlzLnNlcnZpY2Uuc2V0Q29tcGxleFRvb2xiYXJzKHRoaXMuZm9ybUNvbXBSZWYuaW5zdGFuY2UuZ2V0VG9vbGJhcnMoKSk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpYmVFZGl0b3JGb3JtQ2hpbGRyZW5FdmVudHMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRmlsdGVyRWRpdG9yRm9ybSgpOiBTbWFydEZvcm0ge1xyXG4gICAgbGV0IGdlbmVyYXRlZFdpZGdldHM6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+W10gPSB0aGlzLmxheW91dFNlcnZpY2UucmVuZGVyKHtcclxuICAgICAgbGF5b3V0RGVmaW5pdGlvbnM6IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZEVkaXRvcj8ubGF5b3V0RGVmPy53aWRnZXRzLFxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XLFxyXG4gICAgICB1c2VPbkJsdXJFdmVudDogdHJ1ZSxcclxuICAgICAgdXNlT25WYWx1ZUNoYW5nZUV2ZW50OiB0cnVlLFxyXG4gICAgICBjb21wb25lbnRNb2RlbDogeyBkYXRhOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQgfSxcclxuICAgICAgd2lkZ2V0czogZ2VuZXJhdGVkV2lkZ2V0cyxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzYXZlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQ29tcFJlZj8uaW5zdGFuY2U/LnN1Ym1pdEZvcm0oZmFsc2UpO1xyXG4gICAgdGhpcy51cGRhdGVGaWx0ZXJFeHByZXNzaW9uKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUZpbHRlckV4cHJlc3Npb24oKSB7XHJcbiAgICB0aGlzLnNlcnZpY2UucGVmb3JtV2lkZ2V0QWN0aW9uKHtcclxuICAgICAgY29kZTogJ1VQREFURV9GSUxURVJfRVhQUkVTU0lPTicsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIG1vZGVsOiB0aGlzLnNlcnZpY2UubW9kZWw/LnNlbGVjdGVkRmllbGQsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5wZWZvcm1XaWRnZXRBY3Rpb24oe1xyXG4gICAgICBjb2RlOiAnUkVNT1ZFX0ZJTFRFUl9FWFBSRVNTSU9OJyxcclxuICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgbW9kZWw6IHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZCxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2F2ZUZpbHRlcigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZXh0cmFjdEZpbHRlckZpZWxkRnJvbUZvcm1Nb2RlbCgpO1xyXG4gICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnBlcmZvcm1VaUFjdGlvblJlcXVlc3Qoe1xyXG4gICAgICBjb2RlOiBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlckFwaUFjdGlvbnMuU0FWRV9FWFBSRVNTSU9OX0ZJRUxEX0xJU1QsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIG1vZGVsOiB0aGlzLnNlcnZpY2UubW9kZWwhLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnN0cnVjdEZvcm1XaWRnZXQoXHJcbiAgICBrZXk6IHN0cmluZyxcclxuICAgIGxhYmVsOiBzdHJpbmcsXHJcbiAgICB3aWRnZXRUeXBlOiBGaWx0ZXJFeHByZXNzaW9uRmllbGRXaWRnZXRUeXBlLFxyXG4gICAgcG9zc2libGVWYWx1ZXM6IFZhbHVlW10sXHJcbiAgICB2YWx1ZTogYW55LFxyXG4gICAgdG9vbGJhcklkPzogc3RyaW5nXHJcbiAgKTogU21hcnRGb3JtV2lkZ2V0PGFueT4ge1xyXG4gICAgbGV0IHR5cGU6IGFueSA9IHdpZGdldFR5cGU7XHJcblxyXG4gICAgaWYgKHR5cGUgPT09IEZpbHRlckV4cHJlc3Npb25GaWVsZFdpZGdldFR5cGUuREFURSkge1xyXG4gICAgICB0eXBlID0gU21hcnRGb3JtV2lkZ2V0VHlwZS5EQVRFX1BJQ0tFUjtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gRmlsdGVyRXhwcmVzc2lvbkZpZWxkV2lkZ2V0VHlwZS5EQVRFX1RJTUUpIHtcclxuICAgICAgdHlwZSA9IFNtYXJ0Rm9ybVdpZGdldFR5cGUuREFURV9USU1FX1BJQ0tFUjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgd2lkZ2V0OiBTbWFydEZvcm1XaWRnZXQ8YW55PiA9IHtcclxuICAgICAgZXJyb3I6IHVuZGVmaW5lZCxcclxuICAgICAga2V5LFxyXG4gICAgICBsYWJlbCxcclxuICAgICAgdHlwZSxcclxuICAgICAgdmFsdWUsXHJcbiAgICAgIHNob3dMYWJlbDogdHJ1ZSxcclxuICAgICAgaXNGbG9hdExhYmVsOiB0cnVlLFxyXG4gICAgICB2YWx1ZUxpc3Q6IHBvc3NpYmxlVmFsdWVzLm1hcCgodmFsdWU6IFZhbHVlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGtleTogdmFsdWUub2JqZWN0VXJpID8gdmFsdWUub2JqZWN0VXJpIDogdmFsdWUuY29kZSEsXHJcbiAgICAgICAgICBsYWJlbDogdmFsdWUuZGlzcGxheVZhbHVlLFxyXG4gICAgICAgICAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5JVEVNLFxyXG4gICAgICAgICAgdmFsdWU6IHZhbHVlLm9iamVjdFVyaSA/IHZhbHVlLm9iamVjdFVyaSA6IHZhbHVlLmNvZGUsXHJcbiAgICAgICAgfTtcclxuICAgICAgfSksXHJcbiAgICAgIHRvb2xiYXJJZCxcclxuICAgICAgdGV4dEZpZWxkUHJvcGVydGllczoge1xyXG4gICAgICAgIGNsZWFyYWJsZTogdHJ1ZSxcclxuICAgICAgfSxcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHdpZGdldDtcclxuICB9XHJcblxyXG4gIGFzeW5jIHVuU2VsZWN0SXRlbXMoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnBlZm9ybVdpZGdldEFjdGlvbih7XHJcbiAgICAgIGNvZGU6ICdTRUxFQ1RfRklFTEQnLFxyXG4gICAgICBwYXJhbXM6IHt9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzbWFydC1maWx0ZXItZWRpdG9yLWNvbnRhaW5lclwiICpuZ0lmPVwic2VydmljZS5tb2RlbFwiPlxyXG4gIEBpZiAoc2VydmljZS5tb2RlbC5tb2RlbD8ubGFiZWwpIHtcclxuICAgIDxoMyBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3ItdGl0bGVcIj57eyBzZXJ2aWNlLm1vZGVsLm1vZGVsPy5sYWJlbCB9fTwvaDM+XHJcbiAgfVxyXG5cclxuICA8ZGl2ICpuZ0lmPVwic2VydmljZS5tb2RlbD8udHlwZSA9PT0gdHlwZS5TSU1QTEU7IHRoZW4gc2ltcGxlRmlsdGVyOyBlbHNlIGNvbXBsZXhGaWx0ZXJcIj48L2Rpdj5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNzaW1wbGVGaWx0ZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci1leHByZXNzaW9uc0NvbnRhaW5lclwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI3NpbXBsZUZpbHRlckZyb21DaGlsZD48L25nLXRlbXBsYXRlPlxyXG4gICAgICA8IS0tICNzaW1wbGVGaWx0ZXJGcm9tQ2hpbGQgW3NtYXJ0Rm9ybV09XCJzaW1wbGVGaWx0ZXJGb3JtXCI+PC9zbWFydGZvcm0+IC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICA8bmctdGVtcGxhdGUgI2NvbXBsZXhGaWx0ZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci11aUFjdGlvbnNCYXJcIiAqbmdJZj1cIiFzZXJ2aWNlLm1vZGVsPy5yZWFkT25seVwiPlxyXG4gICAgICA8c21hcnQtdWktYWN0aW9uLXRvb2xiYXIgW3VpQWN0aW9uTW9kZWxzXT1cInVpQWN0aW9uTW9kZWxzXCI+PC9zbWFydC11aS1hY3Rpb24tdG9vbGJhcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdJZj1cIlxyXG4gICAgICAgIHNlcnZpY2U/Lm1vZGVsPy5tb2RlbD8ud29ya3BsYWNlTGlzdD8uZmlsdGVycz8ubGVuZ3RoO1xyXG4gICAgICAgIHRoZW4gd2l0aFBhcmFtZXRlcnM7XHJcbiAgICAgICAgZWxzZSB3aXRob3V0UGFyYW1ldGVyc1xyXG4gICAgICBcIlxyXG4gICAgPjwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICN3aXRob3V0UGFyYW1ldGVycz5cclxuICAgICAgPGRpdiBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3Itd2l0aG91dFBhcmFtZXRlcnNDb250YWluZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1ib2R5XCI+IE3DqWcgbmluY3MgbWVnYWR2YSBwYXJhbcOpdGVyIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICN3aXRoUGFyYW1ldGVycz5cclxuICAgICAgPGRpdiBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3Itd2l0aFBhcmFtZXRlcnNDb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInNtYXJ0LWZpbHRlci1lZGl0b3ItZXhwcmVzc2lvbnNDb250YWluZXJcIlxyXG4gICAgICAgICAgKm5nSWY9XCJzZXJ2aWNlPy5tb2RlbD8ubW9kZWw/LndvcmtwbGFjZUxpc3Q/LmZpbHRlcnM/Lmxlbmd0aFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwidW5TZWxlY3RJdGVtcygkZXZlbnQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8YXBwLWV4cHJlc3Npb24taXRlbXNcclxuICAgICAgICAgICAgW2l0ZW1zXT1cIihzZXJ2aWNlLm1vZGVsLm1vZGVsPy53b3JrcGxhY2VMaXN0KSEuZmlsdGVyc1wiXHJcbiAgICAgICAgICAgIFtzZXJ2aWNlXT1cInNlcnZpY2VcIlxyXG4gICAgICAgICAgPjwvYXBwLWV4cHJlc3Npb24taXRlbXM+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgIXVzZUFkdmFuY2VkRmlsdGVyIHx8XHJcbiAgICAgICAgICAgIHNlcnZpY2UubW9kZWwuc2VsZWN0ZWRGaWVsZD8uZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT09ICdFWFBSRVNTSU9OJ1xyXG4gICAgICAgICAgXCJcclxuICAgICAgICAgIGNsYXNzPVwic21hcnQtZmlsdGVyLWVkaXRvci1leHByZXNzaW9uRWRpdG9yQ29udGFpbmVyXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8IS0tIDxzbWFydGZvcm0gI2Zvcm0gW3NtYXJ0Rm9ybV09XCJzbWFydEZvcm1cIj48L3NtYXJ0Zm9ybT4gLS0+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2Zvcm0+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJzbWFydEZvcm1cIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicmVtb3ZlKClcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIj5Uw7ZybMOpczwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZpbHRlci1lZGl0b3Ivc21hcnQtZmlsdGVyLWVkaXRvci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTbWFydEZpbHRlckVkaXRvckNvbmZpZyB7XHJcbiAgdXVpZD86IHN0cmluZztcclxuICBpZGVudGlmaWVyOiBzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
86
86
|
providers: [],
|
|
87
87
|
}]
|
|
88
88
|
}] });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDN0gsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sZ0hBQWdILENBQUM7QUFDckssT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sOEdBQThHLENBQUM7QUFDbEssT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrR0FBK0csQ0FBQztBQUNoSyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrR0FBK0csQ0FBQztBQUNoSyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7QUFvQ2pHLE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjtnSEFBdkIsdUJBQXVCLGlCQWhDaEMsMEJBQTBCO1lBQzFCLHlCQUF5QjtZQUN6QixpQ0FBaUM7WUFDakMsbUNBQW1DO1lBQ25DLGtDQUFrQztZQUNsQywwQ0FBMEM7WUFDMUMsK0JBQStCO1lBQy9CLCtCQUErQjtZQUMvQiwwQkFBMEIsYUFHMUIsWUFBWTtZQUNaLGVBQWU7WUFDZiw0QkFBNEI7WUFDNUIsc0JBQXNCO1lBQ3RCLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsWUFBWSxhQUdaLDBCQUEwQjtZQUMxQix5QkFBeUI7WUFDekIsaUNBQWlDO1lBQ2pDLG1DQUFtQztZQUNuQyxrQ0FBa0M7WUFDbEMsMENBQTBDO1lBQzFDLCtCQUErQjtZQUMvQiwrQkFBK0I7WUFDL0IsMEJBQTBCO2dIQUlqQix1QkFBdUIsWUFyQmhDLFlBQVk7WUFDWixlQUFlO1lBQ2YsNEJBQTRCO1lBQzVCLHNCQUFzQjtZQUN0QixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLFlBQVk7OzRGQWVILHVCQUF1QjtrQkFsQ25DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6QixpQ0FBaUM7d0JBQ2pDLG1DQUFtQzt3QkFDbkMsa0NBQWtDO3dCQUNsQywwQ0FBMEM7d0JBQzFDLCtCQUErQjt3QkFDL0IsK0JBQStCO3dCQUMvQiwwQkFBMEI7cUJBQzNCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsaUNBQWlDO3dCQUNqQyxtQ0FBbUM7d0JBQ25DLGtDQUFrQzt3QkFDbEMsMENBQTBDO3dCQUMxQywrQkFBK0I7d0JBQy9CLCtCQUErQjt3QkFDL0IsMEJBQTBCO3FCQUMzQjtvQkFDRCxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyUGFyYW1zQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC1maWx0ZXItcGFyYW1zL3NtYXJ0LWZpbHRlci1wYXJhbXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXJQYXJhbUNvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLXBhcmFtcy9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1wYXJhbS9zbWFydC1maWx0ZXItcGFyYW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRGaWx0ZXJFZGl0b3JDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQvc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyRXhwcmVzc2lvbkl0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQvY29tcG9uZW50cy9zbWFydC1maWx0ZXItZXhwcmVzc2lvbi1pdGVtcy9zbWFydC1maWx0ZXItZXhwcmVzc2lvbi1pdGVtcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlckV4cHJlc3Npb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC1maWx0ZXItZWRpdG9yLWNvbnRlbnQvY29tcG9uZW50cy9zbWFydC1maWx0ZXItZXhwcmVzc2lvbi1pdGVtL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRJY29uTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtaWNvbi9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0RXhwYW5kYWJsZVNlY3Rpb25Nb2R1bGUgfSBmcm9tICcuLi9zbWFydC1leHBhbmRhYmxlLXNlY3Rpb24vc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRNb2R1bGUgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtZmlsdGVyL3NtYXJ0LWZpbHRlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFkdmFuY2VkU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcHJvamVjdCc7XHJcbmltcG9ydCB7IEFkdmFuY2VkUmVsYXRpb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9jb21wb25lbnRzL2FkdmFuY2VkL2FkdmFuY2VkLXJlbGF0aW9uLWJ1dHRvbi9hZHZhbmNlZC1yZWxhdGlvbi1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXhwcmVzc2lvbkVkaXRvckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci1jb250ZW50L2NvbXBvbmVudHMvYWR2YW5jZWQvZXhwcmVzc2lvbi1lZGl0b3ItZGlhbG9nL2V4cHJlc3Npb24tZWRpdG9yLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlcldpZGdldENvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZmlsdGVyLXdpZGdldC9zbWFydC1maWx0ZXItd2lkZ2V0LmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU21hcnRGaWx0ZXJQYXJhbXNDb21wb25lbnQsXHJcbiAgICBTbWFydEZpbHRlclBhcmFtQ29tcG9uZW50LFxyXG4gICAgU21hcnRGaWx0ZXJFZGl0b3JDb250ZW50Q29tcG9uZW50LFxyXG4gICAgU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbXNDb21wb25lbnQsXHJcbiAgICBTbWFydEZpbHRlckV4cHJlc3Npb25JdGVtQ29tcG9uZW50LFxyXG4gICAgQWR2YW5jZWRTbWFydEZpbHRlckV4cHJlc3Npb25JdGVtQ29tcG9uZW50LFxyXG4gICAgQWR2YW5jZWRSZWxhdGlvbkJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEV4cHJlc3Npb25FZGl0b3JEaWFsb2dDb21wb25lbnQsXHJcbiAgICBTbWFydEZpbHRlcldpZGdldENvbXBvbmVudCxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFNtYXJ0SWNvbk1vZHVsZSxcclxuICAgIFNtYXJ0RXhwYW5kYWJsZVNlY3Rpb25Nb2R1bGUsXHJcbiAgICBTbWFydFZpZXdDb250ZXh0TW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgU21hcnRGaWx0ZXJNb2R1bGUsXHJcbiAgICBTaGFyZWRNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTbWFydEZpbHRlclBhcmFtc0NvbXBvbmVudCxcclxuICAgIFNtYXJ0RmlsdGVyUGFyYW1Db21wb25lbnQsXHJcbiAgICBTbWFydEZpbHRlckVkaXRvckNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBTbWFydEZpbHRlckV4cHJlc3Npb25JdGVtc0NvbXBvbmVudCxcclxuICAgIFNtYXJ0RmlsdGVyRXhwcmVzc2lvbkl0ZW1Db21wb25lbnQsXHJcbiAgICBBZHZhbmNlZFNtYXJ0RmlsdGVyRXhwcmVzc2lvbkl0ZW1Db21wb25lbnQsXHJcbiAgICBBZHZhbmNlZFJlbGF0aW9uQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgRXhwcmVzc2lvbkVkaXRvckRpYWxvZ0NvbXBvbmVudCxcclxuICAgIFNtYXJ0RmlsdGVyV2lkZ2V0Q29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0RmlsdGVyRWRpdG9yTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -80,4 +80,4 @@ export class SmartFilterEditorService {
|
|
|
80
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterEditorService, decorators: [{
|
|
81
81
|
type: Injectable
|
|
82
82
|
}], ctorParameters: () => [{ type: i1.FilterService }, { type: i2.SmartViewContextService }] });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZmlsdGVyLWVkaXRvci9zbWFydC1maWx0ZXItZWRpdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFrQixNQUFNLE1BQU0sQ0FBQztBQWMvQyxPQUFPLEVBQVksU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUErQjFELE1BQU0sT0FBTyx3QkFBd0I7SUFVbkMsWUFDVSxPQUFzQixFQUN0QixjQUF1QztRQUR2QyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLG1CQUFjLEdBQWQsY0FBYyxDQUF5QjtRQVRqRCxpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzVDLFdBQU0sR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV0QyxpQkFBWSxHQUFtQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXJELGFBQVEsR0FBb0MsRUFBRSxDQUFDO0lBS3BELENBQUM7SUFDSixVQUFVLENBQUMsUUFBaUI7UUFDMUIsT0FBTztJQUNULENBQUM7SUFDRCxnQkFBZ0I7UUFDZCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLGlCQUFpQixFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxRQUF5QztRQUMxRCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzNGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBd0I7UUFDL0MsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjO2lCQUNqQyxxQkFBcUIsRUFBRTtnQkFDeEIsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEUsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTztxQkFDNUIsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDO3FCQUN0RSxTQUFTLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELEtBQUssQ0FBQyxzQkFBc0IsQ0FDMUIsZUFBZ0MsRUFDaEMsUUFBNkIsRUFDN0IsTUFBMkI7UUFFM0IsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELEtBQUssQ0FBQyxtQ0FBbUMsQ0FDdkMsUUFBa0IsRUFDbEIsZUFBZ0M7UUFFaEMsT0FBTztZQUNMLG1CQUFtQixFQUFFLElBQUk7WUFDekIsZUFBZSxFQUFFLGVBQWU7U0FDakMsQ0FBQztJQUNKLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxRQUFrQjtRQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQywwQkFBMEIsQ0FDOUIsYUFBMkMsRUFDM0MsSUFBNEI7UUFFNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDMUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUMsY0FBZSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUM7WUFDcEQsQ0FBQztZQUNELE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDO2dCQUM1QixJQUFJLEVBQUUsK0JBQStCO2dCQUNyQyxNQUFNLEVBQUU7b0JBQ04sS0FBSyxFQUFFLElBQUk7b0JBQ1gsUUFBUSxFQUFFLGFBQWE7aUJBQ3hCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7K0dBMUZVLHdCQUF3QjttSEFBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgY29uZmlnLCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9zbWFydC1maWx0ZXItZWRpdG9yLm1vZGVsJztcbmltcG9ydCB7IFVpQWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvdWlBY3Rpb25SZXF1ZXN0JztcbmltcG9ydCB7XG4gIFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcyxcbiAgVWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlLFxuICBVc2VVaUFjdGlvbixcbiAgVXNlVWlBY3Rpb24yLFxufSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBVaUFjdGlvbiB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvdWlBY3Rpb24nO1xuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsIH0gZnJvbSAnLi9hcGkvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsJztcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UgfSBmcm9tICcuL2FwaS9hcGkvZmlsdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU21hcnRWaWV3Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVmlld0RhdGEsIFZpZXdTdGF0ZSB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGknO1xuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkZpZWxkIH0gZnJvbSAnLi9hcGkvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkZpZWxkJztcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25Cb29sT3BlcmF0b3IgfSBmcm9tICcuL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uQm9vbE9wZXJhdG9yJztcbmltcG9ydCB7IFNtYXJ0Rm9ybUludmFsaWRGaWVsZHMgfSBmcm9tICcuLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZSBleHRlbmRzIFVzZVVpQWN0aW9uMiB7XG4gIGNvbmZpZzogU21hcnRGaWx0ZXJFZGl0b3JDb25maWc7XG4gIG1vZGVsPzogRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXJVaU1vZGVsO1xuICBtb2RlbENoYW5nZWQ6IFN1YmplY3Q8dm9pZD47XG4gIHN1Ym1pdDogU3ViamVjdDx2b2lkPjtcbiAgcGFyZW50U21hcnRDb21wb25lbnQ/OiBhbnk7XG4gIGl0ZW1TZWxlY3RlZDogU3ViamVjdDxGaWx0ZXJFeHByZXNzaW9uRmllbGQ+O1xuXG4gIGdldENvbXBsZXhUb29sYmFycygpOiBBcnJheTxVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ+O1xuXG4gIHNldENvbXBsZXhUb29sYmFycyh0b29sYmFyczogQXJyYXk8VWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50Pik6IHZvaWQ7XG5cbiAgbG9hZCgpOiBQcm9taXNlPHZvaWQ+O1xuICBwZWZvcm1XaWRnZXRBY3Rpb24ocmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0KTogUHJvbWlzZTx2b2lkPjtcbiAgcGVyZm9ybVVpQWN0aW9uUmVxdWVzdChcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCxcbiAgICB3aWRnZXRJZD86IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBub2RlSWQ/OiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgKTogUHJvbWlzZTxhbnk+O1xuICBidWxrVXBkYXRlRmlsdGVyRXhwcmVzc2lvbihcbiAgICBvcGVyYXRpb25UeXBlOiBGaWx0ZXJFeHByZXNzaW9uQm9vbE9wZXJhdG9yLFxuICAgIGl0ZW0/OiBGaWx0ZXJFeHByZXNzaW9uRmllbGRcbiAgKTogUHJvbWlzZTxhbnk+O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlIGltcGxlbWVudHMgSVNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZSB7XG4gIGNvbmZpZyE6IFNtYXJ0RmlsdGVyRWRpdG9yQ29uZmlnO1xuICBtb2RlbD86IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyVWlNb2RlbDtcbiAgbW9kZWxDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcbiAgc3VibWl0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcbiAgcGFyZW50U21hcnRDb21wb25lbnQ/OiBhbnk7XG4gIGl0ZW1TZWxlY3RlZDogU3ViamVjdDxGaWx0ZXJFeHByZXNzaW9uRmllbGQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBwcml2YXRlIHRvb2xiYXJzOiBBcnJheTxVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ+ID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBGaWx0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlld0N0eFNlcnZpY2U6IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlXG4gICkge31cbiAgc3VibWl0Rm9ybSh2YWxpZGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIC8vIE5PUEVcbiAgfVxuICBnZXRJbnZhbGlkRmllbGRzKCk6IFNtYXJ0Rm9ybUludmFsaWRGaWVsZHMge1xuICAgIHJldHVybiB7IGludmFsaWRGaWVsZEtleXM6IFtdLCBpbnZhbGlkRmllbGROYW1lczogW10gfTtcbiAgfVxuXG4gIGdldENvbXBsZXhUb29sYmFycygpOiBBcnJheTxVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ+IHtcbiAgICByZXR1cm4gWy4uLnRoaXMudG9vbGJhcnNdO1xuICB9XG4gIHNldENvbXBsZXhUb29sYmFycyh0b29sYmFyczogQXJyYXk8VWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50Pikge1xuICAgIHRoaXMudG9vbGJhcnMgPSBbLi4udG9vbGJhcnNdO1xuICAgIHRoaXMucGFyZW50U21hcnRDb21wb25lbnQ/LmluaXRBY3Rpb25zKCk7XG4gIH1cblxuICBhc3luYyBsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmNvbmZpZy51dWlkKSB7XG4gICAgICB0aGlzLm1vZGVsID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmxvYWQodGhpcy5jb25maWcudXVpZCwgdGhpcy5jb25maWcuaWRlbnRpZmllcikudG9Qcm9taXNlKCk7XG4gICAgICB0aGlzLm1vZGVsQ2hhbmdlZC5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcGVmb3JtV2lkZ2V0QWN0aW9uKHJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCkge1xuICAgIGlmICh0aGlzLmNvbmZpZy51dWlkKSB7XG4gICAgICBsZXQgZmlsdGVyVmlldyA9IHRoaXMudmlld0N0eFNlcnZpY2VcbiAgICAgICAgLmdldEN1cnJlbnRWaWV3Q29udGV4dCgpXG4gICAgICAgID8udmlld3MuZmluZCgodmlldzogVmlld0RhdGEpID0+IHZpZXcudXVpZCA9PSB0aGlzLmNvbmZpZy51dWlkKTtcbiAgICAgIGlmIChmaWx0ZXJWaWV3ICYmIGZpbHRlclZpZXcuc3RhdGUgIT0gVmlld1N0YXRlLkNMT1NFRCkge1xuICAgICAgICB0aGlzLm1vZGVsID0gYXdhaXQgdGhpcy5zZXJ2aWNlXG4gICAgICAgICAgLnBlcmZvcm1XaWRnZXRBY3Rpb24odGhpcy5jb25maWcudXVpZCwgdGhpcy5jb25maWcuaWRlbnRpZmllciwgcmVxdWVzdClcbiAgICAgICAgICAudG9Qcm9taXNlKCk7XG4gICAgICAgIHRoaXMubW9kZWxDaGFuZ2VkLm5leHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBhc3luYyBwZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KFxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxuICAgIHdpZGdldElkPzogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIG5vZGVJZD86IHN0cmluZyB8IHVuZGVmaW5lZFxuICApOiBQcm9taXNlPGFueT4ge1xuICAgIGF3YWl0IHRoaXMucGVmb3JtV2lkZ2V0QWN0aW9uKHVpQWN0aW9uUmVxdWVzdCk7XG4gIH1cblxuICBhc3luYyBoYW5kbGVTcGVjaWZpY0RlbWFuZHNBc3luY2hyb25vdXNseShcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3RcbiAgKTogUHJvbWlzZTxVaUFjdGlvblNwZWNpZmljRGVtYW5kUmVzcG9uc2U+IHtcbiAgICByZXR1cm4ge1xuICAgICAgc2hvdWxkUGVyZm9ybUFjdGlvbjogdHJ1ZSxcbiAgICAgIHVpQWN0aW9uUmVxdWVzdDogdWlBY3Rpb25SZXF1ZXN0LFxuICAgIH07XG4gIH1cbiAgZ2V0QWRkaXRpb25hbFBhcmFtcyh1aUFjdGlvbjogVWlBY3Rpb24pOiBVaUFjdGlvbkFkZGl0aW9uYWxQYXJhbXMge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIGFzeW5jIGJ1bGtVcGRhdGVGaWx0ZXJFeHByZXNzaW9uKFxuICAgIG9wZXJhdGlvblR5cGU6IEZpbHRlckV4cHJlc3Npb25Cb29sT3BlcmF0b3IsXG4gICAgaXRlbT86IEZpbHRlckV4cHJlc3Npb25GaWVsZFxuICApOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICghdGhpcy5tb2RlbD8ucmVhZE9ubHkpIHtcbiAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgIGl0ZW0uZXhwcmVzc2lvbkRhdGEhLmJvb2xPcGVyYXRvciA9IG9wZXJhdGlvblR5cGU7XG4gICAgICB9XG4gICAgICBhd2FpdCB0aGlzLnBlZm9ybVdpZGdldEFjdGlvbih7XG4gICAgICAgIGNvZGU6ICdCVUxLX1VQREFURV9GSUxURVJfRVhQUkVTU0lPTicsXG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgIG1vZGVsOiBpdGVtLFxuICAgICAgICAgIG9wZXJhdG9yOiBvcGVyYXRpb25UeXBlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWVkaXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZmlsdGVyLWVkaXRvci9zbWFydC1maWx0ZXItZWRpdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFrQixNQUFNLE1BQU0sQ0FBQztBQWMvQyxPQUFPLEVBQVksU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUErQjFELE1BQU0sT0FBTyx3QkFBd0I7SUFVbkMsWUFDVSxPQUFzQixFQUN0QixjQUF1QztRQUR2QyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLG1CQUFjLEdBQWQsY0FBYyxDQUF5QjtRQVRqRCxpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzVDLFdBQU0sR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV0QyxpQkFBWSxHQUFtQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXJELGFBQVEsR0FBb0MsRUFBRSxDQUFDO0lBS3BELENBQUM7SUFDSixVQUFVLENBQUMsUUFBaUI7UUFDMUIsT0FBTztJQUNULENBQUM7SUFDRCxnQkFBZ0I7UUFDZCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLGlCQUFpQixFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxRQUF5QztRQUMxRCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzNGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBd0I7UUFDL0MsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjO2lCQUNqQyxxQkFBcUIsRUFBRTtnQkFDeEIsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEUsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTztxQkFDNUIsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDO3FCQUN0RSxTQUFTLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELEtBQUssQ0FBQyxzQkFBc0IsQ0FDMUIsZUFBZ0MsRUFDaEMsUUFBNkIsRUFDN0IsTUFBMkI7UUFFM0IsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELEtBQUssQ0FBQyxtQ0FBbUMsQ0FDdkMsUUFBa0IsRUFDbEIsZUFBZ0M7UUFFaEMsT0FBTztZQUNMLG1CQUFtQixFQUFFLElBQUk7WUFDekIsZUFBZSxFQUFFLGVBQWU7U0FDakMsQ0FBQztJQUNKLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxRQUFrQjtRQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQywwQkFBMEIsQ0FDOUIsYUFBMkMsRUFDM0MsSUFBNEI7UUFFNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDMUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUMsY0FBZSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUM7WUFDcEQsQ0FBQztZQUNELE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDO2dCQUM1QixJQUFJLEVBQUUsK0JBQStCO2dCQUNyQyxNQUFNLEVBQUU7b0JBQ04sS0FBSyxFQUFFLElBQUk7b0JBQ1gsUUFBUSxFQUFFLGFBQWE7aUJBQ3hCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7K0dBMUZVLHdCQUF3QjttSEFBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBjb25maWcsIGZpbHRlciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlckVkaXRvckNvbmZpZyB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWVkaXRvci5tb2RlbCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvdWlBY3Rpb25SZXF1ZXN0JztcclxuaW1wb3J0IHtcclxuICBVaUFjdGlvbkFkZGl0aW9uYWxQYXJhbXMsXHJcbiAgVWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlLFxyXG4gIFVzZVVpQWN0aW9uLFxyXG4gIFVzZVVpQWN0aW9uMixcclxufSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L2FwaS9tb2RlbC91aUFjdGlvbic7XHJcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyVWlNb2RlbCB9IGZyb20gJy4vYXBpL21vZGVsL2ZpbHRlckV4cHJlc3Npb25CdWlsZGVyVWlNb2RlbCc7XHJcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UgfSBmcm9tICcuL2FwaS9hcGkvZmlsdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmlld0RhdGEsIFZpZXdTdGF0ZSB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGknO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uRmllbGQgfSBmcm9tICcuL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uRmllbGQnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uQm9vbE9wZXJhdG9yIH0gZnJvbSAnLi9hcGkvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkJvb2xPcGVyYXRvcic7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybUludmFsaWRGaWVsZHMgfSBmcm9tICcuLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5tb2RlbCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTbWFydEZpbHRlckVkaXRvclNlcnZpY2UgZXh0ZW5kcyBVc2VVaUFjdGlvbjIge1xyXG4gIGNvbmZpZzogU21hcnRGaWx0ZXJFZGl0b3JDb25maWc7XHJcbiAgbW9kZWw/OiBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlclVpTW9kZWw7XHJcbiAgbW9kZWxDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+O1xyXG4gIHN1Ym1pdDogU3ViamVjdDx2b2lkPjtcclxuICBwYXJlbnRTbWFydENvbXBvbmVudD86IGFueTtcclxuICBpdGVtU2VsZWN0ZWQ6IFN1YmplY3Q8RmlsdGVyRXhwcmVzc2lvbkZpZWxkPjtcclxuXHJcbiAgZ2V0Q29tcGxleFRvb2xiYXJzKCk6IEFycmF5PFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudD47XHJcblxyXG4gIHNldENvbXBsZXhUb29sYmFycyh0b29sYmFyczogQXJyYXk8VWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50Pik6IHZvaWQ7XHJcblxyXG4gIGxvYWQoKTogUHJvbWlzZTx2b2lkPjtcclxuICBwZWZvcm1XaWRnZXRBY3Rpb24ocmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0KTogUHJvbWlzZTx2b2lkPjtcclxuICBwZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KFxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QsXHJcbiAgICB3aWRnZXRJZD86IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAgIG5vZGVJZD86IHN0cmluZyB8IHVuZGVmaW5lZFxyXG4gICk6IFByb21pc2U8YW55PjtcclxuICBidWxrVXBkYXRlRmlsdGVyRXhwcmVzc2lvbihcclxuICAgIG9wZXJhdGlvblR5cGU6IEZpbHRlckV4cHJlc3Npb25Cb29sT3BlcmF0b3IsXHJcbiAgICBpdGVtPzogRmlsdGVyRXhwcmVzc2lvbkZpZWxkXHJcbiAgKTogUHJvbWlzZTxhbnk+O1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlckVkaXRvclNlcnZpY2UgaW1wbGVtZW50cyBJU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlIHtcclxuICBjb25maWchOiBTbWFydEZpbHRlckVkaXRvckNvbmZpZztcclxuICBtb2RlbD86IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyVWlNb2RlbDtcclxuICBtb2RlbENoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHN1Ym1pdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcGFyZW50U21hcnRDb21wb25lbnQ/OiBhbnk7XHJcbiAgaXRlbVNlbGVjdGVkOiBTdWJqZWN0PEZpbHRlckV4cHJlc3Npb25GaWVsZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBwcml2YXRlIHRvb2xiYXJzOiBBcnJheTxVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ+ID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBGaWx0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q3R4U2VydmljZTogU21hcnRWaWV3Q29udGV4dFNlcnZpY2VcclxuICApIHt9XHJcbiAgc3VibWl0Rm9ybSh2YWxpZGF0ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy8gTk9QRVxyXG4gIH1cclxuICBnZXRJbnZhbGlkRmllbGRzKCk6IFNtYXJ0Rm9ybUludmFsaWRGaWVsZHMge1xyXG4gICAgcmV0dXJuIHsgaW52YWxpZEZpZWxkS2V5czogW10sIGludmFsaWRGaWVsZE5hbWVzOiBbXSB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tcGxleFRvb2xiYXJzKCk6IEFycmF5PFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudD4ge1xyXG4gICAgcmV0dXJuIFsuLi50aGlzLnRvb2xiYXJzXTtcclxuICB9XHJcbiAgc2V0Q29tcGxleFRvb2xiYXJzKHRvb2xiYXJzOiBBcnJheTxVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ+KSB7XHJcbiAgICB0aGlzLnRvb2xiYXJzID0gWy4uLnRvb2xiYXJzXTtcclxuICAgIHRoaXMucGFyZW50U21hcnRDb21wb25lbnQ/LmluaXRBY3Rpb25zKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLnV1aWQpIHtcclxuICAgICAgdGhpcy5tb2RlbCA9IGF3YWl0IHRoaXMuc2VydmljZS5sb2FkKHRoaXMuY29uZmlnLnV1aWQsIHRoaXMuY29uZmlnLmlkZW50aWZpZXIpLnRvUHJvbWlzZSgpO1xyXG4gICAgICB0aGlzLm1vZGVsQ2hhbmdlZC5uZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBwZWZvcm1XaWRnZXRBY3Rpb24ocmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0KSB7XHJcbiAgICBpZiAodGhpcy5jb25maWcudXVpZCkge1xyXG4gICAgICBsZXQgZmlsdGVyVmlldyA9IHRoaXMudmlld0N0eFNlcnZpY2VcclxuICAgICAgICAuZ2V0Q3VycmVudFZpZXdDb250ZXh0KClcclxuICAgICAgICA/LnZpZXdzLmZpbmQoKHZpZXc6IFZpZXdEYXRhKSA9PiB2aWV3LnV1aWQgPT0gdGhpcy5jb25maWcudXVpZCk7XHJcbiAgICAgIGlmIChmaWx0ZXJWaWV3ICYmIGZpbHRlclZpZXcuc3RhdGUgIT0gVmlld1N0YXRlLkNMT1NFRCkge1xyXG4gICAgICAgIHRoaXMubW9kZWwgPSBhd2FpdCB0aGlzLnNlcnZpY2VcclxuICAgICAgICAgIC5wZXJmb3JtV2lkZ2V0QWN0aW9uKHRoaXMuY29uZmlnLnV1aWQsIHRoaXMuY29uZmlnLmlkZW50aWZpZXIsIHJlcXVlc3QpXHJcbiAgICAgICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgdGhpcy5tb2RlbENoYW5nZWQubmV4dCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRNb2RlbCgpIHtcclxuICAgIHJldHVybiB0aGlzLm1vZGVsO1xyXG4gIH1cclxuICBhc3luYyBwZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KFxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QsXHJcbiAgICB3aWRnZXRJZD86IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAgIG5vZGVJZD86IHN0cmluZyB8IHVuZGVmaW5lZFxyXG4gICk6IFByb21pc2U8YW55PiB7XHJcbiAgICBhd2FpdCB0aGlzLnBlZm9ybVdpZGdldEFjdGlvbih1aUFjdGlvblJlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgaGFuZGxlU3BlY2lmaWNEZW1hbmRzQXN5bmNocm9ub3VzbHkoXHJcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXHJcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdFxyXG4gICk6IFByb21pc2U8VWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzaG91bGRQZXJmb3JtQWN0aW9uOiB0cnVlLFxyXG4gICAgICB1aUFjdGlvblJlcXVlc3Q6IHVpQWN0aW9uUmVxdWVzdCxcclxuICAgIH07XHJcbiAgfVxyXG4gIGdldEFkZGl0aW9uYWxQYXJhbXModWlBY3Rpb246IFVpQWN0aW9uKTogVWlBY3Rpb25BZGRpdGlvbmFsUGFyYW1zIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGJ1bGtVcGRhdGVGaWx0ZXJFeHByZXNzaW9uKFxyXG4gICAgb3BlcmF0aW9uVHlwZTogRmlsdGVyRXhwcmVzc2lvbkJvb2xPcGVyYXRvcixcclxuICAgIGl0ZW0/OiBGaWx0ZXJFeHByZXNzaW9uRmllbGRcclxuICApOiBQcm9taXNlPGFueT4ge1xyXG4gICAgaWYgKCF0aGlzLm1vZGVsPy5yZWFkT25seSkge1xyXG4gICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgIGl0ZW0uZXhwcmVzc2lvbkRhdGEhLmJvb2xPcGVyYXRvciA9IG9wZXJhdGlvblR5cGU7XHJcbiAgICAgIH1cclxuICAgICAgYXdhaXQgdGhpcy5wZWZvcm1XaWRnZXRBY3Rpb24oe1xyXG4gICAgICAgIGNvZGU6ICdCVUxLX1VQREFURV9GSUxURVJfRVhQUkVTU0lPTicsXHJcbiAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICBtb2RlbDogaXRlbSxcclxuICAgICAgICAgIG9wZXJhdG9yOiBvcGVyYXRpb25UeXBlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|