UNPKG

theme-lib

Version:

This is a simple example Angular Library published to npm.

350 lines 25.4 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, Output, } from '@angular/core'; import { NbDateService } from '../calendar-kit'; /** * @template D */ var NbCalendarRangeDayCellComponent = /** @class */ (function () { function NbCalendarRangeDayCellComponent(dateService) { this.dateService = dateService; this.select = new EventEmitter(true); } Object.defineProperty(NbCalendarRangeDayCellComponent.prototype, "inRange", { get: /** * @return {?} */ function () { return this.date && this.selectedValue && (this.selectedValue.start && this.dateService.compareDates(this.date, this.selectedValue.start) >= 0) && (this.selectedValue.end && this.dateService.compareDates(this.date, this.selectedValue.end) <= 0); }, enumerable: true, configurable: true }); Object.defineProperty(NbCalendarRangeDayCellComponent.prototype, "start", { get: /** * @return {?} */ function () { return this.date && this.selectedValue && this.selectedValue.end && (this.selectedValue.start && this.dateService.isSameDay(this.date, this.selectedValue.start)); }, enumerable: true, configurable: true }); Object.defineProperty(NbCalendarRangeDayCellComponent.prototype, "end", { get: /** * @return {?} */ function () { return this.date && this.selectedValue && (this.selectedValue.end && this.dateService.isSameDay(this.date, this.selectedValue.end)); }, enumerable: true, configurable: true }); Object.defineProperty(NbCalendarRangeDayCellComponent.prototype, "today", { get: /** * @return {?} */ function () { return this.date && this.dateService.isSameDay(this.date, this.dateService.today()); }, enumerable: true, configurable: true }); Object.defineProperty(NbCalendarRangeDayCellComponent.prototype, "boundingMonth", { get: /** * @return {?} */ function () { return !this.dateService.isSameMonthSafe(this.date, this.visibleDate); }, enumerable: true, configurable: true }); Object.defineProperty(NbCalendarRangeDayCellComponent.prototype, "selected", { get: /** * @return {?} */ function () { return this.date && this.selectedValue && (this.selectedValue.start && this.dateService.isSameDay(this.date, this.selectedValue.start)) || this.end; }, enumerable: true, configurable: true }); Object.defineProperty(NbCalendarRangeDayCellComponent.prototype, "empty", { get: /** * @return {?} */ function () { return !this.date; }, enumerable: true, configurable: true }); Object.defineProperty(NbCalendarRangeDayCellComponent.prototype, "disabled", { get: /** * @return {?} */ function () { return this.smallerThanMin() || this.greaterThanMax() || this.dontFitFilter(); }, enumerable: true, configurable: true }); Object.defineProperty(NbCalendarRangeDayCellComponent.prototype, "day", { get: /** * @return {?} */ function () { return this.date && this.dateService.getDate(this.date); }, enumerable: true, configurable: true }); /** * @return {?} */ NbCalendarRangeDayCellComponent.prototype.onClick = /** * @return {?} */ function () { if (this.disabled || this.empty) { return; } this.select.emit(this.date); }; /** * @private * @return {?} */ NbCalendarRangeDayCellComponent.prototype.smallerThanMin = /** * @private * @return {?} */ function () { return this.date && this.min && this.dateService.compareDates(this.date, this.min) < 0; }; /** * @private * @return {?} */ NbCalendarRangeDayCellComponent.prototype.greaterThanMax = /** * @private * @return {?} */ function () { return this.date && this.max && this.dateService.compareDates(this.date, this.max) > 0; }; /** * @private * @return {?} */ NbCalendarRangeDayCellComponent.prototype.dontFitFilter = /** * @private * @return {?} */ function () { return this.date && this.filter && !this.filter(this.date); }; NbCalendarRangeDayCellComponent.decorators = [ { type: Component, args: [{ selector: 'nb-calendar-range-day-cell', template: "\n <div\n class=\"day-cell\"\n [class.today]=\"today\"\n [class.selected]=\"selected\"\n [class.bounding-month]=\"boundingMonth\"\n [class.start]=\"start\"\n [class.end]=\"end\"\n [class.in-range]=\"inRange\"\n [class.disabled]=\"disabled\">\n {{ day }}\n </div>\n ", changeDetection: ChangeDetectionStrategy.OnPush, host: { '(click)': 'onClick()', 'class': 'range-cell' } }] } ]; /** @nocollapse */ NbCalendarRangeDayCellComponent.ctorParameters = function () { return [ { type: NbDateService } ]; }; NbCalendarRangeDayCellComponent.propDecorators = { date: [{ type: Input }], selectedValue: [{ type: Input }], visibleDate: [{ type: Input }], min: [{ type: Input }], max: [{ type: Input }], filter: [{ type: Input }], select: [{ type: Output }], inRange: [{ type: HostBinding, args: ['class.in-range',] }], start: [{ type: HostBinding, args: ['class.start',] }], end: [{ type: HostBinding, args: ['class.end',] }] }; return NbCalendarRangeDayCellComponent; }()); export { NbCalendarRangeDayCellComponent }; if (false) { /** @type {?} */ NbCalendarRangeDayCellComponent.prototype.date; /** @type {?} */ NbCalendarRangeDayCellComponent.prototype.selectedValue; /** @type {?} */ NbCalendarRangeDayCellComponent.prototype.visibleDate; /** @type {?} */ NbCalendarRangeDayCellComponent.prototype.min; /** @type {?} */ NbCalendarRangeDayCellComponent.prototype.max; /** @type {?} */ NbCalendarRangeDayCellComponent.prototype.filter; /** @type {?} */ NbCalendarRangeDayCellComponent.prototype.select; /** * @type {?} * @protected */ NbCalendarRangeDayCellComponent.prototype.dateService; } /** * @template D */ var NbCalendarRangeYearCellComponent = /** @class */ (function () { function NbCalendarRangeYearCellComponent(dateService) { this.dateService = dateService; this.select = new EventEmitter(true); } Object.defineProperty(NbCalendarRangeYearCellComponent.prototype, "selected", { get: /** * @return {?} */ function () { return this.selectedValue && this.dateService.isSameYear(this.date, this.selectedValue.start); }, enumerable: true, configurable: true }); Object.defineProperty(NbCalendarRangeYearCellComponent.prototype, "today", { get: /** * @return {?} */ function () { return this.date && this.dateService.isSameYear(this.date, this.dateService.today()); }, enumerable: true, configurable: true }); Object.defineProperty(NbCalendarRangeYearCellComponent.prototype, "disabled", { get: /** * @return {?} */ function () { return this.smallerThanMin() || this.greaterThanMax(); }, enumerable: true, configurable: true }); Object.defineProperty(NbCalendarRangeYearCellComponent.prototype, "year", { get: /** * @return {?} */ function () { return this.dateService.getYear(this.date); }, enumerable: true, configurable: true }); /** * @return {?} */ NbCalendarRangeYearCellComponent.prototype.onClick = /** * @return {?} */ function () { if (this.disabled) { return; } this.select.emit(this.date); }; /** * @private * @return {?} */ NbCalendarRangeYearCellComponent.prototype.smallerThanMin = /** * @private * @return {?} */ function () { return this.date && this.min && this.dateService.compareDates(this.yearEnd(), this.min) < 0; }; /** * @private * @return {?} */ NbCalendarRangeYearCellComponent.prototype.greaterThanMax = /** * @private * @return {?} */ function () { return this.date && this.max && this.dateService.compareDates(this.yearStart(), this.max) > 0; }; /** * @private * @return {?} */ NbCalendarRangeYearCellComponent.prototype.yearStart = /** * @private * @return {?} */ function () { return this.dateService.getYearStart(this.date); }; /** * @private * @return {?} */ NbCalendarRangeYearCellComponent.prototype.yearEnd = /** * @private * @return {?} */ function () { return this.dateService.getYearEnd(this.date); }; NbCalendarRangeYearCellComponent.decorators = [ { type: Component, args: [{ selector: 'nb-calendar-range-year-cell', template: "{{ year }}", changeDetection: ChangeDetectionStrategy.OnPush, host: { 'class': 'year-cell' } }] } ]; /** @nocollapse */ NbCalendarRangeYearCellComponent.ctorParameters = function () { return [ { type: NbDateService } ]; }; NbCalendarRangeYearCellComponent.propDecorators = { date: [{ type: Input }], min: [{ type: Input }], max: [{ type: Input }], selectedValue: [{ type: Input }], select: [{ type: Output }], selected: [{ type: HostBinding, args: ['class.selected',] }], today: [{ type: HostBinding, args: ['class.today',] }], disabled: [{ type: HostBinding, args: ['class.disabled',] }], onClick: [{ type: HostListener, args: ['click',] }] }; return NbCalendarRangeYearCellComponent; }()); export { NbCalendarRangeYearCellComponent }; if (false) { /** @type {?} */ NbCalendarRangeYearCellComponent.prototype.date; /** @type {?} */ NbCalendarRangeYearCellComponent.prototype.min; /** @type {?} */ NbCalendarRangeYearCellComponent.prototype.max; /** @type {?} */ NbCalendarRangeYearCellComponent.prototype.selectedValue; /** @type {?} */ NbCalendarRangeYearCellComponent.prototype.select; /** * @type {?} * @protected */ NbCalendarRangeYearCellComponent.prototype.dateService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItcmFuZ2UtY2VsbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aGVtZS1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci1yYW5nZS1jZWxscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWtCLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBSWhFO0lBaUNFLHlDQUFzQixXQUE2QjtRQUE3QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFGekMsV0FBTSxHQUFvQixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUczRCxDQUFDO0lBRUQsc0JBQW1DLG9EQUFPOzs7O1FBQTFDO1lBQ0UsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhO21CQUNqQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7bUJBQ3JHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3pHLENBQUM7OztPQUFBO0lBRUQsc0JBQWdDLGtEQUFLOzs7O1FBQXJDO1lBQ0UsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHO21C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LENBQUM7Ozs7O0lBRU8sa0RBQU87Ozs7SUFBZjtRQUNFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7O2dCQTNERixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFO2lCQUMvQjs7OztnQkEzR3dCLGFBQWE7Ozt1QkE2R25DLEtBQUs7c0JBRUwsS0FBSztzQkFFTCxLQUFLO2dDQUVMLEtBQUs7eUJBRUwsTUFBTTsyQkFLTixXQUFXLFNBQUMsZ0JBQWdCO3dCQUk1QixXQUFXLFNBQUMsYUFBYTsyQkFJekIsV0FBVyxTQUFDLGdCQUFnQjswQkFRNUIsWUFBWSxTQUFDLE9BQU87O0lBd0J2Qix1Q0FBQztDQUFBLEFBNURELElBNERDO1NBdERZLGdDQUFnQzs7O0lBQzNDLGdEQUFpQjs7SUFFakIsK0NBQWdCOztJQUVoQiwrQ0FBZ0I7O0lBRWhCLHlEQUEyQzs7SUFFM0Msa0RBQTJEOzs7OztJQUUvQyx1REFBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE5iQ2FsZW5kYXJDZWxsLCBOYkRhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY2FsZW5kYXIta2l0JztcclxuaW1wb3J0IHsgTmJDYWxlbmRhclJhbmdlIH0gZnJvbSAnLi9jYWxlbmRhci1yYW5nZS5jb21wb25lbnQnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmItY2FsZW5kYXItcmFuZ2UtZGF5LWNlbGwnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiZGF5LWNlbGxcIlxyXG4gICAgICBbY2xhc3MudG9kYXldPVwidG9kYXlcIlxyXG4gICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWRcIlxyXG4gICAgICBbY2xhc3MuYm91bmRpbmctbW9udGhdPVwiYm91bmRpbmdNb250aFwiXHJcbiAgICAgIFtjbGFzcy5zdGFydF09XCJzdGFydFwiXHJcbiAgICAgIFtjbGFzcy5lbmRdPVwiZW5kXCJcclxuICAgICAgW2NsYXNzLmluLXJhbmdlXT1cImluUmFuZ2VcIlxyXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgICAge3sgZGF5IH19XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGhvc3Q6IHsgJyhjbGljayknOiAnb25DbGljaygpJywgJ2NsYXNzJzogJ3JhbmdlLWNlbGwnIH0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYkNhbGVuZGFyUmFuZ2VEYXlDZWxsQ29tcG9uZW50PEQ+IGltcGxlbWVudHMgTmJDYWxlbmRhckNlbGw8RCwgTmJDYWxlbmRhclJhbmdlPEQ+PiB7XHJcbiAgQElucHV0KCkgZGF0ZTogRDtcclxuXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZTogTmJDYWxlbmRhclJhbmdlPEQ+O1xyXG5cclxuICBASW5wdXQoKSB2aXNpYmxlRGF0ZTogRDtcclxuXHJcbiAgQElucHV0KCkgbWluOiBEO1xyXG5cclxuICBASW5wdXQoKSBtYXg6IEQ7XHJcblxyXG4gIEBJbnB1dCgpIGZpbHRlcjogKEQpID0+IGJvb2xlYW47XHJcblxyXG4gIEBPdXRwdXQoKSBzZWxlY3Q6IEV2ZW50RW1pdHRlcjxEPiA9IG5ldyBFdmVudEVtaXR0ZXIodHJ1ZSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBkYXRlU2VydmljZTogTmJEYXRlU2VydmljZTxEPikge1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pbi1yYW5nZScpIGdldCBpblJhbmdlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0ZSAmJiB0aGlzLnNlbGVjdGVkVmFsdWVcclxuICAgICAgJiYgKHRoaXMuc2VsZWN0ZWRWYWx1ZS5zdGFydCAmJiB0aGlzLmRhdGVTZXJ2aWNlLmNvbXBhcmVEYXRlcyh0aGlzLmRhdGUsIHRoaXMuc2VsZWN0ZWRWYWx1ZS5zdGFydCkgPj0gMClcclxuICAgICAgJiYgKHRoaXMuc2VsZWN0ZWRWYWx1ZS5lbmQgJiYgdGhpcy5kYXRlU2VydmljZS5jb21wYXJlRGF0ZXModGhpcy5kYXRlLCB0aGlzLnNlbGVjdGVkVmFsdWUuZW5kKSA8PSAwKTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc3RhcnQnKSBnZXQgc3RhcnQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRlICYmIHRoaXMuc2VsZWN0ZWRWYWx1ZSAmJiB0aGlzLnNlbGVjdGVkVmFsdWUuZW5kXHJcbiAgICAgICYmICh0aGlzLnNlbGVjdGVkVmFsdWUuc3RhcnQgJiYgdGhpcy5kYXRlU2VydmljZS5pc1NhbWVEYXkodGhpcy5kYXRlLCB0aGlzLnNlbGVjdGVkVmFsdWUuc3RhcnQpKTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZW5kJykgZ2V0IGVuZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGUgJiYgdGhpcy5zZWxlY3RlZFZhbHVlICYmXHJcbiAgICAgICh0aGlzLnNlbGVjdGVkVmFsdWUuZW5kICYmIHRoaXMuZGF0ZVNlcnZpY2UuaXNTYW1lRGF5KHRoaXMuZGF0ZSwgdGhpcy5zZWxlY3RlZFZhbHVlLmVuZCkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRvZGF5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0ZSAmJiB0aGlzLmRhdGVTZXJ2aWNlLmlzU2FtZURheSh0aGlzLmRhdGUsIHRoaXMuZGF0ZVNlcnZpY2UudG9kYXkoKSk7XHJcbiAgfVxyXG5cclxuICBnZXQgYm91bmRpbmdNb250aCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdGhpcy5kYXRlU2VydmljZS5pc1NhbWVNb250aFNhZmUodGhpcy5kYXRlLCB0aGlzLnZpc2libGVEYXRlKTtcclxuICB9XHJcblxyXG4gIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGUgJiYgdGhpcy5zZWxlY3RlZFZhbHVlXHJcbiAgICAgICYmICh0aGlzLnNlbGVjdGVkVmFsdWUuc3RhcnQgJiYgdGhpcy5kYXRlU2VydmljZS5pc1NhbWVEYXkodGhpcy5kYXRlLCB0aGlzLnNlbGVjdGVkVmFsdWUuc3RhcnQpKSB8fCB0aGlzLmVuZDtcclxuICB9XHJcblxyXG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdGhpcy5kYXRlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc21hbGxlclRoYW5NaW4oKSB8fCB0aGlzLmdyZWF0ZXJUaGFuTWF4KCkgfHwgdGhpcy5kb250Rml0RmlsdGVyKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgZGF5KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRlICYmIHRoaXMuZGF0ZVNlcnZpY2UuZ2V0RGF0ZSh0aGlzLmRhdGUpO1xyXG4gIH1cclxuXHJcbiAgb25DbGljaygpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuZW1wdHkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VsZWN0LmVtaXQodGhpcy5kYXRlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc21hbGxlclRoYW5NaW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRlICYmIHRoaXMubWluICYmIHRoaXMuZGF0ZVNlcnZpY2UuY29tcGFyZURhdGVzKHRoaXMuZGF0ZSwgdGhpcy5taW4pIDwgMDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ3JlYXRlclRoYW5NYXgoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRlICYmIHRoaXMubWF4ICYmIHRoaXMuZGF0ZVNlcnZpY2UuY29tcGFyZURhdGVzKHRoaXMuZGF0ZSwgdGhpcy5tYXgpID4gMDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZG9udEZpdEZpbHRlcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGUgJiYgdGhpcy5maWx0ZXIgJiYgIXRoaXMuZmlsdGVyKHRoaXMuZGF0ZSk7XHJcbiAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25iLWNhbGVuZGFyLXJhbmdlLXllYXItY2VsbCcsXHJcbiAgdGVtcGxhdGU6IGB7eyB5ZWFyIH19YCxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBob3N0OiB7ICdjbGFzcyc6ICd5ZWFyLWNlbGwnIH0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYkNhbGVuZGFyUmFuZ2VZZWFyQ2VsbENvbXBvbmVudDxEPiBpbXBsZW1lbnRzIE5iQ2FsZW5kYXJDZWxsPEQsIE5iQ2FsZW5kYXJSYW5nZTxEPj4ge1xyXG4gIEBJbnB1dCgpIGRhdGU6IEQ7XHJcblxyXG4gIEBJbnB1dCgpIG1pbjogRDtcclxuXHJcbiAgQElucHV0KCkgbWF4OiBEO1xyXG5cclxuICBASW5wdXQoKSBzZWxlY3RlZFZhbHVlOiBOYkNhbGVuZGFyUmFuZ2U8RD47XHJcblxyXG4gIEBPdXRwdXQoKSBzZWxlY3Q6IEV2ZW50RW1pdHRlcjxEPiA9IG5ldyBFdmVudEVtaXR0ZXIodHJ1ZSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBkYXRlU2VydmljZTogTmJEYXRlU2VydmljZTxEPikge1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVmFsdWUgJiYgdGhpcy5kYXRlU2VydmljZS5pc1NhbWVZZWFyKHRoaXMuZGF0ZSwgdGhpcy5zZWxlY3RlZFZhbHVlLnN0YXJ0KTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MudG9kYXknKSBnZXQgdG9kYXkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRlICYmIHRoaXMuZGF0ZVNlcnZpY2UuaXNTYW1lWWVhcih0aGlzLmRhdGUsIHRoaXMuZGF0ZVNlcnZpY2UudG9kYXkoKSk7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRpc2FibGVkJykgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc21hbGxlclRoYW5NaW4oKSB8fCB0aGlzLmdyZWF0ZXJUaGFuTWF4KCk7XHJcbiAgfVxyXG5cclxuICBnZXQgeWVhcigpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0ZVNlcnZpY2UuZ2V0WWVhcih0aGlzLmRhdGUpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gIG9uQ2xpY2soKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWxlY3QuZW1pdCh0aGlzLmRhdGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzbWFsbGVyVGhhbk1pbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGUgJiYgdGhpcy5taW4gJiYgdGhpcy5kYXRlU2VydmljZS5jb21wYXJlRGF0ZXModGhpcy55ZWFyRW5kKCksIHRoaXMubWluKSA8IDA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdyZWF0ZXJUaGFuTWF4KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0ZSAmJiB0aGlzLm1heCAmJiB0aGlzLmRhdGVTZXJ2aWNlLmNvbXBhcmVEYXRlcyh0aGlzLnllYXJTdGFydCgpLCB0aGlzLm1heCkgPiAwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB5ZWFyU3RhcnQoKTogRCB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRlU2VydmljZS5nZXRZZWFyU3RhcnQodGhpcy5kYXRlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgeWVhckVuZCgpOiBEIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGVTZXJ2aWNlLmdldFllYXJFbmQodGhpcy5kYXRlKTtcclxuICB9XHJcbn1cclxuIl19