angular-three-soba 2.2.0 → 2.2.1
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/abstractions/lib/catmull-rom-line.d.ts +117 -117
- package/abstractions/lib/edges.d.ts +126 -126
- package/abstractions/lib/grid.d.ts +15 -15
- package/abstractions/lib/line.d.ts +9 -8
- package/abstractions/lib/prism-geometry.d.ts +2 -2
- package/abstractions/lib/rounded-box.d.ts +3 -3
- package/abstractions/lib/text-3d.d.ts +22 -22
- package/abstractions/lib/text.d.ts +0 -1
- package/cameras/lib/cube-camera.d.ts +2 -2
- package/cameras/lib/orthographic-camera.d.ts +7 -8
- package/cameras/lib/perspective-camera.d.ts +2 -3
- package/controls/lib/camera-controls.d.ts +1 -1
- package/controls/lib/orbit-controls.d.ts +1 -1
- package/esm2022/abstractions/lib/billboard.mjs +3 -3
- package/esm2022/abstractions/lib/catmull-rom-line.mjs +3 -3
- package/esm2022/abstractions/lib/cubic-bezier-line.mjs +3 -3
- package/esm2022/abstractions/lib/edges.mjs +30 -34
- package/esm2022/abstractions/lib/gradient-texture.mjs +3 -3
- package/esm2022/abstractions/lib/grid.mjs +3 -3
- package/esm2022/abstractions/lib/helper.mjs +18 -20
- package/esm2022/abstractions/lib/line.mjs +25 -28
- package/esm2022/abstractions/lib/prism-geometry.mjs +3 -3
- package/esm2022/abstractions/lib/quadratic-bezier-line.mjs +3 -3
- package/esm2022/abstractions/lib/rounded-box.mjs +11 -17
- package/esm2022/abstractions/lib/text-3d.mjs +14 -17
- package/esm2022/abstractions/lib/text.mjs +11 -16
- package/esm2022/cameras/lib/camera-content.mjs +3 -3
- package/esm2022/cameras/lib/cube-camera.mjs +18 -27
- package/esm2022/cameras/lib/orthographic-camera.mjs +20 -20
- package/esm2022/cameras/lib/perspective-camera.mjs +21 -21
- package/esm2022/controls/lib/camera-controls.mjs +3 -3
- package/esm2022/controls/lib/orbit-controls.mjs +3 -3
- package/esm2022/controls/lib/scroll-controls.mjs +124 -130
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-helper.mjs +6 -6
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewcube.mjs +12 -12
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewport.mjs +9 -9
- package/esm2022/gizmos/lib/pivot-controls/axis-arrow.mjs +6 -4
- package/esm2022/gizmos/lib/pivot-controls/axis-rotator.mjs +3 -3
- package/esm2022/gizmos/lib/pivot-controls/pivot-controls.mjs +44 -47
- package/esm2022/gizmos/lib/pivot-controls/plane-slider.mjs +3 -3
- package/esm2022/gizmos/lib/pivot-controls/scaling-sphere.mjs +3 -3
- package/esm2022/gizmos/lib/transform-controls.mjs +3 -3
- package/esm2022/loaders/lib/loader.mjs +3 -3
- package/esm2022/materials/lib/custom-shader-material.mjs +8 -12
- package/esm2022/materials/lib/mesh-distort-material.mjs +3 -3
- package/esm2022/materials/lib/mesh-reflector-material.mjs +11 -15
- package/esm2022/materials/lib/mesh-refraction-material.mjs +26 -30
- package/esm2022/materials/lib/mesh-transmission-material.mjs +3 -3
- package/esm2022/materials/lib/mesh-wobble-material.mjs +3 -3
- package/esm2022/materials/lib/point-material.mjs +3 -3
- package/esm2022/misc/lib/bake-shadows.mjs +8 -10
- package/esm2022/misc/lib/computed-attribute.mjs +15 -19
- package/esm2022/misc/lib/decal.mjs +56 -53
- package/esm2022/misc/lib/fbo.mjs +10 -10
- package/esm2022/misc/lib/html/html-content.mjs +62 -67
- package/esm2022/misc/lib/html/html.mjs +3 -3
- package/esm2022/misc/lib/intersect.mjs +6 -9
- package/esm2022/misc/lib/sampler.mjs +48 -42
- package/esm2022/performances/lib/adaptive-dpr.mjs +29 -35
- package/esm2022/performances/lib/adaptive-events.mjs +12 -16
- package/esm2022/performances/lib/detailed.mjs +14 -18
- package/esm2022/performances/lib/instances/instances.mjs +16 -22
- package/esm2022/performances/lib/points/points.mjs +19 -25
- package/esm2022/performances/lib/segments/segments.mjs +11 -14
- package/esm2022/shaders/lib/mesh-refraction-material.mjs +1 -1
- package/esm2022/staging/index.mjs +3 -2
- package/esm2022/staging/lib/accumulative-shadows.mjs +19 -21
- package/esm2022/staging/lib/backdrop.mjs +19 -23
- package/esm2022/staging/lib/bb-anchor.mjs +3 -3
- package/esm2022/staging/lib/bounds.mjs +39 -43
- package/esm2022/staging/lib/camera-shake.mjs +14 -18
- package/esm2022/staging/lib/caustics.mjs +24 -28
- package/esm2022/staging/lib/center.mjs +28 -32
- package/esm2022/staging/lib/contact-shadows.mjs +3 -3
- package/esm2022/staging/lib/environment/environment.mjs +338 -0
- package/esm2022/staging/lib/environment/inject-environment.mjs +184 -0
- package/esm2022/staging/lib/float.mjs +3 -3
- package/esm2022/staging/lib/lightformer.mjs +18 -22
- package/esm2022/staging/lib/mask.mjs +8 -12
- package/esm2022/staging/lib/matcap-texture.mjs +9 -11
- package/esm2022/staging/lib/normal-texture.mjs +9 -11
- package/esm2022/staging/lib/randomized-lights.mjs +9 -13
- package/esm2022/staging/lib/render-texture.mjs +19 -20
- package/esm2022/staging/lib/sky.mjs +3 -3
- package/esm2022/staging/lib/spot-light.mjs +32 -40
- package/esm2022/staging/lib/stage.mjs +13 -17
- package/esm2022/stats/lib/stats.mjs +21 -27
- package/fesm2022/angular-three-soba-abstractions.mjs +119 -138
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +57 -64
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +129 -135
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +87 -88
- package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -1
- package/fesm2022/angular-three-soba-loaders.mjs +3 -3
- package/fesm2022/angular-three-soba-materials.mjs +52 -62
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +194 -195
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-performances.mjs +90 -114
- package/fesm2022/angular-three-soba-performances.mjs.map +1 -1
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +427 -430
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-stats.mjs +20 -26
- package/fesm2022/angular-three-soba-stats.mjs.map +1 -1
- package/gizmos/lib/gizmo-helper/gizmo-viewport.d.ts +1 -1
- package/gizmos/lib/pivot-controls/pivot-controls.d.ts +1 -1
- package/gizmos/lib/transform-controls.d.ts +2 -2
- package/materials/lib/custom-shader-material.d.ts +3 -3
- package/materials/lib/mesh-refraction-material.d.ts +2 -2
- package/materials/lib/mesh-transmission-material.d.ts +1 -1
- package/misc/lib/computed-attribute.d.ts +6 -6
- package/misc/lib/decal.d.ts +4 -4
- package/misc/lib/html/html-content.d.ts +6 -6
- package/misc/lib/sampler.d.ts +2 -4
- package/package.json +8 -8
- package/performances/lib/instances/instances.d.ts +11 -11
- package/performances/lib/points/points.d.ts +19 -19
- package/performances/lib/segments/segments.d.ts +4 -4
- package/shaders/lib/mesh-refraction-material.d.ts +2 -5
- package/staging/index.d.ts +2 -1
- package/staging/lib/accumulative-shadows.d.ts +1 -1
- package/staging/lib/camera-shake.d.ts +0 -1
- package/staging/lib/caustics.d.ts +1 -1
- package/staging/lib/contact-shadows.d.ts +1 -1
- package/staging/lib/{environment.d.ts → environment/environment.d.ts} +20 -49
- package/staging/lib/environment/inject-environment.d.ts +33 -0
- package/staging/lib/lightformer.d.ts +1 -1
- package/staging/lib/matcap-texture.d.ts +0 -1
- package/staging/lib/normal-texture.d.ts +0 -1
- package/staging/lib/render-texture.d.ts +1 -1
- package/staging/lib/sky.d.ts +1 -1
- package/staging/lib/spot-light.d.ts +2 -2
- package/staging/lib/stage.d.ts +2 -1
- package/esm2022/staging/lib/environment.mjs +0 -481
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import {
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Directive, effect, ElementRef, inject, input, model, untracked, } from '@angular/core';
|
|
3
3
|
import { injectBeforeRender, injectStore, NgtHTML, pick, provideHTMLDomElement } from 'angular-three';
|
|
4
4
|
import { easing } from 'maath';
|
|
5
|
-
import { injectAutoEffect } from 'ngxtension/auto-effect';
|
|
6
5
|
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
const defaultOptions = {
|
|
@@ -45,129 +44,124 @@ export class NgtsScrollControls {
|
|
|
45
44
|
this.scroll = 0;
|
|
46
45
|
this.offset = 0;
|
|
47
46
|
this.delta = 0;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
el.style
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
this.store.snapshot.setEvents({ compute: oldCompute });
|
|
111
|
-
events.connect?.(oldTarget);
|
|
112
|
-
};
|
|
47
|
+
effect((onCleanup) => {
|
|
48
|
+
const target = this.target();
|
|
49
|
+
if (!target)
|
|
50
|
+
return;
|
|
51
|
+
const parent = target;
|
|
52
|
+
const [pages, distance, horizontal, el, fill, fixed, style, prepend, domElement, events] = [
|
|
53
|
+
this.pages(),
|
|
54
|
+
this.distance(),
|
|
55
|
+
this.horizontal(),
|
|
56
|
+
this.el,
|
|
57
|
+
this.fill,
|
|
58
|
+
this.fixed,
|
|
59
|
+
untracked(this.style),
|
|
60
|
+
untracked(this.prepend),
|
|
61
|
+
untracked(this.domElement),
|
|
62
|
+
untracked(this.events),
|
|
63
|
+
];
|
|
64
|
+
el.style.position = 'absolute';
|
|
65
|
+
el.style.width = '100%';
|
|
66
|
+
el.style.height = '100%';
|
|
67
|
+
el.style[horizontal ? 'overflowX' : 'overflowY'] = 'auto';
|
|
68
|
+
el.style[horizontal ? 'overflowY' : 'overflowX'] = 'hidden';
|
|
69
|
+
el.style.top = '0px';
|
|
70
|
+
el.style.left = '0px';
|
|
71
|
+
for (const key in style) {
|
|
72
|
+
el.style[key] = style[key];
|
|
73
|
+
}
|
|
74
|
+
fixed.style.position = 'sticky';
|
|
75
|
+
fixed.style.top = '0px';
|
|
76
|
+
fixed.style.left = '0px';
|
|
77
|
+
fixed.style.width = '100%';
|
|
78
|
+
fixed.style.height = '100%';
|
|
79
|
+
fixed.style.overflow = 'hidden';
|
|
80
|
+
el.appendChild(fixed);
|
|
81
|
+
fill.style.height = horizontal ? '100%' : `${pages * distance * 100}%`;
|
|
82
|
+
fill.style.width = horizontal ? `${pages * distance * 100}%` : '100%';
|
|
83
|
+
fill.style.pointerEvents = 'none';
|
|
84
|
+
el.appendChild(fill);
|
|
85
|
+
if (prepend)
|
|
86
|
+
parent.prepend(el);
|
|
87
|
+
else
|
|
88
|
+
parent.appendChild(el);
|
|
89
|
+
// Init scroll one pixel in to allow upward/leftward scroll
|
|
90
|
+
el[horizontal ? 'scrollLeft' : 'scrollTop'] = 1;
|
|
91
|
+
const oldTarget = (events.connected || domElement);
|
|
92
|
+
requestAnimationFrame(() => events.connect?.(el));
|
|
93
|
+
const oldCompute = events.compute?.bind(events);
|
|
94
|
+
this.store.snapshot.setEvents({
|
|
95
|
+
compute(event, store) {
|
|
96
|
+
const state = store.snapshot;
|
|
97
|
+
// we are using boundingClientRect because we could not rely on target.offsetTop as canvas could be positioned anywhere in dom
|
|
98
|
+
const { left, top } = parent.getBoundingClientRect();
|
|
99
|
+
const offsetX = event.clientX - left;
|
|
100
|
+
const offsetY = event.clientY - top;
|
|
101
|
+
state.pointer.set((offsetX / state.size.width) * 2 - 1, -(offsetY / state.size.height) * 2 + 1);
|
|
102
|
+
state.raycaster.setFromCamera(state.pointer, state.camera);
|
|
103
|
+
},
|
|
104
|
+
});
|
|
105
|
+
onCleanup(() => {
|
|
106
|
+
parent.removeChild(el);
|
|
107
|
+
this.store.snapshot.setEvents({ compute: oldCompute });
|
|
108
|
+
events.connect?.(oldTarget);
|
|
113
109
|
});
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
110
|
+
});
|
|
111
|
+
effect((onCleanup) => {
|
|
112
|
+
const [el, events, size, infinite, invalidate, horizontal, enabled] = [
|
|
113
|
+
this.el,
|
|
114
|
+
this.events(),
|
|
115
|
+
this.size(),
|
|
116
|
+
this.infinite(),
|
|
117
|
+
this.invalidate(),
|
|
118
|
+
this.horizontal(),
|
|
119
|
+
this.enabled(),
|
|
120
|
+
];
|
|
121
|
+
if (events.connected !== el)
|
|
122
|
+
return;
|
|
123
|
+
const containerLength = size[horizontal ? 'width' : 'height'];
|
|
124
|
+
const scrollLength = el[horizontal ? 'scrollWidth' : 'scrollHeight'];
|
|
125
|
+
const scrollThreshold = scrollLength - containerLength;
|
|
126
|
+
let current = 0;
|
|
127
|
+
let disableScroll = true;
|
|
128
|
+
let firstRun = true;
|
|
129
|
+
const onScroll = () => {
|
|
130
|
+
// Prevent first scroll because it is indirectly caused by the one pixel offset
|
|
131
|
+
if (!enabled || firstRun)
|
|
125
132
|
return;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
const damp = 1 - this.offset;
|
|
143
|
-
el[horizontal ? 'scrollLeft' : 'scrollTop'] = 1;
|
|
144
|
-
this.scroll = this.offset = -damp;
|
|
145
|
-
disableScroll = true;
|
|
146
|
-
}
|
|
147
|
-
else if (current <= 0) {
|
|
148
|
-
const damp = 1 + this.offset;
|
|
149
|
-
el[horizontal ? 'scrollLeft' : 'scrollTop'] = scrollLength;
|
|
150
|
-
this.scroll = this.offset = damp;
|
|
151
|
-
disableScroll = true;
|
|
152
|
-
}
|
|
133
|
+
invalidate();
|
|
134
|
+
current = el[horizontal ? 'scrollLeft' : 'scrollTop'];
|
|
135
|
+
this.scroll = current / scrollThreshold;
|
|
136
|
+
if (infinite) {
|
|
137
|
+
if (!disableScroll) {
|
|
138
|
+
if (current >= scrollThreshold) {
|
|
139
|
+
const damp = 1 - this.offset;
|
|
140
|
+
el[horizontal ? 'scrollLeft' : 'scrollTop'] = 1;
|
|
141
|
+
this.scroll = this.offset = -damp;
|
|
142
|
+
disableScroll = true;
|
|
143
|
+
}
|
|
144
|
+
else if (current <= 0) {
|
|
145
|
+
const damp = 1 + this.offset;
|
|
146
|
+
el[horizontal ? 'scrollLeft' : 'scrollTop'] = scrollLength;
|
|
147
|
+
this.scroll = this.offset = damp;
|
|
148
|
+
disableScroll = true;
|
|
153
149
|
}
|
|
154
|
-
if (disableScroll)
|
|
155
|
-
setTimeout(() => (disableScroll = false), 40);
|
|
156
150
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
151
|
+
if (disableScroll)
|
|
152
|
+
setTimeout(() => (disableScroll = false), 40);
|
|
153
|
+
}
|
|
154
|
+
this.progress.set(this.scroll);
|
|
155
|
+
};
|
|
156
|
+
el.addEventListener('scroll', onScroll, { passive: true });
|
|
157
|
+
requestAnimationFrame(() => (firstRun = false));
|
|
158
|
+
const onWheel = (e) => (el[horizontal ? 'scrollLeft' : 'scrollTop'] += e.deltaY / 2);
|
|
159
|
+
if (horizontal)
|
|
160
|
+
el.addEventListener('wheel', onWheel, { passive: true });
|
|
161
|
+
onCleanup(() => {
|
|
162
|
+
el.removeEventListener('scroll', onScroll);
|
|
164
163
|
if (horizontal)
|
|
165
|
-
el.
|
|
166
|
-
return () => {
|
|
167
|
-
el.removeEventListener('scroll', onScroll);
|
|
168
|
-
if (horizontal)
|
|
169
|
-
el.removeEventListener('wheel', onWheel);
|
|
170
|
-
};
|
|
164
|
+
el.removeEventListener('wheel', onWheel);
|
|
171
165
|
});
|
|
172
166
|
});
|
|
173
167
|
let last = 0;
|
|
@@ -201,12 +195,12 @@ export class NgtsScrollControls {
|
|
|
201
195
|
const end = start + distance + margin * 2;
|
|
202
196
|
return this.offset >= start && this.offset <= end;
|
|
203
197
|
}
|
|
204
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
205
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
198
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsScrollControls, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
199
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: NgtsScrollControls, isStandalone: true, selector: "ngts-scroll-controls", inputs: { progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { progress: "progressChange" }, ngImport: i0, template: `
|
|
206
200
|
<ng-content />
|
|
207
201
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
208
202
|
}
|
|
209
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsScrollControls, decorators: [{
|
|
210
204
|
type: Component,
|
|
211
205
|
args: [{
|
|
212
206
|
selector: 'ngts-scroll-controls',
|
|
@@ -233,10 +227,10 @@ export class NgtsScrollCanvas {
|
|
|
233
227
|
: this.viewport().height * (this.scrollControls.pages() - 1) * this.scrollControls.offset;
|
|
234
228
|
});
|
|
235
229
|
}
|
|
236
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
237
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
230
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsScrollCanvas, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
231
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: NgtsScrollCanvas, isStandalone: true, selector: "ngt-group[ngtsScrollCanvas]", ngImport: i0 }); }
|
|
238
232
|
}
|
|
239
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
233
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsScrollCanvas, decorators: [{
|
|
240
234
|
type: Directive,
|
|
241
235
|
args: [{ selector: 'ngt-group[ngtsScrollCanvas]', standalone: true }]
|
|
242
236
|
}], ctorParameters: () => [] });
|
|
@@ -253,10 +247,10 @@ export class NgtsScrollHtml extends NgtHTML {
|
|
|
253
247
|
}
|
|
254
248
|
});
|
|
255
249
|
}
|
|
256
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
257
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
250
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsScrollHtml, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
251
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: NgtsScrollHtml, isStandalone: true, selector: "div[ngtsScrollHTML]", host: { styleAttribute: "position: absolute; top: 0; left: 0; will-change: transform;" }, providers: [provideHTMLDomElement([NgtsScrollControls], (scrollControls) => scrollControls.fixed)], usesInheritance: true, ngImport: i0 }); }
|
|
258
252
|
}
|
|
259
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
253
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsScrollHtml, decorators: [{
|
|
260
254
|
type: Directive,
|
|
261
255
|
args: [{
|
|
262
256
|
selector: 'div[ngtsScrollHTML]',
|
|
@@ -265,4 +259,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
265
259
|
providers: [provideHTMLDomElement([NgtsScrollControls], (scrollControls) => scrollControls.fixed)],
|
|
266
260
|
}]
|
|
267
261
|
}], ctorParameters: () => [] });
|
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWNvbnRyb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2NvbnRyb2xzL3NyYy9saWIvc2Nyb2xsLWNvbnRyb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQ04sZUFBZSxFQUNmLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQTJCdkQsTUFBTSxjQUFjLEdBQThCO0lBQ2pELEdBQUcsRUFBRSxPQUFPO0lBQ1osVUFBVSxFQUFFLEtBQUs7SUFDakIsUUFBUSxFQUFFLEtBQUs7SUFDZixLQUFLLEVBQUUsQ0FBQztJQUNSLFFBQVEsRUFBRSxDQUFDO0lBQ1gsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsS0FBSztJQUNkLE9BQU8sRUFBRSxJQUFJO0lBQ2IsS0FBSyxFQUFFLEVBQUU7Q0FDVCxDQUFDO0FBVUYsTUFBTSxPQUFPLGtCQUFrQjtJQWdDOUI7UUEvQkEsYUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQixZQUFPLEdBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFX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QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sT0FBTyxDQUFDO1lBQzFJLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBZlcsY0FBYztrR0FBZCxjQUFjLDRKQUZmLENBQUMscUJBQXFCLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7OzJGQUV0RixjQUFjO2tCQU4xQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsOERBQThELEVBQUU7b0JBQy9FLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNsRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdGFmdGVyTmV4dFJlbmRlcixcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RGlyZWN0aXZlLFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHRtb2RlbCxcblx0dW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEJlZm9yZVJlbmRlciwgaW5qZWN0U3RvcmUsIE5ndEhUTUwsIHBpY2ssIHByb3ZpZGVIVE1MRG9tRWxlbWVudCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgZWFzaW5nIH0gZnJvbSAnbWFhdGgnO1xuaW1wb3J0IHsgaW5qZWN0QXV0b0VmZmVjdCB9IGZyb20gJ25neHRlbnNpb24vYXV0by1lZmZlY3QnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgR3JvdXAgfSBmcm9tICd0aHJlZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c1Njcm9sbENvbnRyb2xzT3B0aW9ucyB7XG5cdC8qKiBQcmVjaXNpb24sIGRlZmF1bHQgMC4wMDAwMSAqL1xuXHRlcHM6IG51bWJlcjtcblx0LyoqIEhvcml6b250YWwgc2Nyb2xsLCBkZWZhdWx0IGZhbHNlICh2ZXJ0aWNhbCkgKi9cblx0aG9yaXpvbnRhbDogYm9vbGVhbjtcblx0LyoqIEluZmluaXRlIHNjcm9sbCwgZGVmYXVsdCBmYWxzZSAoZXhwZXJpbWVudGFsISkgKi9cblx0aW5maW5pdGU6IGJvb2xlYW47XG5cdC8qKiBEZWZpbmVzIHRoZSBsZW5naHQgb2YgdGhlIHNjcm9sbCBhcmVhLCBlYWNoIHBhZ2UgaXMgaGVpZ2h0OjEwMCUsIGRlZmF1bHQgMSAqL1xuXHRwYWdlczogbnVtYmVyO1xuXHQvKiogQSBmYWN0b3IgdGhhdCBpbmNyZWFzZXMgc2Nyb2xsIGJhciB0cmF2ZWwsZGVmYXVsdDogMSAqL1xuXHRkaXN0YW5jZTogbnVtYmVyO1xuXHQvKiogRnJpY3Rpb24gaW4gc2Vjb25kcywgZGVmYXVsdDogMC4yNSAoMS80IHNlY29uZCkgKi9cblx0ZGFtcGluZzogbnVtYmVyO1xuXHQvKiogbWF4U3BlZWQgb3B0aW9uYWxseSBhbGxvd3MgeW91IHRvIGNsYW1wIHRoZSBtYXhpbXVtIHNwZWVkLiBJZiBkYW1waW5nIGlzIDAuMnMgYW5kIGxvb2tzIE9LXG5cdCAqICBnb2luZyBiZXR3ZWVuLCBzYXksIHBhZ2UgMSBhbmQgMiwgYnV0IG5vdCBmb3IgcGFnZXMgZmFyIGFwYXJ0IGFzIGl0J2xsIG1vdmUgdmVyeSByYXBpZCxcblx0ICogIHRoZW4gYSBtYXhTcGVlZCBvZiBlLmcuIDMgd2hpY2ggd2lsbCBjbGFtcCB0aGUgc3BlZWQgdG8gMyB1bml0cyBwZXIgc2Vjb25kLCBpdCBtYXkgbm93XG5cdCAqICB0YWtlIG11Y2ggbG9uZ2VyIHRoYW4gZGFtcGluZyB0byByZWFjaCB0aGUgdGFyZ2V0IGlmIGl0IGlzIGZhciBhd2F5LiBEZWZhdWx0OiBJbmZpbml0eSAqL1xuXHRtYXhTcGVlZDogbnVtYmVyO1xuXHQvKiogSWYgdHJ1ZSBhdHRhY2hlcyB0aGUgc2Nyb2xsIGNvbnRhaW5lciBiZWZvcmUgdGhlIGNhbnZhcyAqL1xuXHRwcmVwZW5kOiBib29sZWFuO1xuXHRlbmFibGVkOiBib29sZWFuO1xuXHRzdHlsZTogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE5ndHNTY3JvbGxDb250cm9sc09wdGlvbnMgPSB7XG5cdGVwczogMC4wMDAwMSxcblx0aG9yaXpvbnRhbDogZmFsc2UsXG5cdGluZmluaXRlOiBmYWxzZSxcblx0cGFnZXM6IDEsXG5cdGRpc3RhbmNlOiAxLFxuXHRkYW1waW5nOiAwLjI1LFxuXHRtYXhTcGVlZDogSW5maW5pdHksXG5cdHByZXBlbmQ6IGZhbHNlLFxuXHRlbmFibGVkOiB0cnVlLFxuXHRzdHlsZToge30sXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLXNjcm9sbC1jb250cm9scycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5nLWNvbnRlbnQgLz5cblx0YCxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNTY3JvbGxDb250cm9scyB7XG5cdHByb2dyZXNzID0gbW9kZWwoMCk7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblxuXHRwcml2YXRlIGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cdHByaXZhdGUgZ2wgPSB0aGlzLnN0b3JlLnNlbGVjdCgnZ2wnKTtcblx0cHJpdmF0ZSBldmVudHMgPSB0aGlzLnN0b3JlLnNlbGVjdCgnZXZlbnRzJyk7XG5cdHByaXZhdGUgaW52YWxpZGF0ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdpbnZhbGlkYXRlJyk7XG5cdHByaXZhdGUgc2l6ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdzaXplJyk7XG5cblx0cHJpdmF0ZSBkb21FbGVtZW50ID0gcGljayh0aGlzLmdsLCAnZG9tRWxlbWVudCcpO1xuXHRwcml2YXRlIHRhcmdldCA9IHBpY2sodGhpcy5kb21FbGVtZW50LCAncGFyZW50Tm9kZScpO1xuXG5cdHByaXZhdGUgX2VsID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblx0cHJpdmF0ZSBfZmlsbCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cdHByaXZhdGUgX2ZpeGVkID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuXHRwcml2YXRlIHN0eWxlID0gcGljayh0aGlzLm9wdGlvbnMsICdzdHlsZScpO1xuXHRwcml2YXRlIHByZXBlbmQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3ByZXBlbmQnKTtcblx0cHJpdmF0ZSBlbmFibGVkID0gcGljayh0aGlzLm9wdGlvbnMsICdlbmFibGVkJyk7XG5cdHByaXZhdGUgaW5maW5pdGUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2luZmluaXRlJyk7XG5cdHByaXZhdGUgbWF4U3BlZWQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ21heFNwZWVkJyk7XG5cdGVwcyA9IHBpY2sodGhpcy5vcHRpb25zLCAnZXBzJyk7XG5cdGhvcml6b250YWwgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2hvcml6b250YWwnKTtcblx0cGFnZXMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3BhZ2VzJyk7XG5cdGRpc3RhbmNlID0gcGljayh0aGlzLm9wdGlvbnMsICdkaXN0YW5jZScpO1xuXHRkYW1waW5nID0gcGljayh0aGlzLm9wdGlvbnMsICdkYW1waW5nJyk7XG5cdHNjcm9sbCA9IDA7XG5cdG9mZnNldCA9IDA7XG5cdGRlbHRhID0gMDtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRjb25zdCBhdXRvRWZmZWN0ID0gaW5qZWN0QXV0b0VmZmVjdCgpO1xuXG5cdFx0YWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcblx0XHRcdGF1dG9FZmZlY3QoKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB0YXJnZXQgPSB0aGlzLnRhcmdldCgpO1xuXHRcdFx0XHRpZiAoIXRhcmdldCkgcmV0dXJuO1xuXG5cdFx0XHRcdGNvbnN0IHBhcmVudCA9IHRhcmdldCBhcyBIVE1MRWxlbWVudDtcblx0XHRcdFx0Y29uc3QgW3BhZ2VzLCBkaXN0YW5jZSwgaG9yaXpvbnRhbCwgZWwsIGZpbGwsIGZpeGVkLCBzdHlsZSwgcHJlcGVuZCwgZG9tRWxlbWVudCwgZXZlbnRzXSA9IFtcblx0XHRcdFx0XHR0aGlzLnBhZ2VzKCksXG5cdFx0XHRcdFx0dGhpcy5kaXN0YW5jZSgpLFxuXHRcdFx0XHRcdHRoaXMuaG9yaXpvbnRhbCgpLFxuXHRcdFx0XHRcdHRoaXMuZWwsXG5cdFx0XHRcdFx0dGhpcy5maWxsLFxuXHRcdFx0XHRcdHRoaXMuZml4ZWQsXG5cdFx0XHRcdFx0dW50cmFja2VkKHRoaXMuc3R5bGUpLFxuXHRcdFx0XHRcdHVudHJhY2tlZCh0aGlzLnByZXBlbmQpLFxuXHRcdFx0XHRcdHVudHJhY2tlZCh0aGlzLmRvbUVsZW1lbnQpLFxuXHRcdFx0XHRcdHVudHJhY2tlZCh0aGlzLmV2ZW50cyksXG5cdFx0XHRcdF07XG5cblx0XHRcdFx0ZWwuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuXHRcdFx0XHRlbC5zdHlsZS53aWR0aCA9ICcxMDAlJztcblx0XHRcdFx0ZWwuc3R5bGUuaGVpZ2h0ID0gJzEwMCUnO1xuXHRcdFx0XHRlbC5zdHlsZVtob3Jpem9udGFsID8gJ292ZXJmbG93WCcgOiAnb3ZlcmZsb3dZJ10gPSAnYXV0byc7XG5cdFx0XHRcdGVsLnN0eWxlW2hvcml6b250YWwgPyAnb3ZlcmZsb3dZJyA6ICdvdmVyZmxvd1gnXSA9ICdoaWRkZW4nO1xuXHRcdFx0XHRlbC5zdHlsZS50b3AgPSAnMHB4Jztcblx0XHRcdFx0ZWwuc3R5bGUubGVmdCA9ICcwcHgnO1xuXG5cdFx0XHRcdGZvciAoY29uc3Qga2V5IGluIHN0eWxlKSB7XG5cdFx0XHRcdFx0ZWwuc3R5bGVba2V5XSA9IChzdHlsZSBhcyBDU1NTdHlsZURlY2xhcmF0aW9uKVtrZXldO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Zml4ZWQuc3R5bGUucG9zaXRpb24gPSAnc3RpY2t5Jztcblx0XHRcdFx0Zml4ZWQuc3R5bGUudG9wID0gJzBweCc7XG5cdFx0XHRcdGZpeGVkLnN0eWxlLmxlZnQgPSAnMHB4Jztcblx0XHRcdFx0Zml4ZWQuc3R5bGUud2lkdGggPSAnMTAwJSc7XG5cdFx0XHRcdGZpeGVkLnN0eWxlLmhlaWdodCA9ICcxMDAlJztcblx0XHRcdFx0Zml4ZWQuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcblx0XHRcdFx0ZWwuYXBwZW5kQ2hpbGQoZml4ZWQpO1xuXG5cdFx0XHRcdGZpbGwuc3R5bGUuaGVpZ2h0ID0gaG9yaXpvbnRhbCA/ICcxMDAlJyA6IGAke3BhZ2VzICogZGlzdGFuY2UgKiAxMDB9JWA7XG5cdFx0XHRcdGZpbGwuc3R5bGUud2lkdGggPSBob3Jpem9udGFsID8gYCR7cGFnZXMgKiBkaXN0YW5jZSAqIDEwMH0lYCA6ICcxMDAlJztcblx0XHRcdFx0ZmlsbC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuXHRcdFx0XHRlbC5hcHBlbmRDaGlsZChmaWxsKTtcblxuXHRcdFx0XHRpZiAocHJlcGVuZCkgcGFyZW50LnByZXBlbmQoZWwpO1xuXHRcdFx0XHRlbHNlIHBhcmVudC5hcHBlbmRDaGlsZChlbCk7XG5cblx0XHRcdFx0Ly8gSW5pdCBzY3JvbGwgb25lIHBpeGVsIGluIHRvIGFsbG93IHVwd2FyZC9sZWZ0d2FyZCBzY3JvbGxcblx0XHRcdFx0ZWxbaG9yaXpvbnRhbCA/ICdzY3JvbGxMZWZ0JyA6ICdzY3JvbGxUb3AnXSA9IDE7XG5cblx0XHRcdFx0Y29uc3Qgb2xkVGFyZ2V0ID0gKGV2ZW50cy5jb25uZWN0ZWQgfHwgZG9tRWxlbWVudCkgYXMgSFRNTEVsZW1lbnQ7XG5cdFx0XHRcdHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiBldmVudHMuY29ubmVjdD8uKGVsKSk7XG5cdFx0XHRcdGNvbnN0IG9sZENvbXB1dGUgPSBldmVudHMuY29tcHV0ZT8uYmluZChldmVudHMpO1xuXG5cdFx0XHRcdHRoaXMuc3RvcmUuc25hcHNob3Quc2V0RXZlbnRzKHtcblx0XHRcdFx0XHRjb21wdXRlKGV2ZW50LCBzdG9yZSkge1xuXHRcdFx0XHRcdFx0Y29uc3Qgc3RhdGUgPSBzdG9yZS5zbmFwc2hvdDtcblx0XHRcdFx0XHRcdC8vIHdlIGFyZSB1c2luZyBib3VuZGluZ0NsaWVudFJlY3QgYmVjYXVzZSB3ZSBjb3VsZCBub3QgcmVseSBvbiB0YXJnZXQub2Zmc2V0VG9wIGFzIGNhbnZhcyBjb3VsZCBiZSBwb3NpdGlvbmVkIGFueXdoZXJlIGluIGRvbVxuXHRcdFx0XHRcdFx0Y29uc3QgeyBsZWZ0LCB0b3AgfSA9IHBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblx0XHRcdFx0XHRcdGNvbnN0IG9mZnNldFggPSBldmVudC5jbGllbnRYIC0gbGVmdDtcblx0XHRcdFx0XHRcdGNvbnN0IG9mZnNldFkgPSBldmVudC5jbGllbnRZIC0gdG9wO1xuXHRcdFx0XHRcdFx0c3RhdGUucG9pbnRlci5zZXQoKG9mZnNldFggLyBzdGF0ZS5zaXplLndpZHRoKSAqIDIgLSAxLCAtKG9mZnNldFkgLyBzdGF0ZS5zaXplLmhlaWdodCkgKiAyICsgMSk7XG5cdFx0XHRcdFx0XHRzdGF0ZS5yYXljYXN0ZXIuc2V0RnJvbUNhbWVyYShzdGF0ZS5wb2ludGVyLCBzdGF0ZS5jYW1lcmEpO1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdH0pO1xuXG5cdFx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdFx0cGFyZW50LnJlbW92ZUNoaWxkKGVsKTtcblx0XHRcdFx0XHR0aGlzLnN0b3JlLnNuYXBzaG90LnNldEV2ZW50cyh7IGNvbXB1dGU6IG9sZENvbXB1dGUgfSk7XG5cdFx0XHRcdFx0ZXZlbnRzLmNvbm5lY3Q/LihvbGRUYXJnZXQpO1xuXHRcdFx0XHR9O1xuXHRcdFx0fSk7XG5cblx0XHRcdGF1dG9FZmZlY3QoKCkgPT4ge1xuXHRcdFx0XHRjb25zdCBbZWwsIGV2ZW50cywgc2l6ZSwgaW5maW5pdGUsIGludmFsaWRhdGUsIGhvcml6b250YWwsIGVuYWJsZWRdID0gW1xuXHRcdFx0XHRcdHRoaXMuZWwsXG5cdFx0XHRcdFx0dGhpcy5ldmVudHMoKSxcblx0XHRcdFx0XHR0aGlzLnNpemUoKSxcblx0XHRcdFx0XHR0aGlzLmluZmluaXRlKCksXG5cdFx0XHRcdFx0dGhpcy5pbnZhbGlkYXRlKCksXG5cdFx0XHRcdFx0dGhpcy5ob3Jpem9udGFsKCksXG5cdFx0XHRcdFx0dGhpcy5lbmFibGVkKCksXG5cdFx0XHRcdF07XG5cblx0XHRcdFx0aWYgKGV2ZW50cy5jb25uZWN0ZWQgIT09IGVsKSByZXR1cm47XG5cblx0XHRcdFx0Y29uc3QgY29udGFpbmVyTGVuZ3RoID0gc2l6ZVtob3Jpem9udGFsID8gJ3dpZHRoJyA6ICdoZWlnaHQnXTtcblx0XHRcdFx0Y29uc3Qgc2Nyb2xsTGVuZ3RoID0gZWxbaG9yaXpvbnRhbCA/ICdzY3JvbGxXaWR0aCcgOiAnc2Nyb2xsSGVpZ2h0J107XG5cdFx0XHRcdGNvbnN0IHNjcm9sbFRocmVzaG9sZCA9IHNjcm9sbExlbmd0aCAtIGNvbnRhaW5lckxlbmd0aDtcblxuXHRcdFx0XHRsZXQgY3VycmVudCA9IDA7XG5cdFx0XHRcdGxldCBkaXNhYmxlU2Nyb2xsID0gdHJ1ZTtcblx0XHRcdFx0bGV0IGZpcnN0UnVuID0gdHJ1ZTtcblxuXHRcdFx0XHRjb25zdCBvblNjcm9sbCA9ICgpID0+IHtcblx0XHRcdFx0XHQvLyBQcmV2ZW50IGZpcnN0IHNjcm9sbCBiZWNhdXNlIGl0IGlzIGluZGlyZWN0bHkgY2F1c2VkIGJ5IHRoZSBvbmUgcGl4ZWwgb2Zmc2V0XG5cdFx0XHRcdFx0aWYgKCFlbmFibGVkIHx8IGZpcnN0UnVuKSByZXR1cm47XG5cdFx0XHRcdFx0aW52YWxpZGF0ZSgpO1xuXHRcdFx0XHRcdGN1cnJlbnQgPSBlbFtob3Jpem9udGFsID8gJ3Njcm9sbExlZnQnIDogJ3Njcm9sbFRvcCddO1xuXHRcdFx0XHRcdHRoaXMuc2Nyb2xsID0gY3VycmVudCAvIHNjcm9sbFRocmVzaG9sZDtcblxuXHRcdFx0XHRcdGlmIChpbmZpbml0ZSkge1xuXHRcdFx0XHRcdFx0aWYgKCFkaXNhYmxlU2Nyb2xsKSB7XG5cdFx0XHRcdFx0XHRcdGlmIChjdXJyZW50ID49IHNjcm9sbFRocmVzaG9sZCkge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IGRhbXAgPSAxIC0gdGhpcy5vZmZzZXQ7XG5cdFx0XHRcdFx0XHRcdFx0ZWxbaG9yaXpvbnRhbCA/ICdzY3JvbGxMZWZ0JyA6ICdzY3JvbGxUb3AnXSA9IDE7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5zY3JvbGwgPSB0aGlzLm9mZnNldCA9IC1kYW1wO1xuXHRcdFx0XHRcdFx0XHRcdGRpc2FibGVTY3JvbGwgPSB0cnVlO1xuXHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKGN1cnJlbnQgPD0gMCkge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IGRhbXAgPSAxICsgdGhpcy5vZmZzZXQ7XG5cdFx0XHRcdFx0XHRcdFx0ZWxbaG9yaXpvbnRhbCA/ICdzY3JvbGxMZWZ0JyA6ICdzY3JvbGxUb3AnXSA9IHNjcm9sbExlbmd0aDtcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnNjcm9sbCA9IHRoaXMub2Zmc2V0ID0gZGFtcDtcblx0XHRcdFx0XHRcdFx0XHRkaXNhYmxlU2Nyb2xsID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0aWYgKGRpc2FibGVTY3JvbGwpIHNldFRpbWVvdXQoKCkgPT4gKGRpc2FibGVTY3JvbGwgPSBmYWxzZSksIDQwKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5wcm9ncmVzcy5zZXQodGhpcy5zY3JvbGwpO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9O1xuXG5cdFx0XHRcdGVsLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsLCB7IHBhc3NpdmU6IHRydWUgfSk7XG5cdFx0XHRcdHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiAoZmlyc3RSdW4gPSBmYWxzZSkpO1xuXG5cdFx0XHRcdGNvbnN0IG9uV2hlZWwgPSAoZTogV2hlZWxFdmVudCkgPT4gKGVsW2hvcml6b250YWwgPyAnc2Nyb2xsTGVmdCcgOiAnc2Nyb2xsVG9wJ10gKz0gZS5kZWx0YVkgLyAyKTtcblx0XHRcdFx0aWYgKGhvcml6b250YWwpIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ3doZWVsJywgb25XaGVlbCwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuXG5cdFx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdFx0ZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25TY3JvbGwpO1xuXHRcdFx0XHRcdGlmIChob3Jpem9udGFsKSBlbC5yZW1vdmVFdmVudExpc3RlbmVyKCd3aGVlbCcsIG9uV2hlZWwpO1xuXHRcdFx0XHR9O1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cblx0XHRsZXQgbGFzdCA9IDA7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGRlbHRhIH0pID0+IHtcblx0XHRcdGxhc3QgPSB0aGlzLm9mZnNldDtcblx0XHRcdGVhc2luZy5kYW1wKHRoaXMsICdvZmZzZXQnLCB0aGlzLnNjcm9sbCwgdGhpcy5kYW1waW5nKCksIGRlbHRhLCB0aGlzLm1heFNwZWVkKCksIHVuZGVmaW5lZCwgdGhpcy5lcHMoKSk7XG5cdFx0XHRlYXNpbmcuZGFtcChcblx0XHRcdFx0dGhpcyxcblx0XHRcdFx0J2RlbHRhJyxcblx0XHRcdFx0TWF0aC5hYnMobGFzdCAtIHRoaXMub2Zmc2V0KSxcblx0XHRcdFx0dGhpcy5kYW1waW5nKCksXG5cdFx0XHRcdGRlbHRhLFxuXHRcdFx0XHR0aGlzLm1heFNwZWVkKCksXG5cdFx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdFx0dGhpcy5lcHMoKSxcblx0XHRcdCk7XG5cdFx0XHRpZiAodGhpcy5kZWx0YSA+IHRoaXMuZXBzKCkpIHRoaXMuaW52YWxpZGF0ZSgpKCk7XG5cdFx0fSk7XG5cdH1cblxuXHRnZXQgZWwoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2VsO1xuXHR9XG5cblx0Z2V0IGZpbGwoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2ZpbGw7XG5cdH1cblxuXHRnZXQgZml4ZWQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2ZpeGVkO1xuXHR9XG5cblx0cmFuZ2UoZnJvbTogbnVtYmVyLCBkaXN0YW5jZTogbnVtYmVyLCBtYXJnaW4gPSAwKTogbnVtYmVyIHtcblx0XHRjb25zdCBzdGFydCA9IGZyb20gLSBtYXJnaW47XG5cdFx0Y29uc3QgZW5kID0gc3RhcnQgKyBkaXN0YW5jZSArIG1hcmdpbiAqIDI7XG5cdFx0cmV0dXJuIHRoaXMub2Zmc2V0IDwgc3RhcnQgPyAwIDogdGhpcy5vZmZzZXQgPiBlbmQgPyAxIDogKHRoaXMub2Zmc2V0IC0gc3RhcnQpIC8gKGVuZCAtIHN0YXJ0KTtcblx0fVxuXG5cdGN1cnZlKGZyb206IG51bWJlciwgZGlzdGFuY2U6IG51bWJlciwgbWFyZ2luID0gMCk6IG51bWJlciB7XG5cdFx0cmV0dXJuIE1hdGguc2luKHRoaXMucmFuZ2UoZnJvbSwgZGlzdGFuY2UsIG1hcmdpbikgKiBNYXRoLlBJKTtcblx0fVxuXG5cdHZpc2libGUoZnJvbTogbnVtYmVyLCBkaXN0YW5jZTogbnVtYmVyLCBtYXJnaW4gPSAwKTogYm9vbGVhbiB7XG5cdFx0Y29uc3Qgc3RhcnQgPSBmcm9tIC0gbWFyZ2luO1xuXHRcdGNvbnN0IGVuZCA9IHN0YXJ0ICsgZGlzdGFuY2UgKyBtYXJnaW4gKiAyO1xuXHRcdHJldHVybiB0aGlzLm9mZnNldCA+PSBzdGFydCAmJiB0aGlzLm9mZnNldCA8PSBlbmQ7XG5cdH1cbn1cblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnbmd0LWdyb3VwW25ndHNTY3JvbGxDYW52YXNdJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE5ndHNTY3JvbGxDYW52YXMge1xuXHRwcml2YXRlIGhvc3QgPSBpbmplY3Q8RWxlbWVudFJlZjxHcm91cD4+KEVsZW1lbnRSZWYpO1xuXHRwcml2YXRlIHNjcm9sbENvbnRyb2xzID0gaW5qZWN0KE5ndHNTY3JvbGxDb250cm9scyk7XG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRwcml2YXRlIHZpZXdwb3J0ID0gdGhpcy5zdG9yZS5zZWxlY3QoJ3ZpZXdwb3J0Jyk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCgpID0+IHtcblx0XHRcdGNvbnN0IGdyb3VwID0gdGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQ7XG5cblx0XHRcdGdyb3VwLnBvc2l0aW9uLnggPSB0aGlzLnNjcm9sbENvbnRyb2xzLmhvcml6b250YWwoKVxuXHRcdFx0XHQ/IC10aGlzLnZpZXdwb3J0KCkud2lkdGggKiAodGhpcy5zY3JvbGxDb250cm9scy5wYWdlcygpIC0gMSkgKiB0aGlzLnNjcm9sbENvbnRyb2xzLm9mZnNldFxuXHRcdFx0XHQ6IDA7XG5cdFx0XHRncm91cC5wb3NpdGlvbi55ID0gdGhpcy5zY3JvbGxDb250cm9scy5ob3Jpem9udGFsKClcblx0XHRcdFx0PyAwXG5cdFx0XHRcdDogdGhpcy52aWV3cG9ydCgpLmhlaWdodCAqICh0aGlzLnNjcm9sbENvbnRyb2xzLnBhZ2VzKCkgLSAxKSAqIHRoaXMuc2Nyb2xsQ29udHJvbHMub2Zmc2V0O1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ2RpdltuZ3RzU2Nyb2xsSFRNTF0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRob3N0OiB7IHN0eWxlOiAncG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07JyB9LFxuXHRwcm92aWRlcnM6IFtwcm92aWRlSFRNTERvbUVsZW1lbnQoW05ndHNTY3JvbGxDb250cm9sc10sIChzY3JvbGxDb250cm9scykgPT4gc2Nyb2xsQ29udHJvbHMuZml4ZWQpXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c1Njcm9sbEh0bWwgZXh0ZW5kcyBOZ3RIVE1MIHtcblx0cHJpdmF0ZSBzY3JvbGxDb250cm9scyA9IGluamVjdChOZ3RzU2Nyb2xsQ29udHJvbHMpO1xuXHRwcml2YXRlIHNpemUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnc2l6ZScpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCgpID0+IHtcblx0XHRcdGlmICh0aGlzLnNjcm9sbENvbnRyb2xzLmRlbHRhID4gdGhpcy5zY3JvbGxDb250cm9scy5lcHMoKSkge1xuXHRcdFx0XHR0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlM2QoJHtcblx0XHRcdFx0XHR0aGlzLnNjcm9sbENvbnRyb2xzLmhvcml6b250YWwoKVxuXHRcdFx0XHRcdFx0PyAtdGhpcy5zaXplKCkud2lkdGggKiAodGhpcy5zY3JvbGxDb250cm9scy5wYWdlcygpIC0gMSkgKiB0aGlzLnNjcm9sbENvbnRyb2xzLm9mZnNldFxuXHRcdFx0XHRcdFx0OiAwXG5cdFx0XHRcdH1weCwke3RoaXMuc2Nyb2xsQ29udHJvbHMuaG9yaXpvbnRhbCgpID8gMCA6IHRoaXMuc2l6ZSgpLmhlaWdodCAqICh0aGlzLnNjcm9sbENvbnRyb2xzLnBhZ2VzKCkgLSAxKSAqIC10aGlzLnNjcm9sbENvbnRyb2xzLm9mZnNldH1weCwwKWA7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
|
|
262
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWNvbnRyb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2NvbnRyb2xzL3NyYy9saWIvc2Nyb2xsLWNvbnRyb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQTJCdkQsTUFBTSxjQUFjLEdBQThCO0lBQ2pELEdBQUcsRUFBRSxPQUFPO0lBQ1osVUFBVSxFQUFFLEtBQUs7SUFDakIsUUFBUSxFQUFFLEtBQUs7SUFDZixLQUFLLEVBQUUsQ0FBQztJQUNSLFFBQVEsRUFBRSxDQUFDO0lBQ1gsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsS0FBSztJQUNkLE9BQU8sRUFBRSxJQUFJO0lBQ2IsS0FBSyxFQUFFLEVBQUU7Q0FDVCxDQUFDO0FBVUYsTUFBTSxPQUFPLGtCQUFrQjtJQWdDOUI7UUEvQkEsYUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQixZQUFPLEdBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBFLGFBQVEsR0FB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QztJQUNKLENBQUM7OEdBZlcsY0FBYztrR0FBZCxjQUFjLDRKQUZmLENBQUMscUJBQXFCLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7OzJGQUV0RixjQUFjO2tCQU4xQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsOERBQThELEVBQUU7b0JBQy9FLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNsRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdERpcmVjdGl2ZSxcblx0ZWZmZWN0LFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHRtb2RlbCxcblx0dW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEJlZm9yZVJlbmRlciwgaW5qZWN0U3RvcmUsIE5ndEhUTUwsIHBpY2ssIHByb3ZpZGVIVE1MRG9tRWxlbWVudCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgZWFzaW5nIH0gZnJvbSAnbWFhdGgnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgR3JvdXAgfSBmcm9tICd0aHJlZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c1Njcm9sbENvbnRyb2xzT3B0aW9ucyB7XG5cdC8qKiBQcmVjaXNpb24sIGRlZmF1bHQgMC4wMDAwMSAqL1xuXHRlcHM6IG51bWJlcjtcblx0LyoqIEhvcml6b250YWwgc2Nyb2xsLCBkZWZhdWx0IGZhbHNlICh2ZXJ0aWNhbCkgKi9cblx0aG9yaXpvbnRhbDogYm9vbGVhbjtcblx0LyoqIEluZmluaXRlIHNjcm9sbCwgZGVmYXVsdCBmYWxzZSAoZXhwZXJpbWVudGFsISkgKi9cblx0aW5maW5pdGU6IGJvb2xlYW47XG5cdC8qKiBEZWZpbmVzIHRoZSBsZW5naHQgb2YgdGhlIHNjcm9sbCBhcmVhLCBlYWNoIHBhZ2UgaXMgaGVpZ2h0OjEwMCUsIGRlZmF1bHQgMSAqL1xuXHRwYWdlczogbnVtYmVyO1xuXHQvKiogQSBmYWN0b3IgdGhhdCBpbmNyZWFzZXMgc2Nyb2xsIGJhciB0cmF2ZWwsZGVmYXVsdDogMSAqL1xuXHRkaXN0YW5jZTogbnVtYmVyO1xuXHQvKiogRnJpY3Rpb24gaW4gc2Vjb25kcywgZGVmYXVsdDogMC4yNSAoMS80IHNlY29uZCkgKi9cblx0ZGFtcGluZzogbnVtYmVyO1xuXHQvKiogbWF4U3BlZWQgb3B0aW9uYWxseSBhbGxvd3MgeW91IHRvIGNsYW1wIHRoZSBtYXhpbXVtIHNwZWVkLiBJZiBkYW1waW5nIGlzIDAuMnMgYW5kIGxvb2tzIE9LXG5cdCAqICBnb2luZyBiZXR3ZWVuLCBzYXksIHBhZ2UgMSBhbmQgMiwgYnV0IG5vdCBmb3IgcGFnZXMgZmFyIGFwYXJ0IGFzIGl0J2xsIG1vdmUgdmVyeSByYXBpZCxcblx0ICogIHRoZW4gYSBtYXhTcGVlZCBvZiBlLmcuIDMgd2hpY2ggd2lsbCBjbGFtcCB0aGUgc3BlZWQgdG8gMyB1bml0cyBwZXIgc2Vjb25kLCBpdCBtYXkgbm93XG5cdCAqICB0YWtlIG11Y2ggbG9uZ2VyIHRoYW4gZGFtcGluZyB0byByZWFjaCB0aGUgdGFyZ2V0IGlmIGl0IGlzIGZhciBhd2F5LiBEZWZhdWx0OiBJbmZpbml0eSAqL1xuXHRtYXhTcGVlZDogbnVtYmVyO1xuXHQvKiogSWYgdHJ1ZSBhdHRhY2hlcyB0aGUgc2Nyb2xsIGNvbnRhaW5lciBiZWZvcmUgdGhlIGNhbnZhcyAqL1xuXHRwcmVwZW5kOiBib29sZWFuO1xuXHRlbmFibGVkOiBib29sZWFuO1xuXHRzdHlsZTogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE5ndHNTY3JvbGxDb250cm9sc09wdGlvbnMgPSB7XG5cdGVwczogMC4wMDAwMSxcblx0aG9yaXpvbnRhbDogZmFsc2UsXG5cdGluZmluaXRlOiBmYWxzZSxcblx0cGFnZXM6IDEsXG5cdGRpc3RhbmNlOiAxLFxuXHRkYW1waW5nOiAwLjI1LFxuXHRtYXhTcGVlZDogSW5maW5pdHksXG5cdHByZXBlbmQ6IGZhbHNlLFxuXHRlbmFibGVkOiB0cnVlLFxuXHRzdHlsZToge30sXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLXNjcm9sbC1jb250cm9scycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5nLWNvbnRlbnQgLz5cblx0YCxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNTY3JvbGxDb250cm9scyB7XG5cdHByb2dyZXNzID0gbW9kZWwoMCk7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblxuXHRwcml2YXRlIGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cdHByaXZhdGUgZ2wgPSB0aGlzLnN0b3JlLnNlbGVjdCgnZ2wnKTtcblx0cHJpdmF0ZSBldmVudHMgPSB0aGlzLnN0b3JlLnNlbGVjdCgnZXZlbnRzJyk7XG5cdHByaXZhdGUgaW52YWxpZGF0ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdpbnZhbGlkYXRlJyk7XG5cdHByaXZhdGUgc2l6ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdzaXplJyk7XG5cblx0cHJpdmF0ZSBkb21FbGVtZW50ID0gcGljayh0aGlzLmdsLCAnZG9tRWxlbWVudCcpO1xuXHRwcml2YXRlIHRhcmdldCA9IHBpY2sodGhpcy5kb21FbGVtZW50LCAncGFyZW50Tm9kZScpO1xuXG5cdHByaXZhdGUgX2VsID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblx0cHJpdmF0ZSBfZmlsbCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cdHByaXZhdGUgX2ZpeGVkID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuXHRwcml2YXRlIHN0eWxlID0gcGljayh0aGlzLm9wdGlvbnMsICdzdHlsZScpO1xuXHRwcml2YXRlIHByZXBlbmQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3ByZXBlbmQnKTtcblx0cHJpdmF0ZSBlbmFibGVkID0gcGljayh0aGlzLm9wdGlvbnMsICdlbmFibGVkJyk7XG5cdHByaXZhdGUgaW5maW5pdGUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2luZmluaXRlJyk7XG5cdHByaXZhdGUgbWF4U3BlZWQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ21heFNwZWVkJyk7XG5cdGVwcyA9IHBpY2sodGhpcy5vcHRpb25zLCAnZXBzJyk7XG5cdGhvcml6b250YWwgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2hvcml6b250YWwnKTtcblx0cGFnZXMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3BhZ2VzJyk7XG5cdGRpc3RhbmNlID0gcGljayh0aGlzLm9wdGlvbnMsICdkaXN0YW5jZScpO1xuXHRkYW1waW5nID0gcGljayh0aGlzLm9wdGlvbnMsICdkYW1waW5nJyk7XG5cdHNjcm9sbCA9IDA7XG5cdG9mZnNldCA9IDA7XG5cdGRlbHRhID0gMDtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuXHRcdFx0Y29uc3QgdGFyZ2V0ID0gdGhpcy50YXJnZXQoKTtcblx0XHRcdGlmICghdGFyZ2V0KSByZXR1cm47XG5cblx0XHRcdGNvbnN0IHBhcmVudCA9IHRhcmdldCBhcyBIVE1MRWxlbWVudDtcblx0XHRcdGNvbnN0IFtwYWdlcywgZGlzdGFuY2UsIGhvcml6b250YWwsIGVsLCBmaWxsLCBmaXhlZCwgc3R5bGUsIHByZXBlbmQsIGRvbUVsZW1lbnQsIGV2ZW50c10gPSBbXG5cdFx0XHRcdHRoaXMucGFnZXMoKSxcblx0XHRcdFx0dGhpcy5kaXN0YW5jZSgpLFxuXHRcdFx0XHR0aGlzLmhvcml6b250YWwoKSxcblx0XHRcdFx0dGhpcy5lbCxcblx0XHRcdFx0dGhpcy5maWxsLFxuXHRcdFx0XHR0aGlzLmZpeGVkLFxuXHRcdFx0XHR1bnRyYWNrZWQodGhpcy5zdHlsZSksXG5cdFx0XHRcdHVudHJhY2tlZCh0aGlzLnByZXBlbmQpLFxuXHRcdFx0XHR1bnRyYWNrZWQodGhpcy5kb21FbGVtZW50KSxcblx0XHRcdFx0dW50cmFja2VkKHRoaXMuZXZlbnRzKSxcblx0XHRcdF07XG5cblx0XHRcdGVsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcblx0XHRcdGVsLnN0eWxlLndpZHRoID0gJzEwMCUnO1xuXHRcdFx0ZWwuc3R5bGUuaGVpZ2h0ID0gJzEwMCUnO1xuXHRcdFx0ZWwuc3R5bGVbaG9yaXpvbnRhbCA/ICdvdmVyZmxvd1gnIDogJ292ZXJmbG93WSddID0gJ2F1dG8nO1xuXHRcdFx0ZWwuc3R5bGVbaG9yaXpvbnRhbCA/ICdvdmVyZmxvd1knIDogJ292ZXJmbG93WCddID0gJ2hpZGRlbic7XG5cdFx0XHRlbC5zdHlsZS50b3AgPSAnMHB4Jztcblx0XHRcdGVsLnN0eWxlLmxlZnQgPSAnMHB4JztcblxuXHRcdFx0Zm9yIChjb25zdCBrZXkgaW4gc3R5bGUpIHtcblx0XHRcdFx0ZWwuc3R5bGVba2V5XSA9IChzdHlsZSBhcyBDU1NTdHlsZURlY2xhcmF0aW9uKVtrZXldO1xuXHRcdFx0fVxuXG5cdFx0XHRmaXhlZC5zdHlsZS5wb3NpdGlvbiA9ICdzdGlja3knO1xuXHRcdFx0Zml4ZWQuc3R5bGUudG9wID0gJzBweCc7XG5cdFx0XHRmaXhlZC5zdHlsZS5sZWZ0ID0gJzBweCc7XG5cdFx0XHRmaXhlZC5zdHlsZS53aWR0aCA9ICcxMDAlJztcblx0XHRcdGZpeGVkLnN0eWxlLmhlaWdodCA9ICcxMDAlJztcblx0XHRcdGZpeGVkLnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG5cdFx0XHRlbC5hcHBlbmRDaGlsZChmaXhlZCk7XG5cblx0XHRcdGZpbGwuc3R5bGUuaGVpZ2h0ID0gaG9yaXpvbnRhbCA/ICcxMDAlJyA6IGAke3BhZ2VzICogZGlzdGFuY2UgKiAxMDB9JWA7XG5cdFx0XHRmaWxsLnN0eWxlLndpZHRoID0gaG9yaXpvbnRhbCA/IGAke3BhZ2VzICogZGlzdGFuY2UgKiAxMDB9JWAgOiAnMTAwJSc7XG5cdFx0XHRmaWxsLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XG5cdFx0XHRlbC5hcHBlbmRDaGlsZChmaWxsKTtcblxuXHRcdFx0aWYgKHByZXBlbmQpIHBhcmVudC5wcmVwZW5kKGVsKTtcblx0XHRcdGVsc2UgcGFyZW50LmFwcGVuZENoaWxkKGVsKTtcblxuXHRcdFx0Ly8gSW5pdCBzY3JvbGwgb25lIHBpeGVsIGluIHRvIGFsbG93IHVwd2FyZC9sZWZ0d2FyZCBzY3JvbGxcblx0XHRcdGVsW2hvcml6b250YWwgPyAnc2Nyb2xsTGVmdCcgOiAnc2Nyb2xsVG9wJ10gPSAxO1xuXG5cdFx0XHRjb25zdCBvbGRUYXJnZXQgPSAoZXZlbnRzLmNvbm5lY3RlZCB8fCBkb21FbGVtZW50KSBhcyBIVE1MRWxlbWVudDtcblx0XHRcdHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiBldmVudHMuY29ubmVjdD8uKGVsKSk7XG5cdFx0XHRjb25zdCBvbGRDb21wdXRlID0gZXZlbnRzLmNvbXB1dGU/LmJpbmQoZXZlbnRzKTtcblxuXHRcdFx0dGhpcy5zdG9yZS5zbmFwc2hvdC5zZXRFdmVudHMoe1xuXHRcdFx0XHRjb21wdXRlKGV2ZW50LCBzdG9yZSkge1xuXHRcdFx0XHRcdGNvbnN0IHN0YXRlID0gc3RvcmUuc25hcHNob3Q7XG5cdFx0XHRcdFx0Ly8gd2UgYXJlIHVzaW5nIGJvdW5kaW5nQ2xpZW50UmVjdCBiZWNhdXNlIHdlIGNvdWxkIG5vdCByZWx5IG9uIHRhcmdldC5vZmZzZXRUb3AgYXMgY2FudmFzIGNvdWxkIGJlIHBvc2l0aW9uZWQgYW55d2hlcmUgaW4gZG9tXG5cdFx0XHRcdFx0Y29uc3QgeyBsZWZ0LCB0b3AgfSA9IHBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblx0XHRcdFx0XHRjb25zdCBvZmZzZXRYID0gZXZlbnQuY2xpZW50WCAtIGxlZnQ7XG5cdFx0XHRcdFx0Y29uc3Qgb2Zmc2V0WSA9IGV2ZW50LmNsaWVudFkgLSB0b3A7XG5cdFx0XHRcdFx0c3RhdGUucG9pbnRlci5zZXQoKG9mZnNldFggLyBzdGF0ZS5zaXplLndpZHRoKSAqIDIgLSAxLCAtKG9mZnNldFkgLyBzdGF0ZS5zaXplLmhlaWdodCkgKiAyICsgMSk7XG5cdFx0XHRcdFx0c3RhdGUucmF5Y2FzdGVyLnNldEZyb21DYW1lcmEoc3RhdGUucG9pbnRlciwgc3RhdGUuY2FtZXJhKTtcblx0XHRcdFx0fSxcblx0XHRcdH0pO1xuXG5cdFx0XHRvbkNsZWFudXAoKCkgPT4ge1xuXHRcdFx0XHRwYXJlbnQucmVtb3ZlQ2hpbGQoZWwpO1xuXHRcdFx0XHR0aGlzLnN0b3JlLnNuYXBzaG90LnNldEV2ZW50cyh7IGNvbXB1dGU6IG9sZENvbXB1dGUgfSk7XG5cdFx0XHRcdGV2ZW50cy5jb25uZWN0Py4ob2xkVGFyZ2V0KTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IFtlbCwgZXZlbnRzLCBzaXplLCBpbmZpbml0ZSwgaW52YWxpZGF0ZSwgaG9yaXpvbnRhbCwgZW5hYmxlZF0gPSBbXG5cdFx0XHRcdHRoaXMuZWwsXG5cdFx0XHRcdHRoaXMuZXZlbnRzKCksXG5cdFx0XHRcdHRoaXMuc2l6ZSgpLFxuXHRcdFx0XHR0aGlzLmluZmluaXRlKCksXG5cdFx0XHRcdHRoaXMuaW52YWxpZGF0ZSgpLFxuXHRcdFx0XHR0aGlzLmhvcml6b250YWwoKSxcblx0XHRcdFx0dGhpcy5lbmFibGVkKCksXG5cdFx0XHRdO1xuXG5cdFx0XHRpZiAoZXZlbnRzLmNvbm5lY3RlZCAhPT0gZWwpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgY29udGFpbmVyTGVuZ3RoID0gc2l6ZVtob3Jpem9udGFsID8gJ3dpZHRoJyA6ICdoZWlnaHQnXTtcblx0XHRcdGNvbnN0IHNjcm9sbExlbmd0aCA9IGVsW2hvcml6b250YWwgPyAnc2Nyb2xsV2lkdGgnIDogJ3Njcm9sbEhlaWdodCddO1xuXHRcdFx0Y29uc3Qgc2Nyb2xsVGhyZXNob2xkID0gc2Nyb2xsTGVuZ3RoIC0gY29udGFpbmVyTGVuZ3RoO1xuXG5cdFx0XHRsZXQgY3VycmVudCA9IDA7XG5cdFx0XHRsZXQgZGlzYWJsZVNjcm9sbCA9IHRydWU7XG5cdFx0XHRsZXQgZmlyc3RSdW4gPSB0cnVlO1xuXG5cdFx0XHRjb25zdCBvblNjcm9sbCA9ICgpID0+IHtcblx0XHRcdFx0Ly8gUHJldmVudCBmaXJzdCBzY3JvbGwgYmVjYXVzZSBpdCBpcyBpbmRpcmVjdGx5IGNhdXNlZCBieSB0aGUgb25lIHBpeGVsIG9mZnNldFxuXHRcdFx0XHRpZiAoIWVuYWJsZWQgfHwgZmlyc3RSdW4pIHJldHVybjtcblx0XHRcdFx0aW52YWxpZGF0ZSgpO1xuXHRcdFx0XHRjdXJyZW50ID0gZWxbaG9yaXpvbnRhbCA/ICdzY3JvbGxMZWZ0JyA6ICdzY3JvbGxUb3AnXTtcblx0XHRcdFx0dGhpcy5zY3JvbGwgPSBjdXJyZW50IC8gc2Nyb2xsVGhyZXNob2xkO1xuXG5cdFx0XHRcdGlmIChpbmZpbml0ZSkge1xuXHRcdFx0XHRcdGlmICghZGlzYWJsZVNjcm9sbCkge1xuXHRcdFx0XHRcdFx0aWYgKGN1cnJlbnQgPj0gc2Nyb2xsVGhyZXNob2xkKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IGRhbXAgPSAxIC0gdGhpcy5vZmZzZXQ7XG5cdFx0XHRcdFx0XHRcdGVsW2hvcml6b250YWwgPyAnc2Nyb2xsTGVmdCcgOiAnc2Nyb2xsVG9wJ10gPSAxO1xuXHRcdFx0XHRcdFx0XHR0aGlzLnNjcm9sbCA9IHRoaXMub2Zmc2V0ID0gLWRhbXA7XG5cdFx0XHRcdFx0XHRcdGRpc2FibGVTY3JvbGwgPSB0cnVlO1xuXHRcdFx0XHRcdFx0fSBlbHNlIGlmIChjdXJyZW50IDw9IDApIHtcblx0XHRcdFx0XHRcdFx0Y29uc3QgZGFtcCA9IDEgKyB0aGlzLm9mZnNldDtcblx0XHRcdFx0XHRcdFx0ZWxbaG9yaXpvbnRhbCA/ICdzY3JvbGxMZWZ0JyA6ICdzY3JvbGxUb3AnXSA9IHNjcm9sbExlbmd0aDtcblx0XHRcdFx0XHRcdFx0dGhpcy5zY3JvbGwgPSB0aGlzLm9mZnNldCA9IGRhbXA7XG5cdFx0XHRcdFx0XHRcdGRpc2FibGVTY3JvbGwgPSB0cnVlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAoZGlzYWJsZVNjcm9sbCkgc2V0VGltZW91dCgoKSA9PiAoZGlzYWJsZVNjcm9sbCA9IGZhbHNlKSwgNDApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5wcm9ncmVzcy5zZXQodGhpcy5zY3JvbGwpO1xuXHRcdFx0fTtcblxuXHRcdFx0ZWwuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25TY3JvbGwsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcblx0XHRcdHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiAoZmlyc3RSdW4gPSBmYWxzZSkpO1xuXG5cdFx0XHRjb25zdCBvbldoZWVsID0gKGU6IFdoZWVsRXZlbnQpID0+IChlbFtob3Jpem9udGFsID8gJ3Njcm9sbExlZnQnIDogJ3Njcm9sbFRvcCddICs9IGUuZGVsdGFZIC8gMik7XG5cdFx0XHRpZiAoaG9yaXpvbnRhbCkgZWwuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBvbldoZWVsLCB7IHBhc3NpdmU6IHRydWUgfSk7XG5cblx0XHRcdG9uQ2xlYW51cCgoKSA9PiB7XG5cdFx0XHRcdGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsKTtcblx0XHRcdFx0aWYgKGhvcml6b250YWwpIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3doZWVsJywgb25XaGVlbCk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblxuXHRcdGxldCBsYXN0ID0gMDtcblx0XHRpbmplY3RCZWZvcmVSZW5kZXIoKHsgZGVsdGEgfSkgPT4ge1xuXHRcdFx0bGFzdCA9IHRoaXMub2Zmc2V0O1xuXHRcdFx0ZWFzaW5nLmRhbXAodGhpcywgJ29mZnNldCcsIHRoaXMuc2Nyb2xsLCB0aGlzLmRhbXBpbmcoKSwgZGVsdGEsIHRoaXMubWF4U3BlZWQoKSwgdW5kZWZpbmVkLCB0aGlzLmVwcygpKTtcblx0XHRcdGVhc2luZy5kYW1wKFxuXHRcdFx0XHR0aGlzLFxuXHRcdFx0XHQnZGVsdGEnLFxuXHRcdFx0XHRNYXRoLmFicyhsYXN0IC0gdGhpcy5vZmZzZXQpLFxuXHRcdFx0XHR0aGlzLmRhbXBpbmcoKSxcblx0XHRcdFx0ZGVsdGEsXG5cdFx0XHRcdHRoaXMubWF4U3BlZWQoKSxcblx0XHRcdFx0dW5kZWZpbmVkLFxuXHRcdFx0XHR0aGlzLmVwcygpLFxuXHRcdFx0KTtcblx0XHRcdGlmICh0aGlzLmRlbHRhID4gdGhpcy5lcHMoKSkgdGhpcy5pbnZhbGlkYXRlKCkoKTtcblx0XHR9KTtcblx0fVxuXG5cdGdldCBlbCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fZWw7XG5cdH1cblxuXHRnZXQgZmlsbCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fZmlsbDtcblx0fVxuXG5cdGdldCBmaXhlZCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fZml4ZWQ7XG5cdH1cblxuXHRyYW5nZShmcm9tOiBudW1iZXIsIGRpc3RhbmNlOiBudW1iZXIsIG1hcmdpbiA9IDApOiBudW1iZXIge1xuXHRcdGNvbnN0IHN0YXJ0ID0gZnJvbSAtIG1hcmdpbjtcblx0XHRjb25zdCBlbmQgPSBzdGFydCArIGRpc3RhbmNlICsgbWFyZ2luICogMjtcblx0XHRyZXR1cm4gdGhpcy5vZmZzZXQgPCBzdGFydCA/IDAgOiB0aGlzLm9mZnNldCA+IGVuZCA/IDEgOiAodGhpcy5vZmZzZXQgLSBzdGFydCkgLyAoZW5kIC0gc3RhcnQpO1xuXHR9XG5cblx0Y3VydmUoZnJvbTogbnVtYmVyLCBkaXN0YW5jZTogbnVtYmVyLCBtYXJnaW4gPSAwKTogbnVtYmVyIHtcblx0XHRyZXR1cm4gTWF0aC5zaW4odGhpcy5yYW5nZShmcm9tLCBkaXN0YW5jZSwgbWFyZ2luKSAqIE1hdGguUEkpO1xuXHR9XG5cblx0dmlzaWJsZShmcm9tOiBudW1iZXIsIGRpc3RhbmNlOiBudW1iZXIsIG1hcmdpbiA9IDApOiBib29sZWFuIHtcblx0XHRjb25zdCBzdGFydCA9IGZyb20gLSBtYXJnaW47XG5cdFx0Y29uc3QgZW5kID0gc3RhcnQgKyBkaXN0YW5jZSArIG1hcmdpbiAqIDI7XG5cdFx0cmV0dXJuIHRoaXMub2Zmc2V0ID49IHN0YXJ0ICYmIHRoaXMub2Zmc2V0IDw9IGVuZDtcblx0fVxufVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICduZ3QtZ3JvdXBbbmd0c1Njcm9sbENhbnZhc10nLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgTmd0c1Njcm9sbENhbnZhcyB7XG5cdHByaXZhdGUgaG9zdCA9IGluamVjdDxFbGVtZW50UmVmPEdyb3VwPj4oRWxlbWVudFJlZik7XG5cdHByaXZhdGUgc2Nyb2xsQ29udHJvbHMgPSBpbmplY3QoTmd0c1Njcm9sbENvbnRyb2xzKTtcblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cdHByaXZhdGUgdmlld3BvcnQgPSB0aGlzLnN0b3JlLnNlbGVjdCgndmlld3BvcnQnKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRpbmplY3RCZWZvcmVSZW5kZXIoKCkgPT4ge1xuXHRcdFx0Y29uc3QgZ3JvdXAgPSB0aGlzLmhvc3QubmF0aXZlRWxlbWVudDtcblxuXHRcdFx0Z3JvdXAucG9zaXRpb24ueCA9IHRoaXMuc2Nyb2xsQ29udHJvbHMuaG9yaXpvbnRhbCgpXG5cdFx0XHRcdD8gLXRoaXMudmlld3BvcnQoKS53aWR0aCAqICh0aGlzLnNjcm9sbENvbnRyb2xzLnBhZ2VzKCkgLSAxKSAqIHRoaXMuc2Nyb2xsQ29udHJvbHMub2Zmc2V0XG5cdFx0XHRcdDogMDtcblx0XHRcdGdyb3VwLnBvc2l0aW9uLnkgPSB0aGlzLnNjcm9sbENvbnRyb2xzLmhvcml6b250YWwoKVxuXHRcdFx0XHQ/IDBcblx0XHRcdFx0OiB0aGlzLnZpZXdwb3J0KCkuaGVpZ2h0ICogKHRoaXMuc2Nyb2xsQ29udHJvbHMucGFnZXMoKSAtIDEpICogdGhpcy5zY3JvbGxDb250cm9scy5vZmZzZXQ7XG5cdFx0fSk7XG5cdH1cbn1cblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnZGl2W25ndHNTY3JvbGxIVE1MXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3Q6IHsgc3R5bGU6ICdwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsnIH0sXG5cdHByb3ZpZGVyczogW3Byb3ZpZGVIVE1MRG9tRWxlbWVudChbTmd0c1Njcm9sbENvbnRyb2xzXSwgKHNjcm9sbENvbnRyb2xzKSA9PiBzY3JvbGxDb250cm9scy5maXhlZCldLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzU2Nyb2xsSHRtbCBleHRlbmRzIE5ndEhUTUwge1xuXHRwcml2YXRlIHNjcm9sbENvbnRyb2xzID0gaW5qZWN0KE5ndHNTY3JvbGxDb250cm9scyk7XG5cdHByaXZhdGUgc2l6ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdzaXplJyk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0XHRpbmplY3RCZWZvcmVSZW5kZXIoKCkgPT4ge1xuXHRcdFx0aWYgKHRoaXMuc2Nyb2xsQ29udHJvbHMuZGVsdGEgPiB0aGlzLnNjcm9sbENvbnRyb2xzLmVwcygpKSB7XG5cdFx0XHRcdHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGUzZCgke1xuXHRcdFx0XHRcdHRoaXMuc2Nyb2xsQ29udHJvbHMuaG9yaXpvbnRhbCgpXG5cdFx0XHRcdFx0XHQ/IC10aGlzLnNpemUoKS53aWR0aCAqICh0aGlzLnNjcm9sbENvbnRyb2xzLnBhZ2VzKCkgLSAxKSAqIHRoaXMuc2Nyb2xsQ29udHJvbHMub2Zmc2V0XG5cdFx0XHRcdFx0XHQ6IDBcblx0XHRcdFx0fXB4LCR7dGhpcy5zY3JvbGxDb250cm9scy5ob3Jpem9udGFsKCkgPyAwIDogdGhpcy5zaXplKCkuaGVpZ2h0ICogKHRoaXMuc2Nyb2xsQ29udHJvbHMucGFnZXMoKSAtIDEpICogLXRoaXMuc2Nyb2xsQ29udHJvbHMub2Zmc2V0fXB4LDApYDtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxufVxuIl19
|
|
@@ -15,10 +15,10 @@ export class NgtsGizmoHelperContent {
|
|
|
15
15
|
static ngTemplateContextGuard(_, ctx) {
|
|
16
16
|
return true;
|
|
17
17
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
19
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoHelperContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: NgtsGizmoHelperContent, isStandalone: true, selector: "ng-template[gizmoHelperContent]", ngImport: i0 }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoHelperContent, decorators: [{
|
|
22
22
|
type: Directive,
|
|
23
23
|
args: [{ selector: 'ng-template[gizmoHelperContent]', standalone: true }]
|
|
24
24
|
}] });
|
|
@@ -134,8 +134,8 @@ export class NgtsGizmoHelper {
|
|
|
134
134
|
isCameraControls(controls) {
|
|
135
135
|
return 'getTarget' in controls;
|
|
136
136
|
}
|
|
137
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
138
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
137
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoHelper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
138
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.4", type: NgtsGizmoHelper, isStandalone: true, selector: "ngts-gizmo-helper", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { update: "update" }, queries: [{ propertyName: "content", first: true, predicate: NgtsGizmoHelperContent, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "gizmoRef", first: true, predicate: ["gizmo"], descendants: true, isSignal: true }, { propertyName: "virtualCameraRef", first: true, predicate: NgtsOrthographicCamera, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
139
139
|
<ngt-portal
|
|
140
140
|
[container]="scene"
|
|
141
141
|
[autoRender]="true"
|
|
@@ -155,7 +155,7 @@ export class NgtsGizmoHelper {
|
|
|
155
155
|
</ngt-portal>
|
|
156
156
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtPortal, selector: "ngt-portal", inputs: ["container", "state", "autoRender", "autoRenderPriority"] }, { kind: "directive", type: NgtPortalContent, selector: "ng-template[portalContent]" }, { kind: "component", type: NgtsOrthographicCamera, selector: "ngts-orthographic-camera", inputs: ["options"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
157
157
|
}
|
|
158
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
158
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoHelper, decorators: [{
|
|
159
159
|
type: Component,
|
|
160
160
|
args: [{
|
|
161
161
|
selector: 'ngts-gizmo-helper',
|
|
@@ -60,8 +60,8 @@ export class FaceMaterial {
|
|
|
60
60
|
});
|
|
61
61
|
extend({ MeshBasicMaterial });
|
|
62
62
|
}
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
64
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FaceMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: FaceMaterial, isStandalone: true, selector: "viewcube-face-material", inputs: { hover: { classPropertyName: "hover", publicName: "hover", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
65
65
|
<ngt-mesh-basic-material
|
|
66
66
|
[attach]="['material', index()]"
|
|
67
67
|
[map]="texture()"
|
|
@@ -71,7 +71,7 @@ export class FaceMaterial {
|
|
|
71
71
|
/>
|
|
72
72
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
73
73
|
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FaceMaterial, decorators: [{
|
|
75
75
|
type: Component,
|
|
76
76
|
args: [{
|
|
77
77
|
selector: 'viewcube-face-material',
|
|
@@ -108,8 +108,8 @@ export class FaceCube {
|
|
|
108
108
|
this.gizmoHelper.tweenCamera(event.face.normal);
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
112
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FaceCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
112
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: FaceCube, isStandalone: true, selector: "viewcube-face-cube", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, onClick: { classPropertyName: "onClick", publicName: "onClick", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
113
113
|
<ngt-mesh
|
|
114
114
|
(pointerout)="$event.stopPropagation(); hover.set(-1)"
|
|
115
115
|
(pointermove)="$event.stopPropagation(); hover.set(Math.floor($any($event).faceIndex / 2))"
|
|
@@ -122,7 +122,7 @@ export class FaceCube {
|
|
|
122
122
|
</ngt-mesh>
|
|
123
123
|
`, isInline: true, dependencies: [{ kind: "component", type: FaceMaterial, selector: "viewcube-face-material", inputs: ["hover", "index", "options"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
124
124
|
}
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FaceCube, decorators: [{
|
|
126
126
|
type: Component,
|
|
127
127
|
args: [{
|
|
128
128
|
selector: 'viewcube-face-cube',
|
|
@@ -170,8 +170,8 @@ export class EdgeCube {
|
|
|
170
170
|
this.gizmoHelper.tweenCamera(this.position());
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
174
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
173
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: EdgeCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
174
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: EdgeCube, isStandalone: true, selector: "viewcube-edge-cube", inputs: { dimensions: { classPropertyName: "dimensions", publicName: "dimensions", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null }, hoverColor: { classPropertyName: "hoverColor", publicName: "hoverColor", isSignal: true, isRequired: false, transformFunction: null }, onClick: { classPropertyName: "onClick", publicName: "onClick", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
175
175
|
<ngt-mesh
|
|
176
176
|
[scale]="1.01"
|
|
177
177
|
[position]="position()"
|
|
@@ -184,7 +184,7 @@ export class EdgeCube {
|
|
|
184
184
|
</ngt-mesh>
|
|
185
185
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
186
186
|
}
|
|
187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: EdgeCube, decorators: [{
|
|
188
188
|
type: Component,
|
|
189
189
|
args: [{
|
|
190
190
|
selector: 'viewcube-edge-cube',
|
|
@@ -247,8 +247,8 @@ export class NgtsGizmoViewcube {
|
|
|
247
247
|
makePositionVector(xyz) {
|
|
248
248
|
return new Vector3(...xyz).multiplyScalar(0.38);
|
|
249
249
|
}
|
|
250
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
251
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
250
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoViewcube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
251
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsGizmoViewcube, isStandalone: true, selector: "ngts-gizmo-viewcube", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, ngImport: i0, template: `
|
|
252
252
|
<ngt-group [scale]="60">
|
|
253
253
|
<viewcube-face-cube [options]="options()" [onClick]="onClick" />
|
|
254
254
|
@for (edge of edges; track $index) {
|
|
@@ -270,7 +270,7 @@ export class NgtsGizmoViewcube {
|
|
|
270
270
|
</ngt-group>
|
|
271
271
|
`, isInline: true, dependencies: [{ kind: "component", type: FaceCube, selector: "viewcube-face-cube", inputs: ["options", "onClick"] }, { kind: "component", type: EdgeCube, selector: "viewcube-edge-cube", inputs: ["dimensions", "position", "hoverColor", "onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
272
272
|
}
|
|
273
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
273
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoViewcube, decorators: [{
|
|
274
274
|
type: Component,
|
|
275
275
|
args: [{
|
|
276
276
|
selector: 'ngts-gizmo-viewcube',
|