UNPKG

ad-custom-lib

Version:

This is an UI custom library based on Adminlte library with purpose for personal use, if you need a full template of Primeng please visit https://github.com/mledour/angular-admin-lte

251 lines 19.3 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ContentChild, ElementRef, Input, NgZone, Renderer2, TemplateRef, ViewChild } from '@angular/core'; import { removeListeners, removeSubscriptions } from '../../helpers'; import { LayoutStore } from '../layout.store'; import { HeaderService } from './header.service'; /** * Header Logo */ var HeaderLogoComponent = /** @class */ (function () { function HeaderLogoComponent() { } HeaderLogoComponent.decorators = [ { type: Component, args: [{ selector: 'mk-layout-header-logo', template: '<ng-template #templateRef><ng-content></ng-content></ng-template>' }] } ]; HeaderLogoComponent.propDecorators = { templateRef: [{ type: ViewChild, args: ['templateRef', { static: true },] }] }; return HeaderLogoComponent; }()); export { HeaderLogoComponent }; if (false) { /** @type {?} */ HeaderLogoComponent.prototype.templateRef; } /** * Header Logo Mini */ var HeaderLogoMiniComponent = /** @class */ (function () { function HeaderLogoMiniComponent() { } HeaderLogoMiniComponent.decorators = [ { type: Component, args: [{ selector: 'mk-layout-header-logo-mini', template: '<ng-template #templateRef><ng-content></ng-content></ng-template>' }] } ]; HeaderLogoMiniComponent.propDecorators = { templateRef: [{ type: ViewChild, args: ['templateRef', { static: true },] }] }; return HeaderLogoMiniComponent; }()); export { HeaderLogoMiniComponent }; if (false) { /** @type {?} */ HeaderLogoMiniComponent.prototype.templateRef; } /** * Header */ var HeaderComponent = /** @class */ (function () { /** * @method constructor * @param layoutStore [description] * @param ngZone [description] * @param renderer2 [description] * @param elementRef [description] * @param headerService [description] */ function HeaderComponent(layoutStore, ngZone, renderer2, elementRef, headerService) { this.layoutStore = layoutStore; this.ngZone = ngZone; this.renderer2 = renderer2; this.elementRef = elementRef; this.headerService = headerService; this.listeners = []; this.subscriptions = []; this.isSidebarLeftToggle = true; this.isSidebarRightToggle = true; this.logoLink = '/'; } /** * @method ngAfterViewInit */ /** * \@method ngAfterViewInit * @return {?} */ HeaderComponent.prototype.ngAfterViewInit = /** * \@method ngAfterViewInit * @return {?} */ function () { var _this = this; this.headerService.elementRef = this.headerElement; if (this.sidebarLeftToggleElement) { this.subscriptions.push(this.layoutStore.isSidebarLeftCollapsed.subscribe((/** * @param {?} value * @return {?} */ function (value) { _this.isSidebarLeftCollapsed = value; }))); this.ngZone.runOutsideAngular((/** * @return {?} */ function () { _this.listeners.push(_this.renderer2.listen(_this.sidebarLeftToggleElement.nativeElement, 'click', (/** * @param {?} event * @return {?} */ function (event) { event.preventDefault(); _this.layoutStore.sidebarLeftCollapsed(!_this.isSidebarLeftCollapsed); }))); })); } if (this.sidebarRightToggleElement) { this.subscriptions.push(this.layoutStore.isSidebarRightCollapsed.subscribe((/** * @param {?} value * @return {?} */ function (value) { _this.isSidebarRightCollapsed = value; }))); this.ngZone.runOutsideAngular((/** * @return {?} */ function () { _this.listeners.push(_this.renderer2.listen(_this.sidebarRightToggleElement.nativeElement, 'click', (/** * @param {?} event * @return {?} */ function (event) { event.preventDefault(); _this.layoutStore.sidebarRightCollapsed(!_this.isSidebarRightCollapsed); }))); })); } }; /** * @method ngOnDestroy */ /** * \@method ngOnDestroy * @return {?} */ HeaderComponent.prototype.ngOnDestroy = /** * \@method ngOnDestroy * @return {?} */ function () { this.listeners = removeListeners(this.listeners); this.subscriptions = removeSubscriptions(this.subscriptions); }; HeaderComponent.decorators = [ { type: Component, args: [{ selector: 'mk-layout-header', template: "<header #headerElement class=\"main-header\">\r\n <a [routerLink]=\"logoLink\" class=\"logo\">\r\n <span class=\"logo-mini\">\r\n <ng-template [ngTemplateOutlet]=\"headerLogoMiniComponent?.templateRef\"></ng-template>\r\n </span>\r\n <span class=\"logo-lg\">\r\n <ng-template [ngTemplateOutlet]=\"headerLogoComponent?.templateRef\"></ng-template>\r\n </span>\r\n </a>\r\n <nav class=\"navbar navbar-static-top\">\r\n <a *ngIf=\"isSidebarLeftToggle\" #sidebarLeftToggleElement href=\"#\" class=\"sidebar-toggle\">\r\n <span class=\"sr-only\">Toggle navigation</span>\r\n <span class=\"icon-bar\"></span>\r\n <span class=\"icon-bar\"></span>\r\n <span class=\"icon-bar\"></span>\r\n </a>\r\n <div *ngIf=\"isSidebarRightToggle\" class=\"sidebar-right-toggle\">\r\n <a #sidebarRightToggleElement href=\"#\"><i class=\"fa fa-gears\"></i></a>\r\n </div>\r\n <ng-content></ng-content>\r\n </nav>\r\n</header>", styles: [":host{display:block}.sidebar-right-toggle{float:right}.sidebar-right-toggle a{padding:15px;display:block;line-height:20px;cursor:pointer}"] }] } ]; /** @nocollapse */ HeaderComponent.ctorParameters = function () { return [ { type: LayoutStore }, { type: NgZone }, { type: Renderer2 }, { type: ElementRef }, { type: HeaderService } ]; }; HeaderComponent.propDecorators = { isSidebarLeftToggle: [{ type: Input }], isSidebarRightToggle: [{ type: Input }], logoLink: [{ type: Input }], headerLogoComponent: [{ type: ContentChild, args: [HeaderLogoComponent, { static: true },] }], headerLogoMiniComponent: [{ type: ContentChild, args: [HeaderLogoMiniComponent, { static: true },] }], headerElement: [{ type: ViewChild, args: ['headerElement', { static: true },] }], sidebarLeftToggleElement: [{ type: ViewChild, args: ['sidebarLeftToggleElement', { static: false },] }], sidebarRightToggleElement: [{ type: ViewChild, args: ['sidebarRightToggleElement', { static: false },] }] }; return HeaderComponent; }()); export { HeaderComponent }; if (false) { /** * @type {?} * @private */ HeaderComponent.prototype.isSidebarLeftCollapsed; /** * @type {?} * @private */ HeaderComponent.prototype.isSidebarRightCollapsed; /** * @type {?} * @private */ HeaderComponent.prototype.listeners; /** * @type {?} * @private */ HeaderComponent.prototype.subscriptions; /** @type {?} */ HeaderComponent.prototype.isSidebarLeftToggle; /** @type {?} */ HeaderComponent.prototype.isSidebarRightToggle; /** @type {?} */ HeaderComponent.prototype.logoLink; /** @type {?} */ HeaderComponent.prototype.headerLogoComponent; /** @type {?} */ HeaderComponent.prototype.headerLogoMiniComponent; /** * @type {?} * @private */ HeaderComponent.prototype.headerElement; /** * @type {?} * @private */ HeaderComponent.prototype.sidebarLeftToggleElement; /** * @type {?} * @private */ HeaderComponent.prototype.sidebarRightToggleElement; /** * @type {?} * @private */ HeaderComponent.prototype.layoutStore; /** * @type {?} * @private */ HeaderComponent.prototype.ngZone; /** * @type {?} * @private */ HeaderComponent.prototype.renderer2; /** * @type {?} * @private */ HeaderComponent.prototype.elementRef; /** * @type {?} * @private */ HeaderComponent.prototype.headerService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FkLWN1c3RvbS1saWIvIiwic291cmNlcyI6WyJsaWIvbGF5b3V0L2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ1ksU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxTQUFTLEVBQ3ZGLFdBQVcsRUFBRSxTQUFTLEVBQ3pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUtqRDtJQUFBO0lBTUEsQ0FBQzs7Z0JBTkEsU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxtRUFBbUU7aUJBQ2hGOzs7OEJBRUksU0FBUyxTQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0lBQzlDLDBCQUFDO0NBQUEsQUFORCxJQU1DO1NBRlksbUJBQW1COzs7SUFDNUIsMENBQWlGOzs7OztBQU1yRjtJQUFBO0lBTUEsQ0FBQzs7Z0JBTkEsU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFFBQVEsRUFBRSxtRUFBbUU7aUJBQ2hGOzs7OEJBRUksU0FBUyxTQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0lBQzlDLDhCQUFDO0NBQUEsQUFORCxJQU1DO1NBRlksdUJBQXVCOzs7SUFDaEMsOENBQWlGOzs7OztBQU1yRjtJQXNCSTs7Ozs7OztPQU9HO0lBQ0gseUJBQ1ksV0FBd0IsRUFDeEIsTUFBYyxFQUNkLFNBQW9CLEVBQ3BCLFVBQXNCLEVBQ3RCLGFB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WSxTQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQ0FFdEQsU0FBUyxTQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7MkNBQzNDLFNBQVMsU0FBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7NENBQ3ZELFNBQVMsU0FBQywyQkFBMkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7O0lBdUQ3RCxzQkFBQztDQUFBLEFBM0VELElBMkVDO1NBdEVZLGVBQWU7Ozs7OztJQUN4QixpREFBd0M7Ozs7O0lBQ3hDLGtEQUF5Qzs7Ozs7SUFDekMsb0NBQXVCOzs7OztJQUN2Qix3Q0FBMkI7O0lBRTNCLDhDQUFvQzs7SUFDcEMsK0NBQXFDOztJQUNyQyxtQ0FBd0M7O0lBRXhDLDhDQUFxRzs7SUFDckcsa0RBQWlIOzs7OztJQUVqSCx3Q0FBZ0Y7Ozs7O0lBQ2hGLG1EQUF1Rzs7Ozs7SUFDdkcsb0RBQXlHOzs7OztJQVdyRyxzQ0FBZ0M7Ozs7O0lBQ2hDLGlDQUFzQjs7Ozs7SUFDdEIsb0NBQTRCOzs7OztJQUM1QixxQ0FBOEI7Ozs7O0lBQzlCLHdDQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBSZW5kZXJlcjIsXHJcbiAgICBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyByZW1vdmVMaXN0ZW5lcnMsIHJlbW92ZVN1YnNjcmlwdGlvbnMgfSBmcm9tICcuLi8uLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgTGF5b3V0U3RvcmUgfSBmcm9tICcuLi9sYXlvdXQuc3RvcmUnO1xyXG5pbXBvcnQgeyBIZWFkZXJTZXJ2aWNlIH0gZnJvbSAnLi9oZWFkZXIuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogSGVhZGVyIExvZ29cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdtay1sYXlvdXQtaGVhZGVyLWxvZ28nLFxyXG4gICAgdGVtcGxhdGU6ICc8bmctdGVtcGxhdGUgI3RlbXBsYXRlUmVmPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPidcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlckxvZ29Db21wb25lbnQge1xyXG4gICAgQFZpZXdDaGlsZCgndGVtcGxhdGVSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBIZWFkZXIgTG9nbyBNaW5pXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbWstbGF5b3V0LWhlYWRlci1sb2dvLW1pbmknLFxyXG4gICAgdGVtcGxhdGU6ICc8bmctdGVtcGxhdGUgI3RlbXBsYXRlUmVmPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPidcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlckxvZ29NaW5pQ29tcG9uZW50IHtcclxuICAgIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlUmVmJywgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG59XHJcblxyXG4vKipcclxuICogSGVhZGVyXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbWstbGF5b3V0LWhlYWRlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgICBwcml2YXRlIGlzU2lkZWJhckxlZnRDb2xsYXBzZWQ6IGJvb2xlYW47XHJcbiAgICBwcml2YXRlIGlzU2lkZWJhclJpZ2h0Q29sbGFwc2VkOiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBsaXN0ZW5lcnMgPSBbXTtcclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9ucyA9IFtdO1xyXG5cclxuICAgIEBJbnB1dCgpIGlzU2lkZWJhckxlZnRUb2dnbGUgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgaXNTaWRlYmFyUmlnaHRUb2dnbGUgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgbG9nb0xpbms6IHN0cmluZyB8IGFueVtdID0gJy8nO1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGQoSGVhZGVyTG9nb0NvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIGhlYWRlckxvZ29Db21wb25lbnQ6IEhlYWRlckxvZ29Db21wb25lbnQ7XHJcbiAgICBAQ29udGVudENoaWxkKEhlYWRlckxvZ29NaW5pQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgaGVhZGVyTG9nb01pbmlDb21wb25lbnQ6IEhlYWRlckxvZ29NaW5pQ29tcG9uZW50O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2hlYWRlckVsZW1lbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwcml2YXRlIGhlYWRlckVsZW1lbnQ6IEVsZW1lbnRSZWY7XHJcbiAgICBAVmlld0NoaWxkKCdzaWRlYmFyTGVmdFRvZ2dsZUVsZW1lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgcHJpdmF0ZSBzaWRlYmFyTGVmdFRvZ2dsZUVsZW1lbnQ6IEVsZW1lbnRSZWY7XHJcbiAgICBAVmlld0NoaWxkKCdzaWRlYmFyUmlnaHRUb2dnbGVFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIHByaXZhdGUgc2lkZWJhclJpZ2h0VG9nZ2xlRWxlbWVudDogRWxlbWVudFJlZjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBtZXRob2QgY29uc3RydWN0b3JcclxuICAgICAqIEBwYXJhbSBsYXlvdXRTdG9yZSBbZGVzY3JpcHRpb25dXHJcbiAgICAgKiBAcGFyYW0gbmdab25lICAgICAgW2Rlc2NyaXB0aW9uXVxyXG4gICAgICogQHBhcmFtIHJlbmRlcmVyMiAgIFtkZXNjcmlwdGlvbl1cclxuICAgICAqIEBwYXJhbSBlbGVtZW50UmVmICAgW2Rlc2NyaXB0aW9uXVxyXG4gICAgICogQHBhcmFtIGhlYWRlclNlcnZpY2UgICBbZGVzY3JpcHRpb25dXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgbGF5b3V0U3RvcmU6IExheW91dFN0b3JlLFxyXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXHJcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjI6IFJlbmRlcmVyMixcclxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBoZWFkZXJTZXJ2aWNlOiBIZWFkZXJTZXJ2aWNlXHJcbiAgICApIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQG1ldGhvZCBuZ0FmdGVyVmlld0luaXRcclxuICAgICAqL1xyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyU2VydmljZS5lbGVtZW50UmVmID0gdGhpcy5oZWFkZXJFbGVtZW50O1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zaWRlYmFyTGVmdFRvZ2dsZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5sYXlvdXRTdG9yZS5pc1NpZGViYXJMZWZ0Q29sbGFwc2VkLnN1YnNjcmliZSgodmFsdWU6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNTaWRlYmFyTGVmdENvbGxhcHNlZCA9IHZhbHVlO1xyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzLnB1c2godGhpcy5yZW5kZXJlcjIubGlzdGVuKHRoaXMuc2lkZWJhckxlZnRUb2dnbGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdjbGljaycsIChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0U3RvcmUuc2lkZWJhckxlZnRDb2xsYXBzZWQoIXRoaXMuaXNTaWRlYmFyTGVmdENvbGxhcHNlZCk7XHJcbiAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zaWRlYmFyUmlnaHRUb2dnbGVFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMubGF5b3V0U3RvcmUuaXNTaWRlYmFyUmlnaHRDb2xsYXBzZWQuc3Vic2NyaWJlKCh2YWx1ZTogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc1NpZGViYXJSaWdodENvbGxhcHNlZCA9IHZhbHVlO1xyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzLnB1c2godGhpcy5yZW5kZXJlcjIubGlzdGVuKHRoaXMuc2lkZWJhclJpZ2h0VG9nZ2xlRWxlbWVudC5uYXRpdmVFbGVtZW50LCAnY2xpY2snLCAoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxheW91dFN0b3JlLnNpZGViYXJSaWdodENvbGxhcHNlZCghdGhpcy5pc1NpZGViYXJSaWdodENvbGxhcHNlZCk7XHJcbiAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBtZXRob2QgbmdPbkRlc3Ryb3lcclxuICAgICAqL1xyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMgPSByZW1vdmVMaXN0ZW5lcnModGhpcy5saXN0ZW5lcnMpO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IHJlbW92ZVN1YnNjcmlwdGlvbnModGhpcy5zdWJzY3JpcHRpb25zKTtcclxuICAgIH1cclxufVxyXG4iXX0=