otimus-library 0.2.44 → 0.2.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,24 +2,30 @@ import { CommonModule } from '@angular/common';
2
2
  import { Component, Input } from '@angular/core';
3
3
  import { OcBadgeComponent } from '../oc-badge/oc-badge.component';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
5
+ import * as i1 from "../../services/style-theme.service";
6
+ import * as i2 from "@angular/common";
6
7
  export class OcFilterComponent {
7
- constructor() {
8
+ constructor(styleThemeService) {
9
+ this.styleThemeService = styleThemeService;
8
10
  this.isOpen = false;
9
11
  this.ocText = 'Filtros';
10
12
  this.ocActive = 0;
11
13
  this.ocSide = 'left';
14
+ this.ocStyle = 'otimus';
15
+ }
16
+ ngAfterViewInit() {
17
+ this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle;
12
18
  }
13
19
  toggleOpen() {
14
20
  this.isOpen = !this.isOpen;
15
21
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: OcFilterComponent, isStandalone: true, selector: "oc-filter", inputs: { isOpen: "isOpen", ocText: "ocText", ocActive: "ocActive", ocSide: "ocSide" }, ngImport: i0, template: "<div class=\"oc-filter-row\" [ngClass]=\"{\r\n reverse: ocSide === 'right'\r\n}\">\r\n <button class=\"oc-filter-btn\" (click)=\"toggleOpen()\">\r\n <span class=\"material-symbols-outlined\">filter_list</span>\r\n {{ocText}}\r\n <div class=\"badge\">\r\n <oc-badge *ngIf=\"ocActive > 0\" ocSize=\"small\" ocColor=\"success\" [ocWaved]=\"true\">{{ocActive}}</oc-badge>\r\n </div>\r\n </button>\r\n \r\n <div class=\"filter-row-content\">\r\n <ng-content select=\"[row]\"></ng-content>\r\n </div>\r\n \r\n</div>\r\n<div *ngIf=\"isOpen\" class=\"oc-filter-content\">\r\n <ng-content select=\"[body]\">\r\n </ng-content>\r\n</div>\r\n", styles: [".oc-filter-row{display:flex;align-items:center;gap:1rem}.oc-filter-row .filter-row-content{width:100%}.reverse{flex-direction:row-reverse}.oc-filter-btn{background-color:#5505a2;color:#f8f9ff;border:none;border-radius:.5rem;padding:.4rem .8rem;font-weight:600;display:flex;align-items:center;gap:.2rem;transition:.2s ease;position:relative;cursor:pointer}.oc-filter-btn:hover{filter:brightness(.9)}.oc-filter-btn .material-symbols-outlined{font-size:1rem;color:#f7f7f7}.oc-filter-btn img{width:15px;filter:brightness(0) invert(1)}.oc-filter-btn .badge{position:absolute;top:-8px;right:-12px}.oc-filter-content{width:100%;animation:showing-up .15s ease;margin-top:1rem}@keyframes showing-up{0%{height:0px;opacity:0}to{height:100%;opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OcBadgeComponent, selector: "oc-badge", inputs: ["ocSize", "ocColor", "ocWaved"] }] }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcFilterComponent, deps: [{ token: i1.StyleThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: OcFilterComponent, isStandalone: true, selector: "oc-filter", inputs: { isOpen: "isOpen", ocText: "ocText", ocActive: "ocActive", ocSide: "ocSide", ocStyle: "ocStyle" }, ngImport: i0, template: "<div class=\"oc-filter-row\" [ngClass]=\"{\r\n reverse: ocSide === 'right'\r\n}\">\r\n <button class=\"oc-filter-btn\" [ngClass]=\"{\r\n shui: ocStyle === 'shui'\r\n }\" (click)=\"toggleOpen()\">\r\n <span class=\"material-symbols-outlined\">filter_list</span>\r\n {{ocText}}\r\n <div class=\"badge\">\r\n <oc-badge *ngIf=\"ocActive > 0\" ocSize=\"small\" ocColor=\"success\" [ocWaved]=\"true\">{{ocActive}}</oc-badge>\r\n </div>\r\n </button>\r\n\r\n <div class=\"filter-row-content\">\r\n <ng-content select=\"[row]\"></ng-content>\r\n </div>\r\n\r\n</div>\r\n<div *ngIf=\"isOpen\" class=\"oc-filter-content\">\r\n <ng-content select=\"[body]\">\r\n </ng-content>\r\n</div>", styles: [".oc-filter-row{display:flex;align-items:center;gap:1rem}.oc-filter-row .filter-row-content{width:100%}.reverse{flex-direction:row-reverse}.oc-filter-btn{background-color:#5505a2;color:#f8f9ff;border:none;border-radius:.5rem;padding:.4rem .8rem;font-weight:600;display:flex;align-items:center;gap:.2rem;transition:.2s ease;position:relative;cursor:pointer}.oc-filter-btn:hover{filter:brightness(.9)}.oc-filter-btn .material-symbols-outlined{font-size:1rem;color:#f7f7f7}.oc-filter-btn img{width:15px;filter:brightness(0) invert(1)}.oc-filter-btn .badge{position:absolute;top:-8px;right:-12px}.oc-filter-btn.shui{background-color:#099!important;border-radius:50px!important}.oc-filter-content{width:100%;animation:showing-up .15s ease;margin-top:1rem}@keyframes showing-up{0%{height:0px;opacity:0}to{height:100%;opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OcBadgeComponent, selector: "oc-badge", inputs: ["ocSize", "ocColor", "ocWaved"] }] }); }
18
24
  }
19
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcFilterComponent, decorators: [{
20
26
  type: Component,
21
- args: [{ selector: 'oc-filter', standalone: true, imports: [CommonModule, OcBadgeComponent], template: "<div class=\"oc-filter-row\" [ngClass]=\"{\r\n reverse: ocSide === 'right'\r\n}\">\r\n <button class=\"oc-filter-btn\" (click)=\"toggleOpen()\">\r\n <span class=\"material-symbols-outlined\">filter_list</span>\r\n {{ocText}}\r\n <div class=\"badge\">\r\n <oc-badge *ngIf=\"ocActive > 0\" ocSize=\"small\" ocColor=\"success\" [ocWaved]=\"true\">{{ocActive}}</oc-badge>\r\n </div>\r\n </button>\r\n \r\n <div class=\"filter-row-content\">\r\n <ng-content select=\"[row]\"></ng-content>\r\n </div>\r\n \r\n</div>\r\n<div *ngIf=\"isOpen\" class=\"oc-filter-content\">\r\n <ng-content select=\"[body]\">\r\n </ng-content>\r\n</div>\r\n", styles: [".oc-filter-row{display:flex;align-items:center;gap:1rem}.oc-filter-row .filter-row-content{width:100%}.reverse{flex-direction:row-reverse}.oc-filter-btn{background-color:#5505a2;color:#f8f9ff;border:none;border-radius:.5rem;padding:.4rem .8rem;font-weight:600;display:flex;align-items:center;gap:.2rem;transition:.2s ease;position:relative;cursor:pointer}.oc-filter-btn:hover{filter:brightness(.9)}.oc-filter-btn .material-symbols-outlined{font-size:1rem;color:#f7f7f7}.oc-filter-btn img{width:15px;filter:brightness(0) invert(1)}.oc-filter-btn .badge{position:absolute;top:-8px;right:-12px}.oc-filter-content{width:100%;animation:showing-up .15s ease;margin-top:1rem}@keyframes showing-up{0%{height:0px;opacity:0}to{height:100%;opacity:1}}\n"] }]
22
- }], propDecorators: { isOpen: [{
27
+ args: [{ selector: 'oc-filter', standalone: true, imports: [CommonModule, OcBadgeComponent], template: "<div class=\"oc-filter-row\" [ngClass]=\"{\r\n reverse: ocSide === 'right'\r\n}\">\r\n <button class=\"oc-filter-btn\" [ngClass]=\"{\r\n shui: ocStyle === 'shui'\r\n }\" (click)=\"toggleOpen()\">\r\n <span class=\"material-symbols-outlined\">filter_list</span>\r\n {{ocText}}\r\n <div class=\"badge\">\r\n <oc-badge *ngIf=\"ocActive > 0\" ocSize=\"small\" ocColor=\"success\" [ocWaved]=\"true\">{{ocActive}}</oc-badge>\r\n </div>\r\n </button>\r\n\r\n <div class=\"filter-row-content\">\r\n <ng-content select=\"[row]\"></ng-content>\r\n </div>\r\n\r\n</div>\r\n<div *ngIf=\"isOpen\" class=\"oc-filter-content\">\r\n <ng-content select=\"[body]\">\r\n </ng-content>\r\n</div>", styles: [".oc-filter-row{display:flex;align-items:center;gap:1rem}.oc-filter-row .filter-row-content{width:100%}.reverse{flex-direction:row-reverse}.oc-filter-btn{background-color:#5505a2;color:#f8f9ff;border:none;border-radius:.5rem;padding:.4rem .8rem;font-weight:600;display:flex;align-items:center;gap:.2rem;transition:.2s ease;position:relative;cursor:pointer}.oc-filter-btn:hover{filter:brightness(.9)}.oc-filter-btn .material-symbols-outlined{font-size:1rem;color:#f7f7f7}.oc-filter-btn img{width:15px;filter:brightness(0) invert(1)}.oc-filter-btn .badge{position:absolute;top:-8px;right:-12px}.oc-filter-btn.shui{background-color:#099!important;border-radius:50px!important}.oc-filter-content{width:100%;animation:showing-up .15s ease;margin-top:1rem}@keyframes showing-up{0%{height:0px;opacity:0}to{height:100%;opacity:1}}\n"] }]
28
+ }], ctorParameters: () => [{ type: i1.StyleThemeService }], propDecorators: { isOpen: [{
23
29
  type: Input
24
30
  }], ocText: [{
25
31
  type: Input
@@ -27,5 +33,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
27
33
  type: Input
28
34
  }], ocSide: [{
29
35
  type: Input
36
+ }], ocStyle: [{
37
+ type: Input
30
38
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1maWx0ZXIvb2MtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1maWx0ZXIvb2MtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBU2xFLE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFRVyxXQUFNLEdBQVksS0FBSyxDQUFBO1FBQ3ZCLFdBQU0sR0FBVyxTQUFTLENBQUE7UUFDMUIsYUFBUSxHQUFXLENBQUMsQ0FBQTtRQUNwQixXQUFNLEdBQXFCLE1BQU0sQ0FBQTtLQUszQztJQUhDLFVBQVU7UUFDUixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUM1QixDQUFDOytHQVJVLGlCQUFpQjttR0FBakIsaUJBQWlCLDZKQ1g5QixxcEJBb0JBLCt4QkRiWSxZQUFZLGlPQUFFLGdCQUFnQjs7NEZBSTdCLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxXQUFXLGNBQ1QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDOzhCQUtoQyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPY0JhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4vb2MtYmFkZ2Uvb2MtYmFkZ2UuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnb2MtZmlsdGVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE9jQmFkZ2VDb21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vYy1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9vYy1maWx0ZXIuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPY0ZpbHRlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgaXNPcGVuOiBib29sZWFuID0gZmFsc2VcclxuICBASW5wdXQoKSBvY1RleHQ6IHN0cmluZyA9ICdGaWx0cm9zJ1xyXG4gIEBJbnB1dCgpIG9jQWN0aXZlOiBudW1iZXIgPSAwXHJcbiAgQElucHV0KCkgb2NTaWRlOiAnbGVmdCcgfCAncmlnaHQnID0gJ2xlZnQnXHJcblxyXG4gIHRvZ2dsZU9wZW4oKSB7XHJcbiAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlblxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwib2MtZmlsdGVyLXJvd1wiIFtuZ0NsYXNzXT1cIntcclxuICByZXZlcnNlOiBvY1NpZGUgPT09ICdyaWdodCdcclxufVwiPlxyXG4gIDxidXR0b24gY2xhc3M9XCJvYy1maWx0ZXItYnRuXCIgKGNsaWNrKT1cInRvZ2dsZU9wZW4oKVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+ZmlsdGVyX2xpc3Q8L3NwYW4+XHJcbiAgICB7e29jVGV4dH19XHJcbiAgICA8ZGl2IGNsYXNzPVwiYmFkZ2VcIj5cclxuICAgICAgPG9jLWJhZGdlICpuZ0lmPVwib2NBY3RpdmUgPiAwXCIgb2NTaXplPVwic21hbGxcIiBvY0NvbG9yPVwic3VjY2Vzc1wiIFtvY1dhdmVkXT1cInRydWVcIj57e29jQWN0aXZlfX08L29jLWJhZGdlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9idXR0b24+XHJcbiAgXHJcbiAgPGRpdiBjbGFzcz1cImZpbHRlci1yb3ctY29udGVudFwiPlxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Jvd11cIj48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcbiAgXHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwiaXNPcGVuXCIgY2xhc3M9XCJvYy1maWx0ZXItY29udGVudFwiPlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltib2R5XVwiPlxyXG4gIDwvbmctY29udGVudD5cclxuPC9kaXY+XHJcbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1maWx0ZXIvb2MtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1maWx0ZXIvb2MtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7Ozs7QUFXakUsTUFBTSxPQUFPLGlCQUFpQjtJQU81QixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQU4vQyxXQUFNLEdBQVksS0FBSyxDQUFBO1FBQ3ZCLFdBQU0sR0FBVyxTQUFTLENBQUE7UUFDMUIsYUFBUSxHQUFXLENBQUMsQ0FBQTtRQUNwQixXQUFNLEdBQXFCLE1BQU0sQ0FBQTtRQUNqQyxZQUFPLEdBQXFCLFFBQVEsQ0FBQTtJQUVjLENBQUM7SUFFNUQsZUFBZTtRQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDdkUsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUM1QixDQUFDOytHQWZVLGlCQUFpQjttR0FBakIsaUJBQWlCLGlMQ2I5Qixvc0JBcUJNLGczQkRaTSxZQUFZLGlPQUFFLGdCQUFnQjs7NEZBSTdCLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxXQUFXLGNBQ1QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDO3NGQUtoQyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IE9jQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9vYy1iYWRnZS9vYy1iYWRnZS5jb21wb25lbnQnXHJcbmltcG9ydCB7IE9jU3R5bGVUaGVtZVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29jLXN0eWxlLXRoZW1lJ1xyXG5pbXBvcnQgeyBTdHlsZVRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0eWxlLXRoZW1lLnNlcnZpY2UnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ29jLWZpbHRlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBPY0JhZGdlQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vb2MtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vb2MtZmlsdGVyLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9jRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgaXNPcGVuOiBib29sZWFuID0gZmFsc2VcclxuICBASW5wdXQoKSBvY1RleHQ6IHN0cmluZyA9ICdGaWx0cm9zJ1xyXG4gIEBJbnB1dCgpIG9jQWN0aXZlOiBudW1iZXIgPSAwXHJcbiAgQElucHV0KCkgb2NTaWRlOiAnbGVmdCcgfCAncmlnaHQnID0gJ2xlZnQnXHJcbiAgQElucHV0KCkgb2NTdHlsZTogT2NTdHlsZVRoZW1lVHlwZSA9ICdvdGltdXMnXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3R5bGVUaGVtZVNlcnZpY2U6IFN0eWxlVGhlbWVTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9jU3R5bGUgPSB0aGlzLnN0eWxlVGhlbWVTZXJ2aWNlLmdldFN0eWxlVGhlbWUoKSB8fCB0aGlzLm9jU3R5bGVcclxuICB9XHJcblxyXG4gIHRvZ2dsZU9wZW4oKSB7XHJcbiAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlblxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwib2MtZmlsdGVyLXJvd1wiIFtuZ0NsYXNzXT1cIntcclxuICByZXZlcnNlOiBvY1NpZGUgPT09ICdyaWdodCdcclxufVwiPlxyXG4gIDxidXR0b24gY2xhc3M9XCJvYy1maWx0ZXItYnRuXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgc2h1aTogb2NTdHlsZSA9PT0gJ3NodWknXHJcbiAgfVwiIChjbGljayk9XCJ0b2dnbGVPcGVuKClcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmZpbHRlcl9saXN0PC9zcGFuPlxyXG4gICAge3tvY1RleHR9fVxyXG4gICAgPGRpdiBjbGFzcz1cImJhZGdlXCI+XHJcbiAgICAgIDxvYy1iYWRnZSAqbmdJZj1cIm9jQWN0aXZlID4gMFwiIG9jU2l6ZT1cInNtYWxsXCIgb2NDb2xvcj1cInN1Y2Nlc3NcIiBbb2NXYXZlZF09XCJ0cnVlXCI+e3tvY0FjdGl2ZX19PC9vYy1iYWRnZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvYnV0dG9uPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXJvdy1jb250ZW50XCI+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcm93XVwiPjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwiaXNPcGVuXCIgY2xhc3M9XCJvYy1maWx0ZXItY29udGVudFwiPlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltib2R5XVwiPlxyXG4gIDwvbmctY29udGVudD5cclxuPC9kaXY+Il19