@dcl/asset-packs 2.8.0 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/index.js +13424 -14235
- package/dist/actions.js +118 -5
- package/dist/admin-toolkit-ui/Button.d.ts +2 -3
- package/dist/admin-toolkit-ui/Button.js +7 -2
- package/dist/admin-toolkit-ui/FeedbackButton.d.ts +8 -0
- package/dist/admin-toolkit-ui/FeedbackButton.js +49 -0
- package/dist/admin-toolkit-ui/VideoControl/DclCast/DclCastInfo.js +6 -27
- package/dist/admin-toolkit-ui/VideoControl/DclCast/styles.js +12 -1
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/ShowStreamKey.d.ts +1 -1
- package/dist/admin-toolkit-ui/VideoControl/LiveStream/ShowStreamKey.js +6 -5
- package/dist/bin/index.js +13424 -14235
- package/dist/components.js +6 -2
- package/dist/definitions.d.ts +33 -2
- package/dist/definitions.js +26 -2
- package/dist/enums.d.ts +14 -2
- package/dist/enums.js +14 -1
- package/dist/helpers.d.ts +7 -0
- package/dist/helpers.js +48 -0
- package/dist/triggers.js +9 -13
- package/package.json +1 -2
package/dist/components.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Animator as defineAnimator, Transform as defineTransform, AudioSource as defineAudioSource, AvatarAttach as defineAvatarAttach, VisibilityComponent as defineVisibilityComponent, GltfContainer as defineGltfContainer, UiTransform as defineUiTransform, UiText as defineUiText, UiBackground as defineUiBackground, UiInput as defineUiInput, UiInputResult as defineUiInputResult, UiCanvasInformation as defineUiCanvasInformation, VideoPlayer as defineVideoPlayer, Material as defineMaterial, MeshRenderer as defineMeshRenderer, Billboard as defineBillboard, Name as defineName, Tween as defineTween, TweenSequence as defineTweenSequence, PointerEvents as definePointerEvents, NetworkEntity as defineNetworkEntity, SyncComponents as defineSyncComponents, } from '@dcl/ecs/dist/components';
|
|
1
|
+
import { Animator as defineAnimator, Transform as defineTransform, AudioSource as defineAudioSource, AvatarAttach as defineAvatarAttach, VisibilityComponent as defineVisibilityComponent, GltfContainer as defineGltfContainer, UiTransform as defineUiTransform, UiText as defineUiText, UiBackground as defineUiBackground, UiInput as defineUiInput, UiInputResult as defineUiInputResult, UiCanvasInformation as defineUiCanvasInformation, VideoPlayer as defineVideoPlayer, LightSource as defineLightSource, VirtualCamera as defineVirtualCamera, MainCamera as defineMainCamera, TextShape as defineTextShape, Material as defineMaterial, MeshRenderer as defineMeshRenderer, Billboard as defineBillboard, Name as defineName, Tween as defineTween, TweenSequence as defineTweenSequence, PointerEvents as definePointerEvents, NetworkEntity as defineNetworkEntity, SyncComponents as defineSyncComponents, } from '@dcl/ecs/dist/components';
|
|
2
2
|
export function getExplorerComponents(engine) {
|
|
3
3
|
return {
|
|
4
4
|
Animator: defineAnimator(engine),
|
|
@@ -14,6 +14,10 @@ export function getExplorerComponents(engine) {
|
|
|
14
14
|
UiInputResult: defineUiInputResult(engine),
|
|
15
15
|
UiCanvasInformation: defineUiCanvasInformation(engine),
|
|
16
16
|
VideoPlayer: defineVideoPlayer(engine),
|
|
17
|
+
LightSource: defineLightSource(engine),
|
|
18
|
+
VirtualCamera: defineVirtualCamera(engine),
|
|
19
|
+
MainCamera: defineMainCamera(engine),
|
|
20
|
+
TextShape: defineTextShape(engine),
|
|
17
21
|
Material: defineMaterial(engine),
|
|
18
22
|
MeshRenderer: defineMeshRenderer(engine),
|
|
19
23
|
Billboard: defineBillboard(engine),
|
|
@@ -25,4 +29,4 @@ export function getExplorerComponents(engine) {
|
|
|
25
29
|
SyncComponents: defineSyncComponents(engine),
|
|
26
30
|
};
|
|
27
31
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLElBQUksY0FBYyxFQUMxQixTQUFTLElBQUksZUFBZSxFQUM1QixXQUFXLElBQUksaUJBQWlCLEVBQ2hDLFlBQVksSUFBSSxrQkFBa0IsRUFDbEMsbUJBQW1CLElBQUkseUJBQXlCLEVBQ2hELGFBQWEsSUFBSSxtQkFBbUIsRUFDcEMsV0FBVyxJQUFJLGlCQUFpQixFQUNoQyxNQUFNLElBQUksWUFBWSxFQUN0QixZQUFZLElBQUksa0JBQWtCLEVBQ2xDLE9BQU8sSUFBSSxhQUFhLEVBQ3hCLGFBQWEsSUFBSSxtQkFBbUIsRUFDcEMsbUJBQW1CLElBQUkseUJBQXlCLEVBQ2hELFdBQVcsSUFBSSxpQkFBaUIsRUFDaEMsV0FBVyxJQUFJLGlCQUFpQixFQUNoQyxhQUFhLElBQUksbUJBQW1CLEVBQ3BDLFVBQVUsSUFBSSxnQkFBZ0IsRUFDOUIsU0FBUyxJQUFJLGVBQWUsRUFDNUIsUUFBUSxJQUFJLGNBQWMsRUFDMUIsWUFBWSxJQUFJLGtCQUFrQixFQUNsQyxTQUFTLElBQUksZUFBZSxFQUM1QixJQUFJLElBQUksVUFBVSxFQUNsQixLQUFLLElBQUksV0FBVyxFQUNwQixhQUFhLElBQUksbUJBQW1CLEVBQ3BDLGFBQWEsSUFBSSxtQkFBbUIsRUFDcEMsYUFBYSxJQUFJLG1CQUFtQixFQUNwQyxjQUFjLElBQUksb0JBQW9CLEdBQ3ZDLE1BQU0sMEJBQTBCLENBQUM7QUFJbEMsTUFBTSxVQUFVLHFCQUFxQixDQUFDLE1BQWU7SUFDbkQsT0FBTztRQUNMLFFBQVEsRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDO1FBQ2hDLFNBQVMsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDO1FBQ2xDLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7UUFDdEMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztRQUN4QyxtQkFBbUIsRUFBRSx5QkFBeUIsQ0FBQyxNQUFNLENBQUM7UUFDdEQsYUFBYSxFQUFFLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztRQUMxQyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1FBQ3RDLE1BQU0sRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQzVCLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7UUFDeEMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDOUIsYUFBYSxFQUFFLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztRQUMxQyxtQkFBbUIsRUFBRSx5QkFBeUIsQ0FBQyxNQUFNLENBQUM7UUFDdEQsV0FBVyxFQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztRQUN0QyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1FBQ3RDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7UUFDMUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztRQUNwQyxTQUFTLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQztRQUNsQyxRQUFRLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQztRQUNoQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxDQUFDO1FBQ3hDLFNBQVMsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDO1FBQ2xDLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQ3hCLEtBQUssRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDO1FBQzFCLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7UUFDMUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztRQUMxQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxDQUFDO1FBQzFDLGNBQWMsRUFBRSxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7S0FDN0MsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBbmltYXRvciBhcyBkZWZpbmVBbmltYXRvcixcbiAgVHJhbnNmb3JtIGFzIGRlZmluZVRyYW5zZm9ybSxcbiAgQXVkaW9Tb3VyY2UgYXMgZGVmaW5lQXVkaW9Tb3VyY2UsXG4gIEF2YXRhckF0dGFjaCBhcyBkZWZpbmVBdmF0YXJBdHRhY2gsXG4gIFZpc2liaWxpdHlDb21wb25lbnQgYXMgZGVmaW5lVmlzaWJpbGl0eUNvbXBvbmVudCxcbiAgR2x0ZkNvbnRhaW5lciBhcyBkZWZpbmVHbHRmQ29udGFpbmVyLFxuICBVaVRyYW5zZm9ybSBhcyBkZWZpbmVVaVRyYW5zZm9ybSxcbiAgVWlUZXh0IGFzIGRlZmluZVVpVGV4dCxcbiAgVWlCYWNrZ3JvdW5kIGFzIGRlZmluZVVpQmFja2dyb3VuZCxcbiAgVWlJbnB1dCBhcyBkZWZpbmVVaUlucHV0LFxuICBVaUlucHV0UmVzdWx0IGFzIGRlZmluZVVpSW5wdXRSZXN1bHQsXG4gIFVpQ2FudmFzSW5mb3JtYXRpb24gYXMgZGVmaW5lVWlDYW52YXNJbmZvcm1hdGlvbixcbiAgVmlkZW9QbGF5ZXIgYXMgZGVmaW5lVmlkZW9QbGF5ZXIsXG4gIExpZ2h0U291cmNlIGFzIGRlZmluZUxpZ2h0U291cmNlLFxuICBWaXJ0dWFsQ2FtZXJhIGFzIGRlZmluZVZpcnR1YWxDYW1lcmEsXG4gIE1haW5DYW1lcmEgYXMgZGVmaW5lTWFpbkNhbWVyYSxcbiAgVGV4dFNoYXBlIGFzIGRlZmluZVRleHRTaGFwZSxcbiAgTWF0ZXJpYWwgYXMgZGVmaW5lTWF0ZXJpYWwsXG4gIE1lc2hSZW5kZXJlciBhcyBkZWZpbmVNZXNoUmVuZGVyZXIsXG4gIEJpbGxib2FyZCBhcyBkZWZpbmVCaWxsYm9hcmQsXG4gIE5hbWUgYXMgZGVmaW5lTmFtZSxcbiAgVHdlZW4gYXMgZGVmaW5lVHdlZW4sXG4gIFR3ZWVuU2VxdWVuY2UgYXMgZGVmaW5lVHdlZW5TZXF1ZW5jZSxcbiAgUG9pbnRlckV2ZW50cyBhcyBkZWZpbmVQb2ludGVyRXZlbnRzLFxuICBOZXR3b3JrRW50aXR5IGFzIGRlZmluZU5ldHdvcmtFbnRpdHksXG4gIFN5bmNDb21wb25lbnRzIGFzIGRlZmluZVN5bmNDb21wb25lbnRzLFxufSBmcm9tICdAZGNsL2Vjcy9kaXN0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBJRW5naW5lIH0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IHR5cGUgeyBFbmdpbmVDb21wb25lbnRzIH0gZnJvbSAnLi9kZWZpbml0aW9ucyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHBsb3JlckNvbXBvbmVudHMoZW5naW5lOiBJRW5naW5lKTogRW5naW5lQ29tcG9uZW50cyB7XG4gIHJldHVybiB7XG4gICAgQW5pbWF0b3I6IGRlZmluZUFuaW1hdG9yKGVuZ2luZSksXG4gICAgVHJhbnNmb3JtOiBkZWZpbmVUcmFuc2Zvcm0oZW5naW5lKSxcbiAgICBBdWRpb1NvdXJjZTogZGVmaW5lQXVkaW9Tb3VyY2UoZW5naW5lKSxcbiAgICBBdmF0YXJBdHRhY2g6IGRlZmluZUF2YXRhckF0dGFjaChlbmdpbmUpLFxuICAgIFZpc2liaWxpdHlDb21wb25lbnQ6IGRlZmluZVZpc2liaWxpdHlDb21wb25lbnQoZW5naW5lKSxcbiAgICBHbHRmQ29udGFpbmVyOiBkZWZpbmVHbHRmQ29udGFpbmVyKGVuZ2luZSksXG4gICAgVWlUcmFuc2Zvcm06IGRlZmluZVVpVHJhbnNmb3JtKGVuZ2luZSksXG4gICAgVWlUZXh0OiBkZWZpbmVVaVRleHQoZW5naW5lKSxcbiAgICBVaUJhY2tncm91bmQ6IGRlZmluZVVpQmFja2dyb3VuZChlbmdpbmUpLFxuICAgIFVpSW5wdXQ6IGRlZmluZVVpSW5wdXQoZW5naW5lKSxcbiAgICBVaUlucHV0UmVzdWx0OiBkZWZpbmVVaUlucHV0UmVzdWx0KGVuZ2luZSksXG4gICAgVWlDYW52YXNJbmZvcm1hdGlvbjogZGVmaW5lVWlDYW52YXNJbmZvcm1hdGlvbihlbmdpbmUpLFxuICAgIFZpZGVvUGxheWVyOiBkZWZpbmVWaWRlb1BsYXllcihlbmdpbmUpLFxuICAgIExpZ2h0U291cmNlOiBkZWZpbmVMaWdodFNvdXJjZShlbmdpbmUpLFxuICAgIFZpcnR1YWxDYW1lcmE6IGRlZmluZVZpcnR1YWxDYW1lcmEoZW5naW5lKSxcbiAgICBNYWluQ2FtZXJhOiBkZWZpbmVNYWluQ2FtZXJhKGVuZ2luZSksXG4gICAgVGV4dFNoYXBlOiBkZWZpbmVUZXh0U2hhcGUoZW5naW5lKSxcbiAgICBNYXRlcmlhbDogZGVmaW5lTWF0ZXJpYWwoZW5naW5lKSxcbiAgICBNZXNoUmVuZGVyZXI6IGRlZmluZU1lc2hSZW5kZXJlcihlbmdpbmUpLFxuICAgIEJpbGxib2FyZDogZGVmaW5lQmlsbGJvYXJkKGVuZ2luZSksXG4gICAgTmFtZTogZGVmaW5lTmFtZShlbmdpbmUpLFxuICAgIFR3ZWVuOiBkZWZpbmVUd2VlbihlbmdpbmUpLFxuICAgIFR3ZWVuU2VxdWVuY2U6IGRlZmluZVR3ZWVuU2VxdWVuY2UoZW5naW5lKSxcbiAgICBQb2ludGVyRXZlbnRzOiBkZWZpbmVQb2ludGVyRXZlbnRzKGVuZ2luZSksXG4gICAgTmV0d29ya0VudGl0eTogZGVmaW5lTmV0d29ya0VudGl0eShlbmdpbmUpLFxuICAgIFN5bmNDb21wb25lbnRzOiBkZWZpbmVTeW5jQ29tcG9uZW50cyhlbmdpbmUpLFxuICB9O1xufVxuIl19
|
package/dist/definitions.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Entity, IEngine, ISchema, MaterialComponentDefinitionExtended, PBMaterial, PBVideoPlayer, AnimatorComponentDefinitionExtended, TransformComponentExtended, LastWriteWinElementSetComponentDefinition, PBAvatarAttach, PBVisibilityComponent, PBGltfContainer, PBUiTransform, PBUiText, PBUiBackground, MeshRendererComponentDefinitionExtended, PBBillboard, NameType, PBTween, PBTweenSequence, PBPointerEvents, NetworkEntity, SyncComponents, AudioSourceComponentDefinitionExtended, PBUiInput, PBUiInputResult, PBUiCanvasInformation } from '@dcl/ecs';
|
|
2
|
-
import { ComponentName, TweenType, InterpolationType, ActionType, TriggerType, TriggerConditionType, TriggerConditionOperation, AlignMode, Font, Colliders, ProximityLayer, AdminPermissions, MediaSource } from './enums';
|
|
1
|
+
import type { Entity, IEngine, ISchema, MaterialComponentDefinitionExtended, PBMaterial, PBVideoPlayer, PBMainCamera, PBVirtualCamera, AnimatorComponentDefinitionExtended, TransformComponentExtended, LastWriteWinElementSetComponentDefinition, PBAvatarAttach, PBVisibilityComponent, PBGltfContainer, PBUiTransform, PBUiText, PBTextShape, PBUiBackground, MeshRendererComponentDefinitionExtended, PBBillboard, NameType, PBTween, PBTweenSequence, PBPointerEvents, PBLightSource, NetworkEntity, SyncComponents, AudioSourceComponentDefinitionExtended, PBUiInput, PBUiInputResult, PBUiCanvasInformation } from '@dcl/ecs';
|
|
2
|
+
import { ComponentName, TweenType, InterpolationType, ActionType, TriggerType, TriggerConditionType, TriggerConditionOperation, AlignMode, Font, Colliders, ProximityLayer, AdminPermissions, MediaSource, TextureMovementType } from './enums';
|
|
3
3
|
export declare const LIVEKIT_STREAM_SRC = "livekit-video://current-stream";
|
|
4
4
|
export declare const VIDEO_URL_TYPE = "https://";
|
|
5
5
|
export * from './enums';
|
|
@@ -25,6 +25,8 @@ export declare const ActionSchemas: {
|
|
|
25
25
|
interpolationType: ISchema<InterpolationType>;
|
|
26
26
|
duration: ISchema<number>;
|
|
27
27
|
relative: ISchema<boolean>;
|
|
28
|
+
direction: ISchema<import("@dcl/ecs").Vector3Type | undefined>;
|
|
29
|
+
speed: ISchema<number | undefined>;
|
|
28
30
|
}>>;
|
|
29
31
|
set_counter: ISchema<import("@dcl/ecs").MapResult<{
|
|
30
32
|
counter: ISchema<number>;
|
|
@@ -165,6 +167,31 @@ export declare const ActionSchemas: {
|
|
|
165
167
|
multiplier: ISchema<number>;
|
|
166
168
|
}>>;
|
|
167
169
|
claim_airdrop: ISchema<import("@dcl/ecs").MapResult<{}>>;
|
|
170
|
+
lights_on: ISchema<import("@dcl/ecs").MapResult<{}>>;
|
|
171
|
+
lights_off: ISchema<import("@dcl/ecs").MapResult<{}>>;
|
|
172
|
+
lights_modify: ISchema<import("@dcl/ecs").MapResult<{
|
|
173
|
+
active: ISchema<boolean | undefined>;
|
|
174
|
+
color: ISchema<import("@dcl/ecs").Color3Type | undefined>;
|
|
175
|
+
intensity: ISchema<number | undefined>;
|
|
176
|
+
}>>;
|
|
177
|
+
change_camera: ISchema<import("@dcl/ecs").MapResult<{
|
|
178
|
+
virtualCameraEntity: ISchema<Entity | undefined>;
|
|
179
|
+
}>>;
|
|
180
|
+
change_text: ISchema<import("@dcl/ecs").MapResult<{
|
|
181
|
+
text: ISchema<string>;
|
|
182
|
+
fontSize: ISchema<number | undefined>;
|
|
183
|
+
color: ISchema<import("@dcl/ecs").Color4Type | undefined>;
|
|
184
|
+
}>>;
|
|
185
|
+
stop_tween: ISchema<import("@dcl/ecs").MapResult<{}>>;
|
|
186
|
+
slide_texture: ISchema<import("@dcl/ecs").MapResult<{
|
|
187
|
+
direction: ISchema<import("@dcl/ecs").MapResult<{
|
|
188
|
+
x: ISchema<number>;
|
|
189
|
+
y: ISchema<number>;
|
|
190
|
+
}>>;
|
|
191
|
+
speed: ISchema<number>;
|
|
192
|
+
movementType: ISchema<TextureMovementType | undefined>;
|
|
193
|
+
duration: ISchema<number | undefined>;
|
|
194
|
+
}>>;
|
|
168
195
|
};
|
|
169
196
|
export type ActionPayload<T extends ActionType = any> = T extends keyof typeof ActionSchemas ? (typeof ActionSchemas)[T] extends ISchema ? ReturnType<(typeof ActionSchemas)[T]['deserialize']> : Record<string, never> : Record<string, never>;
|
|
170
197
|
export declare function getComponent<T>(componentName: string, engine: IEngine): LastWriteWinElementSetComponentDefinition<T>;
|
|
@@ -424,6 +451,10 @@ export type EngineComponents = {
|
|
|
424
451
|
Material: MaterialComponentDefinitionExtended;
|
|
425
452
|
MeshRenderer: MeshRendererComponentDefinitionExtended;
|
|
426
453
|
VideoPlayer: LastWriteWinElementSetComponentDefinition<PBVideoPlayer>;
|
|
454
|
+
LightSource: LastWriteWinElementSetComponentDefinition<PBLightSource>;
|
|
455
|
+
VirtualCamera: LastWriteWinElementSetComponentDefinition<PBVirtualCamera>;
|
|
456
|
+
MainCamera: LastWriteWinElementSetComponentDefinition<PBMainCamera>;
|
|
457
|
+
TextShape: LastWriteWinElementSetComponentDefinition<PBTextShape>;
|
|
427
458
|
UiTransform: LastWriteWinElementSetComponentDefinition<PBUiTransform>;
|
|
428
459
|
UiText: LastWriteWinElementSetComponentDefinition<PBUiText>;
|
|
429
460
|
UiBackground: LastWriteWinElementSetComponentDefinition<PBUiBackground>;
|
package/dist/definitions.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Schemas } from '@dcl/ecs';
|
|
2
2
|
import { addActionType } from './action-types';
|
|
3
|
-
import { ComponentName, TweenType, InterpolationType, ActionType, TriggerType, TriggerConditionType, TriggerConditionOperation, AlignMode, Font, Colliders, ProximityLayer, AdminPermissions, MediaSource, } from './enums';
|
|
3
|
+
import { ComponentName, TweenType, InterpolationType, ActionType, TriggerType, TriggerConditionType, TriggerConditionOperation, AlignMode, Font, Colliders, ProximityLayer, AdminPermissions, MediaSource, TextureMovementType, } from './enums';
|
|
4
4
|
import { getExplorerComponents } from './components';
|
|
5
5
|
export const LIVEKIT_STREAM_SRC = 'livekit-video://current-stream';
|
|
6
6
|
export const VIDEO_URL_TYPE = 'https://';
|
|
@@ -25,6 +25,8 @@ export const ActionSchemas = {
|
|
|
25
25
|
interpolationType: Schemas.EnumString(InterpolationType, InterpolationType.LINEAR),
|
|
26
26
|
duration: Schemas.Float,
|
|
27
27
|
relative: Schemas.Boolean,
|
|
28
|
+
direction: Schemas.Optional(Schemas.Vector3),
|
|
29
|
+
speed: Schemas.Optional(Schemas.Float),
|
|
28
30
|
}),
|
|
29
31
|
[ActionType.SET_COUNTER]: Schemas.Map({ counter: Schemas.Int }),
|
|
30
32
|
[ActionType.INCREMENT_COUNTER]: Schemas.Map({
|
|
@@ -163,6 +165,28 @@ export const ActionSchemas = {
|
|
|
163
165
|
multiplier: Schemas.Int,
|
|
164
166
|
}),
|
|
165
167
|
[ActionType.CLAIM_AIRDROP]: Schemas.Map({}),
|
|
168
|
+
[ActionType.LIGHTS_ON]: Schemas.Map({}),
|
|
169
|
+
[ActionType.LIGHTS_OFF]: Schemas.Map({}),
|
|
170
|
+
[ActionType.LIGHTS_MODIFY]: Schemas.Map({
|
|
171
|
+
active: Schemas.Optional(Schemas.Boolean),
|
|
172
|
+
color: Schemas.Optional(Schemas.Color3),
|
|
173
|
+
intensity: Schemas.Optional(Schemas.Float),
|
|
174
|
+
}),
|
|
175
|
+
[ActionType.CHANGE_CAMERA]: Schemas.Map({
|
|
176
|
+
virtualCameraEntity: Schemas.Optional(Schemas.Entity),
|
|
177
|
+
}),
|
|
178
|
+
[ActionType.CHANGE_TEXT]: Schemas.Map({
|
|
179
|
+
text: Schemas.String,
|
|
180
|
+
fontSize: Schemas.Optional(Schemas.Float),
|
|
181
|
+
color: Schemas.Optional(Schemas.Color4),
|
|
182
|
+
}),
|
|
183
|
+
[ActionType.STOP_TWEEN]: Schemas.Map({}),
|
|
184
|
+
[ActionType.SLIDE_TEXTURE]: Schemas.Map({
|
|
185
|
+
direction: Schemas.Map({ x: Schemas.Float, y: Schemas.Float }),
|
|
186
|
+
speed: Schemas.Float,
|
|
187
|
+
movementType: Schemas.Optional(Schemas.EnumNumber(TextureMovementType, TextureMovementType.TMT_OFFSET)),
|
|
188
|
+
duration: Schemas.Optional(Schemas.Float),
|
|
189
|
+
}),
|
|
166
190
|
};
|
|
167
191
|
export function getComponent(componentName, engine) {
|
|
168
192
|
try {
|
|
@@ -398,4 +422,4 @@ export function getConditionTypesByComponentName(componentName) {
|
|
|
398
422
|
}
|
|
399
423
|
}
|
|
400
424
|
}
|
|
401
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxhQUFhLEVBQ2IsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsV0FBVyxFQUNYLG9CQUFvQixFQUNwQix5QkFBeUIsRUFDekIsU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEVBQ1QsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixXQUFXLEdBQ1osTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGdDQUFnQyxDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUM7QUFFekMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLE1BQU0sQ0FBQztBQUNyQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLFNBQVMsQ0FBQztBQUV4QixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN2QyxTQUFTLEVBQUUsT0FBTyxDQUFDLE1BQU07UUFDekIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztLQUN4QyxDQUFDO0lBQ0YsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdB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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEVudGl0eSxcbiAgSUVuZ2luZSxcbiAgSVNjaGVtYSxcbiAgTWF0ZXJpYWxDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQsXG4gIFBCTWF0ZXJpYWwsXG4gIFBCVmlkZW9QbGF5ZXIsXG4gIFZpZGVvVGV4dHVyZSxcbiAgQW5pbWF0b3JDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQsXG4gIFRyYW5zZm9ybUNvbXBvbmVudEV4dGVuZGVkLFxuICBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbixcbiAgUEJBdmF0YXJBdHRhY2gsXG4gIFBCVmlzaWJpbGl0eUNvbXBvbmVudCxcbiAgUEJHbHRmQ29udGFpbmVyLFxuICBQQlVpVHJhbnNmb3JtLFxuICBQQlVpVGV4dCxcbiAgUEJVaUJhY2tncm91bmQsXG4gIE1lc2hSZW5kZXJlckNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZCxcbiAgUEJCaWxsYm9hcmQsXG4gIE5hbWVUeXBlLFxuICBQQlR3ZWVuLFxuICBQQlR3ZWVuU2VxdWVuY2UsXG4gIFBCUG9pbnRlckV2ZW50cyxcbiAgTmV0d29ya0VudGl0eSxcbiAgU3luY0NvbXBvbmVudHMsXG4gIEF1ZGlvU291cmNlQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkLFxuICBQQlVpSW5wdXQsXG4gIFBCVWlJbnB1dFJlc3VsdCxcbiAgUEJVaUNhbnZhc0luZm9ybWF0aW9uLFxufSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQgeyBTY2hlbWFzIH0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IHsgYWRkQWN0aW9uVHlwZSB9IGZyb20gJy4vYWN0aW9uLXR5cGVzJztcbmltcG9ydCB7XG4gIENvbXBvbmVudE5hbWUsXG4gIFR3ZWVuVHlwZSxcbiAgSW50ZXJwb2xhdGlvblR5cGUsXG4gIEFjdGlvblR5cGUsXG4gIFRyaWdnZXJUeXBlLFxuICBUcmlnZ2VyQ29uZGl0aW9uVHlwZSxcbiAgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbixcbiAgQWxpZ25Nb2RlLFxuICBGb250LFxuICBDb2xsaWRlcnMsXG4gIFByb3hpbWl0eUxheWVyLFxuICBBZG1pblBlcm1pc3Npb25zLFxuICBNZWRpYVNvdXJjZSxcbn0gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQgeyBnZXRFeHBsb3JlckNvbXBvbmVudHMgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuXG5leHBvcnQgY29uc3QgTElWRUtJVF9TVFJFQU1fU1JDID0gJ2xpdmVraXQtdmlkZW86Ly9jdXJyZW50LXN0cmVhbSc7XG5leHBvcnQgY29uc3QgVklERU9fVVJMX1RZUEUgPSAnaHR0cHM6Ly8nO1xuXG5leHBvcnQgKiBmcm9tICcuL2VudW1zJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLXR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vaWQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jbG9uZSc7XG5leHBvcnQgKiBmcm9tICcuL2x3dyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IEFjdGlvblNjaGVtYXMgPSB7XG4gIFtBY3Rpb25UeXBlLlBMQVlfQU5JTUFUSU9OXTogU2NoZW1hcy5NYXAoe1xuICAgIGFuaW1hdGlvbjogU2NoZW1hcy5TdHJpbmcsXG4gICAgbG9vcDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9BTklNQVRJT05dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlNFVF9TVEFURV06IFNjaGVtYXMuTWFwKHsgc3RhdGU6IFNjaGVtYXMuU3RyaW5nIH0pLFxuICBbQWN0aW9uVHlwZS5TVEFSVF9UV0VFTl06IFNjaGVtYXMuTWFwKHtcbiAgICB0eXBlOiBTY2hlbWFzLkVudW1TdHJpbmc8VHdlZW5UeXBlPihUd2VlblR5cGUsIFR3ZWVuVHlwZS5NT1ZFX0lURU0pLFxuICAgIGVuZDogU2NoZW1hcy5WZWN0b3IzLFxuICAgIGludGVycG9sYXRpb25UeXBlOiBTY2hlbWFzLkVudW1TdHJpbmcoSW50ZXJwb2xhdGlvblR5cGUsIEludGVycG9sYXRpb25UeXBlLkxJTkVBUiksXG4gICAgZHVyYXRpb246IFNjaGVtYXMuRmxvYXQsXG4gICAgcmVsYXRpdmU6IFNjaGVtYXMuQm9vbGVhbixcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNFVF9DT1VOVEVSXTogU2NoZW1hcy5NYXAoeyBjb3VudGVyOiBTY2hlbWFzLkludCB9KSxcbiAgW0FjdGlvblR5cGUuSU5DUkVNRU5UX0NPVU5URVJdOiBTY2hlbWFzLk1hcCh7XG4gICAgYW1vdW50OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkRFQ1JFQVNFX0NPVU5URVJdOiBTY2hlbWFzLk1hcCh7XG4gICAgYW1vdW50OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlBMQVlfU09VTkRdOiBTY2hlbWFzLk1hcCh7XG4gICAgc3JjOiBTY2hlbWFzLlN0cmluZyxcbiAgICBsb29wOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gICAgdm9sdW1lOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICAgIGdsb2JhbDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9TT1VORF06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuU0VUX1ZJU0lCSUxJVFldOiBTY2hlbWFzLk1hcCh7XG4gICAgdmlzaWJsZTogU2NoZW1hcy5Cb29sZWFuLFxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgY29sbGlkZXIgaW5zdGVhZCAqL1xuICAgIHBoeXNpY3NDb2xsaWRlcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICAgIGNvbGxpZGVyOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRW51bU51bWJlcihDb2xsaWRlcnMsIENvbGxpZGVycy5DTF9QT0lOVEVSKSksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5BVFRBQ0hfVE9fUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIGFuY2hvclBvaW50SWQ6IFNjaGVtYXMuSW50LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuREVUQUNIX0ZST01fUExBWUVSXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5QTEFZX1ZJREVPX1NUUkVBTV06IFNjaGVtYXMuTWFwKHtcbiAgICBzcmM6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgIGxvb3A6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgICB2b2x1bWU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgZGNsQ2FzdDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9WSURFT19TVFJFQU1dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlBMQVlfQVVESU9fU1RSRUFNXTogU2NoZW1hcy5NYXAoe1xuICAgIHVybDogU2NoZW1hcy5TdHJpbmcsXG4gICAgdm9sdW1lOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9BVURJT19TVFJFQU1dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlRFTEVQT1JUX1BMQVlFUl06IFNjaGVtYXMuTWFwKHtcbiAgICB4OiBTY2hlbWFzLkludCxcbiAgICB5OiBTY2hlbWFzLkludCxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLk1PVkVfUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIHBvc2l0aW9uOiBTY2hlbWFzLlZlY3RvcjMsXG4gICAgY2FtZXJhVGFyZ2V0OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuVmVjdG9yMyksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5QTEFZX0RFRkFVTFRfRU1PVEVdOiBTY2hlbWFzLk1hcCh7XG4gICAgZW1vdGU6IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuUExBWV9DVVNUT01fRU1PVEVdOiBTY2hlbWFzLk1hcCh7XG4gICAgc3JjOiBTY2hlbWFzLlN0cmluZyxcbiAgICBsb29wOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5PUEVOX0xJTktdOiBTY2hlbWFzLk1hcCh7XG4gICAgdXJsOiBTY2hlbWFzLlN0cmluZyxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNIT1dfVEVYVF06IFNjaGVtYXMuTWFwKHtcbiAgICB0ZXh0OiBTY2hlbWFzLlN0cmluZyxcbiAgICBoaWRlQWZ0ZXJTZWNvbmRzOiBTY2hlbWFzLkZsb2F0LFxuICAgIGZvbnQ6IFNjaGVtYXMuRW51bU51bWJlcihGb250LCBGb250LkZfU0FOU19TRVJJRiksXG4gICAgZm9udFNpemU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgdGV4dEFsaWduOiBTY2hlbWFzLkVudW1OdW1iZXIoQWxpZ25Nb2RlLCBBbGlnbk1vZGUuVEFNX01JRERMRV9DRU5URVIpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuSElERV9URVhUXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TVEFSVF9ERUxBWV06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgICB0aW1lb3V0OiBTY2hlbWFzLkZsb2F0LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9ERUxBWV06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb246IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RBUlRfTE9PUF06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgICBpbnRlcnZhbDogU2NoZW1hcy5GbG9hdCxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfTE9PUF06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb246IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuQ0xPTkVfRU5USVRZXTogU2NoZW1hcy5NYXAoe1xuICAgIHBvc2l0aW9uOiBTY2hlbWFzLlZlY3RvcjMsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5SRU1PVkVfRU5USVRZXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TSE9XX0lNQUdFXTogU2NoZW1hcy5NYXAoe1xuICAgIHNyYzogU2NoZW1hcy5TdHJpbmcsXG4gICAgYWxpZ246IFNjaGVtYXMuRW51bU51bWJlcihBbGlnbk1vZGUsIEFsaWduTW9kZS5UQU1fTUlERExFX0NFTlRFUiksXG4gICAgaGVpZ2h0OiBTY2hlbWFzLkZsb2F0LFxuICAgIHdpZHRoOiBTY2hlbWFzLkZsb2F0LFxuICAgIGhpZGVBZnRlclNlY29uZHM6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgdGV4dDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgZm9udFNpemU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5ISURFX0lNQUdFXTogU2NoZW1hcy5NYXAoe1xuICAgIGltYWdlRW50aXR5OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkRBTUFHRV06IFNjaGVtYXMuTWFwKHtcbiAgICByYWRpdXM6IFNjaGVtYXMuRmxvYXQsXG4gICAgbGF5ZXI6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5FbnVtU3RyaW5nKFByb3hpbWl0eUxheWVyLCBQcm94aW1pdHlMYXllci5BTEwpKSxcbiAgICBoaXRzOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLk1PVkVfUExBWUVSX0hFUkVdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlBMQUNFX09OX1BMQVlFUl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUk9UQVRFX0FTX1BMQVlFUl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUExBQ0VfT05fQ0FNRVJBXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5ST1RBVEVfQVNfQ0FNRVJBXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TRVRfUE9TSVRJT05dOiBTY2hlbWFzLk1hcCh7XG4gICAgeDogU2NoZW1hcy5GbG9hdCxcbiAgICB5OiBTY2hlbWFzLkZsb2F0LFxuICAgIHo6IFNjaGVtYXMuRmxvYXQsXG4gICAgcmVsYXRpdmU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNFVF9ST1RBVElPTl06IFNjaGVtYXMuTWFwKHtcbiAgICB4OiBTY2hlbWFzLkZsb2F0LFxuICAgIHk6IFNjaGVtYXMuRmxvYXQsXG4gICAgejogU2NoZW1hcy5GbG9hdCxcbiAgICByZWxhdGl2ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU0VUX1NDQUxFXTogU2NoZW1hcy5NYXAoe1xuICAgIHg6IFNjaGVtYXMuRmxvYXQsXG4gICAgeTogU2NoZW1hcy5GbG9hdCxcbiAgICB6OiBTY2hlbWFzLkZsb2F0LFxuICAgIHJlbGF0aXZlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5GT0xMT1dfUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIHNwZWVkOiBTY2hlbWFzLkZsb2F0LFxuICAgIHg6IFNjaGVtYXMuQm9vbGVhbixcbiAgICB5OiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgejogU2NoZW1hcy5Cb29sZWFuLFxuICAgIG1pbkRpc3RhbmNlOiBTY2hlbWFzLkZsb2F0LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9GT0xMT1dJTkdfUExBWUVSXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5SQU5ET01dOiBTY2hlbWFzLk1hcCh7XG4gICAgYWN0aW9uczogU2NoZW1hcy5BcnJheShTY2hlbWFzLlN0cmluZyksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5CQVRDSF06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkhFQUxfUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIG11bHRpcGxpZXI6IFNjaGVtYXMuSW50LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuQ0xBSU1fQUlSRFJPUF06IFNjaGVtYXMuTWFwKHt9KSxcbn07XG5cbmV4cG9ydCB0eXBlIEFjdGlvblBheWxvYWQ8VCBleHRlbmRzIEFjdGlvblR5cGUgPSBhbnk+ID0gVCBleHRlbmRzIGtleW9mIHR5cGVvZiBBY3Rpb25TY2hlbWFzXG4gID8gKHR5cGVvZiBBY3Rpb25TY2hlbWFzKVtUXSBleHRlbmRzIElTY2hlbWFcbiAgICA/IFJldHVyblR5cGU8KHR5cGVvZiBBY3Rpb25TY2hlbWFzKVtUXVsnZGVzZXJpYWxpemUnXT5cbiAgICA6IFJlY29yZDxzdHJpbmcsIG5ldmVyPlxuICA6IFJlY29yZDxzdHJpbmcsIG5ldmVyPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbXBvbmVudDxUPihjb21wb25lbnROYW1lOiBzdHJpbmcsIGVuZ2luZTogSUVuZ2luZSkge1xuICB0cnkge1xuICAgIHJldHVybiBlbmdpbmUuZ2V0Q29tcG9uZW50KGNvbXBvbmVudE5hbWUpIGFzIExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFQ+O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIHVzaW5nIGdldENvbXBvbmVudCB3aXRoIGNvbXBvbmVudE5hbWU9XCIke2NvbXBvbmVudE5hbWV9XCJgKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29tcG9uZW50cyhlbmdpbmU6IElFbmdpbmUpIHtcbiAgcmV0dXJuIHtcbiAgICBBY3Rpb25zOiBnZXRDb21wb25lbnQ8QWN0aW9ucz4oQ29tcG9uZW50TmFtZS5BQ1RJT05TLCBlbmdpbmUpLFxuICAgIFN0YXRlczogZ2V0Q29tcG9uZW50PFN0YXRlcz4oQ29tcG9uZW50TmFtZS5TVEFURVMsIGVuZ2luZSksXG4gICAgQ291bnRlcjogZ2V0Q29tcG9uZW50PENvdW50ZXI+KENvbXBvbmVudE5hbWUuQ09VTlRFUiwgZW5naW5lKSxcbiAgICBUcmlnZ2VyczogZ2V0Q29tcG9uZW50PFRyaWdnZXJzPihDb21wb25lbnROYW1lLlRSSUdHRVJTLCBlbmdpbmUpLFxuICAgIENvdW50ZXJCYXI6IGdldENvbXBvbmVudDxDb3VudGVyQmFyPihDb21wb25lbnROYW1lLkNPVU5URVJfQkFSLCBlbmdpbmUpLFxuICAgIEFkbWluVG9vbHM6IGdldENvbXBvbmVudDxBZG1pblRvb2xzPihDb21wb25lbnROYW1lLkFETUlOX1RPT0xTLCBlbmdpbmUpLFxuICAgIFZpZGVvU2NyZWVuOiBnZXRDb21wb25lbnQ8VmlkZW9TY3JlZW4+KENvbXBvbmVudE5hbWUuVklERU9fU0NSRUVOLCBlbmdpbmUpLFxuICAgIFJld2FyZHM6IGdldENvbXBvbmVudDxSZXdhcmRzPihDb21wb25lbnROYW1lLlJFV0FSRFMsIGVuZ2luZSksXG4gICAgVGV4dEFubm91bmNlbWVudHM6IGdldENvbXBvbmVudDxUZXh0QW5ub3VuY2VtZW50cz4oQ29tcG9uZW50TmFtZS5URVhUX0FOTk9VTkNFTUVOVFMsIGVuZ2luZSksXG4gICAgVmlkZW9Db250cm9sU3RhdGU6IGdldENvbXBvbmVudDxWaWRlb0NvbnRyb2xTdGF0ZT4oQ29tcG9uZW50TmFtZS5WSURFT19DT05UUk9MX1NUQVRFLCBlbmdpbmUpLFxuICAgIFNjcmlwdDogZ2V0Q29tcG9uZW50PFNjcmlwdD4oQ29tcG9uZW50TmFtZS5TQ1JJUFQsIGVuZ2luZSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb21wb25lbnRzKGVuZ2luZTogSUVuZ2luZSkge1xuICBjb25zdCBBY3Rpb25UeXBlcyA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5BQ1RJT05fVFlQRVMsIHtcbiAgICB2YWx1ZTogU2NoZW1hcy5BcnJheShcbiAgICAgIFNjaGVtYXMuTWFwKHtcbiAgICAgICAgdHlwZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgIGpzb25TY2hlbWE6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgfSksXG4gICAgKSxcbiAgfSk7XG5cbiAgY29uc3QgQWN0aW9ucyA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5BQ1RJT05TLCB7XG4gICAgaWQ6IFNjaGVtYXMuSW50LFxuICAgIHZhbHVlOiBTY2hlbWFzLkFycmF5KFxuICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICBuYW1lOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAgdHlwZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgIGpzb25QYXlsb2FkOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAgYWxsb3dlZEluQmFzaWNWaWV3OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gICAgICAgIGJhc2ljVmlld0lkOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgICAgICAgZGVmYXVsdDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICAgICAgfSksXG4gICAgKSxcbiAgfSk7XG5cbiAgY29uc3QgQ291bnRlciA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5DT1VOVEVSLCB7XG4gICAgaWQ6IFNjaGVtYXMuTnVtYmVyLFxuICAgIHZhbHVlOiBTY2hlbWFzLkludCxcbiAgfSk7XG5cbiAgY29uc3QgVHJpZ2dlcnMgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuVFJJR0dFUlMsIHtcbiAgICB2YWx1ZTogU2NoZW1hcy5BcnJheShcbiAgICAgIFNjaGVtYXMuTWFwKHtcbiAgICAgICAgdHlwZTogU2NoZW1hcy5FbnVtU3RyaW5nPFRyaWdnZXJUeXBlPihUcmlnZ2VyVHlwZSwgVHJpZ2dlclR5cGUuT05fSU5QVVRfQUNUSU9OKSxcbiAgICAgICAgY29uZGl0aW9uczogU2NoZW1hcy5PcHRpb25hbChcbiAgICAgICAgICBTY2hlbWFzLkFycmF5KFxuICAgICAgICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICAgICAgICBpZDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkludCksXG4gICAgICAgICAgICAgIHR5cGU6IFNjaGVtYXMuRW51bVN0cmluZzxUcmlnZ2VyQ29uZGl0aW9uVHlwZT4oXG4gICAgICAgICAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUsXG4gICAgICAgICAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9TVEFURV9JUyxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgdmFsdWU6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgb3BlcmF0aW9uOiBTY2hlbWFzLk9wdGlvbmFsKFxuICAgICAgICAgIFNjaGVtYXMuRW51bVN0cmluZzxUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uPihcbiAgICAgICAgICAgIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24sXG4gICAgICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uLkFORCxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFxuICAgICAgICAgIFNjaGVtYXMuTWFwKHtcbiAgICAgICAgICAgIGlkOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgICAgICAgICAgIG5hbWU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgICBiYXNpY1ZpZXdJZDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgICB9KSxcbiAgICApLFxuICB9KTtcblxuICBjb25zdCBTdGF0ZXMgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuU1RBVEVTLCB7XG4gICAgaWQ6IFNjaGVtYXMuTnVtYmVyLFxuICAgIHZhbHVlOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgICBkZWZhdWx0VmFsdWU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgIGN1cnJlbnRWYWx1ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgcHJldmlvdXNWYWx1ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gIH0pO1xuXG4gIGNvbnN0IENvdW50ZXJCYXIgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuQ09VTlRFUl9CQVIsIHtcbiAgICBwcmltYXJ5Q29sb3I6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgIHNlY29uZGFyeUNvbG9yOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgICBtYXhWYWx1ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgfSk7XG5cbiAgY29uc3QgVmlkZW9TY3JlZW4gPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuVklERU9fU0NSRUVOLCB7XG4gICAgdGh1bWJuYWlsOiBTY2hlbWFzLlN0cmluZyxcbiAgICBkZWZhdWx0TWVkaWFTb3VyY2U6IFNjaGVtYXMuRW51bU51bWJlcjxNZWRpYVNvdXJjZT4oTWVkaWFTb3VyY2UsIE1lZGlhU291cmNlLlZpZGVvVVJMKSxcbiAgICBkZWZhdWx0VVJMOiBTY2hlbWFzLlN0cmluZyxcbiAgfSk7XG5cbiAgY29uc3QgQWRtaW5Ub29scyA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5BRE1JTl9UT09MUywge1xuICAgIGFkbWluUGVybWlzc2lvbnM6IFNjaGVtYXMuRW51bVN0cmluZzxBZG1pblBlcm1pc3Npb25zPihcbiAgICAgIEFkbWluUGVybWlzc2lvbnMsXG4gICAgICBBZG1pblBlcm1pc3Npb25zLlBVQkxJQyxcbiAgICApLFxuICAgIGF1dGhvcml6ZWRBZG1pblVzZXJzOiBTY2hlbWFzLk1hcCh7XG4gICAgICBtZTogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAgc2NlbmVPd25lcnM6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIGFsbG93TGlzdDogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAgYWRtaW5BbGxvd0xpc3Q6IFNjaGVtYXMuQXJyYXkoU2NoZW1hcy5TdHJpbmcpLFxuICAgIH0pLFxuICAgIG1vZGVyYXRpb25Db250cm9sOiBTY2hlbWFzLk1hcCh7XG4gICAgICBpc0VuYWJsZWQ6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIGtpY2tDb29yZGluYXRlczogU2NoZW1hcy5NYXAoe1xuICAgICAgICB4OiBTY2hlbWFzLk51bWJlcixcbiAgICAgICAgeTogU2NoZW1hcy5OdW1iZXIsXG4gICAgICAgIHo6IFNjaGVtYXMuTnVtYmVyLFxuICAgICAgfSksXG4gICAgICBhbGxvd05vbk93bmVyc01hbmFnZUFkbWluQWxsb3dMaXN0OiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgfSksXG4gICAgdGV4dEFubm91bmNlbWVudENvbnRyb2w6IFNjaGVtYXMuTWFwKHtcbiAgICAgIGlzRW5hYmxlZDogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAgcGxheVNvdW5kT25FYWNoQW5ub3VuY2VtZW50OiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBzaG93QXV0aG9yT25FYWNoQW5ub3VuY2VtZW50OiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgfSksXG4gICAgdmlkZW9Db250cm9sOiBTY2hlbWFzLk1hcCh7XG4gICAgICBpc0VuYWJsZWQ6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIGRpc2FibGVWaWRlb1BsYXllcnNTb3VuZDogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAgc2hvd0F1dGhvck9uVmlkZW9QbGF5ZXJzOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBsaW5rQWxsVmlkZW9QbGF5ZXJzOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICB2aWRlb1BsYXllcnM6IFNjaGVtYXMuT3B0aW9uYWwoXG4gICAgICAgIFNjaGVtYXMuQXJyYXkoXG4gICAgICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICAgICAgZW50aXR5OiBTY2hlbWFzLkludCxcbiAgICAgICAgICAgIGN1c3RvbU5hbWU6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICB9KSxcbiAgICBzbWFydEl0ZW1zQ29udHJvbDogU2NoZW1hcy5NYXAoe1xuICAgICAgaXNFbmFibGVkOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBsaW5rQWxsU21hcnRJdGVtczogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAgc21hcnRJdGVtczogU2NoZW1hcy5PcHRpb25hbChcbiAgICAgICAgU2NoZW1hcy5BcnJheShcbiAgICAgICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgICAgICBlbnRpdHk6IFNjaGVtYXMuSW50LFxuICAgICAgICAgICAgY3VzdG9tTmFtZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgICAgICBkZWZhdWx0QWN0aW9uOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgfSksXG4gICAgcmV3YXJkc0NvbnRyb2w6IFNjaGVtYXMuTWFwKHtcbiAgICAgIGlzRW5hYmxlZDogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAgcmV3YXJkSXRlbXM6IFNjaGVtYXMuT3B0aW9uYWwoXG4gICAgICAgIFNjaGVtYXMuQXJyYXkoXG4gICAgICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICAgICAgZW50aXR5OiBTY2hlbWFzLkludCxcbiAgICAgICAgICAgIGN1c3RvbU5hbWU6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICB9KSxcbiAgfSk7XG5cbiAgY29uc3QgUmV3YXJkcyA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5SRVdBUkRTLCB7XG4gICAgY2FtcGFpZ25JZDogU2NoZW1hcy5TdHJpbmcsXG4gICAgZGlzcGVuc2VyS2V5OiBTY2hlbWFzLlN0cmluZyxcbiAgICB0ZXN0TW9kZTogU2NoZW1hcy5Cb29sZWFuLFxuICB9KTtcblxuICBjb25zdCBUZXh0QW5ub3VuY2VtZW50cyA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5URVhUX0FOTk9VTkNFTUVOVFMsIHtcbiAgICB0ZXh0OiBTY2hlbWFzLlN0cmluZyxcbiAgICBhdXRob3I6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgIGlkOiBTY2hlbWFzLlN0cmluZyxcbiAgfSk7XG5cbiAgY29uc3QgVmlkZW9Db250cm9sU3RhdGUgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuVklERU9fQ09OVFJPTF9TVEFURSwge1xuICAgIGVuZHNBdDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkludDY0KSxcbiAgICAvKiogQGRlcHJlY2F0ZWQgc3RyZWFtS2V5IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uICovXG4gICAgc3RyZWFtS2V5OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgfSk7XG5cbiAgY29uc3QgU2NyaXB0ID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLlNDUklQVCwge1xuICAgIHZhbHVlOiBTY2hlbWFzLkFycmF5KFxuICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICBwYXRoOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAgcHJpb3JpdHk6IFNjaGVtYXMuTnVtYmVyLFxuICAgICAgICBsYXlvdXQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgICAgfSksXG4gICAgKSxcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBBY3Rpb25UeXBlcyxcbiAgICBBY3Rpb25zLFxuICAgIENvdW50ZXIsXG4gICAgVHJpZ2dlcnMsXG4gICAgU3RhdGVzLFxuICAgIENvdW50ZXJCYXIsXG4gICAgQWRtaW5Ub29scyxcbiAgICBSZXdhcmRzLFxuICAgIFRleHRBbm5vdW5jZW1lbnRzLFxuICAgIFZpZGVvQ29udHJvbFN0YXRlLFxuICAgIFZpZGVvU2NyZWVuLFxuICAgIFNjcmlwdCxcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgRW5naW5lQ29tcG9uZW50cyA9IHtcbiAgQW5pbWF0b3I6IEFuaW1hdG9yQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkO1xuICBUcmFuc2Zvcm06IFRyYW5zZm9ybUNvbXBvbmVudEV4dGVuZGVkO1xuICBBdWRpb1NvdXJjZTogQXVkaW9Tb3VyY2VDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQ7XG4gIEF2YXRhckF0dGFjaDogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJBdmF0YXJBdHRhY2g+O1xuICBWaXNpYmlsaXR5Q29tcG9uZW50OiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlZpc2liaWxpdHlDb21wb25lbnQ+O1xuICBHbHRmQ29udGFpbmVyOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQkdsdGZDb250YWluZXI+O1xuICBNYXRlcmlhbDogTWF0ZXJpYWxDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQ7XG4gIE1lc2hSZW5kZXJlcjogTWVzaFJlbmRlcmVyQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkO1xuICBWaWRlb1BsYXllcjogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJWaWRlb1BsYXllcj47XG4gIFVpVHJhbnNmb3JtOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlVpVHJhbnNmb3JtPjtcbiAgVWlUZXh0OiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlVpVGV4dD47XG4gIFVpQmFja2dyb3VuZDogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJVaUJhY2tncm91bmQ+O1xuICBVaUlucHV0OiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlVpSW5wdXQ+O1xuICBVaUlucHV0UmVzdWx0OiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlVpSW5wdXRSZXN1bHQ+O1xuICBVaUNhbnZhc0luZm9ybWF0aW9uOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlVpQ2FudmFzSW5mb3JtYXRpb24+O1xuICBCaWxsYm9hcmQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCQmlsbGJvYXJkPjtcbiAgTmFtZTogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248TmFtZVR5cGU+O1xuICBUd2VlbjogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJUd2Vlbj47XG4gIFR3ZWVuU2VxdWVuY2U6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVHdlZW5TZXF1ZW5jZT47XG4gIFBvaW50ZXJFdmVudHM6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCUG9pbnRlckV2ZW50cz47XG4gIE5ldHdvcmtFbnRpdHk6IHR5cGVvZiBOZXR3b3JrRW50aXR5O1xuICBTeW5jQ29tcG9uZW50czogdHlwZW9mIFN5bmNDb21wb25lbnRzO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRDb21wb25lbnRzKGVuZ2luZTogSUVuZ2luZSkge1xuICAvLyBBZGQgYWN0aW9ucyBmcm9tIHRoaXMgcGFja2FnZVxuICBjb25zdCBhY3Rpb25UeXBlcyA9IE9iamVjdC52YWx1ZXMoQWN0aW9uVHlwZSk7XG4gIGZvciAoY29uc3QgdHlwZSBvZiBhY3Rpb25UeXBlcykge1xuICAgIGNvbnN0IGFjdGlvblR5cGUgPSB0eXBlIGFzIEFjdGlvblR5cGU7XG4gICAgYWRkQWN0aW9uVHlwZShlbmdpbmUsIGFjdGlvblR5cGUsIEFjdGlvblNjaGVtYXNbYWN0aW9uVHlwZV0pO1xuICB9XG5cbiAgLy8gQWRkIGNvdW50ZXIgdG8gcm9vdCBlbnRpdHlcbiAgY29uc3QgQ291bnRlciA9IGVuZ2luZS5nZXRDb21wb25lbnQoXG4gICAgQ29tcG9uZW50TmFtZS5DT1VOVEVSLFxuICApIGFzIExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPENvdW50ZXI+O1xuICBjb25zdCBjb3VudGVyID0gQ291bnRlci5nZXRPckNyZWF0ZU11dGFibGUoZW5naW5lLlJvb3RFbnRpdHkpO1xuICBjb3VudGVyLnZhbHVlID0gY291bnRlci52YWx1ZSB8fCAwO1xuXG4gIGNvbnN0IHsgVmlkZW9QbGF5ZXIsIE1hdGVyaWFsIH0gPSBnZXRFeHBsb3JlckNvbXBvbmVudHMoZW5naW5lKTtcbiAgaW5pdFZpZGVvUGxheWVyQ29tcG9uZW50cyhlbmdpbmUsIHsgVmlkZW9QbGF5ZXIsIE1hdGVyaWFsIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRWaWRlb1RleHR1cmUoeyBtYXRlcmlhbCB9OiBQQk1hdGVyaWFsKTogVmlkZW9UZXh0dXJlIHwgdW5kZWZpbmVkIHtcbiAgaWYgKG1hdGVyaWFsPy4kY2FzZSA9PT0gJ3VubGl0JyAmJiBtYXRlcmlhbC51bmxpdC50ZXh0dXJlPy50ZXg/LiRjYXNlID09PSAndmlkZW9UZXh0dXJlJykge1xuICAgIHJldHVybiBtYXRlcmlhbC51bmxpdC50ZXh0dXJlLnRleC52aWRlb1RleHR1cmU7XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdFZpZGVvUGxheWVyQ29tcG9uZW50TWF0ZXJpYWwoXG4gIGVudGl0eTogRW50aXR5LFxuICB7IE1hdGVyaWFsIH06IFBpY2s8RW5naW5lQ29tcG9uZW50cywgJ01hdGVyaWFsJz4sXG4gIG1hdGVyaWFsPzogUEJNYXRlcmlhbCB8IG51bGwsXG4pIHtcbiAgaWYgKCFtYXRlcmlhbCB8fCAhbWF0ZXJpYWwubWF0ZXJpYWwgfHwgbWF0ZXJpYWwubWF0ZXJpYWwuJGNhc2UgIT09ICd1bmxpdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIE1hdGVyaWFsLnNldEJhc2ljTWF0ZXJpYWwoZW50aXR5LCB7XG4gICAgLi4ubWF0ZXJpYWwubWF0ZXJpYWwudW5saXQsXG4gICAgdGV4dHVyZTogTWF0ZXJpYWwuVGV4dHVyZS5WaWRlbyh7XG4gICAgICB2aWRlb1BsYXllckVudGl0eTogZW50aXR5LFxuICAgIH0pLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gaW5pdFZpZGVvUGxheWVyQ29tcG9uZW50cyhcbiAgZW5naW5lOiBJRW5naW5lLFxuICBjb21wb25lbnRzOiBQaWNrPEVuZ2luZUNvbXBvbmVudHMsICdNYXRlcmlhbCcgfCAnVmlkZW9QbGF5ZXInPixcbikge1xuICBmdW5jdGlvbiByZXBsYWNlVmlkZW9UZXh0dXJlKCkge1xuICAgIGNvbnN0IHsgTWF0ZXJpYWwsIFZpZGVvUGxheWVyIH0gPSBjb21wb25lbnRzO1xuICAgIGVuZ2luZS5yZW1vdmVTeXN0ZW0ocmVwbGFjZVZpZGVvVGV4dHVyZSk7XG4gICAgZm9yIChjb25zdCBbZW50aXR5LCBtYXRlcmlhbF0gb2YgZW5naW5lLmdldEVudGl0aWVzV2l0aChNYXRlcmlhbCwgVmlkZW9QbGF5ZXIpKSB7XG4gICAgICBjb25zdCB2aWRlb1RleHR1cmUgPSBnZXRWaWRlb1RleHR1cmUobWF0ZXJpYWwpO1xuICAgICAgaWYgKHZpZGVvVGV4dHVyZT8udmlkZW9QbGF5ZXJFbnRpdHkgPT09IGVuZ2luZS5Sb290RW50aXR5KSB7XG4gICAgICAgIGluaXRWaWRlb1BsYXllckNvbXBvbmVudE1hdGVyaWFsKGVudGl0eSwgY29tcG9uZW50cywgbWF0ZXJpYWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBlbmdpbmUuYWRkU3lzdGVtKHJlcGxhY2VWaWRlb1RleHR1cmUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uZGl0aW9uVHlwZXNCeUNvbXBvbmVudE5hbWUoY29tcG9uZW50TmFtZTogQ29tcG9uZW50TmFtZSkge1xuICBzd2l0Y2ggKGNvbXBvbmVudE5hbWUpIHtcbiAgICBjYXNlIENvbXBvbmVudE5hbWUuU1RBVEVTOiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1NUQVRFX0lTLFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1NUQVRFX0lTX05PVCxcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9QUkVWSU9VU19TVEFURV9JUyxcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9QUkVWSU9VU19TVEFURV9JU19OT1QsXG4gICAgICBdO1xuICAgIH1cbiAgICBjYXNlIENvbXBvbmVudE5hbWUuQ09VTlRFUjoge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9DT1VOVEVSX0VRVUFMUyxcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9DT1VOVEVSX0lTX0dSRUFURVJfVEhBTixcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9DT1VOVEVSX0lTX0xFU1NfVEhBTixcbiAgICAgIF07XG4gICAgfVxuICAgIGNhc2UgQ29tcG9uZW50TmFtZS5BQ1RJT05TOiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0RJU1RBTkNFX1RPX1BMQVlFUl9MRVNTX1RIQU4sXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fRElTVEFOQ0VfVE9fUExBWUVSX0dSRUFURVJfVEhBTixcbiAgICAgIF07XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgQ29tcG9uZW50cyA9IFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZUNvbXBvbmVudHM+O1xuXG5leHBvcnQgdHlwZSBBY3Rpb25UeXBlc0NvbXBvbmVudCA9IENvbXBvbmVudHNbJ0FjdGlvblR5cGVzJ107XG5leHBvcnQgdHlwZSBBY3Rpb25UeXBlcyA9IFJldHVyblR5cGU8QWN0aW9uVHlwZXNDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgQWN0aW9uc0NvbXBvbmVudCA9IENvbXBvbmVudHNbJ0FjdGlvbnMnXTtcbmV4cG9ydCB0eXBlIEFjdGlvbnMgPSBSZXR1cm5UeXBlPEFjdGlvbnNDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcbmV4cG9ydCB0eXBlIEFjdGlvbiA9IEFjdGlvbnNbJ3ZhbHVlJ11bMF07XG5cbmV4cG9ydCB0eXBlIENvdW50ZXJDb21wb25lbnQgPSBDb21wb25lbnRzWydDb3VudGVyJ107XG5leHBvcnQgdHlwZSBDb3VudGVyID0gUmV0dXJuVHlwZTxDb3VudGVyQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIENvdW50ZXJCYXJDb21wb25lbnQgPSBDb21wb25lbnRzWydDb3VudGVyQmFyJ107XG5leHBvcnQgdHlwZSBDb3VudGVyQmFyID0gUmV0dXJuVHlwZTxDb3VudGVyQmFyQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIFRyaWdnZXJzQ29tcG9uZW50ID0gQ29tcG9uZW50c1snVHJpZ2dlcnMnXTtcbmV4cG9ydCB0eXBlIFRyaWdnZXJzID0gUmV0dXJuVHlwZTxUcmlnZ2Vyc0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuZXhwb3J0IHR5cGUgVHJpZ2dlciA9IFRyaWdnZXJzWyd2YWx1ZSddWzBdO1xuZXhwb3J0IHR5cGUgVHJpZ2dlckFjdGlvbiA9IFRyaWdnZXJbJ2FjdGlvbnMnXVswXTtcbmV4cG9ydCB0eXBlIFRyaWdnZXJDb25kaXRpb24gPSBFeGNsdWRlPFRyaWdnZXJbJ2NvbmRpdGlvbnMnXSwgdW5kZWZpbmVkPlswXTtcblxuZXhwb3J0IHR5cGUgU3RhdGVzQ29tcG9uZW50ID0gQ29tcG9uZW50c1snU3RhdGVzJ107XG5leHBvcnQgdHlwZSBTdGF0ZXMgPSBSZXR1cm5UeXBlPFN0YXRlc0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBBZG1pblRvb2xzQ29tcG9uZW50ID0gQ29tcG9uZW50c1snQWRtaW5Ub29scyddO1xuZXhwb3J0IHR5cGUgQWRtaW5Ub29scyA9IFJldHVyblR5cGU8QWRtaW5Ub29sc0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBWaWRlb1NjcmVlbkNvbXBvbmVudCA9IENvbXBvbmVudHNbJ1ZpZGVvU2NyZWVuJ107XG5leHBvcnQgdHlwZSBWaWRlb1NjcmVlbiA9IFJldHVyblR5cGU8VmlkZW9TY3JlZW5Db21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgUmV3YXJkc0NvbXBvbmVudCA9IENvbXBvbmVudHNbJ1Jld2FyZHMnXTtcbmV4cG9ydCB0eXBlIFJld2FyZHMgPSBSZXR1cm5UeXBlPFJld2FyZHNDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgVGV4dEFubm91bmNlbWVudHNDb21wb25lbnQgPSBDb21wb25lbnRzWydUZXh0QW5ub3VuY2VtZW50cyddO1xuZXhwb3J0IHR5cGUgVGV4dEFubm91bmNlbWVudHMgPSBSZXR1cm5UeXBlPFRleHRBbm5vdW5jZW1lbnRzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIFZpZGVvQ29udHJvbFN0YXRlQ29tcG9uZW50ID0gQ29tcG9uZW50c1snVmlkZW9Db250cm9sU3RhdGUnXTtcbmV4cG9ydCB0eXBlIFZpZGVvQ29udHJvbFN0YXRlID0gUmV0dXJuVHlwZTxWaWRlb0NvbnRyb2xTdGF0ZUNvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBTY3JpcHRDb21wb25lbnQgPSBDb21wb25lbnRzWydTY3JpcHQnXTtcbmV4cG9ydCB0eXBlIFNjcmlwdCA9IFJldHVyblR5cGU8U2NyaXB0Q29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG4iXX0=
|
|
425
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0NBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxhQUFhLEVBQ2IsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsV0FBVyxFQUNYLG9CQUFvQixFQUNwQix5QkFBeUIsRUFDekIsU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEVBQ1QsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsbUJBQW1CLEdBQ3BCLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUNuRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDO0FBRXpDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxNQUFNLENBQUM7QUFDckIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxTQUFTLENBQUM7QUFFeEIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDdkMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxNQUFNO1FBQ3pCLElBQUksRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7S0FDeEMsQ0FBQztJQUNGLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFF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S0FBSyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMzQixPQUFPO2dCQUNMLG9CQUFvQixDQUFDLG1CQUFtQjtnQkFDeEMsb0JBQW9CLENBQUMsNEJBQTRCO2dCQUNqRCxvQkFBb0IsQ0FBQyx5QkFBeUI7YUFDL0MsQ0FBQztRQUNKLENBQUM7UUFDRCxLQUFLLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzNCLE9BQU87Z0JBQ0wsb0JBQW9CLENBQUMsaUNBQWlDO2dCQUN0RCxvQkFBb0IsQ0FBQyxvQ0FBb0M7YUFDMUQsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ1IsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEVudGl0eSxcbiAgSUVuZ2luZSxcbiAgSVNjaGVtYSxcbiAgTWF0ZXJpYWxDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQsXG4gIFBCTWF0ZXJpYWwsXG4gIFBCVmlkZW9QbGF5ZXIsXG4gIFBCTWFpbkNhbWVyYSxcbiAgUEJWaXJ0dWFsQ2FtZXJhLFxuICBWaWRlb1RleHR1cmUsXG4gIEFuaW1hdG9yQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkLFxuICBUcmFuc2Zvcm1Db21wb25lbnRFeHRlbmRlZCxcbiAgTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb24sXG4gIFBCQXZhdGFyQXR0YWNoLFxuICBQQlZpc2liaWxpdHlDb21wb25lbnQsXG4gIFBCR2x0ZkNvbnRhaW5lcixcbiAgUEJVaVRyYW5zZm9ybSxcbiAgUEJVaVRleHQsXG4gIFBCVGV4dFNoYXBlLFxuICBQQlVpQmFja2dyb3VuZCxcbiAgTWVzaFJlbmRlcmVyQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkLFxuICBQQkJpbGxib2FyZCxcbiAgTmFtZVR5cGUsXG4gIFBCVHdlZW4sXG4gIFBCVHdlZW5TZXF1ZW5jZSxcbiAgUEJQb2ludGVyRXZlbnRzLFxuICBQQkxpZ2h0U291cmNlLFxuICBOZXR3b3JrRW50aXR5LFxuICBTeW5jQ29tcG9uZW50cyxcbiAgQXVkaW9Tb3VyY2VDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQsXG4gIFBCVWlJbnB1dCxcbiAgUEJVaUlucHV0UmVzdWx0LFxuICBQQlVpQ2FudmFzSW5mb3JtYXRpb24sXG59IGZyb20gJ0BkY2wvZWNzJztcbmltcG9ydCB7IFNjaGVtYXMgfSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQgeyBhZGRBY3Rpb25UeXBlIH0gZnJvbSAnLi9hY3Rpb24tdHlwZXMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50TmFtZSxcbiAgVHdlZW5UeXBlLFxuICBJbnRlcnBvbGF0aW9uVHlwZSxcbiAgQWN0aW9uVHlwZSxcbiAgVHJpZ2dlclR5cGUsXG4gIFRyaWdnZXJDb25kaXRpb25UeXBlLFxuICBUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uLFxuICBBbGlnbk1vZGUsXG4gIEZvbnQsXG4gIENvbGxpZGVycyxcbiAgUHJveGltaXR5TGF5ZXIsXG4gIEFkbWluUGVybWlzc2lvbnMsXG4gIE1lZGlhU291cmNlLFxuICBUZXh0dXJlTW92ZW1lbnRUeXBlLFxufSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IGdldEV4cGxvcmVyQ29tcG9uZW50cyB9IGZyb20gJy4vY29tcG9uZW50cyc7XG5cbmV4cG9ydCBjb25zdCBMSVZFS0lUX1NUUkVBTV9TUkMgPSAnbGl2ZWtpdC12aWRlbzovL2N1cnJlbnQtc3RyZWFtJztcbmV4cG9ydCBjb25zdCBWSURFT19VUkxfVFlQRSA9ICdodHRwczovLyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZW51bXMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24tdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pZCc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL2Nsb25lJztcbmV4cG9ydCAqIGZyb20gJy4vbHd3JztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQWN0aW9uU2NoZW1hcyA9IHtcbiAgW0FjdGlvblR5cGUuUExBWV9BTklNQVRJT05dOiBTY2hlbWFzLk1hcCh7XG4gICAgYW5pbWF0aW9uOiBTY2hlbWFzLlN0cmluZyxcbiAgICBsb29wOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX0FOSU1BVElPTl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuU0VUX1NUQVRFXTogU2NoZW1hcy5NYXAoeyBzdGF0ZTogU2NoZW1hcy5TdHJpbmcgfSksXG4gIFtBY3Rpb25UeXBlLlNUQVJUX1RXRUVOXTogU2NoZW1hcy5NYXAoe1xuICAgIHR5cGU6IFNjaGVtYXMuRW51bVN0cmluZzxUd2VlblR5cGU+KFR3ZWVuVHlwZSwgVHdlZW5UeXBlLk1PVkVfSVRFTSksXG4gICAgZW5kOiBTY2hlbWFzLlZlY3RvcjMsXG4gICAgaW50ZXJwb2xhdGlvblR5cGU6IFNjaGVtYXMuRW51bVN0cmluZyhJbnRlcnBvbGF0aW9uVHlwZSwgSW50ZXJwb2xhdGlvblR5cGUuTElORUFSKSxcbiAgICBkdXJhdGlvbjogU2NoZW1hcy5GbG9hdCxcbiAgICByZWxhdGl2ZTogU2NoZW1hcy5Cb29sZWFuLFxuICAgIC8vIEZvciBLRUVQX1JPVEFUSU5HX0lURU1cbiAgICBkaXJlY3Rpb246IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5WZWN0b3IzKSxcbiAgICBzcGVlZDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNFVF9DT1VOVEVSXTogU2NoZW1hcy5NYXAoeyBjb3VudGVyOiBTY2hlbWFzLkludCB9KSxcbiAgW0FjdGlvblR5cGUuSU5DUkVNRU5UX0NPVU5URVJdOiBTY2hlbWFzLk1hcCh7XG4gICAgYW1vdW50OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkRFQ1JFQVNFX0NPVU5URVJdOiBTY2hlbWFzLk1hcCh7XG4gICAgYW1vdW50OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlBMQVlfU09VTkRdOiBTY2hlbWFzLk1hcCh7XG4gICAgc3JjOiBTY2hlbWFzLlN0cmluZyxcbiAgICBsb29wOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gICAgdm9sdW1lOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICAgIGdsb2JhbDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9TT1VORF06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuU0VUX1ZJU0lCSUxJVFldOiBTY2hlbWFzLk1hcCh7XG4gICAgdmlzaWJsZTogU2NoZW1hcy5Cb29sZWFuLFxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgY29sbGlkZXIgaW5zdGVhZCAqL1xuICAgIHBoeXNpY3NDb2xsaWRlcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICAgIGNvbGxpZGVyOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRW51bU51bWJlcihDb2xsaWRlcnMsIENvbGxpZGVycy5DTF9QT0lOVEVSKSksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5BVFRBQ0hfVE9fUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIGFuY2hvclBvaW50SWQ6IFNjaGVtYXMuSW50LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuREVUQUNIX0ZST01fUExBWUVSXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5QTEFZX1ZJREVPX1NUUkVBTV06IFNjaGVtYXMuTWFwKHtcbiAgICBzcmM6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgIGxvb3A6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgICB2b2x1bWU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgZGNsQ2FzdDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9WSURFT19TVFJFQU1dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlBMQVlfQVVESU9fU1RSRUFNXTogU2NoZW1hcy5NYXAoe1xuICAgIHVybDogU2NoZW1hcy5TdHJpbmcsXG4gICAgdm9sdW1lOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9BVURJT19TVFJFQU1dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlRFTEVQT1JUX1BMQVlFUl06IFNjaGVtYXMuTWFwKHtcbiAgICB4OiBTY2hlbWFzLkludCxcbiAgICB5OiBTY2hlbWFzLkludCxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLk1PVkVfUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIHBvc2l0aW9uOiBTY2hlbWFzLlZlY3RvcjMsXG4gICAgY2FtZXJhVGFyZ2V0OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuVmVjdG9yMyksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5QTEFZX0RFRkFVTFRfRU1PVEVdOiBTY2hlbWFzLk1hcCh7XG4gICAgZW1vdGU6IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuUExBWV9DVVNUT01fRU1PVEVdOiBTY2hlbWFzLk1hcCh7XG4gICAgc3JjOiBTY2hlbWFzLlN0cmluZyxcbiAgICBsb29wOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5PUEVOX0xJTktdOiBTY2hlbWFzLk1hcCh7XG4gICAgdXJsOiBTY2hlbWFzLlN0cmluZyxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNIT1dfVEVYVF06IFNjaGVtYXMuTWFwKHtcbiAgICB0ZXh0OiBTY2hlbWFzLlN0cmluZyxcbiAgICBoaWRlQWZ0ZXJTZWNvbmRzOiBTY2hlbWFzLkZsb2F0LFxuICAgIGZvbnQ6IFNjaGVtYXMuRW51bU51bWJlcihGb250LCBGb250LkZfU0FOU19TRVJJRiksXG4gICAgZm9udFNpemU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgdGV4dEFsaWduOiBTY2hlbWFzLkVudW1OdW1iZXIoQWxpZ25Nb2RlLCBBbGlnbk1vZGUuVEFNX01JRERMRV9DRU5URVIpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuSElERV9URVhUXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TVEFSVF9ERUxBWV06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgICB0aW1lb3V0OiBTY2hlbWFzLkZsb2F0LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9ERUxBWV06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb246IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RBUlRfTE9PUF06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgICBpbnRlcnZhbDogU2NoZW1hcy5GbG9hdCxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfTE9PUF06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb246IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuQ0xPTkVfRU5USVRZXTogU2NoZW1hcy5NYXAoe1xuICAgIHBvc2l0aW9uOiBTY2hlbWFzLlZlY3RvcjMsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5SRU1PVkVfRU5USVRZXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TSE9XX0lNQUdFXTogU2NoZW1hcy5NYXAoe1xuICAgIHNyYzogU2NoZW1hcy5TdHJpbmcsXG4gICAgYWxpZ246IFNjaGVtYXMuRW51bU51bWJlcihBbGlnbk1vZGUsIEFsaWduTW9kZS5UQU1fTUlERExFX0NFTlRFUiksXG4gICAgaGVpZ2h0OiBTY2hlbWFzLkZsb2F0LFxuICAgIHdpZHRoOiBTY2hlbWFzLkZsb2F0LFxuICAgIGhpZGVBZnRlclNlY29uZHM6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgdGV4dDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgZm9udFNpemU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5ISURFX0lNQUdFXTogU2NoZW1hcy5NYXAoe1xuICAgIGltYWdlRW50aXR5OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkRBTUFHRV06IFNjaGVtYXMuTWFwKHtcbiAgICByYWRpdXM6IFNjaGVtYXMuRmxvYXQsXG4gICAgbGF5ZXI6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5FbnVtU3RyaW5nKFByb3hpbWl0eUxheWVyLCBQcm94aW1pdHlMYXllci5BTEwpKSxcbiAgICBoaXRzOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLk1PVkVfUExBWUVSX0hFUkVdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlBMQUNFX09OX1BMQVlFUl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUk9UQVRFX0FTX1BMQVlFUl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUExBQ0VfT05fQ0FNRVJBXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5ST1RBVEVfQVNfQ0FNRVJBXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TRVRfUE9TSVRJT05dOiBTY2hlbWFzLk1hcCh7XG4gICAgeDogU2NoZW1hcy5GbG9hdCxcbiAgICB5OiBTY2hlbWFzLkZsb2F0LFxuICAgIHo6IFNjaGVtYXMuRmxvYXQsXG4gICAgcmVsYXRpdmU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNFVF9ST1RBVElPTl06IFNjaGVtYXMuTWFwKHtcbiAgICB4OiBTY2hlbWFzLkZsb2F0LFxuICAgIHk6IFNjaGVtYXMuRmxvYXQsXG4gICAgejogU2NoZW1hcy5GbG9hdCxcbiAgICByZWxhdGl2ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU0VUX1NDQUxFXTogU2NoZW1hcy5NYXAoe1xuICAgIHg6IFNjaGVtYXMuRmxvYXQsXG4gICAgeTogU2NoZW1hcy5GbG9hdCxcbiAgICB6OiBTY2hlbWFzLkZsb2F0LFxuICAgIHJlbGF0aXZlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5GT0xMT1dfUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIHNwZWVkOiBTY2hlbWFzLkZsb2F0LFxuICAgIHg6IFNjaGVtYXMuQm9vbGVhbixcbiAgICB5OiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgejogU2NoZW1hcy5Cb29sZWFuLFxuICAgIG1pbkRpc3RhbmNlOiBTY2hlbWFzLkZsb2F0LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9GT0xMT1dJTkdfUExBWUVSXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5SQU5ET01dOiBTY2hlbWFzLk1hcCh7XG4gICAgYWN0aW9uczogU2NoZW1hcy5BcnJheShTY2hlbWFzLlN0cmluZyksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5CQVRDSF06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkhFQUxfUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIG11bHRpcGxpZXI6IFNjaGVtYXMuSW50LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuQ0xBSU1fQUlSRFJPUF06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuTElHSFRTX09OXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5MSUdIVFNfT0ZGXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5MSUdIVFNfTU9ESUZZXTogU2NoZW1hcy5NYXAoe1xuICAgIGFjdGl2ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICAgIGNvbG9yOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQ29sb3IzKSxcbiAgICBpbnRlbnNpdHk6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5DSEFOR0VfQ0FNRVJBXTogU2NoZW1hcy5NYXAoe1xuICAgIC8qKiBJZiB1bmRlZmluZWQgb3IgMCwgdHJlYXRlZCBhcyBOT05FICovXG4gICAgdmlydHVhbENhbWVyYUVudGl0eTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkVudGl0eSksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5DSEFOR0VfVEVYVF06IFNjaGVtYXMuTWFwKHtcbiAgICB0ZXh0OiBTY2hlbWFzLlN0cmluZyxcbiAgICBmb250U2l6ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgICBjb2xvcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkNvbG9yNCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX1RXRUVOXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TTElERV9URVhUVVJFXTogU2NoZW1hcy5NYXAoe1xuICAgIGRpcmVjdGlvbjogU2NoZW1hcy5NYXAoeyB4OiBTY2hlbWFzLkZsb2F0LCB5OiBTY2hlbWFzLkZsb2F0IH0pLFxuICAgIHNwZWVkOiBTY2hlbWFzLkZsb2F0LFxuICAgIG1vdmVtZW50VHlwZTogU2NoZW1hcy5PcHRpb25hbChcbiAgICAgIFNjaGVtYXMuRW51bU51bWJlcihUZXh0dXJlTW92ZW1lbnRUeXBlLCBUZXh0dXJlTW92ZW1lbnRUeXBlLlRNVF9PRkZTRVQpLFxuICAgICksXG4gICAgZHVyYXRpb246IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxufTtcblxuZXhwb3J0IHR5cGUgQWN0aW9uUGF5bG9hZDxUIGV4dGVuZHMgQWN0aW9uVHlwZSA9IGFueT4gPSBUIGV4dGVuZHMga2V5b2YgdHlwZW9mIEFjdGlvblNjaGVtYXNcbiAgPyAodHlwZW9mIEFjdGlvblNjaGVtYXMpW1RdIGV4dGVuZHMgSVNjaGVtYVxuICAgID8gUmV0dXJuVHlwZTwodHlwZW9mIEFjdGlvblNjaGVtYXMpW1RdWydkZXNlcmlhbGl6ZSddPlxuICAgIDogUmVjb3JkPHN0cmluZywgbmV2ZXI+XG4gIDogUmVjb3JkPHN0cmluZywgbmV2ZXI+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29tcG9uZW50PFQ+KGNvbXBvbmVudE5hbWU6IHN0cmluZywgZW5naW5lOiBJRW5naW5lKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGVuZ2luZS5nZXRDb21wb25lbnQoY29tcG9uZW50TmFtZSkgYXMgTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248VD47XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihgRXJyb3IgdXNpbmcgZ2V0Q29tcG9uZW50IHdpdGggY29tcG9uZW50TmFtZT1cIiR7Y29tcG9uZW50TmFtZX1cImApO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb21wb25lbnRzKGVuZ2luZTogSUVuZ2luZSkge1xuICByZXR1cm4ge1xuICAgIEFjdGlvbnM6IGdldENvbXBvbmVudDxBY3Rpb25zPihDb21wb25lbnROYW1lLkFDVElPTlMsIGVuZ2luZSksXG4gICAgU3RhdGVzOiBnZXRDb21wb25lbnQ8U3RhdGVzPihDb21wb25lbnROYW1lLlNUQVRFUywgZW5naW5lKSxcbiAgICBDb3VudGVyOiBnZXRDb21wb25lbnQ8Q291bnRlcj4oQ29tcG9uZW50TmFtZS5DT1VOVEVSLCBlbmdpbmUpLFxuICAgIFRyaWdnZXJzOiBnZXRDb21wb25lbnQ8VHJpZ2dlcnM+KENvbXBvbmVudE5hbWUuVFJJR0dFUlMsIGVuZ2luZSksXG4gICAgQ291bnRlckJhcjogZ2V0Q29tcG9uZW50PENvdW50ZXJCYXI+KENvbXBvbmVudE5hbWUuQ09VTlRFUl9CQVIsIGVuZ2luZSksXG4gICAgQWRtaW5Ub29sczogZ2V0Q29tcG9uZW50PEFkbWluVG9vbHM+KENvbXBvbmVudE5hbWUuQURNSU5fVE9PTFMsIGVuZ2luZSksXG4gICAgVmlkZW9TY3JlZW46IGdldENvbXBvbmVudDxWaWRlb1NjcmVlbj4oQ29tcG9uZW50TmFtZS5WSURFT19TQ1JFRU4sIGVuZ2luZSksXG4gICAgUmV3YXJkczogZ2V0Q29tcG9uZW50PFJld2FyZHM+KENvbXBvbmVudE5hbWUuUkVXQVJEUywgZW5naW5lKSxcbiAgICBUZXh0QW5ub3VuY2VtZW50czogZ2V0Q29tcG9uZW50PFRleHRBbm5vdW5jZW1lbnRzPihDb21wb25lbnROYW1lLlRFWFRfQU5OT1VOQ0VNRU5UUywgZW5naW5lKSxcbiAgICBWaWRlb0NvbnRyb2xTdGF0ZTogZ2V0Q29tcG9uZW50PFZpZGVvQ29udHJvbFN0YXRlPihDb21wb25lbnROYW1lLlZJREVPX0NPTlRST0xfU1RBVEUsIGVuZ2luZSksXG4gICAgU2NyaXB0OiBnZXRDb21wb25lbnQ8U2NyaXB0PihDb21wb25lbnROYW1lLlNDUklQVCwgZW5naW5lKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudHMoZW5naW5lOiBJRW5naW5lKSB7XG4gIGNvbnN0IEFjdGlvblR5cGVzID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLkFDVElPTl9UWVBFUywge1xuICAgIHZhbHVlOiBTY2hlbWFzLkFycmF5KFxuICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICB0eXBlOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAganNvblNjaGVtYTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICB9KSxcbiAgICApLFxuICB9KTtcblxuICBjb25zdCBBY3Rpb25zID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLkFDVElPTlMsIHtcbiAgICBpZDogU2NoZW1hcy5JbnQsXG4gICAgdmFsdWU6IFNjaGVtYXMuQXJyYXkoXG4gICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgIG5hbWU6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICB0eXBlOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAganNvblBheWxvYWQ6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICBhbGxvd2VkSW5CYXNpY1ZpZXc6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgICAgICAgYmFzaWNWaWV3SWQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgICAgICBkZWZhdWx0OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gICAgICB9KSxcbiAgICApLFxuICB9KTtcblxuICBjb25zdCBDb3VudGVyID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLkNPVU5URVIsIHtcbiAgICBpZDogU2NoZW1hcy5OdW1iZXIsXG4gICAgdmFsdWU6IFNjaGVtYXMuSW50LFxuICB9KTtcblxuICBjb25zdCBUcmlnZ2VycyA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5UUklHR0VSUywge1xuICAgIHZhbHVlOiBTY2hlbWFzLkFycmF5KFxuICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICB0eXBlOiBTY2hlbWFzLkVudW1TdHJpbmc8VHJpZ2dlclR5cGU+KFRyaWdnZXJUeXBlLCBUcmlnZ2VyVHlwZS5PTl9JTlBVVF9BQ1RJT04pLFxuICAgICAgICBjb25kaXRpb25zOiBTY2hlbWFzLk9wdGlvbmFsKFxuICAgICAgICAgIFNjaGVtYXMuQXJyYXkoXG4gICAgICAgICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgICAgICAgIGlkOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgICAgICAgICAgICAgdHlwZTogU2NoZW1hcy5FbnVtU3RyaW5nPFRyaWdnZXJDb25kaXRpb25UeXBlPihcbiAgICAgICAgICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZSxcbiAgICAgICAgICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1NUQVRFX0lTLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB2YWx1ZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBvcGVyYXRpb246IFNjaGVtYXMuT3B0aW9uYWwoXG4gICAgICAgICAgU2NoZW1hcy5FbnVtU3RyaW5nPFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24+KFxuICAgICAgICAgICAgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbixcbiAgICAgICAgICAgIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24uQU5ELFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIGFjdGlvbnM6IFNjaGVtYXMuQXJyYXkoXG4gICAgICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICAgICAgaWQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICAgICAgICAgICAgbmFtZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICAgIGJhc2ljVmlld0lkOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgICAgIH0pLFxuICAgICksXG4gIH0pO1xuXG4gIGNvbnN0IFN0YXRlcyA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5TVEFURVMsIHtcbiAgICBpZDogU2NoZW1hcy5OdW1iZXIsXG4gICAgdmFsdWU6IFNjaGVtYXMuQXJyYXkoU2NoZW1hcy5TdHJpbmcpLFxuICAgIGRlZmF1bHRWYWx1ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgY3VycmVudFZhbHVlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgICBwcmV2aW91c1ZhbHVlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgfSk7XG5cbiAgY29uc3QgQ291bnRlckJhciA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5DT1VOVEVSX0JBUiwge1xuICAgIHByaW1hcnlDb2xvcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgc2Vjb25kYXJ5Q29sb3I6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgIG1heFZhbHVlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICB9KTtcblxuICBjb25zdCBWaWRlb1NjcmVlbiA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5WSURFT19TQ1JFRU4sIHtcbiAgICB0aHVtYm5haWw6IFNjaGVtYXMuU3RyaW5nLFxuICAgIGRlZmF1bHRNZWRpYVNvdXJjZTogU2NoZW1hcy5FbnVtTnVtYmVyPE1lZGlhU291cmNlPihNZWRpYVNvdXJjZSwgTWVkaWFTb3VyY2UuVmlkZW9VUkwpLFxuICAgIGRlZmF1bHRVUkw6IFNjaGVtYXMuU3RyaW5nLFxuICB9KTtcblxuICBjb25zdCBBZG1pblRvb2xzID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLkFETUlOX1RPT0xTLCB7XG4gICAgYWRtaW5QZXJtaXNzaW9uczogU2NoZW1hcy5FbnVtU3RyaW5nPEFkbWluUGVybWlzc2lvbnM+KFxuICAgICAgQWRtaW5QZXJtaXNzaW9ucyxcbiAgICAgIEFkbWluUGVybWlzc2lvbnMuUFVCTElDLFxuICAgICksXG4gICAgYXV0aG9yaXplZEFkbWluVXNlcnM6IFNjaGVtYXMuTWFwKHtcbiAgICAgIG1lOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBzY2VuZU93bmVyczogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAgYWxsb3dMaXN0OiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBhZG1pbkFsbG93TGlzdDogU2NoZW1hcy5BcnJheShTY2hlbWFzLlN0cmluZyksXG4gICAgfSksXG4gICAgbW9kZXJhdGlvbkNvbnRyb2w6IFNjaGVtYXMuTWFwKHtcbiAgICAgIGlzRW5hYmxlZDogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAga2lja0Nvb3JkaW5hdGVzOiBTY2hlbWFzLk1hcCh7XG4gICAgICAgIHg6IFNjaGVtYXMuTnVtYmVyLFxuICAgICAgICB5OiBTY2hlbWFzLk51bWJlcixcbiAgICAgICAgejogU2NoZW1hcy5OdW1iZXIsXG4gICAgICB9KSxcbiAgICAgIGFsbG93Tm9uT3duZXJzTWFuYWdlQWRtaW5BbGxvd0xpc3Q6IFNjaGVtYXMuQm9vbGVhbixcbiAgICB9KSxcbiAgICB0ZXh0QW5ub3VuY2VtZW50Q29udHJvbDogU2NoZW1hcy5NYXAoe1xuICAgICAgaXNFbmFibGVkOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBwbGF5U291bmRPbkVhY2hBbm5vdW5jZW1lbnQ6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIHNob3dBdXRob3JPbkVhY2hBbm5vdW5jZW1lbnQ6IFNjaGVtYXMuQm9vbGVhbixcbiAgICB9KSxcbiAgICB2aWRlb0NvbnRyb2w6IFNjaGVtYXMuTWFwKHtcbiAgICAgIGlzRW5hYmxlZDogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAgZGlzYWJsZVZpZGVvUGxheWVyc1NvdW5kOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBzaG93QXV0aG9yT25WaWRlb1BsYXllcnM6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIGxpbmtBbGxWaWRlb1BsYXllcnM6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIHZpZGVvUGxheWVyczogU2NoZW1hcy5PcHRpb25hbChcbiAgICAgICAgU2NoZW1hcy5BcnJheShcbiAgICAgICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgICAgICBlbnRpdHk6IFNjaGVtYXMuSW50LFxuICAgICAgICAgICAgY3VzdG9tTmFtZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIH0pLFxuICAgIHNtYXJ0SXRlbXNDb250cm9sOiBTY2hlbWFzLk1hcCh7XG4gICAgICBpc0VuYWJsZWQ6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIGxpbmtBbGxTbWFydEl0ZW1zOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBzbWFydEl0ZW1zOiBTY2hlbWFzLk9wdGlvbmFsKFxuICAgICAgICBTY2hlbWFzLkFycmF5KFxuICAgICAgICAgIFNjaGVtYXMuTWFwKHtcbiAgICAgICAgICAgIGVudGl0eTogU2NoZW1hcy5JbnQsXG4gICAgICAgICAgICBjdXN0b21OYW1lOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHRBY3Rpb246IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICB9KSxcbiAgICByZXdhcmRzQ29udHJvbDogU2NoZW1hcy5NYXAoe1xuICAgICAgaXNFbmFibGVkOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICByZXdhcmRJdGVtczogU2NoZW1hcy5PcHRpb25hbChcbiAgICAgICAgU2NoZW1hcy5BcnJheShcbiAgICAgICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgICAgICBlbnRpdHk6IFNjaGVtYXMuSW50LFxuICAgICAgICAgICAgY3VzdG9tTmFtZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIH0pLFxuICB9KTtcblxuICBjb25zdCBSZXdhcmRzID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLlJFV0FSRFMsIHtcbiAgICBjYW1wYWlnbklkOiBTY2hlbWFzLlN0cmluZyxcbiAgICBkaXNwZW5zZXJLZXk6IFNjaGVtYXMuU3RyaW5nLFxuICAgIHRlc3RNb2RlOiBTY2hlbWFzLkJvb2xlYW4sXG4gIH0pO1xuXG4gIGNvbnN0IFRleHRBbm5vdW5jZW1lbnRzID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLlRFWFRfQU5OT1VOQ0VNRU5UUywge1xuICAgIHRleHQ6IFNjaGVtYXMuU3RyaW5nLFxuICAgIGF1dGhvcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgaWQ6IFNjaGVtYXMuU3RyaW5nLFxuICB9KTtcblxuICBjb25zdCBWaWRlb0NvbnRyb2xTdGF0ZSA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5WSURFT19DT05UUk9MX1NUQVRFLCB7XG4gICAgZW5kc0F0OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50NjQpLFxuICAgIC8qKiBAZGVwcmVjYXRlZCBzdHJlYW1LZXkgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24gKi9cbiAgICBzdHJlYW1LZXk6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICB9KTtcblxuICBjb25zdCBTY3JpcHQgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuU0NSSVBULCB7XG4gICAgdmFsdWU6IFNjaGVtYXMuQXJyYXkoXG4gICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgIHBhdGg6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICBwcmlvcml0eTogU2NoZW1hcy5OdW1iZXIsXG4gICAgICAgIGxheW91dDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgICB9KSxcbiAgICApLFxuICB9KTtcblxuICByZXR1cm4ge1xuICAgIEFjdGlvblR5cGVzLFxuICAgIEFjdGlvbnMsXG4gICAgQ291bnRlcixcbiAgICBUcmlnZ2VycyxcbiAgICBTdGF0ZXMsXG4gICAgQ291bnRlckJhcixcbiAgICBBZG1pblRvb2xzLFxuICAgIFJld2FyZHMsXG4gICAgVGV4dEFubm91bmNlbWVudHMsXG4gICAgVmlkZW9Db250cm9sU3RhdGUsXG4gICAgVmlkZW9TY3JlZW4sXG4gICAgU2NyaXB0LFxuICB9O1xufVxuXG5leHBvcnQgdHlwZSBFbmdpbmVDb21wb25lbnRzID0ge1xuICBBbmltYXRvcjogQW5pbWF0b3JDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQ7XG4gIFRyYW5zZm9ybTogVHJhbnNmb3JtQ29tcG9uZW50RXh0ZW5kZWQ7XG4gIEF1ZGlvU291cmNlOiBBdWRpb1NvdXJjZUNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZDtcbiAgQXZhdGFyQXR0YWNoOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQkF2YXRhckF0dGFjaD47XG4gIFZpc2liaWxpdHlDb21wb25lbnQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVmlzaWJpbGl0eUNvbXBvbmVudD47XG4gIEdsdGZDb250YWluZXI6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCR2x0ZkNvbnRhaW5lcj47XG4gIE1hdGVyaWFsOiBNYXRlcmlhbENvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZDtcbiAgTWVzaFJlbmRlcmVyOiBNZXNoUmVuZGVyZXJDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQ7XG4gIFZpZGVvUGxheWVyOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlZpZGVvUGxheWVyPjtcbiAgTGlnaHRTb3VyY2U6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCTGlnaHRTb3VyY2U+O1xuICBWaXJ0dWFsQ2FtZXJhOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlZpcnR1YWxDYW1lcmE+O1xuICBNYWluQ2FtZXJhOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQk1haW5DYW1lcmE+O1xuICBUZXh0U2hhcGU6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVGV4dFNoYXBlPjtcbiAgVWlUcmFuc2Zvcm06IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlUcmFuc2Zvcm0+O1xuICBVaVRleHQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlUZXh0PjtcbiAgVWlCYWNrZ3JvdW5kOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlVpQmFja2dyb3VuZD47XG4gIFVpSW5wdXQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlJbnB1dD47XG4gIFVpSW5wdXRSZXN1bHQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlJbnB1dFJlc3VsdD47XG4gIFVpQ2FudmFzSW5mb3JtYXRpb246IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlDYW52YXNJbmZvcm1hdGlvbj47XG4gIEJpbGxib2FyZDogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJCaWxsYm9hcmQ+O1xuICBOYW1lOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxOYW1lVHlwZT47XG4gIFR3ZWVuOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlR3ZWVuPjtcbiAgVHdlZW5TZXF1ZW5jZTogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJUd2VlblNlcXVlbmNlPjtcbiAgUG9pbnRlckV2ZW50czogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJQb2ludGVyRXZlbnRzPjtcbiAgTmV0d29ya0VudGl0eTogdHlwZW9mIE5ldHdvcmtFbnRpdHk7XG4gIFN5bmNDb21wb25lbnRzOiB0eXBlb2YgU3luY0NvbXBvbmVudHM7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaW5pdENvbXBvbmVudHMoZW5naW5lOiBJRW5naW5lKSB7XG4gIC8vIEFkZCBhY3Rpb25zIGZyb20gdGhpcyBwYWNrYWdlXG4gIGNvbnN0IGFjdGlvblR5cGVzID0gT2JqZWN0LnZhbHVlcyhBY3Rpb25UeXBlKTtcbiAgZm9yIChjb25zdCB0eXBlIG9mIGFjdGlvblR5cGVzKSB7XG4gICAgY29uc3QgYWN0aW9uVHlwZSA9IHR5cGUgYXMgQWN0aW9uVHlwZTtcbiAgICBhZGRBY3Rpb25UeXBlKGVuZ2luZSwgYWN0aW9uVHlwZSwgQWN0aW9uU2NoZW1hc1thY3Rpb25UeXBlXSk7XG4gIH1cblxuICAvLyBBZGQgY291bnRlciB0byByb290IGVudGl0eVxuICBjb25zdCBDb3VudGVyID0gZW5naW5lLmdldENvbXBvbmVudChcbiAgICBDb21wb25lbnROYW1lLkNPVU5URVIsXG4gICkgYXMgTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248Q291bnRlcj47XG4gIGNvbnN0IGNvdW50ZXIgPSBDb3VudGVyLmdldE9yQ3JlYXRlTXV0YWJsZShlbmdpbmUuUm9vdEVudGl0eSk7XG4gIGNvdW50ZXIudmFsdWUgPSBjb3VudGVyLnZhbHVlIHx8IDA7XG5cbiAgY29uc3QgeyBWaWRlb1BsYXllciwgTWF0ZXJpYWwgfSA9IGdldEV4cGxvcmVyQ29tcG9uZW50cyhlbmdpbmUpO1xuICBpbml0VmlkZW9QbGF5ZXJDb21wb25lbnRzKGVuZ2luZSwgeyBWaWRlb1BsYXllciwgTWF0ZXJpYWwgfSk7XG59XG5cbmZ1bmN0aW9uIGdldFZpZGVvVGV4dHVyZSh7IG1hdGVyaWFsIH06IFBCTWF0ZXJpYWwpOiBWaWRlb1RleHR1cmUgfCB1bmRlZmluZWQge1xuICBpZiAobWF0ZXJpYWw/LiRjYXNlID09PSAndW5saXQnICYmIG1hdGVyaWFsLnVubGl0LnRleHR1cmU/LnRleD8uJGNhc2UgPT09ICd2aWRlb1RleHR1cmUnKSB7XG4gICAgcmV0dXJuIG1hdGVyaWFsLnVubGl0LnRleHR1cmUudGV4LnZpZGVvVGV4dHVyZTtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0VmlkZW9QbGF5ZXJDb21wb25lbnRNYXRlcmlhbChcbiAgZW50aXR5OiBFbnRpdHksXG4gIHsgTWF0ZXJpYWwgfTogUGljazxFbmdpbmVDb21wb25lbnRzLCAnTWF0ZXJpYWwnPixcbiAgbWF0ZXJpYWw/OiBQQk1hdGVyaWFsIHwgbnVsbCxcbikge1xuICBpZiAoIW1hdGVyaWFsIHx8ICFtYXRlcmlhbC5tYXRlcmlhbCB8fCBtYXRlcmlhbC5tYXRlcmlhbC4kY2FzZSAhPT0gJ3VubGl0Jykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgTWF0ZXJpYWwuc2V0QmFzaWNNYXRlcmlhbChlbnRpdHksIHtcbiAgICAuLi5tYXRlcmlhbC5tYXRlcmlhbC51bmxpdCxcbiAgICB0ZXh0dXJlOiBNYXRlcmlhbC5UZXh0dXJlLlZpZGVvKHtcbiAgICAgIHZpZGVvUGxheWVyRW50aXR5OiBlbnRpdHksXG4gICAgfSksXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBpbml0VmlkZW9QbGF5ZXJDb21wb25lbnRzKFxuICBlbmdpbmU6IElFbmdpbmUsXG4gIGNvbXBvbmVudHM6IFBpY2s8RW5naW5lQ29tcG9uZW50cywgJ01hdGVyaWFsJyB8ICdWaWRlb1BsYXllcic+LFxuKSB7XG4gIGZ1bmN0aW9uIHJlcGxhY2VWaWRlb1RleHR1cmUoKSB7XG4gICAgY29uc3QgeyBNYXRlcmlhbCwgVmlkZW9QbGF5ZXIgfSA9IGNvbXBvbmVudHM7XG4gICAgZW5naW5lLnJlbW92ZVN5c3RlbShyZXBsYWNlVmlkZW9UZXh0dXJlKTtcbiAgICBmb3IgKGNvbnN0IFtlbnRpdHksIG1hdGVyaWFsXSBvZiBlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKE1hdGVyaWFsLCBWaWRlb1BsYXllcikpIHtcbiAgICAgIGNvbnN0IHZpZGVvVGV4dHVyZSA9IGdldFZpZGVvVGV4dHVyZShtYXRlcmlhbCk7XG4gICAgICBpZiAodmlkZW9UZXh0dXJlPy52aWRlb1BsYXllckVudGl0eSA9PT0gZW5naW5lLlJvb3RFbnRpdHkpIHtcbiAgICAgICAgaW5pdFZpZGVvUGxheWVyQ29tcG9uZW50TWF0ZXJpYWwoZW50aXR5LCBjb21wb25lbnRzLCBtYXRlcmlhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGVuZ2luZS5hZGRTeXN0ZW0ocmVwbGFjZVZpZGVvVGV4dHVyZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25kaXRpb25UeXBlc0J5Q29tcG9uZW50TmFtZShjb21wb25lbnROYW1lOiBDb21wb25lbnROYW1lKSB7XG4gIHN3aXRjaCAoY29tcG9uZW50TmFtZSkge1xuICAgIGNhc2UgQ29tcG9uZW50TmFtZS5TVEFURVM6IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fU1RBVEVfSVMsXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fU1RBVEVfSVNfTk9ULFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1BSRVZJT1VTX1NUQVRFX0lTLFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1BSRVZJT1VTX1NUQVRFX0lTX05PVCxcbiAgICAgIF07XG4gICAgfVxuICAgIGNhc2UgQ29tcG9uZW50TmFtZS5DT1VOVEVSOiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0NPVU5URVJfRVFVQUxTLFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0NPVU5URVJfSVNfR1JFQVRFUl9USEFOLFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0NPVU5URVJfSVNfTEVTU19USEFOLFxuICAgICAgXTtcbiAgICB9XG4gICAgY2FzZSBDb21wb25lbnROYW1lLkFDVElPTlM6IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fRElTVEFOQ0VfVE9fUExBWUVSX0xFU1NfVEhBTixcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9ESVNUQU5DRV9UT19QTEFZRVJfR1JFQVRFUl9USEFOLFxuICAgICAgXTtcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBDb21wb25lbnRzID0gUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlQ29tcG9uZW50cz47XG5cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGVzQ29tcG9uZW50ID0gQ29tcG9uZW50c1snQWN0aW9uVHlwZXMnXTtcbmV4cG9ydCB0eXBlIEFjdGlvblR5cGVzID0gUmV0dXJuVHlwZTxBY3Rpb25UeXBlc0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBBY3Rpb25zQ29tcG9uZW50ID0gQ29tcG9uZW50c1snQWN0aW9ucyddO1xuZXhwb3J0IHR5cGUgQWN0aW9ucyA9IFJldHVyblR5cGU8QWN0aW9uc0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuZXhwb3J0IHR5cGUgQWN0aW9uID0gQWN0aW9uc1sndmFsdWUnXVswXTtcblxuZXhwb3J0IHR5cGUgQ291bnRlckNvbXBvbmVudCA9IENvbXBvbmVudHNbJ0NvdW50ZXInXTtcbmV4cG9ydCB0eXBlIENvdW50ZXIgPSBSZXR1cm5UeXBlPENvdW50ZXJDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgQ291bnRlckJhckNvbXBvbmVudCA9IENvbXBvbmVudHNbJ0NvdW50ZXJCYXInXTtcbmV4cG9ydCB0eXBlIENvdW50ZXJCYXIgPSBSZXR1cm5UeXBlPENvdW50ZXJCYXJDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgVHJpZ2dlcnNDb21wb25lbnQgPSBDb21wb25lbnRzWydUcmlnZ2VycyddO1xuZXhwb3J0IHR5cGUgVHJpZ2dlcnMgPSBSZXR1cm5UeXBlPFRyaWdnZXJzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5leHBvcnQgdHlwZSBUcmlnZ2VyID0gVHJpZ2dlcnNbJ3ZhbHVlJ11bMF07XG5leHBvcnQgdHlwZSBUcmlnZ2VyQWN0aW9uID0gVHJpZ2dlclsnYWN0aW9ucyddWzBdO1xuZXhwb3J0IHR5cGUgVHJpZ2dlckNvbmRpdGlvbiA9IEV4Y2x1ZGU8VHJpZ2dlclsnY29uZGl0aW9ucyddLCB1bmRlZmluZWQ+WzBdO1xuXG5leHBvcnQgdHlwZSBTdGF0ZXNDb21wb25lbnQgPSBDb21wb25lbnRzWydTdGF0ZXMnXTtcbmV4cG9ydCB0eXBlIFN0YXRlcyA9IFJldHVyblR5cGU8U3RhdGVzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIEFkbWluVG9vbHNDb21wb25lbnQgPSBDb21wb25lbnRzWydBZG1pblRvb2xzJ107XG5leHBvcnQgdHlwZSBBZG1pblRvb2xzID0gUmV0dXJuVHlwZTxBZG1pblRvb2xzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIFZpZGVvU2NyZWVuQ29tcG9uZW50ID0gQ29tcG9uZW50c1snVmlkZW9TY3JlZW4nXTtcbmV4cG9ydCB0eXBlIFZpZGVvU2NyZWVuID0gUmV0dXJuVHlwZTxWaWRlb1NjcmVlbkNvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBSZXdhcmRzQ29tcG9uZW50ID0gQ29tcG9uZW50c1snUmV3YXJkcyddO1xuZXhwb3J0IHR5cGUgUmV3YXJkcyA9IFJldHVyblR5cGU8UmV3YXJkc0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBUZXh0QW5ub3VuY2VtZW50c0NvbXBvbmVudCA9IENvbXBvbmVudHNbJ1RleHRBbm5vdW5jZW1lbnRzJ107XG5leHBvcnQgdHlwZSBUZXh0QW5ub3VuY2VtZW50cyA9IFJldHVyblR5cGU8VGV4dEFubm91bmNlbWVudHNDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgVmlkZW9Db250cm9sU3RhdGVDb21wb25lbnQgPSBDb21wb25lbnRzWydWaWRlb0NvbnRyb2xTdGF0ZSddO1xuZXhwb3J0IHR5cGUgVmlkZW9Db250cm9sU3RhdGUgPSBSZXR1cm5UeXBlPFZpZGVvQ29udHJvbFN0YXRlQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIFNjcmlwdENvbXBvbmVudCA9IENvbXBvbmVudHNbJ1NjcmlwdCddO1xuZXhwb3J0IHR5cGUgU2NyaXB0ID0gUmV0dXJuVHlwZTxTY3JpcHRDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcbiJdfQ==
|
package/dist/enums.d.ts
CHANGED
|
@@ -16,7 +16,8 @@ export declare enum ComponentName {
|
|
|
16
16
|
export declare enum TweenType {
|
|
17
17
|
MOVE_ITEM = "move_item",
|
|
18
18
|
ROTATE_ITEM = "rotate_item",
|
|
19
|
-
SCALE_ITEM = "scale_item"
|
|
19
|
+
SCALE_ITEM = "scale_item",
|
|
20
|
+
KEEP_ROTATING_ITEM = "keep_rotating_item"
|
|
20
21
|
}
|
|
21
22
|
export declare enum InterpolationType {
|
|
22
23
|
LINEAR = "linear",
|
|
@@ -82,7 +83,14 @@ export declare enum ActionType {
|
|
|
82
83
|
RANDOM = "random",
|
|
83
84
|
BATCH = "batch",
|
|
84
85
|
HEAL_PLAYER = "heal_player",
|
|
85
|
-
CLAIM_AIRDROP = "claim_airdrop"
|
|
86
|
+
CLAIM_AIRDROP = "claim_airdrop",
|
|
87
|
+
LIGHTS_ON = "lights_on",
|
|
88
|
+
LIGHTS_OFF = "lights_off",
|
|
89
|
+
LIGHTS_MODIFY = "lights_modify",
|
|
90
|
+
CHANGE_CAMERA = "change_camera",
|
|
91
|
+
CHANGE_TEXT = "change_text",
|
|
92
|
+
STOP_TWEEN = "stop_tween",
|
|
93
|
+
SLIDE_TEXTURE = "slide_texture"
|
|
86
94
|
}
|
|
87
95
|
export declare enum TriggerType {
|
|
88
96
|
ON_CLICK = "on_click",
|
|
@@ -159,6 +167,10 @@ export declare enum Colliders {
|
|
|
159
167
|
CL_CUSTOM7 = 16384,
|
|
160
168
|
CL_CUSTOM8 = 32768
|
|
161
169
|
}
|
|
170
|
+
export declare enum TextureMovementType {
|
|
171
|
+
TMT_OFFSET = 0,
|
|
172
|
+
TMT_TILING = 1
|
|
173
|
+
}
|
|
162
174
|
export declare enum ProximityLayer {
|
|
163
175
|
ALL = "all",
|
|
164
176
|
PLAYER = "player",
|
package/dist/enums.js
CHANGED
|
@@ -18,6 +18,7 @@ export var TweenType;
|
|
|
18
18
|
TweenType["MOVE_ITEM"] = "move_item";
|
|
19
19
|
TweenType["ROTATE_ITEM"] = "rotate_item";
|
|
20
20
|
TweenType["SCALE_ITEM"] = "scale_item";
|
|
21
|
+
TweenType["KEEP_ROTATING_ITEM"] = "keep_rotating_item";
|
|
21
22
|
})(TweenType || (TweenType = {}));
|
|
22
23
|
export var InterpolationType;
|
|
23
24
|
(function (InterpolationType) {
|
|
@@ -86,6 +87,13 @@ export var ActionType;
|
|
|
86
87
|
ActionType["BATCH"] = "batch";
|
|
87
88
|
ActionType["HEAL_PLAYER"] = "heal_player";
|
|
88
89
|
ActionType["CLAIM_AIRDROP"] = "claim_airdrop";
|
|
90
|
+
ActionType["LIGHTS_ON"] = "lights_on";
|
|
91
|
+
ActionType["LIGHTS_OFF"] = "lights_off";
|
|
92
|
+
ActionType["LIGHTS_MODIFY"] = "lights_modify";
|
|
93
|
+
ActionType["CHANGE_CAMERA"] = "change_camera";
|
|
94
|
+
ActionType["CHANGE_TEXT"] = "change_text";
|
|
95
|
+
ActionType["STOP_TWEEN"] = "stop_tween";
|
|
96
|
+
ActionType["SLIDE_TEXTURE"] = "slide_texture";
|
|
89
97
|
})(ActionType || (ActionType = {}));
|
|
90
98
|
export var TriggerType;
|
|
91
99
|
(function (TriggerType) {
|
|
@@ -164,6 +172,11 @@ export var Colliders;
|
|
|
164
172
|
Colliders[Colliders["CL_CUSTOM7"] = 16384] = "CL_CUSTOM7";
|
|
165
173
|
Colliders[Colliders["CL_CUSTOM8"] = 32768] = "CL_CUSTOM8";
|
|
166
174
|
})(Colliders || (Colliders = {}));
|
|
175
|
+
export var TextureMovementType;
|
|
176
|
+
(function (TextureMovementType) {
|
|
177
|
+
TextureMovementType[TextureMovementType["TMT_OFFSET"] = 0] = "TMT_OFFSET";
|
|
178
|
+
TextureMovementType[TextureMovementType["TMT_TILING"] = 1] = "TMT_TILING";
|
|
179
|
+
})(TextureMovementType || (TextureMovementType = {}));
|
|
167
180
|
export var ProximityLayer;
|
|
168
181
|
(function (ProximityLayer) {
|
|
169
182
|
ProximityLayer["ALL"] = "all";
|
|
@@ -180,4 +193,4 @@ export var MediaSource;
|
|
|
180
193
|
MediaSource[MediaSource["VideoURL"] = 0] = "VideoURL";
|
|
181
194
|
MediaSource[MediaSource["LiveStream"] = 1] = "LiveStream";
|
|
182
195
|
})(MediaSource || (MediaSource = {}));
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksYUFhWDtBQWJELFdBQVksYUFBYTtJQUN2QiwwREFBeUMsQ0FBQTtJQUN6QyxpREFBZ0MsQ0FBQTtJQUNoQyxpREFBZ0MsQ0FBQTtJQUNoQyxtREFBa0MsQ0FBQTtJQUNsQywrQ0FBOEIsQ0FBQTtJQUM5Qix3REFBdUMsQ0FBQTtJQUN2Qyx3REFBdUMsQ0FBQTtJQUN2QywwREFBeUMsQ0FBQTtJQUN6QyxpREFBZ0MsQ0FBQTtJQUNoQyxzRUFBcUQsQ0FBQTtJQUNyRCx1RUFBc0QsQ0FBQTtJQUN0RCwrQ0FBOEIsQ0FBQTtBQUNoQyxDQUFDLEVBYlcsYUFBYSxLQUFiLGFBQWEsUUFheEI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ25CLG9DQUF1QixDQUFBO0lBQ3ZCLHdDQUEyQixDQUFBO0lBQzNCLHNDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxTQUFTLEtBQVQsU0FBUyxRQUlwQjtBQUVELE1BQU0sQ0FBTixJQUFZLGlCQWlCWDtBQWpCRCxXQUFZLGlCQUFpQjtJQUMzQixzQ0FBaUIsQ0FBQTtJQUNqQiw4Q0FBeUIsQ0FBQTtJQUN6QixnREFBMkIsQ0FBQTtJQUMzQiwwQ0FBcUIsQ0FBQTtJQUNyQiw4Q0FBeUIsQ0FBQTtJQUN6QixnREFBMkIsQ0FBQTtJQUMzQiwrQ0FBMEIsQ0FBQTtJQUMxQiw4Q0FBeUIsQ0FBQTtJQUN6QixnREFBMkIsQ0FBQTtJQUMzQiwrQ0FBMEIsQ0FBQTtJQUMxQixvREFBK0IsQ0FBQTtJQUMvQixzREFBaUMsQ0FBQTtJQUNqQyxxREFBZ0MsQ0FBQTtJQUNoQyxrREFBNkIsQ0FBQTtJQUM3QixxREFBZ0MsQ0FBQTtJQUNoQyxtREFBOEIsQ0FBQTtBQUNoQyxDQUFDLEVBakJXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFpQjVC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LENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLHFEQUFRLENBQUE7SUFDUix5REFBVSxDQUFBO0FBQ1osQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBZR0FsaWduLCBZR0p1c3RpZnkgfSBmcm9tICdAZGNsL2Vjcyc7XG5cbmV4cG9ydCBlbnVtIENvbXBvbmVudE5hbWUge1xuICBBQ1RJT05fVFlQRVMgPSAnYXNzZXQtcGFja3M6OkFjdGlvblR5cGVzJyxcbiAgQUNUSU9OUyA9ICdhc3NldC1wYWNrczo6QWN0aW9ucycsXG4gIENPVU5URVIgPSAnYXNzZXQtcGFja3M6OkNvdW50ZXInLFxuICBUUklHR0VSUyA9ICdhc3NldC1wYWNrczo6VHJpZ2dlcnMnLFxuICBTVEFURVMgPSAnYXNzZXQtcGFja3M6OlN0YXRlcycsXG4gIENPVU5URVJfQkFSID0gJ2Fzc2V0LXBhY2tzOjpDb3VudGVyQmFyJyxcbiAgQURNSU5fVE9PTFMgPSAnYXNzZXQtcGFja3M6OkFkbWluVG9vbHMnLFxuICBWSURFT19TQ1JFRU4gPSAnYXNzZXQtcGFja3M6OlZpZGVvU2NyZWVuJyxcbiAgUkVXQVJEUyA9ICdhc3NldC1wYWNrczo6UmV3YXJkcycsXG4gIFRFWFRfQU5OT1VOQ0VNRU5UUyA9ICdhc3NldC1wYWNrczo6VGV4dEFubm91bmNlbWVudHMnLFxuICBWSURFT19DT05UUk9MX1NUQVRFID0gJ2Fzc2V0LXBhY2tzOjpWaWRlb0NvbnRyb2xTdGF0ZScsXG4gIFNDUklQVCA9ICdhc3NldC1wYWNrczo6U2NyaXB0Jyxcbn1cblxuZXhwb3J0IGVudW0gVHdlZW5UeXBlIHtcbiAgTU9WRV9JVEVNID0gJ21vdmVfaXRlbScsXG4gIFJPVEFURV9JVEVNID0gJ3JvdGF0ZV9pdGVtJyxcbiAgU0NBTEVfSVRFTSA9ICdzY2FsZV9pdGVtJyxcbn1cblxuZXhwb3J0IGVudW0gSW50ZXJwb2xhdGlvblR5cGUge1xuICBMSU5FQVIgPSAnbGluZWFyJyxcbiAgRUFTRUlOUVVBRCA9ICdlYXNlaW5xdWFkJyxcbiAgRUFTRU9VVFFVQUQgPSAnZWFzZW91dHF1YWQnLFxuICBFQVNFUVVBRCA9ICdlYXNlcXVhZCcsXG4gIEVBU0VJTlNJTkUgPSAnZWFzZWluc2luZScsXG4gIEVBU0VPVVRTSU5FID0gJ2Vhc2VvdXRzaW5lJyxcbiAgRUFTRVNJTkUgPSAnZWFzZWlub3V0c2luZScsXG4gIEVBU0VJTkVYUE8gPSAnZWFzZWluZXhwbycsXG4gIEVBU0VPVVRFWFBPID0gJ2Vhc2VvdXRleHBvJyxcbiAgRUFTRUVYUE8gPSAnZWFzZWlub3V0ZXhwbycsXG4gIEVBU0VJTkVMQVNUSUMgPSAnZWFzZWluZWxhc3RpYycsXG4gIEVBU0VPVVRFTEFTVElDID0gJ2Vhc2VvdXRlbGFzdGljJyxcbiAgRUFTRUVMQVNUSUMgPSAnZWFzZWlub3V0ZWxhc3RpYycsXG4gIEVBU0VJTkJPVU5DRSA9ICdlYXNlaW5ib3VuY2UnLFxuICBFQVNFT1VURUJPVU5DRSA9ICdlYXNlb3V0Ym91bmNlJyxcbiAgRUFTRUJPVU5DRSA9ICdlYXNlaW5vdXRib3VuY2UnLFxufVxuXG5leHBvcnQgZW51bSBBY3Rpb25UeXBlIHtcbiAgUExBWV9BTklNQVRJT04gPSAncGxheV9hbmltYXRpb24nLFxuICBTVE9QX0FOSU1BVElPTiA9ICdzdG9wX2FuaW1hdGlvbicsXG4gIFNFVF9TVEFURSA9ICdzZXRfc3RhdGUnLFxuICBTVEFSVF9UV0VFTiA9ICdzdGFydF90d2VlbicsXG4gIFNFVF9DT1VOVEVSID0gJ3NldF9jb3VudGVyJyxcbiAgSU5DUkVNRU5UX0NPVU5URVIgPSAnaW5jcmVtZW50X2NvdW50ZXInLFxuICBERUNSRUFTRV9DT1VOVEVSID0gJ2RlY3JlYXNlX2NvdW50ZXInLFxuICBQTEFZX1NPVU5EID0gJ3BsYXlfc291bmQnLFxuICBTVE9QX1NPVU5EID0gJ3N0b3Bfc291bmQnLFxuICBTRVRfVklTSUJJTElUWSA9ICdzZXRfdmlzaWJpbGl0eScsXG4gIEFUVEFDSF9UT19QTEFZRVIgPSAnYXR0YWNoX3RvX3BsYXllcicsXG4gIERFVEFDSF9GUk9NX1BMQVlFUiA9ICdkZXRhY2hfZnJvbV9wbGF5ZXInLFxuICBQTEFZX1ZJREVPX1NUUkVBTSA9ICdwbGF5X3ZpZGVvX3N0cmVhbScsXG4gIFNUT1BfVklERU9fU1RSRUFNID0gJ3N0b3BfdmlkZW9fc3RyZWFtJyxcbiAgUExBWV9BVURJT19TVFJFQU0gPSAncGxheV9hdWRpb19zdHJlYW0nLFxuICBTVE9QX0FVRElPX1NUUkVBTSA9ICdzdG9wX2F1ZGlvX3N0cmVhbScsXG4gIFRFTEVQT1JUX1BMQVlFUiA9ICd0ZWxlcG9ydF9wbGF5ZXInLFxuICBNT1ZFX1BMQVlFUiA9ICdtb3ZlX3BsYXllcicsXG4gIFBMQVlfREVGQVVMVF9FTU9URSA9ICdwbGF5X2RlZmF1bHRfZW1vdGUnLFxuICBQTEFZX0NVU1RPTV9FTU9URSA9ICdwbGF5X2N1c3RvbV9lbW90ZScsXG4gIE9QRU5fTElOSyA9ICdvcGVuX2xpbmsnLFxuICBTSE9XX1RFWFQgPSAnc2hvd190ZXh0JyxcbiAgSElERV9URVhUID0gJ2hpZGVfdGV4dCcsXG4gIFNUQVJUX0RFTEFZID0gJ3N0YXJ0X2RlbGF5JyxcbiAgU1RPUF9ERUxBWSA9ICdzdG9wX2RlbGF5JyxcbiAgU1RBUlRfTE9PUCA9ICdzdGFydF9sb29wJyxcbiAgU1RPUF9MT09QID0gJ3N0b3BfbG9vcCcsXG4gIENMT05FX0VOVElUWSA9ICdjbG9uZV9lbnRpdHknLFxuICBSRU1PVkVfRU5USVRZID0gJ3JlbW92ZV9lbnRpdHknLFxuICBTSE9XX0lNQUdFID0gJ3Nob3dfaW1hZ2UnLFxuICBISURFX0lNQUdFID0gJ2hpZGVfaW1hZ2UnLFxuICBEQU1BR0UgPSAnZGFtYWdlJyxcbiAgTU9WRV9QTEFZRVJfSEVSRSA9ICdtb3ZlX3BsYXllcl9oZXJlJyxcbiAgUExBQ0VfT05fUExBWUVSID0gJ3BsYWNlX29uX3BsYXllcicsXG4gIFJPVEFURV9BU19QTEFZRVIgPSAncm90YXRlX2FzX3BsYXllcicsXG4gIFBMQUNFX09OX0NBTUVSQSA9ICdwbGFjZV9vbl9jYW1lcmEnLFxuICBST1RBVEVfQVNfQ0FNRVJBID0gJ3JvdGF0ZV9hc19jYW1lcmEnLFxuICBTRVRfUE9TSVRJT04gPSAnc2V0X3Bvc2l0aW9uJyxcbiAgU0VUX1JPVEFUSU9OID0gJ3NldF9yb3RhdGlvbicsXG4gIFNFVF9TQ0FMRSA9ICdzZXRfc2NhbGUnLFxuICBGT0xMT1dfUExBWUVSID0gJ2ZvbGxvd19wbGF5ZXInLFxuICBTVE9QX0ZPTExPV0lOR19QTEFZRVIgPSAnc3RvcF9mb2xsb3dpbmdfcGxheWVyJyxcbiAgUkFORE9NID0gJ3JhbmRvbScsXG4gIEJBVENIID0gJ2JhdGNoJyxcbiAgSEVBTF9QTEFZRVIgPSAnaGVhbF9wbGF5ZXInLFxuICBDTEFJTV9BSVJEUk9QID0gJ2NsYWltX2FpcmRyb3AnLFxufVxuXG5leHBvcnQgZW51bSBUcmlnZ2VyVHlwZSB7XG4gIC8qKiBAZGVwcmVjYXRlZCB1c2UgT05fSU5QVVRfQUNUSU9OIGluc3RlYWQgKi9cbiAgT05fQ0xJQ0sgPSAnb25fY2xpY2snLFxuICBPTl9JTlBVVF9BQ1RJT04gPSAnb25faW5wdXRfYWN0aW9uJyxcbiAgT05fU1RBVEVfQ0hBTkdFID0gJ29uX3N0YXRlX2NoYW5nZScsXG4gIE9OX1NQQVdOID0gJ29uX3NwYXduJyxcbiAgT05fVFdFRU5fRU5EID0gJ29uX3R3ZWVuX2VuZCcsXG4gIE9OX0NPVU5URVJfQ0hBTkdFID0gJ29uX2NvdW50ZXJfY2hhbmdlJyxcbiAgT05fUExBWUVSX0VOVEVSU19BUkVBID0gJ29uX3BsYXllcl9lbnRlcnNfYXJlYScsXG4gIE9OX1BMQVlFUl9MRUFWRVNfQVJFQSA9ICdvbl9wbGF5ZXJfbGVhdmVzX2FyZWEnLFxuICBPTl9ERUxBWSA9ICdvbl9kZWxheScsXG4gIE9OX0xPT1AgPSAnb25fbG9vcCcsXG4gIE9OX0NMT05FID0gJ29uX2Nsb25lJyxcbiAgT05fQ0xJQ0tfSU1BR0UgPSAnb25fY2xpY2tfaW1hZ2UnLFxuICBPTl9EQU1BR0UgPSAnb25fZGFtYWdlJyxcbiAgT05fR0xPQkFMX0NMSUNLID0gJ29uX2dsb2JhbF9jbGljaycsXG4gIE9OX0dMT0JBTF9QUklNQVJZID0gJ29uX2dsb2JhbF9wcmltYXJ5JyxcbiAgT05fR0xPQkFMX1NFQ09OREFSWSA9ICdvbl9nbG9iYWxfc2Vjb25kYXJ5JyxcbiAgT05fVElDSyA9ICdvbl90aWNrJyxcbiAgT05fSEVBTF9QTEFZRVIgPSAnb25faGVhbF9wbGF5ZXInLFxuICBPTl9QTEFZRVJfU1BBV04gPSAnb25fcGxheWVyX3NwYXduJyxcbn1cblxuZXhwb3J0IGVudW0gVHJpZ2dlckNvbmRpdGlvblR5cGUge1xuICBXSEVOX1NUQVRFX0lTID0gJ3doZW5fc3RhdGVfaXMnLFxuICBXSEVOX1NUQVRFX0lTX05PVCA9ICd3aGVuX3N0YXRlX2lzX25vdCcsXG4gIFdIRU5fQ09VTlRFUl9FUVVBTFMgPSAnd2hlbl9jb3VudGVyX2VxdWFscycsXG4gIFdIRU5fQ09VTlRFUl9JU19HUkVBVEVSX1RIQU4gPSAnd2hlbl9jb3VudGVyX2lzX2dyZWF0ZXJfdGhhbicsXG4gIFdIRU5fQ09VTlRFUl9JU19MRVNTX1RIQU4gPSAnd2hlbl9jb3VudGVyX2lzX2xlc3NfdGhhbicsXG4gIFdIRU5fRElTVEFOQ0VfVE9fUExBWUVSX0xFU1NfVEhBTiA9ICd3aGVuX2Rpc3RhbmNlX3RvX3BsYXllcl9sZXNzX3RoYW4nLFxuICBXSEVOX0RJU1RBTkNFX1RPX1BMQVlFUl9HUkVBVEVSX1RIQU4gPSAnd2hlbl9kaXN0YW5jZV90b19wbGF5ZXJfZ3JlYXRlcl90aGFuJyxcbiAgV0hFTl9QUkVWSU9VU19TVEFURV9JUyA9ICd3aGVuX3ByZXZpb3VzX3N0YXRlX2lzJyxcbiAgV0hFTl9QUkVWSU9VU19TVEFURV9JU19OT1QgPSAnd2hlbl9wcmV2aW91c19zdGF0ZV9pc19ub3QnLFxufVxuXG5leHBvcnQgZW51bSBUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uIHtcbiAgQU5EID0gJ2FuZCcsXG4gIE9SID0gJ29yJyxcbn1cblxuLy8gRGVmaW5lZCB2YWx1ZXMgaW5zdGVhZCBvZiB1c2luZyBmcm9tIEBkY2wvZWNzIGJlY2F1c2UgU2NoZW1hcyBkb2Vzbid0IHN1cHBvcnQgY29uc3QgZW51bXNcbmV4cG9ydCBlbnVtIEFsaWduTW9kZSB7XG4gIFRBTV9UT1BfTEVGVCA9IDAsXG4gIFRBTV9UT1BfQ0VOVEVSID0gMSxcbiAgVEFNX1RPUF9SSUdIVCA9IDIsXG4gIFRBTV9NSURETEVfTEVGVCA9IDMsXG4gIFRBTV9NSURETEVfQ0VOVEVSID0gNCxcbiAgVEFNX01JRERMRV9SSUdIVCA9IDUsXG4gIFRBTV9CT1RUT01fTEVGVCA9IDYsXG4gIFRBTV9CT1RUT01fQ0VOVEVSID0gNyxcbiAgVEFNX0JPVFRPTV9SSUdIVCA9IDgsXG59XG5cbi8vIERlZmluZWQgdmFsdWVzIGluc3RlYWQgb2YgdXNpbmcgZnJvbSBAZGNsL2VjcyBiZWNhdXNlIFNjaGVtYXMgZG9lc24ndCBzdXBwb3J0IGNvbnN0IGVudW1zXG5leHBvcnQgZW51bSBGb250IHtcbiAgRl9TQU5TX1NFUklGID0gMCxcbiAgRl9TRVJJRiA9IDEsXG4gIEZfTU9OT1NQQUNFID0gMixcbn1cblxuZXhwb3J0IHR5cGUgU2NyZWVuQWxpZ25Nb2RlID0ge1xuICBhbGlnbkl0ZW1zOiBZR0FsaWduO1xuICBqdXN0aWZ5Q29udGVudDogWUdKdXN0aWZ5O1xufTtcblxuLy8gRGVmaW5lZCB2YWx1ZXMgaW5zdGVhZCBvZiB1c2luZyBmcm9tIEBkY2wvZWNzIGJlY2F1c2UgU2NoZW1hcyBkb2Vzbid0IHN1cHBvcnQgY29uc3QgZW51bXNcbmV4cG9ydCBlbnVtIENvbGxpZGVycyB7XG4gIC8qKiBDTF9OT05FIC0gbm8gY29sbGlzaW9ucyAqL1xuICBDTF9OT05FID0gMCxcbiAgLyoqIENMX1BPSU5URVIgLSBjb2xsaXNpb25zIHdpdGggdGhlIHBsYXllcidzIHBvaW50ZXIgcmF5IChlLmcuIG1vdXNlIGN1cnNvciBob3ZlcmluZykgKi9cbiAgQ0xfUE9JTlRFUiA9IDEsXG4gIC8qKiBDTF9QSFlTSUNTIC0gY29sbGlzaW9uIGFmZmVjdGluZyB5b3VyIHBsYXllcidzIHBoeXNpY3MgaS5lLiB3YWxscywgZmxvb3IsIG1vdmluZyBwbGF0ZnJvbXMgKi9cbiAgQ0xfUEhZU0lDUyA9IDIsXG4gIENMX1JFU0VSVkVEMSA9IDQsXG4gIENMX1JFU0VSVkVEMiA9IDgsXG4gIENMX1JFU0VSVkVEMyA9IDE2LFxuICBDTF9SRVNFUlZFRDQgPSAzMixcbiAgQ0xfUkVTRVJWRUQ1ID0gNjQsXG4gIENMX1JFU0VSVkVENiA9IDEyOCxcbiAgQ0xfQ1VTVE9NMSA9IDI1NixcbiAgQ0xfQ1VTVE9NMiA9IDUxMixcbiAgQ0xfQ1VTVE9NMyA9IDEwMjQsXG4gIENMX0NVU1RPTTQgPSAyMDQ4LFxuICBDTF9DVVNUT001ID0gNDA5NixcbiAgQ0xfQ1VTVE9NNiA9IDgxOTIsXG4gIENMX0NVU1RPTTcgPSAxNjM4NCxcbiAgQ0xfQ1VTVE9NOCA9IDMyNzY4LFxufVxuXG5leHBvcnQgZW51bSBQcm94aW1pdHlMYXllciB7XG4gIEFMTCA9ICdhbGwnLFxuICBQTEFZRVIgPSAncGxheWVyJyxcbiAgTk9OX1BMQVlFUiA9ICdub25fcGxheWVyJyxcbn1cblxuZXhwb3J0IGVudW0gQWRtaW5QZXJtaXNzaW9ucyB7XG4gIFBVQkxJQyA9ICdQVUJMSUMnLFxuICBQUklWQVRFID0gJ1BSSVZBVEUnLFxufVxuXG5leHBvcnQgZW51bSBNZWRpYVNvdXJjZSB7XG4gIFZpZGVvVVJMLFxuICBMaXZlU3RyZWFtLFxufVxuIl19
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksYUFhWDtBQWJELFdBQVksYUFBYTtJQUN2QiwwREFBeUMsQ0FBQTtJQUN6QyxpREFBZ0MsQ0FBQTtJQUNoQyxpREFBZ0MsQ0FBQTtJQUNoQyxtREFBa0MsQ0FBQTtJQUNsQywrQ0FBOEIsQ0FBQTtJQUM5Qix3REFBdUMsQ0FBQTtJQUN2Qyx3REFBdUMsQ0FBQTtJQUN2QywwREFBeUMsQ0FBQTtJQUN6QyxpREFBZ0MsQ0FBQTtJQUNoQyxzRUFBcUQsQ0FBQTtJQUNyRCx1RUFBc0QsQ0FBQTtJQUN0RCwrQ0FBOEIsQ0FBQTtBQUNoQyxDQUFDLEVBYlcsYUFBYSxLQUFiLGFBQWEsUUFheEI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLG9DQUF1QixDQUFBO0lBQ3ZCLHdDQUEyQixDQUFBO0lBQzNCLHNDQUF5QixDQUFBO0lBQ3pCLHNEQUF5QyxDQUFBO0FBQzNDLENBQUMsRUFMVyxTQUFTLEtBQVQsU0FBUyxRQUtwQjtBQUVELE1BQU0sQ0FBTixJQUFZLGlCQWlCWDtBQWpCRCxXQUFZLGlCQUFpQjtJQUMzQixzQ0FBaUIsQ0FBQTtJQUNqQiw4Q0FBeUIsQ0FBQTtJQUN6QixnREFBMkIsQ0FBQTtJQUMzQiwwQ0FBcUIsQ0FBQTtJQUNyQiw4Q0FBeUIsQ0FBQTtJQUN6QixnREFBMkIsQ0FBQTtJQUMzQiwrQ0FBMEIsQ0FBQTtJQUMxQiw4Q0FBeUIsQ0FBQTtJQUN6QixnREFBMkIsQ0FBQTtJQUMzQiwrQ0FBMEIsQ0FBQTtJQUMxQixvREFBK0IsQ0FBQTtJQUMvQixzREFBaUMsQ0FBQTtJQUNqQyxxREFBZ0MsQ0FBQTtJQUNoQyxrREFBNkIsQ0FBQTtJQUM3QixxREFBZ0MsQ0FBQTtJQUNoQyxtREFBOEIsQ0FBQTtBQUNoQyxDQUFDLEVBakJXLGlCQUFpQixL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OUI7QUFFRCxNQUFNLENBQU4sSUFBWSxjQUlYO0FBSkQsV0FBWSxjQUFjO0lBQ3hCLDZCQUFXLENBQUE7SUFDWCxtQ0FBaUIsQ0FBQTtJQUNqQiwyQ0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLHFDQUFpQixDQUFBO0lBQ2pCLHVDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCO0FBRUQsTUFBTSxDQUFOLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQixxREFBUSxDQUFBO0lBQ1IseURBQVUsQ0FBQTtBQUNaLENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgWUdBbGlnbiwgWUdKdXN0aWZ5IH0gZnJvbSAnQGRjbC9lY3MnO1xuXG5leHBvcnQgZW51bSBDb21wb25lbnROYW1lIHtcbiAgQUNUSU9OX1RZUEVTID0gJ2Fzc2V0LXBhY2tzOjpBY3Rpb25UeXBlcycsXG4gIEFDVElPTlMgPSAnYXNzZXQtcGFja3M6OkFjdGlvbnMnLFxuICBDT1VOVEVSID0gJ2Fzc2V0LXBhY2tzOjpDb3VudGVyJyxcbiAgVFJJR0dFUlMgPSAnYXNzZXQtcGFja3M6OlRyaWdnZXJzJyxcbiAgU1RBVEVTID0gJ2Fzc2V0LXBhY2tzOjpTdGF0ZXMnLFxuICBDT1VOVEVSX0JBUiA9ICdhc3NldC1wYWNrczo6Q291bnRlckJhcicsXG4gIEFETUlOX1RPT0xTID0gJ2Fzc2V0LXBhY2tzOjpBZG1pblRvb2xzJyxcbiAgVklERU9fU0NSRUVOID0gJ2Fzc2V0LXBhY2tzOjpWaWRlb1NjcmVlbicsXG4gIFJFV0FSRFMgPSAnYXNzZXQtcGFja3M6OlJld2FyZHMnLFxuICBURVhUX0FOTk9VTkNFTUVOVFMgPSAnYXNzZXQtcGFja3M6OlRleHRBbm5vdW5jZW1lbnRzJyxcbiAgVklERU9fQ09OVFJPTF9TVEFURSA9ICdhc3NldC1wYWNrczo6VmlkZW9Db250cm9sU3RhdGUnLFxuICBTQ1JJUFQgPSAnYXNzZXQtcGFja3M6OlNjcmlwdCcsXG59XG5cbmV4cG9ydCBlbnVtIFR3ZWVuVHlwZSB7XG4gIE1PVkVfSVRFTSA9ICdtb3ZlX2l0ZW0nLFxuICBST1RBVEVfSVRFTSA9ICdyb3RhdGVfaXRlbScsXG4gIFNDQUxFX0lURU0gPSAnc2NhbGVfaXRlbScsXG4gIEtFRVBfUk9UQVRJTkdfSVRFTSA9ICdrZWVwX3JvdGF0aW5nX2l0ZW0nLFxufVxuXG5leHBvcnQgZW51bSBJbnRlcnBvbGF0aW9uVHlwZSB7XG4gIExJTkVBUiA9ICdsaW5lYXInLFxuICBFQVNFSU5RVUFEID0gJ2Vhc2VpbnF1YWQnLFxuICBFQVNFT1VUUVVBRCA9ICdlYXNlb3V0cXVhZCcsXG4gIEVBU0VRVUFEID0gJ2Vhc2VxdWFkJyxcbiAgRUFTRUlOU0lORSA9ICdlYXNlaW5zaW5lJyxcbiAgRUFTRU9VVFNJTkUgPSAnZWFzZW91dHNpbmUnLFxuICBFQVNFU0lORSA9ICdlYXNlaW5vdXRzaW5lJyxcbiAgRUFTRUlORVhQTyA9ICdlYXNlaW5leHBvJyxcbiAgRUFTRU9VVEVYUE8gPSAnZWFzZW91dGV4cG8nLFxuICBFQVNFRVhQTyA9ICdlYXNlaW5vdXRleHBvJyxcbiAgRUFTRUlORUxBU1RJQyA9ICdlYXNlaW5lbGFzdGljJyxcbiAgRUFTRU9VVEVMQVNUSUMgPSAnZWFzZW91dGVsYXN0aWMnLFxuICBFQVNFRUxBU1RJQyA9ICdlYXNlaW5vdXRlbGFzdGljJyxcbiAgRUFTRUlOQk9VTkNFID0gJ2Vhc2VpbmJvdW5jZScsXG4gIEVBU0VPVVRFQk9VTkNFID0gJ2Vhc2VvdXRib3VuY2UnLFxuICBFQVNFQk9VTkNFID0gJ2Vhc2Vpbm91dGJvdW5jZScsXG59XG5cbmV4cG9ydCBlbnVtIEFjdGlvblR5cGUge1xuICBQTEFZX0FOSU1BVElPTiA9ICdwbGF5X2FuaW1hdGlvbicsXG4gIFNUT1BfQU5JTUFUSU9OID0gJ3N0b3BfYW5pbWF0aW9uJyxcbiAgU0VUX1NUQVRFID0gJ3NldF9zdGF0ZScsXG4gIFNUQVJUX1RXRUVOID0gJ3N0YXJ0X3R3ZWVuJyxcbiAgU0VUX0NPVU5URVIgPSAnc2V0X2NvdW50ZXInLFxuICBJTkNSRU1FTlRfQ09VTlRFUiA9ICdpbmNyZW1lbnRfY291bnRlcicsXG4gIERFQ1JFQVNFX0NPVU5URVIgPSAnZGVjcmVhc2VfY291bnRlcicsXG4gIFBMQVlfU09VTkQgPSAncGxheV9zb3VuZCcsXG4gIFNUT1BfU09VTkQgPSAnc3RvcF9zb3VuZCcsXG4gIFNFVF9WSVNJQklMSVRZID0gJ3NldF92aXNpYmlsaXR5JyxcbiAgQVRUQUNIX1RPX1BMQVlFUiA9ICdhdHRhY2hfdG9fcGxheWVyJyxcbiAgREVUQUNIX0ZST01fUExBWUVSID0gJ2RldGFjaF9mcm9tX3BsYXllcicsXG4gIFBMQVlfVklERU9fU1RSRUFNID0gJ3BsYXlfdmlkZW9fc3RyZWFtJyxcbiAgU1RPUF9WSURFT19TVFJFQU0gPSAnc3RvcF92aWRlb19zdHJlYW0nLFxuICBQTEFZX0FVRElPX1NUUkVBTSA9ICdwbGF5X2F1ZGlvX3N0cmVhbScsXG4gIFNUT1BfQVVESU9fU1RSRUFNID0gJ3N0b3BfYXVkaW9fc3RyZWFtJyxcbiAgVEVMRVBPUlRfUExBWUVSID0gJ3RlbGVwb3J0X3BsYXllcicsXG4gIE1PVkVfUExBWUVSID0gJ21vdmVfcGxheWVyJyxcbiAgUExBWV9ERUZBVUxUX0VNT1RFID0gJ3BsYXlfZGVmYXVsdF9lbW90ZScsXG4gIFBMQVlfQ1VTVE9NX0VNT1RFID0gJ3BsYXlfY3VzdG9tX2Vtb3RlJyxcbiAgT1BFTl9MSU5LID0gJ29wZW5fbGluaycsXG4gIFNIT1dfVEVYVCA9ICdzaG93X3RleHQnLFxuICBISURFX1RFWFQgPSAnaGlkZV90ZXh0JyxcbiAgU1RBUlRfREVMQVkgPSAnc3RhcnRfZGVsYXknLFxuICBTVE9QX0RFTEFZID0gJ3N0b3BfZGVsYXknLFxuICBTVEFSVF9MT09QID0gJ3N0YXJ0X2xvb3AnLFxuICBTVE9QX0xPT1AgPSAnc3RvcF9sb29wJyxcbiAgQ0xPTkVfRU5USVRZID0gJ2Nsb25lX2VudGl0eScsXG4gIFJFTU9WRV9FTlRJVFkgPSAncmVtb3ZlX2VudGl0eScsXG4gIFNIT1dfSU1BR0UgPSAnc2hvd19pbWFnZScsXG4gIEhJREVfSU1BR0UgPSAnaGlkZV9pbWFnZScsXG4gIERBTUFHRSA9ICdkYW1hZ2UnLFxuICBNT1ZFX1BMQVlFUl9IRVJFID0gJ21vdmVfcGxheWVyX2hlcmUnLFxuICBQTEFDRV9PTl9QTEFZRVIgPSAncGxhY2Vfb25fcGxheWVyJyxcbiAgUk9UQVRFX0FTX1BMQVlFUiA9ICdyb3RhdGVfYXNfcGxheWVyJyxcbiAgUExBQ0VfT05fQ0FNRVJBID0gJ3BsYWNlX29uX2NhbWVyYScsXG4gIFJPVEFURV9BU19DQU1FUkEgPSAncm90YXRlX2FzX2NhbWVyYScsXG4gIFNFVF9QT1NJVElPTiA9ICdzZXRfcG9zaXRpb24nLFxuICBTRVRfUk9UQVRJT04gPSAnc2V0X3JvdGF0aW9uJyxcbiAgU0VUX1NDQUxFID0gJ3NldF9zY2FsZScsXG4gIEZPTExPV19QTEFZRVIgPSAnZm9sbG93X3BsYXllcicsXG4gIFNUT1BfRk9MTE9XSU5HX1BMQVlFUiA9ICdzdG9wX2ZvbGxvd2luZ19wbGF5ZXInLFxuICBSQU5ET00gPSAncmFuZG9tJyxcbiAgQkFUQ0ggPSAnYmF0Y2gnLFxuICBIRUFMX1BMQVlFUiA9ICdoZWFsX3BsYXllcicsXG4gIENMQUlNX0FJUkRST1AgPSAnY2xhaW1fYWlyZHJvcCcsXG4gIExJR0hUU19PTiA9ICdsaWdodHNfb24nLFxuICBMSUdIVFNfT0ZGID0gJ2xpZ2h0c19vZmYnLFxuICBMSUdIVFNfTU9ESUZZID0gJ2xpZ2h0c19tb2RpZnknLFxuICBDSEFOR0VfQ0FNRVJBID0gJ2NoYW5nZV9jYW1lcmEnLFxuICBDSEFOR0VfVEVYVCA9ICdjaGFuZ2VfdGV4dCcsXG4gIFNUT1BfVFdFRU4gPSAnc3RvcF90d2VlbicsXG4gIFNMSURFX1RFWFRVUkUgPSAnc2xpZGVfdGV4dHVyZScsXG59XG5cbmV4cG9ydCBlbnVtIFRyaWdnZXJUeXBlIHtcbiAgLyoqIEBkZXByZWNhdGVkIHVzZSBPTl9JTlBVVF9BQ1RJT04gaW5zdGVhZCAqL1xuICBPTl9DTElDSyA9ICdvbl9jbGljaycsXG4gIE9OX0lOUFVUX0FDVElPTiA9ICdvbl9pbnB1dF9hY3Rpb24nLFxuICBPTl9TVEFURV9DSEFOR0UgPSAnb25fc3RhdGVfY2hhbmdlJyxcbiAgT05fU1BBV04gPSAnb25fc3Bhd24nLFxuICBPTl9UV0VFTl9FTkQgPSAnb25fdHdlZW5fZW5kJyxcbiAgT05fQ09VTlRFUl9DSEFOR0UgPSAnb25fY291bnRlcl9jaGFuZ2UnLFxuICBPTl9QTEFZRVJfRU5URVJTX0FSRUEgPSAnb25fcGxheWVyX2VudGVyc19hcmVhJyxcbiAgT05fUExBWUVSX0xFQVZFU19BUkVBID0gJ29uX3BsYXllcl9sZWF2ZXNfYXJlYScsXG4gIE9OX0RFTEFZID0gJ29uX2RlbGF5JyxcbiAgT05fTE9PUCA9ICdvbl9sb29wJyxcbiAgT05fQ0xPTkUgPSAnb25fY2xvbmUnLFxuICBPTl9DTElDS19JTUFHRSA9ICdvbl9jbGlja19pbWFnZScsXG4gIE9OX0RBTUFHRSA9ICdvbl9kYW1hZ2UnLFxuICBPTl9HTE9CQUxfQ0xJQ0sgPSAnb25fZ2xvYmFsX2NsaWNrJyxcbiAgT05fR0xPQkFMX1BSSU1BUlkgPSAnb25fZ2xvYmFsX3ByaW1hcnknLFxuICBPTl9HTE9CQUxfU0VDT05EQVJZID0gJ29uX2dsb2JhbF9zZWNvbmRhcnknLFxuICBPTl9USUNLID0gJ29uX3RpY2snLFxuICBPTl9IRUFMX1BMQVlFUiA9ICdvbl9oZWFsX3BsYXllcicsXG4gIE9OX1BMQVlFUl9TUEFXTiA9ICdvbl9wbGF5ZXJfc3Bhd24nLFxufVxuXG5leHBvcnQgZW51bSBUcmlnZ2VyQ29uZGl0aW9uVHlwZSB7XG4gIFdIRU5fU1RBVEVfSVMgPSAnd2hlbl9zdGF0ZV9pcycsXG4gIFdIRU5fU1RBVEVfSVNfTk9UID0gJ3doZW5fc3RhdGVfaXNfbm90JyxcbiAgV0hFTl9DT1VOVEVSX0VRVUFMUyA9ICd3aGVuX2NvdW50ZXJfZXF1YWxzJyxcbiAgV0hFTl9DT1VOVEVSX0lTX0dSRUFURVJfVEhBTiA9ICd3aGVuX2NvdW50ZXJfaXNfZ3JlYXRlcl90aGFuJyxcbiAgV0hFTl9DT1VOVEVSX0lTX0xFU1NfVEhBTiA9ICd3aGVuX2NvdW50ZXJfaXNfbGVzc190aGFuJyxcbiAgV0hFTl9ESVNUQU5DRV9UT19QTEFZRVJfTEVTU19USEFOID0gJ3doZW5fZGlzdGFuY2VfdG9fcGxheWVyX2xlc3NfdGhhbicsXG4gIFdIRU5fRElTVEFOQ0VfVE9fUExBWUVSX0dSRUFURVJfVEhBTiA9ICd3aGVuX2Rpc3RhbmNlX3RvX3BsYXllcl9ncmVhdGVyX3RoYW4nLFxuICBXSEVOX1BSRVZJT1VTX1NUQVRFX0lTID0gJ3doZW5fcHJldmlvdXNfc3RhdGVfaXMnLFxuICBXSEVOX1BSRVZJT1VTX1NUQVRFX0lTX05PVCA9ICd3aGVuX3ByZXZpb3VzX3N0YXRlX2lzX25vdCcsXG59XG5cbmV4cG9ydCBlbnVtIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24ge1xuICBBTkQgPSAnYW5kJyxcbiAgT1IgPSAnb3InLFxufVxuXG4vLyBEZWZpbmVkIHZhbHVlcyBpbnN0ZWFkIG9mIHVzaW5nIGZyb20gQGRjbC9lY3MgYmVjYXVzZSBTY2hlbWFzIGRvZXNuJ3Qgc3VwcG9ydCBjb25zdCBlbnVtc1xuZXhwb3J0IGVudW0gQWxpZ25Nb2RlIHtcbiAgVEFNX1RPUF9MRUZUID0gMCxcbiAgVEFNX1RPUF9DRU5URVIgPSAxLFxuICBUQU1fVE9QX1JJR0hUID0gMixcbiAgVEFNX01JRERMRV9MRUZUID0gMyxcbiAgVEFNX01JRERMRV9DRU5URVIgPSA0LFxuICBUQU1fTUlERExFX1JJR0hUID0gNSxcbiAgVEFNX0JPVFRPTV9MRUZUID0gNixcbiAgVEFNX0JPVFRPTV9DRU5URVIgPSA3LFxuICBUQU1fQk9UVE9NX1JJR0hUID0gOCxcbn1cblxuLy8gRGVmaW5lZCB2YWx1ZXMgaW5zdGVhZCBvZiB1c2luZyBmcm9tIEBkY2wvZWNzIGJlY2F1c2UgU2NoZW1hcyBkb2Vzbid0IHN1cHBvcnQgY29uc3QgZW51bXNcbmV4cG9ydCBlbnVtIEZvbnQge1xuICBGX1NBTlNfU0VSSUYgPSAwLFxuICBGX1NFUklGID0gMSxcbiAgRl9NT05PU1BBQ0UgPSAyLFxufVxuXG5leHBvcnQgdHlwZSBTY3JlZW5BbGlnbk1vZGUgPSB7XG4gIGFsaWduSXRlbXM6IFlHQWxpZ247XG4gIGp1c3RpZnlDb250ZW50OiBZR0p1c3RpZnk7XG59O1xuXG4vLyBEZWZpbmVkIHZhbHVlcyBpbnN0ZWFkIG9mIHVzaW5nIGZyb20gQGRjbC9lY3MgYmVjYXVzZSBTY2hlbWFzIGRvZXNuJ3Qgc3VwcG9ydCBjb25zdCBlbnVtc1xuZXhwb3J0IGVudW0gQ29sbGlkZXJzIHtcbiAgLyoqIENMX05PTkUgLSBubyBjb2xsaXNpb25zICovXG4gIENMX05PTkUgPSAwLFxuICAvKiogQ0xfUE9JTlRFUiAtIGNvbGxpc2lvbnMgd2l0aCB0aGUgcGxheWVyJ3MgcG9pbnRlciByYXkgKGUuZy4gbW91c2UgY3Vyc29yIGhvdmVyaW5nKSAqL1xuICBDTF9QT0lOVEVSID0gMSxcbiAgLyoqIENMX1BIWVNJQ1MgLSBjb2xsaXNpb24gYWZmZWN0aW5nIHlvdXIgcGxheWVyJ3MgcGh5c2ljcyBpLmUuIHdhbGxzLCBmbG9vciwgbW92aW5nIHBsYXRmcm9tcyAqL1xuICBDTF9QSFlTSUNTID0gMixcbiAgQ0xfUkVTRVJWRUQxID0gNCxcbiAgQ0xfUkVTRVJWRUQyID0gOCxcbiAgQ0xfUkVTRVJWRUQzID0gMTYsXG4gIENMX1JFU0VSVkVENCA9IDMyLFxuICBDTF9SRVNFUlZFRDUgPSA2NCxcbiAgQ0xfUkVTRVJWRUQ2ID0gMTI4LFxuICBDTF9DVVNUT00xID0gMjU2LFxuICBDTF9DVVNUT00yID0gNTEyLFxuICBDTF9DVVNUT00zID0gMTAyNCxcbiAgQ0xfQ1VTVE9NNCA9IDIwNDgsXG4gIENMX0NVU1RPTTUgPSA0MDk2LFxuICBDTF9DVVNUT002ID0gODE5MixcbiAgQ0xfQ1VTVE9NNyA9IDE2Mzg0LFxuICBDTF9DVVNUT004ID0gMzI3NjgsXG59XG5cbi8vIERlZmluZWQgdmFsdWVzIGluc3RlYWQgb2YgdXNpbmcgZnJvbSBAZGNsL2VjcyBiZWNhdXNlIFNjaGVtYXMgZG9lc24ndCBzdXBwb3J0IGNvbnN0IGVudW1zXG5leHBvcnQgZW51bSBUZXh0dXJlTW92ZW1lbnRUeXBlIHtcbiAgLyoqIGRlZmF1bHQgPSBUZXh0dXJlTW92ZW1lbnRUeXBlLlRNVF9PRkZTRVQgKi9cbiAgVE1UX09GRlNFVCA9IDAsXG4gIFRNVF9USUxJTkcgPSAxLFxufVxuXG5leHBvcnQgZW51bSBQcm94aW1pdHlMYXllciB7XG4gIEFMTCA9ICdhbGwnLFxuICBQTEFZRVIgPSAncGxheWVyJyxcbiAgTk9OX1BMQVlFUiA9ICdub25fcGxheWVyJyxcbn1cblxuZXhwb3J0IGVudW0gQWRtaW5QZXJtaXNzaW9ucyB7XG4gIFBVQkxJQyA9ICdQVUJMSUMnLFxuICBQUklWQVRFID0gJ1BSSVZBVEUnLFxufVxuXG5leHBvcnQgZW51bSBNZWRpYVNvdXJjZSB7XG4gIFZpZGVvVVJMLFxuICBMaXZlU3RyZWFtLFxufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Entity } from '@dcl/sdk/ecs';
|
|
2
|
+
import { Vector3, Quaternion } from '@dcl/sdk/math';
|
|
3
|
+
export declare function getWorldPosition(entity: Entity): Vector3;
|
|
4
|
+
export declare function getWorldRotation(entity: Entity): Quaternion;
|
|
5
|
+
export declare function getEntitiesWithParent(parent: Entity): Entity[];
|
|
6
|
+
export declare function getEntityParent(child: Entity): Entity;
|
|
7
|
+
export declare function getPlayerPosition(): Vector3;
|
package/dist/helpers.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Transform, engine } from '@dcl/sdk/ecs';
|
|
2
|
+
import { Vector3, Quaternion } from '@dcl/sdk/math';
|
|
3
|
+
export function getWorldPosition(entity) {
|
|
4
|
+
const transform = Transform.getOrNull(entity);
|
|
5
|
+
if (!transform)
|
|
6
|
+
return Vector3.Zero();
|
|
7
|
+
const parent = transform.parent;
|
|
8
|
+
if (!parent) {
|
|
9
|
+
return transform.position;
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
return Vector3.add(getWorldPosition(parent), Vector3.rotate(transform.position, getWorldRotation(parent)));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export function getWorldRotation(entity) {
|
|
16
|
+
const transform = Transform.getOrNull(entity);
|
|
17
|
+
if (!transform)
|
|
18
|
+
return Quaternion.Identity();
|
|
19
|
+
const parent = transform.parent;
|
|
20
|
+
if (!parent) {
|
|
21
|
+
return transform.rotation;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return Quaternion.multiply(transform.rotation, getWorldRotation(parent));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export function getEntitiesWithParent(parent) {
|
|
28
|
+
const entitiesWithParent = [];
|
|
29
|
+
for (const [entity, transform] of engine.getEntitiesWith(Transform)) {
|
|
30
|
+
if (transform.parent === parent) {
|
|
31
|
+
entitiesWithParent.push(entity);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return entitiesWithParent;
|
|
35
|
+
}
|
|
36
|
+
export function getEntityParent(child) {
|
|
37
|
+
const transform = Transform.getOrNull(child);
|
|
38
|
+
if (transform) {
|
|
39
|
+
return transform.parent;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return engine.RootEntity;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export function getPlayerPosition() {
|
|
46
|
+
return Transform.getOrNull(engine.PlayerEntity)?.position || Vector3.create();
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU3BELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUFjO0lBQzdDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFOUMsSUFBSSxDQUFDLFNBQVM7UUFBRSxPQUFPLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUV0QyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBRWhDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUM1QixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FDaEIsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQ3hCLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUM3RCxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUM7QUFTRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsTUFBYztJQUM3QyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTlDLElBQUksQ0FBQyxTQUFTO1FBQUUsT0FBTyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFFN0MsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUVoQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWixPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDNUIsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7QUFDSCxDQUFDO0FBU0QsTUFBTSxVQUFVLHFCQUFxQixDQUFDLE1BQWM7SUFDbEQsTUFBTSxrQkFBa0IsR0FBYSxFQUFFLENBQUM7SUFFeEMsS0FBSyxNQUFNLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUNwRSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDaEMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxrQkFBa0IsQ0FBQztBQUM1QixDQUFDO0FBVUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFhO0lBQzNDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLE9BQU8sU0FBUyxDQUFDLE1BQWdCLENBQUM7SUFDcEMsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLE1BQU0sQ0FBQyxVQUFvQixDQUFDO0lBQ3JDLENBQUM7QUFDSCxDQUFDO0FBUUQsTUFBTSxVQUFVLGlCQUFpQjtJQUMvQixPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLFFBQVEsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDaEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5IH0gZnJvbSAnQGRjbC9zZGsvZWNzJztcbmltcG9ydCB7IFRyYW5zZm9ybSwgZW5naW5lIH0gZnJvbSAnQGRjbC9zZGsvZWNzJztcbmltcG9ydCB7IFZlY3RvcjMsIFF1YXRlcm5pb24gfSBmcm9tICdAZGNsL3Nkay9tYXRoJztcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBwb3NpdGlvbiBvZiBhbiBlbnRpdHkgdGhhdCBpcyBhIGNoaWxkIG9mIG90aGVyIGVudGl0aWVzLCByZWxhdGl2ZSB0byB0aGUgc2NlbmUgaW5zdGVhZCBvZiByZWxhdGl2ZSB0byB0aGUgcGFyZW50LiBSZXR1cm5zIGEgVmVjdG9yMy5cbiAqXG4gKiBAcGFyYW0gZW50aXR5IC0gRW50aXR5IHRvIGNhbGN1bGF0ZSBwb3NpdGlvblxuICogQHJldHVybnMgVGhlIEVudGl0eSdzIGdsb2JhbCBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgc2NlbmUncyBvcmlnaW5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFdvcmxkUG9zaXRpb24oZW50aXR5OiBFbnRpdHkpOiBWZWN0b3IzIHtcbiAgY29uc3QgdHJhbnNmb3JtID0gVHJhbnNmb3JtLmdldE9yTnVsbChlbnRpdHkpO1xuXG4gIGlmICghdHJhbnNmb3JtKSByZXR1cm4gVmVjdG9yMy5aZXJvKCk7XG5cbiAgY29uc3QgcGFyZW50ID0gdHJhbnNmb3JtLnBhcmVudDtcblxuICBpZiAoIXBhcmVudCkge1xuICAgIHJldHVybiB0cmFuc2Zvcm0ucG9zaXRpb247XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFZlY3RvcjMuYWRkKFxuICAgICAgZ2V0V29ybGRQb3NpdGlvbihwYXJlbnQpLFxuICAgICAgVmVjdG9yMy5yb3RhdGUodHJhbnNmb3JtLnBvc2l0aW9uLCBnZXRXb3JsZFJvdGF0aW9uKHBhcmVudCkpLFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBwb3NpdGlvbiBvZiBhbiBlbnRpdHkgdGhhdCBpcyBhIGNoaWxkIG9mIG90aGVyIGVudGl0aWVzLCByZWxhdGl2ZSB0byB0aGUgc2NlbmUgaW5zdGVhZCBvZiByZWxhdGl2ZSB0byB0aGUgcGFyZW50LiBSZXR1cm5zIGEgVmVjdG9yMy5cbiAqXG4gKiBAcGFyYW0gZW50aXR5IC0gRW50aXR5IHRvIGNhbGN1bGF0ZSBwb3NpdGlvblxuICogQHJldHVybnMgVGhlIEVudGl0eSdzIGdsb2JhbCByb3RhdGlvbiBpbiByZWZlcmVuY2UgdG8gdGhlIHNjZW5lJ3Mgb3JpZ2luXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRXb3JsZFJvdGF0aW9uKGVudGl0eTogRW50aXR5KTogUXVhdGVybmlvbiB7XG4gIGNvbnN0IHRyYW5zZm9ybSA9IFRyYW5zZm9ybS5nZXRPck51bGwoZW50aXR5KTtcblxuICBpZiAoIXRyYW5zZm9ybSkgcmV0dXJuIFF1YXRlcm5pb24uSWRlbnRpdHkoKTtcblxuICBjb25zdCBwYXJlbnQgPSB0cmFuc2Zvcm0ucGFyZW50O1xuXG4gIGlmICghcGFyZW50KSB7XG4gICAgcmV0dXJuIHRyYW5zZm9ybS5yb3RhdGlvbjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gUXVhdGVybmlvbi5tdWx0aXBseSh0cmFuc2Zvcm0ucm90YXRpb24sIGdldFdvcmxkUm90YXRpb24ocGFyZW50KSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFuIGFycmF5IG9mIGVudGl0aWVzIHRoYXQgYWxsIHNoYXJlIHRoZSBwcm92aWRlZCBlbnRpdHkgYXMgcGFyZW50LlxuICpcbiAqIEBwYXJhbSBwYXJlbnQgLSBQYXJlbnQgb2YgdGhlIGVudGl0aWVzIHlvdSB3YW50IHRvIGZldGNoLlxuICogQHJldHVybnMgQW4gYXJyYXkgb2YgZW50aXRpZXMgdGhhdCBhcmUgY2hpbGRyZW4gb2YgdGhlIHByb3ZpZGVkIGVudGl0eS4gSWYgdGhlIGVudGl0eSBoYXMgbm8gY2hpbGRyZW4sIGl0IHJldHVybnMgYW4gZW1wdHkgYXJyYXkuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnRpdGllc1dpdGhQYXJlbnQocGFyZW50OiBFbnRpdHkpOiBFbnRpdHlbXSB7XG4gIGNvbnN0IGVudGl0aWVzV2l0aFBhcmVudDogRW50aXR5W10gPSBbXTtcblxuICBmb3IgKGNvbnN0IFtlbnRpdHksIHRyYW5zZm9ybV0gb2YgZW5naW5lLmdldEVudGl0aWVzV2l0aChUcmFuc2Zvcm0pKSB7XG4gICAgaWYgKHRyYW5zZm9ybS5wYXJlbnQgPT09IHBhcmVudCkge1xuICAgICAgZW50aXRpZXNXaXRoUGFyZW50LnB1c2goZW50aXR5KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZW50aXRpZXNXaXRoUGFyZW50O1xufVxuXG4vKipcbiAqIFJldHVybnMgYW4gZW50aXR5IHRoYXQgaXMgdGhlIHBhcmVudCBvZiB0aGUgcHJvdmlkZWQgZW50aXR5LlxuICpcbiAqIEBwYXJhbSBjaGlsZCAtIENoaWxkIG9mIHRoZSBlbnRpdHkgeW91IHdhbnQgdG8gZmV0Y2guXG4gKiBAcmV0dXJucyBUaGUgcGFyZW50IGVudGl0eS4gSWYgbm8gcGFyZW50IGlzIGZvdW5kIGl0IGRlZmF1bHRzIHRvIHRoZSByb290IGVudGl0eSBvZiB0aGUgc2NlbmUuXG4gKiBAcHVibGljXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVudGl0eVBhcmVudChjaGlsZDogRW50aXR5KTogRW50aXR5IHtcbiAgY29uc3QgdHJhbnNmb3JtID0gVHJhbnNmb3JtLmdldE9yTnVsbChjaGlsZCk7XG4gIGlmICh0cmFuc2Zvcm0pIHtcbiAgICByZXR1cm4gdHJhbnNmb3JtLnBhcmVudCBhcyBFbnRpdHk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGVuZ2luZS5Sb290RW50aXR5IGFzIEVudGl0eTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHBvc2l0aW9uIG9mIHRoZSBwbGF5ZXIncyBhdmF0YXIuXG4gKlxuICogQHJldHVybnMgQSBWZWN0b3IzIHdpdGggdGhlIGN1cnJlbnQgcG9zaXRpb24gb2YgdGhlIHBsYXllcidzIGF2YXRhciwgcmVsYXRpdmUgdG8gdGhlIHNjZW5lJ3Mgb3JpZ2luLiBJZiBubyBkYXRhIGNhbiBiZSByZXRyaWV2ZWQsIGl0IHJldHVybnMgKDAsMCwwKS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBsYXllclBvc2l0aW9uKCk6IFZlY3RvcjMge1xuICByZXR1cm4gVHJhbnNmb3JtLmdldE9yTnVsbChlbmdpbmUuUGxheWVyRW50aXR5KT8ucG9zaXRpb24gfHwgVmVjdG9yMy5jcmVhdGUoKTtcbn1cbiJdfQ==
|