@datarailsshared/datarailsshared 1.6.45 → 1.6.49

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.
@@ -1,9 +1,11 @@
1
- import { ComponentFactoryResolver, Directive, ElementRef, Input, Renderer2, ViewChild, ViewContainerRef, } from '@angular/core';
1
+ import { Directive, ElementRef, HostBinding, Input, Renderer2, ViewContainerRef, } from '@angular/core';
2
2
  import { DrSpinnerComponent } from './dr-spinner.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class DrSpinnerDirective {
5
- constructor(componentFactoryResolver, viewContainerRef, el, rdr) {
6
- this.componentFactoryResolver = componentFactoryResolver;
5
+ get busy() {
6
+ return !!this.drSpinner;
7
+ }
8
+ constructor(viewContainerRef, el, rdr) {
7
9
  this.viewContainerRef = viewContainerRef;
8
10
  this.el = el;
9
11
  this.rdr = rdr;
@@ -33,17 +35,13 @@ export class DrSpinnerDirective {
33
35
  }
34
36
  }
35
37
  showSpinner(options) {
36
- const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DrSpinnerComponent);
37
- this.contentCmpRef = this.viewContainerRef.createComponent(componentFactory);
38
+ this.contentCmpRef = this.viewContainerRef.createComponent(DrSpinnerComponent);
38
39
  this.rdr.appendChild(this.el.nativeElement, this.contentCmpRef.location.nativeElement);
39
- this.contentCmpRef.instance.options = options;
40
+ this.contentCmpRef.setInput('options', options);
40
41
  }
