@ng-nest/ui 16.0.1 → 16.0.2
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.
- package/carousel/carousel.component.d.ts +2 -0
- package/core/config/config.d.ts +2 -0
- package/esm2022/carousel/carousel.component.mjs +8 -2
- package/esm2022/core/config/config.mjs +1 -1
- package/esm2022/input/input.component.mjs +45 -8
- package/esm2022/slider/slider.component.mjs +27 -5
- package/esm2022/slider/slider.property.mjs +7 -2
- package/esm2022/statistic/countdown.component.mjs +8 -2
- package/esm2022/tabs/tabs.component.mjs +3 -3
- package/esm2022/tabs/tabs.property.mjs +7 -2
- package/fesm2022/ng-nest-ui-carousel.mjs +7 -2
- package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +44 -7
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider.mjs +32 -5
- package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-statistic.mjs +7 -2
- package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tabs.mjs +9 -4
- package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
- package/input/input.component.d.ts +6 -0
- package/package.json +18 -18
- package/slider/slider.component.d.ts +6 -0
- package/slider/slider.property.d.ts +12 -2
- package/statistic/countdown.component.d.ts +2 -0
- package/tabs/tabs.property.d.ts +12 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild } from '@angular/core';
|
|
2
2
|
import { XSliderPrefix, XSliderProperty } from './slider.property';
|
|
3
3
|
import { XIsChange, XResize, XIsUndefined, XIsEmpty, XSetData } from '@ng-nest/ui/core';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { takeUntil, debounceTime } from 'rxjs/operators';
|
|
4
|
+
import { Subject, of } from 'rxjs';
|
|
5
|
+
import { takeUntil, debounceTime, delay } from 'rxjs/operators';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@ng-nest/ui/core";
|
|
8
8
|
import * as i2 from "@angular/common";
|
|
@@ -36,6 +36,8 @@ class XSliderComponent extends XSliderProperty {
|
|
|
36
36
|
this.nodeClassMap = {};
|
|
37
37
|
this.showArrow = false;
|
|
38
38
|
this.activatedId = '';
|
|
39
|
+
this.hoverDelay = 200;
|
|
40
|
+
this.hoverDelayUnsub = new Subject();
|
|
39
41
|
this._offset = 0;
|
|
40
42
|
this.direction = 'right';
|
|
41
43
|
this.maxOffset = 0;
|
|
@@ -62,6 +64,8 @@ class XSliderComponent extends XSliderProperty {
|
|
|
62
64
|
this._unSubject.next();
|
|
63
65
|
this._unSubject.unsubscribe();
|
|
64
66
|
this._resizeObserver?.disconnect();
|
|
67
|
+
this.hoverDelayUnsub.next();
|
|
68
|
+
this.hoverDelayUnsub.complete();
|
|
65
69
|
}
|
|
66
70
|
ngAfterViewInit() {
|
|
67
71
|
this.setSubscribe();
|
|
@@ -89,6 +93,24 @@ class XSliderComponent extends XSliderProperty {
|
|
|
89
93
|
this.setActivated();
|
|
90
94
|
});
|
|
91
95
|
}
|
|
96
|
+
onEnter(event, node, index) {
|
|
97
|
+
if (node.disabled || this.trigger === 'click')
|
|
98
|
+
return;
|
|
99
|
+
of(true)
|
|
100
|
+
.pipe(delay(this.hoverDelay), takeUntil(this.hoverDelayUnsub))
|
|
101
|
+
.subscribe(() => {
|
|
102
|
+
if (this.timeoutHide) {
|
|
103
|
+
clearTimeout(this.timeoutHide);
|
|
104
|
+
this.timeoutHide = null;
|
|
105
|
+
}
|
|
106
|
+
this.nodeClick(event, node, index);
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
onLeave(node) {
|
|
110
|
+
if (node.disabled || this.trigger === 'click')
|
|
111
|
+
return;
|
|
112
|
+
this.hoverDelayUnsub.next();
|
|
113
|
+
}
|
|
92
114
|
nodeClick(event, node, index) {
|
|
93
115
|
if (event) {
|
|
94
116
|
event.preventDefault();
|
|
@@ -232,12 +254,12 @@ class XSliderComponent extends XSliderProperty {
|
|
|
232
254
|
return item.id;
|
|
233
255
|
}
|
|
234
256
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: XSliderComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
235
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: XSliderComponent, selector: "x-slider", viewQueries: [{ propertyName: "sliderScroll", first: true, predicate: ["sliderScroll"], descendants: true }, { propertyName: "sliderNodes", first: true, predicate: ["sliderNodes"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #slider class=\"x-slider\" [ngClass]=\"classMap\">\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === 0\"\r\n class=\"x-slider-arrow-left\"\r\n icon=\"fto-chevron-left\"\r\n (click)=\"scrollPrev()\"\r\n ></x-link>\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap\">\r\n <ul #sliderNodes [style.transform]=\"transform\">\r\n <li\r\n *ngFor=\"let node of nodes; index as i; trackBy: trackByNode\"\r\n [class.x-slider-activated]=\"getActivated(i)\"\r\n [class.x-slider-disabled]=\"node.disabled\"\r\n [title]=\"node.label\"\r\n >\r\n <x-link\r\n (click)=\"nodeClick($event, node, i)\"\r\n [ngClass]=\"nodeClassMap\"\r\n [href]=\"showAnchor ? '#' + node.id : ''\"\r\n [preventDefault]=\"showAnchor\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n </ng-container>\r\n </x-link>\r\n </li>\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated\" [ngStyle]=\"highlightBox\"></li>\r\n </ul>\r\n </div>\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === maxOffset\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n <x-dropdown\r\n *ngIf=\"showExpand && showArrow && layout === 'row'\"\r\n class=\"x-slider-all\"\r\n [data]=\"nodes\"\r\n trigger=\"click\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"dropdownClick($event)\"\r\n [portalMaxHeight]=\"expandMaxHeight\"\r\n >\r\n <x-button icon=\"fto-list\" onlyIcon [size]=\"size\"> </x-button>\r\n </x-dropdown>\r\n</div>\r\n", styles: [".x-slider{margin:0;padding:0;position:relative;display:flex;align-items:center;height:100%}.x-slider-scroll{overflow:hidden;flex:1;display:inline-flex}.x-slider-scroll.x-justify-start{justify-content:flex-start}.x-slider-scroll.x-justify-center{justify-content:center}.x-slider-scroll.x-justify-end{justify-content:flex-end}.x-slider-scroll.x-justify-space-between{justify-content:space-between}.x-slider-scroll.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul{display:inline-flex;align-items:center;position:relative;transition:transform var(--x-animation-duration-base)}.x-slider-scroll>ul>li{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2}.x-slider-scroll>ul>li x-link{flex:1}.x-slider-scroll>ul>li x-link.x-justify-start{justify-content:flex-start}.x-slider-scroll>ul>li x-link.x-justify-center{justify-content:center}.x-slider-scroll>ul>li x-link.x-justify-end{justify-content:flex-end}.x-slider-scroll>ul>li x-link.x-justify-space-between{justify-content:space-between}.x-slider-scroll>ul>li x-link.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul>li x-link.x-size-big{height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-slider-scroll>ul>li x-link.x-size-large{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-slider-scroll>ul>li x-link.x-size-medium{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-slider-scroll>ul>li x-link.x-size-small{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-slider-scroll>ul>li x-link.x-size-mini{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-slider-scroll>ul>li.x-slider-highlight{position:absolute;left:0;top:0;z-index:1;width:0;height:0;border-radius:var(--x-border-radius);background-color:#0000000d;border:.0625rem solid var(--x-border)}.x-slider-scroll>ul>li.x-slider-highlight-animated{transition:width var(--x-animation-duration-base),left var(--x-animation-duration-base),height var(--x-animation-duration-base),top var(--x-animation-duration-base)}.x-slider-activated{color:var(--x-primary)}.x-slider-disabled{color:var(--x-text-400)!important;cursor:not-allowed!important}.x-slider-disabled .x-link{cursor:not-allowed!important}.x-slider-disabled .x-link:hover{color:var(--x-text-400)!important}.x-slider-arrow-left,.x-slider-arrow-right{height:1.675rem;line-height:1.675rem}.x-slider-arrow-left>x-icon,.x-slider-arrow-right>x-icon{margin-right:0}.x-slider-arrow-left .x-link,.x-slider-arrow-right .x-link{padding:.5rem}.x-slider-show-arrow>.x-slider-scroll{justify-content:start!important}.x-slider-row>.x-slider-scroll>ul{flex-direction:row}.x-slider-column{display:inline-flex;flex-direction:column}.x-slider-column>.x-slider-scroll{display:inline-block}.x-slider-column>.x-slider-scroll>ul{flex-direction:column}.x-slider-column>.x-slider-scroll>ul>li{display:flex;width:100%}.x-slider-column>.x-slider-arrow-left,.x-slider-column>.x-slider-arrow-right{transform:rotate(90deg)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.XLinkComponent, selector: "x-link" }, { kind: "component", type: i4.XButtonComponent, selector: "x-button" }, { kind: "directive", type: i5.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i6.XDropdownComponent, selector: "x-dropdown" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
257
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: XSliderComponent, selector: "x-slider", viewQueries: [{ propertyName: "sliderScroll", first: true, predicate: ["sliderScroll"], descendants: true }, { propertyName: "sliderNodes", first: true, predicate: ["sliderNodes"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #slider class=\"x-slider\" [ngClass]=\"classMap\">\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === 0\"\r\n class=\"x-slider-arrow-left\"\r\n icon=\"fto-chevron-left\"\r\n (click)=\"scrollPrev()\"\r\n ></x-link>\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap\">\r\n <ul #sliderNodes [style.transform]=\"transform\">\r\n <li\r\n *ngFor=\"let node of nodes; index as i; trackBy: trackByNode\"\r\n [class.x-slider-activated]=\"getActivated(i)\"\r\n [class.x-slider-disabled]=\"node.disabled\"\r\n [title]=\"node.label\"\r\n >\r\n <x-link\r\n (click)=\"nodeClick($event, node, i)\"\r\n (mouseenter)=\"onEnter($event, node, i)\"\r\n (mouseleave)=\"onLeave(node)\"\r\n [ngClass]=\"nodeClassMap\"\r\n [href]=\"showAnchor ? '#' + node.id : ''\"\r\n [preventDefault]=\"showAnchor\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n </ng-container>\r\n </x-link>\r\n </li>\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated\" [ngStyle]=\"highlightBox\"></li>\r\n </ul>\r\n </div>\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === maxOffset\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n <x-dropdown\r\n *ngIf=\"showExpand && showArrow && layout === 'row'\"\r\n class=\"x-slider-all\"\r\n [data]=\"nodes\"\r\n trigger=\"click\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"dropdownClick($event)\"\r\n [portalMaxHeight]=\"expandMaxHeight\"\r\n >\r\n <x-button icon=\"fto-list\" onlyIcon [size]=\"size\"> </x-button>\r\n </x-dropdown>\r\n</div>\r\n", styles: [".x-slider{margin:0;padding:0;position:relative;display:flex;align-items:center;height:100%}.x-slider-scroll{overflow:hidden;flex:1;display:inline-flex}.x-slider-scroll.x-justify-start{justify-content:flex-start}.x-slider-scroll.x-justify-center{justify-content:center}.x-slider-scroll.x-justify-end{justify-content:flex-end}.x-slider-scroll.x-justify-space-between{justify-content:space-between}.x-slider-scroll.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul{display:inline-flex;align-items:center;position:relative;transition:transform var(--x-animation-duration-base)}.x-slider-scroll>ul>li{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2}.x-slider-scroll>ul>li x-link{flex:1}.x-slider-scroll>ul>li x-link.x-justify-start{justify-content:flex-start}.x-slider-scroll>ul>li x-link.x-justify-center{justify-content:center}.x-slider-scroll>ul>li x-link.x-justify-end{justify-content:flex-end}.x-slider-scroll>ul>li x-link.x-justify-space-between{justify-content:space-between}.x-slider-scroll>ul>li x-link.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul>li x-link.x-size-big{height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-slider-scroll>ul>li x-link.x-size-large{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-slider-scroll>ul>li x-link.x-size-medium{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-slider-scroll>ul>li x-link.x-size-small{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-slider-scroll>ul>li x-link.x-size-mini{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-slider-scroll>ul>li.x-slider-highlight{position:absolute;left:0;top:0;z-index:1;width:0;height:0;border-radius:var(--x-border-radius);background-color:#0000000d;border:.0625rem solid var(--x-border)}.x-slider-scroll>ul>li.x-slider-highlight-animated{transition:width var(--x-animation-duration-base),left var(--x-animation-duration-base),height var(--x-animation-duration-base),top var(--x-animation-duration-base)}.x-slider-activated{color:var(--x-primary)}.x-slider-disabled{color:var(--x-text-400)!important;cursor:not-allowed!important}.x-slider-disabled .x-link{cursor:not-allowed!important}.x-slider-disabled .x-link:hover{color:var(--x-text-400)!important}.x-slider-arrow-left,.x-slider-arrow-right{height:1.675rem;line-height:1.675rem}.x-slider-arrow-left>x-icon,.x-slider-arrow-right>x-icon{margin-right:0}.x-slider-arrow-left .x-link,.x-slider-arrow-right .x-link{padding:.5rem}.x-slider-show-arrow>.x-slider-scroll{justify-content:start!important}.x-slider-row>.x-slider-scroll>ul{flex-direction:row}.x-slider-column{display:inline-flex;flex-direction:column}.x-slider-column>.x-slider-scroll{display:inline-block}.x-slider-column>.x-slider-scroll>ul{flex-direction:column}.x-slider-column>.x-slider-scroll>ul>li{display:flex;width:100%}.x-slider-column>.x-slider-arrow-left,.x-slider-column>.x-slider-arrow-right{transform:rotate(90deg)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.XLinkComponent, selector: "x-link" }, { kind: "component", type: i4.XButtonComponent, selector: "x-button" }, { kind: "directive", type: i5.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i6.XDropdownComponent, selector: "x-dropdown" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
236
258
|
}
|
|
237
259
|
export { XSliderComponent };
|
|
238
260
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: XSliderComponent, decorators: [{
|
|
239
261
|
type: Component,
|
|
240
|
-
args: [{ selector: `${XSliderPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #slider class=\"x-slider\" [ngClass]=\"classMap\">\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === 0\"\r\n class=\"x-slider-arrow-left\"\r\n icon=\"fto-chevron-left\"\r\n (click)=\"scrollPrev()\"\r\n ></x-link>\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap\">\r\n <ul #sliderNodes [style.transform]=\"transform\">\r\n <li\r\n *ngFor=\"let node of nodes; index as i; trackBy: trackByNode\"\r\n [class.x-slider-activated]=\"getActivated(i)\"\r\n [class.x-slider-disabled]=\"node.disabled\"\r\n [title]=\"node.label\"\r\n >\r\n <x-link\r\n (click)=\"nodeClick($event, node, i)\"\r\n [ngClass]=\"nodeClassMap\"\r\n [href]=\"showAnchor ? '#' + node.id : ''\"\r\n [preventDefault]=\"showAnchor\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n </ng-container>\r\n </x-link>\r\n </li>\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated\" [ngStyle]=\"highlightBox\"></li>\r\n </ul>\r\n </div>\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === maxOffset\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n <x-dropdown\r\n *ngIf=\"showExpand && showArrow && layout === 'row'\"\r\n class=\"x-slider-all\"\r\n [data]=\"nodes\"\r\n trigger=\"click\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"dropdownClick($event)\"\r\n [portalMaxHeight]=\"expandMaxHeight\"\r\n >\r\n <x-button icon=\"fto-list\" onlyIcon [size]=\"size\"> </x-button>\r\n </x-dropdown>\r\n</div>\r\n", styles: [".x-slider{margin:0;padding:0;position:relative;display:flex;align-items:center;height:100%}.x-slider-scroll{overflow:hidden;flex:1;display:inline-flex}.x-slider-scroll.x-justify-start{justify-content:flex-start}.x-slider-scroll.x-justify-center{justify-content:center}.x-slider-scroll.x-justify-end{justify-content:flex-end}.x-slider-scroll.x-justify-space-between{justify-content:space-between}.x-slider-scroll.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul{display:inline-flex;align-items:center;position:relative;transition:transform var(--x-animation-duration-base)}.x-slider-scroll>ul>li{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2}.x-slider-scroll>ul>li x-link{flex:1}.x-slider-scroll>ul>li x-link.x-justify-start{justify-content:flex-start}.x-slider-scroll>ul>li x-link.x-justify-center{justify-content:center}.x-slider-scroll>ul>li x-link.x-justify-end{justify-content:flex-end}.x-slider-scroll>ul>li x-link.x-justify-space-between{justify-content:space-between}.x-slider-scroll>ul>li x-link.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul>li x-link.x-size-big{height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-slider-scroll>ul>li x-link.x-size-large{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-slider-scroll>ul>li x-link.x-size-medium{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-slider-scroll>ul>li x-link.x-size-small{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-slider-scroll>ul>li x-link.x-size-mini{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-slider-scroll>ul>li.x-slider-highlight{position:absolute;left:0;top:0;z-index:1;width:0;height:0;border-radius:var(--x-border-radius);background-color:#0000000d;border:.0625rem solid var(--x-border)}.x-slider-scroll>ul>li.x-slider-highlight-animated{transition:width var(--x-animation-duration-base),left var(--x-animation-duration-base),height var(--x-animation-duration-base),top var(--x-animation-duration-base)}.x-slider-activated{color:var(--x-primary)}.x-slider-disabled{color:var(--x-text-400)!important;cursor:not-allowed!important}.x-slider-disabled .x-link{cursor:not-allowed!important}.x-slider-disabled .x-link:hover{color:var(--x-text-400)!important}.x-slider-arrow-left,.x-slider-arrow-right{height:1.675rem;line-height:1.675rem}.x-slider-arrow-left>x-icon,.x-slider-arrow-right>x-icon{margin-right:0}.x-slider-arrow-left .x-link,.x-slider-arrow-right .x-link{padding:.5rem}.x-slider-show-arrow>.x-slider-scroll{justify-content:start!important}.x-slider-row>.x-slider-scroll>ul{flex-direction:row}.x-slider-column{display:inline-flex;flex-direction:column}.x-slider-column>.x-slider-scroll{display:inline-block}.x-slider-column>.x-slider-scroll>ul{flex-direction:column}.x-slider-column>.x-slider-scroll>ul>li{display:flex;width:100%}.x-slider-column>.x-slider-arrow-left,.x-slider-column>.x-slider-arrow-right{transform:rotate(90deg)}\n"] }]
|
|
262
|
+
args: [{ selector: `${XSliderPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #slider class=\"x-slider\" [ngClass]=\"classMap\">\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === 0\"\r\n class=\"x-slider-arrow-left\"\r\n icon=\"fto-chevron-left\"\r\n (click)=\"scrollPrev()\"\r\n ></x-link>\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap\">\r\n <ul #sliderNodes [style.transform]=\"transform\">\r\n <li\r\n *ngFor=\"let node of nodes; index as i; trackBy: trackByNode\"\r\n [class.x-slider-activated]=\"getActivated(i)\"\r\n [class.x-slider-disabled]=\"node.disabled\"\r\n [title]=\"node.label\"\r\n >\r\n <x-link\r\n (click)=\"nodeClick($event, node, i)\"\r\n (mouseenter)=\"onEnter($event, node, i)\"\r\n (mouseleave)=\"onLeave(node)\"\r\n [ngClass]=\"nodeClassMap\"\r\n [href]=\"showAnchor ? '#' + node.id : ''\"\r\n [preventDefault]=\"showAnchor\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n </ng-container>\r\n </x-link>\r\n </li>\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated\" [ngStyle]=\"highlightBox\"></li>\r\n </ul>\r\n </div>\r\n <x-link\r\n *ngIf=\"autoShowArrow && showArrow\"\r\n [disabled]=\"offset === maxOffset\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n <x-dropdown\r\n *ngIf=\"showExpand && showArrow && layout === 'row'\"\r\n class=\"x-slider-all\"\r\n [data]=\"nodes\"\r\n trigger=\"click\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"dropdownClick($event)\"\r\n [portalMaxHeight]=\"expandMaxHeight\"\r\n >\r\n <x-button icon=\"fto-list\" onlyIcon [size]=\"size\"> </x-button>\r\n </x-dropdown>\r\n</div>\r\n", styles: [".x-slider{margin:0;padding:0;position:relative;display:flex;align-items:center;height:100%}.x-slider-scroll{overflow:hidden;flex:1;display:inline-flex}.x-slider-scroll.x-justify-start{justify-content:flex-start}.x-slider-scroll.x-justify-center{justify-content:center}.x-slider-scroll.x-justify-end{justify-content:flex-end}.x-slider-scroll.x-justify-space-between{justify-content:space-between}.x-slider-scroll.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul{display:inline-flex;align-items:center;position:relative;transition:transform var(--x-animation-duration-base)}.x-slider-scroll>ul>li{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2}.x-slider-scroll>ul>li x-link{flex:1}.x-slider-scroll>ul>li x-link.x-justify-start{justify-content:flex-start}.x-slider-scroll>ul>li x-link.x-justify-center{justify-content:center}.x-slider-scroll>ul>li x-link.x-justify-end{justify-content:flex-end}.x-slider-scroll>ul>li x-link.x-justify-space-between{justify-content:space-between}.x-slider-scroll>ul>li x-link.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul>li x-link.x-size-big{height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-slider-scroll>ul>li x-link.x-size-large{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-slider-scroll>ul>li x-link.x-size-medium{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-slider-scroll>ul>li x-link.x-size-small{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-slider-scroll>ul>li x-link.x-size-mini{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-slider-scroll>ul>li.x-slider-highlight{position:absolute;left:0;top:0;z-index:1;width:0;height:0;border-radius:var(--x-border-radius);background-color:#0000000d;border:.0625rem solid var(--x-border)}.x-slider-scroll>ul>li.x-slider-highlight-animated{transition:width var(--x-animation-duration-base),left var(--x-animation-duration-base),height var(--x-animation-duration-base),top var(--x-animation-duration-base)}.x-slider-activated{color:var(--x-primary)}.x-slider-disabled{color:var(--x-text-400)!important;cursor:not-allowed!important}.x-slider-disabled .x-link{cursor:not-allowed!important}.x-slider-disabled .x-link:hover{color:var(--x-text-400)!important}.x-slider-arrow-left,.x-slider-arrow-right{height:1.675rem;line-height:1.675rem}.x-slider-arrow-left>x-icon,.x-slider-arrow-right>x-icon{margin-right:0}.x-slider-arrow-left .x-link,.x-slider-arrow-right .x-link{padding:.5rem}.x-slider-show-arrow>.x-slider-scroll{justify-content:start!important}.x-slider-row>.x-slider-scroll>ul{flex-direction:row}.x-slider-column{display:inline-flex;flex-direction:column}.x-slider-column>.x-slider-scroll{display:inline-block}.x-slider-column>.x-slider-scroll>ul{flex-direction:column}.x-slider-column>.x-slider-scroll>ul>li{display:flex;width:100%}.x-slider-column>.x-slider-arrow-left,.x-slider-column>.x-slider-arrow-right{transform:rotate(90deg)}\n"] }]
|
|
241
263
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { sliderScroll: [{
|
|
242
264
|
type: ViewChild,
|
|
243
265
|
args: ['sliderScroll']
|
|
@@ -245,4 +267,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
245
267
|
type: ViewChild,
|
|
246
268
|
args: ['sliderNodes']
|
|
247
269
|
}] } });
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NsaWRlci9zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyL3NsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUlqQix1QkFBdUIsRUFHdkIsU0FBUyxFQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQWUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFhLFNBQVMsRUFBRSxPQUFPLEVBQWEsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQW1DLE1BQU0sa0JBQWtCLENBQUM7QUFDL0ksT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQUV6RCxNQU9hLGdCQUFpQixTQUFRLGVBQWU7SUFVbkQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksSUFBSSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUM7UUFDNUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR0QsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFD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QUFjLENBQUMsS0FBSyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLEVBQUUsSUFBaUI7UUFDM0MsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7aUlBN09VLGdCQUFnQjtxSEFBaEIsZ0JBQWdCLHVTQzNCN0IsazVEQWtEQTs7U0R2QmEsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0UsR0FBRyxhQUFhLEVBQUUsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTtzTEFHcEIsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQUNDLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgU2ltcGxlQ2hhbmdlXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhTbGlkZXJQcmVmaXgsIFhTbGlkZXJOb2RlLCBYU2xpZGVyUHJvcGVydHkgfSBmcm9tICcuL3NsaWRlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhDbGFzc01hcCwgWElzQ2hhbmdlLCBYUmVzaXplLCBYUG9zaXRpb24sIFhJc1VuZGVmaW5lZCwgWElzRW1wdHksIFhTZXREYXRhLCBYQ29uZmlnU2VydmljZSwgWFJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WFNsaWRlclByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NsaWRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhTbGlkZXJDb21wb25lbnQgZXh0ZW5kcyBYU2xpZGVyUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuICBAVmlld0NoaWxkKCdzbGlkZXJTY3JvbGwnKSBzbGlkZXJTY3JvbGwhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdzbGlkZXJOb2RlcycpIHNsaWRlck5vZGVzITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgbm9kZXM6IFhTbGlkZXJOb2RlW10gPSBbXTtcclxuICBhY3RpdmF0ZWQhOiBYU2xpZGVyTm9kZSB8IG51bGw7XHJcbiAgc2Nyb2xsQ2xhc3NNYXA6IFhDbGFzc01hcCA9IHt9O1xyXG4gIG5vZGVDbGFzc01hcDogWENsYXNzTWFwID0ge307XHJcbiAgc2hvd0Fycm93ID0gZmFsc2U7XHJcbiAgYWN0aXZhdGVkSWQgPSAnJztcclxuICBwcml2YXRlIF9vZmZzZXQ6IG51bWJlciA9IDA7XHJcbiAgZ2V0IG9mZnNldCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX29mZnNldDtcclxuICB9XHJcbiAgc2V0IG9mZnNldCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9vZmZzZXQgPSBNYXRoLmZsb29yKHZhbHVlKTtcclxuICAgIHRoaXMudHJhbnNmb3JtID0gYHRyYW5zbGF0ZSR7dGhpcy5kaXJ9KC0ke3RoaXMuX29mZnNldH1weClgO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBkaXJlY3Rpb246IFhQb3NpdGlvbiA9ICdyaWdodCc7XHJcbiAgbWF4T2Zmc2V0OiBudW1iZXIgPSAwO1xyXG4gIGdldCBkaXIoKTogJ1gnIHwgJ1knIHtcclxuICAgIHJldHVybiB0aGlzLmxheW91dCA9PT0gJ3JvdycgPyAnWCcgOiAnWSc7XHJcbiAgfVxyXG4gIGdldCBzaXplTmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmxheW91dCA9PT0gJ3JvdycgPyAnV2lkdGgnIDogJ0hlaWdodCc7XHJcbiAgfVxyXG4gIHRyYW5zZm9ybT86IHN0cmluZztcclxuICBoaWdobGlnaHRCb3ggPSB7XHJcbiAgICB3aWR0aDogJycsXHJcbiAgICBoZWlnaHQ6ICcnLFxyXG4gICAgbGVmdDogJycsXHJcbiAgICB0b3A6ICcnXHJcbiAgfTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyITogWFJlc2l6ZU9ic2VydmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgbGF5b3V0LCBqdXN0aWZ5LCBub2RlSnVzdGlmeSwgYWN0aXZhdGVkSW5kZXggfSA9IGNoYW5nZXM7XHJcbiAgICBYSXNDaGFuZ2UoZGF0YSkgJiYgdGhpcy5zZXREYXRhKCk7XHJcbiAgICBYSXNDaGFuZ2UobGF5b3V0KSAmJiB0aGlzLnNldENoYW5nZSh0aGlzLmNsYXNzTWFwLCBsYXlvdXQpO1xyXG4gICAgWElzQ2hhbmdlKGp1c3RpZnkpICYmIHRoaXMuc2V0Q2hhbmdlKHRoaXMuc2Nyb2xsQ2xhc3NNYXAsIGp1c3RpZnksICd4LWp1c3RpZnknKTtcclxuICAgIFhJc0NoYW5nZShub2RlSnVzdGlmeSkgJiYgdGhpcy5zZXRDaGFuZ2UodGhpcy5ub2RlQ2xhc3NNYXAsIG5vZGVKdXN0aWZ5LCAneC1qdXN0aWZ5Jyk7XHJcbiAgICBYSXNDaGFuZ2UoYWN0aXZhdGVkSW5kZXgpICYmIHRoaXMuc2V0RGlyZWN0aW9uKGFjdGl2YXRlZEluZGV4LmN1cnJlbnRWYWx1ZSwgYWN0aXZhdGVkSW5kZXgucHJldmlvdXNWYWx1ZSkgJiYgdGhpcy5zZXRBY3RpdmF0ZWQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0U3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnNldEFjdGl2YXRlZCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICB0aGlzLmNsYXNzTWFwW2Ake1hTbGlkZXJQcmVmaXh9LSR7dGhpcy5sYXlvdXR9YF0gPSAhWElzRW1wdHkodGhpcy5sYXlvdXQpO1xyXG4gICAgdGhpcy5zY3JvbGxDbGFzc01hcFtgeC1qdXN0aWZ5LSR7dGhpcy5qdXN0aWZ5fWBdID0gIVhJc0VtcHR5KHRoaXMuanVzdGlmeSk7XHJcbiAgICB0aGlzLm5vZGVDbGFzc01hcCA9IHtcclxuICAgICAgW2B4LWp1c3RpZnktJHt0aGlzLm5vZGVKdXN0aWZ5fWBdOiAhWElzRW1wdHkodGhpcy5ub2RlSnVzdGlmeSksXHJcbiAgICAgIFtgeC1zaXplLSR7dGhpcy5zaXplfWBdOiAhWElzRW1wdHkodGhpcy5zaXplKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldENoYW5nZShtYXA6IFhDbGFzc01hcCwgY2hhbmdlOiBTaW1wbGVDaGFuZ2UsIHByZWZpeCA9IFhTbGlkZXJQcmVmaXgpIHtcclxuICAgIG1hcFtgJHtwcmVmaXh9LSR7Y2hhbmdlLnByZXZpb3VzVmFsdWV9YF0gPSBmYWxzZTtcclxuICAgIG1hcFtgJHtwcmVmaXh9LSR7Y2hhbmdlLmN1cnJlbnRWYWx1ZX1gXSA9IHRydWU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJzY3JpYmUoKSB7XHJcbiAgICBYUmVzaXplKHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnQsIHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudClcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwKSwgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLl9yZXNpemVPYnNlcnZlciA9IHgucmVzaXplT2JzZXJ2ZXI7XHJcbiAgICAgICAgdGhpcy5zaXplQ2hlY2tlZCgpO1xyXG4gICAgICAgIHRoaXMuc2V0QWN0aXZhdGVkKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbm9kZUNsaWNrKGV2ZW50OiBFdmVudCB8IG51bGwsIG5vZGU6IFhTbGlkZXJOb2RlLCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5zZXREaXJlY3Rpb24oaW5kZXgsIE51bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KSk7XHJcbiAgICB0aGlzLmFjdGl2YXRlZEluZGV4ID0gaW5kZXg7XHJcbiAgICB0aGlzLmFjdGl2YXRlZCA9IG5vZGU7XHJcbiAgICB0aGlzLmFjdGl2YXRlZElkID0gbm9kZS5pZDtcclxuICAgIHRoaXMuc2V0SGlnaGxpZ2h0KCk7XHJcbiAgICB0aGlzLnNldFRyYW5zbGF0ZSgpO1xyXG4gICAgdGhpcy5pbmRleENoYW5nZS5lbWl0KGluZGV4KTtcclxuICAgIHRoaXMubm9kZUNoYW5nZS5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgZHJvcGRvd25DbGljayhub2RlOiBYU2xpZGVyTm9kZSkge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLm5vZGVzLmluZGV4T2Yobm9kZSk7XHJcbiAgICB0aGlzLm5vZGVDbGljayhudWxsLCBub2RlLCBpbmRleCk7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxQcmV2KCkge1xyXG4gICAgaWYgKHRoaXMub2Zmc2V0ID09PSAwKSByZXR1cm47XHJcbiAgICBjb25zdCBzY3JvbGxTaXplID0gdGhpcy5zbGlkZXJTY3JvbGwubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lfWBdO1xyXG4gICAgY29uc3QgY3VycmVudE9mZnNldCA9IHRoaXMub2Zmc2V0O1xyXG4gICAgaWYgKCFjdXJyZW50T2Zmc2V0KSByZXR1cm47XHJcbiAgICBjb25zdCBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ID4gc2Nyb2xsU2l6ZSA/IGN1cnJlbnRPZmZzZXQgLSBzY3JvbGxTaXplIDogMDtcclxuICAgIHRoaXMub2Zmc2V0ID0gb2Zmc2V0O1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsTmV4dCgpIHtcclxuICAgIGlmICh0aGlzLm9mZnNldCA9PT0gdGhpcy5tYXhPZmZzZXQpIHJldHVybjtcclxuICAgIGNvbnN0IHNsaWRlclNpemUgPSB0aGlzLnNsaWRlck5vZGVzLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZX1gXTtcclxuICAgIGNvbnN0IHNjcm9sbFNpemUgPSB0aGlzLnNsaWRlclNjcm9sbC5uYXRpdmVFbGVtZW50W2BvZmZzZXQke3RoaXMuc2l6ZU5hbWV9YF07XHJcbiAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XHJcbiAgICBpZiAoc2xpZGVyU2l6ZSAtIGN1cnJlbnRPZmZzZXQgPD0gc2Nyb2xsU2l6ZSkgcmV0dXJuO1xyXG4gICAgY29uc3Qgb2Zmc2V0ID0gc2xpZGVyU2l6ZSAtIGN1cnJlbnRPZmZzZXQgPiBzY3JvbGxTaXplICogMiA/IGN1cnJlbnRPZmZzZXQgKyBzY3JvbGxTaXplIDogc2xpZGVyU2l6ZSAtIHNjcm9sbFNpemU7XHJcbiAgICB0aGlzLm9mZnNldCA9IG9mZnNldDtcclxuICB9XHJcblxyXG4gIHNldERpcmVjdGlvbihpbmRleDogbnVtYmVyLCBiZWZvcmU6IG51bWJlcikge1xyXG4gICAgY29uc3QgaW5jcmVhc2UgPSBpbmRleCA+IGJlZm9yZTtcclxuICAgIHRoaXMuZGlyZWN0aW9uID0gdGhpcy5sYXlvdXQgPT09ICdyb3cnID8gKGluY3JlYXNlID8gJ3JpZ2h0JyA6ICdsZWZ0JykgOiBpbmNyZWFzZSA/ICdib3R0b20nIDogJ3RvcCc7XHJcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb247XHJcbiAgfVxyXG5cclxuICBzZXRUcmFuc2xhdGUoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIFhJc1VuZGVmaW5lZCh0aGlzLnNsaWRlclNjcm9sbCkgfHxcclxuICAgICAgWElzVW5kZWZpbmVkKHRoaXMuc2xpZGVyTm9kZXMpIHx8XHJcbiAgICAgIHR5cGVvZiB0aGlzLnNsaWRlclNjcm9sbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCAhPT0gJ2Z1bmN0aW9uJ1xyXG4gICAgKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCBzbGlkZXJSZWN0ID0gdGhpcy5zbGlkZXJTY3JvbGwubmF0aXZlRWxlbWVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBzbGlkZXJOb2Rlc1JlY3QgPSB0aGlzLnNsaWRlck5vZGVzLm5hdGl2ZUVsZW1lbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgbGV0IG1vdmVJbmRleCA9IFsnYm90dG9tJywgJ3JpZ2h0J10uaW5kZXhPZih0aGlzLmRpcmVjdGlvbikgIT09IC0xID8gTnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpICsgMiA6IE51bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KTtcclxuICAgIG1vdmVJbmRleCA9IG1vdmVJbmRleCA+IHRoaXMubm9kZXMubGVuZ3RoID8gdGhpcy5ub2Rlcy5sZW5ndGggOiBtb3ZlSW5kZXggPT09IDAgPyAxIDogbW92ZUluZGV4O1xyXG4gICAgbGV0IG1vdmVFbGUgPSB0aGlzLnNsaWRlck5vZGVzLm5hdGl2ZUVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoYGxpOm50aC1jaGlsZCgke21vdmVJbmRleH0pYCk7XHJcbiAgICBsZXQgbWF4T2Zmc2V0ID0gMDtcclxuICAgIGlmIChYSXNFbXB0eShtb3ZlRWxlKSkgcmV0dXJuO1xyXG4gICAgY29uc3QgbW92ZVJlY3QgPSBtb3ZlRWxlIS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IGN1cnJlbnRPZmZzZXQgPSB0aGlzLm9mZnNldDtcclxuICAgIGxldCBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0O1xyXG4gICAgaWYgKHRoaXMubGF5b3V0ID09PSAncm93Jykge1xyXG4gICAgICBtYXhPZmZzZXQgPSBzbGlkZXJOb2Rlc1JlY3Qud2lkdGggLSBzbGlkZXJSZWN0LndpZHRoO1xyXG4gICAgICBpZiAobW92ZVJlY3QubGVmdCA8IHNsaWRlclJlY3QubGVmdCkge1xyXG4gICAgICAgIG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgLSAoc2xpZGVyUmVjdC5sZWZ0IC0gbW92ZVJlY3QubGVmdCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG1vdmVSZWN0LnJpZ2h0ID4gc2xpZGVyUmVjdC5yaWdodCkge1xyXG4gICAgICAgIG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgKyBtb3ZlUmVjdC5yaWdodCAtIHNsaWRlclJlY3QucmlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG1heE9mZnNldCA9IHNsaWRlck5vZGVzUmVjdC5oZWlnaHQgLSBzbGlkZXJSZWN0LmhlaWdodDtcclxuICAgICAgaWYgKG1vdmVSZWN0LnRvcCA8IHNsaWRlclJlY3QudG9wKSB7XHJcbiAgICAgICAgb2Zmc2V0ID0gY3VycmVudE9mZnNldCAtIChzbGlkZXJSZWN0LnRvcCAtIG1vdmVSZWN0LnRvcCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG1vdmVSZWN0LmJvdHRvbSA+IHNsaWRlclJlY3QuYm90dG9tKSB7XHJcbiAgICAgICAgb2Zmc2V0ID0gY3VycmVudE9mZnNldCArIChtb3ZlUmVjdC5ib3R0b20gLSBzbGlkZXJSZWN0LmJvdHRvbSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMubWF4T2Zmc2V0ID0gTWF0aC5jZWlsKG1heE9mZnNldCk7XHJcbiAgICBvZmZzZXQgPSBNYXRoLm1heChNYXRoLmNlaWwob2Zmc2V0KSwgMCk7XHJcbiAgICBpZiAoW3RoaXMubWF4T2Zmc2V0ICsgMSwgdGhpcy5tYXhPZmZzZXQgLSAxXS5pbmNsdWRlcyhvZmZzZXQpKSB7XHJcbiAgICAgIHRoaXMub2Zmc2V0ID0gdGhpcy5tYXhPZmZzZXQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9mZnNldCA9IE1hdGgubWluKG9mZnNldCwgdGhpcy5tYXhPZmZzZXQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2l6ZUNoZWNrZWQoKSB7XHJcbiAgICBjb25zdCBzaXplID0gdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50W2BvZmZzZXQke3RoaXMuc2l6ZU5hbWV9YF07XHJcbiAgICBjb25zdCBzY3JvbGxTaXplID0gdGhpcy5zbGlkZXJTY3JvbGwubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lfWBdO1xyXG4gICAgY29uc3Qgc2hvd0Fycm93ID0gdGhpcy5ub2Rlcy5sZW5ndGggPiAxICYmIHNpemUgPiBzY3JvbGxTaXplO1xyXG4gICAgaWYgKHRoaXMuc2hvd0Fycm93ICE9PSBzaG93QXJyb3cpIHtcclxuICAgICAgdGhpcy5zaG93QXJyb3cgPSBzaG93QXJyb3c7XHJcbiAgICAgIHRoaXMuY2xhc3NNYXBbYCR7WFNsaWRlclByZWZpeH0tc2hvdy1hcnJvd2BdID0gdGhpcy5zaG93QXJyb3c7XHJcbiAgICAgIGlmICghdGhpcy5zaG93QXJyb3cpIHtcclxuICAgICAgICB0aGlzLm9mZnNldCA9IDA7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0QWN0aXZhdGVkKCkge1xyXG4gICAgaWYgKHRoaXMubm9kZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmFjdGl2YXRlZCA9IHRoaXMubm9kZXNbTnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpXTtcclxuICAgICAgaWYgKHRoaXMuYWN0aXZhdGVkKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmF0ZWRJZCA9IHRoaXMuYWN0aXZhdGVkLmlkO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFjdGl2YXRlZCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldEhpZ2hsaWdodCgpO1xyXG4gICAgdGhpcy5zZXRUcmFuc2xhdGUoKTtcclxuICB9XHJcblxyXG4gIHNldEhpZ2hsaWdodCgpIHtcclxuICAgIGlmIChYSXNVbmRlZmluZWQodGhpcy5zbGlkZXJOb2RlcykpIHJldHVybjtcclxuICAgIGNvbnN0IGFjdGl2ZUVsZTogSFRNTEVsZW1lbnQgPSB0aGlzLnNsaWRlck5vZGVzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihgbGk6bnRoLWNoaWxkKCR7TnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpICsgMX0pYCkhO1xyXG4gICAgaWYgKCFhY3RpdmVFbGUpIHJldHVybjtcclxuICAgIHRoaXMuaGlnaGxpZ2h0Qm94ID0ge1xyXG4gICAgICB3aWR0aDogYCR7YWN0aXZlRWxlLm9mZnNldFdpZHRofXB4YCxcclxuICAgICAgaGVpZ2h0OiBgJHthY3RpdmVFbGUub2Zmc2V0SGVpZ2h0fXB4YCxcclxuICAgICAgbGVmdDogYCR7YWN0aXZlRWxlLm9mZnNldExlZnR9cHhgLFxyXG4gICAgICB0b3A6IGAke2FjdGl2ZUVsZS5vZmZzZXRUb3B9cHhgXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRhKCkge1xyXG4gICAgWFNldERhdGE8WFNsaWRlck5vZGU+KHRoaXMuZGF0YSwgdGhpcy5fdW5TdWJqZWN0KS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgdGhpcy5ub2RlcyA9IHg7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNldEFjdGl2YXRlZCgpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZhdGVkKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHJldHVybiBOdW1iZXIodGhpcy5hY3RpdmF0ZWRJbmRleCkgPT09IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeU5vZGUoX2luZGV4OiBudW1iZXIsIGl0ZW06IFhTbGlkZXJOb2RlKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjc2xpZGVyIGNsYXNzPVwieC1zbGlkZXJcIiBbbmdDbGFzc109XCJjbGFzc01hcFwiPlxyXG4gIDx4LWxpbmtcclxuICAgICpuZ0lmPVwiYXV0b1Nob3dBcnJvdyAmJiBzaG93QXJyb3dcIlxyXG4gICAgW2Rpc2FibGVkXT1cIm9mZnNldCA9PT0gMFwiXHJcbiAgICBjbGFzcz1cIngtc2xpZGVyLWFycm93LWxlZnRcIlxyXG4gICAgaWNvbj1cImZ0by1jaGV2cm9uLWxlZnRcIlxyXG4gICAgKGNsaWNrKT1cInNjcm9sbFByZXYoKVwiXHJcbiAgPjwveC1saW5rPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zY3JvbGxcIiAjc2xpZGVyU2Nyb2xsIFtuZ0NsYXNzXT1cInNjcm9sbENsYXNzTWFwXCI+XHJcbiAgICA8dWwgI3NsaWRlck5vZGVzIFtzdHlsZS50cmFuc2Zvcm1dPVwidHJhbnNmb3JtXCI+XHJcbiAgICAgIDxsaVxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBub2RlIG9mIG5vZGVzOyBpbmRleCBhcyBpOyB0cmFja0J5OiB0cmFja0J5Tm9kZVwiXHJcbiAgICAgICAgW2NsYXNzLngtc2xpZGVyLWFjdGl2YXRlZF09XCJnZXRBY3RpdmF0ZWQoaSlcIlxyXG4gICAgICAgIFtjbGFzcy54LXNsaWRlci1kaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCJcclxuICAgICAgICBbdGl0bGVdPVwibm9kZS5sYWJlbFwiXHJcbiAgICAgID5cclxuICAgICAgICA8eC1saW5rXHJcbiAgICAgICAgICAoY2xpY2spPVwibm9kZUNsaWNrKCRldmVudCwgbm9kZSwgaSlcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwibm9kZUNsYXNzTWFwXCJcclxuICAgICAgICAgIFtocmVmXT1cInNob3dBbmNob3IgPyAnIycgKyBub2RlLmlkIDogJydcIlxyXG4gICAgICAgICAgW3ByZXZlbnREZWZhdWx0XT1cInNob3dBbmNob3JcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub2RlVHBsOyBjb250ZXh0OiB7ICRub2RlOiBub2RlIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbm9kZVRwbFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwibm9kZS5sYWJlbFwiPnt7IG5vZGUubGFiZWwgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwveC1saW5rPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGkgY2xhc3M9XCJ4LXNsaWRlci1oaWdobGlnaHRcIiBbY2xhc3MueC1zbGlkZXItaGlnaGxpZ2h0LWFuaW1hdGVkXT1cImFuaW1hdGVkXCIgW25nU3R5bGVdPVwiaGlnaGxpZ2h0Qm94XCI+PC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9kaXY+XHJcbiAgPHgtbGlua1xyXG4gICAgKm5nSWY9XCJhdXRvU2hvd0Fycm93ICYmIHNob3dBcnJvd1wiXHJcbiAgICBbZGlzYWJsZWRdPVwib2Zmc2V0ID09PSBtYXhPZmZzZXRcIlxyXG4gICAgY2xhc3M9XCJ4LXNsaWRlci1hcnJvdy1yaWdodFwiXHJcbiAgICBpY29uPVwiZnRvLWNoZXZyb24tcmlnaHRcIlxyXG4gICAgKGNsaWNrKT1cInNjcm9sbE5leHQoKVwiXHJcbiAgPjwveC1saW5rPlxyXG4gIDx4LWRyb3Bkb3duXHJcbiAgICAqbmdJZj1cInNob3dFeHBhbmQgJiYgc2hvd0Fycm93ICYmIGxheW91dCA9PT0gJ3JvdydcIlxyXG4gICAgY2xhc3M9XCJ4LXNsaWRlci1hbGxcIlxyXG4gICAgW2RhdGFdPVwibm9kZXNcIlxyXG4gICAgdHJpZ2dlcj1cImNsaWNrXCJcclxuICAgIFsoYWN0aXZhdGVkSWQpXT1cImFjdGl2YXRlZElkXCJcclxuICAgIChub2RlQ2xpY2spPVwiZHJvcGRvd25DbGljaygkZXZlbnQpXCJcclxuICAgIFtwb3J0YWxNYXhIZWlnaHRdPVwiZXhwYW5kTWF4SGVpZ2h0XCJcclxuICA+XHJcbiAgICA8eC1idXR0b24gaWNvbj1cImZ0by1saXN0XCIgb25seUljb24gW3NpemVdPVwic2l6ZVwiPiA8L3gtYnV0dG9uPlxyXG4gIDwveC1kcm9wZG93bj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
270
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NsaWRlci9zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyL3NsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUlqQix1QkFBdUIsRUFHdkIsU0FBUyxFQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQWUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFhLFNBQVMsRUFBRSxPQUFPLEVBQWEsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQW1DLE1BQU0sa0JBQWtCLENBQUM7QUFDL0ksT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBRWhFLE1BT2EsZ0JBQWlCLFNBQVEsZUFBZTtJQWFuRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxPQUFPLEtBQUssQ0FBQztRQUM1RCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFHRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFD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cS9EQW9EQTs7U0R6QmEsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0UsR0FBRyxhQUFhLEVBQUUsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTtzTEFHcEIsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQUNDLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgU2ltcGxlQ2hhbmdlXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhTbGlkZXJQcmVmaXgsIFhTbGlkZXJOb2RlLCBYU2xpZGVyUHJvcGVydHkgfSBmcm9tICcuL3NsaWRlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhDbGFzc01hcCwgWElzQ2hhbmdlLCBYUmVzaXplLCBYUG9zaXRpb24sIFhJc1VuZGVmaW5lZCwgWElzRW1wdHksIFhTZXREYXRhLCBYQ29uZmlnU2VydmljZSwgWFJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgZGVib3VuY2VUaW1lLCBkZWxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYU2xpZGVyUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFNsaWRlckNvbXBvbmVudCBleHRlbmRzIFhTbGlkZXJQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ3NsaWRlclNjcm9sbCcpIHNsaWRlclNjcm9sbCE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ3NsaWRlck5vZGVzJykgc2xpZGVyTm9kZXMhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBub2RlczogWFNsaWRlck5vZGVbXSA9IFtdO1xyXG4gIGFjdGl2YXRlZCE6IFhTbGlkZXJOb2RlIHwgbnVsbDtcclxuICBzY3JvbGxDbGFzc01hcDogWENsYXNzTWFwID0ge307XHJcbiAgbm9kZUNsYXNzTWFwOiBYQ2xhc3NNYXAgPSB7fTtcclxuICBzaG93QXJyb3cgPSBmYWxzZTtcclxuICBhY3RpdmF0ZWRJZCA9ICcnO1xyXG4gIHRpbWVvdXRIaWRlOiBhbnk7XHJcbiAgaG92ZXJEZWxheSA9IDIwMDtcclxuICBob3ZlckRlbGF5VW5zdWIgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgX29mZnNldDogbnVtYmVyID0gMDtcclxuICBnZXQgb2Zmc2V0KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fb2Zmc2V0O1xyXG4gIH1cclxuICBzZXQgb2Zmc2V0KHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX29mZnNldCA9IE1hdGguZmxvb3IodmFsdWUpO1xyXG4gICAgdGhpcy50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlJHt0aGlzLmRpcn0oLSR7dGhpcy5fb2Zmc2V0fXB4KWA7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIGRpcmVjdGlvbjogWFBvc2l0aW9uID0gJ3JpZ2h0JztcclxuICBtYXhPZmZzZXQ6IG51bWJlciA9IDA7XHJcbiAgZ2V0IGRpcigpOiAnWCcgfCAnWScge1xyXG4gICAgcmV0dXJuIHRoaXMubGF5b3V0ID09PSAncm93JyA/ICdYJyA6ICdZJztcclxuICB9XHJcbiAgZ2V0IHNpemVOYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubGF5b3V0ID09PSAncm93JyA/ICdXaWR0aCcgOiAnSGVpZ2h0JztcclxuICB9XHJcbiAgdHJhbnNmb3JtPzogc3RyaW5nO1xyXG4gIGhpZ2hsaWdodEJveCA9IHtcclxuICAgIHdpZHRoOiAnJyxcclxuICAgIGhlaWdodDogJycsXHJcbiAgICBsZWZ0OiAnJyxcclxuICAgIHRvcDogJydcclxuICB9O1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIhOiBYUmVzaXplT2JzZXJ2ZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBkYXRhLCBsYXlvdXQsIGp1c3RpZnksIG5vZGVKdXN0aWZ5LCBhY3RpdmF0ZWRJbmRleCB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShkYXRhKSAmJiB0aGlzLnNldERhdGEoKTtcclxuICAgIFhJc0NoYW5nZShsYXlvdXQpICYmIHRoaXMuc2V0Q2hhbmdlKHRoaXMuY2xhc3NNYXAsIGxheW91dCk7XHJcbiAgICBYSXNDaGFuZ2UoanVzdGlmeSkgJiYgdGhpcy5zZXRDaGFuZ2UodGhpcy5zY3JvbGxDbGFzc01hcCwganVzdGlmeSwgJ3gtanVzdGlmeScpO1xyXG4gICAgWElzQ2hhbmdlKG5vZGVKdXN0aWZ5KSAmJiB0aGlzLnNldENoYW5nZSh0aGlzLm5vZGVDbGFzc01hcCwgbm9kZUp1c3RpZnksICd4LWp1c3RpZnknKTtcclxuICAgIFhJc0NoYW5nZShhY3RpdmF0ZWRJbmRleCkgJiYgdGhpcy5zZXREaXJlY3Rpb24oYWN0aXZhdGVkSW5kZXguY3VycmVudFZhbHVlLCBhY3RpdmF0ZWRJbmRleC5wcmV2aW91c1ZhbHVlKSAmJiB0aGlzLnNldEFjdGl2YXRlZCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xyXG4gICAgdGhpcy5ob3ZlckRlbGF5VW5zdWIubmV4dCgpO1xyXG4gICAgdGhpcy5ob3ZlckRlbGF5VW5zdWIuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0U3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnNldEFjdGl2YXRlZCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICB0aGlzLmNsYXNzTWFwW2Ake1hTbGlkZXJQcmVmaXh9LSR7dGhpcy5sYXlvdXR9YF0gPSAhWElzRW1wdHkodGhpcy5sYXlvdXQpO1xyXG4gICAgdGhpcy5zY3JvbGxDbGFzc01hcFtgeC1qdXN0aWZ5LSR7dGhpcy5qdXN0aWZ5fWBdID0gIVhJc0VtcHR5KHRoaXMuanVzdGlmeSk7XHJcbiAgICB0aGlzLm5vZGVDbGFzc01hcCA9IHtcclxuICAgICAgW2B4LWp1c3RpZnktJHt0aGlzLm5vZGVKdXN0aWZ5fWBdOiAhWElzRW1wdHkodGhpcy5ub2RlSnVzdGlmeSksXHJcbiAgICAgIFtgeC1zaXplLSR7dGhpcy5zaXplfWBdOiAhWElzRW1wdHkodGhpcy5zaXplKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldENoYW5nZShtYXA6IFhDbGFzc01hcCwgY2hhbmdlOiBTaW1wbGVDaGFuZ2UsIHByZWZpeCA9IFhTbGlkZXJQcmVmaXgpIHtcclxuICAgIG1hcFtgJHtwcmVmaXh9LSR7Y2hhbmdlLnByZXZpb3VzVmFsdWV9YF0gPSBmYWxzZTtcclxuICAgIG1hcFtgJHtwcmVmaXh9LSR7Y2hhbmdlLmN1cnJlbnRWYWx1ZX1gXSA9IHRydWU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJzY3JpYmUoKSB7XHJcbiAgICBYUmVzaXplKHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnQsIHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudClcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwKSwgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLl9yZXNpemVPYnNlcnZlciA9IHgucmVzaXplT2JzZXJ2ZXI7XHJcbiAgICAgICAgdGhpcy5zaXplQ2hlY2tlZCgpO1xyXG4gICAgICAgIHRoaXMuc2V0QWN0aXZhdGVkKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25FbnRlcihldmVudDogRXZlbnQgfCBudWxsLCBub2RlOiBYU2xpZGVyTm9kZSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQgfHwgdGhpcy50cmlnZ2VyID09PSAnY2xpY2snKSByZXR1cm47XHJcbiAgICBvZih0cnVlKVxyXG4gICAgICAucGlwZShkZWxheSh0aGlzLmhvdmVyRGVsYXkpLCB0YWtlVW50aWwodGhpcy5ob3ZlckRlbGF5VW5zdWIpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy50aW1lb3V0SGlkZSkge1xyXG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dEhpZGUpO1xyXG4gICAgICAgICAgdGhpcy50aW1lb3V0SGlkZSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubm9kZUNsaWNrKGV2ZW50LCBub2RlLCBpbmRleClcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkxlYXZlKG5vZGU6IFhTbGlkZXJOb2RlKSB7XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCB8fCB0aGlzLnRyaWdnZXIgPT09ICdjbGljaycpIHJldHVybjtcclxuICAgIHRoaXMuaG92ZXJEZWxheVVuc3ViLm5leHQoKTtcclxuICB9XHJcblxyXG4gIG5vZGVDbGljayhldmVudDogRXZlbnQgfCBudWxsLCBub2RlOiBYU2xpZGVyTm9kZSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuc2V0RGlyZWN0aW9uKGluZGV4LCBOdW1iZXIodGhpcy5hY3RpdmF0ZWRJbmRleCkpO1xyXG4gICAgdGhpcy5hY3RpdmF0ZWRJbmRleCA9IGluZGV4O1xyXG4gICAgdGhpcy5hY3RpdmF0ZWQgPSBub2RlO1xyXG4gICAgdGhpcy5hY3RpdmF0ZWRJZCA9IG5vZGUuaWQ7XHJcbiAgICB0aGlzLnNldEhpZ2hsaWdodCgpO1xyXG4gICAgdGhpcy5zZXRUcmFuc2xhdGUoKTtcclxuICAgIHRoaXMuaW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XHJcbiAgICB0aGlzLm5vZGVDaGFuZ2UuZW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIGRyb3Bkb3duQ2xpY2sobm9kZTogWFNsaWRlck5vZGUpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5ub2Rlcy5pbmRleE9mKG5vZGUpO1xyXG4gICAgdGhpcy5ub2RlQ2xpY2sobnVsbCwgbm9kZSwgaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsUHJldigpIHtcclxuICAgIGlmICh0aGlzLm9mZnNldCA9PT0gMCkgcmV0dXJuO1xyXG4gICAgY29uc3Qgc2Nyb2xsU2l6ZSA9IHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZX1gXTtcclxuICAgIGNvbnN0IGN1cnJlbnRPZmZzZXQgPSB0aGlzLm9mZnNldDtcclxuICAgIGlmICghY3VycmVudE9mZnNldCkgcmV0dXJuO1xyXG4gICAgY29uc3Qgb2Zmc2V0ID0gY3VycmVudE9mZnNldCA+IHNjcm9sbFNpemUgPyBjdXJyZW50T2Zmc2V0IC0gc2Nyb2xsU2l6ZSA6IDA7XHJcbiAgICB0aGlzLm9mZnNldCA9IG9mZnNldDtcclxuICB9XHJcblxyXG4gIHNjcm9sbE5leHQoKSB7XHJcbiAgICBpZiAodGhpcy5vZmZzZXQgPT09IHRoaXMubWF4T2Zmc2V0KSByZXR1cm47XHJcbiAgICBjb25zdCBzbGlkZXJTaXplID0gdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50W2BvZmZzZXQke3RoaXMuc2l6ZU5hbWV9YF07XHJcbiAgICBjb25zdCBzY3JvbGxTaXplID0gdGhpcy5zbGlkZXJTY3JvbGwubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lfWBdO1xyXG4gICAgY29uc3QgY3VycmVudE9mZnNldCA9IHRoaXMub2Zmc2V0O1xyXG4gICAgaWYgKHNsaWRlclNpemUgLSBjdXJyZW50T2Zmc2V0IDw9IHNjcm9sbFNpemUpIHJldHVybjtcclxuICAgIGNvbnN0IG9mZnNldCA9IHNsaWRlclNpemUgLSBjdXJyZW50T2Zmc2V0ID4gc2Nyb2xsU2l6ZSAqIDIgPyBjdXJyZW50T2Zmc2V0ICsgc2Nyb2xsU2l6ZSA6IHNsaWRlclNpemUgLSBzY3JvbGxTaXplO1xyXG4gICAgdGhpcy5vZmZzZXQgPSBvZmZzZXQ7XHJcbiAgfVxyXG5cclxuICBzZXREaXJlY3Rpb24oaW5kZXg6IG51bWJlciwgYmVmb3JlOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGluY3JlYXNlID0gaW5kZXggPiBiZWZvcmU7XHJcbiAgICB0aGlzLmRpcmVjdGlvbiA9IHRoaXMubGF5b3V0ID09PSAncm93JyA/IChpbmNyZWFzZSA/ICdyaWdodCcgOiAnbGVmdCcpIDogaW5jcmVhc2UgPyAnYm90dG9tJyA6ICd0b3AnO1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgc2V0VHJhbnNsYXRlKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICBYSXNVbmRlZmluZWQodGhpcy5zbGlkZXJTY3JvbGwpIHx8XHJcbiAgICAgIFhJc1VuZGVmaW5lZCh0aGlzLnNsaWRlck5vZGVzKSB8fFxyXG4gICAgICB0eXBlb2YgdGhpcy5zbGlkZXJTY3JvbGwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QgIT09ICdmdW5jdGlvbidcclxuICAgIClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3Qgc2xpZGVyUmVjdCA9IHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3Qgc2xpZGVyTm9kZXNSZWN0ID0gdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGxldCBtb3ZlSW5kZXggPSBbJ2JvdHRvbScsICdyaWdodCddLmluZGV4T2YodGhpcy5kaXJlY3Rpb24pICE9PSAtMSA/IE51bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KSArIDIgOiBOdW1iZXIodGhpcy5hY3RpdmF0ZWRJbmRleCk7XHJcbiAgICBtb3ZlSW5kZXggPSBtb3ZlSW5kZXggPiB0aGlzLm5vZGVzLmxlbmd0aCA/IHRoaXMubm9kZXMubGVuZ3RoIDogbW92ZUluZGV4ID09PSAwID8gMSA6IG1vdmVJbmRleDtcclxuICAgIGxldCBtb3ZlRWxlID0gdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yKGBsaTpudGgtY2hpbGQoJHttb3ZlSW5kZXh9KWApO1xyXG4gICAgbGV0IG1heE9mZnNldCA9IDA7XHJcbiAgICBpZiAoWElzRW1wdHkobW92ZUVsZSkpIHJldHVybjtcclxuICAgIGNvbnN0IG1vdmVSZWN0ID0gbW92ZUVsZSEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XHJcbiAgICBsZXQgb2Zmc2V0ID0gY3VycmVudE9mZnNldDtcclxuICAgIGlmICh0aGlzLmxheW91dCA9PT0gJ3JvdycpIHtcclxuICAgICAgbWF4T2Zmc2V0ID0gc2xpZGVyTm9kZXNSZWN0LndpZHRoIC0gc2xpZGVyUmVjdC53aWR0aDtcclxuICAgICAgaWYgKG1vdmVSZWN0LmxlZnQgPCBzbGlkZXJSZWN0LmxlZnQpIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0IC0gKHNsaWRlclJlY3QubGVmdCAtIG1vdmVSZWN0LmxlZnQpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChtb3ZlUmVjdC5yaWdodCA+IHNsaWRlclJlY3QucmlnaHQpIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ICsgbW92ZVJlY3QucmlnaHQgLSBzbGlkZXJSZWN0LnJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBtYXhPZmZzZXQgPSBzbGlkZXJOb2Rlc1JlY3QuaGVpZ2h0IC0gc2xpZGVyUmVjdC5oZWlnaHQ7XHJcbiAgICAgIGlmIChtb3ZlUmVjdC50b3AgPCBzbGlkZXJSZWN0LnRvcCkge1xyXG4gICAgICAgIG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgLSAoc2xpZGVyUmVjdC50b3AgLSBtb3ZlUmVjdC50b3ApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChtb3ZlUmVjdC5ib3R0b20gPiBzbGlkZXJSZWN0LmJvdHRvbSkge1xyXG4gICAgICAgIG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgKyAobW92ZVJlY3QuYm90dG9tIC0gc2xpZGVyUmVjdC5ib3R0b20pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLm1heE9mZnNldCA9IE1hdGguY2VpbChtYXhPZmZzZXQpO1xyXG4gICAgb2Zmc2V0ID0gTWF0aC5tYXgoTWF0aC5jZWlsKG9mZnNldCksIDApO1xyXG4gICAgaWYgKFt0aGlzLm1heE9mZnNldCArIDEsIHRoaXMubWF4T2Zmc2V0IC0gMV0uaW5jbHVkZXMob2Zmc2V0KSkge1xyXG4gICAgICB0aGlzLm9mZnNldCA9IHRoaXMubWF4T2Zmc2V0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vZmZzZXQgPSBNYXRoLm1pbihvZmZzZXQsIHRoaXMubWF4T2Zmc2V0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNpemVDaGVja2VkKCkge1xyXG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lfWBdO1xyXG4gICAgY29uc3Qgc2Nyb2xsU2l6ZSA9IHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZX1gXTtcclxuICAgIGNvbnN0IHNob3dBcnJvdyA9IHRoaXMubm9kZXMubGVuZ3RoID4gMSAmJiBzaXplID4gc2Nyb2xsU2l6ZTtcclxuICAgIGlmICh0aGlzLnNob3dBcnJvdyAhPT0gc2hvd0Fycm93KSB7XHJcbiAgICAgIHRoaXMuc2hvd0Fycm93ID0gc2hvd0Fycm93O1xyXG4gICAgICB0aGlzLmNsYXNzTWFwW2Ake1hTbGlkZXJQcmVmaXh9LXNob3ctYXJyb3dgXSA9IHRoaXMuc2hvd0Fycm93O1xyXG4gICAgICBpZiAoIXRoaXMuc2hvd0Fycm93KSB7XHJcbiAgICAgICAgdGhpcy5vZmZzZXQgPSAwO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEFjdGl2YXRlZCgpIHtcclxuICAgIGlmICh0aGlzLm5vZGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWQgPSB0aGlzLm5vZGVzW051bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KV07XHJcbiAgICAgIGlmICh0aGlzLmFjdGl2YXRlZCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZhdGVkSWQgPSB0aGlzLmFjdGl2YXRlZC5pZDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWQgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRIaWdobGlnaHQoKTtcclxuICAgIHRoaXMuc2V0VHJhbnNsYXRlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRIaWdobGlnaHQoKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHRoaXMuc2xpZGVyTm9kZXMpKSByZXR1cm47XHJcbiAgICBjb25zdCBhY3RpdmVFbGU6IEhUTUxFbGVtZW50ID0gdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYGxpOm50aC1jaGlsZCgke051bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KSArIDF9KWApITtcclxuICAgIGlmICghYWN0aXZlRWxlKSByZXR1cm47XHJcbiAgICB0aGlzLmhpZ2hsaWdodEJveCA9IHtcclxuICAgICAgd2lkdGg6IGAke2FjdGl2ZUVsZS5vZmZzZXRXaWR0aH1weGAsXHJcbiAgICAgIGhlaWdodDogYCR7YWN0aXZlRWxlLm9mZnNldEhlaWdodH1weGAsXHJcbiAgICAgIGxlZnQ6IGAke2FjdGl2ZUVsZS5vZmZzZXRMZWZ0fXB4YCxcclxuICAgICAgdG9wOiBgJHthY3RpdmVFbGUub2Zmc2V0VG9wfXB4YFxyXG4gICAgfTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGF0YSgpIHtcclxuICAgIFhTZXREYXRhPFhTbGlkZXJOb2RlPih0aGlzLmRhdGEsIHRoaXMuX3VuU3ViamVjdCkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMubm9kZXMgPSB4O1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRBY3RpdmF0ZWQoKSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldEFjdGl2YXRlZChpbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gTnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpID09PSBpbmRleDtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlOb2RlKF9pbmRleDogbnVtYmVyLCBpdGVtOiBYU2xpZGVyTm9kZSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI3NsaWRlciBjbGFzcz1cIngtc2xpZGVyXCIgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIj5cclxuICA8eC1saW5rXHJcbiAgICAqbmdJZj1cImF1dG9TaG93QXJyb3cgJiYgc2hvd0Fycm93XCJcclxuICAgIFtkaXNhYmxlZF09XCJvZmZzZXQgPT09IDBcIlxyXG4gICAgY2xhc3M9XCJ4LXNsaWRlci1hcnJvdy1sZWZ0XCJcclxuICAgIGljb249XCJmdG8tY2hldnJvbi1sZWZ0XCJcclxuICAgIChjbGljayk9XCJzY3JvbGxQcmV2KClcIlxyXG4gID48L3gtbGluaz5cclxuICA8ZGl2IGNsYXNzPVwieC1zbGlkZXItc2Nyb2xsXCIgI3NsaWRlclNjcm9sbCBbbmdDbGFzc109XCJzY3JvbGxDbGFzc01hcFwiPlxyXG4gICAgPHVsICNzbGlkZXJOb2RlcyBbc3R5bGUudHJhbnNmb3JtXT1cInRyYW5zZm9ybVwiPlxyXG4gICAgICA8bGlcclxuICAgICAgICAqbmdGb3I9XCJsZXQgbm9kZSBvZiBub2RlczsgaW5kZXggYXMgaTsgdHJhY2tCeTogdHJhY2tCeU5vZGVcIlxyXG4gICAgICAgIFtjbGFzcy54LXNsaWRlci1hY3RpdmF0ZWRdPVwiZ2V0QWN0aXZhdGVkKGkpXCJcclxuICAgICAgICBbY2xhc3MueC1zbGlkZXItZGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXHJcbiAgICAgICAgW3RpdGxlXT1cIm5vZGUubGFiZWxcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHgtbGlua1xyXG4gICAgICAgICAgKGNsaWNrKT1cIm5vZGVDbGljaygkZXZlbnQsIG5vZGUsIGkpXCJcclxuICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uRW50ZXIoJGV2ZW50LCBub2RlLCBpKVwiXHJcbiAgICAgICAgICAobW91c2VsZWF2ZSk9XCJvbkxlYXZlKG5vZGUpXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cIm5vZGVDbGFzc01hcFwiXHJcbiAgICAgICAgICBbaHJlZl09XCJzaG93QW5jaG9yID8gJyMnICsgbm9kZS5pZCA6ICcnXCJcclxuICAgICAgICAgIFtwcmV2ZW50RGVmYXVsdF09XCJzaG93QW5jaG9yXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZVRwbDsgY29udGV4dDogeyAkbm9kZTogbm9kZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW5vZGVUcGxcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cIm5vZGUubGFiZWxcIj57eyBub2RlLmxhYmVsIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3gtbGluaz5cclxuICAgICAgPC9saT5cclxuICAgICAgPGxpIGNsYXNzPVwieC1zbGlkZXItaGlnaGxpZ2h0XCIgW2NsYXNzLngtc2xpZGVyLWhpZ2hsaWdodC1hbmltYXRlZF09XCJhbmltYXRlZFwiIFtuZ1N0eWxlXT1cImhpZ2hsaWdodEJveFwiPjwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvZGl2PlxyXG4gIDx4LWxpbmtcclxuICAgICpuZ0lmPVwiYXV0b1Nob3dBcnJvdyAmJiBzaG93QXJyb3dcIlxyXG4gICAgW2Rpc2FibGVkXT1cIm9mZnNldCA9PT0gbWF4T2Zmc2V0XCJcclxuICAgIGNsYXNzPVwieC1zbGlkZXItYXJyb3ctcmlnaHRcIlxyXG4gICAgaWNvbj1cImZ0by1jaGV2cm9uLXJpZ2h0XCJcclxuICAgIChjbGljayk9XCJzY3JvbGxOZXh0KClcIlxyXG4gID48L3gtbGluaz5cclxuICA8eC1kcm9wZG93blxyXG4gICAgKm5nSWY9XCJzaG93RXhwYW5kICYmIHNob3dBcnJvdyAmJiBsYXlvdXQgPT09ICdyb3cnXCJcclxuICAgIGNsYXNzPVwieC1zbGlkZXItYWxsXCJcclxuICAgIFtkYXRhXT1cIm5vZGVzXCJcclxuICAgIHRyaWdnZXI9XCJjbGlja1wiXHJcbiAgICBbKGFjdGl2YXRlZElkKV09XCJhY3RpdmF0ZWRJZFwiXHJcbiAgICAobm9kZUNsaWNrKT1cImRyb3Bkb3duQ2xpY2soJGV2ZW50KVwiXHJcbiAgICBbcG9ydGFsTWF4SGVpZ2h0XT1cImV4cGFuZE1heEhlaWdodFwiXHJcbiAgPlxyXG4gICAgPHgtYnV0dG9uIGljb249XCJmdG8tbGlzdFwiIG9ubHlJY29uIFtzaXplXT1cInNpemVcIj4gPC94LWJ1dHRvbj5cclxuICA8L3gtZHJvcGRvd24+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -52,7 +52,7 @@ class XSliderProperty extends XProperty {
|
|
|
52
52
|
this.nodeChange = new EventEmitter();
|
|
53
53
|
}
|
|
54
54
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: XSliderProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: XSliderProperty, selector: "x-slider-property", inputs: { data: "data", animated: "animated", activatedIndex: "activatedIndex", layout: "layout", justify: "justify", nodeJustify: "nodeJustify", nodeTpl: "nodeTpl", size: "size", showExpand: "showExpand", autoShowArrow: "autoShowArrow", expandMaxHeight: "expandMaxHeight", showAnchor: "showAnchor" }, outputs: { indexChange: "indexChange", nodeChange: "nodeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
55
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: XSliderProperty, selector: "x-slider-property", inputs: { data: "data", animated: "animated", activatedIndex: "activatedIndex", trigger: "trigger", layout: "layout", justify: "justify", nodeJustify: "nodeJustify", nodeTpl: "nodeTpl", size: "size", showExpand: "showExpand", autoShowArrow: "autoShowArrow", expandMaxHeight: "expandMaxHeight", showAnchor: "showAnchor" }, outputs: { indexChange: "indexChange", nodeChange: "nodeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
56
56
|
}
|
|
57
57
|
__decorate([
|
|
58
58
|
XDataConvert()
|
|
@@ -64,6 +64,9 @@ __decorate([
|
|
|
64
64
|
__decorate([
|
|
65
65
|
XInputNumber()
|
|
66
66
|
], XSliderProperty.prototype, "activatedIndex", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
XWithConfig(X_CONFIG_NAME, 'click')
|
|
69
|
+
], XSliderProperty.prototype, "trigger", void 0);
|
|
67
70
|
__decorate([
|
|
68
71
|
XWithConfig(X_CONFIG_NAME, 'medium')
|
|
69
72
|
], XSliderProperty.prototype, "size", void 0);
|
|
@@ -91,6 +94,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
91
94
|
type: Input
|
|
92
95
|
}], activatedIndex: [{
|
|
93
96
|
type: Input
|
|
97
|
+
}], trigger: [{
|
|
98
|
+
type: Input
|
|
94
99
|
}], layout: [{
|
|
95
100
|
type: Input
|
|
96
101
|
}], justify: [{
|
|
@@ -114,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
114
119
|
}], nodeChange: [{
|
|
115
120
|
type: Output
|
|
116
121
|
}] } });
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyL3NsaWRlci5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdMLFNBQVMsRUFFVCxZQUFZLEVBQ1osYUFBYSxFQUNiLFlBQVksRUFLWixXQUFXLEVBRVosTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQWUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVwRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUN4QyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUM7QUFFL0I7O0dBRUc7QUFDSCxNQUNhLGVBQWdCLFNBQVEsU0FBUztJQUQ5Qzs7UUFFRTs7O1dBR0c7UUFDc0IsU0FBSSxHQUF1QixFQUFFLENBQUM7UUFNdkQ7OztXQUdHO1FBQ3NCLG1CQUFjLEdBQVksQ0FBQyxDQUFDO1FBTXJEOzs7V0FHRztRQUNNLFdBQU0sR0FBbUIsS0FBSyxDQUFDO1FBQ3hDOzs7V0FHRztRQUNNLFlBQU8sR0FBYyxPQUFPLENBQUM7UUFDdEM7OztXQUdHO1FBQ00sZ0JBQVcsR0FBYyxRQUFRLENBQUM7UUErQjNDOzs7V0FHRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNuRDs7O1dBR0c7UUFDTyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztLQUN4RDtpSUE1RVksZUFBZTtxSEFBZixlQUFlLHFkQURrQyxFQUFFOztBQU1yQztJQUFmLFlBQVksRUFBRTs2Q0FBK0I7QUFLZTtJQUE1RCxXQUFXLENBQVcsYUFBYSxFQUFFLElBQUksQ0FBQztJQUFFLGFBQWEsRUFBRTtpREFBcUI7QUFLakU7SUFBZixZQUFZLEVBQUU7dURBQTZCO0FBS1M7SUFBcEQsV0FBVyxDQUFpQixhQUFhLEVBQUUsT0FBTyxDQUFDO2dEQUEwQjtBQXlCakM7SUFBNUMsV0FBVyxDQUFRLGFBQWEsRUFBRSxRQUFRLENBQUM7NkNBQWM7QUFLSTtJQUE3RCxXQUFXLENBQVcsYUFBYSxFQUFFLEtBQUssQ0FBQztJQUFFLGFBQWEsRUFBRTttREFBdUI7QUFLdkI7SUFBNUQsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7SUFBRSxhQUFhLEVBQUU7c0RBQTBCO0FBS3pDO0lBQTVDLFdBQVcsQ0FBUyxhQUFhLEVBQUUsT0FBTyxDQUFDO3dEQUEwQjtBQUtyRDtJQUFoQixhQUFhLEVBQUU7bURBQXVCO1NBakVyQyxlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxhQUFhLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU12QyxJQUFJO3NCQUE1QixLQUFLO2dCQUtnRSxRQUFRO3NCQUE3RSxLQUFLO2dCQUttQixjQUFjO3NCQUF0QyxLQUFLO2dCQUt3RCxPQUFPO3NCQUFwRSxLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS2dELElBQUk7c0JBQXpELEtBQUs7Z0JBS2lFLFVBQVU7c0JBQWhGLEtBQUs7Z0JBS2dFLGFBQWE7c0JBQWxGLEtBQUs7Z0JBS2dELGVBQWU7c0JBQXBFLEtBQUs7Z0JBS29CLFVBQVU7c0JBQW5DLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBYRGF0YSxcclxuICBYVGVtcGxhdGUsXHJcbiAgWFByb3BlcnR5LFxyXG4gIFhJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhEYXRhQ29udmVydCxcclxuICBYSW5wdXRCb29sZWFuLFxyXG4gIFhJbnB1dE51bWJlcixcclxuICBYSnVzdGlmeSxcclxuICBYU2l6ZSxcclxuICBYTnVtYmVyLFxyXG4gIFhCb29sZWFuLFxyXG4gIFhXaXRoQ29uZmlnLFxyXG4gIFhUcmlnZ2VyXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlUmVmLCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIFNsaWRlclxyXG4gKiBAc2VsZWN0b3IgeC1zbGlkZXJcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYU2xpZGVyUHJlZml4ID0gJ3gtc2xpZGVyJztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICdzbGlkZXInO1xyXG5cclxuLyoqXHJcbiAqIFNsaWRlciBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiBgJHtYU2xpZGVyUHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFNsaWRlclByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55pWw5o2uXHJcbiAgICogQGVuX1VTIE5vZGUgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYRGF0YUNvbnZlcnQoKSBkYXRhOiBYRGF0YTxYU2xpZGVyTm9kZT4gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ruR5Yqo5Yqo55S7XHJcbiAgICogQGVuX1VTIFNsaWRpbmcgYW5pbWF0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIGFuaW1hdGVkPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjea/gOa0u+eahOe0ouW8lVxyXG4gICAqIEBlbl9VUyBDdXJyZW50bHkgYWN0aXZlIGluZGV4XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGFjdGl2YXRlZEluZGV4OiBYTnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Kem5Y+R5pa55byPXHJcbiAgICogQGVuX1VTIFRyaWdnZXIgbW9kZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYU2xpZGVyVHJpZ2dlcj4oWF9DT05GSUdfTkFNRSwgJ2NsaWNrJykgdHJpZ2dlciE6IFhTbGlkZXJUcmlnZ2VyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjpLliJfmlrnlvI9cclxuICAgKiBAZW5fVVMgQXJyYW5nZW1lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBsYXlvdXQ/OiBYU2xpZGVyTGF5b3V0ID0gJ3Jvdyc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBBbGlnbm1lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBqdXN0aWZ5PzogWEp1c3RpZnkgPSAnc3RhcnQnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmloflrZflr7npvZDmlrnlvI9cclxuICAgKiBAZW5fVVMgTm9kZSB0ZXh0IGFsaWdubWVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG5vZGVKdXN0aWZ5PzogWEp1c3RpZnkgPSAnY2VudGVyJztcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K56Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIE5vZGUgY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgbm9kZVRwbCE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhTaXplPihYX0NPTkZJR19OQU1FLCAnbWVkaXVtJykgc2l6ZT86IFhTaXplO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmmL7npLrkuI3kuIvnmoTml7blgJnmmL7npLrlsZXlvIDmiYDmnInnmoTmjInpkq7vvIzmjpLliJfmlrnlvI/kuLogcm93IOeahOaXtuWAmeeUn+aViFxyXG4gICAqIEBlbl9VUyBXaGVuIHRoZSBub2RlIGlzIG5vdCBkaXNwbGF5ZWQsIGRpc3BsYXkgYWxsIHRoZSBidXR0b25zLCBhbmQgdGhlIGFycmFuZ2VtZW50IGlzIGVmZmVjdGl2ZSB3aGVuIHRoZSBhcnJhbmdlbWVudCBpcyByb3dcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIHNob3dFeHBhbmQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55pi+56S65LiN5LiL55qE5pe25YCZ5pi+56S65bem5Y+zL+S4iuS4i+eahOeureWktFxyXG4gICAqIEBlbl9VUyDoioLngrnmmL7npLrkuI3kuIvnmoTml7blgJnmmL7npLrlt6blj7Mv5LiK5LiL55qE566t5aS0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIGF1dG9TaG93QXJyb3c/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV5byA5omA5pyJ5by55qGG55qE5pyA5aSn6auY5bqmXHJcbiAgICogQGVuX1VTIEV4cGFuZCB0aGUgbWF4aW11bSBoZWlnaHQgb2YgYWxsIGJvbWIgZnJhbWVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSwgJzE1cmVtJykgZXhwYW5kTWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrmj4/ngrlcclxuICAgKiBAZW5fVVMgU2hvdyBhbmNob3JcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHNob3dBbmNob3I/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5r+A5rS757Si5byV5Y+Y5YyW5LqL5Lu2XHJcbiAgICogQGVuX1VTIEFjdGl2YXRlIGluZGV4IGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBpbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmv4DmtLvoioLngrnmlLnlj5jkuovku7ZcclxuICAgKiBAZW5fVVMgQWN0aXZhdGUgbm9kZSBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbm9kZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFNsaWRlck5vZGU+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04gU2xpZGVyIOaVsOaNruWvueixoVxyXG4gKiBAZW5fVVMgU2xpZGVyIGRhdGEgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTbGlkZXJOb2RlIGV4dGVuZHMgWElkZW50aXR5UHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfpopjvvIzmlK/mjIHmqKHmnb9cclxuICAgKiBAZW5fVVMgVGl0bGUsIHN1cHBvcnQgdGVtcGxhdGVcclxuICAgKi9cclxuICBsYWJlbD86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So6IqC54K5XHJcbiAgICogQGVuX1VTIE5vZGUgZGlzYWJsZWRcclxuICAgKi9cclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g6Kem5Y+R5pa55byPXHJcbiAqIEBlbl9VUyBUcmlnZ2VyIG1ldGhvZFxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWFNsaWRlclRyaWdnZXIgPSBYVHJpZ2dlcjtcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5biD5bGA5pa55byPXHJcbiAqIEBlbl9VUyBMYXlvdXRcclxuICovXHJcbmV4cG9ydCB0eXBlIFhTbGlkZXJMYXlvdXQgPSAncm93JyB8ICdjb2x1bW4nO1xyXG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
|
|
1
|
+
import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, PLATFORM_ID } from '@angular/core';
|
|
2
2
|
import { XCountdownPrefix, XCountdownProperty } from './statistic.property';
|
|
3
3
|
import { interval } from 'rxjs';
|
|
4
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@ng-nest/ui/core";
|
|
6
7
|
import * as i2 from "./statistic.component";
|
|
@@ -12,6 +13,9 @@ class XCountdownComponent extends XCountdownProperty {
|
|
|
12
13
|
this.ngZone = ngZone;
|
|
13
14
|
this.configService = configService;
|
|
14
15
|
this.period = 1000 / 30;
|
|
16
|
+
this.platformId = inject(PLATFORM_ID);
|
|
17
|
+
this.isBrowser = true;
|
|
18
|
+
this.isBrowser = isPlatformBrowser(this.platformId);
|
|
15
19
|
}
|
|
16
20
|
ngOnInit() {
|
|
17
21
|
this.syncTimer();
|
|
@@ -37,6 +41,8 @@ class XCountdownComponent extends XCountdownProperty {
|
|
|
37
41
|
}
|
|
38
42
|
}
|
|
39
43
|
startTimer() {
|
|
44
|
+
if (!this.isBrowser)
|
|
45
|
+
return;
|
|
40
46
|
this.ngZone.runOutsideAngular(() => {
|
|
41
47
|
this.stopTimer();
|
|
42
48
|
this._updater = interval(this.period).subscribe(() => {
|
|
@@ -66,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
66
72
|
type: Component,
|
|
67
73
|
args: [{ selector: `${XCountdownPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-countdown\">\r\n <x-statistic\r\n [value]=\"diff | xTimeRange: format\"\r\n [valueStyle]=\"valueStyle\"\r\n [prefix]=\"prefix\"\r\n [suffix]=\"suffix\"\r\n [label]=\"label\"\r\n ></x-statistic>\r\n</div>\r\n" }]
|
|
68
74
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.XConfigService }]; } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3N0YXRpc3RpYy9jb3VudGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc3RhdGlzdGljL2NvdW50ZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUVqQix1QkFBdUIsRUFJdkIsTUFBTSxFQUNOLFdBQVcsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUU5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFFcEQsTUFPYSxtQkFBb0IsU0FBUSxrQkFBa0I7SUFPekQsWUFBb0IsR0FBc0IsRUFBVSxNQUFjLEVBQVMsYUFBNkI7UUFDdEcsS0FBSyxFQUFFLENBQUM7UUFEVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFMeEcsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFHbkIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBR2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzFCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNsQjtTQUNGO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDbkQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7aUlBOURVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLCtGQ3hCaEMsaVBBU0E7O1NEZWEsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsR0FBRyxnQkFBZ0IsRUFBRSxpQkFHaEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBOZ1pvbmUsXHJcbiAgaW5qZWN0LFxyXG4gIFBMQVRGT1JNX0lEXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhDb3VudGRvd25QcmVmaXgsIFhDb3VudGRvd25Qcm9wZXJ0eSB9IGZyb20gJy4vc3RhdGlzdGljLnByb3BlcnR5JztcclxuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WENvdW50ZG93blByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3VudGRvd24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvdW50ZG93bi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhDb3VudGRvd25Db21wb25lbnQgZXh0ZW5kcyBYQ291bnRkb3duUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgZGlmZiE6IG51bWJlcjtcclxuICBwZXJpb2QgPSAxMDAwIC8gMzA7XHJcbiAgcHJpdmF0ZSBfdGFyZ2V0ITogbnVtYmVyO1xyXG4gIHByaXZhdGUgX3VwZGF0ZXIhOiBTdWJzY3JpcHRpb24gfCBudWxsO1xyXG4gIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xyXG4gIGlzQnJvd3NlciA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIG5nWm9uZTogTmdab25lLCBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmlzQnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3luY1RpbWVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBjaGFuZ2VzO1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX3RhcmdldCA9IE51bWJlcih2YWx1ZS5jdXJyZW50VmFsdWUpO1xyXG4gICAgICBpZiAoIXZhbHVlLmlzRmlyc3RDaGFuZ2UoKSkge1xyXG4gICAgICAgIHRoaXMuc3luY1RpbWVyKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9wVGltZXIoKTtcclxuICB9XHJcblxyXG4gIHN5bmNUaW1lcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl90YXJnZXQgPj0gRGF0ZS5ub3coKSkge1xyXG4gICAgICB0aGlzLnN0YXJ0VGltZXIoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RvcFRpbWVyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGFydFRpbWVyKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzQnJvd3NlcikgcmV0dXJuO1xyXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICB0aGlzLnN0b3BUaW1lcigpO1xyXG4gICAgICB0aGlzLl91cGRhdGVyID0gaW50ZXJ2YWwodGhpcy5wZXJpb2QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0b3BUaW1lcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl91cGRhdGVyKSB7XHJcbiAgICAgIHRoaXMuX3VwZGF0ZXIudW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy5fdXBkYXRlciA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVWYWx1ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlmZiA9IE1hdGgubWF4KHRoaXMuX3RhcmdldCAtIERhdGUubm93KCksIDApO1xyXG4gICAgaWYgKHRoaXMuZGlmZiA9PT0gMCkge1xyXG4gICAgICB0aGlzLnN0b3BUaW1lcigpO1xyXG4gICAgICB0aGlzLmZpbmlzaC5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LWNvdW50ZG93blwiPlxyXG4gIDx4LXN0YXRpc3RpY1xyXG4gICAgW3ZhbHVlXT1cImRpZmYgfCB4VGltZVJhbmdlOiBmb3JtYXRcIlxyXG4gICAgW3ZhbHVlU3R5bGVdPVwidmFsdWVTdHlsZVwiXHJcbiAgICBbcHJlZml4XT1cInByZWZpeFwiXHJcbiAgICBbc3VmZml4XT1cInN1ZmZpeFwiXHJcbiAgICBbbGFiZWxdPVwibGFiZWxcIlxyXG4gID48L3gtc3RhdGlzdGljPlxyXG48L2Rpdj5cclxuIl19
|