UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

282 lines (281 loc) 18.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, Input, Output, EventEmitter, ElementRef } from '@angular/core'; import { AbstractToggle } from './AbstractToggle'; import { Option } from '../../../decorator/Option.decorator'; import { I18N } from '../../../decorator/I18N.decorator'; import { NeedFocusService } from '../../../service/NeedFocusService.service'; const /** @type {?} */ TYPE_NAME = "phx-checkbox"; const /** @type {?} */ DEFAULT_FIELD = "label"; export class CheckBox extends AbstractToggle { /** * @param {?} elementRef * @param {?} needFocusService */ constructor(elementRef, needFocusService) { super(elementRef, needFocusService); } /** * @return {?} */ ngOnInit() { super.ngOnInit(); } /** * @param {?} $event * @return {?} */ onFocusing($event) { this.needFocusService.setFocusingComponent(this, $event); } /** * @param {?} $event * @return {?} */ onLostFocusing($event) { this.needFocusService.resetFocusingComponent($event); } /** * @param {?} inputValue * @param {?} results * @return {?} */ onValidationEnd(inputValue, results) { } /** * @param {?} data * @param {?} inputVal * @return {?} */ onDataChange(data, inputVal) { } /** * @param {?} $event * @return {?} */ doFocus($event) { if ($(this.elementRef.nativeElement).find('button.fake:focus').length > 0) { $(this.elementRef.nativeElement).find('button.fake').focus(); } } /** * @param {?} $event * @return {?} */ doLostFocus($event) { if ($(this.elementRef.nativeElement).find('button.fake:focus').length > 0) { $(this.elementRef.nativeElement).find('button.fake').blur(); } } } CheckBox.TYPE_NAME = TYPE_NAME; CheckBox.DEFAULT_FIELD = DEFAULT_FIELD; CheckBox.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: `<div class="phx-checkbox"> <button type="button" class="fake" (focusin)="onFocusing($event)" (blur)="onLostFocusing($event)"></button> <input type="checkbox" [readonly]="isReadOnly()" [checked]="isToggle()" [disabled]="isDisabled()"> <label (click)="toggle()"></label> </div>` },] }, ]; /** @nocollapse */ CheckBox.ctorParameters = () => [ { type: ElementRef, }, { type: NeedFocusService, }, ]; CheckBox.propDecorators = { "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 },], "field": [{ type: Input },], "name": [{ type: Input },], "typeOfData": [{ type: Input },], "readOnly": [{ type: Input },], "help": [{ type: Input },], "startValidateEvent": [{ type: Output, args: ['phxStartValidate',] },], "endValidateEvent": [{ type: Output, args: ['phxEndValidate',] },], "beforeFocusEvent": [{ type: Output, args: ['phxBeforeFocus',] },], "focusEvent": [{ type: Output, args: ['phxFocus',] },], "beforeLostFocusEvent": [{ type: Output, args: ['phxBeforeLostFocus',] },], "lostFocusEvent": [{ type: Output, args: ['phxLostFocus',] },], "beforeChangeEvent": [{ type: Output, args: ['phxBeforeChange',] },], "changeEvent": [{ type: Output, args: ['phxChange',] },], }; tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], CheckBox.prototype, "dataParent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], CheckBox.prototype, "ignoreParentData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], CheckBox.prototype, "data", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], CheckBox.prototype, "ignoreParentDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], CheckBox.prototype, "delegateHistory", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], CheckBox.prototype, "onDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], CheckBox.prototype, "onEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], CheckBox.prototype, "loadingEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], CheckBox.prototype, "i18nKey", void 0); tslib_1.__decorate([ Option('i18nBypass'), tslib_1.__metadata("design:type", Boolean) ], CheckBox.prototype, "bypass", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], CheckBox.prototype, "disabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], CheckBox.prototype, "field", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], CheckBox.prototype, "name", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], CheckBox.prototype, "typeOfData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], CheckBox.prototype, "readOnly", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", Object) ], CheckBox.prototype, "help", void 0); tslib_1.__decorate([ Option('startValidate'), tslib_1.__metadata("design:type", EventEmitter) ], CheckBox.prototype, "startValidateEvent", void 0); tslib_1.__decorate([ Option('endValidate'), tslib_1.__metadata("design:type", EventEmitter) ], CheckBox.prototype, "endValidateEvent", void 0); tslib_1.__decorate([ Option('beforeFocus'), tslib_1.__metadata("design:type", EventEmitter) ], CheckBox.prototype, "beforeFocusEvent", void 0); tslib_1.__decorate([ Option('focus'), tslib_1.__metadata("design:type", EventEmitter) ], CheckBox.prototype, "focusEvent", void 0); tslib_1.__decorate([ Option('beforeLostFocus'), tslib_1.__metadata("design:type", EventEmitter) ], CheckBox.prototype, "beforeLostFocusEvent", void 0); tslib_1.__decorate([ Option('lostFocus'), tslib_1.__metadata("design:type", EventEmitter) ], CheckBox.prototype, "lostFocusEvent", void 0); tslib_1.__decorate([ Option('beforeChange'), tslib_1.__metadata("design:type", EventEmitter) ], CheckBox.prototype, "beforeChangeEvent", void 0); tslib_1.__decorate([ Option('change'), tslib_1.__metadata("design:type", EventEmitter) ], CheckBox.prototype, "changeEvent", void 0); function CheckBox_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ CheckBox.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ CheckBox.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ CheckBox.propDecorators; /** @type {?} */ CheckBox.TYPE_NAME; /** @type {?} */ CheckBox.DEFAULT_FIELD; /** @type {?} */ CheckBox.prototype.dataParent; /** @type {?} */ CheckBox.prototype.ignoreParentData; /** @type {?} */ CheckBox.prototype.data; /** @type {?} */ CheckBox.prototype.ignoreParentDisabled; /** @type {?} */ CheckBox.prototype.delegateHistory; /** @type {?} */ CheckBox.prototype.onDisabled; /** @type {?} */ CheckBox.prototype.onEnabled; /** @type {?} */ CheckBox.prototype.loadingEnabled; /** @type {?} */ CheckBox.prototype.i18nKey; /** @type {?} */ CheckBox.prototype.bypass; /** @type {?} */ CheckBox.prototype.options; /** @type {?} */ CheckBox.prototype.disabled; /** @type {?} */ CheckBox.prototype.field; /** @type {?} */ CheckBox.prototype.name; /** @type {?} */ CheckBox.prototype.typeOfData; /** @type {?} */ CheckBox.prototype.readOnly; /** @type {?} */ CheckBox.prototype.help; /** @type {?} */ CheckBox.prototype.startValidateEvent; /** @type {?} */ CheckBox.prototype.endValidateEvent; /** @type {?} */ CheckBox.prototype.beforeFocusEvent; /** @type {?} */ CheckBox.prototype.focusEvent; /** @type {?} */ CheckBox.prototype.beforeLostFocusEvent; /** @type {?} */ CheckBox.prototype.lostFocusEvent; /** @type {?} */ CheckBox.prototype.beforeChangeEvent; /** @type {?} */ CheckBox.prototype.changeEvent; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hlY2tCb3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L2RhdGF2aWV3L2lucHV0L0NoZWNrQm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTdFLHVCQUFNLFNBQVMsR0FBVyxjQUFjLENBQUM7QUFFekMsdUJBQU0sYUFBYSxHQUFXLE9BQU8sQ0FBQztBQVd0QyxNQUFNLGVBQWdCLFNBQVEsY0FBYzs7Ozs7SUF3RjFDLFlBQVksVUFBc0IsRUFBRSxnQkFBa0M7UUFDcEUsS0FBSyxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0tBQ3JDOzs7O0lBRU0sUUFBUTtRQUNiLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQzs7Ozs7O0lBR1osVUFBVSxDQUFDLE1BQWE7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQzs7Ozs7O0lBR3BELGNBQWMsQ0FBQyxNQUFhO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQzs7Ozs7OztJQUc3QyxlQUFlLENBQUMsVUFBZSxFQUFFLE9BQTJCO0tBQ3JFOzs7Ozs7SUFFUyxZQUFZLENBQUMsSUFBUyxFQUFFLFFBQWE7S0FDOUM7Ozs7O0lBRVMsT0FBTyxDQUFDLE1BQWE7UUFDN0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzlEO0tBQ0Y7Ozs7O0lBRVMsV0FBVyxDQUFDLE1BQWE7UUFDakMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzdEO0tBQ0Y7O3FCQXRIMEMsU0FBUzt5QkFFTCxhQUFhOztZQWI3RCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUNuQixRQUFRLEVBQUUsU0FBUztnQkFDbkIsUUFBUSxFQUFFOzs7O09BSUw7YUFDTjs7OztZQXBCd0QsVUFBVTtZQU0xRCxnQkFBZ0I7OzsyQkF1QnRCLEtBQUs7aUNBR0wsS0FBSztxQkFHTCxLQUFLO3FDQUdMLEtBQUs7Z0NBR0wsS0FBSzsyQkFHTCxLQUFLOzBCQUdMLEtBQUs7K0JBR0wsS0FBSzt3QkFHTCxLQUFLO3VCQUdMLEtBQUssU0FBQyxZQUFZO3dCQUdsQixLQUFLO3lCQUVMLEtBQUs7c0JBSUwsS0FBSztxQkFJTCxLQUFLOzJCQUdMLEtBQUs7eUJBR0wsS0FBSztxQkFHTCxLQUFLO21DQU1MLE1BQU0sU0FBQyxrQkFBa0I7aUNBR3pCLE1BQU0sU0FBQyxnQkFBZ0I7aUNBR3ZCLE1BQU0sU0FBQyxnQkFBZ0I7MkJBR3ZCLE1BQU0sU0FBQyxVQUFVO3FDQUdqQixNQUFNLFNBQUMsb0JBQW9COytCQUczQixNQUFNLFNBQUMsY0FBYztrQ0FHckIsTUFBTSxTQUFDLGlCQUFpQjs0QkFHeEIsTUFBTSxTQUFDLFdBQVc7OztJQTNFbEIsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFO3NDQUNhLFFBQVE7OztJQUU3QixNQUFNLEVBQUU7c0NBQ1ksUUFBUTs7O0lBRTVCLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sQ0FBQyxZQUFZLENBQUM7Ozs7SUFLcEIsTUFBTSxFQUFFOzs7O0lBSVIsTUFBTSxFQUFFOzs7O0lBSVIsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsSUFBSSxFQUFFO0lBQ04sTUFBTSxFQUFFOzs7O0lBS1IsTUFBTSxDQUFDLGVBQWUsQ0FBQztzQ0FDTSxZQUFZOzs7SUFFekMsTUFBTSxDQUFDLGFBQWEsQ0FBQztzQ0FDTSxZQUFZOzs7SUFFdkMsTUFBTSxDQUFDLGFBQWEsQ0FBQztzQ0FDTSxZQUFZOzs7SUFFdkMsTUFBTSxDQUFDLE9BQU8sQ0FBQztzQ0FDTSxZQUFZOzs7SUFFakMsTUFBTSxDQUFDLGlCQUFpQixDQUFDO3NDQUNNLFlBQVk7OztJQUUzQyxNQUFNLENBQUMsV0FBVyxDQUFDO3NDQUNNLFlBQVk7OztJQUVyQyxNQUFNLENBQUMsY0FBYyxDQUFDO3NDQUNNLFlBQVk7OztJQUV4QyxNQUFNLENBQUMsUUFBUSxDQUFDO3NDQUNNLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFRvZ2dsZSB9IGZyb20gJy4vQWJzdHJhY3RUb2dnbGUnO1xuaW1wb3J0IHsgSUhhc0RhdGEgfSBmcm9tICcuLi8uLi9JSGFzRGF0YSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uUmVzdWx0IH0gZnJvbSAnLi4vLi4vbW9kZWwvVmFsaWRhdGlvblJlc3VsdCc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi8uLi8uLi9kZWNvcmF0b3IvT3B0aW9uLmRlY29yYXRvcic7XG5pbXBvcnQgeyBJMThOIH0gZnJvbSAnLi4vLi4vLi4vZGVjb3JhdG9yL0kxOE4uZGVjb3JhdG9yJztcbmltcG9ydCB7IE5lZWRGb2N1c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL05lZWRGb2N1c1NlcnZpY2Uuc2VydmljZSc7XG5cbmNvbnN0IFRZUEVfTkFNRTogc3RyaW5nID0gXCJwaHgtY2hlY2tib3hcIjtcblxuY29uc3QgREVGQVVMVF9GSUVMRDogc3RyaW5nID0gXCJsYWJlbFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgbW9kdWxlSWQ6IG1vZHVsZS5pZCxcbiAgc2VsZWN0b3I6IFRZUEVfTkFNRSxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwicGh4LWNoZWNrYm94XCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZmFrZVwiIChmb2N1c2luKT1cIm9uRm9jdXNpbmcoJGV2ZW50KVwiIChibHVyKT1cIm9uTG9zdEZvY3VzaW5nKCRldmVudClcIj48L2J1dHRvbj5cbiAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtyZWFkb25seV09XCJpc1JlYWRPbmx5KClcIiBbY2hlY2tlZF09XCJpc1RvZ2dsZSgpXCIgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWQoKVwiPlxuICA8bGFiZWwgKGNsaWNrKT1cInRvZ2dsZSgpXCI+PC9sYWJlbD5cbjwvZGl2PmBcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tCb3ggZXh0ZW5kcyBBYnN0cmFjdFRvZ2dsZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUWVBFX05BTUU6IHN0cmluZyA9IFRZUEVfTkFNRTtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfRklFTEQ6IHN0cmluZyA9IERFRkFVTFRfRklFTEQ7XG5cbiAgLy8gUmUtZGVjbGFyZSBmaWVsZCB0byBkZWNsYXJlIG5nIEBJbnB1dC5cbiAgLy8gLS0tIGZyb20gQWJzdHJhY3RIYXNEYXRhXG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgZGF0YVBhcmVudDogSUhhc0RhdGE7XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgaWdub3JlUGFyZW50RGF0YTogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBkYXRhOiBhbnk7XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgaWdub3JlUGFyZW50RGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgZGVsZWdhdGVIaXN0b3J5OiBib29sZWFuO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIG9uRGlzYWJsZWQ6IEZ1bmN0aW9uO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIG9uRW5hYmxlZDogRnVuY3Rpb247XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgbG9hZGluZ0VuYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgaTE4bktleTogc3RyaW5nO1xuICBASW5wdXQoJ2kxOG5CeXBhc3MnKVxuICBAT3B0aW9uKCdpMThuQnlwYXNzJylcbiAgcHJvdGVjdGVkIGJ5cGFzczogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgcHJvdGVjdGVkIG9wdGlvbnM6IGFueTtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBkaXNhYmxlZDogYm9vbGVhbjtcbiAgLy8gLS0tIGZyb20gQWJzdHJhY3REYXRhVmlld1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGZpZWxkOiBzdHJpbmc7XG4gIC8vIC0tLSBmcm9tIEFic3RyYWN0SW5wdXREYXRhVmlld1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIG5hbWU6IHN0cmluZztcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCB0eXBlT2ZEYXRhOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgcmVhZE9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIEBJMThOKClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBoZWxwOiBhbnk7XG5cbiAgLy8gLS0tIGZyb20gQWJzdHJhY3RJbnB1dERhdGFWaWV3XG4gIEBPdXRwdXQoJ3BoeFN0YXJ0VmFsaWRhdGUnKVxuICBAT3B0aW9uKCdzdGFydFZhbGlkYXRlJylcbiAgcHJvdGVjdGVkIHN0YXJ0VmFsaWRhdGVFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG4gIEBPdXRwdXQoJ3BoeEVuZFZhbGlkYXRlJylcbiAgQE9wdGlvbignZW5kVmFsaWRhdGUnKVxuICBwcm90ZWN0ZWQgZW5kVmFsaWRhdGVFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG4gIEBPdXRwdXQoJ3BoeEJlZm9yZUZvY3VzJylcbiAgQE9wdGlvbignYmVmb3JlRm9jdXMnKVxuICBwcm90ZWN0ZWQgYmVmb3JlRm9jdXNFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG4gIEBPdXRwdXQoJ3BoeEZvY3VzJylcbiAgQE9wdGlvbignZm9jdXMnKVxuICBwcm90ZWN0ZWQgZm9jdXNFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG4gIEBPdXRwdXQoJ3BoeEJlZm9yZUxvc3RGb2N1cycpXG4gIEBPcHRpb24oJ2JlZm9yZUxvc3RGb2N1cycpXG4gIHByb3RlY3RlZCBiZWZvcmVMb3N0Rm9jdXNFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG4gIEBPdXRwdXQoJ3BoeExvc3RGb2N1cycpXG4gIEBPcHRpb24oJ2xvc3RGb2N1cycpXG4gIHByb3RlY3RlZCBsb3N0Rm9jdXNFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG4gIEBPdXRwdXQoJ3BoeEJlZm9yZUNoYW5nZScpXG4gIEBPcHRpb24oJ2JlZm9yZUNoYW5nZScpXG4gIHByb3RlY3RlZCBiZWZvcmVDaGFuZ2VFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG4gIEBPdXRwdXQoJ3BoeENoYW5nZScpXG4gIEBPcHRpb24oJ2NoYW5nZScpXG4gIHByb3RlY3RlZCBjaGFuZ2VFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgbmVlZEZvY3VzU2VydmljZTogTmVlZEZvY3VzU2VydmljZSkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYsIG5lZWRGb2N1c1NlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cblxuICBwdWJsaWMgb25Gb2N1c2luZygkZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5uZWVkRm9jdXNTZXJ2aWNlLnNldEZvY3VzaW5nQ29tcG9uZW50KHRoaXMsICRldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25Mb3N0Rm9jdXNpbmcoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMubmVlZEZvY3VzU2VydmljZS5yZXNldEZvY3VzaW5nQ29tcG9uZW50KCRldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25WYWxpZGF0aW9uRW5kKGlucHV0VmFsdWU6IGFueSwgcmVzdWx0czogVmFsaWRhdGlvblJlc3VsdFtdKTogdm9pZCB7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25EYXRhQ2hhbmdlKGRhdGE6IGFueSwgaW5wdXRWYWw6IGFueSk6IHZvaWQge1xuICB9XG5cbiAgcHJvdGVjdGVkIGRvRm9jdXMoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICgkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5maW5kKCdidXR0b24uZmFrZTpmb2N1cycpLmxlbmd0aCA+IDApIHtcbiAgICAgICQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLmZpbmQoJ2J1dHRvbi5mYWtlJykuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZG9Mb3N0Rm9jdXMoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICgkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5maW5kKCdidXR0b24uZmFrZTpmb2N1cycpLmxlbmd0aCA+IDApIHtcbiAgICAgICQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLmZpbmQoJ2J1dHRvbi5mYWtlJykuYmx1cigpO1xuICAgIH1cbiAgfVxufVxuIl19