41
- /** @nocollapse */ static { this.ɵfac = function DrSpinnerDirective_Factory(t) { return new (t || DrSpinnerDirective)(i0.ɵɵdirectiveInject(i0.ComponentFactoryResolver), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
42
- /** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrSpinnerDirective, selectors: [["", "drSpinner", ""]], viewQuery: function DrSpinnerDirective_Query(rf, ctx) { if (rf & 1) {
43
- i0.ɵɵviewQuery(DrSpinnerComponent, 7, ViewContainerRef);
44
- } if (rf & 2) {
45
- let _t;
46
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentCmpRef = _t.first);
42
+ /** @nocollapse */ static { this.ɵfac = function DrSpinnerDirective_Factory(t) { return new (t || DrSpinnerDirective)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
43
+ /** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrSpinnerDirective, selectors: [["", "drSpinner", ""]], hostVars: 1, hostBindings: function DrSpinnerDirective_HostBindings(rf, ctx) { if (rf & 2) {
44
+ i0.ɵɵattribute("aria-busy", ctx.busy);
47
45
  } }, inputs: { drSpinner: "drSpinner", drSpinnerSize: "drSpinnerSize", drSpinnerType: "drSpinnerType", drSpinnerNoOverlay: "drSpinnerNoOverlay" }, features: [i0.ɵɵNgOnChangesFeature] }); }
48
46
  }
49
47
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrSpinnerDirective, [{
@@ -51,10 +49,7 @@ export class DrSpinnerDirective {
51
49
  args: [{
52
50
  selector: '[drSpinner]',
53
51
  }]
54
- }], function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, { contentCmpRef: [{
55
- type: ViewChild,
56
- args: [DrSpinnerComponent, { static: true, read: ViewContainerRef }]
57
- }], drSpinner: [{
52
+ }], function () { return [{ type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, { drSpinner: [{
58
53
  type: Input
59
54
  }], drSpinnerSize: [{
60
55
  type: Input
@@ -62,5 +57,8 @@ export class DrSpinnerDirective {
62
57
  type: Input
63
58
  }], drSpinnerNoOverlay: [{
64
59
  type: Input
60
+ }], busy: [{
61
+ type: HostBinding,
62
+ args: ['attr.aria-busy']
65
63
  }] }); })();
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc3Bpbm5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1zcGlubmVyL2RyLXNwaW5uZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR0wsU0FBUyxFQUVULFNBQVMsRUFDVCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBTTVELE1BQU0sT0FBTyxrQkFBa0I7SUFPM0IsWUFDWSx3QkFBa0QsRUFDbEQsZ0JBQWtDLEVBQ2xDLEVBQWMsRUFDZCxHQUFjO1FBSGQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxRQUFHLEdBQUgsR0FBRyxDQUFXO1FBUmpCLGtCQUFhLEdBQWdCLFFBQVEsQ0FBQztRQUN0QyxrQkFBYSxHQUFnQixNQUFNLENBQUM7UUFDcEMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO0lBT2pDLENBQUM7SUFFSixXQUFXLENBQUMsT0FBc0I7UUFDOUIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFDNUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM5RCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUM3QjthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUNiLEdBQUcsT0FBTztnQkFDVixXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQy9CLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDL0IsU0FBUyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7YUFDckMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxPQUFPO1FBQ3ZCLE1BQU0sZ0JBQWdCLEdBQ2xCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDbEQsQ0FBQztzR0ExQ1Esa0JBQWtCO21HQUFsQixrQkFBa0I7MkJBQ2hCLGtCQUFrQixLQUF3QixnQkFBZ0I7Ozs7Ozt1RkFENUQsa0JBQWtCO2NBSDlCLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTthQUMxQjsySkFFNEUsYUFBYTtrQkFBckYsU0FBUzttQkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQzlELFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLGtCQUFrQjtrQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50RmFjdG9yeSxcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEclNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2RyLXNwaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNwaW5uZXJTaXplLCBTcGlubmVyVHlwZSB9IGZyb20gJy4uL21vZGVscy9zcGlubmVyT3B0aW9ucyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2RyU3Bpbm5lcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBEclNwaW5uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZChEclNwaW5uZXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGNvbnRlbnRDbXBSZWY7XG4gICAgQElucHV0KCkgZHJTcGlubmVyO1xuICAgIEBJbnB1dCgpIGRyU3Bpbm5lclNpemU6IFNwaW5uZXJTaXplID0gJ21lZGl1bSc7XG4gICAgQElucHV0KCkgZHJTcGlubmVyVHlwZTogU3Bpbm5lclR5cGUgPSAnbG9nbyc7XG4gICAgQElucHV0KCkgZHJTcGlubmVyTm9PdmVybGF5ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJkcjogUmVuZGVyZXIyLFxuICAgICkge31cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3Qgc2hvdyA9IGNoYW5nZXMuZHJTcGlubmVyLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudENtcFJlZiAmJiAhc2hvdykge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50Q21wUmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuY29udGVudENtcFJlZiA9IG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5kclNwaW5uZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1NwaW5uZXIoe1xuICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgc3Bpbm5lclNpemU6IHRoaXMuZHJTcGlubmVyU2l6ZSxcbiAgICAgICAgICAgICAgICBzcGlubmVyVHlwZTogdGhpcy5kclNwaW5uZXJUeXBlLFxuICAgICAgICAgICAgICAgIG5vT3ZlcmxheTogdGhpcy5kclNwaW5uZXJOb092ZXJsYXksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudENtcFJlZikge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50Q21wUmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd1NwaW5uZXIob3B0aW9ucykge1xuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PERyU3Bpbm5lckNvbXBvbmVudD4gPVxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRHJTcGlubmVyQ29tcG9uZW50KTtcbiAgICAgICAgdGhpcy5jb250ZW50Q21wUmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcbiAgICAgICAgdGhpcy5yZHIuYXBwZW5kQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLmNvbnRlbnRDbXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHRoaXMuY29udGVudENtcFJlZi5pbnN0YW5jZS5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG59XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc3Bpbm5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1zcGlubmVyL2RyLXNwaW5uZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBR0wsU0FBUyxFQUVULGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFNNUQsTUFBTSxPQUFPLGtCQUFrQjtJQU0zQixJQUNJLElBQUk7UUFDSixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzVCLENBQUM7SUFJRCxZQUNZLGdCQUFrQyxFQUNsQyxFQUEyQixFQUMzQixHQUFjO1FBRmQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUMzQixRQUFHLEdBQUgsR0FBRyxDQUFXO1FBZGpCLGtCQUFhLEdBQWdCLFFBQVEsQ0FBQztRQUN0QyxrQkFBYSxHQUFnQixNQUFNLENBQUM7UUFDcEMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO0lBYWpDLENBQUM7SUFFSixXQUFXLENBQUMsT0FBc0I7UUFDOUIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFDNUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM5RCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUM3QjthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUNiLEdBQUcsT0FBTztnQkFDVixXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQy9CLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDL0IsU0FBUyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7YUFDckMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxPQUF3QjtRQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEQsQ0FBQztzR0E3Q1Esa0JBQWtCO21HQUFsQixrQkFBa0I7Ozs7dUZBQWxCLGtCQUFrQjtjQUg5QixTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLGFBQWE7YUFDMUI7b0hBRVksU0FBUztrQkFBakIsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csa0JBQWtCO2tCQUExQixLQUFLO1lBR0YsSUFBSTtrQkFEUCxXQUFXO21CQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUmVuZGVyZXIyLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEclNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2RyLXNwaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElTcGlubmVyT3B0aW9ucywgU3Bpbm5lclNpemUsIFNwaW5uZXJUeXBlIH0gZnJvbSAnLi4vbW9kZWxzL3NwaW5uZXJPcHRpb25zJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZHJTcGlubmVyXScsXG59KVxuZXhwb3J0IGNsYXNzIERyU3Bpbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBkclNwaW5uZXI7XG4gICAgQElucHV0KCkgZHJTcGlubmVyU2l6ZTogU3Bpbm5lclNpemUgPSAnbWVkaXVtJztcbiAgICBASW5wdXQoKSBkclNwaW5uZXJUeXBlOiBTcGlubmVyVHlwZSA9ICdsb2dvJztcbiAgICBASW5wdXQoKSBkclNwaW5uZXJOb092ZXJsYXkgPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWJ1c3knKVxuICAgIGdldCBidXN5KCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLmRyU3Bpbm5lcjtcbiAgICB9XG5cbiAgICBjb250ZW50Q21wUmVmPzogQ29tcG9uZW50UmVmPERyU3Bpbm5lckNvbXBvbmVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSByZHI6IFJlbmRlcmVyMixcbiAgICApIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGNvbnN0IHNob3cgPSBjaGFuZ2VzLmRyU3Bpbm5lci5jdXJyZW50VmFsdWU7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRDbXBSZWYgJiYgIXNob3cpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudENtcFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRDbXBSZWYgPSBudWxsO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZHJTcGlubmVyKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dTcGlubmVyKHtcbiAgICAgICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgICAgIHNwaW5uZXJTaXplOiB0aGlzLmRyU3Bpbm5lclNpemUsXG4gICAgICAgICAgICAgICAgc3Bpbm5lclR5cGU6IHRoaXMuZHJTcGlubmVyVHlwZSxcbiAgICAgICAgICAgICAgICBub092ZXJsYXk6IHRoaXMuZHJTcGlubmVyTm9PdmVybGF5LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRDbXBSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudENtcFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dTcGlubmVyKG9wdGlvbnM6IElTcGlubmVyT3B0aW9ucykge1xuICAgICAgICB0aGlzLmNvbnRlbnRDbXBSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KERyU3Bpbm5lckNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMucmRyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy5jb250ZW50Q21wUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB0aGlzLmNvbnRlbnRDbXBSZWYuc2V0SW5wdXQoJ29wdGlvbnMnLCBvcHRpb25zKTtcbiAgICB9XG59XG4iXX0=
@@ -123,13 +123,15 @@ export class DrTooltipDirective {
123
123
  this.tooltipRef.instance.options = this.options;
124
124
  this.tooltipRef.instance.class = this.class + ' ' + this.position;
125
125
  this.tooltipRef.instance.theme = this.theme;
126
- this.tooltipMouseOnSubscription = this.tooltipRef.instance.isMouseOn$
127
- .pipe(skip(1))
128
- .subscribe((isMouseOn) => {
129
- if (!isMouseOn) {
130
- this.destroyTooltip();
131
- }
132
- });
126
+ if (!this.manualHandling) {
127
+ this.tooltipMouseOnSubscription = this.tooltipRef.instance.isMouseOn$
128
+ .pipe(skip(1))
129
+ .subscribe((isMouseOn) => {
130
+ if (!isMouseOn) {
131
+ this.destroyTooltip();
132
+ }
133
+ });
134
+ }
133
135
  }
134
136
  }
135
137
  destroyTooltip() {
@@ -191,4 +193,4 @@ export class DrTooltipDirective {
191
193
  type: HostListener,
192
194
  args: ['mouseleave']
193
195
  }] }); })();
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10b29sdGlwL2RyLXRvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUUxRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBSzVFLE1BQU0sT0FBTyxrQkFBa0I7SUFNM0IsSUFDVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxLQUFLO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQVdELElBQ0ksZ0JBQWdCLENBQUMsT0FBWTtRQUM3QixJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUU7WUFDakIsTUFBTSxR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LFVBQVUsR0FBRyxJQUFJLENBQUM7UUFFdkIsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUU7WUFDakMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pEO0lBQ0wsQ0FBQztJQUVPLHNCQUFzQjtRQUMxQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUN0QztJQUNMLENBQUM7c0dBOUtRLGtCQUFrQjttR0FBbEIsa0JBQWtCOzZHQUFsQixVQUFNLHdGQUFOLFVBQU07Ozt1RkFBTixrQkFBa0I7Y0FIOUIsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxhQUFhO2FBQzFCO3dIQUdHLE9BQU87a0JBRE4sS0FBSzttQkFBQyxXQUFXO1lBR2xCLGNBQWM7a0JBRGIsS0FBSzttQkFBQyxrQkFBa0I7WUFJZCxRQUFRO2tCQURsQixLQUFLO21CQUFDLG1CQUFtQjtZQVMxQixLQUFLO2tCQURKLEtBQUs7bUJBQUMsZ0JBQWdCO1lBSXZCLEtBQUs7a0JBREosS0FBSzttQkFBQyxnQkFBZ0I7WUFJZCx5QkFBeUI7a0JBQWpDLEtBQUs7WUFDRywwQkFBMEI7a0JBQWxDLEtBQUs7WUFHRixnQkFBZ0I7a0JBRG5CLEtBQUs7WUFnQkYsV0FBVztrQkFEZCxLQUFLO21CQUFDLGVBQWU7WUFXbEIsV0FBVztrQkFEZCxLQUFLO21CQUFDLGVBQWU7WUF5Q3RCLElBQUk7a0JBREgsWUFBWTttQkFBQyxZQUFZO1lBZ0IxQixJQUFJO2tCQURILFlBQVk7bUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL2RyLXRvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBPUFVQX1BPU0lUSU9OUyB9IGZyb20gJy4uL21vZGVscy9jb25zdGFudHMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBza2lwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVG9vbHRpcFRoZW1lIH0gZnJvbSAnLi9lbnVtcy90b29sdGlwLXRoZW1lLmVudW0nO1xuXG5jb25zdCBnZXRPdmVybGF5UG9zaXRpb24gPSAocG9zaXRpb24pID0+ICh7IC4uLlBPUFVQX1BPU0lUSU9OU1twb3NpdGlvbl0gfSk7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2RyVG9vbHRpcF0nLFxufSlcbmV4cG9ydCBjbGFzcyBEclRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgnZHJUb29sdGlwJylcbiAgICBjb250ZW50OiBhbnk7XG4gICAgQElucHV0KCdkclRvb2x0aXBDb250ZXh0JylcbiAgICBjb250ZW50Q29udGV4dCA9IHt9O1xuICAgIHByaXZhdGUgX3Bvc2l0aW9uID0gJ3RvcCc7XG4gICAgQElucHV0KCdkclRvb2x0aXBQb3NpdGlvbicpXG4gICAgcHVibGljIGdldCBwb3NpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IHBvc2l0aW9uKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3Bvc2l0aW9uID0gdmFsdWU7XG4gICAgICAgIHRoaXMub3ZlcmxheVBvc2l0aW9uID0gZ2V0T3ZlcmxheVBvc2l0aW9uKHZhbHVlKTtcbiAgICB9XG4gICAgQElucHV0KCdkclRvb2x0aXBDbGFzcycpXG4gICAgY2xhc3MgPSAnJztcblxuICAgIEBJbnB1dCgnZHJUb29sdGlwVGhlbWUnKVxuICAgIHRoZW1lOiBUb29sdGlwVGhlbWUgPSBUb29sdGlwVGhlbWUuTElHSFQ7XG5cbiAgICAvLyBpcyB1c2VkIGZvciBwcmVzZXJ2ZSB0b29sdGlwIGZyb20gYmVpbmcgaGlkZGVuIGZvciBOIG1pbGxpc2Vjb25kc1xuICAgIEBJbnB1dCgpIGRyVG9vbHRpcE1vdXNsZWF2ZVRpbWVvdXQgPSAwO1xuICAgIEBJbnB1dCgpIGRyVG9vbHRpcE1vdXNlRW50ZXJUaW1lb3V0ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRyVG9vbHRpcE9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgICAgIGlmIChvcHRpb25zPy5pbmRlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gZ2V0T3ZlcmxheVBvc2l0aW9uKHRoaXMucG9zaXRpb24pO1xuICAgICAgICAgICAgaWYgKHBvc2l0aW9uPy5vZmZzZXRZKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb24ub2Zmc2V0WSA9IHBvc2l0aW9uLm9mZnNldFkgPCAwID8gLW9wdGlvbnMuaW5kZW50IDogb3B0aW9ucy5pbmRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocG9zaXRpb24/Lm9mZnNldFgpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi5vZmZzZXRYID0gcG9zaXRpb24ub2Zmc2V0WCA8IDAgPyAtb3B0aW9ucy5pbmRlbnQgOiBvcHRpb25zLmluZGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICBASW5wdXQoJ2RyVG9vbHRpcFNob3cnKVxuICAgIHNldCBzaG93VG9vbHRpcCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm1hbnVhbEhhbmRsaW5nID0gdHJ1ZTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlclRvb2x0aXAoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveVRvb2x0aXAoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgnZHJUb29sdGlwSGlkZScpXG4gICAgc2V0IGhpZGVUb29sdGlwKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kZXN0cm95VG9vbHRpcCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuICAgIHByaXZhdGUgdG9vbHRpcFJlZjogQ29tcG9uZW50UmVmPFRvb2x0aXBDb21wb25lbnQ+O1xuXG4gICAgcHJpdmF0ZSBvcHRpb25zO1xuICAgIHByaXZhdGUgbWFudWFsSGFuZGxpbmc6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSB0b29sdGlwTW91c2VPblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgbW91c2VsZWF2ZVRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgICBwcml2YXRlIG1vdXNlZW50ZXJUaW1lcjogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gICAgcHJpdmF0ZSBvdmVybGF5UG9zaXRpb24gPSBnZXRPdmVybGF5UG9zaXRpb24odGhpcy5wb3NpdGlvbik7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIG92ZXJsYXlQb3NpdGlvbkJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICApIHt9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhck1vdXNlRW50ZXJUaW1lb3V0KCk7XG4gICAgICAgIGlmICghdGhpcy5vdmVybGF5UmVmKSByZXR1cm4gbnVsbDtcblxuICAgICAgICBpZiAodGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRPRE86IFRlbXBvcmFyeSBzb2x1dGlvbi4gbGluZSAxNjIgZG9lc24ndCBzdG9wIGZ1bmN0aW9uIGV4ZWN1dGlvblxuICAgICAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudG9vbHRpcE1vdXNlT25TdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcE1vdXNlT25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICAgIHNob3coKSB7XG4gICAgICAgIGlmICh0aGlzLm1hbnVhbEhhbmRsaW5nIHx8IHRoaXMub3ZlcmxheVJlZikgcmV0dXJuO1xuXG4gICAgICAgIGlmICh0aGlzLmRyVG9vbHRpcE1vdXNlRW50ZXJUaW1lb3V0KSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyTW91c2VFbnRlclRpbWVvdXQoKTtcblxuICAgICAgICAgICAgdGhpcy5tb3VzZWVudGVyVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlclRvb2x0aXAoKTtcbiAgICAgICAgICAgIH0sIHRoaXMuZHJUb29sdGlwTW91c2VFbnRlclRpbWVvdXQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJUb29sdGlwKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgICBoaWRlKCkge1xuICAgICAgICB0aGlzLmNsZWFyTW91c2VFbnRlclRpbWVvdXQoKTtcbiAgICAgICAgaWYgKHRoaXMubWFudWFsSGFuZGxpbmcgfHwgIXRoaXMudG9vbHRpcFJlZiB8fCB0aGlzLnRvb2x0aXBSZWY/Lmluc3RhbmNlLmlzTW91c2VPbiQuZ2V0VmFsdWUoKSkgcmV0dXJuO1xuXG4gICAgICAgIC8vIGlmIHRoaXMgdGltZW91dCB2YWx1ZSBpcyBzZXQgLSB0aGVuIHByZXNlcnZlXG4gICAgICAgIC8vIHRvb2x0aXAgZnJvbSBiZWluZyBoaWRkZW4gTiBtaWxsaXNlY29uZHMgYW5kIG5vdCBoaWRpbmcgaXRcbiAgICAgICAgLy8gaW4gY2FzZSBtb3VzZSBpcyBwb2ludGVkIG9uIHRvb2x0aXBcbiAgICAgICAgaWYgKHRoaXMuZHJUb29sdGlwTW91c2xlYXZlVGltZW91dCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubW91c2VsZWF2ZVRpbWVyKSB7XG4gICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubW91c2VsZWF2ZVRpbWVyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5tb3VzZWxlYXZlVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50b29sdGlwUmVmICYmICF0aGlzLnRvb2x0aXBSZWY/Lmluc3RhbmNlLmlzTW91c2VPbiQuZ2V0VmFsdWUoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgdGhpcy5kclRvb2x0aXBNb3VzbGVhdmVUaW1lb3V0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveVRvb2x0aXAoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlT3ZlcmxheSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVBvc2l0aW9uQnVpbGRlclxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50UmVmKVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW3RoaXMub3ZlcmxheVBvc2l0aW9uXSk7XG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7IHBvc2l0aW9uU3RyYXRlZ3kgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW5kZXJUb29sdGlwKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udGVudCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgICAgICBpZiAoIXRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKSkge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwUmVmID0gdGhpcy5vdmVybGF5UmVmLmF0dGFjaChuZXcgQ29tcG9uZW50UG9ydGFsKFRvb2x0aXBDb21wb25lbnQpKTtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy5jb250ZW50O1xuICAgICAgICAgICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLmNvbnRlbnRDb250ZXh0ID0gdGhpcy5jb250ZW50Q29udGV4dDtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5wb3NpdGlvbiA9IHRoaXMucG9zaXRpb247XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2Uub3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5jbGFzcyA9IHRoaXMuY2xhc3MgKyAnICcgKyB0aGlzLnBvc2l0aW9uO1xuICAgICAgICAgICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLnRoZW1lID0gdGhpcy50aGVtZTtcblxuICAgICAgICAgICAgdGhpcy50b29sdGlwTW91c2VPblN1YnNjcmlwdGlvbiA9IHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5pc01vdXNlT24kXG4gICAgICAgICAgICAgICAgLnBpcGUoc2tpcCgxKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChpc01vdXNlT246IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc01vdXNlT24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveVRvb2x0aXAoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95VG9vbHRpcCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWYgPSBudWxsO1xuXG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBNb3VzZU9uU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBNb3VzZU9uU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyTW91c2VFbnRlclRpbWVvdXQoKSB7XG4gICAgICAgIGlmICh0aGlzLm1vdXNlZW50ZXJUaW1lcikge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubW91c2VlbnRlclRpbWVyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10b29sdGlwL2RyLXRvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUUxRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBSzVFLE1BQU0sT0FBTyxrQkFBa0I7SUFNM0IsSUFDVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxLQUFLO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQVdELElBQ0ksZ0JBQWdCLENBQUMsT0FBWTtRQUM3QixJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUU7WUFDakIsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25ELElBQUksUUFBUSxFQUFFLE9BQU8sRUFBRTtnQkFDbkIsUUFBUSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO2FBQzlFO1lBQ0QsSUFBSSxRQUFRLEVBQUUsT0FBTyxFQUFFO2dCQUNuQixRQUFRLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7YUFDOUU7WUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQztTQUNuQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUNJLFdBQVcsQ0FBQyxLQUFjO1FBQzFCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3hCO2FBQU07WUFDSCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDekI7SUFDTCxDQUFDO0lBRUQsSUFDSSxXQUFXLENBQUMsS0FBYztRQUMxQixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN6QjtJQUNMLENBQUM7SUFZRCxZQUNZLE9BQWdCLEVBQ2hCLHNCQUE4QyxFQUM5QyxVQUFzQjtRQUZ0QixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWpFbEMsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDWixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBVTFCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFHWCxVQUFLLEdBQWlCLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFFekMsb0VBQW9FO1FBQzNELDhCQUF5QixHQUFHLENBQUMsQ0FBQztRQUM5QiwrQkFBMEIsR0FBRyxDQUFDLENBQUM7UUEwQ2hDLG9CQUFlLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBTXpELENBQUM7SUFFSixXQUFXO1FBQ1AsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFbEMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQy9CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNmO1FBQ0QscUVBQXFFO1FBQ3JFLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzdCO1FBRUQsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUU7WUFDakMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pEO0lBQ0wsQ0FBQztJQUdELElBQUk7UUFDQSxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPO1FBRW5ELElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFO1lBQ2pDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBRTlCLElBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLENBQUMsRUFBRSxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUN2QzthQUFNO1lBQ0gsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUdELElBQUk7UUFDQSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFBRSxPQUFPO1FBRXZHLCtDQUErQztRQUMvQyw2REFBNkQ7UUFDN0Qsc0NBQXNDO1FBQ3RDLElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQ2hDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDdEIsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUN0QztZQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDbkMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUNyRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7aUJBQ3pCO1lBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQ3RDO2FBQU07WUFDSCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDekI7SUFDTCxDQUFDO0lBRU8sYUFBYTtRQUNqQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0I7YUFDL0MsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUNwQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUUzQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFMUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2xFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBRTVDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUN0QixJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVTtxQkFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDYixTQUFTLENBQUMsQ0FBQyxTQUFrQixFQUFFLEVBQUU7b0JBQzlCLElBQUksQ0FBQyxTQUFTLEVBQUU7d0JBQ1osSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO3FCQUN6QjtnQkFDTCxDQUFDLENBQUMsQ0FBQzthQUNWO1NBQ0o7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNsQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM3QjtRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBRXZCLElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFO1lBQ2pDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNqRDtJQUNMLENBQUM7SUFFTyxzQkFBc0I7UUFDMUIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3RCLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDO3NHQWhMUSxrQkFBa0I7bUdBQWxCLGtCQUFrQjs2R0FBbEIsVUFBTSx3RkFBTixVQUFNOzs7dUZBQU4sa0JBQWtCO2NBSDlCLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsYUFBYTthQUMxQjt3SEFHRyxPQUFPO2tCQUROLEtBQUs7bUJBQUMsV0FBVztZQUdsQixjQUFjO2tCQURiLEtBQUs7bUJBQUMsa0JBQWtCO1lBSWQsUUFBUTtrQkFEbEIsS0FBSzttQkFBQyxtQkFBbUI7WUFTMUIsS0FBSztrQkFESixLQUFLO21CQUFDLGdCQUFnQjtZQUl2QixLQUFLO2tCQURKLEtBQUs7bUJBQUMsZ0JBQWdCO1lBSWQseUJBQXlCO2tCQUFqQyxLQUFLO1lBQ0csMEJBQTBCO2tCQUFsQyxLQUFLO1lBR0YsZ0JBQWdCO2tCQURuQixLQUFLO1lBZ0JGLFdBQVc7a0JBRGQsS0FBSzttQkFBQyxlQUFlO1lBV2xCLFdBQVc7a0JBRGQsS0FBSzttQkFBQyxlQUFlO1lBeUN0QixJQUFJO2tCQURILFlBQVk7bUJBQUMsWUFBWTtZQWdCMUIsSUFBSTtrQkFESCxZQUFZO21CQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UG9zaXRpb25CdWlsZGVyLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi9kci10b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQT1BVUF9QT1NJVElPTlMgfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2tpcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvb2x0aXBUaGVtZSB9IGZyb20gJy4vZW51bXMvdG9vbHRpcC10aGVtZS5lbnVtJztcblxuY29uc3QgZ2V0T3ZlcmxheVBvc2l0aW9uID0gKHBvc2l0aW9uKSA9PiAoeyAuLi5QT1BVUF9QT1NJVElPTlNbcG9zaXRpb25dIH0pO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tkclRvb2x0aXBdJyxcbn0pXG5leHBvcnQgY2xhc3MgRHJUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBASW5wdXQoJ2RyVG9vbHRpcCcpXG4gICAgY29udGVudDogYW55O1xuICAgIEBJbnB1dCgnZHJUb29sdGlwQ29udGV4dCcpXG4gICAgY29udGVudENvbnRleHQgPSB7fTtcbiAgICBwcml2YXRlIF9wb3NpdGlvbiA9ICd0b3AnO1xuICAgIEBJbnB1dCgnZHJUb29sdGlwUG9zaXRpb24nKVxuICAgIHB1YmxpYyBnZXQgcG9zaXRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wb3NpdGlvbjtcbiAgICB9XG4gICAgcHVibGljIHNldCBwb3NpdGlvbih2YWx1ZSkge1xuICAgICAgICB0aGlzLl9wb3NpdGlvbiA9IHZhbHVlO1xuICAgICAgICB0aGlzLm92ZXJsYXlQb3NpdGlvbiA9IGdldE92ZXJsYXlQb3NpdGlvbih2YWx1ZSk7XG4gICAgfVxuICAgIEBJbnB1dCgnZHJUb29sdGlwQ2xhc3MnKVxuICAgIGNsYXNzID0gJyc7XG5cbiAgICBASW5wdXQoJ2RyVG9vbHRpcFRoZW1lJylcbiAgICB0aGVtZTogVG9vbHRpcFRoZW1lID0gVG9vbHRpcFRoZW1lLkxJR0hUO1xuXG4gICAgLy8gaXMgdXNlZCBmb3IgcHJlc2VydmUgdG9vbHRpcCBmcm9tIGJlaW5nIGhpZGRlbiBmb3IgTiBtaWxsaXNlY29uZHNcbiAgICBASW5wdXQoKSBkclRvb2x0aXBNb3VzbGVhdmVUaW1lb3V0ID0gMDtcbiAgICBASW5wdXQoKSBkclRvb2x0aXBNb3VzZUVudGVyVGltZW91dCA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBkclRvb2x0aXBPcHRpb25zKG9wdGlvbnM6IGFueSkge1xuICAgICAgICBpZiAob3B0aW9ucz8uaW5kZW50KSB7XG4gICAgICAgICAgICBjb25zdCBwb3NpdGlvbiA9IGdldE92ZXJsYXlQb3NpdGlvbih0aGlzLnBvc2l0aW9uKTtcbiAgICAgICAgICAgIGlmIChwb3NpdGlvbj8ub2Zmc2V0WSkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uLm9mZnNldFkgPSBwb3NpdGlvbi5vZmZzZXRZIDwgMCA/IC1vcHRpb25zLmluZGVudCA6IG9wdGlvbnMuaW5kZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHBvc2l0aW9uPy5vZmZzZXRYKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb24ub2Zmc2V0WCA9IHBvc2l0aW9uLm9mZnNldFggPCAwID8gLW9wdGlvbnMuaW5kZW50IDogb3B0aW9ucy5pbmRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlQb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgfVxuXG4gICAgQElucHV0KCdkclRvb2x0aXBTaG93JylcbiAgICBzZXQgc2hvd1Rvb2x0aXAodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5tYW51YWxIYW5kbGluZyA9IHRydWU7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJUb29sdGlwKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoJ2RyVG9vbHRpcEhpZGUnKVxuICAgIHNldCBoaWRlVG9vbHRpcCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveVRvb2x0aXAoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgICBwcml2YXRlIHRvb2x0aXBSZWY6IENvbXBvbmVudFJlZjxUb29sdGlwQ29tcG9uZW50PjtcblxuICAgIHByaXZhdGUgb3B0aW9ucztcbiAgICBwcml2YXRlIG1hbnVhbEhhbmRsaW5nOiBib29sZWFuO1xuICAgIHByaXZhdGUgdG9vbHRpcE1vdXNlT25TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIG1vdXNlbGVhdmVUaW1lcjogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gICAgcHJpdmF0ZSBtb3VzZWVudGVyVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICAgIHByaXZhdGUgb3ZlcmxheVBvc2l0aW9uID0gZ2V0T3ZlcmxheVBvc2l0aW9uKHRoaXMucG9zaXRpb24pO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5UG9zaXRpb25CdWlsZGVyOiBPdmVybGF5UG9zaXRpb25CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgKSB7fVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJNb3VzZUVudGVyVGltZW91dCgpO1xuICAgICAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPOiBUZW1wb3Jhcnkgc29sdXRpb24uIGxpbmUgMTYyIGRvZXNuJ3Qgc3RvcCBmdW5jdGlvbiBleGVjdXRpb25cbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBNb3VzZU9uU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBNb3VzZU9uU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcbiAgICBzaG93KCkge1xuICAgICAgICBpZiAodGhpcy5tYW51YWxIYW5kbGluZyB8fCB0aGlzLm92ZXJsYXlSZWYpIHJldHVybjtcblxuICAgICAgICBpZiAodGhpcy5kclRvb2x0aXBNb3VzZUVudGVyVGltZW91dCkge1xuICAgICAgICAgICAgdGhpcy5jbGVhck1vdXNlRW50ZXJUaW1lb3V0KCk7XG5cbiAgICAgICAgICAgIHRoaXMubW91c2VlbnRlclRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJUb29sdGlwKCk7XG4gICAgICAgICAgICB9LCB0aGlzLmRyVG9vbHRpcE1vdXNlRW50ZXJUaW1lb3V0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyVG9vbHRpcCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gICAgaGlkZSgpIHtcbiAgICAgICAgdGhpcy5jbGVhck1vdXNlRW50ZXJUaW1lb3V0KCk7XG4gICAgICAgIGlmICh0aGlzLm1hbnVhbEhhbmRsaW5nIHx8ICF0aGlzLnRvb2x0aXBSZWYgfHwgdGhpcy50b29sdGlwUmVmPy5pbnN0YW5jZS5pc01vdXNlT24kLmdldFZhbHVlKCkpIHJldHVybjtcblxuICAgICAgICAvLyBpZiB0aGlzIHRpbWVvdXQgdmFsdWUgaXMgc2V0IC0gdGhlbiBwcmVzZXJ2ZVxuICAgICAgICAvLyB0b29sdGlwIGZyb20gYmVpbmcgaGlkZGVuIE4gbWlsbGlzZWNvbmRzIGFuZCBub3QgaGlkaW5nIGl0XG4gICAgICAgIC8vIGluIGNhc2UgbW91c2UgaXMgcG9pbnRlZCBvbiB0b29sdGlwXG4gICAgICAgIGlmICh0aGlzLmRyVG9vbHRpcE1vdXNsZWF2ZVRpbWVvdXQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vdXNlbGVhdmVUaW1lcikge1xuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLm1vdXNlbGVhdmVUaW1lcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubW91c2VsZWF2ZVRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudG9vbHRpcFJlZiAmJiAhdGhpcy50b29sdGlwUmVmPy5pbnN0YW5jZS5pc01vdXNlT24kLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95VG9vbHRpcCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHRoaXMuZHJUb29sdGlwTW91c2xlYXZlVGltZW91dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlQb3NpdGlvbkJ1aWxkZXJcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxlbWVudFJlZilcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFt0aGlzLm92ZXJsYXlQb3NpdGlvbl0pO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoeyBwb3NpdGlvblN0cmF0ZWd5IH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVuZGVyVG9vbHRpcCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRlbnQpIHJldHVybjtcblxuICAgICAgICB0aGlzLmNyZWF0ZU92ZXJsYXkoKTtcbiAgICAgICAgaWYgKCF0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZiA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IENvbXBvbmVudFBvcnRhbChUb29sdGlwQ29tcG9uZW50KSk7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2UuY29udGVudCA9IHRoaXMuY29udGVudDtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5jb250ZW50Q29udGV4dCA9IHRoaXMuY29udGVudENvbnRleHQ7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2UucG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uO1xuICAgICAgICAgICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2UuY2xhc3MgPSB0aGlzLmNsYXNzICsgJyAnICsgdGhpcy5wb3NpdGlvbjtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS50aGVtZSA9IHRoaXMudGhlbWU7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5tYW51YWxIYW5kbGluZykge1xuICAgICAgICAgICAgICAgIHRoaXMudG9vbHRpcE1vdXNlT25TdWJzY3JpcHRpb24gPSB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2UuaXNNb3VzZU9uJFxuICAgICAgICAgICAgICAgICAgICAucGlwZShza2lwKDEpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChpc01vdXNlT246IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNNb3VzZU9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95VG9vbHRpcCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZGVzdHJveVRvb2x0aXAoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmID0gbnVsbDtcblxuICAgICAgICBpZiAodGhpcy50b29sdGlwTW91c2VPblN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwTW91c2VPblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhck1vdXNlRW50ZXJUaW1lb3V0KCkge1xuICAgICAgICBpZiAodGhpcy5tb3VzZWVudGVyVGltZXIpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLm1vdXNlZW50ZXJUaW1lcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=