UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

288 lines 37.4 kB
import { __decorate, __metadata } from "tslib"; import { Component, HostBinding, Injector, Input } from '@angular/core'; import { Validators } from '@angular/forms'; import { SmeSchemaProperty } from '../../../schema/schema-decorator'; import { SimplePropertySchemaFieldLoaderComponent } from '../../../schema/schema-field-host.component'; import { SchemaPrimitiveType } from '../../../schema/schema-models'; import { SmeInternalFormFieldComponent } from '../form-field.component'; import * as i0 from "@angular/core"; import * as i1 from "@angular/forms"; import * as i2 from "../form-field-accessor.directive"; import * as i3 from "../form-field-validator.directive"; import * as i4 from "../form-field-async-validator.directive"; import * as i5 from "@angular/common"; import * as i6 from "../../../../directives/template-outlet/template-outlet.directive"; import * as i7 from "../../../../directives/markdown/markdown.directive"; import * as i8 from "../../../tooltip/tooltip.directive"; import * as i9 from "../../../tooltip/tooltip-zone.directive"; import * as i10 from "../../validation-alert/validation-alert.component"; import * as i11 from "../../fieldset/fieldset.directive"; import * as i12 from "../../form-field-layout/form-field-layout.component"; const _c0 = ["type", "checkbox"]; function CheckboxFormFieldComponent_div_0_span_4_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "span", 13); } if (rf & 2) { const ctx_r4 = i0.ɵɵnextContext(2); i0.ɵɵclassProp("sme-position-flex-auto", !ctx_r4.showInfoBubble); i0.ɵɵproperty("smeMarkdown", ctx_r4.markdownText); i0.ɵɵattribute("aria-hidden", true)("title", ctx_r4.indeterminate ? ctx_r4.indeterminateTooltip : null); } } function CheckboxFormFieldComponent_div_0_span_5_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span"); i0.ɵɵtext(1); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r5 = i0.ɵɵnextContext(2); i0.ɵɵclassProp("sme-position-flex-auto", !ctx_r5.showInfoBubble); i0.ɵɵattribute("title", ctx_r5.indeterminate ? ctx_r5.indeterminateTooltip : null); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate(ctx_r5.label); } } function CheckboxFormFieldComponent_div_0_span_6_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span", 14); i0.ɵɵtext(1); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r6 = i0.ɵɵnextContext(2); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate(ctx_r6.strings.MsftSmeShell.Angular.Common.Form.Validation.required); } } function CheckboxFormFieldComponent_div_0_span_7_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "span", 15); } if (rf & 2) { i0.ɵɵnextContext(); const _r3 = i0.ɵɵreference(1); const ctx_r7 = i0.ɵɵnextContext(); i0.ɵɵproperty("smeTooltip", ctx_r7.resolvedTooltipTemplate)("title", ctx_r7.resolvedTitle)("smeTooltipContext", ctx_r7.tooltipContext)("tooltipZone", _r3); } } function CheckboxFormFieldComponent_div_0_span_8_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span", 16); i0.ɵɵtext(1); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r8 = i0.ɵɵnextContext(2); i0.ɵɵproperty("id", ctx_r8.idBag.labelSpan); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate(ctx_r8.label); } } function CheckboxFormFieldComponent_div_0_span_9_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span", 16); i0.ɵɵtext(1); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r9 = i0.ɵɵnextContext(2); i0.ɵɵproperty("id", ctx_r9.idBag.detailsSpan); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate(ctx_r9.details); } } function CheckboxFormFieldComponent_div_0_Template(rf, ctx) { if (rf & 1) { const _r11 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 4, 5)(2, "label", 6)(3, "input", 7); i0.ɵɵlistener("ngModelChange", function CheckboxFormFieldComponent_div_0_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.value = $event); })("click", function CheckboxFormFieldComponent_div_0_Template_input_click_3_listener() { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.onCheckboxClicked()); }); i0.ɵɵelementEnd(); i0.ɵɵtemplate(4, CheckboxFormFieldComponent_div_0_span_4_Template, 1, 5, "span", 8); i0.ɵɵtemplate(5, CheckboxFormFieldComponent_div_0_span_5_Template, 2, 4, "span", 9); i0.ɵɵtemplate(6, CheckboxFormFieldComponent_div_0_span_6_Template, 2, 1, "span", 10); i0.ɵɵtemplate(7, CheckboxFormFieldComponent_div_0_span_7_Template, 1, 4, "span", 11); i0.ɵɵelementEnd(); i0.ɵɵtemplate(8, CheckboxFormFieldComponent_div_0_span_8_Template, 2, 2, "span", 12); i0.ɵɵtemplate(9, CheckboxFormFieldComponent_div_0_span_9_Template, 2, 2, "span", 12); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵadvance(3); i0.ɵɵproperty("indeterminate", ctx_r0.indeterminate)("required", ctx_r0.required)("disabled", ctx_r0.loadingOrDisabled)("ngModel", ctx_r0.value); i0.ɵɵattribute("aria-labelledby", ctx_r0.label ? ctx_r0.idBag.labelSpan : null)("aria-describedby", ctx_r0.details ? ctx_r0.idBag.detailsSpan : null)("aria-checked", ctx_r0.value)("aria-required", ctx_r0.required); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", !!ctx_r0.markdownText); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", !ctx_r0.markdownText); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx_r0.required); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx_r0.showInfoBubble); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx_r0.label); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx_r0.details); } } function CheckboxFormFieldComponent_sme_form_field_layout_1_span_5_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span", 16); i0.ɵɵtext(1); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r13 = i0.ɵɵnextContext(2); i0.ɵɵproperty("id", ctx_r13.idBag.labelSpan); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate(ctx_r13.label); } } function CheckboxFormFieldComponent_sme_form_field_layout_1_span_6_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span", 16); i0.ɵɵtext(1); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r14 = i0.ɵɵnextContext(2); i0.ɵɵproperty("id", ctx_r14.idBag.detailsSpan); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate(ctx_r14.details); } } function CheckboxFormFieldComponent_sme_form_field_layout_1_Template(rf, ctx) { if (rf & 1) { const _r16 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "sme-form-field-layout", 17)(1, "div", 18)(2, "label", 6)(3, "input", 7); i0.ɵɵlistener("ngModelChange", function CheckboxFormFieldComponent_sme_form_field_layout_1_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r15.value = $event); })("click", function CheckboxFormFieldComponent_sme_form_field_layout_1_Template_input_click_3_listener() { i0.ɵɵrestoreView(_r16); const ctx_r17 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r17.onCheckboxClicked()); }); i0.ɵɵelementEnd(); i0.ɵɵelement(4, "span"); i0.ɵɵelementEnd(); i0.ɵɵtemplate(5, CheckboxFormFieldComponent_sme_form_field_layout_1_span_5_Template, 2, 2, "span", 12); i0.ɵɵtemplate(6, CheckboxFormFieldComponent_sme_form_field_layout_1_span_6_Template, 2, 2, "span", 12); i0.ɵɵelementEnd()(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵproperty("formField", ctx_r1); i0.ɵɵadvance(3); i0.ɵɵproperty("indeterminate", ctx_r1.indeterminate)("required", ctx_r1.required)("disabled", ctx_r1.loadingOrDisabled)("ngModel", ctx_r1.value); i0.ɵɵattribute("aria-labelledby", ctx_r1.label ? ctx_r1.idBag.labelSpan : null)("aria-describedby", ctx_r1.details ? ctx_r1.idBag.detailsSpan : null)("aria-checked", ctx_r1.value)("aria-required", ctx_r1.required); i0.ɵɵadvance(2); i0.ɵɵproperty("ngIf", ctx_r1.label); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx_r1.details); } } function CheckboxFormFieldComponent_fieldset_2_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "fieldset", 19); i0.ɵɵelementContainer(1, 20); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵproperty("disabled", ctx_r2.loadingOrDisabled || !ctx_r2.value); i0.ɵɵadvance(1); i0.ɵɵproperty("template", ctx_r2.subFormTemplate); } } /* eslint-disable max-len */ /* eslint-enable max-len */ export class CheckboxFormFieldLoaderComponent extends SimplePropertySchemaFieldLoaderComponent { } /** @nocollapse */ CheckboxFormFieldLoaderComponent.ɵfac = /** @pureOrBreakMyCode */ function () { let ɵCheckboxFormFieldLoaderComponent_BaseFactory; return function CheckboxFormFieldLoaderComponent_Factory(t) { returnCheckboxFormFieldLoaderComponent_BaseFactory ||CheckboxFormFieldLoaderComponent_BaseFactory = i0.ɵɵgetInheritedFactory(CheckboxFormFieldLoaderComponent)))(t || CheckboxFormFieldLoaderComponent); }; }(); /** @nocollapse */ CheckboxFormFieldLoaderComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: CheckboxFormFieldLoaderComponent, selectors: [["ng-component"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 10, consts: [["type", "checkbox", 3, "ngModel", "name", "label", "description", "required", "readonly", "disabled", "pendingMessage", "customAsyncValidateDisabled", "customAsyncValidateDebounceTime", "ngModelChange", "customValidate", "customAsyncValidate"], ["field", ""]], template: function CheckboxFormFieldLoaderComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "sme-form-field", 0, 1); i0.ɵɵlistener("ngModelChange", function CheckboxFormFieldLoaderComponent_Template_sme_form_field_ngModelChange_0_listener($event) { return ctx.data = $event; })("customValidate", function CheckboxFormFieldLoaderComponent_Template_sme_form_field_customValidate_0_listener($event) { return ctx.resolveFunction(ctx.propertySchema.customValidation)($event); })("customAsyncValidate", function CheckboxFormFieldLoaderComponent_Template_sme_form_field_customAsyncValidate_0_listener($event) { return ctx.propertySchema.customAsyncValidation && ctx.resolveFunction(ctx.propertySchema.customAsyncValidation.handler)($event); }); i0.ɵɵelementEnd(); } if (rf & 2) { i0.ɵɵproperty("ngModel", ctx.data)("name", ctx.propertySchema.name)("label", ctx.localize(ctx.propertySchema.label))("description", ctx.localize(ctx.propertySchema.description))("required", ctx.propertySchema.required)("readonly", !!ctx.evalExpression(ctx.propertySchema.readonlyCondition))("disabled", !!(ctx.propertySchema.disabledCondition && ctx.evalExpression(ctx.propertySchema.disabledCondition)))("pendingMessage", ctx.propertySchema.customAsyncValidation && ctx.localize(ctx.propertySchema.customAsyncValidation.pendingMessage))("customAsyncValidateDisabled", ctx.shouldCustomAsyncValidationBeDisabled())("customAsyncValidateDebounceTime", ctx.propertySchema.customAsyncValidation && +ctx.propertySchema.customAsyncValidation.handler); } }, dependencies: function () { return [i1.NgControlStatus, i1.NgModel, CheckboxFormFieldComponent, i2.FormFieldAccessorDirective, i3.FormFieldValidatorDirective, i4.FormFieldAsyncValidatorDirective]; }, encapsulation: 2 }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CheckboxFormFieldLoaderComponent, [{ type: Component, args: [{ template: ` <sme-form-field #field type="checkbox" [(ngModel)]="data" [name]="propertySchema.name" [label]="localize(propertySchema.label)" [description]="localize(propertySchema.description)" [required]="propertySchema.required" [readonly]="!!evalExpression(propertySchema.readonlyCondition)" [disabled]="!!(propertySchema.disabledCondition && evalExpression(propertySchema.disabledCondition))" (customValidate)="resolveFunction(propertySchema.customValidation)($event)" (customAsyncValidate)="propertySchema.customAsyncValidation && resolveFunction(propertySchema.customAsyncValidation.handler)($event)" [pendingMessage]="propertySchema.customAsyncValidation && localize(propertySchema.customAsyncValidation.pendingMessage)" [customAsyncValidateDisabled]="shouldCustomAsyncValidationBeDisabled()" [customAsyncValidateDebounceTime]="propertySchema.customAsyncValidation && +propertySchema.customAsyncValidation.handler" ></sme-form-field> ` }] }], null, null); })(); /** * Accessible Implementation of a form field for .sme-checkbox */ let CheckboxFormFieldComponent = class CheckboxFormFieldComponent extends SmeInternalFormFieldComponent { /** * Initializes a new instance of the TagsInputComponent */ constructor(injector) { super(injector); this.indeterminate = false; this.indeterminateTooltip = null; } /** * The source name to use for logging */ get logSourceName() { return 'CheckboxFormFieldComponent'; } get noSubTemplate() { return !this.subFormTemplate; } /** * Handler for clicking on the checkbox */ onCheckboxClicked() { // to mimic the behavior of html checkboxes, // when the checkbox is clicked (and not disabled), we reset the indeterminate state to false. if (!this.disabled && this.indeterminate) { this.indeterminate = false; this.value = true; } } /** * Creates the idBag used by this component to store unique element ids. * id values will be assigned be the @see BaseComponent super class. */ createIdBag() { return { labelSpan: '', detailsSpan: '' }; } /** * Performs validation that is internal to this control * @param c The form control attached to this instance */ validate(c) { // translate 'required' on checkbox to 'requiredTrue' validator. // requiredTrue does not have a directive, and the required directive does not surface an error for false values if (this.required) { const requiredTrue = Validators.requiredTrue(c); if (requiredTrue) { return requiredTrue; } } return super.validate(c); } }; /** @nocollapse */ CheckboxFormFieldComponent.ɵfac = function CheckboxFormFieldComponent_Factory(t) { return new (t || CheckboxFormFieldComponent)(i0.ɵɵdirectiveInject(i0.Injector)); }; /** @nocollapse */ CheckboxFormFieldComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: CheckboxFormFieldComponent, selectors: [["sme-form-field", "type", "checkbox"]], hostVars: 2, hostBindings: function CheckboxFormFieldComponent_HostBindings(rf, ctx) { if (rf & 2) { i0.ɵɵclassProp("sme-form-field-auto-height", ctx.noSubTemplate); } }, inputs: { indeterminate: "indeterminate", markdownText: "markdownText", indeterminateTooltip: "indeterminateTooltip" }, features: [i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 4, vars: 4, consts: [["class", "sme-checkbox", "smeTooltipZone", "", 4, "ngIf"], ["class", "sme-focus-zone", 3, "formField", 4, "ngIf"], ["class", "sme-layout-relative sme-checkbox-subform", 3, "disabled", 4, "ngIf"], [3, "alert"], ["smeTooltipZone", "", 1, "sme-checkbox"], ["zone", "smeTooltipZone"], [1, "sme-arrange-stack-h"], ["type", "checkbox", 3, "indeterminate", "required", "disabled", "ngModel", "ngModelChange", "click"], [3, "sme-position-flex-auto", "smeMarkdown", 4, "ngIf"], [3, "sme-position-flex-auto", 4, "ngIf"], ["class", "sme-position-flex-none sme-margin-left-xs", "aria-hidden", "true", 4, "ngIf"], ["class", "sme-position-flex-none sme-icon sme-info-bubble sme-icon-info sme-margin-left-xs", "tabindex", "0", 3, "smeTooltip", "title", "smeTooltipContext", "tooltipZone", 4, "ngIf"], ["class", "sme-screen-reader", 3, "id", 4, "ngIf"], [3, "smeMarkdown"], ["aria-hidden", "true", 1, "sme-position-flex-none", "sme-margin-left-xs"], ["tabindex", "0", 1, "sme-position-flex-none", "sme-icon", "sme-info-bubble", "sme-icon-info", "sme-margin-left-xs", 3, "smeTooltip", "title", "smeTooltipContext", "tooltipZone"], [1, "sme-screen-reader", 3, "id"], [1, "sme-focus-zone", 3, "formField"], [1, "sme-checkbox", "sme-form-field-editor"], [1, "sme-layout-relative", "sme-checkbox-subform", 3, "disabled"], ["smeTemplateOutlet", "", 3, "template"]], template: function CheckboxFormFieldComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtemplate(0, CheckboxFormFieldComponent_div_0_Template, 10, 14, "div", 0); i0.ɵɵtemplate(1, CheckboxFormFieldComponent_sme_form_field_layout_1_Template, 7, 11, "sme-form-field-layout", 1); i0.ɵɵtemplate(2, CheckboxFormFieldComponent_fieldset_2_Template, 2, 2, "fieldset", 2); i0.ɵɵelement(3, "sme-validation-alert", 3); } if (rf & 2) { i0.ɵɵproperty("ngIf", ctx.isVerticalLayout); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx.isHorizontalLayout); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx.subFormTemplate); i0.ɵɵadvance(1); i0.ɵɵproperty("alert", ctx.alert); } }, dependencies: [i5.NgIf, i1.CheckboxControlValueAccessor, i1.NgControlStatus, i1.CheckboxRequiredValidator, i1.NgModel, i6.TemplateOutletDirective, i7.MarkdownDirective, i8.TooltipDirective, i9.TooltipZoneDirective, i10.ValidationAlertComponent, i11.FieldsetDirective, i12.FormFieldLayoutComponent], encapsulation: 2 }); CheckboxFormFieldComponent = __decorate([ SmeSchemaProperty({ type: SchemaPrimitiveType.Boolean, format: 'checkbox', isDefaultFormat: true, description: 'A checkbox binding to boolean data.', loaderComponent: CheckboxFormFieldLoaderComponent }), __metadata("design:paramtypes", [Injector]) ], CheckboxFormFieldComponent); export { CheckboxFormFieldComponent }; (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CheckboxFormFieldComponent, [{ type: Component, args: [{ selector: 'sme-form-field[type="checkbox"]', template: "<!-- Vertical Layout -->\r\n<div *ngIf=\"isVerticalLayout\" class=\"sme-checkbox\" #zone=\"smeTooltipZone\" smeTooltipZone>\r\n <label class=\"sme-arrange-stack-h\">\r\n <input type=\"checkbox\" [attr.aria-labelledby]=\"label ? idBag.labelSpan : null\"\r\n [attr.aria-describedby]=\"details ? idBag.detailsSpan : null\" [attr.aria-checked]=\"value\"\r\n [attr.aria-required]=\"required\" [indeterminate]=\"indeterminate\" [required]=\"required\"\r\n [disabled]=\"loadingOrDisabled\" [(ngModel)]=\"value\" (click)=\"onCheckboxClicked()\">\r\n\r\n <span *ngIf=\"!!markdownText\" [attr.aria-hidden]=\"true\" [class.sme-position-flex-auto]=\"!showInfoBubble\" [smeMarkdown]=\"markdownText\" [attr.title]=\"indeterminate ? indeterminateTooltip : null\"></span>\r\n <span *ngIf=\"!markdownText\" [class.sme-position-flex-auto]=\"!showInfoBubble\" [attr.title]=\"indeterminate ? indeterminateTooltip : null\">{{ label }}</span>\r\n\r\n <span *ngIf=\"required\" class=\"sme-position-flex-none sme-margin-left-xs\"\r\n aria-hidden=\"true\">{{ strings.MsftSmeShell.Angular.Common.Form.Validation.required }}</span>\r\n <span *ngIf=\"showInfoBubble\"\r\n class=\"sme-position-flex-none sme-icon sme-info-bubble sme-icon-info sme-margin-left-xs\"\r\n [smeTooltip]=\"resolvedTooltipTemplate\" [title]=\"resolvedTitle\" [smeTooltipContext]=\"tooltipContext\"\r\n [tooltipZone]=\"zone\" tabindex=\"0\"></span>\r\n </label>\r\n <span *ngIf=\"label\" class=\"sme-screen-reader\" [id]=\"idBag.labelSpan\">{{ label }}</span>\r\n <span *ngIf=\"details\" class=\"sme-screen-reader\" [id]=\"idBag.detailsSpan\">{{ details }}</span>\r\n</div>\r\n<!-- Horizontal layout -->\r\n<sme-form-field-layout *ngIf=\"isHorizontalLayout\" [formField]=\"this\" class=\"sme-focus-zone\">\r\n <div class=\"sme-checkbox sme-form-field-editor\">\r\n <label class=\"sme-arrange-stack-h\">\r\n <input type=\"checkbox\" [attr.aria-labelledby]=\"label ? idBag.labelSpan : null\"\r\n [attr.aria-describedby]=\"details ? idBag.detailsSpan : null\" [attr.aria-checked]=\"value\"\r\n [attr.aria-required]=\"required\" [indeterminate]=\"indeterminate\" [required]=\"required\"\r\n [disabled]=\"loadingOrDisabled\" [(ngModel)]=\"value\" (click)=\"onCheckboxClicked()\">\r\n <span>\r\n <!-- Empty Span Required for checkbox -->\r\n </span>\r\n </label>\r\n <span *ngIf=\"label\" class=\"sme-screen-reader\" [id]=\"idBag.labelSpan\">{{ label }}</span>\r\n <span *ngIf=\"details\" class=\"sme-screen-reader\" [id]=\"idBag.detailsSpan\">{{ details }}</span>\r\n </div>\r\n</sme-form-field-layout>\r\n\r\n<fieldset *ngIf=\"subFormTemplate\" [disabled]=\"loadingOrDisabled || !value\"\r\n class=\"sme-layout-relative sme-checkbox-subform\">\r\n <ng-container smeTemplateOutlet [template]=\"subFormTemplate\"></ng-container>\r\n</fieldset>\r\n<sme-validation-alert [alert]=\"alert\"></sme-validation-alert>\r\n" }] }], function () { return [{ type: i0.Injector }]; }, { indeterminate: [{ type: Input }], markdownText: [{ type: Input }], indeterminateTooltip: [{ type: Input }], noSubTemplate: [{ type: HostBinding, args: ['class.sme-form-field-auto-height'] }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL2Zvcm0tZmllbGQvY2hlY2tib3gvY2hlY2tib3gtZm9ybS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL2Zvcm0tZmllbGQvY2hlY2tib3gvY2hlY2tib3gtZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNHcEUsMkJBQXVNOzs7SUFBaEosZ0VBQWdEO0lBQUMsaURBQTRCO0lBQXZHLG1DQUF5QixvRUFBQTs7O0lBQ3RELDRCQUF3STtJQUFBLFlBQVc7SUFBQSxpQkFBTzs7O0lBQTlILGdFQUFnRDtJQUFDLGtGQUEwRDtJQUFDLGVBQVc7SUFBWCxrQ0FBVzs7O0lBRW5KLGdDQUNxQjtJQUFBLFlBQWtFO0lBQUEsaUJBQU87OztJQUF6RSxlQUFrRTtJQUFsRSx5RkFBa0U7OztJQUN2RiwyQkFHMkM7Ozs7O0lBRHpDLDJEQUFzQywrQkFBQSw0Q0FBQSxvQkFBQTs7O0lBRzFDLGdDQUFxRTtJQUFBLFlBQVc7SUFBQSxpQkFBTzs7O0lBQXpDLDJDQUFzQjtJQUFDLGVBQVc7SUFBWCxrQ0FBVzs7O0lBQ2hGLGdDQUF5RTtJQUFBLFlBQWE7SUFBQSxpQkFBTzs7O0lBQTdDLDZDQUF3QjtJQUFDLGVBQWE7SUFBYixvQ0FBYTs7OztJQWxCeEYsaUNBQXlGLGVBQUEsZUFBQTtJQUt0RCx3T0FBbUIsMkpBQVUsZUFBQSwyQkFBbUIsQ0FBQSxJQUE3QjtJQUhsRCxpQkFHaUY7SUFFakYsbUZBQXVNO0lBQ3ZNLG1GQUEwSjtJQUUxSixvRkFDOEY7SUFDOUYsb0ZBRzJDO0lBQzdDLGlCQUFRO0lBQ1Isb0ZBQXVGO0lBQ3ZGLG9GQUE2RjtJQUMvRixpQkFBTTs7O0lBZjhCLGVBQStCO0lBQS9CLG9EQUErQiw2QkFBQSxzQ0FBQSx5QkFBQTtJQUZ4QywrRUFBdUQsc0VBQUEsOEJBQUEsa0NBQUE7SUFLdkUsZUFBb0I7SUFBcEIsNENBQW9CO0lBQ3BCLGVBQW1CO0lBQW5CLDJDQUFtQjtJQUVuQixlQUFjO0lBQWQsc0NBQWM7SUFFZCxlQUFvQjtJQUFwQiw0Q0FBb0I7SUFLdEIsZUFBVztJQUFYLG1DQUFXO0lBQ1gsZUFBYTtJQUFiLHFDQUFhOzs7SUFjbEIsZ0NBQXFFO0lBQUEsWUFBVztJQUFBLGlCQUFPOzs7SUFBekMsNENBQXNCO0lBQUMsZUFBVztJQUFYLG1DQUFXOzs7SUFDaEYsZ0NBQXlFO0lBQUEsWUFBYTtJQUFBLGlCQUFPOzs7SUFBN0MsOENBQXdCO0lBQUMsZUFBYTtJQUFiLHFDQUFhOzs7O0lBWjFGLGlEQUE0RixjQUFBLGVBQUEsZUFBQTtJQU1yRCwwUEFBbUIsNktBQVUsZUFBQSwyQkFBbUIsQ0FBQSxJQUE3QjtJQUhwRCxpQkFHbUY7SUFDbkYsdUJBRU87SUFDVCxpQkFBUTtJQUNSLHNHQUF1RjtJQUN2RixzR0FBNkY7SUFDL0YsaUJBQU0sRUFBQTs7O0lBYjBDLGtDQUFrQjtJQUs1QixlQUErQjtJQUEvQixvREFBK0IsNkJBQUEsc0NBQUEseUJBQUE7SUFGMUMsK0VBQXVELHNFQUFBLDhCQUFBLGtDQUFBO0lBUXpFLGVBQVc7SUFBWCxtQ0FBVztJQUNYLGVBQWE7SUFBYixxQ0FBYTs7O0lBSXhCLG9DQUNtRDtJQUNqRCw0QkFBNEU7SUFDOUUsaUJBQVc7OztJQUh1QixvRUFBd0M7SUFFeEMsZUFBNEI7SUFBNUIsaURBQTRCOztBRGpDOUQsNEJBQTRCO0FBZTVCLDJCQUEyQjtBQUMzQixNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsd0NBQXdDOzt1VkFBakYsZ0NBQWdDLFNBQWhDLGdDQUFnQztrSEFBaEMsZ0NBQWdDO1FBYnpDLDRDQVNLO1FBVGtDLGdLQUFrQixnSUFJbkMsd0RBQWdELFFBQVEsSUFKckIsc0xBS1UscUVBQTZELFFBQVEsSUFML0U7UUFTcEQsaUJBQWlCOztRQVRpQixrQ0FBa0IsaUNBQUEsaURBQUEsNkRBQUEseUNBQUEsd0VBQUEsa0hBQUEscUlBQUEsNEVBQUEsa0lBQUE7NkVBOEJoRCwwQkFBMEI7dUZBakIxQixnQ0FBZ0M7Y0FmNUMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7S0FXVDthQUNKOztBQUtEOztHQUVHO0FBWUksSUFBTSwwQkFBMEIsR0FBaEMsTUFBTSwwQkFBMkIsU0FBUSw2QkFBc0M7SUFnQ2xGOztPQUVHO0lBQ0gsWUFDSSxRQUFrQjtRQUVsQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBdkNEOztPQUVHO0lBQ0gsSUFBYyxhQUFhO1FBQ3ZCLE9BQU8sNEJBQTRCLENBQUM7SUFDeEMsQ0FBQztJQW9CRCxJQUNXLGFBQWE7UUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDakMsQ0FBQztJQWFEOztPQUVHO0lBQ0ksaUJBQWlCO1FBQ3BCLDRDQUE0QztRQUM1Qyw4RkFBOEY7UUFDOUYsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDTyxXQUFXO1FBQ2pCLE9BQU87WUFDSCxTQUFTLEVBQUUsRUFBRTtZQUNiLFdBQVcsRUFBRSxFQUFFO1NBQ2xCLENBQUM7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ08sUUFBUSxDQUFDLENBQWM7UUFDN0IsZ0VBQWdFO1FBQ2hFLGlIQUFpSDtRQUNqSCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hELElBQUksWUFBWSxFQUFFO2dCQUFFLE9BQU8sWUFBWSxDQUFDO2FBQUU7U0FDN0M7UUFFRCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7dUhBL0VRLDBCQUEwQjs0R0FBMUIsMEJBQTBCOzs7UUN2Q3ZDLDZFQW1CTTtRQUVOLGdIQWN3QjtRQUV4QixxRkFHVztRQUNYLDBDQUE2RDs7UUF6Q3ZELDJDQUFzQjtRQXFCSixlQUF3QjtRQUF4Qiw2Q0FBd0I7UUFnQnJDLGVBQXFCO1FBQXJCLDBDQUFxQjtRQUlWLGVBQWU7UUFBZixpQ0FBZTs7QURGeEIsMEJBQTBCO0lBWHRDLGlCQUFpQixDQUFDO1FBQ2YsSUFBSSxFQUFFLG1CQUFtQixDQUFDLE9BQU87UUFDakMsTUFBTSxFQUFFLFVBQVU7UUFDbEIsZUFBZSxFQUFFLElBQUk7UUFDckIsV0FBVyxFQUFFLHFDQUFxQztRQUNsRCxlQUFlLEVBQUUsZ0NBQWdDO0tBQ3BELENBQUM7cUNBeUNnQixRQUFRO0dBcENiLDBCQUEwQixDQWdGdEM7U0FoRlksMEJBQTBCO3VGQUExQiwwQkFBMEI7Y0FKdEMsU0FBUzsyQkFDSSxpQ0FBaUM7MkRBZ0JwQyxhQUFhO2tCQURuQixLQUFLO1lBT0MsWUFBWTtrQkFEbEIsS0FBSztZQU9DLG9CQUFvQjtrQkFEMUIsS0FBSztZQUlLLGFBQWE7a0JBRHZCLFdBQVc7bUJBQUMsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTbWVTY2hlbWFQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uL3NjaGVtYS9zY2hlbWEtZGVjb3JhdG9yJztcclxuaW1wb3J0IHsgU2ltcGxlUHJvcGVydHlTY2hlbWFGaWVsZExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NjaGVtYS9zY2hlbWEtZmllbGQtaG9zdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTY2hlbWFQcmltaXRpdmVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vc2NoZW1hL3NjaGVtYS1tb2RlbHMnO1xyXG5pbXBvcnQgeyBTbWVJbnRlcm5hbEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tZmllbGQuY29tcG9uZW50JztcclxuXHJcbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgPHNtZS1mb3JtLWZpZWxkICNmaWVsZCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cImRhdGFcIiBbbmFtZV09XCJwcm9wZXJ0eVNjaGVtYS5uYW1lXCIgW2xhYmVsXT1cImxvY2FsaXplKHByb3BlcnR5U2NoZW1hLmxhYmVsKVwiXHJcbiAgICAgICAgW2Rlc2NyaXB0aW9uXT1cImxvY2FsaXplKHByb3BlcnR5U2NoZW1hLmRlc2NyaXB0aW9uKVwiIFtyZXF1aXJlZF09XCJwcm9wZXJ0eVNjaGVtYS5yZXF1aXJlZFwiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cIiEhZXZhbEV4cHJlc3Npb24ocHJvcGVydHlTY2hlbWEucmVhZG9ubHlDb25kaXRpb24pXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiISEocHJvcGVydHlTY2hlbWEuZGlzYWJsZWRDb25kaXRpb24gJiYgZXZhbEV4cHJlc3Npb24ocHJvcGVydHlTY2hlbWEuZGlzYWJsZWRDb25kaXRpb24pKVwiXHJcbiAgICAgICAgKGN1c3RvbVZhbGlkYXRlKT1cInJlc29sdmVGdW5jdGlvbihwcm9wZXJ0eVNjaGVtYS5jdXN0b21WYWxpZGF0aW9uKSgkZXZlbnQpXCJcclxuICAgICAgICAoY3VzdG9tQXN5bmNWYWxpZGF0ZSk9XCJwcm9wZXJ0eVNjaGVtYS5jdXN0b21Bc3luY1ZhbGlkYXRpb24gJiYgcmVzb2x2ZUZ1bmN0aW9uKHByb3BlcnR5U2NoZW1hLmN1c3RvbUFzeW5jVmFsaWRhdGlvbi5oYW5kbGVyKSgkZXZlbnQpXCJcclxuICAgICAgICBbcGVuZGluZ01lc3NhZ2VdPVwicHJvcGVydHlTY2hlbWEuY3VzdG9tQXN5bmNWYWxpZGF0aW9uICYmIGxvY2FsaXplKHByb3BlcnR5U2NoZW1hLmN1c3RvbUFzeW5jVmFsaWRhdGlvbi5wZW5kaW5nTWVzc2FnZSlcIlxyXG4gICAgICAgIFtjdXN0b21Bc3luY1ZhbGlkYXRlRGlzYWJsZWRdPVwic2hvdWxkQ3VzdG9tQXN5bmNWYWxpZGF0aW9uQmVEaXNhYmxlZCgpXCJcclxuICAgICAgICBbY3VzdG9tQXN5bmNWYWxpZGF0ZURlYm91bmNlVGltZV09XCJwcm9wZXJ0eVNjaGVtYS5jdXN0b21Bc3luY1ZhbGlkYXRpb24gJiYgK3Byb3BlcnR5U2NoZW1hLmN1c3RvbUFzeW5jVmFsaWRhdGlvbi5oYW5kbGVyXCJcclxuICAgICAgICA+PC9zbWUtZm9ybS1maWVsZD5cclxuICAgIGBcclxufSlcclxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuICovXHJcbmV4cG9ydCBjbGFzcyBDaGVja2JveEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCBleHRlbmRzIFNpbXBsZVByb3BlcnR5U2NoZW1hRmllbGRMb2FkZXJDb21wb25lbnQge1xyXG59XHJcblxyXG4vKipcclxuICogQWNjZXNzaWJsZSBJbXBsZW1lbnRhdGlvbiBvZiBhIGZvcm0gZmllbGQgZm9yIC5zbWUtY2hlY2tib3hcclxuICovXHJcbkBTbWVTY2hlbWFQcm9wZXJ0eSh7XHJcbiAgICB0eXBlOiBTY2hlbWFQcmltaXRpdmVUeXBlLkJvb2xlYW4sXHJcbiAgICBmb3JtYXQ6ICdjaGVja2JveCcsXHJcbiAgICBpc0RlZmF1bHRGb3JtYXQ6IHRydWUsXHJcbiAgICBkZXNjcmlwdGlvbjogJ0EgY2hlY2tib3ggYmluZGluZyB0byBib29sZWFuIGRhdGEuJyxcclxuICAgIGxvYWRlckNvbXBvbmVudDogQ2hlY2tib3hGb3JtRmllbGRMb2FkZXJDb21wb25lbnRcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS1mb3JtLWZpZWxkW3R5cGU9XCJjaGVja2JveFwiXScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrYm94Rm9ybUZpZWxkQ29tcG9uZW50IGV4dGVuZHMgU21lSW50ZXJuYWxGb3JtRmllbGRDb21wb25lbnQ8Ym9vbGVhbj4ge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNvdXJjZSBuYW1lIHRvIHVzZSBmb3IgbG9nZ2luZ1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGxvZ1NvdXJjZU5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuICdDaGVja2JveEZvcm1GaWVsZENvbXBvbmVudCc7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGlzIGNoZWNrYm94IHNob3VsZCBvcGVyYXRlIGluIGluZGV0ZXJtaW5hdGUgbW9kZS4gVGhhdCBpcywgaXQgc2hvdWxkIHJlcG9ydCB2YWx1ZSBhcyBudWxsLCB0cnVlLCBvciBmYWxzZS5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpbmRldGVybWluYXRlOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGV4dCB0byBiZSByZW5kZXJlZCBhcyBtYXJrZG93biBpbiB0aGUgY2hlY2tib3ggY29tcG9uZW50LiBUaGlzIHdpbGwgYmVjb21lIHRoZSBsYWJlbCB0ZXh0IG9mIHRoZSBjaGVja2JveC5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBtYXJrZG93blRleHQ6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIElmIHByb3ZpZGVkLCBnaXZlcyBhbiBleHBsYW5hdGlvbiBmb3IgdGhlIGluZGV0ZXJtaW5hdGUgY2hlY2tib3ggc3RhdGUuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaW5kZXRlcm1pbmF0ZVRvb2x0aXA6IHN0cmluZztcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNtZS1mb3JtLWZpZWxkLWF1dG8taGVpZ2h0JylcclxuICAgIHB1YmxpYyBnZXQgbm9TdWJUZW1wbGF0ZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXRoaXMuc3ViRm9ybVRlbXBsYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIFRhZ3NJbnB1dENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGVUb29sdGlwID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhhbmRsZXIgZm9yIGNsaWNraW5nIG9uIHRoZSBjaGVja2JveFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25DaGVja2JveENsaWNrZWQoKSB7XHJcbiAgICAgICAgLy8gdG8gbWltaWMgdGhlIGJlaGF2aW9yIG9mIGh0bWwgY2hlY2tib3hlcyxcclxuICAgICAgICAvLyB3aGVuIHRoZSBjaGVja2JveCBpcyBjbGlja2VkIChhbmQgbm90IGRpc2FibGVkKSwgd2UgcmVzZXQgdGhlIGluZGV0ZXJtaW5hdGUgc3RhdGUgdG8gZmFsc2UuXHJcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkICYmIHRoaXMuaW5kZXRlcm1pbmF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyB0aGUgaWRCYWcgdXNlZCBieSB0aGlzIGNvbXBvbmVudCB0byBzdG9yZSB1bmlxdWUgZWxlbWVudCBpZHMuXHJcbiAgICAgKiBpZCB2YWx1ZXMgd2lsbCBiZSBhc3NpZ25lZCBiZSB0aGUgQHNlZSBCYXNlQ29tcG9uZW50IHN1cGVyIGNsYXNzLlxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgY3JlYXRlSWRCYWcoKTogTXNmdFNtZS5TdHJpbmdNYXA8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbGFiZWxTcGFuOiAnJyxcclxuICAgICAgICAgICAgZGV0YWlsc1NwYW46ICcnXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcmZvcm1zIHZhbGlkYXRpb24gdGhhdCBpcyBpbnRlcm5hbCB0byB0aGlzIGNvbnRyb2xcclxuICAgICAqIEBwYXJhbSBjIFRoZSBmb3JtIGNvbnRyb2wgYXR0YWNoZWQgdG8gdGhpcyBpbnN0YW5jZVxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgdmFsaWRhdGUoYzogRm9ybUNvbnRyb2wpIHtcclxuICAgICAgICAvLyB0cmFuc2xhdGUgJ3JlcXVpcmVkJyBvbiBjaGVja2JveCB0byAncmVxdWlyZWRUcnVlJyB2YWxpZGF0b3IuXHJcbiAgICAgICAgLy8gcmVxdWlyZWRUcnVlIGRvZXMgbm90IGhhdmUgIGEgZGlyZWN0aXZlLCBhbmQgdGhlIHJlcXVpcmVkIGRpcmVjdGl2ZSBkb2VzIG5vdCBzdXJmYWNlIGFuIGVycm9yIGZvciBmYWxzZSB2YWx1ZXNcclxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICBjb25zdCByZXF1aXJlZFRydWUgPSBWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZShjKTtcclxuICAgICAgICAgICAgaWYgKHJlcXVpcmVkVHJ1ZSkgeyByZXR1cm4gcmVxdWlyZWRUcnVlOyB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gc3VwZXIudmFsaWRhdGUoYyk7XHJcbiAgICB9XHJcbn1cclxuIiwiPCEtLSBWZXJ0aWNhbCBMYXlvdXQgLS0+XHJcbjxkaXYgKm5nSWY9XCJpc1ZlcnRpY2FsTGF5b3V0XCIgY2xhc3M9XCJzbWUtY2hlY2tib3hcIiAjem9uZT1cInNtZVRvb2x0aXBab25lXCIgc21lVG9vbHRpcFpvbmU+XHJcbiAgPGxhYmVsIGNsYXNzPVwic21lLWFycmFuZ2Utc3RhY2staFwiPlxyXG4gICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbCA/IGlkQmFnLmxhYmVsU3BhbiA6IG51bGxcIlxyXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJkZXRhaWxzID8gaWRCYWcuZGV0YWlsc1NwYW4gOiBudWxsXCIgW2F0dHIuYXJpYS1jaGVja2VkXT1cInZhbHVlXCJcclxuICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcclxuICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nT3JEaXNhYmxlZFwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAoY2xpY2spPVwib25DaGVja2JveENsaWNrZWQoKVwiPlxyXG5cclxuICAgIDxzcGFuICpuZ0lmPVwiISFtYXJrZG93blRleHRcIiBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCIgW2NsYXNzLnNtZS1wb3NpdGlvbi1mbGV4LWF1dG9dPVwiIXNob3dJbmZvQnViYmxlXCIgW3NtZU1hcmtkb3duXT1cIm1hcmtkb3duVGV4dFwiIFthdHRyLnRpdGxlXT1cImluZGV0ZXJtaW5hdGUgPyBpbmRldGVybWluYXRlVG9vbHRpcCA6IG51bGxcIj48L3NwYW4+XHJcbiAgICA8c3BhbiAqbmdJZj1cIiFtYXJrZG93blRleHRcIiBbY2xhc3Muc21lLXBvc2l0aW9uLWZsZXgtYXV0b109XCIhc2hvd0luZm9CdWJibGVcIiBbYXR0ci50aXRsZV09XCJpbmRldGVybWluYXRlID8gaW5kZXRlcm1pbmF0ZVRvb2x0aXAgOiBudWxsXCI+e3sgbGFiZWwgfX08L3NwYW4+XHJcblxyXG4gICAgPHNwYW4gKm5nSWY9XCJyZXF1aXJlZFwiIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtbm9uZSBzbWUtbWFyZ2luLWxlZnQteHNcIlxyXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj57eyBzdHJpbmdzLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLkNvbW1vbi5Gb3JtLlZhbGlkYXRpb24ucmVxdWlyZWQgfX08L3NwYW4+XHJcbiAgICA8c3BhbiAqbmdJZj1cInNob3dJbmZvQnViYmxlXCJcclxuICAgICAgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1pY29uIHNtZS1pbmZvLWJ1YmJsZSBzbWUtaWNvbi1pbmZvIHNtZS1tYXJnaW4tbGVmdC14c1wiXHJcbiAgICAgIFtzbWVUb29sdGlwXT1cInJlc29sdmVkVG9vbHRpcFRlbXBsYXRlXCIgW3RpdGxlXT1cInJlc29sdmVkVGl0bGVcIiBbc21lVG9vbHRpcENvbnRleHRdPVwidG9vbHRpcENvbnRleHRcIlxyXG4gICAgICBbdG9vbHRpcFpvbmVdPVwiem9uZVwiIHRhYmluZGV4PVwiMFwiPjwvc3Bhbj5cclxuICA8L2xhYmVsPlxyXG4gIDxzcGFuICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cInNtZS1zY3JlZW4tcmVhZGVyXCIgW2lkXT1cImlkQmFnLmxhYmVsU3BhblwiPnt7IGxhYmVsIH19PC9zcGFuPlxyXG4gIDxzcGFuICpuZ0lmPVwiZGV0YWlsc1wiIGNsYXNzPVwic21lLXNjcmVlbi1yZWFkZXJcIiBbaWRdPVwiaWRCYWcuZGV0YWlsc1NwYW5cIj57eyBkZXRhaWxzIH19PC9zcGFuPlxyXG48L2Rpdj5cclxuPCEtLSBIb3Jpem9udGFsIGxheW91dCAtLT5cclxuPHNtZS1mb3JtLWZpZWxkLWxheW91dCAqbmdJZj1cImlzSG9yaXpvbnRhbExheW91dFwiIFtmb3JtRmllbGRdPVwidGhpc1wiIGNsYXNzPVwic21lLWZvY3VzLXpvbmVcIj5cclxuICA8ZGl2IGNsYXNzPVwic21lLWNoZWNrYm94IHNtZS1mb3JtLWZpZWxkLWVkaXRvclwiPlxyXG4gICAgPGxhYmVsIGNsYXNzPVwic21lLWFycmFuZ2Utc3RhY2staFwiPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImxhYmVsID8gaWRCYWcubGFiZWxTcGFuIDogbnVsbFwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJkZXRhaWxzID8gaWRCYWcuZGV0YWlsc1NwYW4gOiBudWxsXCIgW2F0dHIuYXJpYS1jaGVja2VkXT1cInZhbHVlXCJcclxuICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkXCIgW2luZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZVwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmdPckRpc2FibGVkXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChjbGljayk9XCJvbkNoZWNrYm94Q2xpY2tlZCgpXCI+XHJcbiAgICAgIDxzcGFuPlxyXG4gICAgICAgIDwhLS0gRW1wdHkgU3BhbiBSZXF1aXJlZCBmb3IgY2hlY2tib3ggLS0+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvbGFiZWw+XHJcbiAgICA8c3BhbiAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJzbWUtc2NyZWVuLXJlYWRlclwiIFtpZF09XCJpZEJhZy5sYWJlbFNwYW5cIj57eyBsYWJlbCB9fTwvc3Bhbj5cclxuICAgIDxzcGFuICpuZ0lmPVwiZGV0YWlsc1wiIGNsYXNzPVwic21lLXNjcmVlbi1yZWFkZXJcIiBbaWRdPVwiaWRCYWcuZGV0YWlsc1NwYW5cIj57eyBkZXRhaWxzIH19PC9zcGFuPlxyXG4gIDwvZGl2PlxyXG48L3NtZS1mb3JtLWZpZWxkLWxheW91dD5cclxuXHJcbjxmaWVsZHNldCAqbmdJZj1cInN1YkZvcm1UZW1wbGF0ZVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nT3JEaXNhYmxlZCB8fCAhdmFsdWVcIlxyXG4gIGNsYXNzPVwic21lLWxheW91dC1yZWxhdGl2ZSBzbWUtY2hlY2tib3gtc3ViZm9ybVwiPlxyXG4gIDxuZy1jb250YWluZXIgc21lVGVtcGxhdGVPdXRsZXQgW3RlbXBsYXRlXT1cInN1YkZvcm1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG48L2ZpZWxkc2V0PlxyXG48c21lLXZhbGlkYXRpb24tYWxlcnQgW2FsZXJ0XT1cImFsZXJ0XCI+PC9zbWUtdmFsaWRhdGlvbi1hbGVydD5cclxuIl19