@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
124 lines • 16.7 kB
JavaScript
import { Component, Injector, Input } from '@angular/core';
import { CoreBaseComponent } from '../../common/base.component';
import { FormFieldComponent } from '../form-field/form-field.component';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "../../../directives/markdown/markdown.directive";
import * as i3 from "../../tooltip/tooltip.directive";
import * as i4 from "../../tooltip/tooltip-zone.directive";
function FormFieldLayoutComponent_label_2_span_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelement(0, "span", 10);
} if (rf & 2) {
const ctx_r3 = i0.ɵɵnextContext(2);
i0.ɵɵproperty("smeMarkdown", ctx_r3.markdownText);
} }
function FormFieldLayoutComponent_label_2_span_2_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span");
i0.ɵɵtext(1);
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r4 = i0.ɵɵnextContext(2);
i0.ɵɵadvance(1);
i0.ɵɵtextInterpolate(ctx_r4.formField.label);
} }
function FormFieldLayoutComponent_label_2_strong_3_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "strong", 11);
i0.ɵɵtext(1);
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r5 = i0.ɵɵnextContext(2);
i0.ɵɵclassProp("sme-color-error", !ctx_r5.formField.disabled);
i0.ɵɵadvance(1);
i0.ɵɵtextInterpolate1(" ", ctx_r5.strings.MsftSmeShell.Angular.Common.Form.Validation.required, " ");
} }
function FormFieldLayoutComponent_label_2_span_4_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelement(0, "span", 12);
} if (rf & 2) {
const ctx_r6 = i0.ɵɵnextContext(2);
const _r0 = i0.ɵɵreference(1);
i0.ɵɵproperty("smeTooltip", ctx_r6.formField.resolvedTooltipTemplate)("title", ctx_r6.formField.resolvedTitle)("smeTooltipContext", ctx_r6.formField.tooltipContext)("tooltipZone", _r0);
} }
function FormFieldLayoutComponent_label_2_span_5_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelement(0, "span", 13);
} }
function FormFieldLayoutComponent_label_2_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "label", 4);
i0.ɵɵtemplate(1, FormFieldLayoutComponent_label_2_span_1_Template, 1, 1, "span", 5);
i0.ɵɵtemplate(2, FormFieldLayoutComponent_label_2_span_2_Template, 2, 1, "span", 6);
i0.ɵɵtemplate(3, FormFieldLayoutComponent_label_2_strong_3_Template, 2, 3, "strong", 7);
i0.ɵɵtemplate(4, FormFieldLayoutComponent_label_2_span_4_Template, 1, 4, "span", 8);
i0.ɵɵtemplate(5, FormFieldLayoutComponent_label_2_span_5_Template, 1, 0, "span", 9);
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r1 = i0.ɵɵnextContext();
i0.ɵɵclassProp("sme-form-field-label-vertical-middle", ctx_r1.formField.verticalMiddleLabel);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx_r1.markdownEnabled);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", !ctx_r1.markdownEnabled);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx_r1.formField.required);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", !ctx_r1.formField.disabled && ctx_r1.formField.showInfoBubble);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx_r1.formField.disabled && ctx_r1.formField.showInfoBubble);
} }
function FormFieldLayoutComponent_label_3_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelement(0, "label", 14);
} if (rf & 2) {
const ctx_r2 = i0.ɵɵnextContext();
i0.ɵɵclassProp("sme-form-field-label-hidden", ctx_r2.formField.hideHeaderSpace);
} }
const _c0 = ["*"];
export class FormFieldLayoutComponent extends CoreBaseComponent {
/**
* Initializes a new instance of the FormFieldLayoutComponent
*/
constructor(injector) {
super(injector);
}
/**
* The source name to use for logging
*/
get logSourceName() {
return 'FormFieldLayoutComponent';
}
/**
* Boolean input for whether to interpret the form field component as markdown or not.
* Enable only for check box form fields
*/
get markdownEnabled() {
// Circular dependency between FormFieldLayoutComponent and CheckboxFormFieldComponent,
// so we have to use the logSourceName() method to check the type of the formField.
// Long term we should refactor this and clean up the code.
if (this.formField.logSourceName === 'CheckboxFormFieldComponent') {
this.markdownText = this.formField.markdownText;
return !!this.markdownText;
}
return false;
}
getInitialHostClasses() {
return super.getInitialHostClasses().concat('sme-form-field-layout');
}
}
/** @nocollapse */ FormFieldLayoutComponent.ɵfac = function FormFieldLayoutComponent_Factory(t) { return new (t || FormFieldLayoutComponent)(i0.ɵɵdirectiveInject(i0.Injector)); };
/** @nocollapse */ FormFieldLayoutComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: FormFieldLayoutComponent, selectors: [["sme-form-field-layout"]], inputs: { formField: "formField" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 5, vars: 2, consts: [["smeTooltipZone", ""], ["zone", "smeTooltipZone"], ["class", "sme-form-field-label", "aria-hidden", "true", 3, "sme-form-field-label-vertical-middle", 4, "ngIf"], ["class", "sme-hidden-label sme-form-field-label", "aria-hidden", "true", 3, "sme-form-field-label-hidden", 4, "ngIf"], ["aria-hidden", "true", 1, "sme-form-field-label"], ["aria-hidden", "true", 3, "smeMarkdown", 4, "ngIf"], [4, "ngIf"], ["class", "sme-position-flex-none sme-margin-left-xxxs", 3, "sme-color-error", 4, "ngIf"], ["tabindex", "0", "class", "sme-position-flex-none sme-icon sme-info-bubble sme-icon-info sme-margin-left-xs", 3, "smeTooltip", "title", "smeTooltipContext", "tooltipZone", 4, "ngIf"], ["tabindex", "0", "class", "sme-position-flex-none sme-icon sme-info-bubble sme-icon-info sme-margin-left-xs sme-color-neutral", 4, "ngIf"], ["aria-hidden", "true", 3, "smeMarkdown"], [1, "sme-position-flex-none", "sme-margin-left-xxxs"], ["tabindex", "0", 1, "sme-position-flex-none", "sme-icon", "sme-info-bubble", "sme-icon-info", "sme-margin-left-xs", 3, "smeTooltip", "title", "smeTooltipContext", "tooltipZone"], ["tabindex", "0", 1, "sme-position-flex-none", "sme-icon", "sme-info-bubble", "sme-icon-info", "sme-margin-left-xs", "sme-color-neutral"], ["aria-hidden", "true", 1, "sme-hidden-label", "sme-form-field-label"]], template: function FormFieldLayoutComponent_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵprojectionDef();
i0.ɵɵelementStart(0, "div", 0, 1);
i0.ɵɵtemplate(2, FormFieldLayoutComponent_label_2_Template, 6, 7, "label", 2);
i0.ɵɵtemplate(3, FormFieldLayoutComponent_label_3_Template, 1, 2, "label", 3);
i0.ɵɵprojection(4);
i0.ɵɵelementEnd();
} if (rf & 2) {
i0.ɵɵadvance(2);
i0.ɵɵproperty("ngIf", ctx.formField.shouldDisplayHeader() && !ctx.formField.compact);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx.formField.compact || ctx.formField.isHorizontalLayout && !ctx.formField.shouldDisplayHeader());
} }, dependencies: [i1.NgIf, i2.MarkdownDirective, i3.TooltipDirective, i4.TooltipZoneDirective], encapsulation: 2 });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldLayoutComponent, [{
type: Component,
args: [{ selector: 'sme-form-field-layout', template: "<div #zone=\"smeTooltipZone\" smeTooltipZone>\r\n <!-- Normal label -->\r\n <label *ngIf=\"formField.shouldDisplayHeader() && !formField.compact\" class=\"sme-form-field-label\" aria-hidden=\"true\"\r\n [class.sme-form-field-label-vertical-middle]=\"formField.verticalMiddleLabel\">\r\n <span aria-hidden=\"true\" *ngIf=\"markdownEnabled\" [smeMarkdown]=\"markdownText\"></span>\r\n <span *ngIf=\"!markdownEnabled\">{{ formField.label }}</span>\r\n <strong *ngIf=\"formField.required\" class=\"sme-position-flex-none sme-margin-left-xxxs\"\r\n [class.sme-color-error]=\"!formField.disabled\">\r\n {{ strings.MsftSmeShell.Angular.Common.Form.Validation.required }}\r\n </strong>\r\n <span *ngIf=\"!formField.disabled && formField.showInfoBubble\" tabindex=\"0\"\r\n class=\"sme-position-flex-none sme-icon sme-info-bubble sme-icon-info sme-margin-left-xs\"\r\n [smeTooltip]=\"formField.resolvedTooltipTemplate\" [title]=\"formField.resolvedTitle\"\r\n [smeTooltipContext]=\"formField.tooltipContext\" [tooltipZone]=\"zone\"></span>\r\n <span *ngIf=\"formField.disabled && formField.showInfoBubble\" tabindex=\"0\"\r\n class=\"sme-position-flex-none sme-icon sme-info-bubble sme-icon-info sme-margin-left-xs sme-color-neutral\"></span>\r\n </label>\r\n <!-- Horizontal hidden label -->\r\n <!-- hidden label should not take any width or padding-left -->\r\n <label *ngIf=\"formField.compact || (formField.isHorizontalLayout && !formField.shouldDisplayHeader())\"\r\n class=\"sme-hidden-label sme-form-field-label\" [class.sme-form-field-label-hidden]=\"formField.hideHeaderSpace\" aria-hidden=\"true\"></label>\r\n <!-- Form Field Content -->\r\n <ng-content></ng-content>\r\n</div>\r\n" }]
}], function () { return [{ type: i0.Injector }]; }, { formField: [{
type: Input
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvZm9ybS9mb3JtLWZpZWxkLWxheW91dC9mb3JtLWZpZWxkLWxheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9mb3JtL2Zvcm0tZmllbGQtbGF5b3V0L2Zvcm0tZmllbGQtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7OztJQ0VwRSwyQkFBcUY7OztJQUFwQyxpREFBNEI7OztJQUM3RSw0QkFBK0I7SUFBQSxZQUFxQjtJQUFBLGlCQUFPOzs7SUFBNUIsZUFBcUI7SUFBckIsNENBQXFCOzs7SUFDcEQsa0NBQ2dEO0lBQzlDLFlBQ0Y7SUFBQSxpQkFBUzs7O0lBRlAsNkRBQTZDO0lBQzdDLGVBQ0Y7SUFERSxvR0FDRjs7O0lBQ0EsMkJBRzZFOzs7O0lBRDNFLHFFQUFnRCx5Q0FBQSxzREFBQSxvQkFBQTs7O0lBRWxELDJCQUNvSDs7O0lBYnRILGdDQUMrRTtJQUM3RSxtRkFBcUY7SUFDckYsbUZBQTJEO0lBQzNELHVGQUdTO0lBQ1QsbUZBRzZFO0lBQzdFLG1GQUNvSDtJQUN0SCxpQkFBUTs7O0lBYk4sNEZBQTRFO0lBQ2xELGVBQXFCO0lBQXJCLDZDQUFxQjtJQUN4QyxlQUFzQjtJQUF0Qiw4Q0FBc0I7SUFDcEIsZUFBd0I7SUFBeEIsZ0RBQXdCO0lBSTFCLGVBQXFEO0lBQXJELG9GQUFxRDtJQUlyRCxlQUFvRDtJQUFwRCxtRkFBb0Q7OztJQUs3RCw0QkFDMkk7OztJQUEzRiwrRUFBK0Q7OztBRFpqSCxNQUFNLE9BQU8sd0JBQW1DLFNBQVEsaUJBQWlCO0lBbUNyRTs7T0FFRztJQUNILFlBQ0ksUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUF4Q0Q7O09BRUc7SUFDSCxJQUFjLGFBQWE7UUFDdkIsT0FBTywwQkFBMEIsQ0FBQztJQUN0QyxDQUFDO0lBYUQ7OztPQUdHO0lBQ0YsSUFBVyxlQUFlO1FBQ3ZCLHVGQUF1RjtRQUN2RixtRkFBbUY7UUFDbkYsMkRBQTJEO1FBQzNELElBQVUsSUFBSSxDQUFDLFNBQVUsQ0FBQyxhQUFhLEtBQUssNEJBQTRCLEVBQUU7WUFDckUsSUFBSSxDQUFDLFlBQVksR0FBUyxJQUFJLENBQUMsU0FBVSxDQUFDLFlBQVksQ0FBQztZQUN2RCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQzlCO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQVdRLHFCQUFxQjtRQUMzQixPQUFPLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sQ0FDdkMsdUJBQXVCLENBQzFCLENBQUM7SUFDTixDQUFDOzttSEFoRFEsd0JBQXdCOzBHQUF4Qix3QkFBd0I7O1FDUnJDLGlDQUEyQztRQUV6Qyw2RUFjUTtRQUdSLDZFQUMySTtRQUUzSSxrQkFBeUI7UUFDM0IsaUJBQU07O1FBckJJLGVBQTJEO1FBQTNELG9GQUEyRDtRQWlCM0QsZUFBNkY7UUFBN0Ysd0hBQTZGOzt1RkRYMUYsd0JBQXdCO2NBSnBDLFNBQVM7MkJBQ0ksdUJBQXVCOzJEQWdCMUIsU0FBUztrQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29yZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21tb24vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtZm9ybS1maWVsZC1sYXlvdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQtbGF5b3V0LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkTGF5b3V0Q29tcG9uZW50PFRTdHJpbmdzPiBleHRlbmRzIENvcmVCYXNlQ29tcG9uZW50IHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzb3VyY2UgbmFtZSB0byB1c2UgZm9yIGxvZ2dpbmdcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldCBsb2dTb3VyY2VOYW1lKCkge1xyXG4gICAgICAgIHJldHVybiAnRm9ybUZpZWxkTGF5b3V0Q29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEEgcmVmZXJlbmNlIHRvIHRoZSBmb3JtIGZpZWxkIHRoYXQgdGhpcyBsYXlvdXQgY29udGFpbnNcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmb3JtRmllbGQ6IEZvcm1GaWVsZENvbXBvbmVudDxUU3RyaW5ncywgYW55PjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFN0cmluZyBmcm9tIGNoZWNrYm94IGZvcm0gZmllbGQgaW4gY2FzZSBtYXJrZG93biBpcyBlbmFibGVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbWFya2Rvd25UZXh0OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBCb29sZWFuIGlucHV0IGZvciB3aGV0aGVyIHRvIGludGVycHJldCB0aGUgZm9ybSBmaWVsZCBjb21wb25lbnQgYXMgbWFya2Rvd24gb3Igbm90LlxyXG4gICAgICogRW5hYmxlIG9ubHkgZm9yIGNoZWNrIGJveCBmb3JtIGZpZWxkc1xyXG4gICAgICovXHJcbiAgICAgcHVibGljIGdldCBtYXJrZG93bkVuYWJsZWQoKSB7XHJcbiAgICAgICAgLy8gQ2lyY3VsYXIgZGVwZW5kZW5jeSBiZXR3ZWVuIEZvcm1GaWVsZExheW91dENvbXBvbmVudCBhbmQgQ2hlY2tib3hGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgLy8gc28gd2UgaGF2ZSB0byB1c2UgdGhlIGxvZ1NvdXJjZU5hbWUoKSBtZXRob2QgdG8gY2hlY2sgdGhlIHR5cGUgb2YgdGhlIGZvcm1GaWVsZC5cclxuICAgICAgICAvLyBMb25nIHRlcm0gd2Ugc2hvdWxkIHJlZmFjdG9yIHRoaXMgYW5kIGNsZWFuIHVwIHRoZSBjb2RlLlxyXG4gICAgICAgIGlmICgoPGFueT50aGlzLmZvcm1GaWVsZCkubG9nU291cmNlTmFtZSA9PT0gJ0NoZWNrYm94Rm9ybUZpZWxkQ29tcG9uZW50Jykge1xyXG4gICAgICAgICAgICAgdGhpcy5tYXJrZG93blRleHQgPSAoPGFueT50aGlzLmZvcm1GaWVsZCkubWFya2Rvd25UZXh0O1xyXG4gICAgICAgICAgICAgcmV0dXJuICEhdGhpcy5tYXJrZG93blRleHQ7XHJcbiAgICAgICAgIH1cclxuICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBGb3JtRmllbGRMYXlvdXRDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldEluaXRpYWxIb3N0Q2xhc3NlcygpIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkuY29uY2F0KFxyXG4gICAgICAgICAgICAnc21lLWZvcm0tZmllbGQtbGF5b3V0J1xyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiAjem9uZT1cInNtZVRvb2x0aXBab25lXCIgc21lVG9vbHRpcFpvbmU+XHJcbiAgPCEtLSBOb3JtYWwgbGFiZWwgLS0+XHJcbiAgPGxhYmVsICpuZ0lmPVwiZm9ybUZpZWxkLnNob3VsZERpc3BsYXlIZWFkZXIoKSAmJiAhZm9ybUZpZWxkLmNvbXBhY3RcIiBjbGFzcz1cInNtZS1mb3JtLWZpZWxkLWxhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgIFtjbGFzcy5zbWUtZm9ybS1maWVsZC1sYWJlbC12ZXJ0aWNhbC1taWRkbGVdPVwiZm9ybUZpZWxkLnZlcnRpY2FsTWlkZGxlTGFiZWxcIj5cclxuICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiICpuZ0lmPVwibWFya2Rvd25FbmFibGVkXCIgW3NtZU1hcmtkb3duXT1cIm1hcmtkb3duVGV4dFwiPjwvc3Bhbj5cclxuICAgIDxzcGFuICpuZ0lmPVwiIW1hcmtkb3duRW5hYmxlZFwiPnt7IGZvcm1GaWVsZC5sYWJlbCB9fTwvc3Bhbj5cclxuICAgIDxzdHJvbmcgKm5nSWY9XCJmb3JtRmllbGQucmVxdWlyZWRcIiBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LW5vbmUgc21lLW1hcmdpbi1sZWZ0LXh4eHNcIlxyXG4gICAgICBbY2xhc3Muc21lLWNvbG9yLWVycm9yXT1cIiFmb3JtRmllbGQuZGlzYWJsZWRcIj5cclxuICAgICAge3sgc3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Db21tb24uRm9ybS5WYWxpZGF0aW9uLnJlcXVpcmVkIH19XHJcbiAgICA8L3N0cm9uZz5cclxuICAgIDxzcGFuICpuZ0lmPVwiIWZvcm1GaWVsZC5kaXNhYmxlZCAmJiBmb3JtRmllbGQuc2hvd0luZm9CdWJibGVcIiB0YWJpbmRleD1cIjBcIlxyXG4gICAgICBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LW5vbmUgc21lLWljb24gc21lLWluZm8tYnViYmxlIHNtZS1pY29uLWluZm8gc21lLW1hcmdpbi1sZWZ0LXhzXCJcclxuICAgICAgW3NtZVRvb2x0aXBdPVwiZm9ybUZpZWxkLnJlc29sdmVkVG9vbHRpcFRlbXBsYXRlXCIgW3RpdGxlXT1cImZvcm1GaWVsZC5yZXNvbHZlZFRpdGxlXCJcclxuICAgICAgW3NtZVRvb2x0aXBDb250ZXh0XT1cImZvcm1GaWVsZC50b29sdGlwQ29udGV4dFwiIFt0b29sdGlwWm9uZV09XCJ6b25lXCI+PC9zcGFuPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJmb3JtRmllbGQuZGlzYWJsZWQgJiYgZm9ybUZpZWxkLnNob3dJbmZvQnViYmxlXCIgdGFiaW5kZXg9XCIwXCJcclxuICAgICAgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1pY29uIHNtZS1pbmZvLWJ1YmJsZSBzbWUtaWNvbi1pbmZvIHNtZS1tYXJnaW4tbGVmdC14cyBzbWUtY29sb3ItbmV1dHJhbFwiPjwvc3Bhbj5cclxuICA8L2xhYmVsPlxyXG4gIDwhLS0gSG9yaXpvbnRhbCBoaWRkZW4gbGFiZWwgLS0+XHJcbiAgPCEtLSBoaWRkZW4gbGFiZWwgc2hvdWxkIG5vdCB0YWtlIGFueSB3aWR0aCBvciBwYWRkaW5nLWxlZnQgLS0+XHJcbiAgPGxhYmVsICpuZ0lmPVwiZm9ybUZpZWxkLmNvbXBhY3QgfHwgKGZvcm1GaWVsZC5pc0hvcml6b250YWxMYXlvdXQgJiYgIWZvcm1GaWVsZC5zaG91bGREaXNwbGF5SGVhZGVyKCkpXCJcclxuICAgIGNsYXNzPVwic21lLWhpZGRlbi1sYWJlbCBzbWUtZm9ybS1maWVsZC1sYWJlbFwiIFtjbGFzcy5zbWUtZm9ybS1maWVsZC1sYWJlbC1oaWRkZW5dPVwiZm9ybUZpZWxkLmhpZGVIZWFkZXJTcGFjZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvbGFiZWw+XHJcbiAgPCEtLSBGb3JtIEZpZWxkIENvbnRlbnQgLS0+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuIl19