@ethlete/core 4.22.0 → 4.23.0
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/CHANGELOG.md +6 -0
- package/esm2022/lib/components/structured-data/structured-data.component.mjs +3 -3
- package/esm2022/lib/directives/animatable/animatable.directive.mjs +3 -3
- package/esm2022/lib/directives/animated-if/animated-if.directive.mjs +3 -3
- package/esm2022/lib/directives/animated-lifecycle/animated-lifecycle.directive.mjs +3 -3
- package/esm2022/lib/directives/animated-overlay/animated-overlay.directive.mjs +24 -14
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +3 -3
- package/esm2022/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.mjs +3 -3
- package/esm2022/lib/directives/debug/debug.directive.mjs +3 -3
- package/esm2022/lib/directives/delayable/delayable.directive.mjs +3 -3
- package/esm2022/lib/directives/is-active-element/is-active-element.directive.mjs +3 -3
- package/esm2022/lib/directives/is-element/is-element.directive.mjs +3 -3
- package/esm2022/lib/directives/let/let.directive.mjs +3 -3
- package/esm2022/lib/directives/observe-content/observe-content.directive.mjs +10 -5
- package/esm2022/lib/directives/observe-resize/observe-resize.directive.mjs +10 -5
- package/esm2022/lib/directives/observe-scroll-state/observe-scroll-state.directive.mjs +3 -3
- package/esm2022/lib/directives/observe-visibility/observe-visibility.directive.mjs +3 -3
- package/esm2022/lib/directives/repeat/repeat.directive.mjs +3 -3
- package/esm2022/lib/directives/root-boundary/root-boundary.directive.mjs +3 -3
- package/esm2022/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.mjs +3 -3
- package/esm2022/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.mjs +3 -3
- package/esm2022/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.mjs +3 -3
- package/esm2022/lib/directives/seo/seo.directive.mjs +3 -3
- package/esm2022/lib/pipes/infer-mime-type/infer-mime-type.pipe.mjs +3 -3
- package/esm2022/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.mjs +3 -3
- package/esm2022/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.mjs +3 -3
- package/esm2022/lib/pipes/normalize-match-score/normalize-match-score.pipe.mjs +3 -3
- package/esm2022/lib/pipes/normalize-match-state/normalize-match-state.pipe.mjs +3 -3
- package/esm2022/lib/pipes/normalize-match-type/normalize-match-type.pipe.mjs +3 -3
- package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +3 -3
- package/esm2022/lib/props/props.directive.mjs +3 -3
- package/esm2022/lib/services/click-observer.service.mjs +6 -6
- package/esm2022/lib/services/content-observer.service.mjs +6 -6
- package/esm2022/lib/services/focus-visible.service.mjs +3 -3
- package/esm2022/lib/services/intersection-observer.service.mjs +6 -6
- package/esm2022/lib/services/resize-observer.service.mjs +6 -6
- package/esm2022/lib/services/router-state.service.mjs +3 -3
- package/esm2022/lib/services/viewport.service.mjs +3 -3
- package/fesm2022/ethlete-core.mjs +213 -192
- package/fesm2022/ethlete-core.mjs.map +1 -1
- package/lib/directives/animated-overlay/animated-overlay.directive.d.ts +11 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @ethlete/core
|
|
2
2
|
|
|
3
|
+
## 4.23.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`2032030`](https://github.com/ethlete-io/ethdk/commit/203203080dcd1e1b800135667a84232074f9250f) Thanks [@TomTomB](https://github.com/TomTomB)! - Add referenceElement input to animated overlay directive
|
|
8
|
+
|
|
3
9
|
## 4.22.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
|
@@ -13,10 +13,10 @@ export class StructuredDataComponent {
|
|
|
13
13
|
const html = `<script type="application/ld+json">${json}</script>`;
|
|
14
14
|
return this._sanitizer.bypassSecurityTrustHtml(html);
|
|
15
15
|
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: StructuredDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.3", type: StructuredDataComponent, isStandalone: true, selector: "et-structured-data", inputs: { data: "data" }, host: { properties: { "innerHTML": "this.jsonLD" }, styleAttribute: "display: none" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: StructuredDataComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
21
|
args: [{
|
|
22
22
|
selector: 'et-structured-data',
|
|
@@ -93,15 +93,15 @@ export class AnimatableDirective {
|
|
|
93
93
|
.subscribe();
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
97
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: AnimatableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
97
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.3", type: AnimatableDirective, isStandalone: true, selector: "[etAnimatable]", inputs: { animatedElement: ["etAnimatable", "animatedElement"] }, providers: [
|
|
98
98
|
{
|
|
99
99
|
provide: ANIMATABLE_TOKEN,
|
|
100
100
|
useExisting: AnimatableDirective,
|
|
101
101
|
},
|
|
102
102
|
], exportAs: ["etAnimatable"], ngImport: i0 }); }
|
|
103
103
|
}
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: AnimatableDirective, decorators: [{
|
|
105
105
|
type: Directive,
|
|
106
106
|
args: [{
|
|
107
107
|
selector: '[etAnimatable]',
|
|
@@ -26,15 +26,15 @@ export class AnimatedIfDirective {
|
|
|
26
26
|
.subscribe();
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
30
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: AnimatedIfDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
30
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.3", type: AnimatedIfDirective, isStandalone: true, selector: "[etAnimatedIf]", inputs: { shouldRender: ["etAnimatedIf", "shouldRender"] }, providers: [
|
|
31
31
|
{
|
|
32
32
|
provide: ANIMATED_IF_TOKEN,
|
|
33
33
|
useExisting: AnimatedIfDirective,
|
|
34
34
|
},
|
|
35
35
|
], hostDirectives: [{ directive: i1.NgIf }], ngImport: i0 }); }
|
|
36
36
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: AnimatedIfDirective, decorators: [{
|
|
38
38
|
type: Directive,
|
|
39
39
|
args: [{
|
|
40
40
|
selector: '[etAnimatedIf]',
|
|
@@ -110,15 +110,15 @@ export class AnimatedLifecycleDirective {
|
|
|
110
110
|
_forceState(state) {
|
|
111
111
|
this._state$.next(state);
|
|
112
112
|
}
|
|
113
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
114
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: AnimatedLifecycleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
114
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.3", type: AnimatedLifecycleDirective, isStandalone: true, selector: "[etAnimatedLifecycle]", inputs: { skipNextEnter: { classPropertyName: "skipNextEnter", publicName: "skipNextEnter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { stateChange: "stateChange", skipNextEnter: "skipNextEnterChange" }, providers: [
|
|
115
115
|
{
|
|
116
116
|
provide: ANIMATED_LIFECYCLE_TOKEN,
|
|
117
117
|
useExisting: AnimatedLifecycleDirective,
|
|
118
118
|
},
|
|
119
119
|
], exportAs: ["etAnimatedLifecycle"], hostDirectives: [{ directive: i1.AnimatableDirective }], ngImport: i0 }); }
|
|
120
120
|
}
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: AnimatedLifecycleDirective, decorators: [{
|
|
122
122
|
type: Directive,
|
|
123
123
|
args: [{
|
|
124
124
|
selector: '[etAnimatedLifecycle]',
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { Overlay } from '@angular/cdk/overlay';
|
|
2
2
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
3
|
-
import { Directive, ElementRef, Injector, Input, NgZone, ViewContainerRef, inject, isDevMode, } from '@angular/core';
|
|
3
|
+
import { Directive, ElementRef, Injector, Input, NgZone, ViewContainerRef, booleanAttribute, inject, isDevMode, } from '@angular/core';
|
|
4
4
|
import { arrow, autoUpdate, computePosition, flip, hide, limitShift, offset, shift, size, } from '@floating-ui/dom';
|
|
5
5
|
import { BehaviorSubject, Subject, filter, take, takeUntil, tap } from 'rxjs';
|
|
6
|
+
import { ResizeObserverService } from '../../services';
|
|
6
7
|
import { createDestroy, nextFrame } from '../../utils';
|
|
7
|
-
import { ObserveResizeDirective } from '../observe-resize';
|
|
8
8
|
import { RootBoundaryDirective } from '../root-boundary';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../observe-resize/observe-resize.directive";
|
|
11
10
|
export class AnimatedOverlayDirective {
|
|
12
11
|
constructor() {
|
|
13
12
|
this._destroy$ = createDestroy();
|
|
@@ -16,7 +15,7 @@ export class AnimatedOverlayDirective {
|
|
|
16
15
|
this._viewContainerRef = inject(ViewContainerRef);
|
|
17
16
|
this._zone = inject(NgZone);
|
|
18
17
|
this._elementRef = inject(ElementRef);
|
|
19
|
-
this.
|
|
18
|
+
this._resizeObserverService = inject(ResizeObserverService);
|
|
20
19
|
this._rootBoundary = inject(RootBoundaryDirective, { optional: true });
|
|
21
20
|
this._portal = null;
|
|
22
21
|
this._overlayRef = null;
|
|
@@ -71,6 +70,11 @@ export class AnimatedOverlayDirective {
|
|
|
71
70
|
* @default false
|
|
72
71
|
*/
|
|
73
72
|
this.autoCloseIfReferenceHidden = false;
|
|
73
|
+
/**
|
|
74
|
+
* The reference element for the animated overlay.
|
|
75
|
+
* @default this._elementRef.nativeElement
|
|
76
|
+
*/
|
|
77
|
+
this.referenceElement = this._elementRef.nativeElement;
|
|
74
78
|
}
|
|
75
79
|
get isMounted() {
|
|
76
80
|
return this._isMounted$.value;
|
|
@@ -141,7 +145,8 @@ export class AnimatedOverlayDirective {
|
|
|
141
145
|
this._overlayRef.updateSize({
|
|
142
146
|
width: this._elementRef.nativeElement.offsetWidth,
|
|
143
147
|
});
|
|
144
|
-
this.
|
|
148
|
+
this._resizeObserverService
|
|
149
|
+
.observe(this.referenceElement)
|
|
145
150
|
.pipe(tap(() => {
|
|
146
151
|
this._overlayRef?.updateSize({
|
|
147
152
|
width: this._elementRef.nativeElement.offsetWidth,
|
|
@@ -156,7 +161,7 @@ export class AnimatedOverlayDirective {
|
|
|
156
161
|
const floatingEl = this._componentRef.location.nativeElement;
|
|
157
162
|
const floatingElArrow = this._componentRef.instance._elementRef?.nativeElement.querySelector('[et-floating-arrow]');
|
|
158
163
|
floatingEl.classList.add('et-floating-element');
|
|
159
|
-
const refEl = this.
|
|
164
|
+
const refEl = this.referenceElement;
|
|
160
165
|
const boundary = this._rootBoundary?.boundaryElement ?? undefined;
|
|
161
166
|
this._floatingElCleanupFn = autoUpdate(refEl, floatingEl, () => {
|
|
162
167
|
if (!this._componentRef)
|
|
@@ -300,14 +305,13 @@ export class AnimatedOverlayDirective {
|
|
|
300
305
|
this._isUnmounting$.next(false);
|
|
301
306
|
this._afterClosed?.next();
|
|
302
307
|
}
|
|
303
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
304
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
308
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: AnimatedOverlayDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
309
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.3", type: AnimatedOverlayDirective, isStandalone: true, inputs: { placement: "placement", fallbackPlacements: "fallbackPlacements", offset: "offset", arrowPadding: "arrowPadding", viewportPadding: "viewportPadding", autoResize: ["autoResize", "autoResize", booleanAttribute], shift: ["shift", "shift", booleanAttribute], autoHide: ["autoHide", "autoHide", booleanAttribute], autoCloseIfReferenceHidden: ["autoCloseIfReferenceHidden", "autoCloseIfReferenceHidden", booleanAttribute], referenceElement: "referenceElement" }, host: { classAttribute: "et-animated-overlay" }, ngImport: i0 }); }
|
|
305
310
|
}
|
|
306
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
311
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: AnimatedOverlayDirective, decorators: [{
|
|
307
312
|
type: Directive,
|
|
308
313
|
args: [{
|
|
309
314
|
standalone: true,
|
|
310
|
-
hostDirectives: [ObserveResizeDirective],
|
|
311
315
|
host: {
|
|
312
316
|
class: 'et-animated-overlay',
|
|
313
317
|
},
|
|
@@ -323,12 +327,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
|
323
327
|
}], viewportPadding: [{
|
|
324
328
|
type: Input
|
|
325
329
|
}], autoResize: [{
|
|
326
|
-
type: Input
|
|
330
|
+
type: Input,
|
|
331
|
+
args: [{ transform: booleanAttribute }]
|
|
327
332
|
}], shift: [{
|
|
328
|
-
type: Input
|
|
333
|
+
type: Input,
|
|
334
|
+
args: [{ transform: booleanAttribute }]
|
|
329
335
|
}], autoHide: [{
|
|
330
|
-
type: Input
|
|
336
|
+
type: Input,
|
|
337
|
+
args: [{ transform: booleanAttribute }]
|
|
331
338
|
}], autoCloseIfReferenceHidden: [{
|
|
339
|
+
type: Input,
|
|
340
|
+
args: [{ transform: booleanAttribute }]
|
|
341
|
+
}], referenceElement: [{
|
|
332
342
|
type: Input
|
|
333
343
|
}] } });
|
|
334
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZWQtb3ZlcmxheS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9kaXJlY3RpdmVzL2FuaW1hdGVkLW92ZXJsYXkvYW5pbWF0ZWQtb3ZlcmxheS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBRU4sZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUlMLEtBQUssRUFDTCxVQUFVLEVBQ1YsZUFBZSxFQUNmLElBQUksRUFDSixJQUFJLEVBQ0osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsSUFBSSxHQUNMLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFnQnpELE1BQU0sT0FBTyx3QkFBd0I7SUFQckM7UUFRbUIsY0FBUyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBQzVCLG9CQUFlLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENB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QURKLEtBQUs7Z0JBUU4sUUFBUTtzQkFEUCxLQUFLO2dCQVFOLDBCQUEwQjtzQkFEekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIENvbXBvbmVudFJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgU3RhdGljUHJvdmlkZXIsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIGluamVjdCxcbiAgaXNEZXZNb2RlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3ZpZGVUaGVtZURpcmVjdGl2ZSB9IGZyb20gJ0BldGhsZXRlL3RoZW1pbmcnO1xuaW1wb3J0IHtcbiAgT2Zmc2V0T3B0aW9ucyxcbiAgUGFkZGluZyxcbiAgUGxhY2VtZW50LFxuICBhcnJvdyxcbiAgYXV0b1VwZGF0ZSxcbiAgY29tcHV0ZVBvc2l0aW9uLFxuICBmbGlwLFxuICBoaWRlLFxuICBsaW1pdFNoaWZ0LFxuICBvZmZzZXQsXG4gIHNoaWZ0LFxuICBzaXplLFxufSBmcm9tICdAZmxvYXRpbmctdWkvZG9tJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgZmlsdGVyLCB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY3JlYXRlRGVzdHJveSwgbmV4dEZyYW1lIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQW5pbWF0ZWRMaWZlY3ljbGVEaXJlY3RpdmUgfSBmcm9tICcuLi9hbmltYXRlZC1saWZlY3ljbGUnO1xuaW1wb3J0IHsgT2JzZXJ2ZVJlc2l6ZURpcmVjdGl2ZSB9IGZyb20gJy4uL29ic2VydmUtcmVzaXplJztcbmltcG9ydCB7IFJvb3RCb3VuZGFyeURpcmVjdGl2ZSB9IGZyb20gJy4uL3Jvb3QtYm91bmRhcnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFuaW1hdGVkT3ZlcmxheUNvbXBvbmVudEJhc2Uge1xuICBfZWxlbWVudFJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBfYW5pbWF0ZWRMaWZlY3ljbGU/OiBBbmltYXRlZExpZmVjeWNsZURpcmVjdGl2ZTtcbiAgX21hcmtGb3JDaGVjaz86ICgpID0+IHZvaWQ7XG4gIF9zZXRUaGVtZUZyb21Qcm92aWRlcj86IChwcm92aWRlcjogUHJvdmlkZVRoZW1lRGlyZWN0aXZlKSA9PiB2b2lkO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtPYnNlcnZlUmVzaXplRGlyZWN0aXZlXSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtYW5pbWF0ZWQtb3ZlcmxheScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFuaW1hdGVkT3ZlcmxheURpcmVjdGl2ZTxUIGV4dGVuZHMgQW5pbWF0ZWRPdmVybGF5Q29tcG9uZW50QmFzZT4ge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IGNyZWF0ZURlc3Ryb3koKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3ZlcmxheVNlcnZpY2UgPSBpbmplY3QoT3ZlcmxheSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfem9uZSA9IGluamVjdChOZ1pvbmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfb2JzZXJ2ZVJlc2l6ZSA9IGluamVjdChPYnNlcnZlUmVzaXplRGlyZWN0aXZlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcm9vdEJvdW5kYXJ5ID0gaW5qZWN0KFJvb3RCb3VuZGFyeURpcmVjdGl2ZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBwcml2YXRlIF9wb3J0YWw6IENvbXBvbmVudFBvcnRhbDxUPiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2Zsb2F0aW5nRWxDbGVhbnVwRm46ICgoKSA9PiB2b2lkKSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2JlZm9yZU9wZW5lZDogU3ViamVjdDx2b2lkPiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9hZnRlck9wZW5lZDogU3ViamVjdDx2b2lkPiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9iZWZvcmVDbG9zZWQ6IFN1YmplY3Q8dm9pZD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfYWZ0ZXJDbG9zZWQ6IFN1YmplY3Q8dm9pZD4gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pc01vdW50ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2lzTW91bnRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2lzVW5tb3VudGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaXNIaWRkZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgLyoqXG4gICAqIFRoZSBwbGFjZW1lbnQgb2YgdGhlIGFuaW1hdGVkIG92ZXJsYXkuXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgQElucHV0KClcbiAgcGxhY2VtZW50PzogUGxhY2VtZW50ID0gJ2JvdHRvbSc7XG5cbiAgLyoqXG4gICAqIFRoZSBhbGxvd2VkIGF1dG8gcGxhY2VtZW50cyBvZiB0aGUgYW5pbWF0ZWQgb3ZlcmxheS5cbiAgICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2ZsaXAjZmFsbGJhY2twbGFjZW1lbnRzXG4gICAqL1xuICBASW5wdXQoKVxuICBmYWxsYmFja1BsYWNlbWVudHM/OiBQbGFjZW1lbnRbXTtcblxuICAvKipcbiAgICogVGhlIG9mZnNldCBvZiB0aGUgYW5pbWF0ZWQgb3ZlcmxheS5cbiAgICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL29mZnNldFxuICAgKi9cbiAgQElucHV0KClcbiAgb2Zmc2V0OiBPZmZzZXRPcHRpb25zIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBhcnJvdyBwYWRkaW5nLlxuICAgKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXJyb3cjcGFkZGluZ1xuICAgKiBAZGVmYXVsdCA0XG4gICAqL1xuICBASW5wdXQoKVxuICBhcnJvd1BhZGRpbmc6IFBhZGRpbmcgfCBudWxsID0gNDtcblxuICAvKipcbiAgICogVGhlIHZpZXdwb3J0IHBhZGRpbmcuXG4gICAqIEBkZWZhdWx0IDhcbiAgICovXG4gIEBJbnB1dCgpXG4gIHZpZXdwb3J0UGFkZGluZzogUGFkZGluZyB8IG51bGwgPSA4O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhbmltYXRlZCBvdmVybGF5IHNob3VsZCBhdXRvIHJlc2l6ZSB0byBmaXQgdGhlIGF2YWlsYWJsZSBzcGFjZS5cbiAgICogVXNlZnVsIGZvciB0aGluZ3MgbGlrZSBzZWxlY3RzIHdoZXJlIHRoZSBsaXN0IG9mIG9wdGlvbnMgbWlnaHQgYmUgbG9uZ2VyIHRoYW4gdGhlIGF2YWlsYWJsZSBzcGFjZS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIGF1dG9SZXNpemUgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYW5pbWF0ZWQgb3ZlcmxheSBzaG91bGQgc2hpZnQgd2hlbiBpdCBpcyBuZWFyIHRoZSB2aWV3cG9ydCBib3VuZGFyeS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNoaWZ0ID0gdHJ1ZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYW5pbWF0ZWQgb3ZlcmxheSBzaG91bGQgYXV0byBoaWRlIHdoZW4gdGhlIHJlZmVyZW5jZSBlbGVtZW50IGlzIGhpZGRlbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIGF1dG9IaWRlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFuaW1hdGVkIG92ZXJsYXkgc2hvdWxkIGF1dG8gY2xvc2UgaWYgdGhlIHJlZmVyZW5jZSBlbGVtZW50IGlzIGhpZGRlbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIGF1dG9DbG9zZUlmUmVmZXJlbmNlSGlkZGVuID0gZmFsc2U7XG5cbiAgZ2V0IGlzTW91bnRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5faXNNb3VudGVkJC52YWx1ZTtcbiAgfVxuXG4gIGdldCBpc01vdW50ZWQkKCkge1xuICAgIHJldHVybiB0aGlzLl9pc01vdW50ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGlzTW91bnRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzTW91bnRpbmckLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGlzTW91bnRpbmckKCkge1xuICAgIHJldHVybiB0aGlzLl9pc01vdW50aW5nJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBpc1VubW91bnRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzVW5tb3VudGluZyQudmFsdWU7XG4gIH1cblxuICBnZXQgaXNIaWRkZW4kKCkge1xuICAgIHJldHVybiB0aGlzLl9pc0hpZGRlbiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgaXNIaWRkZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzSGlkZGVuJC52YWx1ZTtcbiAgfVxuXG4gIGdldCBjYW5Nb3VudCgpIHtcbiAgICByZXR1cm4gIXRoaXMuaXNNb3VudGVkICYmICF0aGlzLmlzTW91bnRpbmc7XG4gIH1cblxuICBnZXQgY2FuVW5tb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc01vdW50ZWQgJiYgIXRoaXMuaXNVbm1vdW50aW5nO1xuICB9XG5cbiAgZ2V0IHBvcnRhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcG9ydGFsO1xuICB9XG5cbiAgZ2V0IG92ZXJsYXlSZWYoKSB7XG4gICAgcmV0dXJuIHRoaXMuX292ZXJsYXlSZWY7XG4gIH1cblxuICBnZXQgY29tcG9uZW50UmVmKCkge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRSZWY7XG4gIH1cblxuICBtb3VudChjb25maWc6IHtcbiAgICBjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD47XG4gICAgcHJvdmlkZXJzPzogU3RhdGljUHJvdmlkZXJbXTtcbiAgICBkYXRhPzogUGFydGlhbDxUPjtcbiAgICBtaXJyb3JXaWR0aD86IGJvb2xlYW47XG4gICAgdGhlbWVQcm92aWRlcj86IFByb3ZpZGVUaGVtZURpcmVjdGl2ZSB8IG51bGw7XG4gIH0pIHtcbiAgICBpZiAodGhpcy5pc01vdW50ZWQgfHwgdGhpcy5pc01vdW50aW5nKSB7XG4gICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNb3VudGVkKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgJ0FuaW1hdGVkT3ZlcmxheURpcmVjdGl2ZTogVGhlIGNvbXBvbmVudCBpcyBjdXJyZW50bHkgbW91bnRlZC4gUGxlYXNlIHVubW91bnQgdGhlIGNvbXBvbmVudCBiZWZvcmUgbW91bnRpbmcgYWdhaW4uJyxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNNb3VudGluZykge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICdBbmltYXRlZE92ZXJsYXlEaXJlY3RpdmU6IFRoZSBjb21wb25lbnQgaXMgYWxyZWFkeSBtb3VudGluZy4gUGxlYXNlIHVubW91bnQgdGhlIGNvbXBvbmVudCBiZWZvcmUgbW91bnRpbmcgYWdhaW4uJyxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pc01vdW50aW5nJC5uZXh0KHRydWUpO1xuXG4gICAgY29uc3QgeyBjb21wb25lbnQsIHByb3ZpZGVycywgZGF0YSwgbWlycm9yV2lkdGgsIHRoZW1lUHJvdmlkZXIgfSA9IGNvbmZpZztcblxuICAgIHRoaXMuX2JlZm9yZU9wZW5lZD8ubmV4dCgpO1xuXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcGFyZW50OiB0aGlzLl9pbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogcHJvdmlkZXJzID8/IFtdLFxuICAgIH0pO1xuXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXlTZXJ2aWNlLmNyZWF0ZSgpO1xuXG4gICAgdGhpcy5fcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChjb21wb25lbnQsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYsIGluamVjdG9yKTtcbiAgICB0aGlzLl9jb21wb25lbnRSZWYgPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaCh0aGlzLl9wb3J0YWwpO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLCBkYXRhKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuX21hcmtGb3JDaGVjaz8uKCk7XG5cbiAgICBpZiAodGhlbWVQcm92aWRlcikge1xuICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLl9zZXRUaGVtZUZyb21Qcm92aWRlcj8uKHRoZW1lUHJvdmlkZXIpO1xuICAgIH1cblxuICAgIGlmIChtaXJyb3JXaWR0aCkge1xuICAgICAgdGhpcy5fb3ZlcmxheVJlZi51cGRhdGVTaXplKHtcbiAgICAgICAgd2lkdGg6IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLl9vYnNlcnZlUmVzaXplLnZhbHVlQ2hhbmdlXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy51cGRhdGVTaXplKHtcbiAgICAgICAgICAgICAgd2lkdGg6IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuYWZ0ZXJDbG9zZWQoKSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLl9jb21wb25lbnRSZWYpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmbG9hdGluZ0VsID0gdGhpcy5fY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjb25zdCBmbG9hdGluZ0VsQXJyb3cgPSB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuX2VsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJ1tldC1mbG9hdGluZy1hcnJvd10nLFxuICAgICAgKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG5cbiAgICAgIGZsb2F0aW5nRWwuY2xhc3NMaXN0LmFkZCgnZXQtZmxvYXRpbmctZWxlbWVudCcpO1xuXG4gICAgICBjb25zdCByZWZFbCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgIGNvbnN0IGJvdW5kYXJ5ID0gdGhpcy5fcm9vdEJvdW5kYXJ5Py5ib3VuZGFyeUVsZW1lbnQgPz8gdW5kZWZpbmVkO1xuXG4gICAgICB0aGlzLl9mbG9hdGluZ0VsQ2xlYW51cEZuID0gYXV0b1VwZGF0ZShyZWZFbCwgZmxvYXRpbmdFbCwgKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuX2NvbXBvbmVudFJlZikgcmV0dXJuO1xuXG4gICAgICAgIGNvbXB1dGVQb3NpdGlvbihyZWZFbCwgZmxvYXRpbmdFbCwge1xuICAgICAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsXG5cbiAgICAgICAgICBtaWRkbGV3YXJlOiBbXG4gICAgICAgICAgICAuLi4odGhpcy5vZmZzZXQgPyBbb2Zmc2V0KHRoaXMub2Zmc2V0KV0gOiBbXSksXG4gICAgICAgICAgICBmbGlwKHtcbiAgICAgICAgICAgICAgZmFsbGJhY2tQbGFjZW1lbnRzOiB0aGlzLmZhbGxiYWNrUGxhY2VtZW50cyA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIGZhbGxiYWNrQXhpc1NpZGVEaXJlY3Rpb246ICdzdGFydCcsXG4gICAgICAgICAgICAgIGJvdW5kYXJ5LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAuLi4odGhpcy5hdXRvUmVzaXplXG4gICAgICAgICAgICAgID8gW1xuICAgICAgICAgICAgICAgICAgc2l6ZSh7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHRoaXMudmlld3BvcnRQYWRkaW5nID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgYXBwbHkoeyBhdmFpbGFibGVIZWlnaHQsIGF2YWlsYWJsZVdpZHRoIH0pIHtcbiAgICAgICAgICAgICAgICAgICAgICBmbG9hdGluZ0VsLnN0eWxlLnNldFByb3BlcnR5KCctLWV0LWZsb2F0aW5nLW1heC13aWR0aCcsIGAke2F2YWlsYWJsZVdpZHRofXB4YCk7XG4gICAgICAgICAgICAgICAgICAgICAgZmxvYXRpbmdFbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1ldC1mbG9hdGluZy1tYXgtaGVpZ2h0JywgYCR7YXZhaWxhYmxlSGVpZ2h0fXB4YCk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgICAgLi4uKHRoaXMuc2hpZnRcbiAgICAgICAgICAgICAgPyBbc2hpZnQoeyBsaW1pdGVyOiBsaW1pdFNoaWZ0KCksIHBhZGRpbmc6IHRoaXMudmlld3BvcnRQYWRkaW5nID8/IHVuZGVmaW5lZCwgYm91bmRhcnkgfSldXG4gICAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgICAgLi4uKGZsb2F0aW5nRWxBcnJvdyA/IFthcnJvdyh7IGVsZW1lbnQ6IGZsb2F0aW5nRWxBcnJvdywgcGFkZGluZzogdGhpcy5hcnJvd1BhZGRpbmcgPz8gdW5kZWZpbmVkIH0pXSA6IFtdKSxcbiAgICAgICAgICAgIC4uLih0aGlzLmF1dG9IaWRlIHx8IHRoaXMuYXV0b0Nsb3NlSWZSZWZlcmVuY2VIaWRkZW5cbiAgICAgICAgICAgICAgPyBbaGlkZSh7IHN0cmF0ZWd5OiAncmVmZXJlbmNlSGlkZGVuJywgYm91bmRhcnkgfSldXG4gICAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLnRoZW4oKHsgeCwgeSwgcGxhY2VtZW50LCBtaWRkbGV3YXJlRGF0YSB9KSA9PiB7XG4gICAgICAgICAgZmxvYXRpbmdFbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1ldC1mbG9hdGluZy10cmFuc2xhdGUnLCBgdHJhbnNsYXRlM2QoJHt4fXB4LCAke3l9cHgsIDApYCk7XG4gICAgICAgICAgZmxvYXRpbmdFbC5zZXRBdHRyaWJ1dGUoJ2V0LWZsb2F0aW5nLXBsYWNlbWVudCcsIHBsYWNlbWVudCk7XG5cbiAgICAgICAgICBpZiAobWlkZGxld2FyZURhdGEuYXJyb3cgJiYgZmxvYXRpbmdFbEFycm93KSB7XG4gICAgICAgICAgICBjb25zdCB7IHg6IGFycm93WCwgeTogYXJyb3dZIH0gPSBtaWRkbGV3YXJlRGF0YS5hcnJvdztcblxuICAgICAgICAgICAgZmxvYXRpbmdFbC5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICAgJy0tZXQtZmxvYXRpbmctYXJyb3ctdHJhbnNsYXRlJyxcbiAgICAgICAgICAgICAgYHRyYW5zbGF0ZTNkKCR7YXJyb3dYID8/IDB9cHgsICR7YXJyb3dZID8/IDB9cHgsIDApYCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG1pZGRsZXdhcmVEYXRhLmhpZGU/LnJlZmVyZW5jZUhpZGRlbikge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b0Nsb3NlSWZSZWZlcmVuY2VIaWRkZW4pIHtcbiAgICAgICAgICAgICAgdGhpcy51bm1vdW50KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmbG9hdGluZ0VsLmNsYXNzTGlzdC5hZGQoJ2V0LWZsb2F0aW5nLWVsZW1lbnQtLWhpZGRlbicpO1xuICAgICAgICAgICAgICB0aGlzLl9pc0hpZGRlbiQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b0hpZGUpIHtcbiAgICAgICAgICAgICAgZmxvYXRpbmdFbC5jbGFzc0xpc3QucmVtb3ZlKCdldC1mbG9hdGluZy1lbGVtZW50LS1oaWRkZW4nKTtcbiAgICAgICAgICAgICAgdGhpcy5faXNIaWRkZW4kLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgLy8gV2UgbmVlZCB0byB3YWl0IGZvciB0aGUgIGNvbnRlbnQgdG8gYmUgcmVuZGVyZWRcbiAgICAgIG5leHRGcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5fY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuX2FuaW1hdGVkTGlmZWN5Y2xlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICdBbmltYXRlZE92ZXJsYXlEaXJlY3RpdmU6IFRoZSBjb21wb25lbnQgZG9lcyBub3QgaGF2ZSBhbiBBbmltYXRlZExpZmVjeWNsZURpcmVjdGl2ZS4gUGxlYXNlIGFkZCBvbmUgdG8gdGhlIGNvbXBvbmVudC4nLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuX2FuaW1hdGVkTGlmZWN5Y2xlPy5lbnRlcigpO1xuXG4gICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5fYW5pbWF0ZWRMaWZlY3ljbGU/LnN0YXRlJFxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFwKChzKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChzID09PSAnZW50ZXJlZCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hZnRlck9wZW5lZD8ubmV4dCgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgdGhpcy5faXNNb3VudGVkJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLl9pc01vdW50aW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgfVxuXG4gIHVubW91bnQoKSB7XG4gICAgaWYgKCF0aGlzLmlzTW91bnRlZCB8fCB0aGlzLmlzVW5tb3VudGluZykge1xuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIGlmICghdGhpcy5pc01vdW50ZWQpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBgQW5pbWF0ZWRPdmVybGF5RGlyZWN0aXZlOiBUaGUgY29tcG9uZW50IGlzIGN1cnJlbnRseSBub3QgbW91bnRlZC4gUGxlYXNlIGNhbGwgXCJtb3VudFwiIGJlZm9yZSBjYWxsaW5nIFwidW5tb3VudFwiIGFnYWluLmAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzVW5tb3VudGluZykge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBBbmltYXRlZE92ZXJsYXlEaXJlY3RpdmU6IFRoZSBjb21wb25lbnQgaXMgYWxyZWFkeSB1bm1vdW50aW5nLiBQbGVhc2UgY2FsbCBcIm1vdW50XCIgYmVmb3JlIGNhbGxpbmcgXCJ1bm1vdW50XCIgYWdhaW4uYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX2NvbXBvbmVudFJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzSGlkZGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faXNVbm1vdW50aW5nJC5uZXh0KHRydWUpO1xuXG4gICAgdGhpcy5fYmVmb3JlQ2xvc2VkPy5uZXh0KCk7XG5cbiAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuX2FuaW1hdGVkTGlmZWN5Y2xlPy5sZWF2ZSgpO1xuXG4gICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLl9hbmltYXRlZExpZmVjeWNsZT8uc3RhdGUkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChzKSA9PiBzID09PSAnbGVmdCcpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9kZXN0cm95KCkpO1xuICB9XG5cbiAgYmVmb3JlT3BlbmVkKCkge1xuICAgIGlmICghdGhpcy5fYmVmb3JlT3BlbmVkKSB7XG4gICAgICB0aGlzLl9iZWZvcmVPcGVuZWQgPSBuZXcgU3ViamVjdCgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9iZWZvcmVPcGVuZWQ7XG4gIH1cblxuICBhZnRlck9wZW5lZCgpIHtcbiAgICBpZiAoIXRoaXMuX2FmdGVyT3BlbmVkKSB7XG4gICAgICB0aGlzLl9hZnRlck9wZW5lZCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2FmdGVyT3BlbmVkO1xuICB9XG5cbiAgYmVmb3JlQ2xvc2VkKCkge1xuICAgIGlmICghdGhpcy5fYmVmb3JlQ2xvc2VkKSB7XG4gICAgICB0aGlzLl9iZWZvcmVDbG9zZWQgPSBuZXcgU3ViamVjdCgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9iZWZvcmVDbG9zZWQ7XG4gIH1cblxuICBhZnRlckNsb3NlZCgpIHtcbiAgICBpZiAoIXRoaXMuX2FmdGVyQ2xvc2VkKSB7XG4gICAgICB0aGlzLl9hZnRlckNsb3NlZCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2FmdGVyQ2xvc2VkO1xuICB9XG5cbiAgX2Rlc3Ryb3koKSB7XG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLl9mbG9hdGluZ0VsQ2xlYW51cEZuPy4oKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSBudWxsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9jb21wb25lbnRSZWYpIHtcbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuX2lzTW91bnRlZCQubmV4dChmYWxzZSk7XG4gICAgdGhpcy5faXNVbm1vdW50aW5nJC5uZXh0KGZhbHNlKTtcblxuICAgIHRoaXMuX2FmdGVyQ2xvc2VkPy5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
344
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZWQtb3ZlcmxheS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9kaXJlY3RpdmVzL2FuaW1hdGVkLW92ZXJsYXkvYW5pbWF0ZWQtb3ZlcmxheS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBRU4sZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFJTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLGVBQWUsRUFDZixJQUFJLEVBQ0osSUFBSSxFQUNKLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksR0FDTCxNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFlekQsTUFBTSxPQUFPLHdCQUF3QjtJQU5yQztRQU9tQixjQUFTLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFDNUIsb0JBQWUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxR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QUFrQjtzQkFEakIsS0FBSztnQkFRTixNQUFNO3NCQURMLEtBQUs7Z0JBU04sWUFBWTtzQkFEWCxLQUFLO2dCQVFOLGVBQWU7c0JBRGQsS0FBSztnQkFTTixVQUFVO3NCQURULEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBT3RDLEtBQUs7c0JBREosS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFRdEMsUUFBUTtzQkFEUCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVF0QywwQkFBMEI7c0JBRHpCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUXRDLGdCQUFnQjtzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBTdGF0aWNQcm92aWRlcixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgaW5qZWN0LFxuICBpc0Rldk1vZGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvdmlkZVRoZW1lRGlyZWN0aXZlIH0gZnJvbSAnQGV0aGxldGUvdGhlbWluZyc7XG5pbXBvcnQge1xuICBPZmZzZXRPcHRpb25zLFxuICBQYWRkaW5nLFxuICBQbGFjZW1lbnQsXG4gIGFycm93LFxuICBhdXRvVXBkYXRlLFxuICBjb21wdXRlUG9zaXRpb24sXG4gIGZsaXAsXG4gIGhpZGUsXG4gIGxpbWl0U2hpZnQsXG4gIG9mZnNldCxcbiAgc2hpZnQsXG4gIHNpemUsXG59IGZyb20gJ0BmbG9hdGluZy11aS9kb20nO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBmaWx0ZXIsIHRha2UsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVEZXN0cm95LCBuZXh0RnJhbWUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBBbmltYXRlZExpZmVjeWNsZURpcmVjdGl2ZSB9IGZyb20gJy4uL2FuaW1hdGVkLWxpZmVjeWNsZSc7XG5pbXBvcnQgeyBSb290Qm91bmRhcnlEaXJlY3RpdmUgfSBmcm9tICcuLi9yb290LWJvdW5kYXJ5JztcblxuZXhwb3J0IGludGVyZmFjZSBBbmltYXRlZE92ZXJsYXlDb21wb25lbnRCYXNlIHtcbiAgX2VsZW1lbnRSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgX2FuaW1hdGVkTGlmZWN5Y2xlPzogQW5pbWF0ZWRMaWZlY3ljbGVEaXJlY3RpdmU7XG4gIF9tYXJrRm9yQ2hlY2s/OiAoKSA9PiB2b2lkO1xuICBfc2V0VGhlbWVGcm9tUHJvdmlkZXI/OiAocHJvdmlkZXI6IFByb3ZpZGVUaGVtZURpcmVjdGl2ZSkgPT4gdm9pZDtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LWFuaW1hdGVkLW92ZXJsYXknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBBbmltYXRlZE92ZXJsYXlEaXJlY3RpdmU8VCBleHRlbmRzIEFuaW1hdGVkT3ZlcmxheUNvbXBvbmVudEJhc2U+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBjcmVhdGVEZXN0cm95KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX292ZXJsYXlTZXJ2aWNlID0gaW5qZWN0KE92ZXJsYXkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc2l6ZU9ic2VydmVyU2VydmljZSA9IGluamVjdChSZXNpemVPYnNlcnZlclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yb290Qm91bmRhcnkgPSBpbmplY3QoUm9vdEJvdW5kYXJ5RGlyZWN0aXZlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHByaXZhdGUgX3BvcnRhbDogQ29tcG9uZW50UG9ydGFsPFQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfZmxvYXRpbmdFbENsZWFudXBGbjogKCgpID0+IHZvaWQpIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfYmVmb3JlT3BlbmVkOiBTdWJqZWN0PHZvaWQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2FmdGVyT3BlbmVkOiBTdWJqZWN0PHZvaWQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2JlZm9yZUNsb3NlZDogU3ViamVjdDx2b2lkPiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9hZnRlckNsb3NlZDogU3ViamVjdDx2b2lkPiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lzTW91bnRlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaXNNb3VudGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaXNVbm1vdW50aW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pc0hpZGRlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAvKipcbiAgICogVGhlIHBsYWNlbWVudCBvZiB0aGUgYW5pbWF0ZWQgb3ZlcmxheS5cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwbGFjZW1lbnQ/OiBQbGFjZW1lbnQgPSAnYm90dG9tJztcblxuICAvKipcbiAgICogVGhlIGFsbG93ZWQgYXV0byBwbGFjZW1lbnRzIG9mIHRoZSBhbmltYXRlZCBvdmVybGF5LlxuICAgKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvZmxpcCNmYWxsYmFja3BsYWNlbWVudHNcbiAgICovXG4gIEBJbnB1dCgpXG4gIGZhbGxiYWNrUGxhY2VtZW50cz86IFBsYWNlbWVudFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgb2Zmc2V0IG9mIHRoZSBhbmltYXRlZCBvdmVybGF5LlxuICAgKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3Mvb2Zmc2V0XG4gICAqL1xuICBASW5wdXQoKVxuICBvZmZzZXQ6IE9mZnNldE9wdGlvbnMgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhlIGFycm93IHBhZGRpbmcuXG4gICAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9hcnJvdyNwYWRkaW5nXG4gICAqIEBkZWZhdWx0IDRcbiAgICovXG4gIEBJbnB1dCgpXG4gIGFycm93UGFkZGluZzogUGFkZGluZyB8IG51bGwgPSA0O1xuXG4gIC8qKlxuICAgKiBUaGUgdmlld3BvcnQgcGFkZGluZy5cbiAgICogQGRlZmF1bHQgOFxuICAgKi9cbiAgQElucHV0KClcbiAgdmlld3BvcnRQYWRkaW5nOiBQYWRkaW5nIHwgbnVsbCA9IDg7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFuaW1hdGVkIG92ZXJsYXkgc2hvdWxkIGF1dG8gcmVzaXplIHRvIGZpdCB0aGUgYXZhaWxhYmxlIHNwYWNlLlxuICAgKiBVc2VmdWwgZm9yIHRoaW5ncyBsaWtlIHNlbGVjdHMgd2hlcmUgdGhlIGxpc3Qgb2Ygb3B0aW9ucyBtaWdodCBiZSBsb25nZXIgdGhhbiB0aGUgYXZhaWxhYmxlIHNwYWNlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGF1dG9SZXNpemUgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYW5pbWF0ZWQgb3ZlcmxheSBzaG91bGQgc2hpZnQgd2hlbiBpdCBpcyBuZWFyIHRoZSB2aWV3cG9ydCBib3VuZGFyeS5cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBzaGlmdCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFuaW1hdGVkIG92ZXJsYXkgc2hvdWxkIGF1dG8gaGlkZSB3aGVuIHRoZSByZWZlcmVuY2UgZWxlbWVudCBpcyBoaWRkZW4uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgYXV0b0hpZGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYW5pbWF0ZWQgb3ZlcmxheSBzaG91bGQgYXV0byBjbG9zZSBpZiB0aGUgcmVmZXJlbmNlIGVsZW1lbnQgaXMgaGlkZGVuLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGF1dG9DbG9zZUlmUmVmZXJlbmNlSGlkZGVuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSByZWZlcmVuY2UgZWxlbWVudCBmb3IgdGhlIGFuaW1hdGVkIG92ZXJsYXkuXG4gICAqIEBkZWZhdWx0IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgKi9cbiAgQElucHV0KClcbiAgcmVmZXJlbmNlRWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICBnZXQgaXNNb3VudGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9pc01vdW50ZWQkLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGlzTW91bnRlZCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzTW91bnRlZCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgaXNNb3VudGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5faXNNb3VudGluZyQudmFsdWU7XG4gIH1cblxuICBnZXQgaXNNb3VudGluZyQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzTW91bnRpbmckLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGlzVW5tb3VudGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5faXNVbm1vdW50aW5nJC52YWx1ZTtcbiAgfVxuXG4gIGdldCBpc0hpZGRlbiQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzSGlkZGVuJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBpc0hpZGRlbigpIHtcbiAgICByZXR1cm4gdGhpcy5faXNIaWRkZW4kLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGNhbk1vdW50KCkge1xuICAgIHJldHVybiAhdGhpcy5pc01vdW50ZWQgJiYgIXRoaXMuaXNNb3VudGluZztcbiAgfVxuXG4gIGdldCBjYW5Vbm1vdW50KCkge1xuICAgIHJldHVybiB0aGlzLmlzTW91bnRlZCAmJiAhdGhpcy5pc1VubW91bnRpbmc7XG4gIH1cblxuICBnZXQgcG9ydGFsKCkge1xuICAgIHJldHVybiB0aGlzLl9wb3J0YWw7XG4gIH1cblxuICBnZXQgb3ZlcmxheVJlZigpIHtcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVJlZjtcbiAgfVxuXG4gIGdldCBjb21wb25lbnRSZWYoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudFJlZjtcbiAgfVxuXG4gIG1vdW50KGNvbmZpZzoge1xuICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPjtcbiAgICBwcm92aWRlcnM/OiBTdGF0aWNQcm92aWRlcltdO1xuICAgIGRhdGE/OiBQYXJ0aWFsPFQ+O1xuICAgIG1pcnJvcldpZHRoPzogYm9vbGVhbjtcbiAgICB0aGVtZVByb3ZpZGVyPzogUHJvdmlkZVRoZW1lRGlyZWN0aXZlIHwgbnVsbDtcbiAgfSkge1xuICAgIGlmICh0aGlzLmlzTW91bnRlZCB8fCB0aGlzLmlzTW91bnRpbmcpIHtcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICBpZiAodGhpcy5pc01vdW50ZWQpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAnQW5pbWF0ZWRPdmVybGF5RGlyZWN0aXZlOiBUaGUgY29tcG9uZW50IGlzIGN1cnJlbnRseSBtb3VudGVkLiBQbGVhc2UgdW5tb3VudCB0aGUgY29tcG9uZW50IGJlZm9yZSBtb3VudGluZyBhZ2Fpbi4nLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc01vdW50aW5nKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgJ0FuaW1hdGVkT3ZlcmxheURpcmVjdGl2ZTogVGhlIGNvbXBvbmVudCBpcyBhbHJlYWR5IG1vdW50aW5nLiBQbGVhc2UgdW5tb3VudCB0aGUgY29tcG9uZW50IGJlZm9yZSBtb3VudGluZyBhZ2Fpbi4nLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lzTW91bnRpbmckLm5leHQodHJ1ZSk7XG5cbiAgICBjb25zdCB7IGNvbXBvbmVudCwgcHJvdmlkZXJzLCBkYXRhLCBtaXJyb3JXaWR0aCwgdGhlbWVQcm92aWRlciB9ID0gY29uZmlnO1xuXG4gICAgdGhpcy5fYmVmb3JlT3BlbmVkPy5uZXh0KCk7XG5cbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IHRoaXMuX2luamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiBwcm92aWRlcnMgPz8gW10sXG4gICAgfSk7XG5cbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheVNlcnZpY2UuY3JlYXRlKCk7XG5cbiAgICB0aGlzLl9wb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudCwgdGhpcy5fdmlld0NvbnRhaW5lclJlZiwgaW5qZWN0b3IpO1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHRoaXMuX3BvcnRhbCk7XG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UsIGRhdGEpO1xuICAgIH1cblxuICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5fbWFya0ZvckNoZWNrPy4oKTtcblxuICAgIGlmICh0aGVtZVByb3ZpZGVyKSB7XG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuX3NldFRoZW1lRnJvbVByb3ZpZGVyPy4odGhlbWVQcm92aWRlcik7XG4gICAgfVxuXG4gICAgaWYgKG1pcnJvcldpZHRoKSB7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmLnVwZGF0ZVNpemUoe1xuICAgICAgICB3aWR0aDogdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyU2VydmljZVxuICAgICAgICAub2JzZXJ2ZSh0aGlzLnJlZmVyZW5jZUVsZW1lbnQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy51cGRhdGVTaXplKHtcbiAgICAgICAgICAgICAgd2lkdGg6IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuYWZ0ZXJDbG9zZWQoKSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLl9jb21wb25lbnRSZWYpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmbG9hdGluZ0VsID0gdGhpcy5fY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjb25zdCBmbG9hdGluZ0VsQXJyb3cgPSB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuX2VsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJ1tldC1mbG9hdGluZy1hcnJvd10nLFxuICAgICAgKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG5cbiAgICAgIGZsb2F0aW5nRWwuY2xhc3NMaXN0LmFkZCgnZXQtZmxvYXRpbmctZWxlbWVudCcpO1xuXG4gICAgICBjb25zdCByZWZFbCA9IHRoaXMucmVmZXJlbmNlRWxlbWVudDtcbiAgICAgIGNvbnN0IGJvdW5kYXJ5ID0gdGhpcy5fcm9vdEJvdW5kYXJ5Py5ib3VuZGFyeUVsZW1lbnQgPz8gdW5kZWZpbmVkO1xuXG4gICAgICB0aGlzLl9mbG9hdGluZ0VsQ2xlYW51cEZuID0gYXV0b1VwZGF0ZShyZWZFbCwgZmxvYXRpbmdFbCwgKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuX2NvbXBvbmVudFJlZikgcmV0dXJuO1xuXG4gICAgICAgIGNvbXB1dGVQb3NpdGlvbihyZWZFbCwgZmxvYXRpbmdFbCwge1xuICAgICAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsXG5cbiAgICAgICAgICBtaWRkbGV3YXJlOiBbXG4gICAgICAgICAgICAuLi4odGhpcy5vZmZzZXQgPyBbb2Zmc2V0KHRoaXMub2Zmc2V0KV0gOiBbXSksXG4gICAgICAgICAgICBmbGlwKHtcbiAgICAgICAgICAgICAgZmFsbGJhY2tQbGFjZW1lbnRzOiB0aGlzLmZhbGxiYWNrUGxhY2VtZW50cyA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIGZhbGxiYWNrQXhpc1NpZGVEaXJlY3Rpb246ICdzdGFydCcsXG4gICAgICAgICAgICAgIGJvdW5kYXJ5LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAuLi4odGhpcy5hdXRvUmVzaXplXG4gICAgICAgICAgICAgID8gW1xuICAgICAgICAgICAgICAgICAgc2l6ZSh7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHRoaXMudmlld3BvcnRQYWRkaW5nID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgYXBwbHkoeyBhdmFpbGFibGVIZWlnaHQsIGF2YWlsYWJsZVdpZHRoIH0pIHtcbiAgICAgICAgICAgICAgICAgICAgICBmbG9hdGluZ0VsLnN0eWxlLnNldFByb3BlcnR5KCctLWV0LWZsb2F0aW5nLW1heC13aWR0aCcsIGAke2F2YWlsYWJsZVdpZHRofXB4YCk7XG4gICAgICAgICAgICAgICAgICAgICAgZmxvYXRpbmdFbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1ldC1mbG9hdGluZy1tYXgtaGVpZ2h0JywgYCR7YXZhaWxhYmxlSGVpZ2h0fXB4YCk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgICAgLi4uKHRoaXMuc2hpZnRcbiAgICAgICAgICAgICAgPyBbc2hpZnQoeyBsaW1pdGVyOiBsaW1pdFNoaWZ0KCksIHBhZGRpbmc6IHRoaXMudmlld3BvcnRQYWRkaW5nID8/IHVuZGVmaW5lZCwgYm91bmRhcnkgfSldXG4gICAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgICAgLi4uKGZsb2F0aW5nRWxBcnJvdyA/IFthcnJvdyh7IGVsZW1lbnQ6IGZsb2F0aW5nRWxBcnJvdywgcGFkZGluZzogdGhpcy5hcnJvd1BhZGRpbmcgPz8gdW5kZWZpbmVkIH0pXSA6IFtdKSxcbiAgICAgICAgICAgIC4uLih0aGlzLmF1dG9IaWRlIHx8IHRoaXMuYXV0b0Nsb3NlSWZSZWZlcmVuY2VIaWRkZW5cbiAgICAgICAgICAgICAgPyBbaGlkZSh7IHN0cmF0ZWd5OiAncmVmZXJlbmNlSGlkZGVuJywgYm91bmRhcnkgfSldXG4gICAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLnRoZW4oKHsgeCwgeSwgcGxhY2VtZW50LCBtaWRkbGV3YXJlRGF0YSB9KSA9PiB7XG4gICAgICAgICAgZmxvYXRpbmdFbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1ldC1mbG9hdGluZy10cmFuc2xhdGUnLCBgdHJhbnNsYXRlM2QoJHt4fXB4LCAke3l9cHgsIDApYCk7XG4gICAgICAgICAgZmxvYXRpbmdFbC5zZXRBdHRyaWJ1dGUoJ2V0LWZsb2F0aW5nLXBsYWNlbWVudCcsIHBsYWNlbWVudCk7XG5cbiAgICAgICAgICBpZiAobWlkZGxld2FyZURhdGEuYXJyb3cgJiYgZmxvYXRpbmdFbEFycm93KSB7XG4gICAgICAgICAgICBjb25zdCB7IHg6IGFycm93WCwgeTogYXJyb3dZIH0gPSBtaWRkbGV3YXJlRGF0YS5hcnJvdztcblxuICAgICAgICAgICAgZmxvYXRpbmdFbC5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICAgJy0tZXQtZmxvYXRpbmctYXJyb3ctdHJhbnNsYXRlJyxcbiAgICAgICAgICAgICAgYHRyYW5zbGF0ZTNkKCR7YXJyb3dYID8/IDB9cHgsICR7YXJyb3dZID8/IDB9cHgsIDApYCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG1pZGRsZXdhcmVEYXRhLmhpZGU/LnJlZmVyZW5jZUhpZGRlbikge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b0Nsb3NlSWZSZWZlcmVuY2VIaWRkZW4pIHtcbiAgICAgICAgICAgICAgdGhpcy51bm1vdW50KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmbG9hdGluZ0VsLmNsYXNzTGlzdC5hZGQoJ2V0LWZsb2F0aW5nLWVsZW1lbnQtLWhpZGRlbicpO1xuICAgICAgICAgICAgICB0aGlzLl9pc0hpZGRlbiQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b0hpZGUpIHtcbiAgICAgICAgICAgICAgZmxvYXRpbmdFbC5jbGFzc0xpc3QucmVtb3ZlKCdldC1mbG9hdGluZy1lbGVtZW50LS1oaWRkZW4nKTtcbiAgICAgICAgICAgICAgdGhpcy5faXNIaWRkZW4kLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgLy8gV2UgbmVlZCB0byB3YWl0IGZvciB0aGUgIGNvbnRlbnQgdG8gYmUgcmVuZGVyZWRcbiAgICAgIG5leHRGcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5fY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuX2FuaW1hdGVkTGlmZWN5Y2xlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICdBbmltYXRlZE92ZXJsYXlEaXJlY3RpdmU6IFRoZSBjb21wb25lbnQgZG9lcyBub3QgaGF2ZSBhbiBBbmltYXRlZExpZmVjeWNsZURpcmVjdGl2ZS4gUGxlYXNlIGFkZCBvbmUgdG8gdGhlIGNvbXBvbmVudC4nLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuX2FuaW1hdGVkTGlmZWN5Y2xlPy5lbnRlcigpO1xuXG4gICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5fYW5pbWF0ZWRMaWZlY3ljbGU/LnN0YXRlJFxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFwKChzKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChzID09PSAnZW50ZXJlZCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hZnRlck9wZW5lZD8ubmV4dCgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgdGhpcy5faXNNb3VudGVkJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLl9pc01vdW50aW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgfVxuXG4gIHVubW91bnQoKSB7XG4gICAgaWYgKCF0aGlzLmlzTW91bnRlZCB8fCB0aGlzLmlzVW5tb3VudGluZykge1xuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIGlmICghdGhpcy5pc01vdW50ZWQpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBgQW5pbWF0ZWRPdmVybGF5RGlyZWN0aXZlOiBUaGUgY29tcG9uZW50IGlzIGN1cnJlbnRseSBub3QgbW91bnRlZC4gUGxlYXNlIGNhbGwgXCJtb3VudFwiIGJlZm9yZSBjYWxsaW5nIFwidW5tb3VudFwiIGFnYWluLmAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzVW5tb3VudGluZykge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBBbmltYXRlZE92ZXJsYXlEaXJlY3RpdmU6IFRoZSBjb21wb25lbnQgaXMgYWxyZWFkeSB1bm1vdW50aW5nLiBQbGVhc2UgY2FsbCBcIm1vdW50XCIgYmVmb3JlIGNhbGxpbmcgXCJ1bm1vdW50XCIgYWdhaW4uYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX2NvbXBvbmVudFJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzSGlkZGVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faXNVbm1vdW50aW5nJC5uZXh0KHRydWUpO1xuXG4gICAgdGhpcy5fYmVmb3JlQ2xvc2VkPy5uZXh0KCk7XG5cbiAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuX2FuaW1hdGVkTGlmZWN5Y2xlPy5sZWF2ZSgpO1xuXG4gICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLl9hbmltYXRlZExpZmVjeWNsZT8uc3RhdGUkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChzKSA9PiBzID09PSAnbGVmdCcpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9kZXN0cm95KCkpO1xuICB9XG5cbiAgYmVmb3JlT3BlbmVkKCkge1xuICAgIGlmICghdGhpcy5fYmVmb3JlT3BlbmVkKSB7XG4gICAgICB0aGlzLl9iZWZvcmVPcGVuZWQgPSBuZXcgU3ViamVjdCgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9iZWZvcmVPcGVuZWQ7XG4gIH1cblxuICBhZnRlck9wZW5lZCgpIHtcbiAgICBpZiAoIXRoaXMuX2FmdGVyT3BlbmVkKSB7XG4gICAgICB0aGlzLl9hZnRlck9wZW5lZCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2FmdGVyT3BlbmVkO1xuICB9XG5cbiAgYmVmb3JlQ2xvc2VkKCkge1xuICAgIGlmICghdGhpcy5fYmVmb3JlQ2xvc2VkKSB7XG4gICAgICB0aGlzLl9iZWZvcmVDbG9zZWQgPSBuZXcgU3ViamVjdCgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9iZWZvcmVDbG9zZWQ7XG4gIH1cblxuICBhZnRlckNsb3NlZCgpIHtcbiAgICBpZiAoIXRoaXMuX2FmdGVyQ2xvc2VkKSB7XG4gICAgICB0aGlzLl9hZnRlckNsb3NlZCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2FmdGVyQ2xvc2VkO1xuICB9XG5cbiAgX2Rlc3Ryb3koKSB7XG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLl9mbG9hdGluZ0VsQ2xlYW51cEZuPy4oKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSBudWxsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9jb21wb25lbnRSZWYpIHtcbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuX2lzTW91bnRlZCQubmV4dChmYWxzZSk7XG4gICAgdGhpcy5faXNVbm1vdW50aW5nJC5uZXh0KGZhbHNlKTtcblxuICAgIHRoaXMuX2FmdGVyQ2xvc2VkPy5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -22,10 +22,10 @@ export class ClickOutsideDirective {
|
|
|
22
22
|
ngOnDestroy() {
|
|
23
23
|
this._subscription?.unsubscribe();
|
|
24
24
|
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
26
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: ClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
26
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.3", type: ClickOutsideDirective, isStandalone: true, selector: "[etClickOutside]", outputs: { etClickOutside: "etClickOutside" }, ngImport: i0 }); }
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: ClickOutsideDirective, decorators: [{
|
|
29
29
|
type: Directive,
|
|
30
30
|
args: [{
|
|
31
31
|
selector: '[etClickOutside]',
|
|
@@ -145,10 +145,10 @@ export class CursorDragScrollDirective {
|
|
|
145
145
|
this._elementRef.nativeElement.style.cursor = 'default';
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
149
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.
|
|
148
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: CursorDragScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
149
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.3", type: CursorDragScrollDirective, isStandalone: true, selector: "[etCursorDragScroll]", inputs: { enabled: ["etCursorDragScroll", "enabled"], allowedDirection: "allowedDirection" }, outputs: { cursorDragStart: "cursorDragStart", cursorDragMove: "cursorDragMove", cursorDragEnd: "cursorDragEnd" }, exportAs: ["etCursorDragScroll"], ngImport: i0 }); }
|
|
150
150
|
}
|
|
151
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: CursorDragScrollDirective, decorators: [{
|
|
152
152
|
type: Directive,
|
|
153
153
|
args: [{
|
|
154
154
|
selector: '[etCursorDragScroll]',
|
|
@@ -16,15 +16,15 @@ export class DebugDirective {
|
|
|
16
16
|
set sDebug(value) {
|
|
17
17
|
this._debug.set(value);
|
|
18
18
|
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
20
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: DebugDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
20
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.3", type: DebugDirective, isStandalone: true, selector: "[etDebug]", inputs: { sDebug: ["etDebug", "sDebug", booleanAttribute] }, providers: [
|
|
21
21
|
{
|
|
22
22
|
provide: DEBUG_TOKEN,
|
|
23
23
|
useExisting: DebugDirective,
|
|
24
24
|
},
|
|
25
25
|
], exportAs: ["etDebug"], ngImport: i0 }); }
|
|
26
26
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: DebugDirective, decorators: [{
|
|
28
28
|
type: Directive,
|
|
29
29
|
args: [{
|
|
30
30
|
selector: '[etDebug]',
|
|
@@ -30,15 +30,15 @@ export class DelayableDirective {
|
|
|
30
30
|
}
|
|
31
31
|
this._isDelayed$.next(val);
|
|
32
32
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
34
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: DelayableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
34
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.3", type: DelayableDirective, isStandalone: true, selector: "[etDelayable]", providers: [
|
|
35
35
|
{
|
|
36
36
|
provide: DELAYABLE_TOKEN,
|
|
37
37
|
useExisting: DelayableDirective,
|
|
38
38
|
},
|
|
39
39
|
], exportAs: ["etDelayable"], ngImport: i0 }); }
|
|
40
40
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: DelayableDirective, decorators: [{
|
|
42
42
|
type: Directive,
|
|
43
43
|
args: [{
|
|
44
44
|
selector: '[etDelayable]',
|
|
@@ -6,15 +6,15 @@ export class IsActiveElementDirective {
|
|
|
6
6
|
this.elementRef = inject(ElementRef);
|
|
7
7
|
this.isActiveElement = false;
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
10
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: IsActiveElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.3", type: IsActiveElementDirective, isStandalone: true, selector: "[etIsActiveElement]", inputs: { isActiveElement: ["etIsActiveElement", "isActiveElement", booleanAttribute] }, providers: [
|
|
11
11
|
{
|
|
12
12
|
provide: IS_ACTIVE_ELEMENT,
|
|
13
13
|
useExisting: IsActiveElementDirective,
|
|
14
14
|
},
|
|
15
15
|
], ngImport: i0 }); }
|
|
16
16
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: IsActiveElementDirective, decorators: [{
|
|
18
18
|
type: Directive,
|
|
19
19
|
args: [{
|
|
20
20
|
selector: '[etIsActiveElement]',
|
|
@@ -6,15 +6,15 @@ export class IsElementDirective {
|
|
|
6
6
|
this.elementRef = inject(ElementRef);
|
|
7
7
|
this.isElement = false;
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
10
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: IsElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.3", type: IsElementDirective, isStandalone: true, selector: "[etIsElement]", inputs: { isElement: ["etIsElement", "isElement", booleanAttribute] }, providers: [
|
|
11
11
|
{
|
|
12
12
|
provide: IS_ELEMENT,
|
|
13
13
|
useExisting: IsElementDirective,
|
|
14
14
|
},
|
|
15
15
|
], ngImport: i0 }); }
|
|
16
16
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: IsElementDirective, decorators: [{
|
|
18
18
|
type: Directive,
|
|
19
19
|
args: [{
|
|
20
20
|
selector: '[etIsElement]',
|
|
@@ -24,10 +24,10 @@ export class LetDirective {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
28
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: LetDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
28
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.3", type: LetDirective, isStandalone: true, selector: "[etLet]", inputs: { etLet: "etLet" }, ngImport: i0 }); }
|
|
29
29
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: LetDirective, decorators: [{
|
|
31
31
|
type: Directive,
|
|
32
32
|
args: [{
|
|
33
33
|
selector: '[etLet]',
|
|
@@ -17,7 +17,12 @@ export class ObserveContentDirective {
|
|
|
17
17
|
}
|
|
18
18
|
set disabled(value) {
|
|
19
19
|
this._disabled = booleanAttribute(value);
|
|
20
|
-
this._disabled
|
|
20
|
+
if (this._disabled) {
|
|
21
|
+
this._unsubscribe();
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this._subscribe();
|
|
25
|
+
}
|
|
21
26
|
}
|
|
22
27
|
get debounce() {
|
|
23
28
|
return this._debounce;
|
|
@@ -44,10 +49,10 @@ export class ObserveContentDirective {
|
|
|
44
49
|
_unsubscribe() {
|
|
45
50
|
this._currentSubscription?.unsubscribe();
|
|
46
51
|
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
48
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: ObserveContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
53
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.3", type: ObserveContentDirective, isStandalone: true, selector: "[etObserveContent]", inputs: { disabled: ["etObserveContentDisabled", "disabled"], debounce: ["etObserveContentDebounce", "debounce"] }, outputs: { valueChange: "etObserveContent" }, exportAs: ["etObserveContent"], ngImport: i0 }); }
|
|
49
54
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: ObserveContentDirective, decorators: [{
|
|
51
56
|
type: Directive,
|
|
52
57
|
args: [{
|
|
53
58
|
selector: '[etObserveContent]',
|
|
@@ -64,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
|
64
69
|
type: Input,
|
|
65
70
|
args: ['etObserveContentDebounce']
|
|
66
71
|
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZS1jb250ZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvb2JzZXJ2ZS1jb250ZW50L29ic2VydmUtY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBT3hELE1BQU0sT0FBTyx1QkFBdUI7SUFMcEM7UUFNVSxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNsRCxnQkFBVyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFDMUQsWUFBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUd4QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBZXBELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFVbEIsY0FBUyxHQUFrQixJQUFJLENBQUM7UUFFaEMseUJBQW9CLEdBQXdCLElBQUksQ0FBQztLQTBCMUQ7SUFuREMsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBR0QsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUtELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRS9ELElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQ3ZHLElBQUksQ0FBQyxXQUFXLENBQ2pCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMzQyxDQUFDOzhHQTFEVSx1QkFBdUI7a0dBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBT1UsV0FBVztzQkFEbkIsTUFBTTt1QkFBQyxrQkFBa0I7Z0JBSXRCLFFBQVE7c0JBRFgsS0FBSzt1QkFBQywwQkFBMEI7Z0JBZ0I3QixRQUFRO3NCQURYLEtBQUs7dUJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBpbmplY3QsXG4gIG51bWJlckF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnRlbnRPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tldE9ic2VydmVDb250ZW50XScsXG4gIGV4cG9ydEFzOiAnZXRPYnNlcnZlQ29udGVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE9ic2VydmVDb250ZW50RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfY29udGVudE9ic2VydmVyID0gaW5qZWN0KENvbnRlbnRPYnNlcnZlclNlcnZpY2UpO1xuICBwcml2YXRlIF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBfbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgQE91dHB1dCgnZXRPYnNlcnZlQ29udGVudCcpXG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNdXRhdGlvblJlY29yZFtdPigpO1xuXG4gIEBJbnB1dCgnZXRPYnNlcnZlQ29udGVudERpc2FibGVkJylcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGJvb2xlYW5BdHRyaWJ1dGUodmFsdWUpO1xuXG4gICAgaWYgKHRoaXMuX2Rpc2FibGVkKSB7XG4gICAgICB0aGlzLl91bnN1YnNjcmliZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoJ2V0T2JzZXJ2ZUNvbnRlbnREZWJvdW5jZScpXG4gIGdldCBkZWJvdW5jZSgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fZGVib3VuY2U7XG4gIH1cbiAgc2V0IGRlYm91bmNlKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fZGVib3VuY2UgPSBudW1iZXJBdHRyaWJ1dGUodmFsdWUpID8/IG51bGw7XG4gICAgdGhpcy5fc3Vic2NyaWJlKCk7XG4gIH1cbiAgcHJpdmF0ZSBfZGVib3VuY2U6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2N1cnJlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuX2N1cnJlbnRTdWJzY3JpcHRpb24gJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuX3N1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3Vuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmUoKSB7XG4gICAgdGhpcy5fdW5zdWJzY3JpYmUoKTtcbiAgICBjb25zdCBzdHJlYW0gPSB0aGlzLl9jb250ZW50T2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9lbGVtZW50UmVmKTtcblxuICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLl9jdXJyZW50U3Vic2NyaXB0aW9uID0gKHRoaXMuZGVib3VuY2UgPyBzdHJlYW0ucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZSkpIDogc3RyZWFtKS5zdWJzY3JpYmUoXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UsXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW5zdWJzY3JpYmUoKSB7XG4gICAgdGhpcy5fY3VycmVudFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
|
|
@@ -17,7 +17,12 @@ export class ObserveResizeDirective {
|
|
|
17
17
|
}
|
|
18
18
|
set disabled(value) {
|
|
19
19
|
this._disabled = booleanAttribute(value);
|
|
20
|
-
this._disabled
|
|
20
|
+
if (this._disabled) {
|
|
21
|
+
this._unsubscribe();
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this._subscribe();
|
|
25
|
+
}
|
|
21
26
|
}
|
|
22
27
|
get debounce() {
|
|
23
28
|
return this._debounce;
|
|
@@ -44,10 +49,10 @@ export class ObserveResizeDirective {
|
|
|
44
49
|
_unsubscribe() {
|
|
45
50
|
this._currentSubscription?.unsubscribe();
|
|
46
51
|
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
48
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: ObserveResizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
53
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.3", type: ObserveResizeDirective, isStandalone: true, selector: "[etObserveResize]", inputs: { disabled: ["etObserveResizeDisabled", "disabled"], debounce: ["etObserveResizeDebounce", "debounce"] }, outputs: { valueChange: "etObserveResize" }, exportAs: ["etObserveResize"], ngImport: i0 }); }
|
|
49
54
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: ObserveResizeDirective, decorators: [{
|
|
51
56
|
type: Directive,
|
|
52
57
|
args: [{
|
|
53
58
|
selector: '[etObserveResize]',
|
|
@@ -64,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
|
64
69
|
type: Input,
|
|
65
70
|
args: ['etObserveResizeDebounce']
|
|
66
71
|
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZS1yZXNpemUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9vYnNlcnZlLXJlc2l6ZS9vYnNlcnZlLXJlc2l6ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixlQUFlLEVBRWYsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU92RCxNQUFNLE9BQU8sc0JBQXNCO0lBTG5DO1FBTVUsb0JBQWUsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNoRCxnQkFBVyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFDMUQsWUFBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUl4QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBZXpELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFVbEIsY0FBUyxHQUFrQixJQUFJLENBQUM7UUFFaEMseUJBQW9CLEdBQXdCLElBQUksQ0FBQztLQTBCMUQ7SUFuREMsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBR0QsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUtELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUN2RyxJQUFJLENBQUMsV0FBVyxDQUNqQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQzs4R0EzRFUsc0JBQXNCO2tHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQVFVLFdBQVc7c0JBRm5CLE1BQU07dUJBQUMsaUJBQWlCO2dCQUtyQixRQUFRO3NCQURYLEtBQUs7dUJBQUMseUJBQXlCO2dCQWdCNUIsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIG51bWJlckF0dHJpYnV0ZSxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc2l6ZU9ic2VydmVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2V0T2JzZXJ2ZVJlc2l6ZV0nLFxuICBleHBvcnRBczogJ2V0T2JzZXJ2ZVJlc2l6ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE9ic2VydmVSZXNpemVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlciA9IGluamVjdChSZXNpemVPYnNlcnZlclNlcnZpY2UpO1xuICBwcml2YXRlIF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBfbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgQE91dHB1dCgnZXRPYnNlcnZlUmVzaXplJylcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxSZXNpemVPYnNlcnZlckVudHJ5W10+KCk7XG5cbiAgQElucHV0KCdldE9ic2VydmVSZXNpemVEaXNhYmxlZCcpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBib29sZWFuQXR0cmlidXRlKHZhbHVlKTtcblxuICAgIGlmICh0aGlzLl9kaXNhYmxlZCkge1xuICAgICAgdGhpcy5fdW5zdWJzY3JpYmUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCdldE9ic2VydmVSZXNpemVEZWJvdW5jZScpXG4gIGdldCBkZWJvdW5jZSgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fZGVib3VuY2U7XG4gIH1cbiAgc2V0IGRlYm91bmNlKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fZGVib3VuY2UgPSBudW1iZXJBdHRyaWJ1dGUodmFsdWUpID8/IG51bGw7XG4gICAgdGhpcy5fc3Vic2NyaWJlKCk7XG4gIH1cbiAgcHJpdmF0ZSBfZGVib3VuY2U6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2N1cnJlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuX2N1cnJlbnRTdWJzY3JpcHRpb24gJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuX3N1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3Vuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmUoKSB7XG4gICAgdGhpcy5fdW5zdWJzY3JpYmUoKTtcbiAgICBjb25zdCBzdHJlYW0gPSB0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYpO1xuXG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuX2N1cnJlbnRTdWJzY3JpcHRpb24gPSAodGhpcy5kZWJvdW5jZSA/IHN0cmVhbS5waXBlKGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlKSkgOiBzdHJlYW0pLnN1YnNjcmliZShcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF91bnN1YnNjcmliZSgpIHtcbiAgICB0aGlzLl9jdXJyZW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -147,15 +147,15 @@ export class ObserveScrollStateDirective {
|
|
|
147
147
|
}
|
|
148
148
|
return element;
|
|
149
149
|
}
|
|
150
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
151
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.
|
|
150
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: ObserveScrollStateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
151
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.3", type: ObserveScrollStateDirective, isStandalone: true, selector: "[etObserveScrollState]", inputs: { rootMargin: ["rootMargin", "rootMargin", numberAttribute], observerThreshold: "observerThreshold" }, outputs: { valueChange: "etObserveScrollState" }, providers: [
|
|
152
152
|
{
|
|
153
153
|
provide: OBSERVE_SCROLL_STATE,
|
|
154
154
|
useExisting: ObserveScrollStateDirective,
|
|
155
155
|
},
|
|
156
156
|
], exportAs: ["etObserveScrollState"], ngImport: i0 }); }
|
|
157
157
|
}
|
|
158
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
158
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: ObserveScrollStateDirective, decorators: [{
|
|
159
159
|
type: Directive,
|
|
160
160
|
args: [{
|
|
161
161
|
selector: '[etObserveScrollState]',
|