UNPKG

theme-lib

Version:

This is a simple example Angular Library published to npm.

249 lines 17.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /* * @license * Copyright Akveo. All Rights Reserved. * Licensed under the MIT License. See License.txt in the project root for license information. */ import { Component, Input, HostBinding, } from '@angular/core'; import { convertToBoolProperty } from '../helpers'; /* * Action item, display a link with an icon, or any other content provided instead. */ var NbActionComponent = /** @class */ (function () { function NbActionComponent() { this.disabledValue = false; } Object.defineProperty(NbActionComponent.prototype, "disabled", { /* * Disables the item (changes item opacity and mouse cursor) * @type boolean */ set: /* * Disables the item (changes item opacity and mouse cursor) * @type boolean */ /** * @param {?} val * @return {?} */ function (val) { this.disabledValue = convertToBoolProperty(val); }, enumerable: true, configurable: true }); NbActionComponent.decorators = [ { type: Component, args: [{ selector: 'nb-action', template: "\n <a class=\"icon-container\" href=\"#\" *ngIf=\"icon; else showContent\" (click)=\"$event.preventDefault()\">\n <i class=\"control-icon {{ icon }}\"></i>\n </a>\n <ng-template #showContent>\n <ng-content></ng-content>\n </ng-template>\n <nb-badge *ngIf=\"badgeText\" [text]=\"badgeText\" [status]=\"badgeStatus\" [position]=\"badgePosition\"></nb-badge>\n " }] } ]; NbActionComponent.propDecorators = { disabledValue: [{ type: HostBinding, args: ['class.disabled',] }], icon: [{ type: Input }], disabled: [{ type: Input }], badgeText: [{ type: Input }], badgeStatus: [{ type: Input }], badgePosition: [{ type: Input }] }; return NbActionComponent; }()); export { NbActionComponent }; if (false) { /** @type {?} */ NbActionComponent.prototype.disabledValue; /** @type {?} */ NbActionComponent.prototype.icon; /** @type {?} */ NbActionComponent.prototype.badgeText; /** @type {?} */ NbActionComponent.prototype.badgeStatus; /** @type {?} */ NbActionComponent.prototype.badgePosition; } /* * Shows a horizontal list of actions, available in multiple sizes. * Aligns items vertically. * * @stacked-example(Showcase, action/action-showcase.component) * * Basic actions setup: * ```html * <nb-actions size="small"> * <nb-action icon="nb-search"></nb-action> * <nb-action icon="nb-power-circled"></nb-action> * <nb-action icon="nb-person"></nb-action> * </nb-actions> * ``` * ### Installation * * Import `NbActionsModule` to your feature module. * ```ts * @NgModule({ * imports: [ * // ... * NbActionsModule, * ], * }) * export class PageModule { } * ``` * ### Usage * * Multiple sizes example: * @stacked-example(Multiple Sizes, action/action-sizes.component) * * It is also possible to specify a `badge` value: * * @stacked-example(Action Badge, action/action-badge.component) * * and we can set it to full a width of a parent component * @stacked-example(Full Width, action/action-width.component) * * @styles * * actions-font-size: * actions-font-family: * actions-line-height: * actions-fg: * actions-bg: * actions-separator: * actions-padding: * actions-size-small: * actions-size-medium: * actions-size-large: */ var NbActionsComponent = /** @class */ (function () { function NbActionsComponent() { this.fullWidthValue = false; } Object.defineProperty(NbActionsComponent.prototype, "small", { get: /** * @return {?} */ function () { return this.sizeValue === NbActionsComponent.SIZE_SMALL; }, enumerable: true, configurable: true }); Object.defineProperty(NbActionsComponent.prototype, "medium", { get: /** * @return {?} */ function () { return this.sizeValue === NbActionsComponent.SIZE_MEDIUM; }, enumerable: true, configurable: true }); Object.defineProperty(NbActionsComponent.prototype, "large", { get: /** * @return {?} */ function () { return this.sizeValue === NbActionsComponent.SIZE_LARGE; }, enumerable: true, configurable: true }); Object.defineProperty(NbActionsComponent.prototype, "size", { /* * Size of the component, small|medium|large * @type string */ set: /* * Size of the component, small|medium|large * @type string */ /** * @param {?} val * @return {?} */ function (val) { this.sizeValue = val; }, enumerable: true, configurable: true }); Object.defineProperty(NbActionsComponent.prototype, "inverse", { /* * Makes colors inverse based on current theme * @type boolean */ set: /* * Makes colors inverse based on current theme * @type boolean */ /** * @param {?} val * @return {?} */ function (val) { this.inverseValue = convertToBoolProperty(val); }, enumerable: true, configurable: true }); Object.defineProperty(NbActionsComponent.prototype, "fullWidth", { /* * Component will fill full width of the container * @type boolean */ set: /* * Component will fill full width of the container * @type boolean */ /** * @param {?} val * @return {?} */ function (val) { this.fullWidthValue = convertToBoolProperty(val); }, enumerable: true, configurable: true }); NbActionsComponent.SIZE_SMALL = 'small'; NbActionsComponent.SIZE_MEDIUM = 'medium'; NbActionsComponent.SIZE_LARGE = 'large'; NbActionsComponent.decorators = [ { type: Component, args: [{ selector: 'nb-actions', template: "\n <ng-content select=\"nb-action\"></ng-content>\n ", styles: [":host{display:flex;align-items:center}:host /deep/ nb-action{display:flex;flex-wrap:wrap;align-items:center;position:relative}:host /deep/ nb-action i.control-icon:hover{cursor:pointer}:host /deep/ nb-action.disabled{cursor:not-allowed}:host /deep/ nb-action.disabled>*{opacity:.5}:host /deep/ nb-action.disabled a,:host /deep/ nb-action.disabled i{cursor:not-allowed!important}"] }] } ]; NbActionsComponent.propDecorators = { inverseValue: [{ type: HostBinding, args: ['class.inverse',] }], small: [{ type: HostBinding, args: ['class.small',] }], medium: [{ type: HostBinding, args: ['class.medium',] }], large: [{ type: HostBinding, args: ['class.large',] }], fullWidthValue: [{ type: HostBinding, args: ['class.full-width',] }], size: [{ type: Input }], inverse: [{ type: Input }], fullWidth: [{ type: Input }] }; return NbActionsComponent; }()); export { NbActionsComponent }; if (false) { /** @type {?} */ NbActionsComponent.SIZE_SMALL; /** @type {?} */ NbActionsComponent.SIZE_MEDIUM; /** @type {?} */ NbActionsComponent.SIZE_LARGE; /** * @type {?} * @private */ NbActionsComponent.prototype.sizeValue; /** @type {?} */ NbActionsComponent.prototype.inverseValue; /** @type {?} */ NbActionsComponent.prototype.fullWidthValue; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aGVtZS1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hY3Rpb25zL2FjdGlvbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQU1BLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7QUFLbkQ7SUFBQTtRQWNpQyxrQkFBYSxHQUFZLEtBQUssQ0FBQztJQXVDaEUsQ0FBQztJQTNCQyxzQkFDSSx1Q0FBUTtRQUxaOzs7V0FHRzs7Ozs7Ozs7O1FBQ0gsVUFDYSxHQUFZO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEQsQ0FBQzs7O09BQUE7O2dCQTdCRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRSxrWUFRVDtpQkFDRjs7O2dDQUdFLFdBQVcsU0FBQyxnQkFBZ0I7dUJBTTVCLEtBQUs7MkJBTUwsS0FBSzs0QkFTTCxLQUFLOzhCQU9MLEtBQUs7Z0NBU0wsS0FBSzs7SUFFUix3QkFBQztDQUFBLEFBckRELElBcURDO1NBekNZLGlCQUFpQjs7O0lBRTVCLDBDQUE4RDs7SUFNOUQsaUNBQXNCOztJQWV0QixzQ0FBMkI7O0lBTzNCLHdDQUE2Qjs7SUFTN0IsMENBQStCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVEakM7SUFBQTtRQWlDRSxtQkFBYyxHQUFZLEtBQUssQ0FBQztJQTRCbEMsQ0FBQztJQTVDQyxzQkFDSSxxQ0FBSzs7OztRQURUO1lBRUUsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztRQUMxRCxDQUFDOzs7T0FBQTtJQUVELHNCQUNJLHNDQUFNOzs7O1FBRFY7WUFFRSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssa0JBQWtCLENBQUMsV0FBVyxDQUFDO1FBQzNELENBQUM7OztPQUFBO0lBRUQsc0JBQ0kscUNBQUs7Ozs7UUFEVDtZQUVFLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7UUFDMUQsQ0FBQzs7O09BQUE7SUFTRCxzQkFDSSxvQ0FBSTtRQUxSOzs7V0FHRzs7Ozs7Ozs7O1FBQ0gsVUFDUyxHQUFXO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLENBQUM7OztPQUFBO0lBTUQsc0JBQ0ksdUNBQU87UUFMWDs7O1dBR0c7Ozs7Ozs7OztRQUNILFVBQ1ksR0FBWTtZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELENBQUM7OztPQUFBO0lBTUQsc0JBQ0kseUNBQVM7UUFMYjs7O1dBR0c7Ozs7Ozs7OztRQUNILFVBQ2MsR0FBWTtZQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELENBQUM7OztPQUFBO0lBbkRlLDZCQUFVLEdBQUcsT0FBTyxDQUFDO0lBQ3JCLDhCQUFXLEdBQUcsUUFBUSxDQUFDO0lBQ3ZCLDZCQUFVLEdBQUcsT0FBTyxDQUFDOztnQkFYdEMsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUV0QixRQUFRLEVBQUUsMERBRVQ7O2lCQUNGOzs7K0JBU0UsV0FBVyxTQUFDLGVBQWU7d0JBRTNCLFdBQVcsU0FBQyxhQUFhO3lCQUt6QixXQUFXLFNBQUMsY0FBYzt3QkFLMUIsV0FBVyxTQUFDLGFBQWE7aUNBS3pCLFdBQVcsU0FBQyxrQkFBa0I7dUJBTzlCLEtBQUs7MEJBU0wsS0FBSzs0QkFTTCxLQUFLOztJQUlSLHlCQUFDO0NBQUEsQUE3REQsSUE2REM7U0F0RFksa0JBQWtCOzs7SUFFN0IsOEJBQXFDOztJQUNyQywrQkFBdUM7O0lBQ3ZDLDhCQUFxQzs7Ozs7SUFFckMsdUNBQTBCOztJQUUxQiwwQ0FBb0Q7O0lBaUJwRCw0Q0FDZ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgQWt2ZW8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXHJcbiAqL1xyXG5cclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sUHJvcGVydHkgfSBmcm9tICcuLi9oZWxwZXJzJztcclxuXHJcbi8qXHJcbiAqIEFjdGlvbiBpdGVtLCBkaXNwbGF5IGEgbGluayB3aXRoIGFuIGljb24sIG9yIGFueSBvdGhlciBjb250ZW50IHByb3ZpZGVkIGluc3RlYWQuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25iLWFjdGlvbicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxhIGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiBocmVmPVwiI1wiICpuZ0lmPVwiaWNvbjsgZWxzZSBzaG93Q29udGVudFwiIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiPlxyXG4gICAgICA8aSBjbGFzcz1cImNvbnRyb2wtaWNvbiB7eyBpY29uIH19XCI+PC9pPlxyXG4gICAgPC9hPlxyXG4gICAgPG5nLXRlbXBsYXRlICNzaG93Q29udGVudD5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuYi1iYWRnZSAqbmdJZj1cImJhZGdlVGV4dFwiIFt0ZXh0XT1cImJhZGdlVGV4dFwiIFtzdGF0dXNdPVwiYmFkZ2VTdGF0dXNcIiBbcG9zaXRpb25dPVwiYmFkZ2VQb3NpdGlvblwiPjwvbmItYmFkZ2U+XHJcbiAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5iQWN0aW9uQ29tcG9uZW50IHtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kaXNhYmxlZCcpIGRpc2FibGVkVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLypcclxuICAgKiBJY29uIGNsYXNzIHRvIGRpc3BsYXlcclxuICAgKiBAdHlwZSBzdHJpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XHJcblxyXG4gIC8qXHJcbiAgICogRGlzYWJsZXMgdGhlIGl0ZW0gKGNoYW5nZXMgaXRlbSBvcGFjaXR5IGFuZCBtb3VzZSBjdXJzb3IpXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGRpc2FibGVkKHZhbDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5kaXNhYmxlZFZhbHVlID0gY29udmVydFRvQm9vbFByb3BlcnR5KHZhbCk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIEJhZGdlIHRleHQgdG8gZGlzcGxheVxyXG4gICAqIEB0eXBlIHN0cmluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGJhZGdlVGV4dDogc3RyaW5nO1xyXG5cclxuICAvKlxyXG4gICAqIEJhZGdlIHN0YXR1cyAoYWRkcyBzcGVjaWZpYyBzdHlsZXMpOlxyXG4gICAqICdwcmltYXJ5JywgJ2luZm8nLCAnc3VjY2VzcycsICd3YXJuaW5nJywgJ2RhbmdlcidcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsXHJcbiAgICovXHJcbiAgQElucHV0KCkgYmFkZ2VTdGF0dXM6IHN0cmluZztcclxuXHJcbiAgLypcclxuICAgKiBCYWRnZSBwb3NpdGlvbi5cclxuICAgKiBDYW4gYmUgc2V0IHRvIGFueSBjbGFzcyBvciB0byBvbmUgb2YgcHJlZGVmaW5lZCBwb3NpdGlvbnM6XHJcbiAgICogJ3RvcCBsZWZ0JywgJ3RvcCByaWdodCcsICdib3R0b20gbGVmdCcsICdib3R0b20gcmlnaHQnLFxyXG4gICAqICd0b3Agc3RhcnQnLCAndG9wIGVuZCcsICdib3R0b20gc3RhcnQnLCAnYm90dG9tIGVuZCdcclxuICAgKiBAdHlwZSBzdHJpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBiYWRnZVBvc2l0aW9uOiBzdHJpbmc7XHJcblxyXG59XHJcblxyXG4vKlxyXG4gKiBTaG93cyBhIGhvcml6b250YWwgbGlzdCBvZiBhY3Rpb25zLCBhdmFpbGFibGUgaW4gbXVsdGlwbGUgc2l6ZXMuXHJcbiAqIEFsaWducyBpdGVtcyB2ZXJ0aWNhbGx5LlxyXG4gKlxyXG4gKiBAc3RhY2tlZC1leGFtcGxlKFNob3djYXNlLCBhY3Rpb24vYWN0aW9uLXNob3djYXNlLmNvbXBvbmVudClcclxuICpcclxuICogQmFzaWMgYWN0aW9ucyBzZXR1cDpcclxuICogYGBgaHRtbFxyXG4gKiA8bmItYWN0aW9ucyBzaXplPVwic21hbGxcIj5cclxuICogICA8bmItYWN0aW9uIGljb249XCJuYi1zZWFyY2hcIj48L25iLWFjdGlvbj5cclxuICogICA8bmItYWN0aW9uIGljb249XCJuYi1wb3dlci1jaXJjbGVkXCI+PC9uYi1hY3Rpb24+XHJcbiAqICAgPG5iLWFjdGlvbiBpY29uPVwibmItcGVyc29uXCI+PC9uYi1hY3Rpb24+XHJcbiAqIDwvbmItYWN0aW9ucz5cclxuICogYGBgXHJcbiAqICMjIyBJbnN0YWxsYXRpb25cclxuICpcclxuICogSW1wb3J0IGBOYkFjdGlvbnNNb2R1bGVgIHRvIHlvdXIgZmVhdHVyZSBtb2R1bGUuXHJcbiAqIGBgYHRzXHJcbiAqIEBOZ01vZHVsZSh7XHJcbiAqICAgaW1wb3J0czogW1xyXG4gKiAgIFx0Ly8gLi4uXHJcbiAqICAgICBOYkFjdGlvbnNNb2R1bGUsXHJcbiAqICAgXSxcclxuICogfSlcclxuICogZXhwb3J0IGNsYXNzIFBhZ2VNb2R1bGUgeyB9XHJcbiAqIGBgYFxyXG4gKiAjIyMgVXNhZ2VcclxuICpcclxuICogTXVsdGlwbGUgc2l6ZXMgZXhhbXBsZTpcclxuICogQHN0YWNrZWQtZXhhbXBsZShNdWx0aXBsZSBTaXplcywgYWN0aW9uL2FjdGlvbi1zaXplcy5jb21wb25lbnQpXHJcbiAqXHJcbiAqIEl0IGlzIGFsc28gcG9zc2libGUgdG8gc3BlY2lmeSBhIGBiYWRnZWAgdmFsdWU6XHJcbiAqXHJcbiAqIEBzdGFja2VkLWV4YW1wbGUoQWN0aW9uIEJhZGdlLCBhY3Rpb24vYWN0aW9uLWJhZGdlLmNvbXBvbmVudClcclxuICpcclxuICogYW5kIHdlIGNhbiBzZXQgaXQgdG8gZnVsbCBhIHdpZHRoIG9mIGEgcGFyZW50IGNvbXBvbmVudFxyXG4gKiBAc3RhY2tlZC1leGFtcGxlKEZ1bGwgV2lkdGgsIGFjdGlvbi9hY3Rpb24td2lkdGguY29tcG9uZW50KVxyXG4gKlxyXG4gKiBAc3R5bGVzXHJcbiAqXHJcbiAqIGFjdGlvbnMtZm9udC1zaXplOlxyXG4gKiBhY3Rpb25zLWZvbnQtZmFtaWx5OlxyXG4gKiBhY3Rpb25zLWxpbmUtaGVpZ2h0OlxyXG4gKiBhY3Rpb25zLWZnOlxyXG4gKiBhY3Rpb25zLWJnOlxyXG4gKiBhY3Rpb25zLXNlcGFyYXRvcjpcclxuICogYWN0aW9ucy1wYWRkaW5nOlxyXG4gKiBhY3Rpb25zLXNpemUtc21hbGw6XHJcbiAqIGFjdGlvbnMtc2l6ZS1tZWRpdW06XHJcbiAqIGFjdGlvbnMtc2l6ZS1sYXJnZTpcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmItYWN0aW9ucycsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9ucy5jb21wb25lbnQuc2NzcyddLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJuYi1hY3Rpb25cIj48L25nLWNvbnRlbnQ+XHJcbiAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5iQWN0aW9uc0NvbXBvbmVudCB7XHJcblxyXG4gIHN0YXRpYyByZWFkb25seSBTSVpFX1NNQUxMID0gJ3NtYWxsJztcclxuICBzdGF0aWMgcmVhZG9ubHkgU0laRV9NRURJVU0gPSAnbWVkaXVtJztcclxuICBzdGF0aWMgcmVhZG9ubHkgU0laRV9MQVJHRSA9ICdsYXJnZSc7XHJcblxyXG4gIHByaXZhdGUgc2l6ZVZhbHVlOiBzdHJpbmc7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaW52ZXJzZScpIGludmVyc2VWYWx1ZTogYm9vbGVhbjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWFsbCcpXHJcbiAgZ2V0IHNtYWxsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2l6ZVZhbHVlID09PSBOYkFjdGlvbnNDb21wb25lbnQuU0laRV9TTUFMTDtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWVkaXVtJylcclxuICBnZXQgbWVkaXVtKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2l6ZVZhbHVlID09PSBOYkFjdGlvbnNDb21wb25lbnQuU0laRV9NRURJVU07XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmxhcmdlJylcclxuICBnZXQgbGFyZ2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaXplVmFsdWUgPT09IE5iQWN0aW9uc0NvbXBvbmVudC5TSVpFX0xBUkdFO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mdWxsLXdpZHRoJylcclxuICBmdWxsV2lkdGhWYWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKlxyXG4gICAqIFNpemUgb2YgdGhlIGNvbXBvbmVudCwgc21hbGx8bWVkaXVtfGxhcmdlXHJcbiAgICogQHR5cGUgc3RyaW5nXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc2l6ZSh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5zaXplVmFsdWUgPSB2YWw7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIE1ha2VzIGNvbG9ycyBpbnZlcnNlIGJhc2VkIG9uIGN1cnJlbnQgdGhlbWVcclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgaW52ZXJzZSh2YWw6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuaW52ZXJzZVZhbHVlID0gY29udmVydFRvQm9vbFByb3BlcnR5KHZhbCk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIENvbXBvbmVudCB3aWxsIGZpbGwgZnVsbCB3aWR0aCBvZiB0aGUgY29udGFpbmVyXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGZ1bGxXaWR0aCh2YWw6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZnVsbFdpZHRoVmFsdWUgPSBjb252ZXJ0VG9Cb29sUHJvcGVydHkodmFsKTtcclxuICB9XHJcbn1cclxuIl19