UNPKG

io.parrots

Version:

Parrots.io App

229 lines (228 loc) 15.4 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, HostListener } from '@angular/core'; import { PhloxAppService } from 'com.phloxui'; import { NeedFocusService } from 'com.phloxui'; import { AppDrawerPopover } from './switcher.internal/AppDrawerPopover.component'; import { AbstractRippleButton } from 'com.phloxui'; import { PhloxAppInfo } from 'com.phloxui'; var /** @type {?} */ TYPE_NAME = "parrots-app-switcher"; var /** @type {?} */ SUB_TOPIC_NAME = 'app-switcher'; var ParrotsAppSwitcher = /** @class */ (function (_super) { tslib_1.__extends(ParrotsAppSwitcher, _super); function ParrotsAppSwitcher(appSvc, needFocusService) { var _this = _super.call(this, appSvc, needFocusService) || this; _this.delay = PhloxAppInfo.DEFAULT_APP_SWITCHER_POPOVER_DELAY; _this.delay = 20; if (_this.getApplication() !== null && typeof _this.getApplication() !== 'undefined' && _this.getApplication().getAppInfo() !== null && typeof _this.getApplication().getAppInfo() !== 'undefined') { _this.delay = _this.getApplication().getAppInfo().settings.APP_SWITCHER_POPOVER_DELAY; } return _this; } /** * @return {?} */ ParrotsAppSwitcher.prototype.ngOnInit = /** * @return {?} */ function () { //super.ngOnInit(); this.contentText = '<div class="anchor"></div>'; this.appPopoverType = AppDrawerPopover; this.subTopicName = ParrotsAppSwitcher.SUB_TOPIC_NAME; }; /** * @param {?} $event * @return {?} */ ParrotsAppSwitcher.prototype.doFocus = /** * @param {?} $event * @return {?} */ function ($event) { }; /** * @param {?} $event * @return {?} */ ParrotsAppSwitcher.prototype.doLostFocus = /** * @param {?} $event * @return {?} */ function ($event) { }; /** * @param {?} $event * @return {?} */ ParrotsAppSwitcher.prototype.onPopoverBtnClicked = /** * @param {?} $event * @return {?} */ function ($event) { $event.stopPropagation(); }; /** * @param {?} $event * @return {?} */ ParrotsAppSwitcher.prototype.onPopoverActived = /** * @param {?} $event * @return {?} */ function ($event) { this.source = $event.source; this.needFocusService.setFocusingComponent(this); }; /** * @param {?} $event * @return {?} */ ParrotsAppSwitcher.prototype.onPopoverInactived = /** * @param {?} $event * @return {?} */ function ($event) { this.source = null; this.needFocusService.resetFocusingComponent(); }; /** * @param {?} event * @return {?} */ ParrotsAppSwitcher.prototype.onClick = /** * @param {?} event * @return {?} */ function (event) { _super.prototype.onClick.call(this, event); }; /** * @param {?} event * @return {?} */ ParrotsAppSwitcher.prototype.onFocus = /** * @param {?} event * @return {?} */ function (event) { }; /** * @param {?} event * @return {?} */ ParrotsAppSwitcher.prototype.onLostFocus = /** * @param {?} event * @return {?} */ function (event) { if (this.source != null) { this.source.hide(); } }; /** * @param {?} $event * @return {?} */ ParrotsAppSwitcher.prototype._onDocumentClick = /** * @param {?} $event * @return {?} */ function ($event) { $event.stopPropagation(); if (this.source != null) { this.source.hide(); } }; /** * @return {?} */ ParrotsAppSwitcher.prototype.getContentText = /** * @return {?} */ function () { return this.contentText; }; /** * @return {?} */ ParrotsAppSwitcher.prototype.getSubTopicName = /** * @return {?} */ function () { return this.subTopicName; }; /** * @return {?} */ ParrotsAppSwitcher.prototype.getAppPopoverType = /** * @return {?} */ function () { return this.appPopoverType; }; /** * @return {?} */ ParrotsAppSwitcher.prototype.getDelay = /** * @return {?} */ function () { return this.delay; }; ParrotsAppSwitcher.TYPE_NAME = TYPE_NAME; ParrotsAppSwitcher.SUB_TOPIC_NAME = SUB_TOPIC_NAME; ParrotsAppSwitcher.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: "<div class=\"parrots-app-switcher\" [phxPopover]=\"getContentText()\" [componentType]=\"getAppPopoverType()\"\n\t(phxClick)=\"onPopoverBtnClicked($event)\" (phxActive)=\"onPopoverActived($event)\" (phxInactive)=\"onPopoverInactived($event)\"> \n\t<div class=\"box-container\">\n\t\t<div class=\"inline-boxes\">\n\t\t\t<div class=\"square\"></div>\n\t\t\t<div class=\"square\"></div>\n\t\t</div>\n\t\t<div class=\"inline-boxes\">\n\t\t\t<div class=\"square\"></div>\n\t\t\t<div class=\"square\"></div>\n\t\t</div>\n\t</div>\n</div>\n", entryComponents: [AppDrawerPopover], // add to resolve factory host: { '(document:click)': '_onDocumentClick($event)' } },] }, ]; /** @nocollapse */ ParrotsAppSwitcher.ctorParameters = function () { return [ { type: PhloxAppService, }, { type: NeedFocusService, }, ]; }; ParrotsAppSwitcher.propDecorators = { "onClick": [{ type: HostListener, args: ['click', ['$event'],] },], }; return ParrotsAppSwitcher; }(AbstractRippleButton)); export { ParrotsAppSwitcher }; function ParrotsAppSwitcher_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ ParrotsAppSwitcher.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ ParrotsAppSwitcher.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ ParrotsAppSwitcher.propDecorators; /** @type {?} */ ParrotsAppSwitcher.TYPE_NAME; /** @type {?} */ ParrotsAppSwitcher.SUB_TOPIC_NAME; /** @type {?} */ ParrotsAppSwitcher.prototype.contentText; /** @type {?} */ ParrotsAppSwitcher.prototype.subTopicName; /** @type {?} */ ParrotsAppSwitcher.prototype.appPopoverType; /** @type {?} */ ParrotsAppSwitcher.prototype.delay; /** @type {?} */ ParrotsAppSwitcher.prototype.source; } export { AppDrawerPopover } from './switcher.internal/AppDrawerPopover.component'; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFycm90c0FwcFN3aXRjaGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2lvLnBhcnJvdHMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L3BhZ2UvbWFpbi9QYXJyb3RzQXBwU3dpdGNoZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsWUFBWSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUd6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUkzQyxxQkFBTSxTQUFTLEdBQVcsc0JBQXNCLENBQUM7QUFFakQscUJBQU0sY0FBYyxHQUFXLGNBQWMsQ0FBQzs7SUF3Qk4sOENBQW9CO0lBYTFELDRCQUFZLE1BQXVCLEVBQUUsZ0JBQWtDO1FBQXZFLFlBQ0Usa0JBQU0sTUFBTSxFQUFFLGdCQUFnQixDQUFDLFNBU2hDO1FBUEMsS0FBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsa0NBQWtDLENBQUM7UUFDN0QsS0FBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFFaEIsRUFBRSxDQUFDLENBQUMsS0FBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxXQUFXO1lBQ2hGLEtBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxJQUFJLElBQUksT0FBTyxLQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsVUFBVSxFQUFFLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMzRyxLQUFJLENBQUMsS0FBSyxHQUFHLEtBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUM7U0FDckY7O0tBQ0Y7Ozs7SUFFTSxxQ0FBUTs7Ozs7UUFFYixJQUFJLENBQUMsV0FBVyxHQUFHLDRCQUE0QixDQUFDO1FBQ2hELElBQUksQ0FBQyxjQUFjLEdBQUcsZ0JBQWdCLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUM7Ozs7OztJQUc5QyxvQ0FBTzs7OztJQUFqQixVQUFrQixNQUFhO0tBRTlCOzs7OztJQUVTLHdDQUFXOzs7O0lBQXJCLFVBQXNCLE1BQWE7S0FFbEM7Ozs7O0lBRU0sZ0RBQW1COzs7O2NBQUMsTUFBa0I7UUFDM0MsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDOzs7Ozs7SUFHcEIsNkNBQWdCOzs7O2NBQUMsTUFBVztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDOzs7Ozs7SUFHNUMsK0NBQWtCOzs7O2NBQUMsTUFBVztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzs7Ozs7O0lBSTFDLG9DQUFPOzs7O2NBQUMsS0FBaUI7UUFDOUIsaUJBQU0sT0FBTyxZQUFDLEtBQUssQ0FBQyxDQUFDOzs7Ozs7SUFHaEIsb0NBQU87Ozs7Y0FBQyxLQUFVOzs7Ozs7SUFJbEIsd0NBQVc7Ozs7Y0FBQyxLQUFVO1FBQzNCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3BCOzs7Ozs7SUFHSSw2Q0FBZ0I7Ozs7Y0FBQyxNQUFXO1FBQ2pDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV6QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNwQjs7Ozs7SUFHSSwyQ0FBYzs7OztRQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQzs7Ozs7SUFHbkIsNENBQWU7Ozs7UUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7Ozs7O0lBR3BCLDhDQUFpQjs7OztRQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQzs7Ozs7SUFHdEIscUNBQVE7Ozs7UUFDYixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzs7bUNBeEZ1QixTQUFTO3dDQUVKLGNBQWM7O2dCQTFCL0QsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRTtvQkFDbkIsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRSxzaEJBYVg7b0JBQ0MsZUFBZSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7O29CQUNuQyxJQUFJLEVBQUU7d0JBQ0osa0JBQWtCLEVBQUUsMEJBQTBCO3FCQUMvQztpQkFDRjs7OztnQkFqQ1EsZUFBZTtnQkFDZixnQkFBZ0I7Ozs0QkF1RnRCLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7OzZCQTNGbkM7RUFxQ3dDLG9CQUFvQjtTQUEvQyxrQkFBa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBOEYvQixpQ0FBYyxnREFBZ0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaGxveEFwcCB9IGZyb20gJ2NvbS5waGxveHVpJztcbmltcG9ydCB7IElOZWVkRm9jdXMgfSBmcm9tICdjb20ucGhsb3h1aSc7XG5pbXBvcnQgeyBQaGxveEFwcFNlcnZpY2UgfSBmcm9tICdjb20ucGhsb3h1aSc7XG5pbXBvcnQgeyBOZWVkRm9jdXNTZXJ2aWNlIH0gZnJvbSAnY29tLnBobG94dWknO1xuaW1wb3J0IHsgQXBwRHJhd2VyUG9wb3ZlciB9IGZyb20gJy4vc3dpdGNoZXIuaW50ZXJuYWwvQXBwRHJhd2VyUG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3RSaXBwbGVCdXR0b24gfSBmcm9tICdjb20ucGhsb3h1aSc7XG5pbXBvcnQgeyBQaGxveEFwcEluZm8gfSBmcm9tICdjb20ucGhsb3h1aSc7XG5cbmRlY2xhcmUgdmFyICQ6IGFueTtcblxuY29uc3QgVFlQRV9OQU1FOiBzdHJpbmcgPSBcInBhcnJvdHMtYXBwLXN3aXRjaGVyXCI7XG5cbmNvbnN0IFNVQl9UT1BJQ19OQU1FOiBzdHJpbmcgPSAnYXBwLXN3aXRjaGVyJztcblxuQENvbXBvbmVudCh7XG4gIG1vZHVsZUlkOiBtb2R1bGUuaWQsXG4gIHNlbGVjdG9yOiBUWVBFX05BTUUsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cInBhcnJvdHMtYXBwLXN3aXRjaGVyXCIgW3BoeFBvcG92ZXJdPVwiZ2V0Q29udGVudFRleHQoKVwiIFtjb21wb25lbnRUeXBlXT1cImdldEFwcFBvcG92ZXJUeXBlKClcIlxuXHQocGh4Q2xpY2spPVwib25Qb3BvdmVyQnRuQ2xpY2tlZCgkZXZlbnQpXCIgKHBoeEFjdGl2ZSk9XCJvblBvcG92ZXJBY3RpdmVkKCRldmVudClcIiAocGh4SW5hY3RpdmUpPVwib25Qb3BvdmVySW5hY3RpdmVkKCRldmVudClcIj4gXG5cdDxkaXYgY2xhc3M9XCJib3gtY29udGFpbmVyXCI+XG5cdFx0PGRpdiBjbGFzcz1cImlubGluZS1ib3hlc1wiPlxuXHRcdFx0PGRpdiBjbGFzcz1cInNxdWFyZVwiPjwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz1cInNxdWFyZVwiPjwvZGl2PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJpbmxpbmUtYm94ZXNcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJzcXVhcmVcIj48L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJzcXVhcmVcIj48L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2Rpdj5cbmAsXG4gIGVudHJ5Q29tcG9uZW50czogW0FwcERyYXdlclBvcG92ZXJdLCAvLyBhZGQgdG8gcmVzb2x2ZSBmYWN0b3J5XG4gIGhvc3Q6IHtcbiAgICAnKGRvY3VtZW50OmNsaWNrKSc6ICdfb25Eb2N1bWVudENsaWNrKCRldmVudCknXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgUGFycm90c0FwcFN3aXRjaGVyIGV4dGVuZHMgQWJzdHJhY3RSaXBwbGVCdXR0b24gaW1wbGVtZW50cyBPbkluaXQsIElOZWVkRm9jdXMge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFlQRV9OQU1FOiBzdHJpbmcgPSBUWVBFX05BTUU7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVUJfVE9QSUNfTkFNRTogc3RyaW5nID0gU1VCX1RPUElDX05BTUU7XG5cbiAgLy8gdXNlIGZvciBhcHAgZHJhd2VyXG4gIHByaXZhdGUgY29udGVudFRleHQ6IHN0cmluZztcbiAgcHJpdmF0ZSBzdWJUb3BpY05hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBhcHBQb3BvdmVyVHlwZTogVHlwZTxhbnk+O1xuICBwcml2YXRlIGRlbGF5OiBudW1iZXI7XG4gIHByaXZhdGUgc291cmNlOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoYXBwU3ZjOiBQaGxveEFwcFNlcnZpY2UsIG5lZWRGb2N1c1NlcnZpY2U6IE5lZWRGb2N1c1NlcnZpY2UpIHtcbiAgICBzdXBlcihhcHBTdmMsIG5lZWRGb2N1c1NlcnZpY2UpO1xuXG4gICAgdGhpcy5kZWxheSA9IFBobG94QXBwSW5mby5ERUZBVUxUX0FQUF9TV0lUQ0hFUl9QT1BPVkVSX0RFTEFZO1xuICAgIHRoaXMuZGVsYXkgPSAyMDtcblxuICAgIGlmICh0aGlzLmdldEFwcGxpY2F0aW9uKCkgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuZ2V0QXBwbGljYXRpb24oKSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgIHRoaXMuZ2V0QXBwbGljYXRpb24oKS5nZXRBcHBJbmZvKCkgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuZ2V0QXBwbGljYXRpb24oKS5nZXRBcHBJbmZvKCkgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLmRlbGF5ID0gdGhpcy5nZXRBcHBsaWNhdGlvbigpLmdldEFwcEluZm8oKS5zZXR0aW5ncy5BUFBfU1dJVENIRVJfUE9QT1ZFUl9ERUxBWTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy9zdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuY29udGVudFRleHQgPSAnPGRpdiBjbGFzcz1cImFuY2hvclwiPjwvZGl2Pic7IFxuICAgIHRoaXMuYXBwUG9wb3ZlclR5cGUgPSBBcHBEcmF3ZXJQb3BvdmVyO1xuICAgIHRoaXMuc3ViVG9waWNOYW1lID0gUGFycm90c0FwcFN3aXRjaGVyLlNVQl9UT1BJQ19OQU1FO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRvRm9jdXMoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXG4gIH1cblxuICBwcm90ZWN0ZWQgZG9Mb3N0Rm9jdXMoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVyQnRuQ2xpY2tlZCgkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVyQWN0aXZlZCgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc291cmNlID0gJGV2ZW50LnNvdXJjZTtcbiAgICB0aGlzLm5lZWRGb2N1c1NlcnZpY2Uuc2V0Rm9jdXNpbmdDb21wb25lbnQodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVySW5hY3RpdmVkKCRldmVudDogYW55KSB7XG4gICAgdGhpcy5zb3VyY2UgPSBudWxsO1xuICAgIHRoaXMubmVlZEZvY3VzU2VydmljZS5yZXNldEZvY3VzaW5nQ29tcG9uZW50KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgc3VwZXIub25DbGljayhldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25Gb2N1cyhldmVudDogYW55KTogdm9pZCB7XG5cbiAgfVxuXG4gIHB1YmxpYyBvbkxvc3RGb2N1cyhldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc291cmNlICE9IG51bGwpIHtcbiAgICAgIHRoaXMuc291cmNlLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgX29uRG9jdW1lbnRDbGljaygkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLnNvdXJjZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnNvdXJjZS5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldENvbnRlbnRUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudFRleHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3ViVG9waWNOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3ViVG9waWNOYW1lO1xuICB9XG5cbiAgcHVibGljIGdldEFwcFBvcG92ZXJUeXBlKCk6IFR5cGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYXBwUG9wb3ZlclR5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5kZWxheTtcbiAgfVxufVxuXG5leHBvcnQgKiBmcm9tICcuL3N3aXRjaGVyLmludGVybmFsL0FwcERyYXdlclBvcG92ZXIuY29tcG9uZW50JztcbiJdfQ==