theme-lib
Version:
This is a simple example Angular Library published to npm.
350 lines • 25.4 kB
JavaScript
/**
* @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