UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

246 lines (245 loc) 19.6 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, ElementRef, Input, Output, EventEmitter } from '@angular/core'; import { DialogService } from '../../../service/DialogService.service'; import { ComponentDataLangSelector } from '../../../component/ComponentDataLangSelector.component'; import { Option } from '../../../decorator/Option.decorator'; import { I18N } from '../../../decorator/I18N.decorator'; import { ComponentDataLangSelectorModel } from '../../../component/model/ComponentDataLangSelectorModel'; const /** @type {?} */ TYPE_NAME = "material-component-lang-selector"; export class MaterialComponentDataLangSelector extends ComponentDataLangSelector { /** * @param {?} elementRef * @param {?} dialogService */ constructor(elementRef, dialogService) { super(elementRef, dialogService); } /** * @return {?} */ ngOnInit() { super.ngOnInit(); } } MaterialComponentDataLangSelector.TYPE_NAME = TYPE_NAME; MaterialComponentDataLangSelector.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: `<div class="material-component-lang-selector disabled-overlay" [style.width]="getWidth()" [style.height]="getHeight()"> <div class="wrapper left" [class.expand]="!hasLanguage()"> <div class="component-pane"> <!-- default --> <div class="component-wrapper" [class.show]="_isSelectedLanguageByIndex(null)"> <phx-component-wrapper *ngIf="hasModel()" [type]="getModel().componentType" [model]="getModel().componentModel" [handler]="getDefaultComponentHandler()" [data]="_getDefaultData()" [dataParent]="this" [options]="getModel().componentOptions"></phx-component-wrapper> </div> <!-- by lang --> <ng-template ngFor let-item [ngForOf]="_getDataLangList()" let-i="index"> <div class="component-wrapper" [class.show]="_isSelectedLanguageByIndex(i)"> <phx-component-wrapper *ngIf="hasModel()" [type]="getModel().componentType" [model]="getModel().componentModel" [handler]="getComponentHandler()" [setting]="getComponentSetting(i)" [data]="item" [dataParent]="this" [options]="getModel().componentOptions"></phx-component-wrapper> </div> </ng-template> </div> </div> <div class="wrapper right" [class.hide]="!hasLanguage()"> <div class="lang-pane"> <div class="language-btn default data" [class.selected]="isSelectedLanguage(null)" [class.dirty]="_isDataDirtyByIndex(null)" (click)="onActionBtnClicked($event, null, null)"> <div class="table-wrapper fluid"> <div class="table-cell-wrapper middle"> Default </div> </div> </div> <div *ngFor="let item of getMergedLanguageList(); let i = index" class="language-btn" [class.data]="_langHasDataByIndex(i)" [class.dirty]="_isDataDirtyByIndex(i)" [class.selected]="isSelectedLanguage(item)" (click)="onActionBtnClicked($event, item, i)"> <div class="table-wrapper fluid"> <div class="table-cell-wrapper middle"> <div *ngIf="!_hasButtonIcon(item)">{{item.label}}</div> <div *ngIf="_hasButtonIcon(item)"> <img src="{{item.iconURL}}"> </div> </div> </div> </div> <div class="mocking-btn"></div> </div> </div> </div> ` },] }, ]; /** @nocollapse */ MaterialComponentDataLangSelector.ctorParameters = () => [ { type: ElementRef, }, { type: DialogService, }, ]; MaterialComponentDataLangSelector.propDecorators = { "model": [{ type: Input },], "controller": [{ type: Input },], "dataParent": [{ type: Input },], "ignoreParentData": [{ type: Input },], "data": [{ type: Input },], "ignoreParentDisabled": [{ type: Input },], "delegateHistory": [{ type: Input },], "onDisabled": [{ type: Input },], "onEnabled": [{ type: Input },], "loadingEnabled": [{ type: Input },], "i18nKey": [{ type: Input },], "bypass": [{ type: Input, args: ['i18nBypass',] },], "options": [{ type: Input },], "disabled": [{ type: Input },], "help": [{ type: Input },], "width": [{ type: Input },], "height": [{ type: Input },], "loadEvent": [{ type: Output, args: ['phxLoad',] },], "langClickEvent": [{ type: Output, args: ['phxLangClick',] },], "langAddEvent": [{ type: Output, args: ['phxLangAdd',] },], "langRemoveEvent": [{ type: Output, args: ['phxLangRemove',] },], }; tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", ComponentDataLangSelectorModel) ], MaterialComponentDataLangSelector.prototype, "model", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], MaterialComponentDataLangSelector.prototype, "controller", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], MaterialComponentDataLangSelector.prototype, "dataParent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialComponentDataLangSelector.prototype, "ignoreParentData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], MaterialComponentDataLangSelector.prototype, "data", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialComponentDataLangSelector.prototype, "ignoreParentDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialComponentDataLangSelector.prototype, "delegateHistory", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], MaterialComponentDataLangSelector.prototype, "onDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], MaterialComponentDataLangSelector.prototype, "onEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialComponentDataLangSelector.prototype, "loadingEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialComponentDataLangSelector.prototype, "i18nKey", void 0); tslib_1.__decorate([ Option('i18nBypass'), tslib_1.__metadata("design:type", Boolean) ], MaterialComponentDataLangSelector.prototype, "bypass", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialComponentDataLangSelector.prototype, "disabled", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", Object) ], MaterialComponentDataLangSelector.prototype, "help", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialComponentDataLangSelector.prototype, "width", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialComponentDataLangSelector.prototype, "height", void 0); tslib_1.__decorate([ Option('load'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDataLangSelector.prototype, "loadEvent", void 0); tslib_1.__decorate([ Option('langClick'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDataLangSelector.prototype, "langClickEvent", void 0); tslib_1.__decorate([ Option('langAdd'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDataLangSelector.prototype, "langAddEvent", void 0); tslib_1.__decorate([ Option('langRemove'), tslib_1.__metadata("design:type", EventEmitter) ], MaterialComponentDataLangSelector.prototype, "langRemoveEvent", void 0); function MaterialComponentDataLangSelector_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ MaterialComponentDataLangSelector.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ MaterialComponentDataLangSelector.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ MaterialComponentDataLangSelector.propDecorators; /** @type {?} */ MaterialComponentDataLangSelector.TYPE_NAME; /** @type {?} */ MaterialComponentDataLangSelector.prototype.model; /** @type {?} */ MaterialComponentDataLangSelector.prototype.controller; /** @type {?} */ MaterialComponentDataLangSelector.prototype.dataParent; /** @type {?} */ MaterialComponentDataLangSelector.prototype.ignoreParentData; /** @type {?} */ MaterialComponentDataLangSelector.prototype.data; /** @type {?} */ MaterialComponentDataLangSelector.prototype.ignoreParentDisabled; /** @type {?} */ MaterialComponentDataLangSelector.prototype.delegateHistory; /** @type {?} */ MaterialComponentDataLangSelector.prototype.onDisabled; /** @type {?} */ MaterialComponentDataLangSelector.prototype.onEnabled; /** @type {?} */ MaterialComponentDataLangSelector.prototype.loadingEnabled; /** @type {?} */ MaterialComponentDataLangSelector.prototype.i18nKey; /** @type {?} */ MaterialComponentDataLangSelector.prototype.bypass; /** @type {?} */ MaterialComponentDataLangSelector.prototype.options; /** @type {?} */ MaterialComponentDataLangSelector.prototype.disabled; /** @type {?} */ MaterialComponentDataLangSelector.prototype.help; /** @type {?} */ MaterialComponentDataLangSelector.prototype.width; /** @type {?} */ MaterialComponentDataLangSelector.prototype.height; /** @type {?} */ MaterialComponentDataLangSelector.prototype.loadEvent; /** @type {?} */ MaterialComponentDataLangSelector.prototype.langClickEvent; /** @type {?} */ MaterialComponentDataLangSelector.prototype.langAddEvent; /** @type {?} */ MaterialComponentDataLangSelector.prototype.langRemoveEvent; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxDb21wb25lbnREYXRhTGFuZ1NlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL3RoZW1lL21hdGVyaWFsL2NvbXBvbmVudC9NYXRlcmlhbENvbXBvbmVudERhdGFMYW5nU2VsZWN0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBMkIsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUluRyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXpELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBSXpHLHVCQUFNLFNBQVMsR0FBVyxrQ0FBa0MsQ0FBQztBQW9EN0QsTUFBTSx3Q0FBeUMsU0FBUSx5QkFBeUI7Ozs7O0lBNEU5RSxZQUFZLFVBQXNCLEVBQUUsYUFBNEI7UUFDOUQsS0FBSyxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztLQUNsQzs7OztJQUVNLFFBQVE7UUFDYixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7Ozs4Q0EvRXdCLFNBQVM7O1lBcERyRCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUNuQixRQUFRLEVBQUUsU0FBUztnQkFDbkIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E2Q1g7YUFDQTs7OztZQWpFMkIsVUFBVTtZQUM3QixhQUFhOzs7c0JBdUVuQixLQUFLOzJCQUdMLEtBQUs7MkJBR0wsS0FBSztpQ0FHTCxLQUFLO3FCQUdMLEtBQUs7cUNBR0wsS0FBSztnQ0FHTCxLQUFLOzJCQUdMLEtBQUs7MEJBR0wsS0FBSzsrQkFHTCxLQUFLO3dCQUdMLEtBQUs7dUJBR0wsS0FBSyxTQUFDLFlBQVk7d0JBR2xCLEtBQUs7eUJBRUwsS0FBSztxQkFJTCxLQUFLO3NCQUtMLEtBQUs7dUJBR0wsS0FBSzswQkFNTCxNQUFNLFNBQUMsU0FBUzsrQkFJaEIsTUFBTSxTQUFDLGNBQWM7NkJBR3JCLE1BQU0sU0FBQyxZQUFZO2dDQUduQixNQUFNLFNBQUMsZUFBZTs7O0lBakV0QixNQUFNLEVBQUU7c0NBQ1EsOEJBQThCOzs7SUFFOUMsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFO3NDQUNhLFFBQVE7OztJQUU3QixNQUFNLEVBQUU7c0NBQ1ksUUFBUTs7O0lBRTVCLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sQ0FBQyxZQUFZLENBQUM7Ozs7SUFLcEIsTUFBTSxFQUFFOzs7O0lBSVIsSUFBSSxFQUFFO0lBQ04sTUFBTSxFQUFFOzs7O0lBSVIsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBTVIsTUFBTSxDQUFDLE1BQU0sQ0FBQztzQ0FDTSxZQUFZOzs7SUFHaEMsTUFBTSxDQUFDLFdBQVcsQ0FBQztzQ0FDTSxZQUFZOzs7SUFFckMsTUFBTSxDQUFDLFNBQVMsQ0FBQztzQ0FDTSxZQUFZOzs7SUFFbkMsTUFBTSxDQUFDLFlBQVksQ0FBQztzQ0FDTSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEVsZW1lbnRSZWYsIElucHV0LCBPdXRwdXQsIEhvc3RMaXN0ZW5lciwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL0RpYWxvZ1NlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQaGxveEFwcEluZm8gfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnQvbW9kZWwvUGhsb3hBcHBJbmZvJztcbmltcG9ydCB7IENvbXBvbmVudERhdGFMYW5nU2VsZWN0b3IgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnQvQ29tcG9uZW50RGF0YUxhbmdTZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUhhc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50L0lIYXNNb2RlbCc7XG5pbXBvcnQgeyBJSGFzSGVscCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudC9JSGFzSGVscCc7XG5pbXBvcnQgeyBJSGFzRGF0YSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudC9JSGFzRGF0YSc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi8uLi8uLi9kZWNvcmF0b3IvT3B0aW9uLmRlY29yYXRvcic7XG5pbXBvcnQgeyBJMThOIH0gZnJvbSAnLi4vLi4vLi4vZGVjb3JhdG9yL0kxOE4uZGVjb3JhdG9yJztcbmltcG9ydCB7IElEYXRhTGFuZ1NlbGVjdG9yQ29udHJvbGxlciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudC9JRGF0YUxhbmdTZWxlY3RvckNvbnRyb2xsZXInO1xuaW1wb3J0IHsgQ29tcG9uZW50RGF0YUxhbmdTZWxlY3Rvck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50L21vZGVsL0NvbXBvbmVudERhdGFMYW5nU2VsZWN0b3JNb2RlbCc7XG5cbmRlY2xhcmUgdmFyICQ6IGFueTtcblxuY29uc3QgVFlQRV9OQU1FOiBzdHJpbmcgPSBcIm1hdGVyaWFsLWNvbXBvbmVudC1sYW5nLXNlbGVjdG9yXCI7XG5cbkBDb21wb25lbnQoe1xuICBtb2R1bGVJZDogbW9kdWxlLmlkLFxuICBzZWxlY3RvcjogVFlQRV9OQU1FLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJtYXRlcmlhbC1jb21wb25lbnQtbGFuZy1zZWxlY3RvciBkaXNhYmxlZC1vdmVybGF5XCIgW3N0eWxlLndpZHRoXT1cImdldFdpZHRoKClcIiBbc3R5bGUuaGVpZ2h0XT1cImdldEhlaWdodCgpXCI+XG5cdDxkaXYgY2xhc3M9XCJ3cmFwcGVyIGxlZnRcIiBbY2xhc3MuZXhwYW5kXT1cIiFoYXNMYW5ndWFnZSgpXCI+XG5cdFx0PGRpdiBjbGFzcz1cImNvbXBvbmVudC1wYW5lXCI+XG5cdFx0XHQ8IS0tIGRlZmF1bHQgLS0+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29tcG9uZW50LXdyYXBwZXJcIiBbY2xhc3Muc2hvd109XCJfaXNTZWxlY3RlZExhbmd1YWdlQnlJbmRleChudWxsKVwiPlxuXHRcdFx0XHQ8cGh4LWNvbXBvbmVudC13cmFwcGVyICpuZ0lmPVwiaGFzTW9kZWwoKVwiIFt0eXBlXT1cImdldE1vZGVsKCkuY29tcG9uZW50VHlwZVwiIFttb2RlbF09XCJnZXRNb2RlbCgpLmNvbXBvbmVudE1vZGVsXCJcblx0XHRcdFx0XHRbaGFuZGxlcl09XCJnZXREZWZhdWx0Q29tcG9uZW50SGFuZGxlcigpXCIgW2RhdGFdPVwiX2dldERlZmF1bHREYXRhKClcIiBbZGF0YVBhcmVudF09XCJ0aGlzXCJcblx0XHRcdFx0XHRbb3B0aW9uc109XCJnZXRNb2RlbCgpLmNvbXBvbmVudE9wdGlvbnNcIj48L3BoeC1jb21wb25lbnQtd3JhcHBlcj5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PCEtLSBieSBsYW5nIC0tPlxuXHRcdFx0PG5nLXRlbXBsYXRlIG5nRm9yIGxldC1pdGVtIFtuZ0Zvck9mXT1cIl9nZXREYXRhTGFuZ0xpc3QoKVwiIGxldC1pPVwiaW5kZXhcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbXBvbmVudC13cmFwcGVyXCIgW2NsYXNzLnNob3ddPVwiX2lzU2VsZWN0ZWRMYW5ndWFnZUJ5SW5kZXgoaSlcIj5cblx0XHRcdFx0XHQ8cGh4LWNvbXBvbmVudC13cmFwcGVyICpuZ0lmPVwiaGFzTW9kZWwoKVwiIFt0eXBlXT1cImdldE1vZGVsKCkuY29tcG9uZW50VHlwZVwiIFttb2RlbF09XCJnZXRNb2RlbCgpLmNvbXBvbmVudE1vZGVsXCJcblx0XHRcdFx0XHRcdFtoYW5kbGVyXT1cImdldENvbXBvbmVudEhhbmRsZXIoKVwiIFtzZXR0aW5nXT1cImdldENvbXBvbmVudFNldHRpbmcoaSlcIiBbZGF0YV09XCJpdGVtXCIgW2RhdGFQYXJlbnRdPVwidGhpc1wiXG5cdFx0XHRcdFx0XHRbb3B0aW9uc109XCJnZXRNb2RlbCgpLmNvbXBvbmVudE9wdGlvbnNcIj48L3BoeC1jb21wb25lbnQtd3JhcHBlcj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cblx0PGRpdiBjbGFzcz1cIndyYXBwZXIgcmlnaHRcIiBbY2xhc3MuaGlkZV09XCIhaGFzTGFuZ3VhZ2UoKVwiPlxuXHRcdDxkaXYgY2xhc3M9XCJsYW5nLXBhbmVcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJsYW5ndWFnZS1idG4gZGVmYXVsdCBkYXRhXCIgW2NsYXNzLnNlbGVjdGVkXT1cImlzU2VsZWN0ZWRMYW5ndWFnZShudWxsKVwiIFtjbGFzcy5kaXJ0eV09XCJfaXNEYXRhRGlydHlCeUluZGV4KG51bGwpXCJcblx0XHRcdFx0KGNsaWNrKT1cIm9uQWN0aW9uQnRuQ2xpY2tlZCgkZXZlbnQsIG51bGwsIG51bGwpXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJsZS13cmFwcGVyIGZsdWlkXCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLWNlbGwtd3JhcHBlciBtaWRkbGVcIj5cblx0XHRcdFx0XHRcdERlZmF1bHRcblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0TWVyZ2VkTGFuZ3VhZ2VMaXN0KCk7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImxhbmd1YWdlLWJ0blwiIFtjbGFzcy5kYXRhXT1cIl9sYW5nSGFzRGF0YUJ5SW5kZXgoaSlcIlxuXHRcdFx0XHRbY2xhc3MuZGlydHldPVwiX2lzRGF0YURpcnR5QnlJbmRleChpKVwiXG5cdFx0XHRcdFtjbGFzcy5zZWxlY3RlZF09XCJpc1NlbGVjdGVkTGFuZ3VhZ2UoaXRlbSlcIiAoY2xpY2spPVwib25BY3Rpb25CdG5DbGlja2VkKCRldmVudCwgaXRlbSwgaSlcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLXdyYXBwZXIgZmx1aWRcIj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGFibGUtY2VsbC13cmFwcGVyIG1pZGRsZVwiPlxuXHRcdFx0XHRcdFx0PGRpdiAqbmdJZj1cIiFfaGFzQnV0dG9uSWNvbihpdGVtKVwiPnt7aXRlbS5sYWJlbH19PC9kaXY+XG5cdFx0XHRcdFx0XHQ8ZGl2ICpuZ0lmPVwiX2hhc0J1dHRvbkljb24oaXRlbSlcIj5cblx0XHRcdFx0XHRcdFx0PGltZyBzcmM9XCJ7e2l0ZW0uaWNvblVSTH19XCI+XG5cdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJtb2NraW5nLWJ0blwiPjwvZGl2PlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cbjwvZGl2PlxuYFxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbENvbXBvbmVudERhdGFMYW5nU2VsZWN0b3IgZXh0ZW5kcyBDb21wb25lbnREYXRhTGFuZ1NlbGVjdG9yIGltcGxlbWVudHMgT25Jbml0LCBJSGFzSGVscCB7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUWVBFX05BTUU6IHN0cmluZyA9IFRZUEVfTkFNRTtcblxuICAvLyBSZS1kZWNsYXJlIGZpZWxkIHRvIGRlY2xhcmUgbmcgQElucHV0LlxuICAvLyAtLS0gZnJvbSBBYnN0cmFjdEhhc0RhdGFcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBtb2RlbDogQ29tcG9uZW50RGF0YUxhbmdTZWxlY3Rvck1vZGVsO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGNvbnRyb2xsZXI6IElEYXRhTGFuZ1NlbGVjdG9yQ29udHJvbGxlcjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBkYXRhUGFyZW50OiBJSGFzRGF0YTtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpZ25vcmVQYXJlbnREYXRhOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGRhdGE6IGFueTtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpZ25vcmVQYXJlbnREaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBkZWxlZ2F0ZUhpc3Rvcnk6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgb25EaXNhYmxlZDogRnVuY3Rpb247XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgb25FbmFibGVkOiBGdW5jdGlvbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBsb2FkaW5nRW5hYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpMThuS2V5OiBzdHJpbmc7XG4gIEBJbnB1dCgnaTE4bkJ5cGFzcycpXG4gIEBPcHRpb24oJ2kxOG5CeXBhc3MnKVxuICBwcm90ZWN0ZWQgYnlwYXNzOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBwcm90ZWN0ZWQgb3B0aW9uczogYW55O1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGRpc2FibGVkOiBib29sZWFuO1xuICAvLyAtLS0gZnJvbSBBYnN0cmFjdEhhc0RhdGFIZWxwXG4gIEBJbnB1dCgpXG4gIEBJMThOKClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBoZWxwOiBhbnk7XG4gIC8vIC0tLSBmcm9tIENvbXBvbmVudERhdGFMYW5nU2VsZWN0b3JcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCB3aWR0aDogc3RyaW5nO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGhlaWdodDogc3RyaW5nO1xuXG4gIC8vIFJlLWRlY2xhcmUgZmllbGQgdG8gZGVjbGFyZSBuZyBAT3V0cHV0LlxuICAvLyAtLS0gZnJvbSBBYnN0cmFjdEhhc0RhdGFcbiAgQE91dHB1dCgncGh4TG9hZCcpXG4gIEBPcHRpb24oJ2xvYWQnKVxuICBwcm90ZWN0ZWQgbG9hZEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgLy8gLS0tIGZyb20gQWJzdHJhY3REYXRhTGFuZ1NlbGVjdG9yXG4gIEBPdXRwdXQoJ3BoeExhbmdDbGljaycpXG4gIEBPcHRpb24oJ2xhbmdDbGljaycpXG4gIHByb3RlY3RlZCBsYW5nQ2xpY2tFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG4gIEBPdXRwdXQoJ3BoeExhbmdBZGQnKVxuICBAT3B0aW9uKCdsYW5nQWRkJylcbiAgcHJvdGVjdGVkIGxhbmdBZGRFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG4gIEBPdXRwdXQoJ3BoeExhbmdSZW1vdmUnKVxuICBAT3B0aW9uKCdsYW5nUmVtb3ZlJylcbiAgcHJvdGVjdGVkIGxhbmdSZW1vdmVFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGRpYWxvZ1NlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cblxufVxuIl19