angular-three 2.0.0-beta.242 → 2.0.0-beta.244
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/esm2022/index.mjs +2 -2
- package/esm2022/lib/canvas.mjs +19 -27
- package/esm2022/lib/directives/args.mjs +52 -14
- package/esm2022/lib/instance.mjs +10 -9
- package/esm2022/lib/loop.mjs +2 -2
- package/esm2022/lib/portal.mjs +119 -111
- package/esm2022/lib/renderer/catalogue.mjs +2 -2
- package/esm2022/lib/renderer/constants.mjs +3 -5
- package/esm2022/lib/renderer/index.mjs +276 -194
- package/esm2022/lib/renderer/state.mjs +49 -0
- package/esm2022/lib/renderer/utils.mjs +40 -24
- package/esm2022/lib/roots.mjs +25 -25
- package/esm2022/lib/routed-scene.mjs +3 -3
- package/esm2022/lib/store.mjs +14 -12
- package/esm2022/lib/three-types.mjs +1 -1
- package/esm2022/lib/utils/apply-props.mjs +3 -3
- package/esm2022/lib/utils/before-render.mjs +4 -3
- package/esm2022/lib/utils/parameters.mjs +33 -28
- package/esm2022/lib/utils/resolve-ref.mjs +8 -0
- package/esm2022/lib/utils/signal-store.mjs +3 -14
- package/fesm2022/angular-three.mjs +720 -1089
- package/fesm2022/angular-three.mjs.map +1 -1
- package/index.d.ts +2 -2
- package/lib/canvas.d.ts +278 -1001
- package/lib/directives/args.d.ts +11 -4
- package/lib/instance.d.ts +8 -13
- package/lib/loop.d.ts +1 -1
- package/lib/portal.d.ts +41 -31
- package/lib/renderer/catalogue.d.ts +1 -1
- package/lib/renderer/constants.d.ts +2 -4
- package/lib/renderer/index.d.ts +15 -5
- package/lib/renderer/state.d.ts +23 -0
- package/lib/renderer/utils.d.ts +5 -22
- package/lib/roots.d.ts +5 -0
- package/lib/store.d.ts +12 -12
- package/lib/three-types.d.ts +8 -5
- package/lib/utils/parameters.d.ts +6 -9
- package/lib/utils/resolve-ref.d.ts +2 -0
- package/lib/utils/signal-store.d.ts +1 -5
- package/metadata.json +1 -1
- package/package.json +71 -72
- package/web-types.json +1 -1
- package/esm2022/lib/directives/common.mjs +0 -67
- package/esm2022/lib/directives/parent.mjs +0 -20
- package/esm2022/lib/ref.mjs +0 -50
- package/esm2022/lib/renderer/store.mjs +0 -439
- package/lib/directives/common.d.ts +0 -31
- package/lib/directives/parent.d.ts +0 -11
- package/lib/ref.d.ts +0 -7
- package/lib/renderer/store.d.ts +0 -65
package/esm2022/lib/store.mjs
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { ElementRef, InjectionToken,
|
|
3
|
-
import { createInjectionToken } from 'ngxtension/create-injection-token';
|
|
2
|
+
import { ElementRef, InjectionToken, effect, inject } from '@angular/core';
|
|
4
3
|
import { Subject } from 'rxjs';
|
|
5
4
|
import { Clock, Vector2, Vector3 } from 'three';
|
|
6
|
-
import {
|
|
5
|
+
import { injectLoop } from './loop';
|
|
7
6
|
import { is } from './utils/is';
|
|
8
7
|
import { makeDpr } from './utils/make';
|
|
9
8
|
import { signalStore } from './utils/signal-store';
|
|
@@ -15,7 +14,7 @@ function storeFactory(previousStore) {
|
|
|
15
14
|
// TODO: revisit this when we need to support multiple platforms
|
|
16
15
|
throw new Error(`[NGT] Window is not available.`);
|
|
17
16
|
}
|
|
18
|
-
const loop =
|
|
17
|
+
const loop = injectLoop();
|
|
19
18
|
// NOTE: using Subject because we do not care about late-subscribers
|
|
20
19
|
const pointerMissed$ = new Subject();
|
|
21
20
|
const store = signalStore(({ get, update }) => {
|
|
@@ -149,9 +148,8 @@ function storeFactory(previousStore) {
|
|
|
149
148
|
});
|
|
150
149
|
Object.defineProperty(store, 'pointerMissed$', { get: () => pointerMissed$ });
|
|
151
150
|
let { size: oldSize, viewport: { dpr: oldDpr }, camera: oldCamera, } = store.snapshot;
|
|
152
|
-
const [camera, size, viewportDpr] = [store.select('camera'), store.select('size'), store.select('viewport', 'dpr')];
|
|
153
151
|
effect(() => {
|
|
154
|
-
const
|
|
152
|
+
const { camera: newCamera, size: newSize, viewport: { dpr: newDpr }, gl, } = store.state();
|
|
155
153
|
// Resize camera and renderer on changes to size and pixel-ratio
|
|
156
154
|
if (newSize !== oldSize || newDpr !== oldDpr) {
|
|
157
155
|
oldSize = newSize;
|
|
@@ -173,9 +171,13 @@ function storeFactory(previousStore) {
|
|
|
173
171
|
return store;
|
|
174
172
|
}
|
|
175
173
|
export const NGT_STORE = new InjectionToken('NgtStore Token');
|
|
176
|
-
export
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFVLEtBQUssRUFBK0MsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSxPQUFPLENBQUM7QUFHcEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFrQixXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUE4SDlDLFNBQVMsWUFBWSxDQUFDLGFBQThDO0lBQ25FLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDO0lBRXBDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNiLGdFQUFnRTtRQUNoRSxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLGFBQWEsRUFBRSxDQUFDO0lBRTdCLG9FQUFvRTtJQUNwRSxNQUFNLGNBQWMsR0FBRyxJ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WSxpQkFBaUIsQ0FBQztZQUMzRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBRUQsMENBQTBDO1FBQzFDLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzdCLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFDdEIsWUFBWSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNqQyxrQkFBa0I7WUFDbEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqSCxDQUFDO0lBQ0YsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEtBQUssQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxjQUFjLENBQTJCLGdCQUFnQixDQUFDLENBQUM7QUFDeEYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDLEdBQUcsb0JBQW9CLENBQUMsWUFBWSxFQUFFO0lBQ25GLE1BQU0sRUFBRSxLQUFLO0lBQ2IsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkQsS0FBSyxFQUFFLFNBQVM7Q0FDaEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCBTa2lwU2VsZiwgZWZmZWN0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZUluamVjdGlvblRva2VuIH0gZnJvbSAnbmd4dGVuc2lvbi9jcmVhdGUtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhbWVyYSwgQ2xvY2ssIEV2ZW50RGlzcGF0Y2hlciwgT2JqZWN0M0QsIFJheWNhc3RlciwgU2NlbmUsIFZlY3RvcjIsIFZlY3RvcjMsIFdlYkdMUmVuZGVyZXIgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RDYW1lcmEsIE5ndERvbUV2ZW50LCBOZ3RFdmVudE1hbmFnZXIsIE5ndFBvaW50ZXJDYXB0dXJlVGFyZ2V0LCBOZ3RUaHJlZUV2ZW50IH0gZnJvbSAnLi9ldmVudHMnO1xuaW1wb3J0IHsgTmd0SW5zdGFuY2VOb2RlIH0gZnJvbSAnLi9pbnN0YW5jZSc7XG5pbXBvcnQgeyBpbmplY3ROZ3RMb29wIH0gZnJvbSAnLi9sb29wJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi91dGlscy9pcyc7XG5pbXBvcnQgeyBtYWtlRHByIH0gZnJvbSAnLi91dGlscy9tYWtlJztcbmltcG9ydCB7IE5ndFNpZ25hbFN0b3JlLCBzaWduYWxTdG9yZSB9IGZyb20gJy4vdXRpbHMvc2lnbmFsLXN0b3JlJztcbmltcG9ydCB7IHVwZGF0ZUNhbWVyYSB9IGZyb20gJy4vdXRpbHMvdXBkYXRlJztcblxuZXhwb3J0IHR5cGUgTmd0UmVuZGVyZXJMaWtlID0geyByZW5kZXI6IChzY2VuZTogU2NlbmUsIGNhbWVyYTogQ2FtZXJhKSA9PiBhbnkgfTtcbmV4cG9ydCB0eXBlIE5ndENhbWVyYU1hbnVhbCA9IE5ndENhbWVyYSAmIHsgbWFudWFsPzogYm9vbGVhbiB9O1xuZXhwb3J0IHR5cGUgTmd0RHByID0gbnVtYmVyIHwgW21pbjogbnVtYmVyLCBtYXg6IG51bWJlcl07XG5leHBvcnQgdHlwZSBOZ3RTaXplID0geyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcjsgdG9wOiBudW1iZXI7IGxlZnQ6IG51bWJlciB9O1xuXG5leHBvcnQgdHlwZSBOZ3RWaWV3cG9ydCA9IE5ndFNpemUgJiB7XG5cdC8qKiBUaGUgaW5pdGlhbCBwaXhlbCByYXRpbyAqL1xuXHRpbml0aWFsRHByOiBudW1iZXI7XG5cdC8qKiBDdXJyZW50IHBpeGVsIHJhdGlvICovXG5cdGRwcjogbnVtYmVyO1xuXHQvKiogc2l6ZS53aWR0aCAvIHZpZXdwb3J0LndpZHRoICovXG5cdGZhY3RvcjogbnVtYmVyO1xuXHQvKiogQ2FtZXJhIGRpc3RhbmNlICovXG5cdGRpc3RhbmNlOiBudW1iZXI7XG5cdC8qKiBDYW1lcmEgYXNwZWN0IHJhdGlvOiB3aWR0aCAvIGhlaWdodCAqL1xuXHRhc3BlY3Q6IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIE5ndFBlcmZvcm1hbmNlID0ge1xuXHQvKiogQ3VycmVudCBwZXJmb3JtYW5jZSBub3JtYWwsIGJldHdlZW4gbWluIGFuZCBtYXggKi9cblx0Y3VycmVudDogbnVtYmVyO1xuXHQvKiogSG93IGxvdyB0aGUgcGVyZm9ybWFuY2UgY2FuIGdvLCBiZXR3ZWVuIDAgYW5kIG1heCAqL1xuXHRtaW46IG51bWJlcjtcblx0LyoqIEhvdyBoaWdoIHRoZSBwZXJmb3JtYW5jZSBjYW4gZ28sIGJldHdlZW4gbWluIGFuZCBtYXggKi9cblx0bWF4OiBudW1iZXI7XG5cdC8qKiBUaW1lIHVudGlsIGN1cnJlbnQgcmV0dXJucyB0byBtYXggaW4gbXMgKi9cblx0ZGVib3VuY2U6IG51bWJlcjtcblx0LyoqIFNldHMgY3VycmVudCB0byBtaW4sIHB1dHMgdGhlIHN5c3RlbSBpbiByZWdyZXNzaW9uICovXG5cdHJlZ3Jlc3M6ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBOZ3RSZW5kZXJTdGF0ZSA9IE5ndFN0YXRlICYgeyBkZWx0YTogbnVtYmVyOyBmcmFtZT86IFhSRnJhbWUgfTtcblxuZXhwb3J0IHR5cGUgTmd0QmVmb3JlUmVuZGVyRXZlbnQ8VE9iamVjdCBleHRlbmRzIE5ndEluc3RhbmNlTm9kZSA9IE5ndEluc3RhbmNlTm9kZT4gPSB7XG5cdHN0YXRlOiBOZ3RSZW5kZXJTdGF0ZTtcblx0b2JqZWN0OiBUT2JqZWN0O1xufTtcblxuZXhwb3J0IHR5cGUgTmd0QmVmb3JlUmVuZGVyUmVjb3JkID0ge1xuXHRjYWxsYmFjazogKHN0YXRlOiBOZ3RSZW5kZXJTdGF0ZSkgPT4gdm9pZDtcblx0c3RvcmU6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPjtcblx0cHJpb3JpdHk/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBOZ3RJbnRlcm5hbFN0YXRlID0ge1xuXHRhY3RpdmU6IGJvb2xlYW47XG5cdHByaW9yaXR5OiBudW1iZXI7XG5cdGZyYW1lczogbnVtYmVyO1xuXHRsYXN0RXZlbnQ6IEVsZW1lbnRSZWY8Tmd0RG9tRXZlbnQgfCBudWxsPjtcblx0aW50ZXJhY3Rpb246IE9iamVjdDNEW107XG5cdGhvdmVyZWQ6IE1hcDxzdHJpbmcsIE5ndFRocmVlRXZlbnQ8Tmd0RG9tRXZlbnQ+Pjtcblx0Y2FwdHVyZWRNYXA6IE1hcDxudW1iZXIsIE1hcDxPYmplY3QzRCwgTmd0UG9pbnRlckNhcHR1cmVUYXJnZXQ+Pjtcblx0aW5pdGlhbENsaWNrOiBbeDogbnVtYmVyLCB5OiBudW1iZXJdO1xuXHRpbml0aWFsSGl0czogT2JqZWN0M0RbXTtcblx0c3Vic2NyaWJlcnM6IE5ndEJlZm9yZVJlbmRlclJlY29yZFtdO1xuXHRzdWJzY3JpYmU6IChcblx0XHRjYWxsYmFjazogTmd0QmVmb3JlUmVuZGVyUmVjb3JkWydjYWxsYmFjayddLFxuXHRcdHByaW9yaXR5PzogbnVtYmVyLFxuXHRcdHN0b3JlPzogTmd0U2lnbmFsU3RvcmU8Tmd0U3RhdGU+LFxuXHQpID0+ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBOZ3RTdGF0ZSA9IHtcblx0LyoqIFRoZSBpbnN0YW5jZSBvZiB0aGUgcmVuZGVyZXIgKi9cblx0Z2w6IFdlYkdMUmVuZGVyZXI7XG5cdC8qKiBEZWZhdWx0IGNhbWVyYSAqL1xuXHRjYW1lcmE6IE5ndENhbWVyYU1hbnVhbDtcblx0LyoqIERlZmF1bHQgc2NlbmUgKi9cblx0c2NlbmU6IFNjZW5lO1xuXHQvKiogRGVmYXVsdCByYXljYXN0ZXIgKi9cblx0cmF5Y2FzdGVyOiBSYXljYXN0ZXI7XG5cdC8qKiBEZWZhdWx0IGNsb2NrICovXG5cdGNsb2NrOiBDbG9jaztcblx0LyoqIEV2ZW50IGxheWVyIGludGVyZmFjZSwgY29udGFpbnMgdGhlIGV2ZW50IGhhbmRsZXIgYW5kIHRoZSBub2RlIHRoZXkncmUgY29ubmVjdGVkIHRvICovXG5cdGV2ZW50czogTmd0RXZlbnRNYW5hZ2VyPGFueT47XG5cdC8qKiBYUiBpbnRlcmZhY2UgKi9cblx0eHI6IHsgY29ubmVjdDogKCkgPT4gdm9pZDsgZGlzY29ubmVjdDogKCkgPT4gdm9pZCB9O1xuXHQvKiogQ3VycmVudGx5IHVzZWQgY29udHJvbHMgKi9cblx0Y29udHJvbHM6IEV2ZW50RGlzcGF0Y2hlciB8IG51bGw7XG5cdC8qKiBOb3JtYWxpemVkIGV2ZW50IGNvb3JkaW5hdGVzICovXG5cdHBvaW50ZXI6IFZlY3RvcjI7XG5cdC8qIFdoZXRoZXIgdG8gZW5hYmxlIHIxMzkncyBDb2xvck1hbmFnZW1lbnQgKi9cblx0bGVnYWN5OiBib29sZWFuO1xuXHQvKiogU2hvcnRjdXQgdG8gZ2wub3V0cHV0Q29sb3JTcGFjZSA9IExpbmVhclNSR0JDb2xvclNwYWNlICovXG5cdGxpbmVhcjogYm9vbGVhbjtcblx0LyoqIFNob3J0Y3V0IHRvIGdsLnRvbmVNYXBwaW5nID0gTm9Ub25lbWFwcGluZyAqL1xuXHRmbGF0OiBib29sZWFuO1xuXHQvKiogUmVuZGVyIGxvb3AgZmxhZ3MgKi9cblx0ZnJhbWVsb29wOiAnYWx3YXlzJyB8ICdkZW1hbmQnIHwgJ25ldmVyJztcblx0LyoqIEFkYXB0aXZlIHBlcmZvcm1hbmNlIGludGVyZmFjZSAqL1xuXHRwZXJmb3JtYW5jZTogTmd0UGVyZm9ybWFuY2U7XG5cdC8qKiBSZWFjdGl2ZSBwaXhlbC1zaXplIG9mIHRoZSBjYW52YXMgKi9cblx0c2l6ZTogTmd0U2l6ZTtcblx0LyoqIFJlYWN0aXZlIHNpemUgb2YgdGhlIHZpZXdwb3J0IGluIHRocmVlanMgdW5pdHMgKi9cblx0dmlld3BvcnQ6IE5ndFZpZXdwb3J0ICYge1xuXHRcdGdldEN1cnJlbnRWaWV3cG9ydDogKFxuXHRcdFx0Y2FtZXJhPzogTmd0Q2FtZXJhLFxuXHRcdFx0dGFyZ2V0PzogVmVjdG9yMyB8IFBhcmFtZXRlcnM8VmVjdG9yM1snc2V0J10+LFxuXHRcdFx0c2l6ZT86IE5ndFNpemUsXG5cdFx0KSA9PiBPbWl0PE5ndFZpZXdwb3J0LCAnZHByJyB8ICdpbml0aWFsRHByJz47XG5cdH07XG5cdC8qKiBGbGFncyB0aGUgY2FudmFzIGZvciByZW5kZXIsIGJ1dCBkb2Vzbid0IHJlbmRlciBpbiBpdHNlbGYgKi9cblx0aW52YWxpZGF0ZTogKGZyYW1lcz86IG51bWJlcikgPT4gdm9pZDtcblx0LyoqIEFkdmFuY2UgKHJlbmRlcikgb25lIHN0ZXAgKi9cblx0YWR2YW5jZTogKHRpbWVzdGFtcDogbnVtYmVyLCBydW5HbG9iYWxFZmZlY3RzPzogYm9vbGVhbikgPT4gdm9pZDtcblx0LyoqIFNob3J0Y3V0IHRvIHNldHRpbmcgdGhlIGV2ZW50IGxheWVyICovXG5cdHNldEV2ZW50czogKGV2ZW50czogUGFydGlhbDxOZ3RFdmVudE1hbmFnZXI8YW55Pj4pID0+IHZvaWQ7XG5cdC8qKlxuXHQgKiBTaG9ydGN1dCB0byBtYW51YWwgc2l6aW5nXG5cdCAqL1xuXHRzZXRTaXplOiAod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIsIHRvcD86IG51bWJlciwgbGVmdD86IG51bWJlcikgPT4gdm9pZDtcblx0LyoqIFNob3J0Y3V0IHRvIG1hbnVhbCBzZXR0aW5nIHRoZSBwaXhlbCByYXRpbyAqL1xuXHRzZXREcHI6IChkcHI6IE5ndERwcikgPT4gdm9pZDtcblx0LyoqIFNob3J0Y3V0IHRvIGZyYW1lbG9vcCBmbGFncyAqL1xuXHRzZXRGcmFtZWxvb3A6IChmcmFtZWxvb3A/OiAnYWx3YXlzJyB8ICdkZW1hbmQnIHwgJ25ldmVyJykgPT4gdm9pZDtcblx0LyoqIFdoZW4gdGhlIGNhbnZhcyB3YXMgY2xpY2tlZCBidXQgbm90aGluZyB3YXMgaGl0ICovXG5cdC8qKiBQb2ludGVyTWlzc2VkIE9ic2VydmFibGUgKi9cblx0cG9pbnRlck1pc3NlZCQ6IE9ic2VydmFibGU8TW91c2VFdmVudD47XG5cdC8qKiBJZiB0aGlzIHN0YXRlIG1vZGVsIGlzIGxheWVyZWQgKHZpYSBjcmVhdGVQb3J0YWwpIHRoZW4gdGhpcyBjb250YWlucyB0aGUgcHJldmlvdXMgbGF5ZXIgKi9cblx0cHJldmlvdXNSb290OiBOZ3RTaWduYWxTdG9yZTxOZ3RTdGF0ZT4gfCBudWxsO1xuXHQvKiogSW50ZXJuYWxzICovXG5cdGludGVybmFsOiBOZ3RJbnRlcm5hbFN0YXRlO1xufTtcblxuZnVuY3Rpb24gc3RvcmVGYWN0b3J5KHByZXZpb3VzU3RvcmU6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPiB8IG51bGwpIHtcblx0Y29uc3QgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXHRjb25zdCB3aW5kb3cgPSBkb2N1bWVudC5kZWZhdWx0VmlldztcblxuXHRpZiAoIXdpbmRvdykge1xuXHRcdC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIG5lZWQgdG8gc3VwcG9ydCBtdWx0aXBsZSBwbGF0Zm9ybXNcblx0XHR0aHJvdyBuZXcgRXJyb3IoYFtOR1RdIFdpbmRvdyBpcyBub3QgYXZhaWxhYmxlLmApO1xuXHR9XG5cblx0Y29uc3QgbG9vcCA9IGluamVjdE5ndExvb3AoKTtcblxuXHQvLyBOT1RFOiB1c2luZyBTdWJqZWN0IGJlY2F1c2Ugd2UgZG8gbm90IGNhcmUgYWJvdXQgbGF0ZS1zdWJzY3JpYmVyc1xuXHRjb25zdCBwb2ludGVyTWlzc2VkJCA9IG5ldyBTdWJqZWN0PE1vdXNlRXZlbnQ+KCk7XG5cblx0Y29uc3Qgc3RvcmU6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPiA9IHNpZ25hbFN0b3JlPE5ndFN0YXRlPigoeyBnZXQsIHVwZGF0ZSB9KSA9PiB7XG5cdFx0Y29uc3QgeyBpbnZhbGlkYXRlLCBhZHZhbmNlIH0gPSBsb29wO1xuXG5cdFx0Y29uc3QgcG9zaXRpb24gPSBuZXcgVmVjdG9yMygpO1xuXHRcdGNvbnN0IGRlZmF1bHRUYXJnZXQgPSBuZXcgVmVjdG9yMygpO1xuXHRcdGNvbnN0IHRlbXBUYXJnZXQgPSBuZXcgVmVjdG9yMygpO1xuXG5cdFx0ZnVuY3Rpb24gZ2V0Q3VycmVudFZpZXdwb3J0KFxuXHRcdFx0Y2FtZXJhOiBOZ3RDYW1lcmEgPSBnZXQoJ2NhbWVyYScpLFxuXHRcdFx0dGFyZ2V0OiBWZWN0b3IzIHwgUGFyYW1ldGVyczxWZWN0b3IzWydzZXQnXT4gPSBkZWZhdWx0VGFyZ2V0LFxuXHRcdFx0c2l6ZTogTmd0U2l6ZSA9IGdldCgnc2l6ZScpLFxuXHRcdCk6IE9taXQ8Tmd0Vmlld3BvcnQsICdkcHInIHwgJ2luaXRpYWxEcHInPiB7XG5cdFx0XHRjb25zdCB7IHdpZHRoLCBoZWlnaHQsIHRvcCwgbGVmdCB9ID0gc2l6ZTtcblx0XHRcdGNvbnN0IGFzcGVjdCA9IHdpZHRoIC8gaGVpZ2h0O1xuXG5cdFx0XHRpZiAodGFyZ2V0IGluc3RhbmNlb2YgVmVjdG9yMykgdGVtcFRhcmdldC5jb3B5KHRhcmdldCk7XG5cdFx0XHRlbHNlIHRlbXBUYXJnZXQuc2V0KC4uLnRhcmdldCk7XG5cblx0XHRcdGNvbnN0IGRpc3RhbmNlID0gY2FtZXJhLmdldFdvcmxkUG9zaXRpb24ocG9zaXRpb24pLmRpc3RhbmNlVG8odGVtcFRhcmdldCk7XG5cblx0XHRcdGlmIChpcy5vcnRob2dyYXBoaWNDYW1lcmEoY2FtZXJhKSkge1xuXHRcdFx0XHRyZXR1cm4geyB3aWR0aDogd2lkdGggLyBjYW1lcmEuem9vbSwgaGVpZ2h0OiBoZWlnaHQgLyBjYW1lcmEuem9vbSwgdG9wLCBsZWZ0LCBmYWN0b3I6IDEsIGRpc3RhbmNlLCBhc3BlY3QgfTtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgZm92ID0gKGNhbWVyYS5mb3YgKiBNYXRoLlBJKSAvIDE4MDsgLy8gY29udmVydCB2ZXJ0aWNhbCBmb3YgdG8gcmFkaWFuc1xuXHRcdFx0Y29uc3QgaCA9IDIgKiBNYXRoLnRhbihmb3YgLyAyKSAqIGRpc3RhbmNlOyAvLyB2aXNpYmxlIGhlaWdodFxuXHRcdFx0Y29uc3QgdyA9IGggKiAod2lkdGggLyBoZWlnaHQpO1xuXHRcdFx0cmV0dXJuIHsgd2lkdGg6IHcsIGhlaWdodDogaCwgdG9wLCBsZWZ0LCBmYWN0b3I6IHdpZHRoIC8gdywgZGlzdGFuY2UsIGFzcGVjdCB9O1xuXHRcdH1cblxuXHRcdGxldCBwZXJmb3JtYW5jZVRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXHRcdGNvbnN0IHNldFBlcmZvcm1hbmNlQ3VycmVudCA9IChjdXJyZW50OiBudW1iZXIpID0+XG5cdFx0XHR1cGRhdGUoKHN0YXRlKSA9PiAoeyBwZXJmb3JtYW5jZTogeyAuLi5zdGF0ZS5wZXJmb3JtYW5jZSwgY3VycmVudCB9IH0pKTtcblxuXHRcdGNvbnN0IHBvaW50ZXIgPSBuZXcgVmVjdG9yMigpO1xuXG5cdFx0cmV0dXJuIHtcblx0XHRcdHBvaW50ZXJNaXNzZWQkOiBwb2ludGVyTWlzc2VkJC5hc09ic2VydmFibGUoKSxcblx0XHRcdGV2ZW50czogeyBwcmlvcml0eTogMSwgZW5hYmxlZDogdHJ1ZSwgY29ubmVjdGVkOiBmYWxzZSB9LFxuXG5cdFx0XHRpbnZhbGlkYXRlOiAoZnJhbWVzID0gMSkgPT4gaW52YWxpZGF0ZShzdG9yZSwgZnJhbWVzKSxcblx0XHRcdGFkdmFuY2U6ICh0aW1lc3RhbXA6IG51bWJlciwgcnVuR2xvYmFsRWZmZWN0cz86IGJvb2xlYW4pID0+IGFkdmFuY2UodGltZXN0YW1wLCBydW5HbG9iYWxFZmZlY3RzLCBzdG9yZSksXG5cblx0XHRcdGxlZ2FjeTogZmFsc2UsXG5cdFx0XHRsaW5lYXI6IGZhbHNlLFxuXHRcdFx0ZmxhdDogZmFsc2UsXG5cblx0XHRcdGNvbnRyb2xzOiBudWxsLFxuXHRcdFx0Y2xvY2s6IG5ldyBDbG9jaygpLFxuXHRcdFx0cG9pbnRlcixcblxuXHRcdFx0ZnJhbWVsb29wOiAnYWx3YXlzJyxcblxuXHRcdFx0cGVyZm9ybWFuY2U6IHtcblx0XHRcdFx0Y3VycmVudDogMSxcblx0XHRcdFx0bWluOiAwLjUsXG5cdFx0XHRcdG1heDogMSxcblx0XHRcdFx0ZGVib3VuY2U6IDIwMCxcblx0XHRcdFx0cmVncmVzczogKCkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IHN0YXRlID0gZ2V0KCk7XG5cdFx0XHRcdFx0Ly8gQ2xlYXIgdGltZW91dFxuXHRcdFx0XHRcdGlmIChwZXJmb3JtYW5jZVRpbWVvdXQpIGNsZWFyVGltZW91dChwZXJmb3JtYW5jZVRpbWVvdXQpO1xuXHRcdFx0XHRcdC8vIFNldCBsb3dlciBib3VuZCBwZXJmb3JtYW5jZVxuXHRcdFx0XHRcdGlmIChzdGF0ZS5wZXJmb3JtYW5jZS5jdXJyZW50ICE9PSBzdGF0ZS5wZXJmb3JtYW5jZS5taW4pIHNldFBlcmZvcm1hbmNlQ3VycmVudChzdGF0ZS5wZXJmb3JtYW5jZS5taW4pO1xuXHRcdFx0XHRcdC8vIEdvIGJhY2sgdG8gdXBwZXIgYm91bmQgcGVyZm9ybWFuY2UgYWZ0ZXIgYSB3aGlsZSB1bmxlc3Mgc29tZXRoaW5nIHJlZ3Jlc3NlcyBtZWFud2hpbGVcblx0XHRcdFx0XHRwZXJmb3JtYW5jZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdFx0XHRcdHNldFBlcmZvcm1hbmNlQ3VycmVudChnZXQoJ3BlcmZvcm1hbmNlJywgJ21heCcpKTtcblx0XHRcdFx0XHRcdC8vIHNhZmVEZXRlY3RDaGFuZ2VzKGNkcik7XG5cdFx0XHRcdFx0fSwgc3RhdGUucGVyZm9ybWFuY2UuZGVib3VuY2UpO1xuXHRcdFx0XHR9LFxuXHRcdFx0fSxcblxuXHRcdFx0c2l6ZTogeyB3aWR0aDogMCwgaGVpZ2h0OiAwLCB0b3A6IDAsIGxlZnQ6IDAsIHVwZGF0ZVN0eWxlOiBmYWxzZSB9LFxuXHRcdFx0dmlld3BvcnQ6IHtcblx0XHRcdFx0aW5pdGlhbERwcjogMCxcblx0XHRcdFx0ZHByOiAwLFxuXHRcdFx0XHR3aWR0aDogMCxcblx0XHRcdFx0aGVpZ2h0OiAwLFxuXHRcdFx0XHR0b3A6IDAsXG5cdFx0XHRcdGxlZnQ6IDAsXG5cdFx0XHRcdGFzcGVjdDogMCxcblx0XHRcdFx0ZGlzdGFuY2U6IDAsXG5cdFx0XHRcdGZhY3RvcjogMCxcblx0XHRcdFx0Z2V0Q3VycmVudFZpZXdwb3J0LFxuXHRcdFx0fSxcblxuXHRcdFx0c2V0RXZlbnRzOiAoZXZlbnRzOiBQYXJ0aWFsPE5ndEV2ZW50TWFuYWdlcjxhbnk+PikgPT5cblx0XHRcdFx0dXBkYXRlKChzdGF0ZSkgPT4gKHsgLi4uc3RhdGUsIGV2ZW50czogeyAuLi5zdGF0ZS5ldmVudHMsIC4uLmV2ZW50cyB9IH0pKSxcblx0XHRcdHNldFNpemU6ICh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgdG9wPzogbnVtYmVyLCBsZWZ0PzogbnVtYmVyKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGNhbWVyYSA9IGdldCgnY2FtZXJhJyk7XG5cdFx0XHRcdGNvbnN0IHNpemUgPSB7IHdpZHRoLCBoZWlnaHQsIHRvcDogdG9wIHx8IDAsIGxlZnQ6IGxlZnQgfHwgMCB9O1xuXHRcdFx0XHR1cGRhdGUoKHN0YXRlKSA9PiAoe1xuXHRcdFx0XHRcdHNpemUsXG5cdFx0XHRcdFx0dmlld3BvcnQ6IHsgLi4uc3RhdGUudmlld3BvcnQsIC4uLmdldEN1cnJlbnRWaWV3cG9ydChjYW1lcmEsIGRlZmF1bHRUYXJnZXQsIHNpemUpIH0sXG5cdFx0XHRcdH0pKTtcblx0XHRcdH0sXG5cdFx0XHRzZXREcHI6IChkcHI6IE5ndERwcikgPT5cblx0XHRcdFx0dXBkYXRlKChzdGF0ZSkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IHJlc29sdmVkID0gbWFrZURwcihkcHIsIHdpbmRvdyk7XG5cdFx0XHRcdFx0cmV0dXJuIHsgdmlld3BvcnQ6IHsgLi4uc3RhdGUudmlld3BvcnQsIGRwcjogcmVzb2x2ZWQsIGluaXRpYWxEcHI6IHN0YXRlLnZpZXdwb3J0LmluaXRpYWxEcHIgfHwgcmVzb2x2ZWQgfSB9O1xuXHRcdFx0XHR9KSxcblx0XHRcdHNldEZyYW1lbG9vcDogKGZyYW1lbG9vcDogJ2Fsd2F5cycgfCAnZGVtYW5kJyB8ICduZXZlcicgPSAnYWx3YXlzJykgPT4ge1xuXHRcdFx0XHRjb25zdCBjbG9jayA9IGdldCgnY2xvY2snKTtcblxuXHRcdFx0XHQvLyBpZiBmcmFtZWxvb3AgPT09IFwibmV2ZXJcIiBjbG9jay5lbGFwc2VkVGltZSBpcyB1cGRhdGVkIHVzaW5nIGFkdmFuY2UodGltZXN0YW1wKVxuXHRcdFx0XHRjbG9jay5zdG9wKCk7XG5cdFx0XHRcdGNsb2NrLmVsYXBzZWRUaW1lID0gMDtcblxuXHRcdFx0XHRpZiAoZnJhbWVsb29wICE9PSAnbmV2ZXInKSB7XG5cdFx0XHRcdFx0Y2xvY2suc3RhcnQoKTtcblx0XHRcdFx0XHRjbG9jay5lbGFwc2VkVGltZSA9IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1cGRhdGUoKCkgPT4gKHsgZnJhbWVsb29wIH0pKTtcblx0XHRcdH0sXG5cblx0XHRcdHByZXZpb3VzUm9vdDogcHJldmlvdXNTdG9yZSxcblx0XHRcdGludGVybmFsOiB7XG5cdFx0XHRcdGFjdGl2ZTogZmFsc2UsXG5cdFx0XHRcdHByaW9yaXR5OiAwLFxuXHRcdFx0XHRmcmFtZXM6IDAsXG5cdFx0XHRcdGxhc3RFdmVudDogbmV3IEVsZW1lbnRSZWYobnVsbCksXG5cdFx0XHRcdGludGVyYWN0aW9uOiBbXSxcblx0XHRcdFx0aG92ZXJlZDogbmV3IE1hcCgpLFxuXHRcdFx0XHRzdWJzY3JpYmVyczogW10sXG5cdFx0XHRcdGluaXRpYWxDbGljazogWzAsIDBdLFxuXHRcdFx0XHRpbml0aWFsSGl0czogW10sXG5cdFx0XHRcdGNhcHR1cmVkTWFwOiBuZXcgTWFwKCksXG5cdFx0XHRcdHN1YnNjcmliZTogKFxuXHRcdFx0XHRcdGNhbGxiYWNrOiBOZ3RCZWZvcmVSZW5kZXJSZWNvcmRbJ2NhbGxiYWNrJ10sXG5cdFx0XHRcdFx0cHJpb3JpdHkgPSAwLFxuXHRcdFx0XHRcdF9zdG9yZTogTmd0U2lnbmFsU3RvcmU8Tmd0U3RhdGU+ID0gc3RvcmUsXG5cdFx0XHRcdCkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IGludGVybmFsID0gZ2V0KCdpbnRlcm5hbCcpO1xuXHRcdFx0XHRcdC8vIElmIHRoaXMgc3Vic2NyaXB0aW9uIHdhcyBnaXZlbiBhIHByaW9yaXR5LCBpdCB0YWtlcyByZW5kZXJpbmcgaW50byBpdHMgb3duIGhhbmRzXG5cdFx0XHRcdFx0Ly8gRm9yIHRoYXQgcmVhc29uIHdlIHN3aXRjaCBvZmYgYXV0b21hdGljIHJlbmRlcmluZyBhbmQgaW5jcmVhc2UgdGhlIG1hbnVhbCBmbGFnXG5cdFx0XHRcdFx0Ly8gQXMgbG9uZyBhcyB0aGlzIGZsYWcgaXMgcG9zaXRpdmUgdGhlcmUgY2FuIGJlIG5vIGludGVybmFsIHJlbmRlcmluZyBhdCBhbGxcblx0XHRcdFx0XHQvLyBiZWNhdXNlIHRoZXJlIGNvdWxkIGJlIG11bHRpcGxlIHJlbmRlciBzdWJzY3JpcHRpb25zXG5cdFx0XHRcdFx0aW50ZXJuYWwucHJpb3JpdHkgPSBpbnRlcm5hbC5wcmlvcml0eSArIChwcmlvcml0eSA+IDAgPyAxIDogMCk7XG5cdFx0XHRcdFx0aW50ZXJuYWwuc3Vic2NyaWJlcnMucHVzaCh7IGNhbGxiYWNrLCBwcmlvcml0eSwgc3RvcmU6IF9zdG9yZSB9KTtcblx0XHRcdFx0XHQvLyBSZWdpc3RlciBzdWJzY3JpYmVyIGFuZCBzb3J0IGxheWVycyBmcm9tIGxvd2VzdCB0byBoaWdoZXN0LCBtZWFuaW5nLFxuXHRcdFx0XHRcdC8vIGhpZ2hlc3QgcHJpb3JpdHkgcmVuZGVycyBsYXN0IChvbiB0b3Agb2YgdGhlIG90aGVyIGZyYW1lcylcblx0XHRcdFx0XHRpbnRlcm5hbC5zdWJzY3JpYmVycyA9IGludGVybmFsLnN1YnNjcmliZXJzLnNvcnQoKGEsIGIpID0+IChhLnByaW9yaXR5IHx8IDApIC0gKGIucHJpb3JpdHkgfHwgMCkpO1xuXG5cdFx0XHRcdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IGludGVybmFsID0gZ2V0KCdpbnRlcm5hbCcpO1xuXHRcdFx0XHRcdFx0aWYgKGludGVybmFsPy5zdWJzY3JpYmVycykge1xuXHRcdFx0XHRcdFx0XHQvLyBEZWNyZWFzZSBtYW51YWwgZmxhZyBpZiB0aGlzIHN1YnNjcmlwdGlvbiBoYWQgYSBwcmlvcml0eVxuXHRcdFx0XHRcdFx0XHRpbnRlcm5hbC5wcmlvcml0eSA9IGludGVybmFsLnByaW9yaXR5IC0gKHByaW9yaXR5ID4gMCA/IDEgOiAwKTtcblx0XHRcdFx0XHRcdFx0Ly8gUmVtb3ZlIHN1YnNjcmliZXIgZnJvbSBsaXN0XG5cdFx0XHRcdFx0XHRcdGludGVybmFsLnN1YnNjcmliZXJzID0gaW50ZXJuYWwuc3Vic2NyaWJlcnMuZmlsdGVyKChzKSA9PiBzLmNhbGxiYWNrICE9PSBjYWxsYmFjayk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fSxcblx0XHRcdH0sXG5cdFx0fTtcblx0fSk7XG5cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHN0b3JlLCAncG9pbnRlck1pc3NlZCQnLCB7IGdldDogKCkgPT4gcG9pbnRlck1pc3NlZCQgfSk7XG5cblx0bGV0IHtcblx0XHRzaXplOiBvbGRTaXplLFxuXHRcdHZpZXdwb3J0OiB7IGRwcjogb2xkRHByIH0sXG5cdFx0Y2FtZXJhOiBvbGRDYW1lcmEsXG5cdH0gPSBzdG9yZS5zbmFwc2hvdDtcblxuXHRjb25zdCBbY2FtZXJhLCBzaXplLCB2aWV3cG9ydERwcl0gPSBbc3RvcmUuc2VsZWN0KCdjYW1lcmEnKSwgc3RvcmUuc2VsZWN0KCdzaXplJyksIHN0b3JlLnNlbGVjdCgndmlld3BvcnQnLCAnZHByJyldO1xuXG5cdGVmZmVjdCgoKSA9PiB7XG5cdFx0Y29uc3QgW25ld0NhbWVyYSwgbmV3U2l6ZSwgbmV3RHByLCBnbF0gPSBbY2FtZXJhKCksIHNpemUoKSwgdmlld3BvcnREcHIoKSwgc3RvcmUuc25hcHNob3QuZ2xdO1xuXG5cdFx0Ly8gUmVzaXplIGNhbWVyYSBhbmQgcmVuZGVyZXIgb24gY2hhbmdlcyB0byBzaXplIGFuZCBwaXhlbC1yYXRpb1xuXHRcdGlmIChuZXdTaXplICE9PSBvbGRTaXplIHx8IG5ld0RwciAhPT0gb2xkRHByKSB7XG5cdFx0XHRvbGRTaXplID0gbmV3U2l6ZTtcblx0XHRcdG9sZERwciA9IG5ld0Rwcjtcblx0XHRcdC8vIFVwZGF0ZSBjYW1lcmEgJiByZW5kZXJlclxuXHRcdFx0dXBkYXRlQ2FtZXJhKG5ld0NhbWVyYSwgbmV3U2l6ZSk7XG5cdFx0XHRnbC5zZXRQaXhlbFJhdGlvKG5ld0Rwcik7XG5cblx0XHRcdGNvbnN0IHVwZGF0ZVN0eWxlID0gdHlwZW9mIEhUTUxDYW52YXNFbGVtZW50ICE9PSAndW5kZWZpbmVkJyAmJiBnbC5kb21FbGVtZW50IGluc3RhbmNlb2YgSFRNTENhbnZhc0VsZW1lbnQ7XG5cdFx0XHRnbC5zZXRTaXplKG5ld1NpemUud2lkdGgsIG5ld1NpemUuaGVpZ2h0LCB1cGRhdGVTdHlsZSk7XG5cdFx0fVxuXG5cdFx0Ly8gVXBkYXRlIHZpZXdwb3J0IG9uY2UgdGhlIGNhbWVyYSBjaGFuZ2VzXG5cdFx0aWYgKG5ld0NhbWVyYSAhPT0gb2xkQ2FtZXJhKSB7XG5cdFx0XHRvbGRDYW1lcmEgPSBuZXdDYW1lcmE7XG5cdFx0XHR1cGRhdGVDYW1lcmEobmV3Q2FtZXJhLCBuZXdTaXplKTtcblx0XHRcdC8vIFVwZGF0ZSB2aWV3cG9ydFxuXHRcdFx0c3RvcmUudXBkYXRlKChzdGF0ZSkgPT4gKHsgdmlld3BvcnQ6IHsgLi4uc3RhdGUudmlld3BvcnQsIC4uLnN0YXRlLnZpZXdwb3J0LmdldEN1cnJlbnRWaWV3cG9ydChuZXdDYW1lcmEpIH0gfSkpO1xuXHRcdH1cblx0fSk7XG5cblx0cmV0dXJuIHN0b3JlO1xufVxuXG5leHBvcnQgY29uc3QgTkdUX1NUT1JFID0gbmV3IEluamVjdGlvblRva2VuPE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPj4oJ05ndFN0b3JlIFRva2VuJyk7XG5leHBvcnQgY29uc3QgW2luamVjdE5ndFN0b3JlLCBwcm92aWRlTmd0U3RvcmVdID0gY3JlYXRlSW5qZWN0aW9uVG9rZW4oc3RvcmVGYWN0b3J5LCB7XG5cdGlzUm9vdDogZmFsc2UsXG5cdGRlcHM6IFtbbmV3IE9wdGlvbmFsKCksIG5ldyBTa2lwU2VsZigpLCBOR1RfU1RPUkVdXSxcblx0dG9rZW46IE5HVF9TVE9SRSxcbn0pO1xuIl19
|
|
174
|
+
export function provideStore(store) {
|
|
175
|
+
if (store) {
|
|
176
|
+
return { provide: NGT_STORE, useFactory: store };
|
|
177
|
+
}
|
|
178
|
+
return { provide: NGT_STORE, useFactory: storeFactory };
|
|
179
|
+
}
|
|
180
|
+
export function injectStore(options) {
|
|
181
|
+
return inject(NGT_STORE, options);
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBaUIsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQVUsS0FBSyxFQUErQyxPQUFPLEVBQUUsT0FBTyxFQUFpQixNQUFNLE9BQU8sQ0FBQztBQUdwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQThIOUMsU0FBUyxZQUFZLENBQUMsYUFBOEM7SUFDbkUsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFFcEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2IsZ0VBQWdFO1FBQ2hFLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsVUFBVSxFQUFFLENBQUM7SUFFMUIsb0VBQW9FO0lBQ3BFLE1BQU0sY0FBYyxHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7SUFFakQsTUFBTSxLQUFLLEdBQTZCLFdBQVcsQ0FBVyxDQUFDLEVBQUUsR0FB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QyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakgsQ0FBQztJQUNGLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxLQUFLLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUEyQixnQkFBZ0IsQ0FBQyxDQUFDO0FBRXhGLE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBc0M7SUFDbEUsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQ3pELENBQUM7QUFLRCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQXVCO0lBQ2xELE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxPQUF3QixDQUFDLENBQUM7QUFDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdE9wdGlvbnMsIEluamVjdGlvblRva2VuLCBlZmZlY3QsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FtZXJhLCBDbG9jaywgRXZlbnREaXNwYXRjaGVyLCBPYmplY3QzRCwgUmF5Y2FzdGVyLCBTY2VuZSwgVmVjdG9yMiwgVmVjdG9yMywgV2ViR0xSZW5kZXJlciB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndENhbWVyYSwgTmd0RG9tRXZlbnQsIE5ndEV2ZW50TWFuYWdlciwgTmd0UG9pbnRlckNhcHR1cmVUYXJnZXQsIE5ndFRocmVlRXZlbnQgfSBmcm9tICcuL2V2ZW50cyc7XG5pbXBvcnQgeyBOZ3RJbnN0YW5jZU5vZGUgfSBmcm9tICcuL2luc3RhbmNlJztcbmltcG9ydCB7IGluamVjdExvb3AgfSBmcm9tICcuL2xvb3AnO1xuaW1wb3J0IHsgaXMgfSBmcm9tICcuL3V0aWxzL2lzJztcbmltcG9ydCB7IG1ha2VEcHIgfSBmcm9tICcuL3V0aWxzL21ha2UnO1xuaW1wb3J0IHsgTmd0U2lnbmFsU3RvcmUsIHNpZ25hbFN0b3JlIH0gZnJvbSAnLi91dGlscy9zaWduYWwtc3RvcmUnO1xuaW1wb3J0IHsgdXBkYXRlQ2FtZXJhIH0gZnJvbSAnLi91dGlscy91cGRhdGUnO1xuXG5leHBvcnQgdHlwZSBOZ3RSZW5kZXJlckxpa2UgPSB7IHJlbmRlcjogKHNjZW5lOiBTY2VuZSwgY2FtZXJhOiBDYW1lcmEpID0+IGFueSB9O1xuZXhwb3J0IHR5cGUgTmd0Q2FtZXJhTWFudWFsID0gTmd0Q2FtZXJhICYgeyBtYW51YWw/OiBib29sZWFuIH07XG5leHBvcnQgdHlwZSBOZ3REcHIgPSBudW1iZXIgfCBbbWluOiBudW1iZXIsIG1heDogbnVtYmVyXTtcbmV4cG9ydCB0eXBlIE5ndFNpemUgPSB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyOyB0b3A6IG51bWJlcjsgbGVmdDogbnVtYmVyIH07XG5cbmV4cG9ydCB0eXBlIE5ndFZpZXdwb3J0ID0gTmd0U2l6ZSAmIHtcblx0LyoqIFRoZSBpbml0aWFsIHBpeGVsIHJhdGlvICovXG5cdGluaXRpYWxEcHI6IG51bWJlcjtcblx0LyoqIEN1cnJlbnQgcGl4ZWwgcmF0aW8gKi9cblx0ZHByOiBudW1iZXI7XG5cdC8qKiBzaXplLndpZHRoIC8gdmlld3BvcnQud2lkdGggKi9cblx0ZmFjdG9yOiBudW1iZXI7XG5cdC8qKiBDYW1lcmEgZGlzdGFuY2UgKi9cblx0ZGlzdGFuY2U6IG51bWJlcjtcblx0LyoqIENhbWVyYSBhc3BlY3QgcmF0aW86IHdpZHRoIC8gaGVpZ2h0ICovXG5cdGFzcGVjdDogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgTmd0UGVyZm9ybWFuY2UgPSB7XG5cdC8qKiBDdXJyZW50IHBlcmZvcm1hbmNlIG5vcm1hbCwgYmV0d2VlbiBtaW4gYW5kIG1heCAqL1xuXHRjdXJyZW50OiBudW1iZXI7XG5cdC8qKiBIb3cgbG93IHRoZSBwZXJmb3JtYW5jZSBjYW4gZ28sIGJldHdlZW4gMCBhbmQgbWF4ICovXG5cdG1pbjogbnVtYmVyO1xuXHQvKiogSG93IGhpZ2ggdGhlIHBlcmZvcm1hbmNlIGNhbiBnbywgYmV0d2VlbiBtaW4gYW5kIG1heCAqL1xuXHRtYXg6IG51bWJlcjtcblx0LyoqIFRpbWUgdW50aWwgY3VycmVudCByZXR1cm5zIHRvIG1heCBpbiBtcyAqL1xuXHRkZWJvdW5jZTogbnVtYmVyO1xuXHQvKiogU2V0cyBjdXJyZW50IHRvIG1pbiwgcHV0cyB0aGUgc3lzdGVtIGluIHJlZ3Jlc3Npb24gKi9cblx0cmVncmVzczogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIE5ndFJlbmRlclN0YXRlID0gTmd0U3RhdGUgJiB7IGRlbHRhOiBudW1iZXI7IGZyYW1lPzogWFJGcmFtZSB9O1xuXG5leHBvcnQgdHlwZSBOZ3RCZWZvcmVSZW5kZXJFdmVudDxUT2JqZWN0IGV4dGVuZHMgTmd0SW5zdGFuY2VOb2RlID0gTmd0SW5zdGFuY2VOb2RlPiA9IHtcblx0c3RhdGU6IE5ndFJlbmRlclN0YXRlO1xuXHRvYmplY3Q6IFRPYmplY3Q7XG59O1xuXG5leHBvcnQgdHlwZSBOZ3RCZWZvcmVSZW5kZXJSZWNvcmQgPSB7XG5cdGNhbGxiYWNrOiAoc3RhdGU6IE5ndFJlbmRlclN0YXRlKSA9PiB2b2lkO1xuXHRzdG9yZTogTmd0U2lnbmFsU3RvcmU8Tmd0U3RhdGU+O1xuXHRwcmlvcml0eT86IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIE5ndEludGVybmFsU3RhdGUgPSB7XG5cdGFjdGl2ZTogYm9vbGVhbjtcblx0cHJpb3JpdHk6IG51bWJlcjtcblx0ZnJhbWVzOiBudW1iZXI7XG5cdGxhc3RFdmVudDogRWxlbWVudFJlZjxOZ3REb21FdmVudCB8IG51bGw+O1xuXHRpbnRlcmFjdGlvbjogT2JqZWN0M0RbXTtcblx0aG92ZXJlZDogTWFwPHN0cmluZywgTmd0VGhyZWVFdmVudDxOZ3REb21FdmVudD4+O1xuXHRjYXB0dXJlZE1hcDogTWFwPG51bWJlciwgTWFwPE9iamVjdDNELCBOZ3RQb2ludGVyQ2FwdHVyZVRhcmdldD4+O1xuXHRpbml0aWFsQ2xpY2s6IFt4OiBudW1iZXIsIHk6IG51bWJlcl07XG5cdGluaXRpYWxIaXRzOiBPYmplY3QzRFtdO1xuXHRzdWJzY3JpYmVyczogTmd0QmVmb3JlUmVuZGVyUmVjb3JkW107XG5cdHN1YnNjcmliZTogKFxuXHRcdGNhbGxiYWNrOiBOZ3RCZWZvcmVSZW5kZXJSZWNvcmRbJ2NhbGxiYWNrJ10sXG5cdFx0cHJpb3JpdHk/OiBudW1iZXIsXG5cdFx0c3RvcmU/OiBOZ3RTaWduYWxTdG9yZTxOZ3RTdGF0ZT4sXG5cdCkgPT4gKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIE5ndFN0YXRlID0ge1xuXHQvKiogVGhlIGluc3RhbmNlIG9mIHRoZSByZW5kZXJlciAqL1xuXHRnbDogV2ViR0xSZW5kZXJlcjtcblx0LyoqIERlZmF1bHQgY2FtZXJhICovXG5cdGNhbWVyYTogTmd0Q2FtZXJhTWFudWFsO1xuXHQvKiogRGVmYXVsdCBzY2VuZSAqL1xuXHRzY2VuZTogU2NlbmU7XG5cdC8qKiBEZWZhdWx0IHJheWNhc3RlciAqL1xuXHRyYXljYXN0ZXI6IFJheWNhc3Rlcjtcblx0LyoqIERlZmF1bHQgY2xvY2sgKi9cblx0Y2xvY2s6IENsb2NrO1xuXHQvKiogRXZlbnQgbGF5ZXIgaW50ZXJmYWNlLCBjb250YWlucyB0aGUgZXZlbnQgaGFuZGxlciBhbmQgdGhlIG5vZGUgdGhleSdyZSBjb25uZWN0ZWQgdG8gKi9cblx0ZXZlbnRzOiBOZ3RFdmVudE1hbmFnZXI8YW55Pjtcblx0LyoqIFhSIGludGVyZmFjZSAqL1xuXHR4cjogeyBjb25uZWN0OiAoKSA9PiB2b2lkOyBkaXNjb25uZWN0OiAoKSA9PiB2b2lkIH07XG5cdC8qKiBDdXJyZW50bHkgdXNlZCBjb250cm9scyAqL1xuXHRjb250cm9sczogRXZlbnREaXNwYXRjaGVyIHwgbnVsbDtcblx0LyoqIE5vcm1hbGl6ZWQgZXZlbnQgY29vcmRpbmF0ZXMgKi9cblx0cG9pbnRlcjogVmVjdG9yMjtcblx0LyogV2hldGhlciB0byBlbmFibGUgcjEzOSdzIENvbG9yTWFuYWdlbWVudCAqL1xuXHRsZWdhY3k6IGJvb2xlYW47XG5cdC8qKiBTaG9ydGN1dCB0byBnbC5vdXRwdXRDb2xvclNwYWNlID0gTGluZWFyU1JHQkNvbG9yU3BhY2UgKi9cblx0bGluZWFyOiBib29sZWFuO1xuXHQvKiogU2hvcnRjdXQgdG8gZ2wudG9uZU1hcHBpbmcgPSBOb1RvbmVtYXBwaW5nICovXG5cdGZsYXQ6IGJvb2xlYW47XG5cdC8qKiBSZW5kZXIgbG9vcCBmbGFncyAqL1xuXHRmcmFtZWxvb3A6ICdhbHdheXMnIHwgJ2RlbWFuZCcgfCAnbmV2ZXInO1xuXHQvKiogQWRhcHRpdmUgcGVyZm9ybWFuY2UgaW50ZXJmYWNlICovXG5cdHBlcmZvcm1hbmNlOiBOZ3RQZXJmb3JtYW5jZTtcblx0LyoqIFJlYWN0aXZlIHBpeGVsLXNpemUgb2YgdGhlIGNhbnZhcyAqL1xuXHRzaXplOiBOZ3RTaXplO1xuXHQvKiogUmVhY3RpdmUgc2l6ZSBvZiB0aGUgdmlld3BvcnQgaW4gdGhyZWVqcyB1bml0cyAqL1xuXHR2aWV3cG9ydDogTmd0Vmlld3BvcnQgJiB7XG5cdFx0Z2V0Q3VycmVudFZpZXdwb3J0OiAoXG5cdFx0XHRjYW1lcmE/OiBOZ3RDYW1lcmEsXG5cdFx0XHR0YXJnZXQ/OiBWZWN0b3IzIHwgUGFyYW1ldGVyczxWZWN0b3IzWydzZXQnXT4sXG5cdFx0XHRzaXplPzogTmd0U2l6ZSxcblx0XHQpID0+IE9taXQ8Tmd0Vmlld3BvcnQsICdkcHInIHwgJ2luaXRpYWxEcHInPjtcblx0fTtcblx0LyoqIEZsYWdzIHRoZSBjYW52YXMgZm9yIHJlbmRlciwgYnV0IGRvZXNuJ3QgcmVuZGVyIGluIGl0c2VsZiAqL1xuXHRpbnZhbGlkYXRlOiAoZnJhbWVzPzogbnVtYmVyKSA9PiB2b2lkO1xuXHQvKiogQWR2YW5jZSAocmVuZGVyKSBvbmUgc3RlcCAqL1xuXHRhZHZhbmNlOiAodGltZXN0YW1wOiBudW1iZXIsIHJ1bkdsb2JhbEVmZmVjdHM/OiBib29sZWFuKSA9PiB2b2lkO1xuXHQvKiogU2hvcnRjdXQgdG8gc2V0dGluZyB0aGUgZXZlbnQgbGF5ZXIgKi9cblx0c2V0RXZlbnRzOiAoZXZlbnRzOiBQYXJ0aWFsPE5ndEV2ZW50TWFuYWdlcjxhbnk+PikgPT4gdm9pZDtcblx0LyoqXG5cdCAqIFNob3J0Y3V0IHRvIG1hbnVhbCBzaXppbmdcblx0ICovXG5cdHNldFNpemU6ICh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgdG9wPzogbnVtYmVyLCBsZWZ0PzogbnVtYmVyKSA9PiB2b2lkO1xuXHQvKiogU2hvcnRjdXQgdG8gbWFudWFsIHNldHRpbmcgdGhlIHBpeGVsIHJhdGlvICovXG5cdHNldERwcjogKGRwcjogTmd0RHByKSA9PiB2b2lkO1xuXHQvKiogU2hvcnRjdXQgdG8gZnJhbWVsb29wIGZsYWdzICovXG5cdHNldEZyYW1lbG9vcDogKGZyYW1lbG9vcD86ICdhbHdheXMnIHwgJ2RlbWFuZCcgfCAnbmV2ZXInKSA9PiB2b2lkO1xuXHQvKiogV2hlbiB0aGUgY2FudmFzIHdhcyBjbGlja2VkIGJ1dCBub3RoaW5nIHdhcyBoaXQgKi9cblx0LyoqIFBvaW50ZXJNaXNzZWQgT2JzZXJ2YWJsZSAqL1xuXHRwb2ludGVyTWlzc2VkJDogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50Pjtcblx0LyoqIElmIHRoaXMgc3RhdGUgbW9kZWwgaXMgbGF5ZXJlZCAodmlhIGNyZWF0ZVBvcnRhbCkgdGhlbiB0aGlzIGNvbnRhaW5zIHRoZSBwcmV2aW91cyBsYXllciAqL1xuXHRwcmV2aW91c1Jvb3Q6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPiB8IG51bGw7XG5cdC8qKiBJbnRlcm5hbHMgKi9cblx0aW50ZXJuYWw6IE5ndEludGVybmFsU3RhdGU7XG59O1xuXG5mdW5jdGlvbiBzdG9yZUZhY3RvcnkocHJldmlvdXNTdG9yZTogTmd0U2lnbmFsU3RvcmU8Tmd0U3RhdGU+IHwgbnVsbCkge1xuXHRjb25zdCBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cdGNvbnN0IHdpbmRvdyA9IGRvY3VtZW50LmRlZmF1bHRWaWV3O1xuXG5cdGlmICghd2luZG93KSB7XG5cdFx0Ly8gVE9ETzogcmV2aXNpdCB0aGlzIHdoZW4gd2UgbmVlZCB0byBzdXBwb3J0IG11bHRpcGxlIHBsYXRmb3Jtc1xuXHRcdHRocm93IG5ldyBFcnJvcihgW05HVF0gV2luZG93IGlzIG5vdCBhdmFpbGFibGUuYCk7XG5cdH1cblxuXHRjb25zdCBsb29wID0gaW5qZWN0TG9vcCgpO1xuXG5cdC8vIE5PVEU6IHVzaW5nIFN1YmplY3QgYmVjYXVzZSB3ZSBkbyBub3QgY2FyZSBhYm91dCBsYXRlLXN1YnNjcmliZXJzXG5cdGNvbnN0IHBvaW50ZXJNaXNzZWQkID0gbmV3IFN1YmplY3Q8TW91c2VFdmVudD4oKTtcblxuXHRjb25zdCBzdG9yZTogTmd0U2lnbmFsU3RvcmU8Tmd0U3RhdGU+ID0gc2lnbmFsU3RvcmU8Tmd0U3RhdGU+KCh7IGdldCwgdXBkYXRlIH0pID0+IHtcblx0XHRjb25zdCB7IGludmFsaWRhdGUsIGFkdmFuY2UgfSA9IGxvb3A7XG5cblx0XHRjb25zdCBwb3NpdGlvbiA9IG5ldyBWZWN0b3IzKCk7XG5cdFx0Y29uc3QgZGVmYXVsdFRhcmdldCA9IG5ldyBWZWN0b3IzKCk7XG5cdFx0Y29uc3QgdGVtcFRhcmdldCA9IG5ldyBWZWN0b3IzKCk7XG5cblx0XHRmdW5jdGlvbiBnZXRDdXJyZW50Vmlld3BvcnQoXG5cdFx0XHRjYW1lcmE6IE5ndENhbWVyYSA9IGdldCgnY2FtZXJhJyksXG5cdFx0XHR0YXJnZXQ6IFZlY3RvcjMgfCBQYXJhbWV0ZXJzPFZlY3RvcjNbJ3NldCddPiA9IGRlZmF1bHRUYXJnZXQsXG5cdFx0XHRzaXplOiBOZ3RTaXplID0gZ2V0KCdzaXplJyksXG5cdFx0KTogT21pdDxOZ3RWaWV3cG9ydCwgJ2RwcicgfCAnaW5pdGlhbERwcic+IHtcblx0XHRcdGNvbnN0IHsgd2lkdGgsIGhlaWdodCwgdG9wLCBsZWZ0IH0gPSBzaXplO1xuXHRcdFx0Y29uc3QgYXNwZWN0ID0gd2lkdGggLyBoZWlnaHQ7XG5cblx0XHRcdGlmICh0YXJnZXQgaW5zdGFuY2VvZiBWZWN0b3IzKSB0ZW1wVGFyZ2V0LmNvcHkodGFyZ2V0KTtcblx0XHRcdGVsc2UgdGVtcFRhcmdldC5zZXQoLi4udGFyZ2V0KTtcblxuXHRcdFx0Y29uc3QgZGlzdGFuY2UgPSBjYW1lcmEuZ2V0V29ybGRQb3NpdGlvbihwb3NpdGlvbikuZGlzdGFuY2VUbyh0ZW1wVGFyZ2V0KTtcblxuXHRcdFx0aWYgKGlzLm9ydGhvZ3JhcGhpY0NhbWVyYShjYW1lcmEpKSB7XG5cdFx0XHRcdHJldHVybiB7IHdpZHRoOiB3aWR0aCAvIGNhbWVyYS56b29tLCBoZWlnaHQ6IGhlaWdodCAvIGNhbWVyYS56b29tLCB0b3AsIGxlZnQsIGZhY3RvcjogMSwgZGlzdGFuY2UsIGFzcGVjdCB9O1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBmb3YgPSAoY2FtZXJhLmZvdiAqIE1hdGguUEkpIC8gMTgwOyAvLyBjb252ZXJ0IHZlcnRpY2FsIGZvdiB0byByYWRpYW5zXG5cdFx0XHRjb25zdCBoID0gMiAqIE1hdGgudGFuKGZvdiAvIDIpICogZGlzdGFuY2U7IC8vIHZpc2libGUgaGVpZ2h0XG5cdFx0XHRjb25zdCB3ID0gaCAqICh3aWR0aCAvIGhlaWdodCk7XG5cdFx0XHRyZXR1cm4geyB3aWR0aDogdywgaGVpZ2h0OiBoLCB0b3AsIGxlZnQsIGZhY3Rvcjogd2lkdGggLyB3LCBkaXN0YW5jZSwgYXNwZWN0IH07XG5cdFx0fVxuXG5cdFx0bGV0IHBlcmZvcm1hbmNlVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cdFx0Y29uc3Qgc2V0UGVyZm9ybWFuY2VDdXJyZW50ID0gKGN1cnJlbnQ6IG51bWJlcikgPT5cblx0XHRcdHVwZGF0ZSgoc3RhdGUpID0+ICh7IHBlcmZvcm1hbmNlOiB7IC4uLnN0YXRlLnBlcmZvcm1hbmNlLCBjdXJyZW50IH0gfSkpO1xuXG5cdFx0Y29uc3QgcG9pbnRlciA9IG5ldyBWZWN0b3IyKCk7XG5cblx0XHRyZXR1cm4ge1xuXHRcdFx0cG9pbnRlck1pc3NlZCQ6IHBvaW50ZXJNaXNzZWQkLmFzT2JzZXJ2YWJsZSgpLFxuXHRcdFx0ZXZlbnRzOiB7IHByaW9yaXR5OiAxLCBlbmFibGVkOiB0cnVlLCBjb25uZWN0ZWQ6IGZhbHNlIH0sXG5cblx0XHRcdGludmFsaWRhdGU6IChmcmFtZXMgPSAxKSA9PiBpbnZhbGlkYXRlKHN0b3JlLCBmcmFtZXMpLFxuXHRcdFx0YWR2YW5jZTogKHRpbWVzdGFtcDogbnVtYmVyLCBydW5HbG9iYWxFZmZlY3RzPzogYm9vbGVhbikgPT4gYWR2YW5jZSh0aW1lc3RhbXAsIHJ1bkdsb2JhbEVmZmVjdHMsIHN0b3JlKSxcblxuXHRcdFx0bGVnYWN5OiBmYWxzZSxcblx0XHRcdGxpbmVhcjogZmFsc2UsXG5cdFx0XHRmbGF0OiBmYWxzZSxcblxuXHRcdFx0Y29udHJvbHM6IG51bGwsXG5cdFx0XHRjbG9jazogbmV3IENsb2NrKCksXG5cdFx0XHRwb2ludGVyLFxuXG5cdFx0XHRmcmFtZWxvb3A6ICdhbHdheXMnLFxuXG5cdFx0XHRwZXJmb3JtYW5jZToge1xuXHRcdFx0XHRjdXJyZW50OiAxLFxuXHRcdFx0XHRtaW46IDAuNSxcblx0XHRcdFx0bWF4OiAxLFxuXHRcdFx0XHRkZWJvdW5jZTogMjAwLFxuXHRcdFx0XHRyZWdyZXNzOiAoKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3Qgc3RhdGUgPSBnZXQoKTtcblx0XHRcdFx0XHQvLyBDbGVhciB0aW1lb3V0XG5cdFx0XHRcdFx0aWYgKHBlcmZvcm1hbmNlVGltZW91dCkgY2xlYXJUaW1lb3V0KHBlcmZvcm1hbmNlVGltZW91dCk7XG5cdFx0XHRcdFx0Ly8gU2V0IGxvd2VyIGJvdW5kIHBlcmZvcm1hbmNlXG5cdFx0XHRcdFx0aWYgKHN0YXRlLnBlcmZvcm1hbmNlLmN1cnJlbnQgIT09IHN0YXRlLnBlcmZvcm1hbmNlLm1pbikgc2V0UGVyZm9ybWFuY2VDdXJyZW50KHN0YXRlLnBlcmZvcm1hbmNlLm1pbik7XG5cdFx0XHRcdFx0Ly8gR28gYmFjayB0byB1cHBlciBib3VuZCBwZXJmb3JtYW5jZSBhZnRlciBhIHdoaWxlIHVubGVzcyBzb21ldGhpbmcgcmVncmVzc2VzIG1lYW53aGlsZVxuXHRcdFx0XHRcdHBlcmZvcm1hbmNlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHRcdFx0c2V0UGVyZm9ybWFuY2VDdXJyZW50KGdldCgncGVyZm9ybWFuY2UnLCAnbWF4JykpO1xuXHRcdFx0XHRcdFx0Ly8gc2FmZURldGVjdENoYW5nZXMoY2RyKTtcblx0XHRcdFx0XHR9LCBzdGF0ZS5wZXJmb3JtYW5jZS5kZWJvdW5jZSk7XG5cdFx0XHRcdH0sXG5cdFx0XHR9LFxuXG5cdFx0XHRzaXplOiB7IHdpZHRoOiAwLCBoZWlnaHQ6IDAsIHRvcDogMCwgbGVmdDogMCwgdXBkYXRlU3R5bGU6IGZhbHNlIH0sXG5cdFx0XHR2aWV3cG9ydDoge1xuXHRcdFx0XHRpbml0aWFsRHByOiAwLFxuXHRcdFx0XHRkcHI6IDAsXG5cdFx0XHRcdHdpZHRoOiAwLFxuXHRcdFx0XHRoZWlnaHQ6IDAsXG5cdFx0XHRcdHRvcDogMCxcblx0XHRcdFx0bGVmdDogMCxcblx0XHRcdFx0YXNwZWN0OiAwLFxuXHRcdFx0XHRkaXN0YW5jZTogMCxcblx0XHRcdFx0ZmFjdG9yOiAwLFxuXHRcdFx0XHRnZXRDdXJyZW50Vmlld3BvcnQsXG5cdFx0XHR9LFxuXG5cdFx0XHRzZXRFdmVudHM6IChldmVudHM6IFBhcnRpYWw8Tmd0RXZlbnRNYW5hZ2VyPGFueT4+KSA9PlxuXHRcdFx0XHR1cGRhdGUoKHN0YXRlKSA9PiAoeyAuLi5zdGF0ZSwgZXZlbnRzOiB7IC4uLnN0YXRlLmV2ZW50cywgLi4uZXZlbnRzIH0gfSkpLFxuXHRcdFx0c2V0U2l6ZTogKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyLCB0b3A/OiBudW1iZXIsIGxlZnQ/OiBudW1iZXIpID0+IHtcblx0XHRcdFx0Y29uc3QgY2FtZXJhID0gZ2V0KCdjYW1lcmEnKTtcblx0XHRcdFx0Y29uc3Qgc2l6ZSA9IHsgd2lkdGgsIGhlaWdodCwgdG9wOiB0b3AgfHwgMCwgbGVmdDogbGVmdCB8fCAwIH07XG5cdFx0XHRcdHVwZGF0ZSgoc3RhdGUpID0+ICh7XG5cdFx0XHRcdFx0c2l6ZSxcblx0XHRcdFx0XHR2aWV3cG9ydDogeyAuLi5zdGF0ZS52aWV3cG9ydCwgLi4uZ2V0Q3VycmVudFZpZXdwb3J0KGNhbWVyYSwgZGVmYXVsdFRhcmdldCwgc2l6ZSkgfSxcblx0XHRcdFx0fSkpO1xuXHRcdFx0fSxcblx0XHRcdHNldERwcjogKGRwcjogTmd0RHByKSA9PlxuXHRcdFx0XHR1cGRhdGUoKHN0YXRlKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgcmVzb2x2ZWQgPSBtYWtlRHByKGRwciwgd2luZG93KTtcblx0XHRcdFx0XHRyZXR1cm4geyB2aWV3cG9ydDogeyAuLi5zdGF0ZS52aWV3cG9ydCwgZHByOiByZXNvbHZlZCwgaW5pdGlhbERwcjogc3RhdGUudmlld3BvcnQuaW5pdGlhbERwciB8fCByZXNvbHZlZCB9IH07XG5cdFx0XHRcdH0pLFxuXHRcdFx0c2V0RnJhbWVsb29wOiAoZnJhbWVsb29wOiAnYWx3YXlzJyB8ICdkZW1hbmQnIHwgJ25ldmVyJyA9ICdhbHdheXMnKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGNsb2NrID0gZ2V0KCdjbG9jaycpO1xuXG5cdFx0XHRcdC8vIGlmIGZyYW1lbG9vcCA9PT0gXCJuZXZlclwiIGNsb2NrLmVsYXBzZWRUaW1lIGlzIHVwZGF0ZWQgdXNpbmcgYWR2YW5jZSh0aW1lc3RhbXApXG5cdFx0XHRcdGNsb2NrLnN0b3AoKTtcblx0XHRcdFx0Y2xvY2suZWxhcHNlZFRpbWUgPSAwO1xuXG5cdFx0XHRcdGlmIChmcmFtZWxvb3AgIT09ICduZXZlcicpIHtcblx0XHRcdFx0XHRjbG9jay5zdGFydCgpO1xuXHRcdFx0XHRcdGNsb2NrLmVsYXBzZWRUaW1lID0gMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHVwZGF0ZSgoKSA9PiAoeyBmcmFtZWxvb3AgfSkpO1xuXHRcdFx0fSxcblxuXHRcdFx0cHJldmlvdXNSb290OiBwcmV2aW91c1N0b3JlLFxuXHRcdFx0aW50ZXJuYWw6IHtcblx0XHRcdFx0YWN0aXZlOiBmYWxzZSxcblx0XHRcdFx0cHJpb3JpdHk6IDAsXG5cdFx0XHRcdGZyYW1lczogMCxcblx0XHRcdFx0bGFzdEV2ZW50OiBuZXcgRWxlbWVudFJlZihudWxsKSxcblx0XHRcdFx0aW50ZXJhY3Rpb246IFtdLFxuXHRcdFx0XHRob3ZlcmVkOiBuZXcgTWFwKCksXG5cdFx0XHRcdHN1YnNjcmliZXJzOiBbXSxcblx0XHRcdFx0aW5pdGlhbENsaWNrOiBbMCwgMF0sXG5cdFx0XHRcdGluaXRpYWxIaXRzOiBbXSxcblx0XHRcdFx0Y2FwdHVyZWRNYXA6IG5ldyBNYXAoKSxcblx0XHRcdFx0c3Vic2NyaWJlOiAoXG5cdFx0XHRcdFx0Y2FsbGJhY2s6IE5ndEJlZm9yZVJlbmRlclJlY29yZFsnY2FsbGJhY2snXSxcblx0XHRcdFx0XHRwcmlvcml0eSA9IDAsXG5cdFx0XHRcdFx0X3N0b3JlOiBOZ3RTaWduYWxTdG9yZTxOZ3RTdGF0ZT4gPSBzdG9yZSxcblx0XHRcdFx0KSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgaW50ZXJuYWwgPSBnZXQoJ2ludGVybmFsJyk7XG5cdFx0XHRcdFx0Ly8gSWYgdGhpcyBzdWJzY3JpcHRpb24gd2FzIGdpdmVuIGEgcHJpb3JpdHksIGl0IHRha2VzIHJlbmRlcmluZyBpbnRvIGl0cyBvd24gaGFuZHNcblx0XHRcdFx0XHQvLyBGb3IgdGhhdCByZWFzb24gd2Ugc3dpdGNoIG9mZiBhdXRvbWF0aWMgcmVuZGVyaW5nIGFuZCBpbmNyZWFzZSB0aGUgbWFudWFsIGZsYWdcblx0XHRcdFx0XHQvLyBBcyBsb25nIGFzIHRoaXMgZmxhZyBpcyBwb3NpdGl2ZSB0aGVyZSBjYW4gYmUgbm8gaW50ZXJuYWwgcmVuZGVyaW5nIGF0IGFsbFxuXHRcdFx0XHRcdC8vIGJlY2F1c2UgdGhlcmUgY291bGQgYmUgbXVsdGlwbGUgcmVuZGVyIHN1YnNjcmlwdGlvbnNcblx0XHRcdFx0XHRpbnRlcm5hbC5wcmlvcml0eSA9IGludGVybmFsLnByaW9yaXR5ICsgKHByaW9yaXR5ID4gMCA/IDEgOiAwKTtcblx0XHRcdFx0XHRpbnRlcm5hbC5zdWJzY3JpYmVycy5wdXNoKHsgY2FsbGJhY2ssIHByaW9yaXR5LCBzdG9yZTogX3N0b3JlIH0pO1xuXHRcdFx0XHRcdC8vIFJlZ2lzdGVyIHN1YnNjcmliZXIgYW5kIHNvcnQgbGF5ZXJzIGZyb20gbG93ZXN0IHRvIGhpZ2hlc3QsIG1lYW5pbmcsXG5cdFx0XHRcdFx0Ly8gaGlnaGVzdCBwcmlvcml0eSByZW5kZXJzIGxhc3QgKG9uIHRvcCBvZiB0aGUgb3RoZXIgZnJhbWVzKVxuXHRcdFx0XHRcdGludGVybmFsLnN1YnNjcmliZXJzID0gaW50ZXJuYWwuc3Vic2NyaWJlcnMuc29ydCgoYSwgYikgPT4gKGEucHJpb3JpdHkgfHwgMCkgLSAoYi5wcmlvcml0eSB8fCAwKSk7XG5cblx0XHRcdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgaW50ZXJuYWwgPSBnZXQoJ2ludGVybmFsJyk7XG5cdFx0XHRcdFx0XHRpZiAoaW50ZXJuYWw/LnN1YnNjcmliZXJzKSB7XG5cdFx0XHRcdFx0XHRcdC8vIERlY3JlYXNlIG1hbnVhbCBmbGFnIGlmIHRoaXMgc3Vic2NyaXB0aW9uIGhhZCBhIHByaW9yaXR5XG5cdFx0XHRcdFx0XHRcdGludGVybmFsLnByaW9yaXR5ID0gaW50ZXJuYWwucHJpb3JpdHkgLSAocHJpb3JpdHkgPiAwID8gMSA6IDApO1xuXHRcdFx0XHRcdFx0XHQvLyBSZW1vdmUgc3Vic2NyaWJlciBmcm9tIGxpc3Rcblx0XHRcdFx0XHRcdFx0aW50ZXJuYWwuc3Vic2NyaWJlcnMgPSBpbnRlcm5hbC5zdWJzY3JpYmVycy5maWx0ZXIoKHMpID0+IHMuY2FsbGJhY2sgIT09IGNhbGxiYWNrKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9LFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9KTtcblxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoc3RvcmUsICdwb2ludGVyTWlzc2VkJCcsIHsgZ2V0OiAoKSA9PiBwb2ludGVyTWlzc2VkJCB9KTtcblxuXHRsZXQge1xuXHRcdHNpemU6IG9sZFNpemUsXG5cdFx0dmlld3BvcnQ6IHsgZHByOiBvbGREcHIgfSxcblx0XHRjYW1lcmE6IG9sZENhbWVyYSxcblx0fSA9IHN0b3JlLnNuYXBzaG90O1xuXG5cdGVmZmVjdCgoKSA9PiB7XG5cdFx0Y29uc3Qge1xuXHRcdFx0Y2FtZXJhOiBuZXdDYW1lcmEsXG5cdFx0XHRzaXplOiBuZXdTaXplLFxuXHRcdFx0dmlld3BvcnQ6IHsgZHByOiBuZXdEcHIgfSxcblx0XHRcdGdsLFxuXHRcdH0gPSBzdG9yZS5zdGF0ZSgpO1xuXG5cdFx0Ly8gUmVzaXplIGNhbWVyYSBhbmQgcmVuZGVyZXIgb24gY2hhbmdlcyB0byBzaXplIGFuZCBwaXhlbC1yYXRpb1xuXHRcdGlmIChuZXdTaXplICE9PSBvbGRTaXplIHx8IG5ld0RwciAhPT0gb2xkRHByKSB7XG5cdFx0XHRvbGRTaXplID0gbmV3U2l6ZTtcblx0XHRcdG9sZERwciA9IG5ld0Rwcjtcblx0XHRcdC8vIFVwZGF0ZSBjYW1lcmEgJiByZW5kZXJlclxuXHRcdFx0dXBkYXRlQ2FtZXJhKG5ld0NhbWVyYSwgbmV3U2l6ZSk7XG5cdFx0XHRnbC5zZXRQaXhlbFJhdGlvKG5ld0Rwcik7XG5cblx0XHRcdGNvbnN0IHVwZGF0ZVN0eWxlID0gdHlwZW9mIEhUTUxDYW52YXNFbGVtZW50ICE9PSAndW5kZWZpbmVkJyAmJiBnbC5kb21FbGVtZW50IGluc3RhbmNlb2YgSFRNTENhbnZhc0VsZW1lbnQ7XG5cdFx0XHRnbC5zZXRTaXplKG5ld1NpemUud2lkdGgsIG5ld1NpemUuaGVpZ2h0LCB1cGRhdGVTdHlsZSk7XG5cdFx0fVxuXG5cdFx0Ly8gVXBkYXRlIHZpZXdwb3J0IG9uY2UgdGhlIGNhbWVyYSBjaGFuZ2VzXG5cdFx0aWYgKG5ld0NhbWVyYSAhPT0gb2xkQ2FtZXJhKSB7XG5cdFx0XHRvbGRDYW1lcmEgPSBuZXdDYW1lcmE7XG5cdFx0XHR1cGRhdGVDYW1lcmEobmV3Q2FtZXJhLCBuZXdTaXplKTtcblx0XHRcdC8vIFVwZGF0ZSB2aWV3cG9ydFxuXHRcdFx0c3RvcmUudXBkYXRlKChzdGF0ZSkgPT4gKHsgdmlld3BvcnQ6IHsgLi4uc3RhdGUudmlld3BvcnQsIC4uLnN0YXRlLnZpZXdwb3J0LmdldEN1cnJlbnRWaWV3cG9ydChuZXdDYW1lcmEpIH0gfSkpO1xuXHRcdH1cblx0fSk7XG5cblx0cmV0dXJuIHN0b3JlO1xufVxuXG5leHBvcnQgY29uc3QgTkdUX1NUT1JFID0gbmV3IEluamVjdGlvblRva2VuPE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPj4oJ05ndFN0b3JlIFRva2VuJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlU3RvcmUoc3RvcmU/OiAoKSA9PiBOZ3RTaWduYWxTdG9yZTxOZ3RTdGF0ZT4pIHtcblx0aWYgKHN0b3JlKSB7XG5cdFx0cmV0dXJuIHsgcHJvdmlkZTogTkdUX1NUT1JFLCB1c2VGYWN0b3J5OiBzdG9yZSB9O1xuXHR9XG5cdHJldHVybiB7IHByb3ZpZGU6IE5HVF9TVE9SRSwgdXNlRmFjdG9yeTogc3RvcmVGYWN0b3J5IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RTdG9yZShvcHRpb25zOiBJbmplY3RPcHRpb25zICYgeyBvcHRpb25hbD86IGZhbHNlIH0pOiBOZ3RTaWduYWxTdG9yZTxOZ3RTdGF0ZT47XG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0U3RvcmUob3B0aW9uczogSW5qZWN0T3B0aW9ucyk6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPiB8IG51bGw7XG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0U3RvcmUoKTogTmd0U2lnbmFsU3RvcmU8Tmd0U3RhdGU+O1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFN0b3JlKG9wdGlvbnM/OiBJbmplY3RPcHRpb25zKSB7XG5cdHJldHVybiBpbmplY3QoTkdUX1NUT1JFLCBvcHRpb25zIGFzIEluamVjdE9wdGlvbnMpO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90aHJlZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0QW1iaWVudExpZ2h0LFxuXHRBcnJheUNhbWVyYSxcblx0QXJyb3dIZWxwZXIsXG5cdEF1ZGlvLFxuXHRBeGVzSGVscGVyLFxuXHRCb25lLFxuXHRCb3gzSGVscGVyLFxuXHRCb3hHZW9tZXRyeSxcblx0Qm94SGVscGVyLFxuXHRCdWZmZXJBdHRyaWJ1dGUsXG5cdEJ1ZmZlckdlb21ldHJ5LFxuXHRDYW1lcmEsXG5cdENhbWVyYUhlbHBlcixcblx0Q2FudmFzVGV4dHVyZSxcblx0Q2Fwc3VsZUdlb21ldHJ5LFxuXHRDaXJjbGVHZW9tZXRyeSxcblx0Q29sb3IsXG5cdENvbG9yUmVwcmVzZW50YXRpb24sXG5cdENvbXByZXNzZWRUZXh0dXJlLFxuXHRDb25lR2VvbWV0cnksXG5cdEN1YmVDYW1lcmEsXG5cdEN1YmVUZXh0dXJlLFxuXHRDeWxpbmRlckdlb21ldHJ5LFxuXHREYXRhM0RUZXh0dXJlLFxuXHREYXRhVGV4dHVyZSxcblx0RGVwdGhUZXh0dXJlLFxuXHREaXJlY3Rpb25hbExpZ2h0LFxuXHREaXJlY3Rpb25hbExpZ2h0SGVscGVyLFxuXHREaXJlY3Rpb25hbExpZ2h0U2hhZG93LFxuXHREb2RlY2FoZWRyb25HZW9tZXRyeSxcblx0RWRnZXNHZW9tZXRyeSxcblx0RXVsZXIsXG5cdEV4dHJ1ZGVHZW9tZXRyeSxcblx0RmxvYXQxNkJ1ZmZlckF0dHJpYnV0ZSxcblx0RmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZSxcblx0Rm9nLFxuXHRGb2dFeHAyLFxuXHRHcmlkSGVscGVyLFxuXHRHcm91cCxcblx0SGVtaXNwaGVyZUxpZ2h0LFxuXHRIZW1pc3BoZXJlTGlnaHRIZWxwZXIsXG5cdEljb3NhaGVkcm9uR2VvbWV0cnksXG5cdEluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZSxcblx0SW5zdGFuY2VkQnVmZmVyR2VvbWV0cnksXG5cdEluc3RhbmNlZE1lc2gsXG5cdEludDE2QnVmZmVyQXR0cmlidXRlLFxuXHRJbnQzMkJ1ZmZlckF0dHJpYnV0ZSxcblx0SW50OEJ1ZmZlckF0dHJpYnV0ZSxcblx0TE9ELFxuXHRMYXRoZUdlb21ldHJ5LFxuXHRMYXllcnMsXG5cdExpZ2h0LFxuXHRMaWdodFByb2JlLFxuXHRMaWdodFNoYWRvdyxcblx0TGluZSxcblx0TGluZUJhc2ljTWF0ZXJpYWwsXG5cdExpbmVCYXNpY01hdGVyaWFsUGFyYW1ldGVycyxcblx0TGluZURhc2hlZE1hdGVyaWFsLFxuXHRMaW5lRGFzaGVkTWF0ZXJpYWxQYXJhbWV0ZXJzLFxuXHRMaW5lTG9vcCxcblx0TGluZVNlZ21lbnRzLFxuXHRNYXRlcmlhbCxcblx0TWF0cml4Myxcblx0TWF0cml4NCxcblx0TWVzaCxcblx0TWVzaEJhc2ljTWF0ZXJpYWwsXG5cdE1lc2hCYXNpY01hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaERlcHRoTWF0ZXJpYWwsXG5cdE1lc2hEZXB0aE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaERpc3RhbmNlTWF0ZXJpYWwsXG5cdE1lc2hEaXN0YW5jZU1hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaExhbWJlcnRNYXRlcmlhbCxcblx0TWVzaExhbWJlcnRNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE1lc2hNYXRjYXBNYXRlcmlhbCxcblx0TWVzaE1hdGNhcE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaE5vcm1hbE1hdGVyaWFsLFxuXHRNZXNoTm9ybWFsTWF0ZXJpYWxQYXJhbWV0ZXJzLFxuXHRNZXNoUGhvbmdNYXRlcmlhbCxcblx0TWVzaFBob25nTWF0ZXJpYWxQYXJhbWV0ZXJzLFxuXHRNZXNoUGh5c2ljYWxNYXRlcmlhbCxcblx0TWVzaFBoeXNpY2FsTWF0ZXJpYWxQYXJhbWV0ZXJzLFxuXHRNZXNoU3RhbmRhcmRNYXRlcmlhbCxcblx0TWVzaFN0YW5kYXJkTWF0ZXJpYWxQYXJhbWV0ZXJzLFxuXHRNZXNoVG9vbk1hdGVyaWFsLFxuXHRNZXNoVG9vbk1hdGVyaWFsUGFyYW1ldGVycyxcblx0T2JqZWN0M0QsXG5cdE9jdGFoZWRyb25HZW9tZXRyeSxcblx0T3J0aG9ncmFwaGljQ2FtZXJhLFxuXHRQZXJzcGVjdGl2ZUNhbWVyYSxcblx0UGxhbmVHZW9tZXRyeSxcblx0UGxhbmVIZWxwZXIsXG5cdFBvaW50TGlnaHQsXG5cdFBvaW50TGlnaHRIZWxwZXIsXG5cdFBvaW50cyxcblx0UG9pbnRzTWF0ZXJpYWwsXG5cdFBvaW50c01hdGVyaWFsUGFyYW1ldGVycyxcblx0UG9sYXJHcmlkSGVscGVyLFxuXHRQb2x5aGVkcm9uR2VvbWV0cnksXG5cdFBvc2l0aW9uYWxBdWRpbyxcblx0UXVhdGVybmlvbixcblx0UmF3U2hhZGVyTWF0ZXJpYWwsXG5cdFJheWNhc3Rlcixcblx0UmVjdEFyZWFMaWdodCxcblx0UmluZ0dlb21ldHJ5LFxuXHRTY2VuZSxcblx0U2hhZGVyTWF0ZXJpYWwsXG5cdFNoYWRlck1hdGVyaWFsUGFyYW1ldGVycyxcblx0U2hhZG93TWF0ZXJpYWwsXG5cdFNoYXBlLFxuXHRTaGFwZUdlb21ldHJ5LFxuXHRTa2VsZXRvbixcblx0U2tlbGV0b25IZWxwZXIsXG5cdFNraW5uZWRNZXNoLFxuXHRTcGhlcmVHZW9tZXRyeSxcblx0U3BvdExpZ2h0LFxuXHRTcG90TGlnaHRIZWxwZXIsXG5cdFNwb3RMaWdodFNoYWRvdyxcblx0U3ByaXRlLFxuXHRTcHJpdGVNYXRlcmlhbCxcblx0U3ByaXRlTWF0ZXJpYWxQYXJhbWV0ZXJzLFxuXHRUZXRyYWhlZHJvbkdlb21ldHJ5LFxuXHRUZXh0dXJlLFxuXHRUb3J1c0dlb21ldHJ5LFxuXHRUb3J1c0tub3RHZW9tZXRyeSxcblx0VHViZUdlb21ldHJ5LFxuXHRVaW50MTZCdWZmZXJBdHRyaWJ1dGUsXG5cdFVpbnQzMkJ1ZmZlckF0dHJpYnV0ZSxcblx0VWludDhCdWZmZXJBdHRyaWJ1dGUsXG5cdFZlY3RvcjIsXG5cdFZlY3RvcjMsXG5cdFZlY3RvcjQsXG5cdFZpZGVvVGV4dHVyZSxcblx0V2lyZWZyYW1lR2VvbWV0cnksXG59IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndEV2ZW50SGFuZGxlcnMgfSBmcm9tICcuL2V2ZW50cyc7XG5pbXBvcnQgeyBOZ3RBZnRlckF0dGFjaCwgTmd0QXR0YWNoRnVuY3Rpb24sIE5ndEluc3RhbmNlTm9kZSB9IGZyb20gJy4vaW5zdGFuY2UnO1xuaW1wb3J0IHsgTmd0QmVmb3JlUmVuZGVyRXZlbnQgfSBmcm9tICcuL3N0b3JlJztcblxudHlwZSBOb0V2ZW50PFQ+ID0gT21pdDxULCAnYWRkRXZlbnRMaXN0ZW5lcicgfCAncmVtb3ZlRXZlbnRMaXN0ZW5lcic+O1xuXG5leHBvcnQgdHlwZSBOZ3ROb25GdW5jdGlvbktleXM8VD4gPSB7IFtLIGluIGtleW9mIFRdLT86IFRbS10gZXh0ZW5kcyBGdW5jdGlvbiA/IG5ldmVyIDogSyB9W2tleW9mIFRdO1xuZXhwb3J0IHR5cGUgTmd0T3ZlcndyaXRlPFQsIE8+ID0gT21pdDxULCBOZ3ROb25GdW5jdGlvbktleXM8Tz4+ICYgTztcblxuZXhwb3J0IHR5cGUgTmd0RXh0ZW5kZWRDb2xvcnM8VD4gPSB7XG5cdFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgQ29sb3IgfCB1bmRlZmluZWQgPyBDb2xvclJlcHJlc2VudGF0aW9uIDogVFtLXTtcbn07XG5cbi8qKlxuICogSWYgKipUKiogY29udGFpbnMgYSBjb25zdHJ1Y3RvciwgQHNlZSBDb25zdHJ1Y3RvclBhcmFtZXRlcnMgbXVzdCBiZSB1c2VkLCBvdGhlcndpc2UgKipUKiouXG4gKi9cbnR5cGUgTmd0QXJndW1lbnRzPFQ+ID0gVCBleHRlbmRzIG5ldyAoLi4uYXJnczogYW55KSA9PiBhbnkgPyBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VD4gOiBUO1xuXG5leHBvcnQgdHlwZSBOZ3RFdWxlciA9IEV1bGVyIHwgUGFyYW1ldGVyczxFdWxlclsnc2V0J10+O1xuZXhwb3J0IHR5cGUgTmd0TWF0cml4NCA9IE1hdHJpeDQgfCBQYXJhbWV0ZXJzPE1hdHJpeDRbJ3NldCddPiB8IFJlYWRvbmx5PE1hdHJpeDRbJ3NldCddPjtcblxuLyoqXG4gKiBUdXJuIGFuIGltcGxlbWVudGF0aW9uIG9mIFZlY3RvciBpbiB0byB0aGUgdHlwZSB0aGF0IGFuIHIzZiBjb21wb25lbnQgd291bGQgYWNjZXB0IGFzIGEgcHJvcC5cbiAqL1xudHlwZSBOZ3RWZWN0b3JMaWtlPFZlY3RvckNsYXNzIGV4dGVuZHMgVmVjdG9yMiB8IFZlY3RvcjMgfCBWZWN0b3I0PiA9XG5cdHwgVmVjdG9yQ2xhc3Ncblx0fCBQYXJhbWV0ZXJzPFZlY3RvckNsYXNzWydzZXQnXT5cblx0fCBSZWFkb25seTxQYXJhbWV0ZXJzPFZlY3RvckNsYXNzWydzZXQnXT4+XG5cdHwgUGFyYW1ldGVyczxWZWN0b3JDbGFzc1snc2V0U2NhbGFyJ10+WzBdO1xuXG5leHBvcnQgdHlwZSBOZ3RWZWN0b3IyID0gTmd0VmVjdG9yTGlrZTxWZWN0b3IyPjtcbmV4cG9ydCB0eXBlIE5ndFZlY3RvcjMgPSBOZ3RWZWN0b3JMaWtlPFZlY3RvcjM+O1xuZXhwb3J0IHR5cGUgTmd0VmVjdG9yNCA9IE5ndFZlY3Rvckxpa2U8VmVjdG9yND47XG5leHBvcnQgdHlwZSBOZ3RMYXllcnMgPSBMYXllcnMgfCBQYXJhbWV0ZXJzPExheWVyc1snc2V0J10+WzBdO1xuZXhwb3J0IHR5cGUgTmd0UXVhdGVybmlvbiA9IFF1YXRlcm5pb24gfCBQYXJhbWV0ZXJzPFF1YXRlcm5pb25bJ3NldCddPjtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3ROb2RlRXZlbnRNYXA8VE9yaWdpbmFsPiB7XG5cdGFmdGVyQXR0YWNoOiBOZ3RBZnRlckF0dGFjaDxOZ3RJbnN0YW5jZU5vZGUsIFRPcmlnaW5hbD47XG5cdGFmdGVyVXBkYXRlOiBUT3JpZ2luYWw7XG5cdGJlZm9yZVJlbmRlcjogTmd0QmVmb3JlUmVuZGVyRXZlbnQ8VE9yaWdpbmFsPjtcbn1cblxuZXhwb3J0IHR5cGUgTmd0Tm9kZUVsZW1lbnQ8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3I+ID0ge1xuXHRhdHRhY2g6IHN0cmluZyB8IHN0cmluZ1tdIHwgTmd0QXR0YWNoRnVuY3Rpb247XG5cdC8vIHJlZjogTmd0SW5qZWN0ZWRSZWY8VE9yaWdpbmFsPjtcblx0YWRkRXZlbnRMaXN0ZW5lcjxURXZlbnRLZXkgZXh0ZW5kcyBrZXlvZiBOZ3ROb2RlRXZlbnRNYXA8VE9yaWdpbmFsPj4oXG5cdFx0dHlwZTogVEV2ZW50S2V5LFxuXHRcdGxpc3RlbmVyOiAodGhpczogTmd0Tm9kZUVsZW1lbnQ8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3I+LCBldjogTmd0Tm9kZUV2ZW50TWFwPFRPcmlnaW5hbD5bVEV2ZW50S2V5XSkgPT4gYW55LFxuXHQpOiB2b2lkO1xuXHRyZW1vdmVFdmVudExpc3RlbmVyPFRFdmVudEtleSBleHRlbmRzIGtleW9mIE5ndE5vZGVFdmVudE1hcDxUT3JpZ2luYWw+Pihcblx0XHR0eXBlOiBURXZlbnRLZXksXG5cdFx0bGlzdGVuZXI6ICh0aGlzOiBOZ3ROb2RlRWxlbWVudDxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4sIGV2OiBOZ3ROb2RlRXZlbnRNYXA8VE9yaWdpbmFsPltURXZlbnRLZXldKSA9PiBhbnksXG5cdCk6IHZvaWQ7XG5cdF9fbmd0X2FyZ3NfXzogTmd0QXJndW1lbnRzPFRDb25zdHJ1Y3Rvcj47XG59O1xuXG5leHBvcnQgdHlwZSBOZ3ROb2RlPFRPcmlnaW5hbCwgVENvbnN0cnVjdG9yLCBUTm9FdmVudCA9IE5vRXZlbnQ8VE9yaWdpbmFsPj4gPSBOZ3RFeHRlbmRlZENvbG9yczxcblx0Tmd0T3ZlcndyaXRlPFBhcnRpYWw8VE5vRXZlbnQ+LCBOZ3ROb2RlRWxlbWVudDxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4+XG4+O1xuXG5leHBvcnQgdHlwZSBOZ3RPYmplY3QzREV2ZW50c01hcCA9IHtcblx0W1RFdmVudCBpbiBrZXlvZiBOZ3RFdmVudEhhbmRsZXJzXS0/OiBQYXJhbWV0ZXJzPE5vbk51bGxhYmxlPE5ndEV2ZW50SGFuZGxlcnNbVEV2ZW50XT4+WzBdO1xufTtcblxuZXhwb3J0IHR5cGUgTmd0T2JqZWN0M0ROb2RlPFRPcmlnaW5hbCwgVENvbnN0cnVjdG9yLCBUTm9FdmVudCA9IE5vRXZlbnQ8VE9yaWdpbmFsPj4gPSBOZ3RPdmVyd3JpdGU8XG5cdE5ndE5vZGU8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3IsIFROb0V2ZW50Pixcblx0e1xuXHRcdHBvc2l0aW9uOiBOZ3RWZWN0b3IzO1xuXHRcdHVwOiBOZ3RWZWN0b3IzO1xuXHRcdHNjYWxlOiBOZ3RWZWN0b3IzO1xuXHRcdHJvdGF0aW9uOiBOZ3RFdWxlcjtcblx0XHRtYXRyaXg6IE5ndE1hdHJpeDQ7XG5cdFx0cXVhdGVybmlvbjogTmd0UXVhdGVybmlvbjtcblx0XHRsYXllcnM6IE5ndExheWVycztcblx0XHRkaXNwb3NlOiAoKCkgPT4gdm9pZCkgfCBudWxsO1xuXHRcdGFkZEV2ZW50TGlzdGVuZXI8VEV2ZW50S2V5IGV4dGVuZHMga2V5b2YgTmd0T2JqZWN0M0RFdmVudHNNYXA+KFxuXHRcdFx0dHlwZTogVEV2ZW50S2V5LFxuXHRcdFx0bGlzdGVuZXI6ICh0aGlzOiBOZ3RPYmplY3QzRE5vZGU8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3I+LCBldjogTmd0T2JqZWN0M0RFdmVudHNNYXBbVEV2ZW50S2V5XSkgPT4gYW55LFxuXHRcdCk6IHZvaWQ7XG5cdFx0cmVtb3ZlRXZlbnRMaXN0ZW5lcjxURXZlbnRLZXkgZXh0ZW5kcyBrZXlvZiBOZ3RPYmplY3QzREV2ZW50c01hcD4oXG5cdFx0XHR0eXBlOiBURXZlbnRLZXksXG5cdFx0XHRsaXN0ZW5lcjogKHRoaXM6IE5ndE9iamVjdDNETm9kZTxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4sIGV2OiBOZ3RPYmplY3QzREV2ZW50c01hcFtURXZlbnRLZXldKSA9PiBhbnksXG5cdFx0KTogdm9pZDtcblx0fVxuPjtcblxuZXhwb3J0IHR5cGUgTmd0R2VvbWV0cnk8VEdlb21ldHJ5IGV4dGVuZHMgQnVmZmVyR2VvbWV0cnksIFRDb25zdHJ1Y3Rvcj4gPSBOZ3ROb2RlPFRHZW9tZXRyeSwgVENvbnN0cnVjdG9yPjtcbmV4cG9ydCB0eXBlIE5ndE1hdGVyaWFsPFRNYXRlcmlhbCBleHRlbmRzIE1hdGVyaWFsLCBUQ29uc3RydWN0b3I+ID0gTmd0Tm9kZTxUTWF0ZXJpYWwsIFRDb25zdHJ1Y3Rvcj47XG5leHBvcnQgdHlwZSBOZ3RMaWdodDxUIGV4dGVuZHMgTGlnaHQsIFA+ID0gTmd0T2JqZWN0M0ROb2RlPFQsIFA+O1xuXG5leHBvcnQgdHlwZSBOZ3RPYmplY3QzRCA9IE5ndE9iamVjdDNETm9kZTxPYmplY3QzRCwgdHlwZW9mIE9iamVjdDNEPjtcbmV4cG9ydCB0eXBlIE5ndEF1ZGlvID0gTmd0T2JqZWN0M0ROb2RlPEF1ZGlvLCB0eXBlb2YgQXVkaW8+O1xuZXhwb3J0IHR5cGUgTmd0QXVkaW9MaXN0ZW5lciA9IE5ndE9iamVjdDNETm9kZTxBdWRpb0xpc3RlbmVyLCB0eXBlb2YgQXVkaW9MaXN0ZW5lcj47XG5leHBvcnQgdHlwZSBOZ3RQb3NpdGlvbmFsQXVkaW8gPSBOZ3RPYmplY3QzRE5vZGU8UG9zaXRpb25hbEF1ZGlvLCB0eXBlb2YgUG9zaXRpb25hbEF1ZGlvPjtcblxuZXhwb3J0IHR5cGUgTmd0TWVzaCA9IE5ndE9iamVjdDNETm9kZTxNZXNoLCB0eXBlb2YgTWVzaD47XG5leHBvcnQgdHlwZSBOZ3RJbnN0YW5jZWRNZXNoID0gTmd0T2JqZWN0M0ROb2RlPEluc3RhbmNlZE1lc2gsIHR5cGVvZiBJbnN0YW5jZWRNZXNoPjtcbmV4cG9ydCB0eXBlIE5ndFNjZW5lID0gTmd0T2JqZWN0M0ROb2RlPFNjZW5lLCB0eXBlb2YgU2NlbmU+O1xuZXhwb3J0IHR5cGUgTmd0U3ByaXRlID0gTmd0T2JqZWN0M0ROb2RlPFNwcml0ZSwgdHlwZW9mIFNwcml0ZT47XG5leHBvcnQgdHlwZSBOZ3RMT0QgPSBOZ3RPYmplY3QzRE5vZGU8TE9ELCB0eXBlb2YgTE9EPjtcbmV4cG9ydCB0eXBlIE5ndFNraW5uZWRNZXNoID0gTmd0T2JqZWN0M0ROb2RlPFNraW5uZWRNZXNoLCB0eXBlb2YgU2tpbm5lZE1lc2g+O1xuXG5leHBvcnQgdHlwZSBOZ3RTa2VsZXRvbiA9IE5ndE9iamVjdDNETm9kZTxTa2VsZXRvbiwgdHlwZW9mIFNrZWxldG9uPjtcbmV4cG9ydCB0eXBlIE5ndEJvbmUgPSBOZ3RPYmplY3QzRE5vZGU8Qm9uZSwgdHlwZW9mIEJvbmU+O1xuZXhwb3J0IHR5cGUgTmd0TGluZSA9IE5ndE9iamVjdDNETm9kZTxMaW5lLCB0eXBlb2YgTGluZT47XG5leHBvcnQgdHlwZSBOZ3RMaW5lU2VnbWVudHMgPSBOZ3RPYmplY3QzRE5vZGU8TGluZVNlZ21lbnRzLCB0eXBlb2YgTGluZVNlZ21lbnRzPjtcbmV4cG9ydCB0eXBlIE5ndExpbmVMb29wID0gTmd0T2JqZWN0M0ROb2RlPExpbmVMb29wLCB0eXBlb2YgTGluZUxvb3A+O1xuZXhwb3J0IHR5cGUgTmd0UG9pbnRzID0gTmd0T2JqZWN0M0ROb2RlPFBvaW50cywgdHlwZW9mIFBvaW50cz47XG5leHBvcnQgdHlwZSBOZ3RHcm91cCA9IE5ndE9iamVjdDNETm9kZTxHcm91cCwgdHlwZW9mIEdyb3VwPjtcblxuZXhwb3J0IHR5cGUgTmd0Q2FtZXJhTm9kZSA9IE5ndE9iamVjdDNETm9kZTxDYW1lcmEsIHR5cGVvZiBDYW1lcmE+O1xuZXhwb3J0IHR5cGUgTmd0UGVyc3BlY3RpdmVDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8UGVyc3BlY3RpdmVDYW1lcmEsIHR5cGVvZiBQZXJzcGVjdGl2ZUNhbWVyYT47XG5leHBvcnQgdHlwZSBOZ3RPcnRob2dyYXBoaWNDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8T3J0aG9ncmFwaGljQ2FtZXJhLCB0eXBlb2YgT3J0aG9ncmFwaGljQ2FtZXJhPjtcbmV4cG9ydCB0eXBlIE5ndEN1YmVDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8Q3ViZUNhbWVyYSwgdHlwZW9mIEN1YmVDYW1lcmE+O1xuZXhwb3J0IHR5cGUgTmd0QXJyYXlDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8QXJyYXlDYW1lcmEsIHR5cGVvZiBBcnJheUNhbWVyYT47XG5cbmV4cG9ydCB0eXBlIE5ndEluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8SW5zdGFuY2VkQnVmZmVyR2VvbWV0cnksIHR5cGVvZiBJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RCdWZmZXJHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PEJ1ZmZlckdlb21ldHJ5LCB0eXBlb2YgQnVmZmVyR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0V2lyZWZyYW1lR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxXaXJlZnJhbWVHZW9tZXRyeSwgdHlwZW9mIFdpcmVmcmFtZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFRldHJhaGVkcm9uR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxUZXRyYWhlZHJvbkdlb21ldHJ5LCB0eXBlb2YgVGV0cmFoZWRyb25HZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RPY3RhaGVkcm9uR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxPY3RhaGVkcm9uR2VvbWV0cnksIHR5cGVvZiBPY3RhaGVkcm9uR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0SWNvc2FoZWRyb25HZW9tZXRyeSA9IE5ndEdlb21ldHJ5PEljb3NhaGVkcm9uR2VvbWV0cnksIHR5cGVvZiBJY29zYWhlZHJvbkdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndERvZGVjYWhlZHJvbkdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8RG9kZWNhaGVkcm9uR2VvbWV0cnksIHR5cGVvZiBEb2RlY2FoZWRyb25HZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RQb2x5aGVkcm9uR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxQb2x5aGVkcm9uR2VvbWV0cnksIHR5cGVvZiBQb2x5aGVkcm9uR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0VHViZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VHViZUdlb21ldHJ5LCB0eXBlb2YgVHViZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFRvcnVzS25vdEdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VG9ydXNLbm90R2VvbWV0cnksIHR5cGVvZiBUb3J1c0tub3RHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RUb3J1c0dlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VG9ydXNHZW9tZXRyeSwgdHlwZW9mIFRvcnVzR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0U3BoZXJlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxTcGhlcmVHZW9tZXRyeSwgdHlwZW9mIFNwaGVyZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFJpbmdHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFJpbmdHZW9tZXRyeSwgdHlwZW9mIFJpbmdHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RQbGFuZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8UGxhbmVHZW9tZXRyeSwgdHlwZW9mIFBsYW5lR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0TGF0aGVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PExhdGhlR2VvbWV0cnksIHR5cGVvZiBMYXRoZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFNoYXBlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxTaGFwZUdlb21ldHJ5LCB0eXBlb2YgU2hhcGVHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RFeHRydWRlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxFeHRydWRlR2VvbWV0cnksIHR5cGVvZiBFeHRydWRlR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0RWRnZXNHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PEVkZ2VzR2VvbWV0cnksIHR5cGVvZiBFZGdlc0dlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndENvbmVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PENvbmVHZW9tZXRyeSwgdHlwZW9mIENvbmVHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RDeWxpbmRlckdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8Q3lsaW5kZXJHZW9tZXRyeSwgdHlwZW9mIEN5bGluZGVyR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0Q2lyY2xlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxDaXJjbGVHZW9tZXRyeSwgdHlwZW9mIENpcmNsZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndEJveEdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8Qm94R2VvbWV0cnksIHR5cGVvZiBCb3hHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RDYXBzdWxlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxDYXBzdWxlR2VvbWV0cnksIHR5cGVvZiBDYXBzdWxlR2VvbWV0cnk+O1xuXG5leHBvcnQgdHlwZSBOZ3RTaGFkb3dNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFNoYWRvd01hdGVyaWFsLCBbU2hhZGVyTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RTcHJpdGVNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFNwcml0ZU1hdGVyaWFsLCBbU3ByaXRlTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RSYXdTaGFkZXJNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFJhd1NoYWRlck1hdGVyaWFsLCBbU2hhZGVyTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RTaGFkZXJNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFNoYWRlck1hdGVyaWFsLCBbU2hhZGVyTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RQb2ludHNNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFBvaW50c01hdGVyaWFsLCBbUG9pbnRzTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoUGh5c2ljYWxNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hQaHlzaWNhbE1hdGVyaWFsLCBbTWVzaFBoeXNpY2FsTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoU3RhbmRhcmRNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hTdGFuZGFyZE1hdGVyaWFsLCBbTWVzaFN0YW5kYXJkTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoUGhvbmdNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hQaG9uZ01hdGVyaWFsLCBbTWVzaFBob25nTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoVG9vbk1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8TWVzaFRvb25NYXRlcmlhbCwgW01lc2hUb29uTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoTm9ybWFsTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxNZXNoTm9ybWFsTWF0ZXJpYWwsIFtNZXNoTm9ybWFsTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoTGFtYmVydE1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8TWVzaExhbWJlcnRNYXRlcmlhbCwgW01lc2hMYW1iZXJ0TWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoRGVwdGhNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hEZXB0aE1hdGVyaWFsLCBbTWVzaERlcHRoTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoRGlzdGFuY2VNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hEaXN0YW5jZU1hdGVyaWFsLCBbTWVzaERpc3RhbmNlTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoQmFzaWNNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hCYXNpY01hdGVyaWFsLCBbTWVzaEJhc2ljTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoTWF0Y2FwTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxNZXNoTWF0Y2FwTWF0ZXJpYWwsIFtNZXNoTWF0Y2FwTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RMaW5lRGFzaGVkTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxMaW5lRGFzaGVkTWF0ZXJpYWwsIFtMaW5lRGFzaGVkTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RMaW5lQmFzaWNNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPExpbmVCYXNpY01hdGVyaWFsLCBbTGluZUJhc2ljTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5cbmV4cG9ydCB0eXBlIE5ndFByaW1pdGl2ZSA9IE5ndE5vZGVFbGVtZW50PGFueSwgYW55PjtcbmV4cG9ydCB0eXBlIE5ndFZhbHVlID0gTmd0Tm9kZTx7IHJhd1ZhbHVlOiBhbnkgfSwge30+O1xuXG5leHBvcnQgdHlwZSBOZ3RMaWdodFNoYWRvdyA9IE5ndE5vZGU8TGlnaHRTaGFkb3csIHR5cGVvZiBMaWdodFNoYWRvdz47XG5leHBvcnQgdHlwZSBOZ3RTcG90TGlnaHRTaGFkb3cgPSBOZ3ROb2RlPFNwb3RMaWdodFNoYWRvdywgdHlwZW9mIFNwb3RMaWdodFNoYWRvdz47XG5leHBvcnQgdHlwZSBOZ3REaXJlY3Rpb25hbExpZ2h0U2hhZG93ID0gTmd0Tm9kZTxEaXJlY3Rpb25hbExpZ2h0U2hhZG93LCB0eXBlb2YgRGlyZWN0aW9uYWxMaWdodFNoYWRvdz47XG5cbmV4cG9ydCB0eXBlIE5ndFNwb3RMaWdodCA9IE5ndExpZ2h0PFNwb3RMaWdodCwgdHlwZW9mIFNwb3RMaWdodD47XG5leHBvcnQgdHlwZSBOZ3RQb2ludExpZ2h0ID0gTmd0TGlnaHQ8UG9pbnRMaWdodCwgdHlwZW9mIFBvaW50TGlnaHQ+O1xuZXhwb3J0IHR5cGUgTmd0UmVjdEFyZWFMaWdodCA9IE5ndExpZ2h0PFJlY3RBcmVhTGlnaHQsIHR5cGVvZiBSZWN0QXJlYUxpZ2h0PjtcbmV4cG9ydCB0eXBlIE5ndEhlbWlzcGhlcmVMaWdodCA9IE5ndExpZ2h0PEhlbWlzcGhlcmVMaWdodCwgdHlwZW9mIEhlbWlzcGhlcmVMaWdodD47XG5leHBvcnQgdHlwZSBOZ3REaXJlY3Rpb25hbExpZ2h0ID0gTmd0TGlnaHQ8RGlyZWN0aW9uYWxMaWdodCwgdHlwZW9mIERpcmVjdGlvbmFsTGlnaHQ+O1xuZXhwb3J0IHR5cGUgTmd0QW1iaWVudExpZ2h0ID0gTmd0TGlnaHQ8QW1iaWVudExpZ2h0LCB0eXBlb2YgQW1iaWVudExpZ2h0PjtcbmV4cG9ydCB0eXBlIE5ndExpZ2h0UHJvYmUgPSBOZ3RMaWdodDxMaWdodFByb2JlLCB0eXBlb2YgTGlnaHRQcm9iZT47XG5cbmV4cG9ydCB0eXBlIE5ndFNwb3RMaWdodEhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxTcG90TGlnaHRIZWxwZXIsIHR5cGVvZiBTcG90TGlnaHRIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0U2tlbGV0b25IZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8U2tlbGV0b25IZWxwZXIsIHR5cGVvZiBTa2VsZXRvbkhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RQb2ludExpZ2h0SGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPFBvaW50TGlnaHRIZWxwZXIsIHR5cGVvZiBQb2ludExpZ2h0SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndEhlbWlzcGhlcmVMaWdodEhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxIZW1pc3BoZXJlTGlnaHRIZWxwZXIsIHR5cGVvZiBIZW1pc3BoZXJlTGlnaHRIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0R3JpZEhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxHcmlkSGVscGVyLCB0eXBlb2YgR3JpZEhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RQb2xhckdyaWRIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8UG9sYXJHcmlkSGVscGVyLCB0eXBlb2YgUG9sYXJHcmlkSGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndERpcmVjdGlvbmFsTGlnaHRIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8RGlyZWN0aW9uYWxMaWdodEhlbHBlciwgdHlwZW9mIERpcmVjdGlvbmFsTGlnaHRIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0Q2FtZXJhSGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPENhbWVyYUhlbHBlciwgdHlwZW9mIENhbWVyYUhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RCb3hIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8Qm94SGVscGVyLCB0eXBlb2YgQm94SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndEJveDNIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8Qm94M0hlbHBlciwgdHlwZW9mIEJveDNIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0UGxhbmVIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8UGxhbmVIZWxwZXIsIHR5cGVvZiBQbGFuZUhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RBcnJvd0hlbHBlciA9IE5ndE9iamVjdDNETm9kZTxBcnJvd0hlbHBlciwgdHlwZW9mIEFycm93SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndEF4ZXNIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8QXhlc0hlbHBlciwgdHlwZW9mIEF4ZXNIZWxwZXI+O1xuXG5leHBvcnQgdHlwZSBOZ3RUZXh0dXJlID0gTmd0Tm9kZTxUZXh0dXJlLCB0eXBlb2YgVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RWaWRlb1RleHR1cmUgPSBOZ3ROb2RlPFZpZGVvVGV4dHVyZSwgdHlwZW9mIFZpZGVvVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3REYXRhVGV4dHVyZSA9IE5ndE5vZGU8RGF0YVRleHR1cmUsIHR5cGVvZiBEYXRhVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3REYXRhM0RUZXh0dXJlID0gTmd0Tm9kZTxEYXRhM0RUZXh0dXJlLCB0eXBlb2YgRGF0YTNEVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RDb21wcmVzc2VkVGV4dHVyZSA9IE5ndE5vZGU8Q29tcHJlc3NlZFRleHR1cmUsIHR5cGVvZiBDb21wcmVzc2VkVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RDdWJlVGV4dHVyZSA9IE5ndE5vZGU8Q3ViZVRleHR1cmUsIHR5cGVvZiBDdWJlVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RDYW52YXNUZXh0dXJlID0gTmd0Tm9kZTxDYW52YXNUZXh0dXJlLCB0eXBlb2YgQ2FudmFzVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3REZXB0aFRleHR1cmUgPSBOZ3ROb2RlPERlcHRoVGV4dHVyZSwgdHlwZW9mIERlcHRoVGV4dHVyZT47XG5cbmV4cG9ydCB0eXBlIE5ndFJheWNhc3RlciA9IE5ndE5vZGU8UmF5Y2FzdGVyLCB0eXBlb2YgUmF5Y2FzdGVyPjtcbmV4cG9ydCB0eXBlIE5ndFZlY3RvcjJOb2RlID0gTmd0Tm9kZTxWZWN0b3IyLCB0eXBlb2YgVmVjdG9yMj47XG5leHBvcnQgdHlwZSBOZ3RWZWN0b3IzTm9kZSA9IE5ndE5vZGU8VmVjdG9yMywgdHlwZW9mIFZlY3RvcjM+O1xuZXhwb3J0IHR5cGUgTmd0VmVjdG9yNE5vZGUgPSBOZ3ROb2RlPFZlY3RvcjQsIHR5cGVvZiBWZWN0b3I0PjtcbmV4cG9ydCB0eXBlIE5ndEV1bGVyTm9kZSA9IE5ndE5vZGU8RXVsZXIsIHR5cGVvZiBFdWxlcj47XG5leHBvcnQgdHlwZSBOZ3RNYXRyaXgzTm9kZSA9IE5ndE5vZGU8TWF0cml4MywgdHlwZW9mIE1hdHJpeDM+O1xuZXhwb3J0IHR5cGUgTmd0TWF0cml4NE5vZGUgPSBOZ3ROb2RlPE1hdHJpeDQsIHR5cGVvZiBNYXRyaXg0PjtcbmV4cG9ydCB0eXBlIE5ndFF1YXRlcm5pb25Ob2RlID0gTmd0Tm9kZTxRdWF0ZXJuaW9uLCB0eXBlb2YgUXVhdGVybmlvbj47XG5leHBvcnQgdHlwZSBOZ3RCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPEJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RGbG9hdDE2QnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxGbG9hdDE2QnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgRmxvYXQxNkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RGbG9hdDMyQnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxGbG9hdDMyQnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgRmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnQ4QnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxJbnQ4QnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgSW50OEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnQxNkJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8SW50MTZCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBJbnQxNkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnQzMkJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8SW50MzJCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBJbnQzMkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RVaW50OEJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8VWludDhCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBVaW50OEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RVaW50MTZCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPFVpbnQxNkJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIFVpbnQxNkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RVaW50MzJCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPFVpbnQzMkJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIFVpbnQzMkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPEluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIEluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RDb2xvciA9IE5ndE5vZGU8Q29sb3IsIENvbG9yUmVwcmVzZW50YXRpb24+O1xuZXhwb3J0IHR5cGUgTmd0Rm9nID0gTmd0Tm9kZTxGb2csIHR5cGVvZiBGb2c+O1xuZXhwb3J0IHR5cGUgTmd0Rm9nRXhwMiA9IE5ndE5vZGU8Rm9nRXhwMiwgdHlwZW9mIEZvZ0V4cDI+O1xuZXhwb3J0IHR5cGUgTmd0U2hhcGUgPSBOZ3ROb2RlPFNoYXBlLCB0eXBlb2YgU2hhcGU+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRocmVlRWxlbWVudHMge1xuXHQnbmd0LW9iamVjdDNEJzogTmd0T2JqZWN0M0Q7XG5cblx0Ly8gYGF1ZGlvYCB3b3JrcyBidXQgY29uZmxpY3RzIHdpdGggQHR5cGVzL3JlYWN0LiBUcnkgdXNpbmcgUG9zaXRpb25hbEF1ZGlvIGZyb20gQHJlYWN0LXRocmVlL2RyZWkgaW5zdGVhZFxuXHQnbmd0LWF1ZGlvJzogTmd0QXVkaW87XG5cdCduZ3QtYXVkaW8tbGlzdGVuZXInOiBOZ3RBdWRpb0xpc3RlbmVyO1xuXHQnbmd0LXBvc2l0aW9uYWwtYXVkaW8nOiBOZ3RQb3NpdGlvbmFsQXVkaW87XG5cblx0J25ndC1tZXNoJzogTmd0TWVzaDtcblx0J25ndC1pbnN0YW5jZWQtbWVzaCc6IE5ndEluc3RhbmNlZE1lc2g7XG5cdCduZ3Qtc2NlbmUnOiBOZ3RTY2VuZTtcblx0J25ndC1zcHJpdGUnOiBOZ3RTcHJpdGU7XG5cdCduZ3QtbE9EJzogTmd0TE9EO1xuXHQnbmd0LXNraW5uZWQtbWVzaCc6IE5ndFNraW5uZWRNZXNoO1xuXHQnbmd0LXNrZWxldG9uJzogTmd0U2tlbGV0b247XG5cdCduZ3QtYm9uZSc6IE5ndEJvbmU7XG5cblx0J25ndC1saW5lJzogTmd0TGluZTtcblx0J25ndC1saW5lLXNlZ21lbnRzJzogTmd0TGluZVNlZ21lbnRzO1xuXHQnbmd0LWxpbmUtbG9vcCc6IE5ndExpbmVMb29wO1xuXHQnbmd0LXBvaW50cyc6IE5ndFBvaW50cztcblx0J25ndC1ncm91cCc6IE5ndEdyb3VwO1xuXG5cdC8vIGNhbWVyYXNcblx0J25ndC1jYW1lcmEnOiBOZ3RDYW1lcmFOb2RlO1xuXHQnbmd0LXBlcnNwZWN0aXZlLWNhbWVyYSc6IE5ndFBlcnNwZWN0aXZlQ2FtZXJhO1xuXHQnbmd0LW9ydGhvZ3JhcGhpYy1jYW1lcmEnOiBOZ3RPcnRob2dyYXBoaWNDYW1lcmE7XG5cdCduZ3QtY3ViZS1jYW1lcmEnOiBOZ3RDdWJlQ2FtZXJhO1xuXHQnbmd0LWFycmF5LWNhbWVyYSc6IE5ndEFycmF5Q2FtZXJhO1xuXG5cdC8vIGdlb21ldHJ5XG5cdCduZ3QtaW5zdGFuY2VkLWJ1ZmZlci1nZW9tZXRyeSc6IE5ndEluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5O1xuXHQnbmd0LWJ1ZmZlci1nZW9tZXRyeSc6IE5ndEJ1ZmZlckdlb21ldHJ5O1xuXHQnbmd0LXdpcmVmcmFtZS1nZW9tZXRyeSc6IE5ndFdpcmVmcmFtZUdlb21ldHJ5O1xuXHQnbmd0LXRldHJhaGVkcm9uLWdlb21ldHJ5JzogTmd0VGV0cmFoZWRyb25HZW9tZXRyeTtcblx0J25ndC1vY3RhaGVkcm9uLWdlb21ldHJ5JzogTmd0T2N0YWhlZHJvbkdlb21ldHJ5O1xuXHQnbmd0LWljb3NhaGVkcm9uLWdlb21ldHJ5JzogTmd0SWNvc2FoZWRyb25HZW9tZXRyeTtcblx0J25ndC1wb2x5aGVkcm9uLWdlb21ldHJ5JzogTmd0UG9seWhlZHJvbkdlb21ldHJ5O1xuXHQnbmd0LWRvZGVjYWhlZHJvbi1nZW9tZXRyeSc6IE5ndERvZGVjYWhlZHJvbkdlb21ldHJ5O1xuXHQnbmd0LXR1YmUtZ2VvbWV0cnknOiBOZ3RUdWJlR2VvbWV0cnk7XG5cdCduZ3QtdG9ydXMta25vdC1nZW9tZXRyeSc6IE5ndFRvcnVzS25vdEdlb21ldHJ5O1xuXHQnbmd0LXRvcnVzLWdlb21ldHJ5JzogTmd0VG9ydXNHZW9tZXRyeTtcblx0J25ndC1zcGhlcmUtZ2VvbWV0cnknOiBOZ3RTcGhlcmVHZW9tZXRyeTtcblx0J25ndC1yaW5nLWdlb21ldHJ5JzogTmd0UmluZ0dlb21ldHJ5O1xuXHQnbmd0LXBsYW5lLWdlb21ldHJ5JzogTmd0UGxhbmVHZW9tZXRyeTtcblx0J25ndC1sYXRoZS1nZW9tZXRyeSc6IE5ndExhdGhlR2VvbWV0cnk7XG5cdCduZ3Qtc2hhcGUtZ2VvbWV0cnknOiBOZ3RTaGFwZUdlb21ldHJ5O1xuXHQnbmd0LWV4dHJ1ZGUtZ2VvbWV0cnknOiBOZ3RFeHRydWRlR2VvbWV0cnk7XG5cdCduZ3QtZWRnZXMtZ2VvbWV0cnknOiBOZ3RFZGdlc0dlb21ldHJ5O1xuXHQnbmd0LWNvbmUtZ2VvbWV0cnknOiBOZ3RDb25lR2VvbWV0cnk7XG5cdCduZ3QtY3lsaW5kZXItZ2VvbWV0cnknOiBOZ3RDeWxpbmRlckdlb21ldHJ5O1xuXHQnbmd0LWNpcmNsZS1nZW9tZXRyeSc6IE5ndENpcmNsZUdlb21ldHJ5O1xuXHQnbmd0LWJveC1nZW9tZXRyeSc6IE5ndEJveEdlb21ldHJ5O1xuXHQnbmd0LWNhcHN1bGUtZ2VvbWV0cnknOiBOZ3RDYXBzdWxlR2VvbWV0cnk7XG5cblx0Ly8gbWF0ZXJpYWxzXG5cdCduZ3Qtc2hhZG93LW1hdGVyaWFsJzogTmd0U2hhZG93TWF0ZXJpYWw7XG5cdCduZ3Qtc3ByaXRlLW1hdGVyaWFsJzogTmd0U3ByaXRlTWF0ZXJpYWw7XG5cdCduZ3QtcmF3LXNoYWRlci1tYXRlcmlhbCc6IE5ndFJhd1NoYWRlck1hdGVyaWFsO1xuXHQnbmd0LXNoYWRlci1tYXRlcmlhbCc6IE5ndFNoYWRlck1hdGVyaWFsO1xuXHQnbmd0LXBvaW50cy1tYXRlcmlhbCc6IE5ndFBvaW50c01hdGVyaWFsO1xuXHQnbmd0LW1lc2gtcGh5c2ljYWwtbWF0ZXJpYWwnOiBOZ3RNZXNoUGh5c2ljYWxNYXRlcmlhbDtcblx0J25ndC1tZXNoLXN0YW5kYXJkLW1hdGVyaWFsJzogTmd0TWVzaFN0YW5kYXJkTWF0ZXJpYWw7XG5cdCduZ3QtbWVzaC1waG9uZy1tYXRlcmlhbCc6IE5ndE1lc2hQaG9uZ01hdGVyaWFsO1xuXHQnbmd0LW1lc2gtdG9vbi1tYXRlcmlhbCc6IE5ndE1lc2hUb29uTWF0ZXJpYWw7XG5cdCduZ3QtbWVzaC1ub3JtYWwtbWF0ZXJpYWwnOiBOZ3RNZXNoTm9ybWFsTWF0ZXJpYWw7XG5cdCduZ3QtbWVzaC1sYW1iZXJ0LW1hdGVyaWFsJzogTmd0TWVzaExhbWJlcnRNYXRlcmlhbDtcblx0J25ndC1tZXNoLWRlcHRoLW1hdGVyaWFsJzogTmd0TWVzaERlcHRoTWF0ZXJpYWw7XG5cdCduZ3QtbWVzaC1kaXN0YW5jZS1tYXRlcmlhbCc6IE5ndE1lc2hEaXN0YW5jZU1hdGVyaWFsO1xuXHQnbmd0LW1lc2gtYmFzaWMtbWF0ZXJpYWwnOiBOZ3RNZXNoQmFzaWNNYXRlcmlhbDtcblx0J25ndC1tZXNoLW1hdGNhcC1tYXRlcmlhbCc6IE5ndE1lc2hNYXRjYXBNYXRlcmlhbDtcblx0J25ndC1saW5lLWRhc2hlZC1tYXRlcmlhbCc6IE5ndExpbmVEYXNoZWRNYXRlcmlhbDtcblx0J25ndC1saW5lLWJhc2ljLW1hdGVyaWFsJzogTmd0TGluZUJhc2ljTWF0ZXJpYWw7XG5cblx0Ly8gcHJpbWl0aXZlXG5cdCduZ3QtcHJpbWl0aXZlJzogTmd0UHJpbWl0aXZlO1xuXG5cdC8vIHJhd1ZhbHVlXG5cdCduZ3QtdmFsdWUnOiBOZ3RWYWx1ZTtcblxuXHQvLyBsaWdodHMgYW5kIG90aGVyXG5cdCduZ3Qtc3BvdC1saWdodC1zaGFkb3cnOiBOZ3RTcG90TGlnaHRTaGFkb3c7XG5cdCduZ3Qtc3BvdC1saWdodCc6IE5ndFNwb3RMaWdodDtcblx0J25ndC1wb2ludC1saWdodCc6IE5ndFBvaW50TGlnaHQ7XG5cdCduZ3QtcmVjdC1hcmVhLWxpZ2h0JzogTmd0UmVjdEFyZWFMaWdodDtcblx0J25ndC1oZW1pc3BoZXJlLWxpZ2h0JzogTmd0SGVtaXNwaGVyZUxpZ2h0O1xuXHQnbmd0LWRpcmVjdGlvbmFsLWxpZ2h0LXNoYWRvdyc6IE5ndERpcmVjdGlvbmFsTGlnaHRTaGFkb3c7XG5cdCduZ3QtZGlyZWN0aW9uYWwtbGlnaHQnOiBOZ3REaXJlY3Rpb25hbExpZ2h0O1xuXHQnbmd0LWFtYmllbnQtbGlnaHQnOiBOZ3RBbWJpZW50TGlnaHQ7XG5cdCduZ3QtbGlnaHQtc2hhZG93JzogTmd0TGlnaHRTaGFkb3c7XG5cdCduZ3QtbGlnaHQtcHJvYmUnOiBOZ3RMaWdodFByb2JlO1xuXG5cdC8vIGhlbHBlcnNcblx0J25ndC1zcG90LWxpZ2h0LWhlbHBlcic6IE5ndFNwb3RMaWdodEhlbHBlcjtcblx0J25ndC1za2VsZXRvbi1oZWxwZXInOiBOZ3RTa2VsZXRvbkhlbHBlcjtcblx0J25ndC1wb2ludC1saWdodC1oZWxwZXInOiBOZ3RQb2ludExpZ2h0SGVscGVyO1xuXHQnbmd0LWhlbWlzcGhlcmUtbGlnaHQtaGVscGVyJzogTmd0SGVtaXNwaGVyZUxpZ2h0SGVscGVyO1xuXHQnbmd0LWdyaWQtaGVscGVyJzogTmd0R3JpZEhlbHBlcjtcblx0J25ndC1wb2xhci1ncmlkLWhlbHBlcic6IE5ndFBvbGFyR3JpZEhlbHBlcjtcblx0J25ndC1kaXJlY3Rpb25hbC1saWdodC1oZWxwZXInOiBOZ3REaXJlY3Rpb25hbExpZ2h0SGVscGVyO1xuXHQnbmd0LWNhbWVyYS1oZWxwZXInOiBOZ3RDYW1lcmFIZWxwZXI7XG5cdCduZ3QtYm94LWhlbHBlcic6IE5ndEJveEhlbHBlcjtcblx0J25ndC1ib3gzLWhlbHBlcic6IE5ndEJveDNIZWxwZXI7XG5cdCduZ3QtcGxhbmUtaGVscGVyJzogTmd0UGxhbmVIZWxwZXI7XG5cdCduZ3QtYXJyb3ctaGVscGVyJzogTmd0QXJyb3dIZWxwZXI7XG5cdCduZ3QtYXhlcy1oZWxwZXInOiBOZ3RBeGVzSGVscGVyO1xuXG5cdC8vIHRleHR1cmVzXG5cdCduZ3QtdGV4dHVyZSc6IE5ndFRleHR1cmU7XG5cdCduZ3QtdmlkZW8tdGV4dHVyZSc6IE5ndFZpZGVvVGV4dHVyZTtcblx0J25ndC1kYXRhLXRleHR1cmUnOiBOZ3REYXRhVGV4dHVyZTtcblx0J25ndC1kYXRhM0QtdGV4dHVyZSc6IE5ndERhdGEzRFRleHR1cmU7XG5cdCduZ3QtY29tcHJlc3NlZC10ZXh0dXJlJzogTmd0Q29tcHJlc3NlZFRleHR1cmU7XG5cdCduZ3QtY3ViZS10ZXh0dXJlJzogTmd0Q3ViZVRleHR1cmU7XG5cdCduZ3QtY2FudmFzLXRleHR1cmUnOiBOZ3RDYW52YXNUZXh0dXJlO1xuXHQnbmd0LWRlcHRoLXRleHR1cmUnOiBOZ3REZXB0aFRleHR1cmU7XG5cblx0Ly8gbWlzY1xuXHQnbmd0LXJheWNhc3Rlcic6IE5ndFJheWNhc3Rlcjtcblx0J25ndC12ZWN0b3IyJzogTmd0VmVjdG9yMk5vZGU7XG5cdCduZ3QtdmVjdG9yMyc6IE5ndFZlY3RvcjNOb2RlO1xuXHQnbmd0LXZlY3RvcjQnOiBOZ3RWZWN0b3I0Tm9kZTtcblx0J25ndC1ldWxlcic6IE5ndEV1bGVyTm9kZTtcblx0J25ndC1tYXRyaXgzJzogTmd0TWF0cml4M05vZGU7XG5cdCduZ3QtbWF0cml4NCc6IE5ndE1hdHJpeDROb2RlO1xuXHQnbmd0LXF1YXRlcm5pb24nOiBOZ3RRdWF0ZXJuaW9uTm9kZTtcblx0J25ndC1idWZmZXItYXR0cmlidXRlJzogTmd0QnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LWZsb2F0MTYtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEZsb2F0MTZCdWZmZXJBdHRyaWJ1dGU7XG5cdCduZ3QtZmxvYXQzMi1idWZmZXItYXR0cmlidXRlJzogTmd0RmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZTtcblx0J25ndC1pbnQ4LWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RJbnQ4QnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LWludDE2LWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RJbnQxNkJ1ZmZlckF0dHJpYnV0ZTtcblx0J25ndC1pbnQzMi1idWZmZXItYXR0cmlidXRlJzogTmd0SW50MzJCdWZmZXJBdHRyaWJ1dGU7XG5cdCduZ3QtdW5pdDgtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndFVpbnQ4QnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LXVuaXQxNi1idWZmZXItYXR0cmlidXRlJzogTmd0VWludDE2QnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LXVuaXQzMi1idWZmZXItYXR0cmlidXRlJzogTmd0VWludDMyQnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LWluc3RhbmNlZC1idWZmZXItYXR0cmlidXRlJzogTmd0SW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LWNvbG9yJzogTmd0Q29sb3I7XG5cdCduZ3QtZm9nJzogTmd0Rm9nO1xuXHQnbmd0LWZvZy1leHAyJzogTmd0Rm9nRXhwMjtcblx0J25ndC1zaGFwZSc6IE5ndFNoYXBlO1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAgZXh0ZW5kcyBUaHJlZUVsZW1lbnRzIHt9XG59XG4iXX0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90aHJlZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0QW1iaWVudExpZ2h0LFxuXHRBcnJheUNhbWVyYSxcblx0QXJyb3dIZWxwZXIsXG5cdEF1ZGlvLFxuXHRBeGVzSGVscGVyLFxuXHRCb25lLFxuXHRCb3gzSGVscGVyLFxuXHRCb3hHZW9tZXRyeSxcblx0Qm94SGVscGVyLFxuXHRCdWZmZXJBdHRyaWJ1dGUsXG5cdEJ1ZmZlckdlb21ldHJ5LFxuXHRDYW1lcmEsXG5cdENhbWVyYUhlbHBlcixcblx0Q2FudmFzVGV4dHVyZSxcblx0Q2Fwc3VsZUdlb21ldHJ5LFxuXHRDaXJjbGVHZW9tZXRyeSxcblx0Q29sb3IsXG5cdENvbG9yUmVwcmVzZW50YXRpb24sXG5cdENvbXByZXNzZWRUZXh0dXJlLFxuXHRDb25lR2VvbWV0cnksXG5cdEN1YmVDYW1lcmEsXG5cdEN1YmVUZXh0dXJlLFxuXHRDeWxpbmRlckdlb21ldHJ5LFxuXHREYXRhM0RUZXh0dXJlLFxuXHREYXRhVGV4dHVyZSxcblx0RGVwdGhUZXh0dXJlLFxuXHREaXJlY3Rpb25hbExpZ2h0LFxuXHREaXJlY3Rpb25hbExpZ2h0SGVscGVyLFxuXHREaXJlY3Rpb25hbExpZ2h0U2hhZG93LFxuXHREb2RlY2FoZWRyb25HZW9tZXRyeSxcblx0RWRnZXNHZW9tZXRyeSxcblx0RXVsZXIsXG5cdEV4dHJ1ZGVHZW9tZXRyeSxcblx0RmxvYXQxNkJ1ZmZlckF0dHJpYnV0ZSxcblx0RmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZSxcblx0Rm9nLFxuXHRGb2dFeHAyLFxuXHRHcmlkSGVscGVyLFxuXHRHcm91cCxcblx0SGVtaXNwaGVyZUxpZ2h0LFxuXHRIZW1pc3BoZXJlTGlnaHRIZWxwZXIsXG5cdEljb3NhaGVkcm9uR2VvbWV0cnksXG5cdEluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZSxcblx0SW5zdGFuY2VkQnVmZmVyR2VvbWV0cnksXG5cdEluc3RhbmNlZE1lc2gsXG5cdEludDE2QnVmZmVyQXR0cmlidXRlLFxuXHRJbnQzMkJ1ZmZlckF0dHJpYnV0ZSxcblx0SW50OEJ1ZmZlckF0dHJpYnV0ZSxcblx0TE9ELFxuXHRMYXRoZUdlb21ldHJ5LFxuXHRMYXllcnMsXG5cdExpZ2h0LFxuXHRMaWdodFByb2JlLFxuXHRMaWdodFNoYWRvdyxcblx0TGluZSxcblx0TGluZUJhc2ljTWF0ZXJpYWwsXG5cdExpbmVCYXNpY01hdGVyaWFsUGFyYW1ldGVycyxcblx0TGluZURhc2hlZE1hdGVyaWFsLFxuXHRMaW5lRGFzaGVkTWF0ZXJpYWxQYXJhbWV0ZXJzLFxuXHRMaW5lTG9vcCxcblx0TGluZVNlZ21lbnRzLFxuXHRNYXRlcmlhbCxcblx0TWF0cml4Myxcblx0TWF0cml4NCxcblx0TWVzaCxcblx0TWVzaEJhc2ljTWF0ZXJpYWwsXG5cdE1lc2hCYXNpY01hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaERlcHRoTWF0ZXJpYWwsXG5cdE1lc2hEZXB0aE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaERpc3RhbmNlTWF0ZXJpYWwsXG5cdE1lc2hEaXN0YW5jZU1hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaExhbWJlcnRNYXRlcmlhbCxcblx0TWVzaExhbWJlcnRNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE1lc2hNYXRjYXBNYXRlcmlhbCxcblx0TWVzaE1hdGNhcE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaE5vcm1hbE1hdGVyaWFsLFxuXHRNZXNoTm9ybWFsTWF0ZXJpYWxQYXJhbWV0ZXJzLFxuXHRNZXNoUGhvbmdNYXRlcmlhbCxcblx0TWVzaFBob25nTWF0ZXJpYWxQYXJhbWV0ZXJzLFxuXHRNZXNoUGh5c2ljYWxNYXRlcmlhbCxcblx0TWVzaFBoeXNpY2FsTWF0ZXJpYWxQYXJhbWV0ZXJzLFxuXHRNZXNoU3RhbmRhcmRNYXRlcmlhbCxcblx0TWVzaFN0YW5kYXJkTWF0ZXJpYWxQYXJhbWV0ZXJzLFxuXHRNZXNoVG9vbk1hdGVyaWFsLFxuXHRNZXNoVG9vbk1hdGVyaWFsUGFyYW1ldGVycyxcblx0T2JqZWN0M0QsXG5cdE9jdGFoZWRyb25HZW9tZXRyeSxcblx0T3J0aG9ncmFwaGljQ2FtZXJhLFxuXHRQZXJzcGVjdGl2ZUNhbWVyYSxcblx0UGxhbmVHZW9tZXRyeSxcblx0UGxhbmVIZWxwZXIsXG5cdFBvaW50TGlnaHQsXG5cdFBvaW50TGlnaHRIZWxwZXIsXG5cdFBvaW50cyxcblx0UG9pbnRzTWF0ZXJpYWwsXG5cdFBvaW50c01hdGVyaWFsUGFyYW1ldGVycyxcblx0UG9sYXJHcmlkSGVscGVyLFxuXHRQb2x5aGVkcm9uR2VvbWV0cnksXG5cdFBvc2l0aW9uYWxBdWRpbyxcblx0UXVhdGVybmlvbixcblx0UmF3U2hhZGVyTWF0ZXJpYWwsXG5cdFJheWNhc3Rlcixcblx0UmVjdEFyZWFMaWdodCxcblx0UmluZ0dlb21ldHJ5LFxuXHRTY2VuZSxcblx0U2hhZGVyTWF0ZXJpYWwsXG5cdFNoYWRlck1hdGVyaWFsUGFyYW1ldGVycyxcblx0U2hhZG93TWF0ZXJpYWwsXG5cdFNoYXBlLFxuXHRTaGFwZUdlb21ldHJ5LFxuXHRTa2VsZXRvbixcblx0U2tlbGV0b25IZWxwZXIsXG5cdFNraW5uZWRNZXNoLFxuXHRTcGhlcmVHZW9tZXRyeSxcblx0U3BvdExpZ2h0LFxuXHRTcG90TGlnaHRIZWxwZXIsXG5cdFNwb3RMaWdodFNoYWRvdyxcblx0U3ByaXRlLFxuXHRTcHJpdGVNYXRlcmlhbCxcblx0U3ByaXRlTWF0ZXJpYWxQYXJhbWV0ZXJzLFxuXHRUZXRyYWhlZHJvbkdlb21ldHJ5LFxuXHRUZXh0dXJlLFxuXHRUb3J1c0dlb21ldHJ5LFxuXHRUb3J1c0tub3RHZW9tZXRyeSxcblx0VHViZUdlb21ldHJ5LFxuXHRVaW50MTZCdWZmZXJBdHRyaWJ1dGUsXG5cdFVpbnQzMkJ1ZmZlckF0dHJpYnV0ZSxcblx0VWludDhCdWZmZXJBdHRyaWJ1dGUsXG5cdFZlY3RvcjIsXG5cdFZlY3RvcjMsXG5cdFZlY3RvcjQsXG5cdFZpZGVvVGV4dHVyZSxcblx0V2lyZWZyYW1lR2VvbWV0cnksXG59IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndEV2ZW50SGFuZGxlcnMgfSBmcm9tICcuL2V2ZW50cyc7XG5pbXBvcnQgeyBOZ3RBZnRlckF0dGFjaCwgTmd0QXR0YWNoRnVuY3Rpb24sIE5ndEluc3RhbmNlTm9kZSB9IGZyb20gJy4vaW5zdGFuY2UnO1xuaW1wb3J0IHsgTmd0QmVmb3JlUmVuZGVyRXZlbnQgfSBmcm9tICcuL3N0b3JlJztcblxudHlwZSBFeHBhbmQ8VD4gPSBUIGV4dGVuZHMgaW5mZXIgTyA/IHsgW0sgaW4ga2V5b2YgT106IE9bS10gfSA6IG5ldmVyO1xudHlwZSBOb0V2ZW50PFQ+ID0gT21pdDxULCAnYWRkRXZlbnRMaXN0ZW5lcicgfCAncmVtb3ZlRXZlbnRMaXN0ZW5lcic+O1xuXG5leHBvcnQgdHlwZSBOZ3ROb25GdW5jdGlvbktleXM8VD4gPSB7IFtLIGluIGtleW9mIFRdLT86IFRbS10gZXh0ZW5kcyBGdW5jdGlvbiA/IG5ldmVyIDogSyB9W2tleW9mIFRdO1xuZXhwb3J0IHR5cGUgTmd0T3ZlcndyaXRlPFQsIE8+ID0gT21pdDxULCBOZ3ROb25GdW5jdGlvbktleXM8Tz4+ICYgTztcblxuZXhwb3J0IHR5cGUgTmd0RXh0ZW5kZWRDb2xvcnM8VD4gPSB7XG5cdFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgQ29sb3IgfCB1bmRlZmluZWQgPyBDb2xvclJlcHJlc2VudGF0aW9uIDogVFtLXTtcbn07XG5cbi8qKlxuICogSWYgKipUKiogY29udGFpbnMgYSBjb25zdHJ1Y3RvciwgQHNlZSBDb25zdHJ1Y3RvclBhcmFtZXRlcnMgbXVzdCBiZSB1c2VkLCBvdGhlcndpc2UgKipUKiouXG4gKi9cbnR5cGUgTmd0QXJndW1lbnRzPFQ+ID0gVCBleHRlbmRzIG5ldyAoLi4uYXJnczogYW55KSA9PiBhbnkgPyBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VD4gOiBUO1xuXG5leHBvcnQgdHlwZSBOZ3RFdWxlciA9IEV1bGVyIHwgUGFyYW1ldGVyczxFdWxlclsnc2V0J10+O1xuZXhwb3J0IHR5cGUgTmd0TWF0cml4NCA9IE1hdHJpeDQgfCBQYXJhbWV0ZXJzPE1hdHJpeDRbJ3NldCddPiB8IFJlYWRvbmx5PE1hdHJpeDRbJ3NldCddPjtcblxuLyoqXG4gKiBUdXJuIGFuIGltcGxlbWVudGF0aW9uIG9mIFZlY3RvciBpbiB0byB0aGUgdHlwZSB0aGF0IGFuIHIzZiBjb21wb25lbnQgd291bGQgYWNjZXB0IGFzIGEgcHJvcC5cbiAqL1xudHlwZSBOZ3RWZWN0b3JMaWtlPFZlY3RvckNsYXNzIGV4dGVuZHMgVmVjdG9yMiB8IFZlY3RvcjMgfCBWZWN0b3I0PiA9XG5cdHwgVmVjdG9yQ2xhc3Ncblx0fCBQYXJhbWV0ZXJzPFZlY3RvckNsYXNzWydzZXQnXT5cblx0fCBSZWFkb25seTxQYXJhbWV0ZXJzPFZlY3RvckNsYXNzWydzZXQnXT4+XG5cdHwgUGFyYW1ldGVyczxWZWN0b3JDbGFzc1snc2V0U2NhbGFyJ10+WzBdO1xuXG5leHBvcnQgdHlwZSBOZ3RWZWN0b3IyID0gTmd0VmVjdG9yTGlrZTxWZWN0b3IyPjtcbmV4cG9ydCB0eXBlIE5ndFZlY3RvcjMgPSBOZ3RWZWN0b3JMaWtlPFZlY3RvcjM+O1xuZXhwb3J0IHR5cGUgTmd0VmVjdG9yNCA9IE5ndFZlY3Rvckxpa2U8VmVjdG9yND47XG5leHBvcnQgdHlwZSBOZ3RMYXllcnMgPSBMYXllcnMgfCBQYXJhbWV0ZXJzPExheWVyc1snc2V0J10+WzBdO1xuZXhwb3J0IHR5cGUgTmd0UXVhdGVybmlvbiA9IFF1YXRlcm5pb24gfCBQYXJhbWV0ZXJzPFF1YXRlcm5pb25bJ3NldCddPjtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3ROb2RlRXZlbnRNYXA8VE9yaWdpbmFsPiB7XG5cdGF0dGFjaGVkOiBOZ3RBZnRlckF0dGFjaDxOZ3RJbnN0YW5jZU5vZGUsIFRPcmlnaW5hbD47XG5cdHVwZGF0ZWQ6IFRPcmlnaW5hbDtcblx0YmVmb3JlUmVuZGVyOiBOZ3RCZWZvcmVSZW5kZXJFdmVudDxUT3JpZ2luYWw+O1xufVxuXG5leHBvcnQgdHlwZSBOZ3ROb2RlRWxlbWVudDxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4gPSB7XG5cdGF0dGFjaDogc3RyaW5nIHwgc3RyaW5nW10gfCBOZ3RBdHRhY2hGdW5jdGlvbjtcblx0Ly8gcmVmOiBOZ3RJbmplY3RlZFJlZjxUT3JpZ2luYWw+O1xuXHRhZGRFdmVudExpc3RlbmVyPFRFdmVudEtleSBleHRlbmRzIGtleW9mIE5ndE5vZGVFdmVudE1hcDxUT3JpZ2luYWw+Pihcblx0XHR0eXBlOiBURXZlbnRLZXksXG5cdFx0bGlzdGVuZXI6ICh0aGlzOiBOZ3ROb2RlRWxlbWVudDxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4sIGV2OiBOZ3ROb2RlRXZlbnRNYXA8VE9yaWdpbmFsPltURXZlbnRLZXldKSA9PiBhbnksXG5cdCk6IHZvaWQ7XG5cdHJlbW92ZUV2ZW50TGlzdGVuZXI8VEV2ZW50S2V5IGV4dGVuZHMga2V5b2YgTmd0Tm9kZUV2ZW50TWFwPFRPcmlnaW5hbD4+KFxuXHRcdHR5cGU6IFRFdmVudEtleSxcblx0XHRsaXN0ZW5lcjogKHRoaXM6IE5ndE5vZGVFbGVtZW50PFRPcmlnaW5hbCwgVENvbnN0cnVjdG9yPiwgZXY6IE5ndE5vZGVFdmVudE1hcDxUT3JpZ2luYWw+W1RFdmVudEtleV0pID0+IGFueSxcblx0KTogdm9pZDtcblx0X19uZ3RfYXJnc19fOiBOZ3RBcmd1bWVudHM8VENvbnN0cnVjdG9yPjtcbn07XG5cbmV4cG9ydCB0eXBlIE5ndE5vZGU8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3IsIFROb0V2ZW50ID0gTm9FdmVudDxUT3JpZ2luYWw+PiA9IEV4cGFuZDxcblx0Tmd0RXh0ZW5kZWRDb2xvcnM8Tmd0T3ZlcndyaXRlPFBhcnRpYWw8VE5vRXZlbnQ+LCBOZ3ROb2RlRWxlbWVudDxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4+PlxuPjtcblxuZXhwb3J0IHR5cGUgTmd0T2JqZWN0M0RFdmVudHNNYXAgPSB7XG5cdFtURXZlbnQgaW4ga2V5b2YgTmd0RXZlbnRIYW5kbGVyc10tPzogUGFyYW1ldGVyczxOb25OdWxsYWJsZTxOZ3RFdmVudEhhbmRsZXJzW1RFdmVudF0+PlswXTtcbn07XG5cbmV4cG9ydCB0eXBlIE5ndE9iamVjdDNETm9kZTxUT3JpZ2luYWwsIFRDb25zdHJ1Y3RvciwgVE5vRXZlbnQgPSBOb0V2ZW50PFRPcmlnaW5hbD4+ID0gRXhwYW5kPFxuXHROZ3RPdmVyd3JpdGU8XG5cdFx0Tmd0Tm9kZTxUT3JpZ2luYWwsIFRDb25zdHJ1Y3RvciwgVE5vRXZlbnQ+LFxuXHRcdHtcblx0XHRcdHBvc2l0aW9uOiBOZ3RWZWN0b3IzO1xuXHRcdFx0dXA6IE5ndFZlY3RvcjM7XG5cdFx0XHRzY2FsZTogTmd0VmVjdG9yMztcblx0XHRcdHJvdGF0aW9uOiBOZ3RFdWxlcjtcblx0XHRcdG1hdHJpeDogTmd0TWF0cml4NDtcblx0XHRcdHF1YXRlcm5pb246IE5ndFF1YXRlcm5pb247XG5cdFx0XHRsYXllcnM6IE5ndExheWVycztcblx0XHRcdGRpc3Bvc2U6ICgoKSA9PiB2b2lkKSB8IG51bGw7XG5cdFx0XHRhZGRFdmVudExpc3RlbmVyPFRFdmVudEtleSBleHRlbmRzIGtleW9mIE5ndE9iamVjdDNERXZlbnRzTWFwPihcblx0XHRcdFx0dHlwZTogVEV2ZW50S2V5LFxuXHRcdFx0XHRsaXN0ZW5lcjogKHRoaXM6IE5ndE9iamVjdDNETm9kZTxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4sIGV2OiBOZ3RPYmplY3QzREV2ZW50c01hcFtURXZlbnRLZXldKSA9PiBhbnksXG5cdFx0XHQpOiB2b2lkO1xuXHRcdFx0cmVtb3ZlRXZlbnRMaXN0ZW5lcjxURXZlbnRLZXkgZXh0ZW5kcyBrZXlvZiBOZ3RPYmplY3QzREV2ZW50c01hcD4oXG5cdFx0XHRcdHR5cGU6IFRFdmVudEtleSxcblx0XHRcdFx0bGlzdGVuZXI6ICh0aGlzOiBOZ3RPYmplY3QzRE5vZGU8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3I+LCBldjogTmd0T2JqZWN0M0RFdmVudHNNYXBbVEV2ZW50S2V5XSkgPT4gYW55LFxuXHRcdFx0KTogdm9pZDtcblx0XHR9XG5cdD5cbj47XG5cbmV4cG9ydCB0eXBlIE5ndEdlb21ldHJ5PFRHZW9tZXRyeSBleHRlbmRzIEJ1ZmZlckdlb21ldHJ5LCBUQ29uc3RydWN0b3I+ID0gTmd0Tm9kZTxUR2VvbWV0cnksIFRDb25zdHJ1Y3Rvcj47XG5leHBvcnQgdHlwZSBOZ3RNYXRlcmlhbDxUTWF0ZXJpYWwgZXh0ZW5kcyBNYXRlcmlhbCwgVENvbnN0cnVjdG9yPiA9IE5ndE5vZGU8VE1hdGVyaWFsLCBUQ29uc3RydWN0b3I+O1xuZXhwb3J0IHR5cGUgTmd0TGlnaHQ8VCBleHRlbmRzIExpZ2h0LCBQPiA9IE5ndE9iamVjdDNETm9kZTxULCBQPjtcblxuZXhwb3J0IHR5cGUgTmd0T2JqZWN0M0QgPSBOZ3RPYmplY3QzRE5vZGU8T2JqZWN0M0QsIHR5cGVvZiBPYmplY3QzRD47XG5leHBvcnQgdHlwZSBOZ3RBdWRpbyA9IE5ndE9iamVjdDNETm9kZTxBdWRpbywgdHlwZW9mIEF1ZGlvPjtcbmV4cG9ydCB0eXBlIE5ndEF1ZGlvTGlzdGVuZXIgPSBOZ3RPYmplY3QzRE5vZGU8QXVkaW9MaXN0ZW5lciwgdHlwZW9mIEF1ZGlvTGlzdGVuZXI+O1xuZXhwb3J0IHR5cGUgTmd0UG9zaXRpb25hbEF1ZGlvID0gTmd0T2JqZWN0M0ROb2RlPFBvc2l0aW9uYWxBdWRpbywgdHlwZW9mIFBvc2l0aW9uYWxBdWRpbz47XG5cbmV4cG9ydCB0eXBlIE5ndE1lc2ggPSBOZ3RPYmplY3QzRE5vZGU8TWVzaCwgdHlwZW9mIE1lc2g+O1xuZXhwb3J0IHR5cGUgTmd0SW5zdGFuY2VkTWVzaCA9IE5ndE9iamVjdDNETm9kZTxJbnN0YW5jZWRNZXNoLCB0eXBlb2YgSW5zdGFuY2VkTWVzaD47XG5leHBvcnQgdHlwZSBOZ3RTY2VuZSA9IE5ndE9iamVjdDNETm9kZTxTY2VuZSwgdHlwZW9mIFNjZW5lPjtcbmV4cG9ydCB0eXBlIE5ndFNwcml0ZSA9IE5ndE9iamVjdDNETm9kZTxTcHJpdGUsIHR5cGVvZiBTcHJpdGU+O1xuZXhwb3J0IHR5cGUgTmd0TE9EID0gTmd0T2JqZWN0M0ROb2RlPExPRCwgdHlwZW9mIExPRD47XG5leHBvcnQgdHlwZSBOZ3RTa2lubmVkTWVzaCA9IE5ndE9iamVjdDNETm9kZTxTa2lubmVkTWVzaCwgdHlwZW9mIFNraW5uZWRNZXNoPjtcblxuZXhwb3J0IHR5cGUgTmd0U2tlbGV0b24gPSBOZ3RPYmplY3QzRE5vZGU8U2tlbGV0b24sIHR5cGVvZiBTa2VsZXRvbj47XG5leHBvcnQgdHlwZSBOZ3RCb25lID0gTmd0T2JqZWN0M0ROb2RlPEJvbmUsIHR5cGVvZiBCb25lPjtcbmV4cG9ydCB0eXBlIE5ndExpbmUgPSBOZ3RPYmplY3QzRE5vZGU8TGluZSwgdHlwZW9mIExpbmU+O1xuZXhwb3J0IHR5cGUgTmd0TGluZVNlZ21lbnRzID0gTmd0T2JqZWN0M0ROb2RlPExpbmVTZWdtZW50cywgdHlwZW9mIExpbmVTZWdtZW50cz47XG5leHBvcnQgdHlwZSBOZ3RMaW5lTG9vcCA9IE5ndE9iamVjdDNETm9kZTxMaW5lTG9vcCwgdHlwZW9mIExpbmVMb29wPjtcbmV4cG9ydCB0eXBlIE5ndFBvaW50cyA9IE5ndE9iamVjdDNETm9kZTxQb2ludHMsIHR5cGVvZiBQb2ludHM+O1xuZXhwb3J0IHR5cGUgTmd0R3JvdXAgPSBOZ3RPYmplY3QzRE5vZGU8R3JvdXAsIHR5cGVvZiBHcm91cD47XG5cbmV4cG9ydCB0eXBlIE5ndENhbWVyYU5vZGUgPSBOZ3RPYmplY3QzRE5vZGU8Q2FtZXJhLCB0eXBlb2YgQ2FtZXJhPjtcbmV4cG9ydCB0eXBlIE5ndFBlcnNwZWN0aXZlQ2FtZXJhID0gTmd0T2JqZWN0M0ROb2RlPFBlcnNwZWN0aXZlQ2FtZXJhLCB0eXBlb2YgUGVyc3BlY3RpdmVDYW1lcmE+O1xuZXhwb3J0IHR5cGUgTmd0T3J0aG9ncmFwaGljQ2FtZXJhID0gTmd0T2JqZWN0M0ROb2RlPE9ydGhvZ3JhcGhpY0NhbWVyYSwgdHlwZW9mIE9ydGhvZ3JhcGhpY0NhbWVyYT47XG5leHBvcnQgdHlwZSBOZ3RDdWJlQ2FtZXJhID0gTmd0T2JqZWN0M0ROb2RlPEN1YmVDYW1lcmEsIHR5cGVvZiBDdWJlQ2FtZXJhPjtcbmV4cG9ydCB0eXBlIE5ndEFycmF5Q2FtZXJhID0gTmd0T2JqZWN0M0ROb2RlPEFycmF5Q2FtZXJhLCB0eXBlb2YgQXJyYXlDYW1lcmE+O1xuXG5leHBvcnQgdHlwZSBOZ3RJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PEluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5LCB0eXBlb2YgSW5zdGFuY2VkQnVmZmVyR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0QnVmZmVyR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxCdWZmZXJHZW9tZXRyeSwgdHlwZW9mIEJ1ZmZlckdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFdpcmVmcmFtZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8V2lyZWZyYW1lR2VvbWV0cnksIHR5cGVvZiBXaXJlZnJhbWVHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RUZXRyYWhlZHJvbkdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VGV0cmFoZWRyb25HZW9tZXRyeSwgdHlwZW9mIFRldHJhaGVkcm9uR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0T2N0YWhlZHJvbkdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8T2N0YWhlZHJvbkdlb21ldHJ5LCB0eXBlb2YgT2N0YWhlZHJvbkdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndEljb3NhaGVkcm9uR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxJY29zYWhlZHJvbkdlb21ldHJ5LCB0eXBlb2YgSWNvc2FoZWRyb25HZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3REb2RlY2FoZWRyb25HZW9tZXRyeSA9IE5ndEdlb21ldHJ5PERvZGVjYWhlZHJvbkdlb21ldHJ5LCB0eXBlb2YgRG9kZWNhaGVkcm9uR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0UG9seWhlZHJvbkdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8UG9seWhlZHJvbkdlb21ldHJ5LCB0eXBlb2YgUG9seWhlZHJvbkdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFR1YmVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFR1YmVHZW9tZXRyeSwgdHlwZW9mIFR1YmVHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RUb3J1c0tub3RHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFRvcnVzS25vdEdlb21ldHJ5LCB0eXBlb2YgVG9ydXNLbm90R2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0VG9ydXNHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFRvcnVzR2VvbWV0cnksIHR5cGVvZiBUb3J1c0dlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFNwaGVyZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8U3BoZXJlR2VvbWV0cnksIHR5cGVvZiBTcGhlcmVHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RSaW5nR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxSaW5nR2VvbWV0cnksIHR5cGVvZiBSaW5nR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0UGxhbmVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFBsYW5lR2VvbWV0cnksIHR5cGVvZiBQbGFuZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndExhdGhlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxMYXRoZUdlb21ldHJ5LCB0eXBlb2YgTGF0aGVHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RTaGFwZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8U2hhcGVHZW9tZXRyeSwgdHlwZW9mIFNoYXBlR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0RXh0cnVkZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8RXh0cnVkZUdlb21ldHJ5LCB0eXBlb2YgRXh0cnVkZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndEVkZ2VzR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxFZGdlc0dlb21ldHJ5LCB0eXBlb2YgRWRnZXNHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RDb25lR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxDb25lR2VvbWV0cnksIHR5cGVvZiBDb25lR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0Q3lsaW5kZXJHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PEN5bGluZGVyR2VvbWV0cnksIHR5cGVvZiBDeWxpbmRlckdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndENpcmNsZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8Q2lyY2xlR2VvbWV0cnksIHR5cGVvZiBDaXJjbGVHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RCb3hHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PEJveEdlb21ldHJ5LCB0eXBlb2YgQm94R2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0Q2Fwc3VsZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8Q2Fwc3VsZUdlb21ldHJ5LCB0eXBlb2YgQ2Fwc3VsZUdlb21ldHJ5PjtcblxuZXhwb3J0IHR5cGUgTmd0U2hhZG93TWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxTaGFkb3dNYXRlcmlhbCwgW1NoYWRlck1hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0U3ByaXRlTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxTcHJpdGVNYXRlcmlhbCwgW1Nwcml0ZU1hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0UmF3U2hhZGVyTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxSYXdTaGFkZXJNYXRlcmlhbCwgW1NoYWRlck1hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0U2hhZGVyTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxTaGFkZXJNYXRlcmlhbCwgW1NoYWRlck1hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0UG9pbnRzTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxQb2ludHNNYXRlcmlhbCwgW1BvaW50c01hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0TWVzaFBoeXNpY2FsTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxNZXNoUGh5c2ljYWxNYXRlcmlhbCwgW01lc2hQaHlzaWNhbE1hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0TWVzaFN0YW5kYXJkTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxNZXNoU3RhbmRhcmRNYXRlcmlhbCwgW01lc2hTdGFuZGFyZE1hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0TWVzaFBob25nTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxNZXNoUGhvbmdNYXRlcmlhbCwgW01lc2hQaG9uZ01hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0TWVzaFRvb25NYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hUb29uTWF0ZXJpYWwsIFtNZXNoVG9vbk1hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0TWVzaE5vcm1hbE1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8TWVzaE5vcm1hbE1hdGVyaWFsLCBbTWVzaE5vcm1hbE1hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0TWVzaExhbWJlcnRNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hMYW1iZXJ0TWF0ZXJpYWwsIFtNZXNoTGFtYmVydE1hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0TWVzaERlcHRoTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxNZXNoRGVwdGhNYXRlcmlhbCwgW01lc2hEZXB0aE1hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0TWVzaERpc3RhbmNlTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxNZXNoRGlzdGFuY2VNYXRlcmlhbCwgW01lc2hEaXN0YW5jZU1hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0TWVzaEJhc2ljTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxNZXNoQmFzaWNNYXRlcmlhbCwgW01lc2hCYXNpY01hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0TWVzaE1hdGNhcE1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8TWVzaE1hdGNhcE1hdGVyaWFsLCBbTWVzaE1hdGNhcE1hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0TGluZURhc2hlZE1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8TGluZURhc2hlZE1hdGVyaWFsLCBbTGluZURhc2hlZE1hdGVyaWFsUGFyYW1ldGVyc10+O1xuZXhwb3J0IHR5cGUgTmd0TGluZUJhc2ljTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxMaW5lQmFzaWNNYXRlcmlhbCwgW0xpbmVCYXNpY01hdGVyaWFsUGFyYW1ldGVyc10+O1xuXG5leHBvcnQgdHlwZSBOZ3RQcmltaXRpdmUgPSBOZ3ROb2RlRWxlbWVudDxhbnksIGFueT47XG5leHBvcnQgdHlwZSBOZ3RWYWx1ZSA9IE5ndE5vZGU8eyByYXdWYWx1ZTogYW55IH0sIHt9PjtcblxuZXhwb3J0IHR5cGUgTmd0TGlnaHRTaGFkb3cgPSBOZ3ROb2RlPExpZ2h0U2hhZG93LCB0eXBlb2YgTGlnaHRTaGFkb3c+O1xuZXhwb3J0IHR5cGUgTmd0U3BvdExpZ2h0U2hhZG93ID0gTmd0Tm9kZTxTcG90TGlnaHRTaGFkb3csIHR5cGVvZiBTcG90TGlnaHRTaGFkb3c+O1xuZXhwb3J0IHR5cGUgTmd0RGlyZWN0aW9uYWxMaWdodFNoYWRvdyA9IE5ndE5vZGU8RGlyZWN0aW9uYWxMaWdodFNoYWRvdywgdHlwZW9mIERpcmVjdGlvbmFsTGlnaHRTaGFkb3c+O1xuXG5leHBvcnQgdHlwZSBOZ3RTcG90TGlnaHQgPSBOZ3RMaWdodDxTcG90TGlnaHQsIHR5cGVvZiBTcG90TGlnaHQ+O1xuZXhwb3J0IHR5cGUgTmd0UG9pbnRMaWdodCA9IE5ndExpZ2h0PFBvaW50TGlnaHQsIHR5cGVvZiBQb2ludExpZ2h0PjtcbmV4cG9ydCB0eXBlIE5ndFJlY3RBcmVhTGlnaHQgPSBOZ3RMaWdodDxSZWN0QXJlYUxpZ2h0LCB0eXBlb2YgUmVjdEFyZWFMaWdodD47XG5leHBvcnQgdHlwZSBOZ3RIZW1pc3BoZXJlTGlnaHQgPSBOZ3RMaWdodDxIZW1pc3BoZXJlTGlnaHQsIHR5cGVvZiBIZW1pc3BoZXJlTGlnaHQ+O1xuZXhwb3J0IHR5cGUgTmd0RGlyZWN0aW9uYWxMaWdodCA9IE5ndExpZ2h0PERpcmVjdGlvbmFsTGlnaHQsIHR5cGVvZiBEaXJlY3Rpb25hbExpZ2h0PjtcbmV4cG9ydCB0eXBlIE5ndEFtYmllbnRMaWdodCA9IE5ndExpZ2h0PEFtYmllbnRMaWdodCwgdHlwZW9mIEFtYmllbnRMaWdodD47XG5leHBvcnQgdHlwZSBOZ3RMaWdodFByb2JlID0gTmd0TGlnaHQ8TGlnaHRQcm9iZSwgdHlwZW9mIExpZ2h0UHJvYmU+O1xuXG5leHBvcnQgdHlwZSBOZ3RTcG90TGlnaHRIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8U3BvdExpZ2h0SGVscGVyLCB0eXBlb2YgU3BvdExpZ2h0SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndFNrZWxldG9uSGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPFNrZWxldG9uSGVscGVyLCB0eXBlb2YgU2tlbGV0b25IZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0UG9pbnRMaWdodEhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxQb2ludExpZ2h0SGVscGVyLCB0eXBlb2YgUG9pbnRMaWdodEhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RIZW1pc3BoZXJlTGlnaHRIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8SGVtaXNwaGVyZUxpZ2h0SGVscGVyLCB0eXBlb2YgSGVtaXNwaGVyZUxpZ2h0SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndEdyaWRIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8R3JpZEhlbHBlciwgdHlwZW9mIEdyaWRIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0UG9sYXJHcmlkSGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPFBvbGFyR3JpZEhlbHBlciwgdHlwZW9mIFBvbGFyR3JpZEhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3REaXJlY3Rpb25hbExpZ2h0SGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPERpcmVjdGlvbmFsTGlnaHRIZWxwZXIsIHR5cGVvZiBEaXJlY3Rpb25hbExpZ2h0SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndENhbWVyYUhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxDYW1lcmFIZWxwZXIsIHR5cGVvZiBDYW1lcmFIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0Qm94SGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPEJveEhlbHBlciwgdHlwZW9mIEJveEhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RCb3gzSGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPEJveDNIZWxwZXIsIHR5cGVvZiBCb3gzSGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndFBsYW5lSGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPFBsYW5lSGVscGVyLCB0eXBlb2YgUGxhbmVIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0QXJyb3dIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8QXJyb3dIZWxwZXIsIHR5cGVvZiBBcnJvd0hlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RBeGVzSGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPEF4ZXNIZWxwZXIsIHR5cGVvZiBBeGVzSGVscGVyPjtcblxuZXhwb3J0IHR5cGUgTmd0VGV4dHVyZSA9IE5ndE5vZGU8VGV4dHVyZSwgdHlwZW9mIFRleHR1cmU+O1xuZXhwb3J0IHR5cGUgTmd0VmlkZW9UZXh0dXJlID0gTmd0Tm9kZTxWaWRlb1RleHR1cmUsIHR5cGVvZiBWaWRlb1RleHR1cmU+O1xuZXhwb3J0IHR5cGUgTmd0RGF0YVRleHR1cmUgPSBOZ3ROb2RlPERhdGFUZXh0dXJlLCB0eXBlb2YgRGF0YVRleHR1cmU+O1xuZXhwb3J0IHR5cGUgTmd0RGF0YTNEVGV4dHVyZSA9IE5ndE5vZGU8RGF0YTNEVGV4dHVyZSwgdHlwZW9mIERhdGEzRFRleHR1cmU+O1xuZXhwb3J0IHR5cGUgTmd0Q29tcHJlc3NlZFRleHR1cmUgPSBOZ3ROb2RlPENvbXByZXNzZWRUZXh0dXJlLCB0eXBlb2YgQ29tcHJlc3NlZFRleHR1cmU+O1xuZXhwb3J0IHR5cGUgTmd0Q3ViZVRleHR1cmUgPSBOZ3ROb2RlPEN1YmVUZXh0dXJlLCB0eXBlb2YgQ3ViZVRleHR1cmU+O1xuZXhwb3J0IHR5cGUgTmd0Q2FudmFzVGV4dHVyZSA9IE5ndE5vZGU8Q2FudmFzVGV4dHVyZSwgdHlwZW9mIENhbnZhc1RleHR1cmU+O1xuZXhwb3J0IHR5cGUgTmd0RGVwdGhUZXh0dXJlID0gTmd0Tm9kZTxEZXB0aFRleHR1cmUsIHR5cGVvZiBEZXB0aFRleHR1cmU+O1xuXG5leHBvcnQgdHlwZSBOZ3RSYXljYXN0ZXIgPSBOZ3ROb2RlPFJheWNhc3RlciwgdHlwZW9mIFJheWNhc3Rlcj47XG5leHBvcnQgdHlwZSBOZ3RWZWN0b3IyTm9kZSA9IE5ndE5vZGU8VmVjdG9yMiwgdHlwZW9mIFZlY3RvcjI+O1xuZXhwb3J0IHR5cGUgTmd0VmVjdG9yM05vZGUgPSBOZ3ROb2RlPFZlY3RvcjMsIHR5cGVvZiBWZWN0b3IzPjtcbmV4cG9ydCB0eXBlIE5ndFZlY3RvcjROb2RlID0gTmd0Tm9kZTxWZWN0b3I0LCB0eXBlb2YgVmVjdG9yND47XG5leHBvcnQgdHlwZSBOZ3RFdWxlck5vZGUgPSBOZ3ROb2RlPEV1bGVyLCB0eXBlb2YgRXVsZXI+O1xuZXhwb3J0IHR5cGUgTmd0TWF0cml4M05vZGUgPSBOZ3ROb2RlPE1hdHJpeDMsIHR5cGVvZiBNYXRyaXgzPjtcbmV4cG9ydCB0eXBlIE5ndE1hdHJpeDROb2RlID0gTmd0Tm9kZTxNYXRyaXg0LCB0eXBlb2YgTWF0cml4ND47XG5leHBvcnQgdHlwZSBOZ3RRdWF0ZXJuaW9uTm9kZSA9IE5ndE5vZGU8UXVhdGVybmlvbiwgdHlwZW9mIFF1YXRlcm5pb24+O1xuZXhwb3J0IHR5cGUgTmd0QnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0RmxvYXQxNkJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8RmxvYXQxNkJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIEZsb2F0MTZCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0RmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8RmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIEZsb2F0MzJCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0SW50OEJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8SW50OEJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIEludDhCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0SW50MTZCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPEludDE2QnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgSW50MTZCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0SW50MzJCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPEludDMyQnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgSW50MzJCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0VWludDhCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPFVpbnQ4QnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgVWludDhCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0VWludDE2QnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxVaW50MTZCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBVaW50MTZCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0VWludDMyQnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxVaW50MzJCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBVaW50MzJCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0SW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0Q29sb3IgPSBOZ3ROb2RlPENvbG9yLCBDb2xvclJlcHJlc2VudGF0aW9uPjtcbmV4cG9ydCB0eXBlIE5ndEZvZyA9IE5ndE5vZGU8Rm9nLCB0eXBlb2YgRm9nPjtcbmV4cG9ydCB0eXBlIE5ndEZvZ0V4cDIgPSBOZ3ROb2RlPEZvZ0V4cDIsIHR5cGVvZiBGb2dFeHAyPjtcbmV4cG9ydCB0eXBlIE5ndFNoYXBlID0gTmd0Tm9kZTxTaGFwZSwgdHlwZW9mIFNoYXBlPjtcblxuZXhwb3J0IGludGVyZmFjZSBUaHJlZUVsZW1lbnRzIHtcblx0J25ndC1vYmplY3QzRCc6IE5ndE9iamVjdDNEO1xuXG5cdC8vIGBhdWRpb2Agd29ya3MgYnV0IGNvbmZsaWN0cyB3aXRoIEB0eXBlcy9yZWFjdC4gVHJ5IHVzaW5nIFBvc2l0aW9uYWxBdWRpbyBmcm9tIEByZWFjdC10aHJlZS9kcmVpIGluc3RlYWRcblx0J25ndC1hdWRpbyc6IE5ndEF1ZGlvO1xuXHQnbmd0LWF1ZGlvLWxpc3RlbmVyJzogTmd0QXVkaW9MaXN0ZW5lcjtcblx0J25ndC1wb3NpdGlvbmFsLWF1ZGlvJzogTmd0UG9zaXRpb25hbEF1ZGlvO1xuXG5cdCduZ3QtbWVzaCc6IE5ndE1lc2g7XG5cdCduZ3QtaW5zdGFuY2VkLW1lc2gnOiBOZ3RJbnN0YW5jZWRNZXNoO1xuXHQnbmd0LXNjZW5lJzogTmd0U2NlbmU7XG5cdCduZ3Qtc3ByaXRlJzogTmd0U3ByaXRlO1xuXHQnbmd0LWxPRCc6IE5ndExPRDtcblx0J25ndC1za2lubmVkLW1lc2gnOiBOZ3RTa2lubmVkTWVzaDtcblx0J25ndC1za2VsZXRvbic6IE5ndFNrZWxldG9uO1xuXHQnbmd0LWJvbmUnOiBOZ3RCb25lO1xuXG5cdCduZ3QtbGluZSc6IE5ndExpbmU7XG5cdCduZ3QtbGluZS1zZWdtZW50cyc6IE5ndExpbmVTZWdtZW50cztcblx0J25ndC1saW5lLWxvb3AnOiBOZ3RMaW5lTG9vcDtcblx0J25ndC1wb2ludHMnOiBOZ3RQb2ludHM7XG5cdCduZ3QtZ3JvdXAnOiBOZ3RHcm91cDtcblxuXHQvLyBjYW1lcmFzXG5cdCduZ3QtY2FtZXJhJzogTmd0Q2FtZXJhTm9kZTtcblx0J25ndC1wZXJzcGVjdGl2ZS1jYW1lcmEnOiBOZ3RQZXJzcGVjdGl2ZUNhbWVyYTtcblx0J25ndC1vcnRob2dyYXBoaWMtY2FtZXJhJzogTmd0T3J0aG9ncmFwaGljQ2FtZXJhO1xuXHQnbmd0LWN1YmUtY2FtZXJhJzogTmd0Q3ViZUNhbWVyYTtcblx0J25ndC1hcnJheS1jYW1lcmEnOiBOZ3RBcnJheUNhbWVyYTtcblxuXHQvLyBnZW9tZXRyeVxuXHQnbmd0LWluc3RhbmNlZC1idWZmZXItZ2VvbWV0cnknOiBOZ3RJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeTtcblx0J25ndC1idWZmZXItZ2VvbWV0cnknOiBOZ3RCdWZmZXJHZW9tZXRyeTtcblx0J25ndC13aXJlZnJhbWUtZ2VvbWV0cnknOiBOZ3RXaXJlZnJhbWVHZW9tZXRyeTtcblx0J25ndC10ZXRyYWhlZHJvbi1nZW9tZXRyeSc6IE5ndFRldHJhaGVkcm9uR2VvbWV0cnk7XG5cdCduZ3Qtb2N0YWhlZHJvbi1nZW9tZXRyeSc6IE5ndE9jdGFoZWRyb25HZW9tZXRyeTtcblx0J25ndC1pY29zYWhlZHJvbi1nZW9tZXRyeSc6IE5ndEljb3NhaGVkcm9uR2VvbWV0cnk7XG5cdCduZ3QtcG9seWhlZHJvbi1nZW9tZXRyeSc6IE5ndFBvbHloZWRyb25HZW9tZXRyeTtcblx0J25ndC1kb2RlY2FoZWRyb24tZ2VvbWV0cnknOiBOZ3REb2RlY2FoZWRyb25HZW9tZXRyeTtcblx0J25ndC10dWJlLWdlb21ldHJ5JzogTmd0VHViZUdlb21ldHJ5O1xuXHQnbmd0LXRvcnVzLWtub3QtZ2VvbWV0cnknOiBOZ3RUb3J1c0tub3RHZW9tZXRyeTtcblx0J25ndC10b3J1cy1nZW9tZXRyeSc6IE5ndFRvcnVzR2VvbWV0cnk7XG5cdCduZ3Qtc3BoZXJlLWdlb21ldHJ5JzogTmd0U3BoZXJlR2VvbWV0cnk7XG5cdCduZ3QtcmluZy1nZW9tZXRyeSc6IE5ndFJpbmdHZW9tZXRyeTtcblx0J25ndC1wbGFuZS1nZW9tZXRyeSc6IE5ndFBsYW5lR2VvbWV0cnk7XG5cdCduZ3QtbGF0aGUtZ2VvbWV0cnknOiBOZ3RMYXRoZUdlb21ldHJ5O1xuXHQnbmd0LXNoYXBlLWdlb21ldHJ5JzogTmd0U2hhcGVHZW9tZXRyeTtcblx0J25ndC1leHRydWRlLWdlb21ldHJ5JzogTmd0RXh0cnVkZUdlb21ldHJ5O1xuXHQnbmd0LWVkZ2VzLWdlb21ldHJ5JzogTmd0RWRnZXNHZW9tZXRyeTtcblx0J25ndC1jb25lLWdlb21ldHJ5JzogTmd0Q29uZUdlb21ldHJ5O1xuXHQnbmd0LWN5bGluZGVyLWdlb21ldHJ5JzogTmd0Q3lsaW5kZXJHZW9tZXRyeTtcblx0J25ndC1jaXJjbGUtZ2VvbWV0cnknOiBOZ3RDaXJjbGVHZW9tZXRyeTtcblx0J25ndC1ib3gtZ2VvbWV0cnknOiBOZ3RCb3hHZW9tZXRyeTtcblx0J25ndC1jYXBzdWxlLWdlb21ldHJ5JzogTmd0Q2Fwc3VsZUdlb21ldHJ5O1xuXG5cdC8vIG1hdGVyaWFsc1xuXHQnbmd0LXNoYWRvdy1tYXRlcmlhbCc6IE5ndFNoYWRvd01hdGVyaWFsO1xuXHQnbmd0LXNwcml0ZS1tYXRlcmlhbCc6IE5ndFNwcml0ZU1hdGVyaWFsO1xuXHQnbmd0LXJhdy1zaGFkZXItbWF0ZXJpYWwnOiBOZ3RSYXdTaGFkZXJNYXRlcmlhbDtcblx0J25ndC1zaGFkZXItbWF0ZXJpYWwnOiBOZ3RTaGFkZXJNYXRlcmlhbDtcblx0J25ndC1wb2ludHMtbWF0ZXJpYWwnOiBOZ3RQb2ludHNNYXRlcmlhbDtcblx0J25ndC1tZXNoLXBoeXNpY2FsLW1hdGVyaWFsJzogTmd0TWVzaFBoeXNpY2FsTWF0ZXJpYWw7XG5cdCduZ3QtbWVzaC1zdGFuZGFyZC1tYXRlcmlhbCc6IE5ndE1lc2hTdGFuZGFyZE1hdGVyaWFsO1xuXHQnbmd0LW1lc2gtcGhvbmctbWF0ZXJpYWwnOiBOZ3RNZXNoUGhvbmdNYXRlcmlhbDtcblx0J25ndC1tZXNoLXRvb24tbWF0ZXJpYWwnOiBOZ3RNZXNoVG9vbk1hdGVyaWFsO1xuXHQnbmd0LW1lc2gtbm9ybWFsLW1hdGVyaWFsJzogTmd0TWVzaE5vcm1hbE1hdGVyaWFsO1xuXHQnbmd0LW1lc2gtbGFtYmVydC1tYXRlcmlhbCc6IE5ndE1lc2hMYW1iZXJ0TWF0ZXJpYWw7XG5cdCduZ3QtbWVzaC1kZXB0aC1tYXRlcmlhbCc6IE5ndE1lc2hEZXB0aE1hdGVyaWFsO1xuXHQnbmd0LW1lc2gtZGlzdGFuY2UtbWF0ZXJpYWwnOiBOZ3RNZXNoRGlzdGFuY2VNYXRlcmlhbDtcblx0J25ndC1tZXNoLWJhc2ljLW1hdGVyaWFsJzogTmd0TWVzaEJhc2ljTWF0ZXJpYWw7XG5cdCduZ3QtbWVzaC1tYXRjYXAtbWF0ZXJpYWwnOiBOZ3RNZXNoTWF0Y2FwTWF0ZXJpYWw7XG5cdCduZ3QtbGluZS1kYXNoZWQtbWF0ZXJpYWwnOiBOZ3RMaW5lRGFzaGVkTWF0ZXJpYWw7XG5cdCduZ3QtbGluZS1iYXNpYy1tYXRlcmlhbCc6IE5ndExpbmVCYXNpY01hdGVyaWFsO1xuXG5cdC8vIHByaW1pdGl2ZVxuXHQnbmd0LXByaW1pdGl2ZSc6IE5ndFByaW1pdGl2ZTtcblxuXHQvLyByYXdWYWx1ZVxuXHQnbmd0LXZhbHVlJzogTmd0VmFsdWU7XG5cblx0Ly8gbGlnaHRzIGFuZCBvdGhlclxuXHQnbmd0LXNwb3QtbGlnaHQtc2hhZG93JzogTmd0U3BvdExpZ2h0U2hhZG93O1xuXHQnbmd0LXNwb3QtbGlnaHQnOiBOZ3RTcG90TGlnaHQ7XG5cdCduZ3QtcG9pbnQtbGlnaHQnOiBOZ3RQb2ludExpZ2h0O1xuXHQnbmd0LXJlY3QtYXJlYS1saWdodCc6IE5ndFJlY3RBcmVhTGlnaHQ7XG5cdCduZ3QtaGVtaXNwaGVyZS1saWdodCc6IE5ndEhlbWlzcGhlcmVMaWdodDtcblx0J25ndC1kaXJlY3Rpb25hbC1saWdodC1zaGFkb3cnOiBOZ3REaXJlY3Rpb25hbExpZ2h0U2hhZG93O1xuXHQnbmd0LWRpcmVjdGlvbmFsLWxpZ2h0JzogTmd0RGlyZWN0aW9uYWxMaWdodDtcblx0J25ndC1hbWJpZW50LWxpZ2h0JzogTmd0QW1iaWVudExpZ2h0O1xuXHQnbmd0LWxpZ2h0LXNoYWRvdyc6IE5ndExpZ2h0U2hhZG93O1xuXHQnbmd0LWxpZ2h0LXByb2JlJzogTmd0TGlnaHRQcm9iZTtcblxuXHQvLyBoZWxwZXJzXG5cdCduZ3Qtc3BvdC1saWdodC1oZWxwZXInOiBOZ3RTcG90TGlnaHRIZWxwZXI7XG5cdCduZ3Qtc2tlbGV0b24taGVscGVyJzogTmd0U2tlbGV0b25IZWxwZXI7XG5cdCduZ3QtcG9pbnQtbGlnaHQtaGVscGVyJzogTmd0UG9pbnRMaWdodEhlbHBlcjtcblx0J25ndC1oZW1pc3BoZXJlLWxpZ2h0LWhlbHBlcic6IE5ndEhlbWlzcGhlcmVMaWdodEhlbHBlcjtcblx0J25ndC1ncmlkLWhlbHBlcic6IE5ndEdyaWRIZWxwZXI7XG5cdCduZ3QtcG9sYXItZ3JpZC1oZWxwZXInOiBOZ3RQb2xhckdyaWRIZWxwZXI7XG5cdCduZ3QtZGlyZWN0aW9uYWwtbGlnaHQtaGVscGVyJzogTmd0RGlyZWN0aW9uYWxMaWdodEhlbHBlcjtcblx0J25ndC1jYW1lcmEtaGVscGVyJzogTmd0Q2FtZXJhSGVscGVyO1xuXHQnbmd0LWJveC1oZWxwZXInOiBOZ3RCb3hIZWxwZXI7XG5cdCduZ3QtYm94My1oZWxwZXInOiBOZ3RCb3gzSGVscGVyO1xuXHQnbmd0LXBsYW5lLWhlbHBlcic6IE5ndFBsYW5lSGVscGVyO1xuXHQnbmd0LWFycm93LWhlbHBlcic6IE5ndEFycm93SGVscGVyO1xuXHQnbmd0LWF4ZXMtaGVscGVyJzogTmd0QXhlc0hlbHBlcjtcblxuXHQvLyB0ZXh0dXJlc1xuXHQnbmd0LXRleHR1cmUnOiBOZ3RUZXh0dXJlO1xuXHQnbmd0LXZpZGVvLXRleHR1cmUnOiBOZ3RWaWRlb1RleHR1cmU7XG5cdCduZ3QtZGF0YS10ZXh0dXJlJzogTmd0RGF0YVRleHR1cmU7XG5cdCduZ3QtZGF0YTNELXRleHR1cmUnOiBOZ3REYXRhM0RUZXh0dXJlO1xuXHQnbmd0LWNvbXByZXNzZWQtdGV4dHVyZSc6IE5ndENvbXByZXNzZWRUZXh0dXJlO1xuXHQnbmd0LWN1YmUtdGV4dHVyZSc6IE5ndEN1YmVUZXh0dXJlO1xuXHQnbmd0LWNhbnZhcy10ZXh0dXJlJzogTmd0Q2FudmFzVGV4dHVyZTtcblx0J25ndC1kZXB0aC10ZXh0dXJlJzogTmd0RGVwdGhUZXh0dXJlO1xuXG5cdC8vIG1pc2Ncblx0J25ndC1yYXljYXN0ZXInOiBOZ3RSYXljYXN0ZXI7XG5cdCduZ3QtdmVjdG9yMic6IE5ndFZlY3RvcjJOb2RlO1xuXHQnbmd0LXZlY3RvcjMnOiBOZ3RWZWN0b3IzTm9kZTtcblx0J25ndC12ZWN0b3I0JzogTmd0VmVjdG9yNE5vZGU7XG5cdCduZ3QtZXVsZXInOiBOZ3RFdWxlck5vZGU7XG5cdCduZ3QtbWF0cml4Myc6IE5ndE1hdHJpeDNOb2RlO1xuXHQnbmd0LW1hdHJpeDQnOiBOZ3RNYXRyaXg0Tm9kZTtcblx0J25ndC1xdWF0ZXJuaW9uJzogTmd0UXVhdGVybmlvbk5vZGU7XG5cdCduZ3QtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEJ1ZmZlckF0dHJpYnV0ZTtcblx0J25ndC1mbG9hdDE2LWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RGbG9hdDE2QnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LWZsb2F0MzItYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEZsb2F0MzJCdWZmZXJBdHRyaWJ1dGU7XG5cdCduZ3QtaW50OC1idWZmZXItYXR0cmlidXRlJzogTmd0SW50OEJ1ZmZlckF0dHJpYnV0ZTtcblx0J25ndC1pbnQxNi1idWZmZXItYXR0cmlidXRlJzogTmd0SW50MTZCdWZmZXJBdHRyaWJ1dGU7XG5cdCduZ3QtaW50MzItYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEludDMyQnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LXVuaXQ4LWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RVaW50OEJ1ZmZlckF0dHJpYnV0ZTtcblx0J25ndC11bml0MTYtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndFVpbnQxNkJ1ZmZlckF0dHJpYnV0ZTtcblx0J25ndC11bml0MzItYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndFVpbnQzMkJ1ZmZlckF0dHJpYnV0ZTtcblx0J25ndC1pbnN0YW5jZWQtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZTtcblx0J25ndC1jb2xvcic6IE5ndENvbG9yO1xuXHQnbmd0LWZvZyc6IE5ndEZvZztcblx0J25ndC1mb2ctZXhwMic6IE5ndEZvZ0V4cDI7XG5cdCduZ3Qtc2hhcGUnOiBOZ3RTaGFwZTtcbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuXHRpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIGV4dGVuZHMgVGhyZWVFbGVtZW50cyB7fVxufVxuIl19
|
|
@@ -115,9 +115,9 @@ export function applyProps(instance, props) {
|
|
|
115
115
|
if (localState?.eventCount)
|
|
116
116
|
rootState.internal.interaction.push(instance);
|
|
117
117
|
}
|
|
118
|
-
if (parent && localState?.
|
|
119
|
-
localState.
|
|
118
|
+
if (parent && localState?.onUpdate && changes.length) {
|
|
119
|
+
localState.onUpdate(instance);
|
|
120
120
|
}
|
|
121
121
|
return instance;
|
|
122
122
|
}
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9hcHBseS1wcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM5RixPQUFPLEVBQW1CLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdqRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsd0VBQXdFO0FBQ3hFLFNBQVMsU0FBUyxDQUFDLFFBQXNCLEVBQUUsS0FBbUI7SUFDN0QsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxNQUFNLE9BQU8sR0FBb0MsRUFBRSxDQUFDO0lBRXBELEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxJQUFJLEdBQUcsR0FBRyxPQUFPLENBQUM7UUFDbEIsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQzVCLEdBQUcsR0FBRyxZQUFZLENBQUM7WUFDcEIsQ0FBQztpQkFBTSxJQUFJLE9BQU8sS0FBSyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN6QyxHQUFHLEdBQUcsa0JBQWtCLENBQUM7WUFDMUIsQ0FBQztRQUNGLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUFFLFNBQVM7UUFDL0Ms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LENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3IsIENvbG9yTWFuYWdlbWVudCwgTGF5ZXJzLCBSR0JBRm9ybWF0LCBUZXh0dXJlLCBVbnNpZ25lZEJ5dGVUeXBlIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0SW5zdGFuY2VOb2RlLCBnZXRMb2NhbFN0YXRlLCBpbnZhbGlkYXRlSW5zdGFuY2UgfSBmcm9tICcuLi9pbnN0YW5jZSc7XG5pbXBvcnQgeyBOZ3RTdGF0ZSB9IGZyb20gJy4uL3N0b3JlJztcbmltcG9ydCB7IE5ndEFueVJlY29yZCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi9pcyc7XG5pbXBvcnQgeyBjaGVja1VwZGF0ZSB9IGZyb20gJy4vdXBkYXRlJztcblxuLy8gVGhpcyBmdW5jdGlvbiBwcmVwYXJlcyBhIHNldCBvZiBjaGFuZ2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGluc3RhbmNlXG5mdW5jdGlvbiBkaWZmUHJvcHMoaW5zdGFuY2U6IE5ndEFueVJlY29yZCwgcHJvcHM6IE5ndEFueVJlY29yZCkge1xuXHRjb25zdCBwcm9wc0VudHJpZXMgPSBPYmplY3QuZW50cmllcyhwcm9wcyk7XG5cdGNvbnN0IGNoYW5nZXM6IFtrZXk6IHN0cmluZywgdmFsdWU6IHVua25vd25dW10gPSBbXTtcblxuXHRmb3IgKGNvbnN0IFtwcm9wS2V5LCBwcm9wVmFsdWVdIG9mIHByb3BzRW50cmllcykge1xuXHRcdGxldCBrZXkgPSBwcm9wS2V5O1xuXHRcdGlmIChpcy5jb2xvclNwYWNlRXhpc3QoaW5zdGFuY2UpKSB7XG5cdFx0XHRpZiAocHJvcEtleSA9PT0gJ2VuY29kaW5nJykge1xuXHRcdFx0XHRrZXkgPSAnY29sb3JTcGFjZSc7XG5cdFx0XHR9IGVsc2UgaWYgKHByb3BLZXkgPT09ICdvdXRwdXRFbmNvZGluZycpIHtcblx0XHRcdFx0a2V5ID0gJ291dHB1dENvbG9yU3BhY2UnO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAoaXMuZXF1KHByb3BWYWx1ZSwgaW5zdGFuY2Vba2V5XSkpIGNvbnRpbnVlO1xuXHRcdGNoYW5nZXMucHVzaChbcHJvcEtleSwgcHJvcFZhbHVlXSk7XG5cdH1cblxuXHRyZXR1cm4gY2hhbmdlcztcbn1cblxuLy8gVGhpcyBmdW5jdGlvbiBhcHBsaWVzIGEgc2V0IG9mIGNoYW5nZXMgdG8gdGhlIGluc3RhbmNlXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlQcm9wcyhpbnN0YW5jZTogTmd0SW5zdGFuY2VOb2RlLCBwcm9wczogTmd0QW55UmVjb3JkKSB7XG5cdC8vIGlmIHByb3BzIGlzIGVtcHR5XG5cdGlmICghT2JqZWN0LmtleXMocHJvcHMpLmxlbmd0aCkgcmV0dXJuIGluc3RhbmNlO1xuXG5cdC8vIGZpbHRlciBlcXVhbHMsIGFuZCByZXNlcnZlZCBwcm9wc1xuXHRjb25zdCBsb2NhbFN0YXRlID0gZ2V0TG9jYWxTdGF0ZShpbnN0YW5jZSk7XG5cdGNvbnN0IHJvb3RTdGF0ZSA9IGxvY2FsU3RhdGU/LnN0b3JlPy5zbmFwc2hvdCA/PyAoe30gYXMgTmd0U3RhdGUpO1xuXHRjb25zdCBjaGFuZ2VzID0gZGlmZlByb3BzKGluc3RhbmNlLCBwcm9wcyk7XG5cblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBjaGFuZ2VzLmxlbmd0aDsgaSsrKSB7XG5cdFx0bGV0IFtrZXksIHZhbHVlXSA9IGNoYW5nZXNbaV07XG5cblx0XHQvLyBBbGlhcyAob3V0cHV0KWVuY29kaW5nID0+IChvdXRwdXQpY29sb3JTcGFjZSAoc2luY2UgcjE1Milcblx0XHQvLyBodHRwczovL2dpdGh1Yi5jb20vcG1uZHJzL3JlYWN0LXRocmVlLWZpYmVyL3B1bGwvMjgyOVxuXHRcdGlmIChpcy5jb2xvclNwYWNlRXhpc3QoaW5zdGFuY2UpKSB7XG5cdFx0XHRjb25zdCBzUkdCRW5jb2RpbmcgPSAzMDAxO1xuXHRcdFx0Y29uc3QgU1JHQkNvbG9yU3BhY2UgPSAnc3JnYic7XG5cdFx0XHRjb25zdCBMaW5lYXJTUkdCQ29sb3JTcGFjZSA9ICdzcmdiLWxpbmVhcic7XG5cblx0XHRcdGlmIChrZXkgPT09ICdlbmNvZGluZycpIHtcblx0XHRcdFx0a2V5ID0gJ2NvbG9yU3BhY2UnO1xuXHRcdFx0XHR2YWx1ZSA9IHZhbHVlID09PSBzUkdCRW5jb2RpbmcgPyBTUkdCQ29sb3JTcGFjZSA6IExpbmVhclNSR0JDb2xvclNwYWNlO1xuXHRcdFx0fSBlbHNlIGlmIChrZXkgPT09ICdvdXRwdXRFbmNvZGluZycpIHtcblx0XHRcdFx0a2V5ID0gJ291dHB1dENvbG9yU3BhY2UnO1xuXHRcdFx0XHR2YWx1ZSA9IHZhbHVlID09PSBzUkdCRW5jb2RpbmcgPyBTUkdCQ29sb3JTcGFjZSA6IExpbmVhclNSR0JDb2xvclNwYWNlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbnN0IGN1cnJlbnRJbnN0YW5jZSA9IGluc3RhbmNlO1xuXHRcdGNvbnN0IHRhcmdldFByb3AgPSBjdXJyZW50SW5zdGFuY2Vba2V5XTtcblxuXHRcdC8vIHNwZWNpYWwgdHJlYXRtZW4gZm9yIG9iamVjdHMgd2l0aCBzdXBwb3J0IGZvciBzZXQvY29weSwgYW5kIGxheWVyc1xuXHRcdGlmICh0YXJnZXRQcm9wICYmIHRhcmdldFByb3BbJ3NldCddICYmICh0YXJnZXRQcm9wWydjb3B5J10gfHwgdGFyZ2V0UHJvcCBpbnN0YW5jZW9mIExheWVycykpIHtcblx0XHRcdGNvbnN0IGlzQ29sb3IgPSB0YXJnZXRQcm9wIGluc3RhbmNlb2YgQ29sb3I7XG5cdFx0XHQvLyBpZiB2YWx1ZSBpcyBhbiBhcnJheVxuXHRcdFx0aWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG5cdFx0XHRcdGlmICh0YXJnZXRQcm9wWydmcm9tQXJyYXknXSkgdGFyZ2V0UHJvcFsnZnJvbUFycmF5J10odmFsdWUpO1xuXHRcdFx0XHRlbHNlIHRhcmdldFByb3BbJ3NldCddKC4uLnZhbHVlKTtcblx0XHRcdH0gLy8gdGVzdCBhZ2FpbiB0YXJnZXQuY29weVxuXHRcdFx0ZWxzZSBpZiAoXG5cdFx0XHRcdHRhcmdldFByb3BbJ2NvcHknXSAmJlxuXHRcdFx0XHR2YWx1ZSAmJlxuXHRcdFx0XHR2YWx1ZS5jb25zdHJ1Y3RvciAmJlxuXHRcdFx0XHR0YXJnZXRQcm9wLmNvbnN0cnVjdG9yLm5hbWUgPT09IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWVcblx0XHRcdCkge1xuXHRcdFx0XHR0YXJnZXRQcm9wWydjb3B5J10odmFsdWUpO1xuXHRcdFx0XHRpZiAoIUNvbG9yTWFuYWdlbWVudCAmJiAhcm9vdFN0YXRlLmxpbmVhciAmJiBpc0NvbG9yKSB0YXJnZXRQcm9wWydjb252ZXJ0U1JHQlRvTGluZWFyJ10oKTtcblx0XHRcdH0gLy8gaWYgbm90aGluZyBlbHNlIGZpdHMsIGp1c3Qgc2V0IHRoZSBzaW5nbGUgdmFsdWUsIGlnbm9yZSB1bmRlZmluZWRcblx0XHRcdGVsc2UgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0Y29uc3QgaXNDb2xvciA9IHRhcmdldFByb3AgaW5zdGFuY2VvZiBDb2xvcjtcblx0XHRcdFx0Ly8gYWxsb3cgc2V0dGluZyBhcnJheSBzY2FsYXJzXG5cdFx0XHRcdGlmICghaXNDb2xvciAmJiB0YXJnZXRQcm9wWydzZXRTY2FsYXInXSkgdGFyZ2V0UHJvcFsnc2V0U2NhbGFyJ10odmFsdWUpO1xuXHRcdFx0XHQvLyBsYXllcnMgaGF2ZSBubyBjb3B5IGZ1bmN0aW9uLCBjb3B5IHRoZSBtYXNrXG5cdFx0XHRcdGVsc2UgaWYgKHRhcmdldFByb3AgaW5zdGFuY2VvZiBMYXllcnMgJiYgdmFsdWUgaW5zdGFuY2VvZiBMYXllcnMpIHRhcmdldFByb3AubWFzayA9IHZhbHVlLm1hc2s7XG5cdFx0XHRcdC8vIG90aGVyd2lzZSBqdXN0IHNldCAuLi5cblx0XHRcdFx0ZWxzZSB0YXJnZXRQcm9wWydzZXQnXSh2YWx1ZSk7XG5cblx0XHRcdFx0Ly8gYXV0by1jb252ZXJ0IHNyZ2Jcblx0XHRcdFx0aWYgKCFDb2xvck1hbmFnZW1lbnQgJiYgIXJvb3RTdGF0ZT8ubGluZWFyICYmIGlzQ29sb3IpIHRhcmdldFByb3AuY29udmVydFNSR0JUb0xpbmVhcigpO1xuXHRcdFx0fVxuXHRcdH0gLy8gZWxzZSBqdXN0IG92ZXJ3cml0ZSB0aGUgdmFsdWVcblx0XHRlbHNlIHtcblx0XHRcdGN1cnJlbnRJbnN0YW5jZVtrZXldID0gdmFsdWU7XG5cdFx0XHQvLyBhdXRvLWNvbnZlcnQgc3JnYiB0ZXh0dXJlc1xuXHRcdFx0aWYgKFxuXHRcdFx0XHRjdXJyZW50SW5zdGFuY2Vba2V5XSBpbnN0YW5jZW9mIFRleHR1cmUgJiZcblx0XHRcdFx0Y3VycmVudEluc3RhbmNlW2tleV0uZm9ybWF0ID09PSBSR0JBRm9ybWF0ICYmXG5cdFx0XHRcdGN1cnJlbnRJbnN0YW5jZVtrZXldLnR5cGUgPT09IFVuc2lnbmVkQnl0ZVR5cGVcblx0XHRcdCkge1xuXHRcdFx0XHRjb25zdCB0ZXh0dXJlID0gY3VycmVudEluc3RhbmNlW2tleV0gYXMgVGV4dHVyZTtcblx0XHRcdFx0aWYgKHJvb3RTdGF0ZT8uZ2wpIHtcblx0XHRcdFx0XHRpZiAoaXMuY29sb3JTcGFjZUV4aXN0KHRleHR1cmUpICYmIGlzLmNvbG9yU3BhY2VFeGlzdChyb290U3RhdGUuZ2wpKVxuXHRcdFx0XHRcdFx0dGV4dHVyZS5jb2xvclNwYWNlID0gcm9vdFN0YXRlLmdsLm91dHB1dENvbG9yU3BhY2U7XG5cdFx0XHRcdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIG9sZCB2ZXJzaW9uIG9mIHRocmVlanNcblx0XHRcdFx0XHRlbHNlIHRleHR1cmUuZW5jb2RpbmcgPSByb290U3RhdGUuZ2wub3V0cHV0RW5jb2Rpbmc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRjaGVja1VwZGF0ZShjdXJyZW50SW5zdGFuY2Vba2V5XSk7XG5cdFx0Y2hlY2tVcGRhdGUodGFyZ2V0UHJvcCk7XG5cdFx0aW52YWxpZGF0ZUluc3RhbmNlKGluc3RhbmNlKTtcblx0fVxuXG5cdGNvbnN0IGluc3RhbmNlSGFuZGxlcnNDb3VudCA9IGxvY2FsU3RhdGU/LmV2ZW50Q291bnQ7XG5cdGNvbnN0IHBhcmVudCA9IGxvY2FsU3RhdGU/Lmluc3RhbmNlU3RvcmU/LmdldCgncGFyZW50Jyk7XG5cblx0aWYgKHBhcmVudCAmJiByb290U3RhdGUuaW50ZXJuYWwgJiYgaW5zdGFuY2VbJ3JheWNhc3QnXSAmJiBpbnN0YW5jZUhhbmRsZXJzQ291bnQgIT09IGxvY2FsU3RhdGU/LmV2ZW50Q291bnQpIHtcblx0XHQvLyBQcmUtZW1wdGl2ZWx5IHJlbW92ZSB0aGUgaW5zdGFuY2UgZnJvbSB0aGUgaW50ZXJhY3Rpb24gbWFuYWdlclxuXHRcdGNvbnN0IGluZGV4ID0gcm9vdFN0YXRlLmludGVybmFsLmludGVyYWN0aW9uLmluZGV4T2YoaW5zdGFuY2UpO1xuXHRcdGlmIChpbmRleCA+IC0xKSByb290U3RhdGUuaW50ZXJuYWwuaW50ZXJhY3Rpb24uc3BsaWNlKGluZGV4LCAxKTtcblx0XHQvLyBBZGQgdGhlIGluc3RhbmNlIHRvIHRoZSBpbnRlcmFjdGlvbiBtYW5hZ2VyIG9ubHkgd2hlbiBpdCBoYXMgaGFuZGxlcnNcblx0XHRpZiAobG9jYWxTdGF0ZT8uZXZlbnRDb3VudCkgcm9vdFN0YXRlLmludGVybmFsLmludGVyYWN0aW9uLnB1c2goaW5zdGFuY2UpO1xuXHR9XG5cblx0aWYgKHBhcmVudCAmJiBsb2NhbFN0YXRlPy5hZnRlclVwZGF0ZSAmJiBsb2NhbFN0YXRlLmFmdGVyVXBkYXRlLm9ic2VydmVkICYmIGNoYW5nZXMubGVuZ3RoKSB7XG5cdFx0bG9jYWxTdGF0ZS5hZnRlclVwZGF0ZS5uZXh0KGluc3RhbmNlKTtcblx0fVxuXG5cdHJldHVybiBpbnN0YW5jZTtcbn1cbiJdfQ==
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9hcHBseS1wcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM5RixPQUFPLEVBQW1CLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdqRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsd0VBQXdFO0FBQ3hFLFNBQVMsU0FBUyxDQUFDLFFBQXNCLEVBQUUsS0FBbUI7SUFDN0QsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxNQUFNLE9BQU8sR0FBb0MsRUFBRSxDQUFDO0lBRXBELEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxJQUFJLEdBQUcsR0FBRyxPQUFPLENBQUM7UUFDbEIsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQzVCLEdBQUcsR0FBRyxZQUFZLENBQUM7WUFDcEIsQ0FBQztpQkFBTSxJQUFJLE9BQU8sS0FBSyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN6QyxHQUFHLEdBQUcsa0JBQWtCLENBQUM7WUFDMUIsQ0FBQztRQUNGLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUFFLFNBQVM7UUFDL0Ms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QztJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvciwgQ29sb3JNYW5hZ2VtZW50LCBMYXllcnMsIFJHQkFGb3JtYXQsIFRleHR1cmUsIFVuc2lnbmVkQnl0ZVR5cGUgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RJbnN0YW5jZU5vZGUsIGdldExvY2FsU3RhdGUsIGludmFsaWRhdGVJbnN0YW5jZSB9IGZyb20gJy4uL2luc3RhbmNlJztcbmltcG9ydCB7IE5ndFN0YXRlIH0gZnJvbSAnLi4vc3RvcmUnO1xuaW1wb3J0IHsgTmd0QW55UmVjb3JkIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXMgfSBmcm9tICcuL2lzJztcbmltcG9ydCB7IGNoZWNrVXBkYXRlIH0gZnJvbSAnLi91cGRhdGUnO1xuXG4vLyBUaGlzIGZ1bmN0aW9uIHByZXBhcmVzIGEgc2V0IG9mIGNoYW5nZXMgdG8gYmUgYXBwbGllZCB0byB0aGUgaW5zdGFuY2VcbmZ1bmN0aW9uIGRpZmZQcm9wcyhpbnN0YW5jZTogTmd0QW55UmVjb3JkLCBwcm9wczogTmd0QW55UmVjb3JkKSB7XG5cdGNvbnN0IHByb3BzRW50cmllcyA9IE9iamVjdC5lbnRyaWVzKHByb3BzKTtcblx0Y29uc3QgY2hhbmdlczogW2tleTogc3RyaW5nLCB2YWx1ZTogdW5rbm93bl1bXSA9IFtdO1xuXG5cdGZvciAoY29uc3QgW3Byb3BLZXksIHByb3BWYWx1ZV0gb2YgcHJvcHNFbnRyaWVzKSB7XG5cdFx0bGV0IGtleSA9IHByb3BLZXk7XG5cdFx0aWYgKGlzLmNvbG9yU3BhY2VFeGlzdChpbnN0YW5jZSkpIHtcblx0XHRcdGlmIChwcm9wS2V5ID09PSAnZW5jb2RpbmcnKSB7XG5cdFx0XHRcdGtleSA9ICdjb2xvclNwYWNlJztcblx0XHRcdH0gZWxzZSBpZiAocHJvcEtleSA9PT0gJ291dHB1dEVuY29kaW5nJykge1xuXHRcdFx0XHRrZXkgPSAnb3V0cHV0Q29sb3JTcGFjZSc7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmIChpcy5lcXUocHJvcFZhbHVlLCBpbnN0YW5jZVtrZXldKSkgY29udGludWU7XG5cdFx0Y2hhbmdlcy5wdXNoKFtwcm9wS2V5LCBwcm9wVmFsdWVdKTtcblx0fVxuXG5cdHJldHVybiBjaGFuZ2VzO1xufVxuXG4vLyBUaGlzIGZ1bmN0aW9uIGFwcGxpZXMgYSBzZXQgb2YgY2hhbmdlcyB0byB0aGUgaW5zdGFuY2VcbmV4cG9ydCBmdW5jdGlvbiBhcHBseVByb3BzKGluc3RhbmNlOiBOZ3RJbnN0YW5jZU5vZGUsIHByb3BzOiBOZ3RBbnlSZWNvcmQpIHtcblx0Ly8gaWYgcHJvcHMgaXMgZW1wdHlcblx0aWYgKCFPYmplY3Qua2V5cyhwcm9wcykubGVuZ3RoKSByZXR1cm4gaW5zdGFuY2U7XG5cblx0Ly8gZmlsdGVyIGVxdWFscywgYW5kIHJlc2VydmVkIHByb3BzXG5cdGNvbnN0IGxvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKGluc3RhbmNlKTtcblx0Y29uc3Qgcm9vdFN0YXRlID0gbG9jYWxTdGF0ZT8uc3RvcmU/LnNuYXBzaG90ID8/ICh7fSBhcyBOZ3RTdGF0ZSk7XG5cdGNvbnN0IGNoYW5nZXMgPSBkaWZmUHJvcHMoaW5zdGFuY2UsIHByb3BzKTtcblxuXHRmb3IgKGxldCBpID0gMDsgaSA8IGNoYW5nZXMubGVuZ3RoOyBpKyspIHtcblx0XHRsZXQgW2tleSwgdmFsdWVdID0gY2hhbmdlc1tpXTtcblxuXHRcdC8vIEFsaWFzIChvdXRwdXQpZW5jb2RpbmcgPT4gKG91dHB1dCljb2xvclNwYWNlIChzaW5jZSByMTUyKVxuXHRcdC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9wbW5kcnMvcmVhY3QtdGhyZWUtZmliZXIvcHVsbC8yODI5XG5cdFx0aWYgKGlzLmNvbG9yU3BhY2VFeGlzdChpbnN0YW5jZSkpIHtcblx0XHRcdGNvbnN0IHNSR0JFbmNvZGluZyA9IDMwMDE7XG5cdFx0XHRjb25zdCBTUkdCQ29sb3JTcGFjZSA9ICdzcmdiJztcblx0XHRcdGNvbnN0IExpbmVhclNSR0JDb2xvclNwYWNlID0gJ3NyZ2ItbGluZWFyJztcblxuXHRcdFx0aWYgKGtleSA9PT0gJ2VuY29kaW5nJykge1xuXHRcdFx0XHRrZXkgPSAnY29sb3JTcGFjZSc7XG5cdFx0XHRcdHZhbHVlID0gdmFsdWUgPT09IHNSR0JFbmNvZGluZyA/IFNSR0JDb2xvclNwYWNlIDogTGluZWFyU1JHQkNvbG9yU3BhY2U7XG5cdFx0XHR9IGVsc2UgaWYgKGtleSA9PT0gJ291dHB1dEVuY29kaW5nJykge1xuXHRcdFx0XHRrZXkgPSAnb3V0cHV0Q29sb3JTcGFjZSc7XG5cdFx0XHRcdHZhbHVlID0gdmFsdWUgPT09IHNSR0JFbmNvZGluZyA/IFNSR0JDb2xvclNwYWNlIDogTGluZWFyU1JHQkNvbG9yU3BhY2U7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Y29uc3QgY3VycmVudEluc3RhbmNlID0gaW5zdGFuY2U7XG5cdFx0Y29uc3QgdGFyZ2V0UHJvcCA9IGN1cnJlbnRJbnN0YW5jZVtrZXldO1xuXG5cdFx0Ly8gc3BlY2lhbCB0cmVhdG1lbiBmb3Igb2JqZWN0cyB3aXRoIHN1cHBvcnQgZm9yIHNldC9jb3B5LCBhbmQgbGF5ZXJzXG5cdFx0aWYgKHRhcmdldFByb3AgJiYgdGFyZ2V0UHJvcFsnc2V0J10gJiYgKHRhcmdldFByb3BbJ2NvcHknXSB8fCB0YXJnZXRQcm9wIGluc3RhbmNlb2YgTGF5ZXJzKSkge1xuXHRcdFx0Y29uc3QgaXNDb2xvciA9IHRhcmdldFByb3AgaW5zdGFuY2VvZiBDb2xvcjtcblx0XHRcdC8vIGlmIHZhbHVlIGlzIGFuIGFycmF5XG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcblx0XHRcdFx0aWYgKHRhcmdldFByb3BbJ2Zyb21BcnJheSddKSB0YXJnZXRQcm9wWydmcm9tQXJyYXknXSh2YWx1ZSk7XG5cdFx0XHRcdGVsc2UgdGFyZ2V0UHJvcFsnc2V0J10oLi4udmFsdWUpO1xuXHRcdFx0fSAvLyB0ZXN0IGFnYWluIHRhcmdldC5jb3B5XG5cdFx0XHRlbHNlIGlmIChcblx0XHRcdFx0dGFyZ2V0UHJvcFsnY29weSddICYmXG5cdFx0XHRcdHZhbHVlICYmXG5cdFx0XHRcdHZhbHVlLmNvbnN0cnVjdG9yICYmXG5cdFx0XHRcdHRhcmdldFByb3AuY29uc3RydWN0b3IubmFtZSA9PT0gdmFsdWUuY29uc3RydWN0b3IubmFtZVxuXHRcdFx0KSB7XG5cdFx0XHRcdHRhcmdldFByb3BbJ2NvcHknXSh2YWx1ZSk7XG5cdFx0XHRcdGlmICghQ29sb3JNYW5hZ2VtZW50ICYmICFyb290U3RhdGUubGluZWFyICYmIGlzQ29sb3IpIHRhcmdldFByb3BbJ2NvbnZlcnRTUkdCVG9MaW5lYXInXSgpO1xuXHRcdFx0fSAvLyBpZiBub3RoaW5nIGVsc2UgZml0cywganVzdCBzZXQgdGhlIHNpbmdsZSB2YWx1ZSwgaWdub3JlIHVuZGVmaW5lZFxuXHRcdFx0ZWxzZSBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRjb25zdCBpc0NvbG9yID0gdGFyZ2V0UHJvcCBpbnN0YW5jZW9mIENvbG9yO1xuXHRcdFx0XHQvLyBhbGxvdyBzZXR0aW5nIGFycmF5IHNjYWxhcnNcblx0XHRcdFx0aWYgKCFpc0NvbG9yICYmIHRhcmdldFByb3BbJ3NldFNjYWxhciddKSB0YXJnZXRQcm9wWydzZXRTY2FsYXInXSh2YWx1ZSk7XG5cdFx0XHRcdC8vIGxheWVycyBoYXZlIG5vIGNvcHkgZnVuY3Rpb24sIGNvcHkgdGhlIG1hc2tcblx0XHRcdFx0ZWxzZSBpZiAodGFyZ2V0UHJvcCBpbnN0YW5jZW9mIExheWVycyAmJiB2YWx1ZSBpbnN0YW5jZW9mIExheWVycykgdGFyZ2V0UHJvcC5tYXNrID0gdmFsdWUubWFzaztcblx0XHRcdFx0Ly8gb3RoZXJ3aXNlIGp1c3Qgc2V0IC4uLlxuXHRcdFx0XHRlbHNlIHRhcmdldFByb3BbJ3NldCddKHZhbHVlKTtcblxuXHRcdFx0XHQvLyBhdXRvLWNvbnZlcnQgc3JnYlxuXHRcdFx0XHRpZiAoIUNvbG9yTWFuYWdlbWVudCAmJiAhcm9vdFN0YXRlPy5saW5lYXIgJiYgaXNDb2xvcikgdGFyZ2V0UHJvcC5jb252ZXJ0U1JHQlRvTGluZWFyKCk7XG5cdFx0XHR9XG5cdFx0fSAvLyBlbHNlIGp1c3Qgb3ZlcndyaXRlIHRoZSB2YWx1ZVxuXHRcdGVsc2Uge1xuXHRcdFx0Y3VycmVudEluc3RhbmNlW2tleV0gPSB2YWx1ZTtcblx0XHRcdC8vIGF1dG8tY29udmVydCBzcmdiIHRleHR1cmVzXG5cdFx0XHRpZiAoXG5cdFx0XHRcdGN1cnJlbnRJbnN0YW5jZVtrZXldIGluc3RhbmNlb2YgVGV4dHVyZSAmJlxuXHRcdFx0XHRjdXJyZW50SW5zdGFuY2Vba2V5XS5mb3JtYXQgPT09IFJHQkFGb3JtYXQgJiZcblx0XHRcdFx0Y3VycmVudEluc3RhbmNlW2tleV0udHlwZSA9PT0gVW5zaWduZWRCeXRlVHlwZVxuXHRcdFx0KSB7XG5cdFx0XHRcdGNvbnN0IHRleHR1cmUgPSBjdXJyZW50SW5zdGFuY2Vba2V5XSBhcyBUZXh0dXJlO1xuXHRcdFx0XHRpZiAocm9vdFN0YXRlPy5nbCkge1xuXHRcdFx0XHRcdGlmIChpcy5jb2xvclNwYWNlRXhpc3QodGV4dHVyZSkgJiYgaXMuY29sb3JTcGFjZUV4aXN0KHJvb3RTdGF0ZS5nbCkpXG5cdFx0XHRcdFx0XHR0ZXh0dXJlLmNvbG9yU3BhY2UgPSByb290U3RhdGUuZ2wub3V0cHV0Q29sb3JTcGFjZTtcblx0XHRcdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIC0gb2xkIHZlcnNpb24gb2YgdGhyZWVqc1xuXHRcdFx0XHRcdGVsc2UgdGV4dHVyZS5lbmNvZGluZyA9IHJvb3RTdGF0ZS5nbC5vdXRwdXRFbmNvZGluZztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNoZWNrVXBkYXRlKGN1cnJlbnRJbnN0YW5jZVtrZXldKTtcblx0XHRjaGVja1VwZGF0ZSh0YXJnZXRQcm9wKTtcblx0XHRpbnZhbGlkYXRlSW5zdGFuY2UoaW5zdGFuY2UpO1xuXHR9XG5cblx0Y29uc3QgaW5zdGFuY2VIYW5kbGVyc0NvdW50ID0gbG9jYWxTdGF0ZT8uZXZlbnRDb3VudDtcblx0Y29uc3QgcGFyZW50ID0gbG9jYWxTdGF0ZT8uaW5zdGFuY2VTdG9yZT8uZ2V0KCdwYXJlbnQnKTtcblxuXHRpZiAocGFyZW50ICYmIHJvb3RTdGF0ZS5pbnRlcm5hbCAmJiBpbnN0YW5jZVsncmF5Y2FzdCddICYmIGluc3RhbmNlSGFuZGxlcnNDb3VudCAhPT0gbG9jYWxTdGF0ZT8uZXZlbnRDb3VudCkge1xuXHRcdC8vIFByZS1lbXB0aXZlbHkgcmVtb3ZlIHRoZSBpbnN0YW5jZSBmcm9tIHRoZSBpbnRlcmFjdGlvbiBtYW5hZ2VyXG5cdFx0Y29uc3QgaW5kZXggPSByb290U3RhdGUuaW50ZXJuYWwuaW50ZXJhY3Rpb24uaW5kZXhPZihpbnN0YW5jZSk7XG5cdFx0aWYgKGluZGV4ID4gLTEpIHJvb3RTdGF0ZS5pbnRlcm5hbC5pbnRlcmFjdGlvbi5zcGxpY2UoaW5kZXgsIDEpO1xuXHRcdC8vIEFkZCB0aGUgaW5zdGFuY2UgdG8gdGhlIGludGVyYWN0aW9uIG1hbmFnZXIgb25seSB3aGVuIGl0IGhhcyBoYW5kbGVyc1xuXHRcdGlmIChsb2NhbFN0YXRlPy5ldmVudENvdW50KSByb290U3RhdGUuaW50ZXJuYWwuaW50ZXJhY3Rpb24ucHVzaChpbnN0YW5jZSk7XG5cdH1cblxuXHRpZiAocGFyZW50ICYmIGxvY2FsU3RhdGU/Lm9uVXBkYXRlICYmIGNoYW5nZXMubGVuZ3RoKSB7XG5cdFx0bG9jYWxTdGF0ZS5vblVwZGF0ZShpbnN0YW5jZSk7XG5cdH1cblxuXHRyZXR1cm4gaW5zdGFuY2U7XG59XG4iXX0=
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { DestroyRef, Injector, afterNextRender, inject, signal } from '@angular/core';
|
|
2
2
|
import { assertInjector } from 'ngxtension/assert-injector';
|
|
3
|
-
import {
|
|
3
|
+
import { injectStore } from '../store';
|
|
4
4
|
export function injectBeforeRender(cb, { priority = 0, injector } = {}) {
|
|
5
5
|
return assertInjector(injectBeforeRender, injector, () => {
|
|
6
|
-
const store =
|
|
6
|
+
const store = injectStore();
|
|
7
7
|
const sub = store.get('internal').subscribe(cb, priority, store);
|
|
8
8
|
inject(DestroyRef).onDestroy(() => void sub());
|
|
9
9
|
return sub;
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
|
+
// TODO (chau): clean this up
|
|
12
13
|
export function injectNextBeforeRender(cb, { priority = 0, injector } = {}) {
|
|
13
14
|
return assertInjector(injectNextBeforeRender, injector, () => {
|
|
14
15
|
const assertedInjector = inject(Injector);
|
|
@@ -19,4 +20,4 @@ export function injectNextBeforeRender(cb, { priority = 0, injector } = {}) {
|
|
|
19
20
|
return sub.asReadonly();
|
|
20
21
|
});
|
|
21
22
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmb3JlLXJlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL2JlZm9yZS1yZW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBeUIsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTlELE1BQU0sVUFBVSxrQkFBa0IsQ0FDakMsRUFBcUMsRUFDckMsRUFBRSxRQUFRLEdBQUcsQ0FBQyxFQUFFLFFBQVEsS0FBaUQsRUFBRTtJQUUzRSxPQUFPLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQ3hELE1BQU0sS0FBSyxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQzVCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0MsT0FBTyxHQUFHLENBQUM7SUFDWixDQUFDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCw2QkFBNkI7QUFDN0IsTUFBTSxVQUFVLHNCQUFzQixDQUNyQyxFQUFxQyxFQUNyQyxFQUFFLFFBQVEsR0FBRyxDQUFDLEVBQUUsUUFBUSxLQUFpRCxFQUFFO0lBRTNFLE9BQU8sY0FBYyxDQUFDLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDNUQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUErQyxJQUFJLENBQUMsQ0FBQztRQUV2RSxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ3BCLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIEluamVjdG9yLCBhZnRlck5leHRSZW5kZXIsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJ25neHRlbnNpb24vYXNzZXJ0LWluamVjdG9yJztcbmltcG9ydCB7IE5ndEJlZm9yZVJlbmRlclJlY29yZCwgaW5qZWN0U3RvcmUgfSBmcm9tICcuLi9zdG9yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RCZWZvcmVSZW5kZXIoXG5cdGNiOiBOZ3RCZWZvcmVSZW5kZXJSZWNvcmRbJ2NhbGxiYWNrJ10sXG5cdHsgcHJpb3JpdHkgPSAwLCBpbmplY3RvciB9OiB7IHByaW9yaXR5PzogbnVtYmVyOyBpbmplY3Rvcj86IEluamVjdG9yIH0gPSB7fSxcbikge1xuXHRyZXR1cm4gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0QmVmb3JlUmVuZGVyLCBpbmplY3RvciwgKCkgPT4ge1xuXHRcdGNvbnN0IHN0b3JlID0gaW5qZWN0U3RvcmUoKTtcblx0XHRjb25zdCBzdWIgPSBzdG9yZS5nZXQoJ2ludGVybmFsJykuc3Vic2NyaWJlKGNiLCBwcmlvcml0eSwgc3RvcmUpO1xuXHRcdGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4gdm9pZCBzdWIoKSk7XG5cdFx0cmV0dXJuIHN1Yjtcblx0fSk7XG59XG5cbi8vIFRPRE8gKGNoYXUpOiBjbGVhbiB0aGlzIHVwXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0TmV4dEJlZm9yZVJlbmRlcihcblx0Y2I6IE5ndEJlZm9yZVJlbmRlclJlY29yZFsnY2FsbGJhY2snXSxcblx0eyBwcmlvcml0eSA9IDAsIGluamVjdG9yIH06IHsgcHJpb3JpdHk/OiBudW1iZXI7IGluamVjdG9yPzogSW5qZWN0b3IgfSA9IHt9LFxuKSB7XG5cdHJldHVybiBhc3NlcnRJbmplY3RvcihpbmplY3ROZXh0QmVmb3JlUmVuZGVyLCBpbmplY3RvciwgKCkgPT4ge1xuXHRcdGNvbnN0IGFzc2VydGVkSW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXHRcdGNvbnN0IHN1YiA9IHNpZ25hbDxSZXR1cm5UeXBlPHR5cGVvZiBpbmplY3RCZWZvcmVSZW5kZXI+IHwgbnVsbD4obnVsbCk7XG5cblx0XHRhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuXHRcdFx0c3ViLnNldChpbmplY3RCZWZvcmVSZW5kZXIoY2IsIHsgcHJpb3JpdHksIGluamVjdG9yOiBhc3NlcnRlZEluamVjdG9yIH0pKTtcblx0XHR9KTtcblxuXHRcdHJldHVybiBzdWIuYXNSZWFkb25seSgpO1xuXHR9KTtcbn1cbiJdfQ==
|
|
@@ -1,56 +1,61 @@
|
|
|
1
1
|
import { computed } from '@angular/core';
|
|
2
2
|
import { Vector2, Vector3 } from 'three';
|
|
3
|
-
export function
|
|
3
|
+
export function omit(objFn, keysToOmit) {
|
|
4
4
|
return computed(() => {
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
const obj = objFn();
|
|
6
|
+
const result = {};
|
|
7
|
+
for (const key of Object.keys(obj)) {
|
|
8
|
+
if (keysToOmit.includes(key))
|
|
9
|
+
continue;
|
|
10
|
+
Object.assign(result, { [key]: obj[key] });
|
|
11
|
+
}
|
|
12
|
+
return result;
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
|
-
export function pick(
|
|
16
|
-
if (Array.isArray(
|
|
15
|
+
export function pick(objFn, keyOrKeys) {
|
|
16
|
+
if (Array.isArray(keyOrKeys)) {
|
|
17
17
|
return computed(() => {
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
const obj = objFn();
|
|
19
|
+
const result = {};
|
|
20
|
+
for (const key of keyOrKeys) {
|
|
21
|
+
if (!(key in obj))
|
|
22
|
+
continue;
|
|
23
|
+
Object.assign(result, { [key]: obj[key] });
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
24
26
|
});
|
|
25
27
|
}
|
|
26
|
-
return computed(() =>
|
|
28
|
+
return computed(() => objFn()[keyOrKeys]);
|
|
27
29
|
}
|
|
28
|
-
export function merge(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
});
|
|
30
|
+
export function merge(objFn, toMerge, mode = 'override') {
|
|
31
|
+
if (mode === 'override')
|
|
32
|
+
return computed(() => ({ ...objFn(), ...toMerge }));
|
|
33
|
+
return computed(() => ({ ...toMerge, ...objFn() }));
|
|
33
34
|
}
|
|
34
|
-
export function vector2(options, key) {
|
|
35
|
+
export function vector2(options, key, keepUndefined = false) {
|
|
35
36
|
return computed(() => {
|
|
36
37
|
const value = options()[key];
|
|
38
|
+
if (keepUndefined && value == undefined)
|
|
39
|
+
return undefined;
|
|
37
40
|
if (typeof value === 'number')
|
|
38
41
|
return new Vector2(value, value);
|
|
39
42
|
else if (value)
|
|
40
43
|
return new Vector2(...value);
|
|
41
44
|
else
|
|
42
45
|
return new Vector2();
|
|
43
|
-
});
|
|
46
|
+
}, { equal: (a, b) => !!a && !!b && a.equals(b) });
|
|
44
47
|
}
|
|
45
|
-
export function vector3(options, key) {
|
|
48
|
+
export function vector3(options, key, keepUndefined = false) {
|
|
46
49
|
return computed(() => {
|
|
47
50
|
const value = options()[key];
|
|
51
|
+
if (keepUndefined && value == undefined)
|
|
52
|
+
return undefined;
|
|
48
53
|
if (typeof value === 'number')
|
|
49
54
|
return new Vector3(value, value, value);
|
|
50
55
|
else if (value)
|
|
51
56
|
return new Vector3(...value);
|
|
52
57
|
else
|
|
53
58
|
return new Vector3();
|
|
54
|
-
});
|
|
59
|
+
}, { equal: (a, b) => !!a && !!b && a.equals(b) });
|
|
55
60
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3BhcmFtZXRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFnQixPQUFPLEVBQWdCLE1BQU0sT0FBTyxDQUFDO0FBZXJFLE1BQU0sVUFBVSxJQUFJLENBQUMsS0FBeUIsRUFBRSxVQUFvQjtJQUNuRSxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDcEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxNQUFNLEdBQUcsRUFBa0IsQ0FBQztRQUVsQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUFFLFNBQVM7WUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBVUQsTUFBTSxVQUFVLElBQUksQ0FBQyxLQUF5QixFQUFFLFNBQTRCO0lBQzNFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNwQixNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsQ0FBQztZQUNwQixNQUFNLE1BQU0sR0FBRyxFQUFrQixDQUFDO1lBQ2xDLEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUM7b0JBQUUsU0FBUztnQkFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUMsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxVQUFVLEtBQUssQ0FDcEIsS0FBb0IsRUFDcEIsT0FBeUIsRUFDekIsT0FBZ0MsVUFBVTtJQUUxQyxJQUFJLElBQUksS0FBSyxVQUFVO1FBQUUsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0UsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQVdELE1BQU0sVUFBVSxPQUFPLENBQUMsT0FBNkIsRUFBRSxHQUFXLEVBQUUsYUFBYSxHQUFHLEtBQUs7SUFDeEYsT0FBTyxRQUFRLENBQ2QsR0FBRyxFQUFFO1FBQ0osTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxhQUFhLElBQUksS0FBSyxJQUFJLFNBQVM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUMxRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQzthQUMzRCxJQUFJLEtBQUs7WUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLEdBQUksS0FBc0IsQ0FBQyxDQUFDOztZQUMxRCxPQUFPLElBQUksT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQyxFQUNELEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDOUMsQ0FBQztBQUNILENBQUM7QUFVRCxNQUFNLFVBQVUsT0FBTyxDQUFDLE9BQTZCLEVBQUUsR0FBVyxFQUFFLGFBQWEsR0FBRyxLQUFLO0lBQ3hGLE9BQU8sUUFBUSxDQUNkLEdBQUcsRUFBRTtRQUNKLE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksYUFBYSxJQUFJLEtBQUssSUFBSSxTQUFTO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDMUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1lBQUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ2xFLElBQUksS0FBSztZQUFFLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBSSxLQUFzQixDQUFDLENBQUM7O1lBQzFELE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDLEVBQ0QsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUM5QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hbCwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZlY3RvcjIsIFZlY3RvcjJUdXBsZSwgVmVjdG9yMywgVmVjdG9yM1R1cGxlIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0VmVjdG9yMiwgTmd0VmVjdG9yMyB9IGZyb20gJy4uL3RocmVlLXR5cGVzJztcbmltcG9ydCB7IE5ndEFueVJlY29yZCB9IGZyb20gJy4uL3R5cGVzJztcblxudHlwZSBLZXlzT2ZUeXBlPFRPYmplY3QgZXh0ZW5kcyBvYmplY3QsIFRUeXBlPiA9IEV4Y2x1ZGU8XG5cdHtcblx0XHRbSyBpbiBrZXlvZiBUT2JqZWN0XTogVE9iamVjdFtLXSBleHRlbmRzIFRUeXBlIHwgdW5kZWZpbmVkIHwgbnVsbCA/IEsgOiBuZXZlcjtcblx0fVtrZXlvZiBUT2JqZWN0XSxcblx0dW5kZWZpbmVkXG4+O1xuXG5leHBvcnQgZnVuY3Rpb24gb21pdDxUT2JqZWN0IGV4dGVuZHMgb2JqZWN0LCBUS2V5cyBleHRlbmRzIChrZXlvZiBUT2JqZWN0KVtdPihcblx0b2JqRm46ICgpID0+IFRPYmplY3QsXG5cdGtleXNUb09taXQ6IFRLZXlzLFxuKTogU2lnbmFsPE9taXQ8VE9iamVjdCwgVEtleXNbbnVtYmVyXT4+O1xuZXhwb3J0IGZ1bmN0aW9uIG9taXQob2JqRm46ICgpID0+IE5ndEFueVJlY29yZCwga2V5c1RvT21pdDogc3RyaW5nW10pIHtcblx0cmV0dXJuIGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBvYmogPSBvYmpGbigpO1xuXHRcdGNvbnN0IHJlc3VsdCA9IHt9IGFzIE5ndEFueVJlY29yZDtcblxuXHRcdGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG9iaikpIHtcblx0XHRcdGlmIChrZXlzVG9PbWl0LmluY2x1ZGVzKGtleSkpIGNvbnRpbnVlO1xuXHRcdFx0T2JqZWN0LmFzc2lnbihyZXN1bHQsIHsgW2tleV06IG9ialtrZXldIH0pO1xuXHRcdH1cblxuXHRcdHJldHVybiByZXN1bHQ7XG5cdH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGljazxUT2JqZWN0IGV4dGVuZHMgb2JqZWN0LCBUS2V5IGV4dGVuZHMga2V5b2YgVE9iamVjdD4oXG5cdG9iakZuOiAoKSA9PiBUT2JqZWN0LFxuXHRrZXk6IFRLZXksXG4pOiBTaWduYWw8VE9iamVjdFtUS2V5XT47XG5leHBvcnQgZnVuY3Rpb24gcGljazxUT2JqZWN0IGV4dGVuZHMgb2JqZWN0LCBUS2V5cyBleHRlbmRzIChrZXlvZiBUT2JqZWN0KVtdPihcblx0b2JqRm46ICgpID0+IFRPYmplY3QsXG5cdGtleXM6IFRLZXlzLFxuKTogU2lnbmFsPFBpY2s8VE9iamVjdCwgVEtleXNbbnVtYmVyXT4+O1xuZXhwb3J0IGZ1bmN0aW9uIHBpY2sob2JqRm46ICgpID0+IE5ndEFueVJlY29yZCwga2V5T3JLZXlzOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuXHRpZiAoQXJyYXkuaXNBcnJheShrZXlPcktleXMpKSB7XG5cdFx0cmV0dXJuIGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGNvbnN0IG9iaiA9IG9iakZuKCk7XG5cdFx0XHRjb25zdCByZXN1bHQgPSB7fSBhcyBOZ3RBbnlSZWNvcmQ7XG5cdFx0XHRmb3IgKGNvbnN0IGtleSBvZiBrZXlPcktleXMpIHtcblx0XHRcdFx0aWYgKCEoa2V5IGluIG9iaikpIGNvbnRpbnVlO1xuXHRcdFx0XHRPYmplY3QuYXNzaWduKHJlc3VsdCwgeyBba2V5XTogb2JqW2tleV0gfSk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH0pO1xuXHR9XG5cblx0cmV0dXJuIGNvbXB1dGVkKCgpID0+IG9iakZuKClba2V5T3JLZXlzXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZTxUT2JqZWN0IGV4dGVuZHMgb2JqZWN0Pihcblx0b2JqRm46ICgpID0+IFRPYmplY3QsXG5cdHRvTWVyZ2U6IFBhcnRpYWw8VE9iamVjdD4sXG5cdG1vZGU6ICdvdmVycmlkZScgfCAnYmFja2ZpbGwnID0gJ292ZXJyaWRlJyxcbikge1xuXHRpZiAobW9kZSA9PT0gJ292ZXJyaWRlJykgcmV0dXJuIGNvbXB1dGVkKCgpID0+ICh7IC4uLm9iakZuKCksIC4uLnRvTWVyZ2UgfSkpO1xuXHRyZXR1cm4gY29tcHV0ZWQoKCkgPT4gKHsgLi4udG9NZXJnZSwgLi4ub2JqRm4oKSB9KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3IyPFRPYmplY3QgZXh0ZW5kcyBvYmplY3Q+KFxuXHRvcHRpb25zOiBTaWduYWw8VE9iamVjdD4sXG5cdGtleTogS2V5c09mVHlwZTxUT2JqZWN0LCBOZ3RWZWN0b3IyPixcbik6IFNpZ25hbDxWZWN0b3IyPjtcbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3IyPFRPYmplY3QgZXh0ZW5kcyBvYmplY3Q+KFxuXHRvcHRpb25zOiBTaWduYWw8VE9iamVjdD4sXG5cdGtleTogS2V5c09mVHlwZTxUT2JqZWN0LCBOZ3RWZWN0b3IyPixcblx0a2VlcFVuZGVmaW5lZDogdHJ1ZSxcbik6IFNpZ25hbDxWZWN0b3IyIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3IyKG9wdGlvbnM6IFNpZ25hbDxOZ3RBbnlSZWNvcmQ+LCBrZXk6IHN0cmluZywga2VlcFVuZGVmaW5lZCA9IGZhbHNlKSB7XG5cdHJldHVybiBjb21wdXRlZChcblx0XHQoKSA9PiB7XG5cdFx0XHRjb25zdCB2YWx1ZSA9IG9wdGlvbnMoKVtrZXldO1xuXHRcdFx0aWYgKGtlZXBVbmRlZmluZWQgJiYgdmFsdWUgPT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHJldHVybiBuZXcgVmVjdG9yMih2YWx1ZSwgdmFsdWUpO1xuXHRcdFx0ZWxzZSBpZiAodmFsdWUpIHJldHVybiBuZXcgVmVjdG9yMiguLi4odmFsdWUgYXMgVmVjdG9yMlR1cGxlKSk7XG5cdFx0XHRlbHNlIHJldHVybiBuZXcgVmVjdG9yMigpO1xuXHRcdH0sXG5cdFx0eyBlcXVhbDogKGEsIGIpID0+ICEhYSAmJiAhIWIgJiYgYS5lcXVhbHMoYikgfSxcblx0KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3IzPFRPYmplY3QgZXh0ZW5kcyBvYmplY3Q+KFxuXHRvcHRpb25zOiBTaWduYWw8VE9iamVjdD4sXG5cdGtleTogS2V5c09mVHlwZTxUT2JqZWN0LCBOZ3RWZWN0b3IzPixcbik6IFNpZ25hbDxWZWN0b3IzPjtcbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3IzPFRPYmplY3QgZXh0ZW5kcyBvYmplY3Q+KFxuXHRvcHRpb25zOiBTaWduYWw8VE9iamVjdD4sXG5cdGtleTogS2V5c09mVHlwZTxUT2JqZWN0LCBOZ3RWZWN0b3IzPixcblx0a2VlcFVuZGVmaW5lZDogdHJ1ZSxcbik6IFNpZ25hbDxWZWN0b3IzIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3IzKG9wdGlvbnM6IFNpZ25hbDxOZ3RBbnlSZWNvcmQ+LCBrZXk6IHN0cmluZywga2VlcFVuZGVmaW5lZCA9IGZhbHNlKSB7XG5cdHJldHVybiBjb21wdXRlZChcblx0XHQoKSA9PiB7XG5cdFx0XHRjb25zdCB2YWx1ZSA9IG9wdGlvbnMoKVtrZXldO1xuXHRcdFx0aWYgKGtlZXBVbmRlZmluZWQgJiYgdmFsdWUgPT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHJldHVybiBuZXcgVmVjdG9yMyh2YWx1ZSwgdmFsdWUsIHZhbHVlKTtcblx0XHRcdGVsc2UgaWYgKHZhbHVlKSByZXR1cm4gbmV3IFZlY3RvcjMoLi4uKHZhbHVlIGFzIFZlY3RvcjNUdXBsZSkpO1xuXHRcdFx0ZWxzZSByZXR1cm4gbmV3IFZlY3RvcjMoKTtcblx0XHR9LFxuXHRcdHsgZXF1YWw6IChhLCBiKSA9PiAhIWEgJiYgISFiICYmIGEuZXF1YWxzKGIpIH0sXG5cdCk7XG59XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { is } from './is';
|
|
2
|
+
export function resolveRef(ref) {
|
|
3
|
+
if (is.ref(ref)) {
|
|
4
|
+
return ref.nativeElement;
|
|
5
|
+
}
|
|
6
|
+
return ref;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9yZXNvbHZlLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFCLE1BQU0sVUFBVSxVQUFVLENBQVUsR0FBMEQ7SUFDN0YsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakIsT0FBTyxHQUFHLENBQUMsYUFBYSxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpcyB9IGZyb20gJy4vaXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVJlZjxUT2JqZWN0PihyZWY6IEVsZW1lbnRSZWY8VE9iamVjdCB8IHVuZGVmaW5lZD4gfCBUT2JqZWN0IHwgdW5kZWZpbmVkKTogVE9iamVjdCB8IHVuZGVmaW5lZCB7XG5cdGlmIChpcy5yZWYocmVmKSkge1xuXHRcdHJldHVybiByZWYubmF0aXZlRWxlbWVudDtcblx0fVxuXG5cdHJldHVybiByZWY7XG59XG4iXX0=
|