com.phloxui
Version:
PhloxUI Ng2+ Framework
321 lines (320 loc) • 20.7 kB
JavaScript
/**
* @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';
var /** @type {?} */ TYPE_NAME = "phx-switch";
var ToggleSwitch = /** @class */ (function (_super) {
tslib_1.__extends(ToggleSwitch, _super);
function ToggleSwitch(elementRef, needFocusService) {
return _super.call(this, elementRef, needFocusService) || this;
}
/**
* @return {?}
*/
ToggleSwitch.prototype.ngOnInit = /**
* @return {?}
*/
function () {
_super.prototype.ngOnInit.call(this);
};
/**
* @return {?}
*/
ToggleSwitch.prototype.getChecked = /**
* @return {?}
*/
function () {
if (this.isToggle()) {
return 'checked';
}
return '';
};
/**
* @param {?} $event
* @return {?}
*/
ToggleSwitch.prototype.onFocusing = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
this.needFocusService.setFocusingComponent(this, $event);
};
/**
* @param {?} $event
* @return {?}
*/
ToggleSwitch.prototype.onLostFocusing = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
this.needFocusService.resetFocusingComponent($event);
};
/**
* @param {?} inputValue
* @param {?} results
* @return {?}
*/
ToggleSwitch.prototype.onValidationEnd = /**
* @param {?} inputValue
* @param {?} results
* @return {?}
*/
function (inputValue, results) {
};
/**
* @param {?} data
* @param {?} inputVal
* @return {?}
*/
ToggleSwitch.prototype.onDataChange = /**
* @param {?} data
* @param {?} inputVal
* @return {?}
*/
function (data, inputVal) {
};
/**
* @param {?} $event
* @return {?}
*/
ToggleSwitch.prototype.doFocus = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
if ($(this.elementRef.nativeElement).find('button.fake:focus').length > 0) {
$(this.elementRef.nativeElement).find('button.fake').focus();
}
};
/**
* @param {?} $event
* @return {?}
*/
ToggleSwitch.prototype.doLostFocus = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
if ($(this.elementRef.nativeElement).find('button.fake:focus').length > 0) {
$(this.elementRef.nativeElement).find('button.fake').blur();
}
};
ToggleSwitch.TYPE_NAME = TYPE_NAME;
ToggleSwitch.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: "<div class=\"phx-switch\">\n\t<button type=\"button\" class=\"fake\" (focusin)=\"onFocusing($event)\" (blur)=\"onLostFocusing($event)\"></button>\n\t<input type=\"checkbox\" class=\"toggle\" [checked]=\"getChecked()\" [disabled]=\"isDisabled()\">\n\t<label for=\"toggle\" (click)=\"toggle($event)\"></label>\n</div>\n"
},] },
];
/** @nocollapse */
ToggleSwitch.ctorParameters = function () { return [
{ type: ElementRef, },
{ type: NeedFocusService, },
]; };
ToggleSwitch.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 },],
"loadEvent": [{ type: Output, args: ['phxLoad',] },],
"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)
], ToggleSwitch.prototype, "dataParent", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], ToggleSwitch.prototype, "ignoreParentData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], ToggleSwitch.prototype, "data", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], ToggleSwitch.prototype, "ignoreParentDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], ToggleSwitch.prototype, "delegateHistory", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], ToggleSwitch.prototype, "onDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], ToggleSwitch.prototype, "onEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], ToggleSwitch.prototype, "loadingEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], ToggleSwitch.prototype, "i18nKey", void 0);
tslib_1.__decorate([
Option('i18nBypass'),
tslib_1.__metadata("design:type", Boolean)
], ToggleSwitch.prototype, "bypass", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], ToggleSwitch.prototype, "disabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], ToggleSwitch.prototype, "field", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], ToggleSwitch.prototype, "name", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], ToggleSwitch.prototype, "typeOfData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], ToggleSwitch.prototype, "readOnly", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", Object)
], ToggleSwitch.prototype, "help", void 0);
tslib_1.__decorate([
Option('load'),
tslib_1.__metadata("design:type", EventEmitter)
], ToggleSwitch.prototype, "loadEvent", void 0);
tslib_1.__decorate([
Option('startValidate'),
tslib_1.__metadata("design:type", EventEmitter)
], ToggleSwitch.prototype, "startValidateEvent", void 0);
tslib_1.__decorate([
Option('endValidate'),
tslib_1.__metadata("design:type", EventEmitter)
], ToggleSwitch.prototype, "endValidateEvent", void 0);
tslib_1.__decorate([
Option('beforeFocus'),
tslib_1.__metadata("design:type", EventEmitter)
], ToggleSwitch.prototype, "beforeFocusEvent", void 0);
tslib_1.__decorate([
Option('focus'),
tslib_1.__metadata("design:type", EventEmitter)
], ToggleSwitch.prototype, "focusEvent", void 0);
tslib_1.__decorate([
Option('beforeLostFocus'),
tslib_1.__metadata("design:type", EventEmitter)
], ToggleSwitch.prototype, "beforeLostFocusEvent", void 0);
tslib_1.__decorate([
Option('lostFocus'),
tslib_1.__metadata("design:type", EventEmitter)
], ToggleSwitch.prototype, "lostFocusEvent", void 0);
tslib_1.__decorate([
Option('beforeChange'),
tslib_1.__metadata("design:type", EventEmitter)
], ToggleSwitch.prototype, "beforeChangeEvent", void 0);
tslib_1.__decorate([
Option('change'),
tslib_1.__metadata("design:type", EventEmitter)
], ToggleSwitch.prototype, "changeEvent", void 0);
return ToggleSwitch;
}(AbstractToggle));
export { ToggleSwitch };
function ToggleSwitch_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
ToggleSwitch.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
ToggleSwitch.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
ToggleSwitch.propDecorators;
/** @type {?} */
ToggleSwitch.TYPE_NAME;
/** @type {?} */
ToggleSwitch.prototype.dataParent;
/** @type {?} */
ToggleSwitch.prototype.ignoreParentData;
/** @type {?} */
ToggleSwitch.prototype.data;
/** @type {?} */
ToggleSwitch.prototype.ignoreParentDisabled;
/** @type {?} */
ToggleSwitch.prototype.delegateHistory;
/** @type {?} */
ToggleSwitch.prototype.onDisabled;
/** @type {?} */
ToggleSwitch.prototype.onEnabled;
/** @type {?} */
ToggleSwitch.prototype.loadingEnabled;
/** @type {?} */
ToggleSwitch.prototype.i18nKey;
/** @type {?} */
ToggleSwitch.prototype.bypass;
/** @type {?} */
ToggleSwitch.prototype.options;
/** @type {?} */
ToggleSwitch.prototype.disabled;
/** @type {?} */
ToggleSwitch.prototype.field;
/** @type {?} */
ToggleSwitch.prototype.name;
/** @type {?} */
ToggleSwitch.prototype.typeOfData;
/** @type {?} */
ToggleSwitch.prototype.readOnly;
/** @type {?} */
ToggleSwitch.prototype.help;
/** @type {?} */
ToggleSwitch.prototype.loadEvent;
/** @type {?} */
ToggleSwitch.prototype.startValidateEvent;
/** @type {?} */
ToggleSwitch.prototype.endValidateEvent;
/** @type {?} */
ToggleSwitch.prototype.beforeFocusEvent;
/** @type {?} */
ToggleSwitch.prototype.focusEvent;
/** @type {?} */
ToggleSwitch.prototype.beforeLostFocusEvent;
/** @type {?} */
ToggleSwitch.prototype.lostFocusEvent;
/** @type {?} */
ToggleSwitch.prototype.beforeChangeEvent;
/** @type {?} */
ToggleSwitch.prototype.changeEvent;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9nZ2xlU3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudC9kYXRhdmlldy9pbnB1dC9Ub2dnbGVTd2l0Y2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFN0UscUJBQU0sU0FBUyxHQUFXLFlBQVksQ0FBQzs7SUFZTCx3Q0FBYztJQTRGOUMsc0JBQVksVUFBc0IsRUFBRSxnQkFBa0M7ZUFDcEUsa0JBQU0sVUFBVSxFQUFFLGdCQUFnQixDQUFDO0tBQ3BDOzs7O0lBRU0sK0JBQVE7Ozs7UUFDYixpQkFBTSxRQUFRLFdBQUUsQ0FBQzs7Ozs7SUFHWixpQ0FBVTs7OztRQUNmLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEIsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUNsQjtRQUNELE1BQU0sQ0FBQyxFQUFFLENBQUM7Ozs7OztJQUdMLGlDQUFVOzs7O2NBQUMsTUFBYTtRQUM3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDOzs7Ozs7SUFHcEQscUNBQWM7Ozs7Y0FBQyxNQUFhO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQzs7Ozs7OztJQUc3QyxzQ0FBZTs7Ozs7SUFBekIsVUFBMEIsVUFBZSxFQUFFLE9BQTJCO0tBQ3JFOzs7Ozs7SUFFUyxtQ0FBWTs7Ozs7SUFBdEIsVUFBdUIsSUFBUyxFQUFFLFFBQWE7S0FDOUM7Ozs7O0lBRVMsOEJBQU87Ozs7SUFBakIsVUFBa0IsTUFBYTtRQUM3QixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDOUQ7S0FDRjs7Ozs7SUFFUyxrQ0FBVzs7OztJQUFyQixVQUFzQixNQUFhO1FBQ2pDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUM3RDtLQUNGOzZCQWpJMEMsU0FBUzs7Z0JBWnJELFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUU7b0JBQ25CLFFBQVEsRUFBRSxTQUFTO29CQUNuQixRQUFRLEVBQUUsK1RBS1g7aUJBQ0E7Ozs7Z0JBbkJ3RCxVQUFVO2dCQU0xRCxnQkFBZ0I7OzsrQkFvQnRCLEtBQUs7cUNBR0wsS0FBSzt5QkFHTCxLQUFLO3lDQUdMLEtBQUs7b0NBR0wsS0FBSzsrQkFHTCxLQUFLOzhCQUdMLEtBQUs7bUNBR0wsS0FBSzs0QkFHTCxLQUFLOzJCQUdMLEtBQUssU0FBQyxZQUFZOzRCQUdsQixLQUFLOzZCQUVMLEtBQUs7MEJBSUwsS0FBSzt5QkFJTCxLQUFLOytCQUdMLEtBQUs7NkJBR0wsS0FBSzt5QkFHTCxLQUFLOzhCQU9MLE1BQU0sU0FBQyxTQUFTO3VDQUtoQixNQUFNLFNBQUMsa0JBQWtCO3FDQUd6QixNQUFNLFNBQUMsZ0JBQWdCO3FDQUd2QixNQUFNLFNBQUMsZ0JBQWdCOytCQUd2QixNQUFNLFNBQUMsVUFBVTt5Q0FHakIsTUFBTSxTQUFDLG9CQUFvQjttQ0FHM0IsTUFBTSxTQUFDLGNBQWM7c0NBR3JCLE1BQU0sU0FBQyxpQkFBaUI7Z0NBR3hCLE1BQU0sU0FBQyxXQUFXOzs7UUFqRmxCLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTswQ0FDYSxRQUFROzs7UUFFN0IsTUFBTSxFQUFFOzBDQUNZLFFBQVE7OztRQUU1QixNQUFNLEVBQUU7Ozs7UUFHUixNQUFNLEVBQUU7Ozs7UUFHUixNQUFNLENBQUMsWUFBWSxDQUFDOzs7O1FBS3BCLE1BQU0sRUFBRTs7OztRQUlSLE1BQU0sRUFBRTs7OztRQUlSLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTs7OztRQUdSLElBQUksRUFBRTtRQUNOLE1BQU0sRUFBRTs7OztRQU1SLE1BQU0sQ0FBQyxNQUFNLENBQUM7MENBQ00sWUFBWTs7O1FBSWhDLE1BQU0sQ0FBQyxlQUFlLENBQUM7MENBQ00sWUFBWTs7O1FBRXpDLE1BQU0sQ0FBQyxhQUFhLENBQUM7MENBQ00sWUFBWTs7O1FBRXZDLE1BQU0sQ0FBQyxhQUFhLENBQUM7MENBQ00sWUFBWTs7O1FBRXZDLE1BQU0sQ0FBQyxPQUFPLENBQUM7MENBQ00sWUFBWTs7O1FBRWpDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQzswQ0FDTSxZQUFZOzs7UUFFM0MsTUFBTSxDQUFDLFdBQVcsQ0FBQzswQ0FDTSxZQUFZOzs7UUFFckMsTUFBTSxDQUFDLGNBQWMsQ0FBQzswQ0FDTSxZQUFZOzs7UUFFeEMsTUFBTSxDQUFDLFFBQVEsQ0FBQzswQ0FDTSxZQUFZOzt1QkE5R3JDO0VBb0JrQyxjQUFjO1NBQW5DLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFRvZ2dsZSB9IGZyb20gJy4vQWJzdHJhY3RUb2dnbGUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvblJlc3VsdCB9IGZyb20gJy4uLy4uL21vZGVsL1ZhbGlkYXRpb25SZXN1bHQnO1xuaW1wb3J0IHsgSUhhc0RhdGEgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL2RlY29yYXRvci9PcHRpb24uZGVjb3JhdG9yJztcbmltcG9ydCB7IEkxOE4gfSBmcm9tICcuLi8uLi8uLi9kZWNvcmF0b3IvSTE4Ti5kZWNvcmF0b3InO1xuaW1wb3J0IHsgTmVlZEZvY3VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvTmVlZEZvY3VzU2VydmljZS5zZXJ2aWNlJztcblxuY29uc3QgVFlQRV9OQU1FOiBzdHJpbmcgPSBcInBoeC1zd2l0Y2hcIjtcblxuQENvbXBvbmVudCh7XG4gIG1vZHVsZUlkOiBtb2R1bGUuaWQsXG4gIHNlbGVjdG9yOiBUWVBFX05BTUUsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cInBoeC1zd2l0Y2hcIj5cblx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmYWtlXCIgKGZvY3VzaW4pPVwib25Gb2N1c2luZygkZXZlbnQpXCIgKGJsdXIpPVwib25Mb3N0Rm9jdXNpbmcoJGV2ZW50KVwiPjwvYnV0dG9uPlxuXHQ8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJ0b2dnbGVcIiBbY2hlY2tlZF09XCJnZXRDaGVja2VkKClcIiBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCI+XG5cdDxsYWJlbCBmb3I9XCJ0b2dnbGVcIiAoY2xpY2spPVwidG9nZ2xlKCRldmVudClcIj48L2xhYmVsPlxuPC9kaXY+XG5gXG59KVxuZXhwb3J0IGNsYXNzIFRvZ2dsZVN3aXRjaCBleHRlbmRzIEFic3RyYWN0VG9nZ2xlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRZUEVfTkFNRTogc3RyaW5nID0gVFlQRV9OQU1FO1xuXG4gIC8vIFJlLWRlY2xhcmUgZmllbGQgdG8gZGVjbGFyZSBuZyBASW5wdXQuXG4gIC8vIC0tLSBmcm9tIEFic3RyYWN0SGFzRGF0YVxuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGRhdGFQYXJlbnQ6IElIYXNEYXRhO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGlnbm9yZVBhcmVudERhdGE6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgZGF0YTogYW55O1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGlnbm9yZVBhcmVudERpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGRlbGVnYXRlSGlzdG9yeTogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBvbkRpc2FibGVkOiBGdW5jdGlvbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBvbkVuYWJsZWQ6IEZ1bmN0aW9uO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGxvYWRpbmdFbmFibGVkOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGkxOG5LZXk6IHN0cmluZztcbiAgQElucHV0KCdpMThuQnlwYXNzJylcbiAgQE9wdGlvbignaTE4bkJ5cGFzcycpXG4gIHByb3RlY3RlZCBieXBhc3M6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIHByb3RlY3RlZCBvcHRpb25zOiBhbnk7XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIC8vIC0tLSBmcm9tIEFic3RyYWN0RGF0YVZpZXdcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBmaWVsZDogc3RyaW5nO1xuICAvLyAtLS0gZnJvbSBBYnN0cmFjdElucHV0RGF0YVZpZXdcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgdHlwZU9mRGF0YTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIHJlYWRPbmx5OiBib29sZWFuO1xuICBASW5wdXQoKVxuICBASTE4TigpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgaGVscDogYW55O1xuXG4gIC8vIFJlLWRlY2xhcmUgZmllbGQgdG8gZGVjbGFyZSBuZyBAT3V0cHV0LlxuICAvLyAtLS0gZnJvbSBBYnN0cmFjdEhhc0RhdGFcbiAgQE91dHB1dCgncGh4TG9hZCcpXG4gIEBPcHRpb24oJ2xvYWQnKVxuICBwcm90ZWN0ZWQgbG9hZEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgLy8gLS0tIGZyb20gQWJzdHJhY3REYXRhVmlld1xuICAvLyAtLS0gZnJvbSBBYnN0cmFjdElucHV0RGF0YVZpZXdcbiAgQE91dHB1dCgncGh4U3RhcnRWYWxpZGF0ZScpXG4gIEBPcHRpb24oJ3N0YXJ0VmFsaWRhdGUnKVxuICBwcm90ZWN0ZWQgc3RhcnRWYWxpZGF0ZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgQE91dHB1dCgncGh4RW5kVmFsaWRhdGUnKVxuICBAT3B0aW9uKCdlbmRWYWxpZGF0ZScpXG4gIHByb3RlY3RlZCBlbmRWYWxpZGF0ZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgQE91dHB1dCgncGh4QmVmb3JlRm9jdXMnKVxuICBAT3B0aW9uKCdiZWZvcmVGb2N1cycpXG4gIHByb3RlY3RlZCBiZWZvcmVGb2N1c0V2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgQE91dHB1dCgncGh4Rm9jdXMnKVxuICBAT3B0aW9uKCdmb2N1cycpXG4gIHByb3RlY3RlZCBmb2N1c0V2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgQE91dHB1dCgncGh4QmVmb3JlTG9zdEZvY3VzJylcbiAgQE9wdGlvbignYmVmb3JlTG9zdEZvY3VzJylcbiAgcHJvdGVjdGVkIGJlZm9yZUxvc3RGb2N1c0V2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgQE91dHB1dCgncGh4TG9zdEZvY3VzJylcbiAgQE9wdGlvbignbG9zdEZvY3VzJylcbiAgcHJvdGVjdGVkIGxvc3RGb2N1c0V2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgQE91dHB1dCgncGh4QmVmb3JlQ2hhbmdlJylcbiAgQE9wdGlvbignYmVmb3JlQ2hhbmdlJylcbiAgcHJvdGVjdGVkIGJlZm9yZUNoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgQE91dHB1dCgncGh4Q2hhbmdlJylcbiAgQE9wdGlvbignY2hhbmdlJylcbiAgcHJvdGVjdGVkIGNoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBuZWVkRm9jdXNTZXJ2aWNlOiBOZWVkRm9jdXNTZXJ2aWNlKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZiwgbmVlZEZvY3VzU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDaGVja2VkKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNUb2dnbGUoKSkge1xuICAgICAgcmV0dXJuICdjaGVja2VkJztcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHVibGljIG9uRm9jdXNpbmcoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMubmVlZEZvY3VzU2VydmljZS5zZXRGb2N1c2luZ0NvbXBvbmVudCh0aGlzLCAkZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uTG9zdEZvY3VzaW5nKCRldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm5lZWRGb2N1c1NlcnZpY2UucmVzZXRGb2N1c2luZ0NvbXBvbmVudCgkZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uVmFsaWRhdGlvbkVuZChpbnB1dFZhbHVlOiBhbnksIHJlc3VsdHM6IFZhbGlkYXRpb25SZXN1bHRbXSk6IHZvaWQge1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRGF0YUNoYW5nZShkYXRhOiBhbnksIGlucHV0VmFsOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIHByb3RlY3RlZCBkb0ZvY3VzKCRldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoJCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkuZmluZCgnYnV0dG9uLmZha2U6Zm9jdXMnKS5sZW5ndGggPiAwKSB7XG4gICAgICAkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5maW5kKCdidXR0b24uZmFrZScpLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGRvTG9zdEZvY3VzKCRldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoJCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkuZmluZCgnYnV0dG9uLmZha2U6Zm9jdXMnKS5sZW5ndGggPiAwKSB7XG4gICAgICAkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5maW5kKCdidXR0b24uZmFrZScpLmJsdXIoKTtcbiAgICB9XG4gIH1cblxufVxuIl19