UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

202 lines (201 loc) 15.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, ElementRef, Input, EventEmitter } from '@angular/core'; import { WizardModel } from './model/WizardModel'; import { PhloxAppService } from '../service/PhloxAppService.service'; import { AbstractWizardPane } from './AbstractWizardPane'; import { Option } from '../decorator/Option.decorator'; const /** @type {?} */ TYPE_NAME = "phx-pagination-wizard-pane"; export class PaginationWizardPane extends AbstractWizardPane { /** * @param {?} appSvc * @param {?} elementRef */ constructor(appSvc, elementRef) { super(appSvc, elementRef); } /** * @return {?} */ ngOnInit() { super.ngOnInit(); } /** * @param {?} index * @return {?} */ showStepContent(index) { } /** * @param {?} index * @return {?} */ getStepInstance(index) { } } PaginationWizardPane.TYPE_NAME = TYPE_NAME; PaginationWizardPane.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: `<div class="phx-pagination-wizard-pane"> <div class="left" [style.padding-top]="getHeaderHeight() + 'pt'" [style.padding-bottom]="getFooterHeight() + 'pt'"> <div class="header" [style.height]="getHeaderHeight() + 'pt'"> <ng-template [ngIf]="getModel() !== null && getModel().header !== null"> <ng-template [ngIf]="getModel().header.type === null"> <div *ngIf="getModel().header.imageURL !== null && getModel().header.imageURL !== ''" class="header-image"> <img src="{{getModel().header.imageURL}}"> </div> <div class="header-label">{{getModel().header.label}}</div> </ng-template> <ng-template [ngIf]="getModel().header.type !== null"> <phx-component-wrapper [type]="getModel().header.type" [data]="getModel().header.model"></phx-component-wrapper> </ng-template> </ng-template> </div> <div class="body"> <ng-template [ngIf]="getModel() !== null && getModel().steps !== null"> <div *ngFor="let item of getModel().steps; let i = index;" class="step" [class.active]="isStepSelected(i)" > <ng-template [ngIf]="item.type === null"> <div (click)="stepSelected(i)"> {{item.label}} </div> </ng-template> <ng-template [ngIf]="item.type !== null"> <phx-component-wrapper [type]="item.type" [data]="item.model" (click)="stepSelected(i)"></phx-component-wrapper> </ng-template> </div> </ng-template> </div> <div class="footer" [style.height]="getFooterHeight() + 'pt'"> <ng-template [ngIf]="getModel() !== null && getModel().footer !== null"> <ng-template [ngIf]="getModel().footer.type === null"> {{getModel().footer.label}} </ng-template> <ng-template [ngIf]="getModel().footer.type !== null"> <phx-component-wrapper [type]="getModel().footer.type" [data]="getModel().footer.model"></phx-component-wrapper> </ng-template> </ng-template> </div> </div> <div class="right"> <ng-template [ngIf]="getModel() !== null && getModel().steps !== null"> <!-- <phx-component-wrapper *ngFor="let item of model.steps; let i = index;" [class.active]="isStepSelected(i)" [type]="item.componentType" [data]="data" [model]="item.componentModel" [dataParent]="this" [handler]="stepsComponentHandler"></phx-component-wrapper> --> <phx-component-wrapper *ngFor="let item of getModel().steps; let i = index;" [class.active]="isStepSelected(i)" [type]="item.componentType" [data]="getData()" [model]="item.componentModel" [dataParent]="this"></phx-component-wrapper> </ng-template> </div> </div> ` },] }, ]; /** @nocollapse */ PaginationWizardPane.ctorParameters = () => [ { type: PhloxAppService, }, { type: ElementRef, }, ]; PaginationWizardPane.propDecorators = { "model": [{ 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 },], }; tslib_1.__decorate([ Option('change'), tslib_1.__metadata("design:type", EventEmitter) ], PaginationWizardPane.prototype, "changeEvent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], PaginationWizardPane.prototype, "dataParent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], PaginationWizardPane.prototype, "ignoreParentData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], PaginationWizardPane.prototype, "data", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], PaginationWizardPane.prototype, "ignoreParentDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], PaginationWizardPane.prototype, "delegateHistory", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], PaginationWizardPane.prototype, "onDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], PaginationWizardPane.prototype, "onEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], PaginationWizardPane.prototype, "loadingEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], PaginationWizardPane.prototype, "i18nKey", void 0); tslib_1.__decorate([ Option('i18nBypass'), tslib_1.__metadata("design:type", Boolean) ], PaginationWizardPane.prototype, "bypass", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], PaginationWizardPane.prototype, "disabled", void 0); function PaginationWizardPane_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ PaginationWizardPane.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ PaginationWizardPane.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ PaginationWizardPane.propDecorators; /** @type {?} */ PaginationWizardPane.TYPE_NAME; /** @type {?} */ PaginationWizardPane.prototype.model; /** @type {?} */ PaginationWizardPane.prototype.changeEvent; /** @type {?} */ PaginationWizardPane.prototype.dataParent; /** @type {?} */ PaginationWizardPane.prototype.ignoreParentData; /** @type {?} */ PaginationWizardPane.prototype.data; /** @type {?} */ PaginationWizardPane.prototype.ignoreParentDisabled; /** @type {?} */ PaginationWizardPane.prototype.delegateHistory; /** @type {?} */ PaginationWizardPane.prototype.onDisabled; /** @type {?} */ PaginationWizardPane.prototype.onEnabled; /** @type {?} */ PaginationWizardPane.prototype.loadingEnabled; /** @type {?} */ PaginationWizardPane.prototype.i18nKey; /** @type {?} */ PaginationWizardPane.prototype.bypass; /** @type {?} */ PaginationWizardPane.prototype.options; /** @type {?} */ PaginationWizardPane.prototype.disabled; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnaW5hdGlvbldpemFyZFBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L1BhZ2luYXRpb25XaXphcmRQYW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsVUFBVSxFQUFFLEtBQUssRUFBYSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUlyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJdkQsdUJBQU0sU0FBUyxHQUFXLDRCQUE0QixDQUFDO0FBc0R2RCxNQUFNLDJCQUE0QixTQUFRLGtCQUFrQjs7Ozs7SUE4QzFELFlBQVksTUFBdUIsRUFBRSxVQUFzQjtRQUN6RCxLQUFLLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0tBQzNCOzs7O0lBRU0sUUFBUTtRQUNiLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQzs7Ozs7O0lBR1osZUFBZSxDQUFDLEtBQWE7Ozs7O0lBRTdCLGVBQWUsQ0FBQyxLQUFhOztpQ0F0RE8sU0FBUzs7WUF0RHJELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUU7Z0JBQ25CLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBK0NYO2FBQ0E7Ozs7WUEvRFEsZUFBZTtZQUZJLFVBQVU7OztzQkFzRW5DLEtBQUs7MkJBTUwsS0FBSztpQ0FHTCxLQUFLO3FCQUdMLEtBQUs7cUNBR0wsS0FBSztnQ0FHTCxLQUFLOzJCQUdMLEtBQUs7MEJBR0wsS0FBSzsrQkFHTCxLQUFLO3dCQUdMLEtBQUs7dUJBR0wsS0FBSyxTQUFDLFlBQVk7d0JBR2xCLEtBQUs7eUJBRUwsS0FBSzs7O0lBcENMLE1BQU0sQ0FBQyxRQUFRLENBQUM7c0NBQ00sWUFBWTs7O0lBSWxDLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTtzQ0FDYSxRQUFROzs7SUFFN0IsTUFBTSxFQUFFO3NDQUNZLFFBQVE7OztJQUU1QixNQUFNLEVBQUU7Ozs7SUFHUixNQUFNLEVBQUU7Ozs7SUFHUixNQUFNLENBQUMsWUFBWSxDQUFDOzs7O0lBS3BCLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdpemFyZE1vZGVsIH0gZnJvbSAnLi9tb2RlbC9XaXphcmRNb2RlbCc7XG5pbXBvcnQgeyBQaGxveEFwcFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL1BobG94QXBwU2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IElIYXNNb2RlbCB9IGZyb20gJy4vSUhhc01vZGVsJztcbmltcG9ydCB7IElIYXNEYXRhIH0gZnJvbSAnLi9JSGFzRGF0YSc7XG5pbXBvcnQgeyBQaGxveEFwcCB9IGZyb20gJy4vUGhsb3hBcHAuY29tcG9uZW50JztcbmltcG9ydCB7IEFic3RyYWN0V2l6YXJkUGFuZSB9IGZyb20gJy4vQWJzdHJhY3RXaXphcmRQYW5lJztcbmltcG9ydCB7IElDaGFuZ2VhYmxlIH0gZnJvbSAnLi9JQ2hhbmdlYWJsZSc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi9kZWNvcmF0b3IvT3B0aW9uLmRlY29yYXRvcic7XG5cbmRlY2xhcmUgdmFyICQ6IGFueTtcblxuY29uc3QgVFlQRV9OQU1FOiBzdHJpbmcgPSBcInBoeC1wYWdpbmF0aW9uLXdpemFyZC1wYW5lXCI7XG5cbkBDb21wb25lbnQoe1xuICBtb2R1bGVJZDogbW9kdWxlLmlkLFxuICBzZWxlY3RvcjogVFlQRV9OQU1FLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJwaHgtcGFnaW5hdGlvbi13aXphcmQtcGFuZVwiPlxuXHQ8ZGl2IGNsYXNzPVwibGVmdFwiIFtzdHlsZS5wYWRkaW5nLXRvcF09XCJnZXRIZWFkZXJIZWlnaHQoKSArICdwdCdcIiBbc3R5bGUucGFkZGluZy1ib3R0b21dPVwiZ2V0Rm9vdGVySGVpZ2h0KCkgKyAncHQnXCI+XG5cdFx0PGRpdiBjbGFzcz1cImhlYWRlclwiIFtzdHlsZS5oZWlnaHRdPVwiZ2V0SGVhZGVySGVpZ2h0KCkgKyAncHQnXCI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgW25nSWZdPVwiZ2V0TW9kZWwoKSAhPT0gbnVsbCAmJiBnZXRNb2RlbCgpLmhlYWRlciAhPT0gbnVsbFwiPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgW25nSWZdPVwiZ2V0TW9kZWwoKS5oZWFkZXIudHlwZSA9PT0gbnVsbFwiPlxuXHRcdFx0XHRcdDxkaXYgKm5nSWY9XCJnZXRNb2RlbCgpLmhlYWRlci5pbWFnZVVSTCAhPT0gbnVsbCAmJiBnZXRNb2RlbCgpLmhlYWRlci5pbWFnZVVSTCAhPT0gJydcIiBjbGFzcz1cImhlYWRlci1pbWFnZVwiPlxuXHRcdFx0XHRcdFx0PGltZyBzcmM9XCJ7e2dldE1vZGVsKCkuaGVhZGVyLmltYWdlVVJMfX1cIj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaGVhZGVyLWxhYmVsXCI+e3tnZXRNb2RlbCgpLmhlYWRlci5sYWJlbH19PC9kaXY+XG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJnZXRNb2RlbCgpLmhlYWRlci50eXBlICE9PSBudWxsXCI+XG5cdFx0XHRcdFx0PHBoeC1jb21wb25lbnQtd3JhcHBlciBbdHlwZV09XCJnZXRNb2RlbCgpLmhlYWRlci50eXBlXCIgW2RhdGFdPVwiZ2V0TW9kZWwoKS5oZWFkZXIubW9kZWxcIj48L3BoeC1jb21wb25lbnQtd3JhcHBlcj5cblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cImJvZHlcIj5cblx0XHRcdDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJnZXRNb2RlbCgpICE9PSBudWxsICYmIGdldE1vZGVsKCkuc3RlcHMgIT09IG51bGxcIj5cblx0XHRcdFx0PGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRNb2RlbCgpLnN0ZXBzOyBsZXQgaSA9IGluZGV4O1wiIGNsYXNzPVwic3RlcFwiIFtjbGFzcy5hY3RpdmVdPVwiaXNTdGVwU2VsZWN0ZWQoaSlcIiA+XG5cdFx0XHRcdFx0PG5nLXRlbXBsYXRlIFtuZ0lmXT1cIml0ZW0udHlwZSA9PT0gbnVsbFwiPlxuXHRcdFx0XHRcdFx0PGRpdiAoY2xpY2spPVwic3RlcFNlbGVjdGVkKGkpXCI+IHt7aXRlbS5sYWJlbH19IDwvZGl2PlxuXHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdFx0PG5nLXRlbXBsYXRlIFtuZ0lmXT1cIml0ZW0udHlwZSAhPT0gbnVsbFwiPlxuXHRcdFx0XHRcdFx0PHBoeC1jb21wb25lbnQtd3JhcHBlciBbdHlwZV09XCJpdGVtLnR5cGVcIiBbZGF0YV09XCJpdGVtLm1vZGVsXCIgKGNsaWNrKT1cInN0ZXBTZWxlY3RlZChpKVwiPjwvcGh4LWNvbXBvbmVudC13cmFwcGVyPlxuXHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwiZm9vdGVyXCIgW3N0eWxlLmhlaWdodF09XCJnZXRGb290ZXJIZWlnaHQoKSArICdwdCdcIj5cblx0XHRcdDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJnZXRNb2RlbCgpICE9PSBudWxsICYmIGdldE1vZGVsKCkuZm9vdGVyICE9PSBudWxsXCI+XG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJnZXRNb2RlbCgpLmZvb3Rlci50eXBlID09PSBudWxsXCI+XG5cdFx0XHRcdFx0e3tnZXRNb2RlbCgpLmZvb3Rlci5sYWJlbH19XG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJnZXRNb2RlbCgpLmZvb3Rlci50eXBlICE9PSBudWxsXCI+XG5cdFx0XHRcdFx0PHBoeC1jb21wb25lbnQtd3JhcHBlciBbdHlwZV09XCJnZXRNb2RlbCgpLmZvb3Rlci50eXBlXCIgW2RhdGFdPVwiZ2V0TW9kZWwoKS5mb290ZXIubW9kZWxcIj48L3BoeC1jb21wb25lbnQtd3JhcHBlcj5cblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuXHQ8ZGl2IGNsYXNzPVwicmlnaHRcIj5cblx0XHQ8bmctdGVtcGxhdGUgW25nSWZdPVwiZ2V0TW9kZWwoKSAhPT0gbnVsbCAmJiBnZXRNb2RlbCgpLnN0ZXBzICE9PSBudWxsXCI+XG5cdFx0XHQ8IS0tIDxwaHgtY29tcG9uZW50LXdyYXBwZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWwuc3RlcHM7IGxldCBpID0gaW5kZXg7XCIgW2NsYXNzLmFjdGl2ZV09XCJpc1N0ZXBTZWxlY3RlZChpKVwiIFt0eXBlXT1cIml0ZW0uY29tcG9uZW50VHlwZVwiXG5cdFx0XHRcdFtkYXRhXT1cImRhdGFcIiBbbW9kZWxdPVwiaXRlbS5jb21wb25lbnRNb2RlbFwiIFtkYXRhUGFyZW50XT1cInRoaXNcIiBbaGFuZGxlcl09XCJzdGVwc0NvbXBvbmVudEhhbmRsZXJcIj48L3BoeC1jb21wb25lbnQtd3JhcHBlcj4gLS0+XG5cdFx0XHRcdDxwaHgtY29tcG9uZW50LXdyYXBwZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0TW9kZWwoKS5zdGVwczsgbGV0IGkgPSBpbmRleDtcIiBbY2xhc3MuYWN0aXZlXT1cImlzU3RlcFNlbGVjdGVkKGkpXCIgW3R5cGVdPVwiaXRlbS5jb21wb25lbnRUeXBlXCJcblx0XHRcdFx0XHRbZGF0YV09XCJnZXREYXRhKClcIiBbbW9kZWxdPVwiaXRlbS5jb21wb25lbnRNb2RlbFwiIFtkYXRhUGFyZW50XT1cInRoaXNcIj48L3BoeC1jb21wb25lbnQtd3JhcHBlcj5cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHQ8L2Rpdj5cbjwvZGl2PlxuYFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uV2l6YXJkUGFuZSBleHRlbmRzIEFic3RyYWN0V2l6YXJkUGFuZSBpbXBsZW1lbnRzIE9uSW5pdCwgSUhhc01vZGVsLCBJQ2hhbmdlYWJsZSB7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUWVBFX05BTUU6IHN0cmluZyA9IFRZUEVfTkFNRTtcblxuICBASW5wdXQoKVxuICBwcm90ZWN0ZWQgbW9kZWw6IFdpemFyZE1vZGVsO1xuICBAT3B0aW9uKCdjaGFuZ2UnKVxuICBwcm90ZWN0ZWQgY2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICAvLyBSZS1kZWNsYXJlIGZpZWxkIHRvIGRlY2xhcmUgbmcgQElucHV0LlxuICAvLyAtLS0gZnJvbSBBYnN0cmFjdEhhc0RhdGFcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBkYXRhUGFyZW50OiBJSGFzRGF0YTtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpZ25vcmVQYXJlbnREYXRhOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGRhdGE6IGFueTtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpZ25vcmVQYXJlbnREaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBkZWxlZ2F0ZUhpc3Rvcnk6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgb25EaXNhYmxlZDogRnVuY3Rpb247XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgb25FbmFibGVkOiBGdW5jdGlvbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBsb2FkaW5nRW5hYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpMThuS2V5OiBzdHJpbmc7XG4gIEBJbnB1dCgnaTE4bkJ5cGFzcycpXG4gIEBPcHRpb24oJ2kxOG5CeXBhc3MnKVxuICBwcm90ZWN0ZWQgYnlwYXNzOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBwcm90ZWN0ZWQgb3B0aW9uczogYW55O1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKGFwcFN2YzogUGhsb3hBcHBTZXJ2aWNlLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoYXBwU3ZjLCBlbGVtZW50UmVmKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbiAgcHVibGljIHNob3dTdGVwQ29udGVudChpbmRleDogbnVtYmVyKTogdm9pZCB7IH1cblxuICBwdWJsaWMgZ2V0U3RlcEluc3RhbmNlKGluZGV4OiBudW1iZXIpOiBhbnkgeyB9XG59XG4iXX0=