angular-three 2.0.0-beta.7 → 2.0.0-beta.8
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/README.md +4 -147
- package/esm2022/angular-three.mjs +1 -1
- package/esm2022/index.mjs +10 -9
- package/esm2022/lib/before-render.mjs +13 -0
- package/esm2022/lib/canvas.mjs +129 -161
- package/esm2022/lib/directives/args.mjs +14 -12
- package/esm2022/lib/directives/common.mjs +28 -27
- package/esm2022/lib/directives/key.mjs +29 -0
- package/esm2022/lib/directives/parent.mjs +13 -11
- package/esm2022/lib/directives/repeat.mjs +5 -6
- package/esm2022/lib/dom/events.mjs +6 -1
- package/esm2022/lib/events.mjs +75 -58
- package/esm2022/lib/instance.mjs +65 -0
- package/esm2022/lib/loader.mjs +17 -20
- package/esm2022/lib/loop.mjs +6 -3
- package/esm2022/lib/portal.mjs +103 -112
- package/esm2022/lib/ref.mjs +48 -0
- package/esm2022/lib/renderer/catalogue.mjs +7 -0
- package/esm2022/lib/renderer/constants.mjs +21 -0
- package/esm2022/lib/renderer/index.mjs +409 -0
- package/esm2022/lib/renderer/store.mjs +62 -39
- package/esm2022/lib/renderer/utils.mjs +26 -43
- package/esm2022/lib/roots.mjs +249 -0
- package/esm2022/lib/routed-scene.mjs +6 -7
- package/esm2022/lib/store.mjs +207 -0
- package/esm2022/lib/three-types.mjs +1 -1
- package/esm2022/lib/types.mjs +1 -1
- package/esm2022/lib/utils/apply-props.mjs +14 -8
- package/esm2022/lib/utils/assert-injection-context.mjs +14 -0
- package/esm2022/lib/utils/attach.mjs +2 -2
- package/esm2022/lib/utils/create-injection-token.mjs +47 -0
- package/esm2022/lib/utils/is.mjs +1 -1
- package/esm2022/lib/utils/make.mjs +1 -1
- package/esm2022/lib/utils/safe-detect-changes.mjs +15 -13
- package/esm2022/lib/utils/signal-store.mjs +91 -0
- package/esm2022/lib/utils/update.mjs +1 -1
- package/fesm2022/angular-three.mjs +1580 -1430
- package/fesm2022/angular-three.mjs.map +1 -1
- package/index.d.ts +10 -8
- package/lib/{di/before-render.d.ts → before-render.d.ts} +1 -1
- package/lib/canvas.d.ts +81 -11
- package/lib/directives/args.d.ts +2 -2
- package/lib/directives/common.d.ts +5 -1
- package/lib/directives/key.d.ts +10 -0
- package/lib/directives/parent.d.ts +5 -5
- package/lib/dom/events.d.ts +3 -2
- package/lib/events.d.ts +78 -2
- package/lib/instance.d.ts +36 -0
- package/lib/loader.d.ts +13 -2
- package/lib/loop.d.ts +64 -6
- package/lib/portal.d.ts +21 -12
- package/lib/{di/ref.d.ts → ref.d.ts} +3 -2
- package/lib/renderer/catalogue.d.ts +9 -0
- package/lib/renderer/constants.d.ts +20 -0
- package/lib/renderer/index.d.ts +5 -0
- package/lib/renderer/store.d.ts +21 -15
- package/lib/renderer/utils.d.ts +29 -19
- package/lib/roots.d.ts +11 -0
- package/lib/routed-scene.d.ts +1 -1
- package/lib/store.d.ts +143 -0
- package/lib/three-types.d.ts +5 -5
- package/lib/types.d.ts +1 -310
- package/lib/utils/apply-props.d.ts +4 -2
- package/lib/utils/attach.d.ts +4 -2
- package/lib/utils/create-injection-token.d.ts +27 -0
- package/lib/utils/is.d.ts +3 -2
- package/lib/utils/make.d.ts +12 -1
- package/lib/utils/safe-detect-changes.d.ts +2 -2
- package/lib/utils/signal-store.d.ts +17 -0
- package/lib/utils/update.d.ts +1 -1
- package/metadata.json +1 -0
- package/package.json +4 -4
- package/plugin/README.md +11 -0
- package/plugin/generators.json +39 -0
- package/plugin/package.json +6 -0
- package/plugin/src/generators/init/compat.d.ts +2 -0
- package/plugin/src/generators/init/compat.js +6 -0
- package/plugin/src/generators/init/compat.js.map +1 -0
- package/plugin/src/generators/init/generator.d.ts +2 -0
- package/plugin/src/generators/init/generator.js +48 -0
- package/plugin/src/generators/init/generator.js.map +1 -0
- package/plugin/src/generators/init/schema.json +6 -0
- package/plugin/src/generators/init-postprocessing/compat.d.ts +2 -0
- package/plugin/src/generators/init-postprocessing/compat.js +6 -0
- package/plugin/src/generators/init-postprocessing/compat.js.map +1 -0
- package/plugin/src/generators/init-postprocessing/generator.d.ts +2 -0
- package/plugin/src/generators/init-postprocessing/generator.js +20 -0
- package/plugin/src/generators/init-postprocessing/generator.js.map +1 -0
- package/plugin/src/generators/init-postprocessing/schema.json +6 -0
- package/plugin/src/generators/init-soba/compat.d.ts +2 -0
- package/plugin/src/generators/init-soba/compat.js +6 -0
- package/plugin/src/generators/init-soba/compat.js.map +1 -0
- package/plugin/src/generators/init-soba/generator.d.ts +2 -0
- package/plugin/src/generators/init-soba/generator.js +24 -0
- package/plugin/src/generators/init-soba/generator.js.map +1 -0
- package/plugin/src/generators/init-soba/schema.json +6 -0
- package/plugin/src/generators/versions.d.ts +9 -0
- package/plugin/src/generators/versions.js +13 -0
- package/plugin/src/generators/versions.js.map +1 -0
- package/plugin/src/index.d.ts +3 -0
- package/plugin/src/index.js +10 -0
- package/plugin/src/index.js.map +1 -0
- package/web-types.json +1 -0
- package/esm2022/lib/di/before-render.mjs +0 -13
- package/esm2022/lib/di/catalogue.mjs +0 -7
- package/esm2022/lib/di/ref.mjs +0 -54
- package/esm2022/lib/renderer/di.mjs +0 -3
- package/esm2022/lib/renderer/enums.mjs +0 -2
- package/esm2022/lib/renderer/provider.mjs +0 -18
- package/esm2022/lib/renderer/renderer.mjs +0 -368
- package/esm2022/lib/stores/signal.store.mjs +0 -78
- package/esm2022/lib/stores/store.mjs +0 -420
- package/esm2022/lib/utils/assert-in-injection-context.mjs +0 -14
- package/esm2022/lib/utils/instance.mjs +0 -67
- package/esm2022/lib/utils/timing.mjs +0 -9
- package/lib/di/catalogue.d.ts +0 -3
- package/lib/renderer/di.d.ts +0 -2
- package/lib/renderer/enums.d.ts +0 -26
- package/lib/renderer/provider.d.ts +0 -8
- package/lib/renderer/renderer.d.ts +0 -49
- package/lib/stores/signal.store.d.ts +0 -21
- package/lib/stores/store.d.ts +0 -13
- package/lib/utils/instance.d.ts +0 -4
- package/lib/utils/timing.d.ts +0 -2
- /package/lib/utils/{assert-in-injection-context.d.ts → assert-injection-context.d.ts} +0 -0
package/esm2022/lib/canvas.mjs
CHANGED
|
@@ -1,159 +1,138 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentInjector, EventEmitter, Injector, Input, NgZone, Output, ViewChild, ViewContainerRef, createEnvironmentInjector, effect, inject, } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EnvironmentInjector, EventEmitter, Injector, Input, NgZone, Output, ViewChild, ViewContainerRef, computed, createEnvironmentInjector, effect, inject, } from '@angular/core';
|
|
2
2
|
import { NgxResize, provideNgxResizeOptions } from 'ngx-resize';
|
|
3
3
|
import { createPointerEvents } from './dom/events';
|
|
4
4
|
import { injectNgtLoader } from './loader';
|
|
5
|
-
import { provideNgtRenderer } from './renderer
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { provideNgtRenderer } from './renderer';
|
|
6
|
+
import { injectCanvasRootInitializer } from './roots';
|
|
7
|
+
import { injectNgtStore, provideNgtStore, } from './store';
|
|
8
8
|
import { is } from './utils/is';
|
|
9
9
|
import { safeDetectChanges } from './utils/safe-detect-changes';
|
|
10
|
+
import { signalStore } from './utils/signal-store';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
|
-
class NgtCanvas
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
export class NgtCanvas {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.store = injectNgtStore();
|
|
15
|
+
this.initRoot = injectCanvasRootInitializer();
|
|
16
|
+
this.host = inject(ElementRef);
|
|
17
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
18
|
+
this.injector = inject(Injector);
|
|
19
|
+
this.environmentInjector = inject(EnvironmentInjector);
|
|
20
|
+
this.zone = inject(NgZone);
|
|
21
|
+
this.destroyRef = inject(DestroyRef);
|
|
22
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
23
|
+
this.inputs = signalStore({
|
|
24
|
+
shadows: false,
|
|
25
|
+
linear: false,
|
|
26
|
+
flat: false,
|
|
27
|
+
legacy: false,
|
|
28
|
+
orthographic: false,
|
|
29
|
+
frameloop: 'always',
|
|
30
|
+
dpr: [1, 2],
|
|
31
|
+
events: createPointerEvents,
|
|
32
|
+
});
|
|
33
|
+
this.sceneGraphInputs = {};
|
|
34
|
+
this.compoundPrefixes = [];
|
|
35
|
+
this.created = new EventEmitter();
|
|
36
|
+
this.inputsEventSource = this.inputs.select('eventSource');
|
|
37
|
+
this.hbPointerEvents = computed(() => (!!this.inputsEventSource() ? 'none' : 'auto'));
|
|
38
|
+
}
|
|
19
39
|
set linear(linear) {
|
|
20
|
-
this.set({ linear });
|
|
40
|
+
this.inputs.set({ linear });
|
|
21
41
|
}
|
|
22
42
|
set legacy(legacy) {
|
|
23
|
-
this.set({ legacy });
|
|
43
|
+
this.inputs.set({ legacy });
|
|
24
44
|
}
|
|
25
45
|
set flat(flat) {
|
|
26
|
-
this.set({ flat });
|
|
46
|
+
this.inputs.set({ flat });
|
|
27
47
|
}
|
|
28
48
|
set orthographic(orthographic) {
|
|
29
|
-
this.set({ orthographic });
|
|
49
|
+
this.inputs.set({ orthographic });
|
|
30
50
|
}
|
|
31
51
|
set frameloop(frameloop) {
|
|
32
|
-
this.set({ frameloop });
|
|
52
|
+
this.inputs.set({ frameloop });
|
|
33
53
|
}
|
|
34
54
|
set dpr(dpr) {
|
|
35
|
-
this.set({ dpr });
|
|
55
|
+
this.inputs.set({ dpr });
|
|
36
56
|
}
|
|
37
57
|
set raycaster(raycaster) {
|
|
38
|
-
this.set({ raycaster });
|
|
58
|
+
this.inputs.set({ raycaster });
|
|
39
59
|
}
|
|
40
60
|
set shadows(shadows) {
|
|
41
|
-
this.set({ shadows });
|
|
61
|
+
this.inputs.set({ shadows });
|
|
42
62
|
}
|
|
43
63
|
set camera(camera) {
|
|
44
|
-
this.set({ camera });
|
|
64
|
+
this.inputs.set({ camera });
|
|
45
65
|
}
|
|
46
66
|
set scene(scene) {
|
|
47
|
-
this.set({ scene });
|
|
67
|
+
this.inputs.set({ scene });
|
|
48
68
|
}
|
|
49
69
|
set gl(gl) {
|
|
50
|
-
this.set({ gl });
|
|
70
|
+
this.inputs.set({ gl });
|
|
51
71
|
}
|
|
52
72
|
set eventSource(eventSource) {
|
|
53
|
-
this.set({ eventSource });
|
|
73
|
+
this.inputs.set({ eventSource });
|
|
54
74
|
}
|
|
55
75
|
set eventPrefix(eventPrefix) {
|
|
56
|
-
this.set({ eventPrefix });
|
|
76
|
+
this.inputs.set({ eventPrefix });
|
|
57
77
|
}
|
|
58
78
|
set lookAt(lookAt) {
|
|
59
|
-
this.set({ lookAt });
|
|
79
|
+
this.inputs.set({ lookAt });
|
|
60
80
|
}
|
|
61
81
|
set performance(performance) {
|
|
62
|
-
this.set({ performance });
|
|
63
|
-
}
|
|
64
|
-
#glRef;
|
|
65
|
-
#glEnvInjector;
|
|
66
|
-
constructor() {
|
|
67
|
-
super({
|
|
68
|
-
shadows: false,
|
|
69
|
-
linear: false,
|
|
70
|
-
flat: false,
|
|
71
|
-
legacy: false,
|
|
72
|
-
orthographic: false,
|
|
73
|
-
frameloop: 'always',
|
|
74
|
-
dpr: [1, 2],
|
|
75
|
-
events: createPointerEvents,
|
|
76
|
-
});
|
|
77
|
-
this.#envInjector = inject(EnvironmentInjector);
|
|
78
|
-
this.#injector = inject(Injector);
|
|
79
|
-
this.#host = inject(ElementRef);
|
|
80
|
-
this.#zone = inject(NgZone);
|
|
81
|
-
this.#cdr = inject(ChangeDetectorRef);
|
|
82
|
-
this.#store = inject(NgtStore);
|
|
83
|
-
this.#isReady = this.#store.select('ready');
|
|
84
|
-
this.sceneGraphInputs = {};
|
|
85
|
-
this.compoundPrefixes = [];
|
|
86
|
-
this.created = new EventEmitter();
|
|
87
|
-
this.pointerMissed = new EventEmitter();
|
|
88
|
-
inject(DestroyRef).onDestroy(() => {
|
|
89
|
-
if (this.#glRef)
|
|
90
|
-
this.#glRef.destroy();
|
|
91
|
-
if (this.#glEnvInjector)
|
|
92
|
-
this.#glEnvInjector.destroy();
|
|
93
|
-
injectNgtLoader.destroy();
|
|
94
|
-
this.#store.destroy(this.glCanvas.nativeElement);
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
get hbPointerEvents() {
|
|
98
|
-
return this.select('eventSource')() !== this.#host.nativeElement ? 'none' : 'auto';
|
|
82
|
+
this.inputs.set({ performance });
|
|
99
83
|
}
|
|
100
84
|
ngOnChanges(changes) {
|
|
101
|
-
if (changes['sceneGraphInputs'] && !changes['sceneGraphInputs'].firstChange && this
|
|
102
|
-
this
|
|
85
|
+
if (changes['sceneGraphInputs'] && !changes['sceneGraphInputs'].firstChange && this.glRef) {
|
|
86
|
+
this.setSceneGraphInputs();
|
|
103
87
|
}
|
|
104
88
|
}
|
|
105
89
|
ngOnInit() {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
this
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
},
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
// setup NgtStore
|
|
119
|
-
this.#store.init();
|
|
120
|
-
// set rootStateMap
|
|
121
|
-
rootStateMap.set(this.glCanvas.nativeElement, this.#store);
|
|
122
|
-
// subscribe to store to listen for ready state
|
|
123
|
-
effect(() => {
|
|
124
|
-
this.#zone.runOutsideAngular(() => {
|
|
125
|
-
if (this.#isReady())
|
|
126
|
-
this.#storeReady();
|
|
127
|
-
});
|
|
128
|
-
}, { injector: this.#injector, allowSignalWrites: true });
|
|
90
|
+
// NOTE: we resolve glCanvas at this point, setup the configurator
|
|
91
|
+
this.configurator = this.initRoot(this.glCanvas.nativeElement);
|
|
92
|
+
this.destroyRef.onDestroy(() => {
|
|
93
|
+
this.glEnvironmentInjector?.destroy();
|
|
94
|
+
this.glRef?.destroy();
|
|
95
|
+
this.resizeEffectRef?.destroy();
|
|
96
|
+
injectNgtLoader.destroy();
|
|
97
|
+
this.configurator?.destroy();
|
|
98
|
+
});
|
|
129
99
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
100
|
+
// NOTE: runs outside of Zone due to emitInZone: false
|
|
101
|
+
onResize(result) {
|
|
102
|
+
if (result.width > 0 && result.height > 0) {
|
|
103
|
+
this.resizeEffectRef?.destroy();
|
|
104
|
+
const inputs = this.inputs.select();
|
|
105
|
+
// NOTE: go back into zone so that effect runs
|
|
106
|
+
// TODO: Double-check when effect is made not depended on zone
|
|
107
|
+
this.resizeEffectRef = this.zone.run(() => effect(() => {
|
|
108
|
+
this.zone.runOutsideAngular(() => {
|
|
109
|
+
if (!this.configurator)
|
|
110
|
+
this.configurator = this.initRoot(this.glCanvas.nativeElement);
|
|
111
|
+
this.configurator.configure({ ...inputs(), size: result });
|
|
112
|
+
if (this.glRef) {
|
|
113
|
+
this.cdr.detectChanges();
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
this.render();
|
|
117
|
+
}
|
|
144
118
|
});
|
|
145
|
-
}, {
|
|
119
|
+
}, { manualCleanup: true, injector: this.injector }));
|
|
146
120
|
}
|
|
147
121
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
const
|
|
122
|
+
render() {
|
|
123
|
+
this.glEnvironmentInjector?.destroy();
|
|
124
|
+
this.glRef?.destroy();
|
|
125
|
+
// Flag the canvas active, rendering will now begin
|
|
126
|
+
this.store.set((state) => ({ internal: { ...state.internal, active: true } }));
|
|
127
|
+
const inputs = this.inputs.get();
|
|
128
|
+
const state = this.store.get();
|
|
154
129
|
// connect to event source
|
|
155
|
-
state.events.connect?.(
|
|
156
|
-
|
|
130
|
+
state.events.connect?.(inputs.eventSource
|
|
131
|
+
? is.ref(inputs.eventSource)
|
|
132
|
+
? inputs.eventSource.nativeElement
|
|
133
|
+
: inputs.eventSource
|
|
134
|
+
: this.host.nativeElement);
|
|
135
|
+
// setup compute for eventPrefix
|
|
157
136
|
if (inputs.eventPrefix) {
|
|
158
137
|
state.setEvents({
|
|
159
138
|
compute: (event, store) => {
|
|
@@ -167,71 +146,65 @@ class NgtCanvas extends NgtSignalStore {
|
|
|
167
146
|
}
|
|
168
147
|
// emit created event if observed
|
|
169
148
|
if (this.created.observed) {
|
|
170
|
-
// but go back into zone to
|
|
171
|
-
this
|
|
172
|
-
this.created.emit(this
|
|
149
|
+
// but go back into zone to do so
|
|
150
|
+
this.zone.run(() => {
|
|
151
|
+
this.created.emit(this.store.get());
|
|
173
152
|
});
|
|
174
153
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
changeDetectorRef: this.#cdr,
|
|
183
|
-
compoundPrefixes: this.compoundPrefixes,
|
|
184
|
-
}),
|
|
185
|
-
], this.#envInjector);
|
|
186
|
-
this.#glRef = this.glAnchor.createComponent(this.sceneGraph, {
|
|
187
|
-
environmentInjector: this.#glEnvInjector,
|
|
188
|
-
});
|
|
189
|
-
this.#setSceneGraphInputs();
|
|
190
|
-
this.#overrideChangeDetectorRef();
|
|
191
|
-
safeDetectChanges(this.#cdr);
|
|
154
|
+
if (!this.store.get('events', 'connected')) {
|
|
155
|
+
this.store.get('events').connect?.(this.glCanvas.nativeElement);
|
|
156
|
+
}
|
|
157
|
+
this.glEnvironmentInjector = createEnvironmentInjector([provideNgtRenderer(this.store, this.compoundPrefixes, this.cdr)], this.environmentInjector);
|
|
158
|
+
this.glRef = this.viewContainerRef.createComponent(this.sceneGraph, {
|
|
159
|
+
environmentInjector: this.glEnvironmentInjector,
|
|
160
|
+
injector: this.injector,
|
|
192
161
|
});
|
|
162
|
+
this.overrideChangeDetectorRef();
|
|
163
|
+
this.setSceneGraphInputs();
|
|
193
164
|
}
|
|
194
|
-
|
|
195
|
-
const originalDetectChanges = this
|
|
196
|
-
this
|
|
165
|
+
overrideChangeDetectorRef() {
|
|
166
|
+
const originalDetectChanges = this.cdr.detectChanges.bind(this.cdr);
|
|
167
|
+
this.cdr.detectChanges = () => {
|
|
197
168
|
originalDetectChanges();
|
|
198
|
-
safeDetectChanges(this
|
|
169
|
+
safeDetectChanges(this.glRef?.changeDetectorRef);
|
|
199
170
|
};
|
|
200
171
|
}
|
|
201
|
-
|
|
202
|
-
this
|
|
203
|
-
if (this
|
|
172
|
+
setSceneGraphInputs() {
|
|
173
|
+
this.zone.run(() => {
|
|
174
|
+
if (this.glRef) {
|
|
204
175
|
for (const [key, value] of Object.entries(this.sceneGraphInputs)) {
|
|
205
|
-
this
|
|
176
|
+
this.glRef.setInput(key, value);
|
|
206
177
|
}
|
|
207
|
-
|
|
178
|
+
this.glRef.changeDetectorRef.detectChanges();
|
|
208
179
|
}
|
|
209
180
|
});
|
|
210
181
|
}
|
|
211
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
212
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
182
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtCanvas, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
183
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NgtCanvas, isStandalone: true, selector: "ngt-canvas", inputs: { sceneGraph: "sceneGraph", sceneGraphInputs: "sceneGraphInputs", compoundPrefixes: "compoundPrefixes", linear: "linear", legacy: "legacy", flat: "flat", orthographic: "orthographic", frameloop: "frameloop", dpr: "dpr", raycaster: "raycaster", shadows: "shadows", camera: "camera", scene: "scene", gl: "gl", eventSource: "eventSource", eventPrefix: "eventPrefix", lookAt: "lookAt", performance: "performance" }, outputs: { created: "created" }, host: { properties: { "style.pointerEvents": "hbPointerEvents()" }, styleAttribute: "display: block;position: relative;width: 100%;height: 100%;overflow: hidden;" }, providers: [provideNgxResizeOptions({ emitInZone: false, emitInitialResult: true }), provideNgtStore()], viewQueries: [{ propertyName: "glCanvas", first: true, predicate: ["glCanvas"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
184
|
+
<div (ngxResize)="onResize($event)" style="height: 100%; width: 100%;">
|
|
185
|
+
<canvas #glCanvas style="display: block;"> </canvas>
|
|
186
|
+
</div>
|
|
187
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgxResize, selector: "[ngxResize]", inputs: ["ngxResizeOptions"], outputs: ["ngxResize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
217
188
|
}
|
|
218
|
-
|
|
219
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgtCanvas, decorators: [{
|
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtCanvas, decorators: [{
|
|
220
190
|
type: Component,
|
|
221
191
|
args: [{
|
|
222
192
|
selector: 'ngt-canvas',
|
|
223
193
|
standalone: true,
|
|
224
194
|
template: `
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
195
|
+
<div (ngxResize)="onResize($event)" style="height: 100%; width: 100%;">
|
|
196
|
+
<canvas #glCanvas style="display: block;"> </canvas>
|
|
197
|
+
</div>
|
|
198
|
+
`,
|
|
229
199
|
imports: [NgxResize],
|
|
230
|
-
providers: [
|
|
231
|
-
host: {
|
|
200
|
+
providers: [provideNgxResizeOptions({ emitInZone: false, emitInitialResult: true }), provideNgtStore()],
|
|
201
|
+
host: {
|
|
202
|
+
style: 'display: block;position: relative;width: 100%;height: 100%;overflow: hidden;',
|
|
203
|
+
'[style.pointerEvents]': 'hbPointerEvents()',
|
|
204
|
+
},
|
|
232
205
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
233
206
|
}]
|
|
234
|
-
}],
|
|
207
|
+
}], propDecorators: { sceneGraph: [{
|
|
235
208
|
type: Input,
|
|
236
209
|
args: [{ required: true }]
|
|
237
210
|
}], sceneGraphInputs: [{
|
|
@@ -270,13 +243,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImpor
|
|
|
270
243
|
type: Input
|
|
271
244
|
}], created: [{
|
|
272
245
|
type: Output
|
|
273
|
-
}], pointerMissed: [{
|
|
274
|
-
type: Output
|
|
275
246
|
}], glCanvas: [{
|
|
276
247
|
type: ViewChild,
|
|
277
248
|
args: ['glCanvas', { static: true }]
|
|
278
|
-
}], glAnchor: [{
|
|
279
|
-
type: ViewChild,
|
|
280
|
-
args: ['glCanvas', { static: true, read: ViewContainerRef }]
|
|
281
249
|
}] } });
|
|
282
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlL3NyYy9saWIvY2FudmFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLE1BQU0sRUFDTixNQUFNLEdBTVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBd0IsTUFBTSxZQUFZLENBQUM7QUFDdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNoQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFaEUsTUFhYSxTQUFVLFNBQVEsY0FBK0I7SUFDakQsWUFBWSxDQUErQjtJQUMzQyxTQUFTLENBQW9CO0lBQzdCLEtBQUssQ0FBaUQ7SUFDdEQsS0FBSyxDQUFrQjtJQUN2QixJQUFJLENBQTZCO0lBQ2pDLE1BQU0sQ0FBb0I7SUFFMUIsUUFBUSxDQUErQjtJQU1oRCxJQUFhLE1BQU0sQ0FBQyxNQUFlO1FBQy9CLElBQUksQ0FBQyxHQUFH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QVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRU8sTUFBTTtzQkFBbEIsS0FBSztnQkFJTyxNQUFNO3NCQUFsQixLQUFLO2dCQUlPLElBQUk7c0JBQWhCLEtBQUs7Z0JBSU8sWUFBWTtzQkFBeEIsS0FBSztnQkFJTyxTQUFTO3NCQUFyQixLQUFLO2dCQUlPLEdBQUc7c0JBQWYsS0FBSztnQkFJTyxTQUFTO3NCQUFyQixLQUFLO2dCQUlPLE9BQU87c0JBQW5CLEtBQUs7Z0JBSU8sTUFBTTtzQkFBbEIsS0FBSztnQkFJTyxLQUFLO3NCQUFqQixLQUFLO2dCQUlPLEVBQUU7c0JBQWQsS0FBSztnQkFJTyxXQUFXO3NCQUF2QixLQUFLO2dCQUlPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBSU8sTUFBTTtzQkFBbEIsS0FBSztnQkFJTyxXQUFXO3NCQUF2QixLQUFLO2dCQUlJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFFa0MsUUFBUTtzQkFBaEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUMwQixRQUFRO3NCQUF4RSxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEVudmlyb25tZW50SW5qZWN0b3IsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgY3JlYXRlRW52aXJvbm1lbnRJbmplY3RvcixcbiAgICBlZmZlY3QsXG4gICAgaW5qZWN0LFxuICAgIHR5cGUgQ29tcG9uZW50UmVmLFxuICAgIHR5cGUgT25DaGFuZ2VzLFxuICAgIHR5cGUgT25Jbml0LFxuICAgIHR5cGUgU2ltcGxlQ2hhbmdlcyxcbiAgICB0eXBlIFR5cGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd4UmVzaXplLCBwcm92aWRlTmd4UmVzaXplT3B0aW9ucywgdHlwZSBOZ3hSZXNpemVSZXN1bHQgfSBmcm9tICduZ3gtcmVzaXplJztcbmltcG9ydCB7IGNyZWF0ZVBvaW50ZXJFdmVudHMgfSBmcm9tICcuL2RvbS9ldmVudHMnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0TG9hZGVyIH0gZnJvbSAnLi9sb2FkZXInO1xuaW1wb3J0IHsgcHJvdmlkZU5ndFJlbmRlcmVyIH0gZnJvbSAnLi9yZW5kZXJlci9wcm92aWRlcic7XG5pbXBvcnQgeyBOZ3RTaWduYWxTdG9yZSB9IGZyb20gJy4vc3RvcmVzL3NpZ25hbC5zdG9yZSc7XG5pbXBvcnQgeyBOZ3RTdG9yZSwgcm9vdFN0YXRlTWFwIH0gZnJvbSAnLi9zdG9yZXMvc3RvcmUnO1xuaW1wb3J0IHR5cGUgeyBOZ3RBbnlSZWNvcmQsIE5ndENhbnZhc0lucHV0cywgTmd0RG9tRXZlbnQsIE5ndERwciwgTmd0U3RhdGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi91dGlscy9pcyc7XG5pbXBvcnQgeyBzYWZlRGV0ZWN0Q2hhbmdlcyB9IGZyb20gJy4vdXRpbHMvc2FmZS1kZXRlY3QtY2hhbmdlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0LWNhbnZhcycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IChuZ3hSZXNpemUpPVwib25SZXNpemUoJGV2ZW50KVwiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTtcIj5cbiAgICAgICAgICAgIDxjYW52YXMgI2dsQ2FudmFzIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7XCI+IDwvY2FudmFzPlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ3hSZXNpemVdLFxuICAgIHByb3ZpZGVyczogW05ndFN0b3JlLCBwcm92aWRlTmd4UmVzaXplT3B0aW9ucyh7IGVtaXRJblpvbmU6IGZhbHNlLCBlbWl0SW5pdGlhbFJlc3VsdDogdHJ1ZSB9KV0sXG4gICAgaG9zdDogeyBzdHlsZTogJ2Rpc3BsYXk6IGJsb2NrO3Bvc2l0aW9uOiByZWxhdGl2ZTt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7b3ZlcmZsb3c6IGhpZGRlbjsnIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndENhbnZhcyBleHRlbmRzIE5ndFNpZ25hbFN0b3JlPE5ndENhbnZhc0lucHV0cz4gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcmVhZG9ubHkgI2VudkluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpO1xuICAgIHJlYWRvbmx5ICNpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgcmVhZG9ubHkgI2hvc3QgPSBpbmplY3QoRWxlbWVudFJlZikgYXMgRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gICAgcmVhZG9ubHkgI3pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICByZWFkb25seSAjY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICByZWFkb25seSAjc3RvcmUgPSBpbmplY3QoTmd0U3RvcmUpO1xuXG4gICAgcmVhZG9ubHkgI2lzUmVhZHkgPSB0aGlzLiNzdG9yZS5zZWxlY3QoJ3JlYWR5Jyk7XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzY2VuZUdyYXBoITogVHlwZTx1bmtub3duPjtcbiAgICBASW5wdXQoKSBzY2VuZUdyYXBoSW5wdXRzOiBOZ3RBbnlSZWNvcmQgPSB7fTtcbiAgICBASW5wdXQoKSBjb21wb3VuZFByZWZpeGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgQElucHV0KCkgc2V0IGxpbmVhcihsaW5lYXI6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBsaW5lYXIgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGxlZ2FjeShsZWdhY3k6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBsZWdhY3kgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGZsYXQoZmxhdDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IGZsYXQgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG9ydGhvZ3JhcGhpYyhvcnRob2dyYXBoaWM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBvcnRob2dyYXBoaWMgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGZyYW1lbG9vcChmcmFtZWxvb3A6IE5ndENhbnZhc0lucHV0c1snZnJhbWVsb29wJ10pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBmcmFtZWxvb3AgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGRwcihkcHI6IE5ndERwcikge1xuICAgICAgICB0aGlzLnNldCh7IGRwciB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgcmF5Y2FzdGVyKHJheWNhc3RlcjogUGFydGlhbDxUSFJFRS5SYXljYXN0ZXI+KSB7XG4gICAgICAgIHRoaXMuc2V0KHsgcmF5Y2FzdGVyIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBzaGFkb3dzKHNoYWRvd3M6IGJvb2xlYW4gfCBQYXJ0aWFsPFRIUkVFLldlYkdMU2hhZG93TWFwPikge1xuICAgICAgICB0aGlzLnNldCh7IHNoYWRvd3MgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGNhbWVyYShjYW1lcmE6IE5ndENhbnZhc0lucHV0c1snY2FtZXJhJ10pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBjYW1lcmEgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNjZW5lKHNjZW5lOiBOZ3RDYW52YXNJbnB1dHNbJ3NjZW5lJ10pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBzY2VuZSB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZ2woZ2w6IE5ndENhbnZhc0lucHV0c1snZ2wnXSkge1xuICAgICAgICB0aGlzLnNldCh7IGdsIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBldmVudFNvdXJjZShldmVudFNvdXJjZTogTmd0Q2FudmFzSW5wdXRzWydldmVudFNvdXJjZSddKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZXZlbnRTb3VyY2UgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGV2ZW50UHJlZml4KGV2ZW50UHJlZml4OiBOZ3RDYW52YXNJbnB1dHNbJ2V2ZW50UHJlZml4J10pIHtcbiAgICAgICAgdGhpcy5zZXQoeyBldmVudFByZWZpeCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbG9va0F0KGxvb2tBdDogTmd0Q2FudmFzSW5wdXRzWydsb29rQXQnXSkge1xuICAgICAgICB0aGlzLnNldCh7IGxvb2tBdCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgcGVyZm9ybWFuY2UocGVyZm9ybWFuY2U6IE5ndENhbnZhc0lucHV0c1sncGVyZm9ybWFuY2UnXSkge1xuICAgICAgICB0aGlzLnNldCh7IHBlcmZvcm1hbmNlIH0pO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSBjcmVhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxOZ3RTdGF0ZT4oKTtcbiAgICBAT3V0cHV0KCkgcG9pbnRlck1pc3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2dsQ2FudmFzJywgeyBzdGF0aWM6IHRydWUgfSkgZ2xDYW52YXMhOiBFbGVtZW50UmVmPEhUTUxDYW52YXNFbGVtZW50PjtcbiAgICBAVmlld0NoaWxkKCdnbENhbnZhcycsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGdsQW5jaG9yITogVmlld0NvbnRhaW5lclJlZjtcblxuICAgICNnbFJlZj86IENvbXBvbmVudFJlZjx1bmtub3duPjtcbiAgICAjZ2xFbnZJbmplY3Rvcj86IEVudmlyb25tZW50SW5qZWN0b3I7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgc2hhZG93czogZmFsc2UsXG4gICAgICAgICAgICBsaW5lYXI6IGZhbHNlLFxuICAgICAgICAgICAgZmxhdDogZmFsc2UsXG4gICAgICAgICAgICBsZWdhY3k6IGZhbHNlLFxuICAgICAgICAgICAgb3J0aG9ncmFwaGljOiBmYWxzZSxcbiAgICAgICAgICAgIGZyYW1lbG9vcDogJ2Fsd2F5cycsXG4gICAgICAgICAgICBkcHI6IFsxLCAyXSxcbiAgICAgICAgICAgIGV2ZW50czogY3JlYXRlUG9pbnRlckV2ZW50cyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaW5qZWN0KERlc3Ryb3lSZWYpLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy4jZ2xSZWYpIHRoaXMuI2dsUmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIGlmICh0aGlzLiNnbEVudkluamVjdG9yKSB0aGlzLiNnbEVudkluamVjdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIGluamVjdE5ndExvYWRlci5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLiNzdG9yZS5kZXN0cm95KHRoaXMuZ2xDYW52YXMubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBoYlBvaW50ZXJFdmVudHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdCgnZXZlbnRTb3VyY2UnKSgpICE9PSB0aGlzLiNob3N0Lm5hdGl2ZUVsZW1lbnQgPyAnbm9uZScgOiAnYXV0byc7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlc1snc2NlbmVHcmFwaElucHV0cyddICYmICFjaGFuZ2VzWydzY2VuZUdyYXBoSW5wdXRzJ10uZmlyc3RDaGFuZ2UgJiYgdGhpcy4jZ2xSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuI3NldFNjZW5lR3JhcGhJbnB1dHMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZ2V0KCdldmVudFNvdXJjZScpKSB7XG4gICAgICAgICAgICAvLyBzZXQgZGVmYXVsdCBldmVudCBzb3VyY2UgdG8gdGhlIGhvc3QgZWxlbWVudFxuICAgICAgICAgICAgdGhpcy5zZXQoeyBldmVudFNvdXJjZTogdGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50IH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucG9pbnRlck1pc3NlZC5vYnNlcnZlZCkge1xuICAgICAgICAgICAgdGhpcy4jc3RvcmUuc2V0KHtcbiAgICAgICAgICAgICAgICBvblBvaW50ZXJNaXNzZWQ6IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvaW50ZXJNaXNzZWQuZW1pdChldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIHNhZmVEZXRlY3RDaGFuZ2VzKHRoaXMuI2Nkcik7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2V0dXAgTmd0U3RvcmVcbiAgICAgICAgdGhpcy4jc3RvcmUuaW5pdCgpO1xuXG4gICAgICAgIC8vIHNldCByb290U3RhdGVNYXBcbiAgICAgICAgcm9vdFN0YXRlTWFwLnNldCh0aGlzLmdsQ2FudmFzLm5hdGl2ZUVsZW1lbnQsIHRoaXMuI3N0b3JlKTtcblxuICAgICAgICAvLyBzdWJzY3JpYmUgdG8gc3RvcmUgdG8gbGlzdGVuIGZvciByZWFkeSBzdGF0ZVxuICAgICAgICBlZmZlY3QoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy4jem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLiNpc1JlYWR5KCkpIHRoaXMuI3N0b3JlUmVhZHkoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGluamVjdG9yOiB0aGlzLiNpbmplY3RvciwgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgICNyZXNpemVSZWY/OiBSZXR1cm5UeXBlPHR5cGVvZiBlZmZlY3Q+O1xuICAgIC8vIE5PVEU6IHRoaXMgaXMgaW52b2tlZCBvdXRzaWRlIG9mIEFuZ3VsYXIgWm9uZVxuICAgIG9uUmVzaXplKHsgd2lkdGgsIGhlaWdodCwgdG9wLCBsZWZ0IH06IE5neFJlc2l6ZVJlc3VsdCkge1xuICAgICAgICAvLyBkZXN0cm95IHByZXZpb3VzIGVmZmVjdFxuICAgICAgICBpZiAodGhpcy4jcmVzaXplUmVmKSB7XG4gICAgICAgICAgICB0aGlzLiNyZXNpemVSZWYuZGVzdHJveSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHdpZHRoID4gMCAmJiBoZWlnaHQgPiAwKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuI3N0b3JlLmlzSW5pdCkgdGhpcy4jc3RvcmUuaW5pdCgpO1xuICAgICAgICAgICAgdGhpcy4jcmVzaXplUmVmID0gdGhpcy4jem9uZS5ydW4oKCkgPT5cbiAgICAgICAgICAgICAgICBlZmZlY3QoXG4gICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNhbnZhc0lucHV0cyA9IHRoaXMuc3RhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuI3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuI3N0b3JlLmNvbmZpZ3VyZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAuLi5jYW52YXNJbnB1dHMsIHNpemU6IHsgd2lkdGgsIGhlaWdodCwgdG9wLCBsZWZ0IH0gfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nbENhbnZhcy5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7IGluamVjdG9yOiB0aGlzLiNpbmplY3RvciwgbWFudWFsQ2xlYW51cDogdHJ1ZSwgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOT1RFOiBUaGlzIGlzIGludm9rZWQgb3V0c2lkZSBvZiBBbmd1bGFyIFpvbmVcbiAgICAjc3RvcmVSZWFkeSgpIHtcbiAgICAgICAgLy8gY2FudmFzIGlzIHJlYWR5LCBsZXQncyBhY3RpdmF0ZSB0aGUgbG9vcFxuICAgICAgICB0aGlzLiNzdG9yZS5zZXQoKHN0YXRlKSA9PiAoeyBpbnRlcm5hbDogeyAuLi5zdGF0ZS5pbnRlcm5hbCwgYWN0aXZlOiB0cnVlIH0gfSkpO1xuXG4gICAgICAgIGNvbnN0IGlucHV0cyA9IHRoaXMuZ2V0KCk7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy4jc3RvcmUuZ2V0KCk7XG5cbiAgICAgICAgLy8gY29ubmVjdCB0byBldmVudCBzb3VyY2VcbiAgICAgICAgc3RhdGUuZXZlbnRzLmNvbm5lY3Q/Lihpcy5yZWYoaW5wdXRzLmV2ZW50U291cmNlKSA/IGlucHV0cy5ldmVudFNvdXJjZS5uYXRpdmVFbGVtZW50IDogaW5wdXRzLmV2ZW50U291cmNlKTtcblxuICAgICAgICAvLyBzZXR1cCBjb21wdXRlIGZ1bmN0aW9uIGZvciBldmVudHNcbiAgICAgICAgaWYgKGlucHV0cy5ldmVudFByZWZpeCkge1xuICAgICAgICAgICAgc3RhdGUuc2V0RXZlbnRzKHtcbiAgICAgICAgICAgICAgICBjb21wdXRlOiAoZXZlbnQsIHN0b3JlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlubmVyU3RhdGUgPSBzdG9yZS5nZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeCA9IGV2ZW50WyhpbnB1dHMuZXZlbnRQcmVmaXggKyAnWCcpIGFzIGtleW9mIE5ndERvbUV2ZW50XSBhcyBudW1iZXI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHkgPSBldmVudFsoaW5wdXRzLmV2ZW50UHJlZml4ICsgJ1knKSBhcyBrZXlvZiBOZ3REb21FdmVudF0gYXMgbnVtYmVyO1xuICAgICAgICAgICAgICAgICAgICBpbm5lclN0YXRlLnBvaW50ZXIuc2V0KCh4IC8gaW5uZXJTdGF0ZS5zaXplLndpZHRoKSAqIDIgLSAxLCAtKHkgLyBpbm5lclN0YXRlLnNpemUuaGVpZ2h0KSAqIDIgKyAxKTtcbiAgICAgICAgICAgICAgICAgICAgaW5uZXJTdGF0ZS5yYXljYXN0ZXIuc2V0RnJvbUNhbWVyYShpbm5lclN0YXRlLnBvaW50ZXIsIGlubmVyU3RhdGUuY2FtZXJhKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBlbWl0IGNyZWF0ZWQgZXZlbnQgaWYgb2JzZXJ2ZWRcbiAgICAgICAgaWYgKHRoaXMuY3JlYXRlZC5vYnNlcnZlZCkge1xuICAgICAgICAgICAgLy8gYnV0IGdvIGJhY2sgaW50byB6b25lIHRvIHJ1biBpdFxuICAgICAgICAgICAgdGhpcy4jem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlZC5lbWl0KHRoaXMuI3N0b3JlLmdldCgpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmVuZGVyXG4gICAgICAgIGlmICh0aGlzLiNnbFJlZikgdGhpcy4jZ2xSZWYuZGVzdHJveSgpO1xuXG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLiNnbEVudkluamVjdG9yID0gY3JlYXRlRW52aXJvbm1lbnRJbmplY3RvcihcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGVOZ3RSZW5kZXJlcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9yZTogdGhpcy4jc3RvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZjogdGhpcy4jY2RyLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG91bmRQcmVmaXhlczogdGhpcy5jb21wb3VuZFByZWZpeGVzLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHRoaXMuI2VudkluamVjdG9yXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLiNnbFJlZiA9IHRoaXMuZ2xBbmNob3IuY3JlYXRlQ29tcG9uZW50KHRoaXMuc2NlbmVHcmFwaCwge1xuICAgICAgICAgICAgICAgIGVudmlyb25tZW50SW5qZWN0b3I6IHRoaXMuI2dsRW52SW5qZWN0b3IsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuI3NldFNjZW5lR3JhcGhJbnB1dHMoKTtcbiAgICAgICAgICAgIHRoaXMuI292ZXJyaWRlQ2hhbmdlRGV0ZWN0b3JSZWYoKTtcbiAgICAgICAgICAgIHNhZmVEZXRlY3RDaGFuZ2VzKHRoaXMuI2Nkcik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgICNvdmVycmlkZUNoYW5nZURldGVjdG9yUmVmKCkge1xuICAgICAgICBjb25zdCBvcmlnaW5hbERldGVjdENoYW5nZXMgPSB0aGlzLiNjZHIuZGV0ZWN0Q2hhbmdlcy5iaW5kKHRoaXMuI2Nkcik7XG4gICAgICAgIHRoaXMuI2Nkci5kZXRlY3RDaGFuZ2VzID0gKCkgPT4ge1xuICAgICAgICAgICAgb3JpZ2luYWxEZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICBzYWZlRGV0ZWN0Q2hhbmdlcyh0aGlzLiNnbFJlZj8uY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgICNzZXRTY2VuZUdyYXBoSW5wdXRzKCkge1xuICAgICAgICB0aGlzLiN6b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy4jZ2xSZWYpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLnNjZW5lR3JhcGhJbnB1dHMpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuI2dsUmVmLnNldElucHV0KGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzYWZlRGV0ZWN0Q2hhbmdlcyh0aGlzLiNnbFJlZi5jaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY2FudmFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLHlCQUF5QixFQUN6QixNQUFNLEVBQ04sTUFBTSxHQU9OLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQXdCLE1BQU0sWUFBWSxDQUFDO0FBRXRGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNoRCxPQUFPLEVBQUUsMkJBQTJCLEVBQThCLE1BQU0sU0FBUyxDQUFDO0FBQ2xGLE9BQU8sRUFDTixjQUFjLEVBQ2QsZUFBZSxHQU1mLE1BQU0sU0FBUyxDQUFDO0FBR2pCLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBdUIsTUFBTSxzQkFBc0IsQ0FBQzs7QUFvRnhFLE1BQU0sT0FBTyxTQUFTO0lBaEJ0QjtRQWlCUyxVQUFLLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFDekIsYUFBUSxHQUFHLDJCQUEyQixFQUFFLENBQUM7UUFFekMsU0FBSSxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFDbkQscUJBQWdCLEdB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QUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdENvbXBvbmVudCxcblx0RGVzdHJveVJlZixcblx0RWxlbWVudFJlZixcblx0RW52aXJvbm1lbnRJbmplY3Rvcixcblx0RXZlbnRFbWl0dGVyLFxuXHRJbmplY3Rvcixcblx0SW5wdXQsXG5cdE5nWm9uZSxcblx0T3V0cHV0LFxuXHRWaWV3Q2hpbGQsXG5cdFZpZXdDb250YWluZXJSZWYsXG5cdGNvbXB1dGVkLFxuXHRjcmVhdGVFbnZpcm9ubWVudEluamVjdG9yLFxuXHRlZmZlY3QsXG5cdGluamVjdCxcblx0dHlwZSBDb21wb25lbnRSZWYsXG5cdHR5cGUgRWZmZWN0UmVmLFxuXHR0eXBlIE9uQ2hhbmdlcyxcblx0dHlwZSBPbkluaXQsXG5cdHR5cGUgU2ltcGxlQ2hhbmdlcyxcblx0dHlwZSBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neFJlc2l6ZSwgcHJvdmlkZU5neFJlc2l6ZU9wdGlvbnMsIHR5cGUgTmd4UmVzaXplUmVzdWx0IH0gZnJvbSAnbmd4LXJlc2l6ZSc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBjcmVhdGVQb2ludGVyRXZlbnRzIH0gZnJvbSAnLi9kb20vZXZlbnRzJztcbmltcG9ydCB0eXBlIHsgTmd0Q2FtZXJhLCBOZ3REb21FdmVudCwgTmd0RXZlbnRNYW5hZ2VyIH0gZnJvbSAnLi9ldmVudHMnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0TG9hZGVyIH0gZnJvbSAnLi9sb2FkZXInO1xuaW1wb3J0IHsgcHJvdmlkZU5ndFJlbmRlcmVyIH0gZnJvbSAnLi9yZW5kZXJlcic7XG5pbXBvcnQgeyBpbmplY3RDYW52YXNSb290SW5pdGlhbGl6ZXIsIHR5cGUgTmd0Q2FudmFzQ29uZmlndXJhdG9yIH0gZnJvbSAnLi9yb290cyc7XG5pbXBvcnQge1xuXHRpbmplY3ROZ3RTdG9yZSxcblx0cHJvdmlkZU5ndFN0b3JlLFxuXHR0eXBlIE5ndERwcixcblx0dHlwZSBOZ3RQZXJmb3JtYW5jZSxcblx0dHlwZSBOZ3RSZW5kZXJlcixcblx0dHlwZSBOZ3RTaXplLFxuXHR0eXBlIE5ndFN0YXRlLFxufSBmcm9tICcuL3N0b3JlJztcbmltcG9ydCB0eXBlIHsgTmd0T2JqZWN0M0ROb2RlIH0gZnJvbSAnLi90aHJlZS10eXBlcyc7XG5pbXBvcnQgdHlwZSB7IE5ndEFueVJlY29yZCwgTmd0UHJvcGVydGllcyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgaXMgfSBmcm9tICcuL3V0aWxzL2lzJztcbmltcG9ydCB7IHNhZmVEZXRlY3RDaGFuZ2VzIH0gZnJvbSAnLi91dGlscy9zYWZlLWRldGVjdC1jaGFuZ2VzJztcbmltcG9ydCB7IHNpZ25hbFN0b3JlLCB0eXBlIE5ndFNpZ25hbFN0b3JlIH0gZnJvbSAnLi91dGlscy9zaWduYWwtc3RvcmUnO1xuXG5leHBvcnQgdHlwZSBOZ3RHTE9wdGlvbnMgPVxuXHR8IE5ndFJlbmRlcmVyXG5cdHwgKChjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50KSA9PiBOZ3RSZW5kZXJlcilcblx0fCBQYXJ0aWFsPE5ndFByb3BlcnRpZXM8VEhSRUUuV2ViR0xSZW5kZXJlcj4gfCBUSFJFRS5XZWJHTFJlbmRlcmVyUGFyYW1ldGVycz5cblx0fCB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIE5ndENhbnZhc0lucHV0cyA9IHtcblx0LyoqIEEgdGhyZWVqcyByZW5kZXJlciBpbnN0YW5jZSBvciBwcm9wcyB0aGF0IGdvIGludG8gdGhlIGRlZmF1bHQgcmVuZGVyZXIgKi9cblx0Z2w/OiBOZ3RHTE9wdGlvbnM7XG5cdHNpemU/OiBOZ3RTaXplO1xuXG5cdC8qKlxuXHQgKiBFbmFibGVzIHNoYWRvd3MgKGJ5IGRlZmF1bHQgUENGc29mdCkuIENhbiBhY2NlcHQgYGdsLnNoYWRvd01hcGAgb3B0aW9ucyBmb3IgZmluZS10dW5pbmcsXG5cdCAqIGJ1dCBhbHNvIHN0cmluZ3M6ICdiYXNpYycgfCAncGVyY2VudGFnZScgfCAnc29mdCcgfCAndmFyaWFuY2UnLlxuXHQgKiBAc2VlIGh0dHBzOi8vdGhyZWVqcy5vcmcvZG9jcy8jYXBpL2VuL3JlbmRlcmVycy9XZWJHTFJlbmRlcmVyLnNoYWRvd01hcFxuXHQgKi9cblx0c2hhZG93cz86IGJvb2xlYW4gfCAnYmFzaWMnIHwgJ3BlcmNlbnRhZ2UnIHwgJ3NvZnQnIHwgJ3ZhcmlhbmNlJyB8IFBhcnRpYWw8VEhSRUUuV2ViR0xTaGFkb3dNYXA+O1xuXHQvKipcblx0ICogRGlzYWJsZXMgdGhyZWUgcjEzOSBjb2xvciBtYW5hZ2VtZW50LlxuXHQgKiBAc2VlIGh0dHBzOi8vdGhyZWVqcy5vcmcvZG9jcy8jbWFudWFsL2VuL2ludHJvZHVjdGlvbi9Db2xvci1tYW5hZ2VtZW50XG5cdCAqL1xuXHRsZWdhY3k/OiBib29sZWFuO1xuXHQvKiogU3dpdGNoIG9mZiBhdXRvbWF0aWMgc1JHQiBlbmNvZGluZyBhbmQgZ2FtbWEgY29ycmVjdGlvbiAqL1xuXHRsaW5lYXI/OiBib29sZWFuO1xuXHQvKiogVXNlIGBUSFJFRS5Ob1RvbmVNYXBwaW5nYCBpbnN0ZWFkIG9mIGBUSFJFRS5BQ0VTRmlsbWljVG9uZU1hcHBpbmdgICovXG5cdGZsYXQ/OiBib29sZWFuO1xuXHQvKiogQ3JlYXRlcyBhbiBvcnRob2dyYXBoaWMgY2FtZXJhICovXG5cdG9ydGhvZ3JhcGhpYz86IGJvb2xlYW47XG5cdC8qKlxuXHQgKiBSM0YncyByZW5kZXIgbW9kZS4gU2V0IHRvIGBkZW1hbmRgIHRvIG9ubHkgcmVuZGVyIG9uIHN0YXRlIGNoYW5nZSBvciBgbmV2ZXJgIHRvIHRha2UgY29udHJvbC5cblx0ICogQHNlZSBodHRwczovL2RvY3MucG1uZC5ycy9yZWFjdC10aHJlZS1maWJlci9hZHZhbmNlZC9zY2FsaW5nLXBlcmZvcm1hbmNlI29uLWRlbWFuZC1yZW5kZXJpbmdcblx0ICovXG5cdGZyYW1lbG9vcD86ICdhbHdheXMnIHwgJ2RlbWFuZCcgfCAnbmV2ZXInO1xuXHQvKipcblx0ICogUjNGIHBlcmZvcm1hbmNlIG9wdGlvbnMgZm9yIGFkYXB0aXZlIHBlcmZvcm1hbmNlLlxuXHQgKiBAc2VlIGh0dHBzOi8vZG9jcy5wbW5kLnJzL3JlYWN0LXRocmVlLWZpYmVyL2FkdmFuY2VkL3NjYWxpbmctcGVyZm9ybWFuY2UjbW92ZW1lbnQtcmVncmVzc2lvblxuXHQgKi9cblx0cGVyZm9ybWFuY2U/OiBQYXJ0aWFsPE9taXQ8Tmd0UGVyZm9ybWFuY2UsICdyZWdyZXNzJz4+O1xuXHQvKiogVGFyZ2V0IHBpeGVsIHJhdGlvLiBDYW4gY2xhbXAgYmV0d2VlbiBhIHJhbmdlOiBgW21pbiwgbWF4XWAgKi9cblx0ZHByPzogTmd0RHByO1xuXHQvKiogUHJvcHMgdGhhdCBnbyBpbnRvIHRoZSBkZWZhdWx0IHJheWNhc3RlciAqL1xuXHRyYXljYXN0ZXI/OiBQYXJ0aWFsPFRIUkVFLlJheWNhc3Rlcj47XG5cdC8qKiBBIGBUSFJFRS5TY2VuZWAgaW5zdGFuY2Ugb3IgcHJvcHMgdGhhdCBnbyBpbnRvIHRoZSBkZWZhdWx0IHNjZW5lICovXG5cdHNjZW5lPzogVEhSRUUuU2NlbmUgfCBQYXJ0aWFsPFRIUkVFLlNjZW5lPjtcblx0LyoqIEEgYENhbWVyYWAgaW5zdGFuY2Ugb3IgcHJvcHMgdGhhdCBnbyBpbnRvIHRoZSBkZWZhdWx0IGNhbWVyYSAqL1xuXHRjYW1lcmE/OiAoXG5cdFx0fCBOZ3RDYW1lcmFcblx0XHR8IFBhcnRpYWw8XG5cdFx0XHRcdE5ndE9iamVjdDNETm9kZTxUSFJFRS5DYW1lcmEsIHR5cGVvZiBUSFJFRS5DYW1lcmE+ICZcblx0XHRcdFx0XHROZ3RPYmplY3QzRE5vZGU8VEhSRUUuUGVyc3BlY3RpdmVDYW1lcmEsIHR5cGVvZiBUSFJFRS5QZXJzcGVjdGl2ZUNhbWVyYT4gJlxuXHRcdFx0XHRcdE5ndE9iamVjdDNETm9kZTxUSFJFRS5PcnRob2dyYXBoaWNDYW1lcmEsIHR5cGVvZiBUSFJFRS5PcnRob2dyYXBoaWNDYW1lcmE+XG5cdFx0ICA+XG5cdCkgJiB7XG5cdFx0LyoqIEZsYWdzIHRoZSBjYW1lcmEgYXMgbWFudWFsLCBwdXR0aW5nIHByb2plY3Rpb24gaW50byB5b3VyIG93biBoYW5kcyAqL1xuXHRcdG1hbnVhbD86IGJvb2xlYW47XG5cdH07XG5cdC8qKiBBbiBSM0YgZXZlbnQgbWFuYWdlciB0byBtYW5hZ2UgZWxlbWVudHMnIHBvaW50ZXIgZXZlbnRzICovXG5cdGV2ZW50cz86IChzdG9yZTogTmd0U2lnbmFsU3RvcmU8Tmd0U3RhdGU+KSA9PiBOZ3RFdmVudE1hbmFnZXI8SFRNTEVsZW1lbnQ+O1xuXHQvKiogVGhlIHRhcmdldCB3aGVyZSBldmVudHMgYXJlIGJlaW5nIHN1YnNjcmliZWQgdG8sIGRlZmF1bHQ6IHRoZSBkaXYgdGhhdCB3cmFwcyBjYW52YXMgKi9cblx0ZXZlbnRTb3VyY2U/OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXHQvKiogVGhlIGV2ZW50IHByZWZpeCB0aGF0IGlzIGNhc3QgaW50byBjYW52YXMgcG9pbnRlciB4L3kgZXZlbnRzLCBkZWZhdWx0OiBcIm9mZnNldFwiICovXG5cdGV2ZW50UHJlZml4PzogJ29mZnNldCcgfCAnY2xpZW50JyB8ICdwYWdlJyB8ICdsYXllcicgfCAnc2NyZWVuJztcblx0LyoqIERlZmF1bHQgY29vcmRpbmF0ZSBmb3IgdGhlIGNhbWVyYSB0byBsb29rIGF0ICovXG5cdGxvb2tBdD86IFRIUkVFLlZlY3RvcjMgfCBQYXJhbWV0ZXJzPFRIUkVFLlZlY3RvcjNbJ3NldCddPjtcbn07XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndC1jYW52YXMnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxkaXYgKG5neFJlc2l6ZSk9XCJvblJlc2l6ZSgkZXZlbnQpXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlO1wiPlxuXHRcdFx0PGNhbnZhcyAjZ2xDYW52YXMgc3R5bGU9XCJkaXNwbGF5OiBibG9jaztcIj4gPC9jYW52YXM+XG5cdFx0PC9kaXY+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ3hSZXNpemVdLFxuXHRwcm92aWRlcnM6IFtwcm92aWRlTmd4UmVzaXplT3B0aW9ucyh7IGVtaXRJblpvbmU6IGZhbHNlLCBlbWl0SW5pdGlhbFJlc3VsdDogdHJ1ZSB9KSwgcHJvdmlkZU5ndFN0b3JlKCldLFxuXHRob3N0OiB7XG5cdFx0c3R5bGU6ICdkaXNwbGF5OiBibG9jaztwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO292ZXJmbG93OiBoaWRkZW47Jyxcblx0XHQnW3N0eWxlLnBvaW50ZXJFdmVudHNdJzogJ2hiUG9pbnRlckV2ZW50cygpJyxcblx0fSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndENhbnZhcyBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdE5ndFN0b3JlKCk7XG5cdHByaXZhdGUgaW5pdFJvb3QgPSBpbmplY3RDYW52YXNSb290SW5pdGlhbGl6ZXIoKTtcblxuXHRwcml2YXRlIGhvc3QgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXHRwcml2YXRlIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cdHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXHRwcml2YXRlIGVudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG5cdHByaXZhdGUgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuXHRwcml2YXRlIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cdHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuXHRwcml2YXRlIGlucHV0cyA9IHNpZ25hbFN0b3JlPE5ndENhbnZhc0lucHV0cz4oe1xuXHRcdHNoYWRvd3M6IGZhbHNlLFxuXHRcdGxpbmVhcjogZmFsc2UsXG5cdFx0ZmxhdDogZmFsc2UsXG5cdFx0bGVnYWN5OiBmYWxzZSxcblx0XHRvcnRob2dyYXBoaWM6IGZhbHNlLFxuXHRcdGZyYW1lbG9vcDogJ2Fsd2F5cycsXG5cdFx0ZHByOiBbMSwgMl0sXG5cdFx0ZXZlbnRzOiBjcmVhdGVQb2ludGVyRXZlbnRzLFxuXHR9KTtcblxuXHRASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzY2VuZUdyYXBoITogVHlwZTx1bmtub3duPjtcblx0QElucHV0KCkgc2NlbmVHcmFwaElucHV0czogTmd0QW55UmVjb3JkID0ge307XG5cdEBJbnB1dCgpIGNvbXBvdW5kUHJlZml4ZXM6IHN0cmluZ1tdID0gW107XG5cblx0QElucHV0KCkgc2V0IGxpbmVhcihsaW5lYXI6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBsaW5lYXIgfSk7XG5cdH1cblxuXHRASW5wdXQoKSBzZXQgbGVnYWN5KGxlZ2FjeTogYm9vbGVhbikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGxlZ2FjeSB9KTtcblx0fVxuXG5cdEBJbnB1dCgpIHNldCBmbGF0KGZsYXQ6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBmbGF0IH0pO1xuXHR9XG5cblx0QElucHV0KCkgc2V0IG9ydGhvZ3JhcGhpYyhvcnRob2dyYXBoaWM6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBvcnRob2dyYXBoaWMgfSk7XG5cdH1cblxuXHRASW5wdXQoKSBzZXQgZnJhbWVsb29wKGZyYW1lbG9vcDogTmd0Q2FudmFzSW5wdXRzWydmcmFtZWxvb3AnXSkge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGZyYW1lbG9vcCB9KTtcblx0fVxuXG5cdEBJbnB1dCgpIHNldCBkcHIoZHByOiBOZ3REcHIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBkcHIgfSk7XG5cdH1cblxuXHRASW5wdXQoKSBzZXQgcmF5Y2FzdGVyKHJheWNhc3RlcjogUGFydGlhbDxUSFJFRS5SYXljYXN0ZXI+KSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgcmF5Y2FzdGVyIH0pO1xuXHR9XG5cblx0QElucHV0KCkgc2V0IHNoYWRvd3Moc2hhZG93czogYm9vbGVhbiB8IFBhcnRpYWw8VEhSRUUuV2ViR0xTaGFkb3dNYXA+KSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgc2hhZG93cyB9KTtcblx0fVxuXG5cdEBJbnB1dCgpIHNldCBjYW1lcmEoY2FtZXJhOiBOZ3RDYW52YXNJbnB1dHNbJ2NhbWVyYSddKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgY2FtZXJhIH0pO1xuXHR9XG5cblx0QElucHV0KCkgc2V0IHNjZW5lKHNjZW5lOiBOZ3RDYW52YXNJbnB1dHNbJ3NjZW5lJ10pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBzY2VuZSB9KTtcblx0fVxuXG5cdEBJbnB1dCgpIHNldCBnbChnbDogTmd0Q2FudmFzSW5wdXRzWydnbCddKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgZ2wgfSk7XG5cdH1cblxuXHRASW5wdXQoKSBzZXQgZXZlbnRTb3VyY2UoZXZlbnRTb3VyY2U6IE5ndENhbnZhc0lucHV0c1snZXZlbnRTb3VyY2UnXSkge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGV2ZW50U291cmNlIH0pO1xuXHR9XG5cblx0QElucHV0KCkgc2V0IGV2ZW50UHJlZml4KGV2ZW50UHJlZml4OiBOZ3RDYW52YXNJbnB1dHNbJ2V2ZW50UHJlZml4J10pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBldmVudFByZWZpeCB9KTtcblx0fVxuXG5cdEBJbnB1dCgpIHNldCBsb29rQXQobG9va0F0OiBOZ3RDYW52YXNJbnB1dHNbJ2xvb2tBdCddKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgbG9va0F0IH0pO1xuXHR9XG5cblx0QElucHV0KCkgc2V0IHBlcmZvcm1hbmNlKHBlcmZvcm1hbmNlOiBOZ3RDYW52YXNJbnB1dHNbJ3BlcmZvcm1hbmNlJ10pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBwZXJmb3JtYW5jZSB9KTtcblx0fVxuXG5cdEBPdXRwdXQoKSBjcmVhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxOZ3RTdGF0ZT4oKTtcblxuXHRwcml2YXRlIGlucHV0c0V2ZW50U291cmNlID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdldmVudFNvdXJjZScpO1xuXHRwcm90ZWN0ZWQgaGJQb2ludGVyRXZlbnRzID0gY29tcHV0ZWQoKCkgPT4gKCEhdGhpcy5pbnB1dHNFdmVudFNvdXJjZSgpID8gJ25vbmUnIDogJ2F1dG8nKSk7XG5cblx0QFZpZXdDaGlsZCgnZ2xDYW52YXMnLCB7IHN0YXRpYzogdHJ1ZSB9KSBnbENhbnZhcyE6IEVsZW1lbnRSZWY8SFRNTENhbnZhc0VsZW1lbnQ+O1xuXG5cdHByaXZhdGUgcmVzaXplRWZmZWN0UmVmPzogRWZmZWN0UmVmO1xuXHRwcml2YXRlIGNvbmZpZ3VyYXRvcj86IE5ndENhbnZhc0NvbmZpZ3VyYXRvcjtcblx0cHJpdmF0ZSBnbEVudmlyb25tZW50SW5qZWN0b3I/OiBFbnZpcm9ubWVudEluamVjdG9yO1xuXHRwcml2YXRlIGdsUmVmPzogQ29tcG9uZW50UmVmPHVua25vd24+O1xuXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblx0XHRpZiAoY2hhbmdlc1snc2NlbmVHcmFwaElucHV0cyddICYmICFjaGFuZ2VzWydzY2VuZUdyYXBoSW5wdXRzJ10uZmlyc3RDaGFuZ2UgJiYgdGhpcy5nbFJlZikge1xuXHRcdFx0dGhpcy5zZXRTY2VuZUdyYXBoSW5wdXRzKCk7XG5cdFx0fVxuXHR9XG5cblx0bmdPbkluaXQoKSB7XG5cdFx0Ly8gTk9URTogd2UgcmVzb2x2ZSBnbENhbnZhcyBhdCB0aGlzIHBvaW50LCBzZXR1cCB0aGUgY29uZmlndXJhdG9yXG5cdFx0dGhpcy5jb25maWd1cmF0b3IgPSB0aGlzLmluaXRSb290KHRoaXMuZ2xDYW52YXMubmF0aXZlRWxlbWVudCk7XG5cblx0XHR0aGlzLmRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHtcblx0XHRcdHRoaXMuZ2xFbnZpcm9ubWVudEluamVjdG9yPy5kZXN0cm95KCk7XG5cdFx0XHR0aGlzLmdsUmVmPy5kZXN0cm95KCk7XG5cdFx0XHR0aGlzLnJlc2l6ZUVmZmVjdFJlZj8uZGVzdHJveSgpO1xuXHRcdFx0aW5qZWN0Tmd0TG9hZGVyLmRlc3Ryb3koKTtcblx0XHRcdHRoaXMuY29uZmlndXJhdG9yPy5kZXN0cm95KCk7XG5cdFx0fSk7XG5cdH1cblxuXHQvLyBOT1RFOiBydW5zIG91dHNpZGUgb2YgWm9uZSBkdWUgdG8gZW1pdEluWm9uZTogZmFsc2Vcblx0b25SZXNpemUocmVzdWx0OiBOZ3hSZXNpemVSZXN1bHQpIHtcblx0XHRpZiAocmVzdWx0LndpZHRoID4gMCAmJiByZXN1bHQuaGVpZ2h0ID4gMCkge1xuXHRcdFx0dGhpcy5yZXNpemVFZmZlY3RSZWY/LmRlc3Ryb3koKTtcblxuXHRcdFx0Y29uc3QgaW5wdXRzID0gdGhpcy5pbnB1dHMuc2VsZWN0KCk7XG5cdFx0XHQvLyBOT1RFOiBnbyBiYWNrIGludG8gem9uZSBzbyB0aGF0IGVmZmVjdCBydW5zXG5cdFx0XHQvLyBUT0RPOiBEb3VibGUtY2hlY2sgd2hlbiBlZmZlY3QgaXMgbWFkZSBub3QgZGVwZW5kZWQgb24gem9uZVxuXHRcdFx0dGhpcy5yZXNpemVFZmZlY3RSZWYgPSB0aGlzLnpvbmUucnVuKCgpID0+XG5cdFx0XHRcdGVmZmVjdChcblx0XHRcdFx0XHQoKSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRpZiAoIXRoaXMuY29uZmlndXJhdG9yKSB0aGlzLmNvbmZpZ3VyYXRvciA9IHRoaXMuaW5pdFJvb3QodGhpcy5nbENhbnZhcy5uYXRpdmVFbGVtZW50KTtcblx0XHRcdFx0XHRcdFx0dGhpcy5jb25maWd1cmF0b3IuY29uZmlndXJlKHsgLi4uaW5wdXRzKCksIHNpemU6IHJlc3VsdCB9KTtcblxuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5nbFJlZikge1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnJlbmRlcigpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHsgbWFudWFsQ2xlYW51cDogdHJ1ZSwgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IgfSxcblx0XHRcdFx0KSxcblx0XHRcdCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSByZW5kZXIoKSB7XG5cdFx0dGhpcy5nbEVudmlyb25tZW50SW5qZWN0b3I/LmRlc3Ryb3koKTtcblx0XHR0aGlzLmdsUmVmPy5kZXN0cm95KCk7XG5cblx0XHQvLyBGbGFnIHRoZSBjYW52YXMgYWN0aXZlLCByZW5kZXJpbmcgd2lsbCBub3cgYmVnaW5cblx0XHR0aGlzLnN0b3JlLnNldCgoc3RhdGUpID0+ICh7IGludGVybmFsOiB7IC4uLnN0YXRlLmludGVybmFsLCBhY3RpdmU6IHRydWUgfSB9KSk7XG5cblx0XHRjb25zdCBpbnB1dHMgPSB0aGlzLmlucHV0cy5nZXQoKTtcblx0XHRjb25zdCBzdGF0ZSA9IHRoaXMuc3RvcmUuZ2V0KCk7XG5cblx0XHQvLyBjb25uZWN0IHRvIGV2ZW50IHNvdXJjZVxuXHRcdHN0YXRlLmV2ZW50cy5jb25uZWN0Py4oXG5cdFx0XHRpbnB1dHMuZXZlbnRTb3VyY2Vcblx0XHRcdFx0PyBpcy5yZWYoaW5wdXRzLmV2ZW50U291cmNlKVxuXHRcdFx0XHRcdD8gaW5wdXRzLmV2ZW50U291cmNlLm5hdGl2ZUVsZW1lbnRcblx0XHRcdFx0XHQ6IGlucHV0cy5ldmVudFNvdXJjZVxuXHRcdFx0XHQ6IHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LFxuXHRcdCk7XG5cblx0XHQvLyBzZXR1cCBjb21wdXRlIGZvciBldmVudFByZWZpeFxuXHRcdGlmIChpbnB1dHMuZXZlbnRQcmVmaXgpIHtcblx0XHRcdHN0YXRlLnNldEV2ZW50cyh7XG5cdFx0XHRcdGNvbXB1dGU6IChldmVudCwgc3RvcmUpID0+IHtcblx0XHRcdFx0XHRjb25zdCBpbm5lclN0YXRlID0gc3RvcmUuZ2V0KCk7XG5cdFx0XHRcdFx0Y29uc3QgeCA9IGV2ZW50WyhpbnB1dHMuZXZlbnRQcmVmaXggKyAnWCcpIGFzIGtleW9mIE5ndERvbUV2ZW50XSBhcyBudW1iZXI7XG5cdFx0XHRcdFx0Y29uc3QgeSA9IGV2ZW50WyhpbnB1dHMuZXZlbnRQcmVmaXggKyAnWScpIGFzIGtleW9mIE5ndERvbUV2ZW50XSBhcyBudW1iZXI7XG5cdFx0XHRcdFx0aW5uZXJTdGF0ZS5wb2ludGVyLnNldCgoeCAvIGlubmVyU3RhdGUuc2l6ZS53aWR0aCkgKiAyIC0gMSwgLSh5IC8gaW5uZXJTdGF0ZS5zaXplLmhlaWdodCkgKiAyICsgMSk7XG5cdFx0XHRcdFx0aW5uZXJTdGF0ZS5yYXljYXN0ZXIuc2V0RnJvbUNhbWVyYShpbm5lclN0YXRlLnBvaW50ZXIsIGlubmVyU3RhdGUuY2FtZXJhKTtcblx0XHRcdFx0fSxcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdC8vIGVtaXQgY3JlYXRlZCBldmVudCBpZiBvYnNlcnZlZFxuXHRcdGlmICh0aGlzLmNyZWF0ZWQub2JzZXJ2ZWQpIHtcblx0XHRcdC8vIGJ1dCBnbyBiYWNrIGludG8gem9uZSB0byBkbyBzb1xuXHRcdFx0dGhpcy56b25lLnJ1bigoKSA9PiB7XG5cdFx0XHRcdHRoaXMuY3JlYXRlZC5lbWl0KHRoaXMuc3RvcmUuZ2V0KCkpO1xuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0aWYgKCF0aGlzLnN0b3JlLmdldCgnZXZlbnRzJywgJ2Nvbm5lY3RlZCcpKSB7XG5cdFx0XHR0aGlzLnN0b3JlLmdldCgnZXZlbnRzJykuY29ubmVjdD8uKHRoaXMuZ2xDYW52YXMubmF0aXZlRWxlbWVudCk7XG5cdFx0fVxuXG5cdFx0dGhpcy5nbEVudmlyb25tZW50SW5qZWN0b3IgPSBjcmVhdGVFbnZpcm9ubWVudEluamVjdG9yKFxuXHRcdFx0W3Byb3ZpZGVOZ3RSZW5kZXJlcih0aGlzLnN0b3JlLCB0aGlzLmNvbXBvdW5kUHJlZml4ZXMsIHRoaXMuY2RyKV0sXG5cdFx0XHR0aGlzLmVudmlyb25tZW50SW5qZWN0b3IsXG5cdFx0KTtcblx0XHR0aGlzLmdsUmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudCh0aGlzLnNjZW5lR3JhcGgsIHtcblx0XHRcdGVudmlyb25tZW50SW5qZWN0b3I6IHRoaXMuZ2xFbnZpcm9ubWVudEluamVjdG9yLFxuXHRcdFx0aW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXG5cdFx0fSk7XG5cdFx0dGhpcy5vdmVycmlkZUNoYW5nZURldGVjdG9yUmVmKCk7XG5cdFx0dGhpcy5zZXRTY2VuZUdyYXBoSW5wdXRzKCk7XG5cdH1cblxuXHRwcml2YXRlIG92ZXJyaWRlQ2hhbmdlRGV0ZWN0b3JSZWYoKSB7XG5cdFx0Y29uc3Qgb3JpZ2luYWxEZXRlY3RDaGFuZ2VzID0gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcy5iaW5kKHRoaXMuY2RyKTtcblx0XHR0aGlzLmNkci5kZXRlY3RDaGFuZ2VzID0gKCkgPT4ge1xuXHRcdFx0b3JpZ2luYWxEZXRlY3RDaGFuZ2VzKCk7XG5cdFx0XHRzYWZlRGV0ZWN0Q2hhbmdlcyh0aGlzLmdsUmVmPy5jaGFuZ2VEZXRlY3RvclJlZik7XG5cdFx0fTtcblx0fVxuXG5cdHByaXZhdGUgc2V0U2NlbmVHcmFwaElucHV0cygpIHtcblx0XHR0aGlzLnpvbmUucnVuKCgpID0+IHtcblx0XHRcdGlmICh0aGlzLmdsUmVmKSB7XG5cdFx0XHRcdGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuc2NlbmVHcmFwaElucHV0cykpIHtcblx0XHRcdFx0XHR0aGlzLmdsUmVmLnNldElucHV0KGtleSwgdmFsdWUpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuZ2xSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|
|
@@ -1,33 +1,35 @@
|
|
|
1
1
|
import { Directive, Input } from '@angular/core';
|
|
2
2
|
import { NgtCommonDirective } from './common';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
class NgtArgs extends NgtCommonDirective {
|
|
5
|
-
|
|
4
|
+
export class NgtArgs extends NgtCommonDirective {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.injectedArgs = [];
|
|
8
|
+
}
|
|
6
9
|
set args(args) {
|
|
7
|
-
if (args == null || !Array.isArray(args) ||
|
|
10
|
+
if (args == null || !Array.isArray(args) || (args.length === 1 && args[0] === null))
|
|
8
11
|
return;
|
|
9
12
|
this.injected = false;
|
|
10
|
-
this
|
|
13
|
+
this.injectedArgs = args;
|
|
11
14
|
this.createView();
|
|
12
15
|
}
|
|
13
16
|
get args() {
|
|
14
17
|
if (this.validate()) {
|
|
15
18
|
this.injected = true;
|
|
16
|
-
return this
|
|
19
|
+
return this.injectedArgs;
|
|
17
20
|
}
|
|
18
21
|
return null;
|
|
19
22
|
}
|
|
20
23
|
validate() {
|
|
21
|
-
return !this.injected && !!this
|
|
24
|
+
return !this.injected && !!this.injectedArgs.length;
|
|
22
25
|
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
24
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtArgs, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
27
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: NgtArgs, isStandalone: true, selector: "ng-template[args]", inputs: { args: "args" }, usesInheritance: true, ngImport: i0 }); }
|
|
25
28
|
}
|
|
26
|
-
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgtArgs, decorators: [{
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtArgs, decorators: [{
|
|
28
30
|
type: Directive,
|
|
29
|
-
args: [{ selector: '[args]', standalone: true }]
|
|
31
|
+
args: [{ selector: 'ng-template[args]', standalone: true }]
|
|
30
32
|
}], propDecorators: { args: [{
|
|
31
33
|
type: Input
|
|
32
34
|
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRzlDLE1BQU0sT0FBTyxPQUFxQyxTQUFRLGtCQUFrQjtJQUQ1RTs7UUFFUyxpQkFBWSxHQUFVLEVBQXNCLENBQUM7S0FvQnJEO0lBbEJBLElBQWEsSUFBSSxDQUFDLElBQWtCO1FBQ25DLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDO1lBQUUsT0FBTztRQUM1RixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztTQUN6QjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELFFBQVE7UUFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDckQsQ0FBQzs4R0FwQlcsT0FBTztrR0FBUCxPQUFPOzsyRkFBUCxPQUFPO2tCQURuQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7OEJBSWhELElBQUk7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3RDb21tb25EaXJlY3RpdmUgfSBmcm9tICcuL2NvbW1vbic7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW2FyZ3NdJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE5ndEFyZ3M8VEFyZ3MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdPiBleHRlbmRzIE5ndENvbW1vbkRpcmVjdGl2ZSB7XG5cdHByaXZhdGUgaW5qZWN0ZWRBcmdzOiBUQXJncyA9IFtdIGFzIHVua25vd24gYXMgVEFyZ3M7XG5cblx0QElucHV0KCkgc2V0IGFyZ3MoYXJnczogVEFyZ3MgfCBudWxsKSB7XG5cdFx0aWYgKGFyZ3MgPT0gbnVsbCB8fCAhQXJyYXkuaXNBcnJheShhcmdzKSB8fCAoYXJncy5sZW5ndGggPT09IDEgJiYgYXJnc1swXSA9PT0gbnVsbCkpIHJldHVybjtcblx0XHR0aGlzLmluamVjdGVkID0gZmFsc2U7XG5cdFx0dGhpcy5pbmplY3RlZEFyZ3MgPSBhcmdzO1xuXHRcdHRoaXMuY3JlYXRlVmlldygpO1xuXHR9XG5cblx0Z2V0IGFyZ3MoKSB7XG5cdFx0aWYgKHRoaXMudmFsaWRhdGUoKSkge1xuXHRcdFx0dGhpcy5pbmplY3RlZCA9IHRydWU7XG5cdFx0XHRyZXR1cm4gdGhpcy5pbmplY3RlZEFyZ3M7XG5cdFx0fVxuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cblx0dmFsaWRhdGUoKSB7XG5cdFx0cmV0dXJuICF0aGlzLmluamVjdGVkICYmICEhdGhpcy5pbmplY3RlZEFyZ3MubGVuZ3RoO1xuXHR9XG59XG4iXX0=
|