@veloceapps/sdk 7.0.0-2 → 7.0.0-3
Sign up to get free protection for your applications and to get access to all the features.
- package/bundles/veloceapps-sdk-cms.umd.js +98 -14
- package/bundles/veloceapps-sdk-cms.umd.js.map +1 -1
- package/bundles/veloceapps-sdk.umd.js.map +1 -1
- package/cms/cms.elements.d.ts +1 -1
- package/cms/cms.layouts.d.ts +4 -0
- package/cms/plugins/region.plugin.d.ts +17 -0
- package/cms/types/common.types.d.ts +8 -1
- package/cms/types/index.d.ts +0 -1
- package/cms/types/layouts.types.d.ts +74 -0
- package/cms/utils/element.utils.d.ts +1 -1
- package/esm2015/cms/cms.elements.js +12 -1
- package/esm2015/cms/cms.layouts.js +179 -0
- package/esm2015/cms/plugins/region.plugin.js +58 -0
- package/esm2015/cms/types/common.types.js +1 -1
- package/esm2015/cms/types/index.js +1 -2
- package/esm2015/cms/types/layouts.types.js +2 -0
- package/esm2015/cms/utils/element.utils.js +10 -14
- package/esm2015/cms/utils/elements-resolver.js +8 -2
- package/esm2015/src/components/header/metrics/metrics.component.js +2 -2
- package/esm2015/src/types/index.js +2 -1
- package/esm2015/{cms → src}/types/metrics.types.js +1 -1
- package/fesm2015/veloceapps-sdk-cms.js +255 -15
- package/fesm2015/veloceapps-sdk-cms.js.map +1 -1
- package/fesm2015/veloceapps-sdk.js.map +1 -1
- package/package.json +1 -1
- package/src/components/header/metrics/metrics.component.d.ts +1 -1
- package/src/types/index.d.ts +1 -0
- /package/{cms → src}/types/metrics.types.d.ts +0 -0
package/cms/cms.elements.d.ts
CHANGED
@@ -0,0 +1,17 @@
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
2
|
+
import { ElementComponent } from '../components/element.component';
|
3
|
+
import { PluginComponent } from '../components/plugin.component';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export declare class RegionPlugin implements PluginComponent, OnDestroy {
|
6
|
+
host: ElementComponent;
|
7
|
+
private metadata;
|
8
|
+
private document;
|
9
|
+
private el;
|
10
|
+
private regionNameEl;
|
11
|
+
private destroy$;
|
12
|
+
constructor(host: ElementComponent);
|
13
|
+
ngOnDestroy(): void;
|
14
|
+
private addRegionName;
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RegionPlugin, never>;
|
16
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RegionPlugin, never, never, {}, {}, never>;
|
17
|
+
}
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import { Dictionary } from 'lodash';
|
2
2
|
import { Entity } from '../engine/models/entity';
|
3
3
|
import { Plugin } from '../engine/models/plugin';
|
4
|
-
|
4
|
+
import { PageLayout } from './layouts.types';
|
5
|
+
export declare type ELEMENT_TYPE = 'CUSTOM' | 'CONTAINER' | 'SERVICE' | 'REFERENCE' | 'PAGE' | 'REGION';
|
5
6
|
export declare type ElementStyleDeclaration = Partial<CSSStyleDeclaration>;
|
6
7
|
export interface ElementConfig {
|
7
8
|
component: typeof Entity;
|
@@ -97,6 +98,12 @@ export interface ElementDefaultMetadata {
|
|
97
98
|
* Contains styles configurable from UI builder
|
98
99
|
*/
|
99
100
|
configuredStyles?: ElementStyleDeclaration;
|
101
|
+
/**
|
102
|
+
* Page layout
|
103
|
+
*
|
104
|
+
* Used only when `type === PAGE`
|
105
|
+
*/
|
106
|
+
layout?: PageLayout;
|
100
107
|
}
|
101
108
|
export interface ElementMetadata extends Omit<ElementDefaultMetadata, 'children'> {
|
102
109
|
path?: string;
|
package/cms/types/index.d.ts
CHANGED
@@ -0,0 +1,74 @@
|
|
1
|
+
/**
|
2
|
+
* List of available layouts:
|
3
|
+
*
|
4
|
+
LAYOUT_1
|
5
|
+
+-------------------------+
|
6
|
+
| 1. HEADER |
|
7
|
+
|-------------------------|
|
8
|
+
| |
|
9
|
+
| 2. CONTAINER |
|
10
|
+
| |
|
11
|
+
|-------------------------|
|
12
|
+
| 3. FOOTER |
|
13
|
+
+-------------------------+
|
14
|
+
|
15
|
+
LAYOUT_2
|
16
|
+
+-------------------------+
|
17
|
+
| 1. HEADER |
|
18
|
+
|------------+------------|
|
19
|
+
| | |
|
20
|
+
| 2. LEFT | 3. RIGHT |
|
21
|
+
| | |
|
22
|
+
|------------+------------|
|
23
|
+
| 4. FOOTER |
|
24
|
+
+-------------------------+
|
25
|
+
|
26
|
+
LAYOUT_3
|
27
|
+
+-------------------------+
|
28
|
+
| |
|
29
|
+
| |
|
30
|
+
| 1. CONTAINER |
|
31
|
+
| |
|
32
|
+
| |
|
33
|
+
|-------------------------|
|
34
|
+
| 2. FOOTER |
|
35
|
+
+-------------------------+
|
36
|
+
|
37
|
+
LAYOUT_4
|
38
|
+
+-------------------------+
|
39
|
+
| | |
|
40
|
+
| | |
|
41
|
+
| 1. LEFT | 2. RIGHT |
|
42
|
+
| | |
|
43
|
+
| | |
|
44
|
+
|------------+------------|
|
45
|
+
| 3. FOOTER |
|
46
|
+
+-------------------------+
|
47
|
+
|
48
|
+
LAYOUT_5
|
49
|
+
+-------------------------+
|
50
|
+
| 1. HEADER |
|
51
|
+
|-------------------------|
|
52
|
+
| |
|
53
|
+
| |
|
54
|
+
| 2. CONTAINER |
|
55
|
+
| |
|
56
|
+
| |
|
57
|
+
+-------------------------+
|
58
|
+
|
59
|
+
LAYOUT_6
|
60
|
+
+-------------------------+
|
61
|
+
| |
|
62
|
+
| |
|
63
|
+
| |
|
64
|
+
| 1. CONTAINER |
|
65
|
+
| |
|
66
|
+
| |
|
67
|
+
| |
|
68
|
+
+-------------------------+
|
69
|
+
|
70
|
+
*/
|
71
|
+
export declare type PageLayout = 'LAYOUT_1' | 'LAYOUT_2' | 'LAYOUT_3' | 'LAYOUT_4' | 'LAYOUT_5' | 'LAYOUT_6';
|
72
|
+
export interface PageLayoutConfig {
|
73
|
+
styles?: string;
|
74
|
+
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { UIElement } from '@veloceapps/sdk/core';
|
2
|
-
import { ElementConfig, ElementDefaultMetadata, ElementMetadata
|
2
|
+
import { ELEMENT_TYPE, ElementConfig, ElementDefaultMetadata, ElementMetadata } from '../types';
|
3
3
|
export declare class UiBuildError extends Error {
|
4
4
|
affectedMetadata: ElementMetadata;
|
5
5
|
constructor(message: string, affectedMetadata: ElementMetadata);
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { ElementComponent } from './components/element.component';
|
2
2
|
import { IOPlugin } from './plugins/io.plugin';
|
3
|
+
import { RegionPlugin } from './plugins/region.plugin';
|
3
4
|
import { ScriptPlugin } from './plugins/script.plugin';
|
4
5
|
/*
|
5
6
|
* ScriptPlugin must always be the last plugin in the list to make sure user code is running after all pre-initializers.
|
@@ -25,5 +26,15 @@ export const CONFIG = {
|
|
25
26
|
plugins: [IOPlugin, ScriptPlugin],
|
26
27
|
suppressTemplate: true,
|
27
28
|
},
|
29
|
+
PAGE: {
|
30
|
+
component: ElementComponent,
|
31
|
+
defaultTemplate: '<element-children></element-children>',
|
32
|
+
plugins: [IOPlugin, ScriptPlugin],
|
33
|
+
},
|
34
|
+
REGION: {
|
35
|
+
component: ElementComponent,
|
36
|
+
defaultTemplate: '<element-children></element-children>',
|
37
|
+
plugins: [IOPlugin, ScriptPlugin, RegionPlugin],
|
38
|
+
},
|
28
39
|
};
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLmVsZW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2Ntcy5lbGVtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd2RDs7R0FFRztBQUVILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBNkM7SUFDOUQsTUFBTSxFQUFFO1FBQ04sU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDO0tBQ2xDO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixlQUFlLEVBQUUsdUNBQXVDO1FBQ3hELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztLQUN4QjtJQUNELE9BQU8sRUFBRTtRQUNQLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQztRQUNqQyxnQkFBZ0IsRUFBRSxJQUFJO1FBQ3RCLGNBQWMsRUFBRSxJQUFJO0tBQ3JCO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDO1FBQ2pDLGdCQUFnQixFQUFFLElBQUk7S0FDdkI7SUFDRCxJQUFJLEVBQUU7UUFDSixTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLGVBQWUsRUFBRSx1Q0FBdUM7UUFDeEQsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQztLQUNsQztJQUNELE1BQU0sRUFBRTtRQUNOLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsZUFBZSxFQUFFLHVDQUF1QztRQUN4RCxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQztLQUNoRDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IElPUGx1Z2luIH0gZnJvbSAnLi9wbHVnaW5zL2lvLnBsdWdpbic7XG5pbXBvcnQgeyBSZWdpb25QbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvcmVnaW9uLnBsdWdpbic7XG5pbXBvcnQgeyBTY3JpcHRQbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvc2NyaXB0LnBsdWdpbic7XG5pbXBvcnQgeyBFTEVNRU5UX1RZUEUsIEVsZW1lbnRDb25maWcgfSBmcm9tICcuL3R5cGVzL2NvbW1vbi50eXBlcyc7XG5cbi8qXG4gKiBTY3JpcHRQbHVnaW4gbXVzdCBhbHdheXMgYmUgdGhlIGxhc3QgcGx1Z2luIGluIHRoZSBsaXN0IHRvIG1ha2Ugc3VyZSB1c2VyIGNvZGUgaXMgcnVubmluZyBhZnRlciBhbGwgcHJlLWluaXRpYWxpemVycy5cbiAqL1xuXG5leHBvcnQgY29uc3QgQ09ORklHOiB7IFtrZXkgaW4gRUxFTUVOVF9UWVBFXTogRWxlbWVudENvbmZpZyB9ID0ge1xuICBDVVNUT006IHtcbiAgICBjb21wb25lbnQ6IEVsZW1lbnRDb21wb25lbnQsXG4gICAgcGx1Z2luczogW0lPUGx1Z2luLCBTY3JpcHRQbHVnaW5dLFxuICB9LFxuICBDT05UQUlORVI6IHtcbiAgICBjb21wb25lbnQ6IEVsZW1lbnRDb21wb25lbnQsXG4gICAgZGVmYXVsdFRlbXBsYXRlOiAnPGVsZW1lbnQtY2hpbGRyZW4+PC9lbGVtZW50LWNoaWxkcmVuPicsXG4gICAgcGx1Z2luczogW1NjcmlwdFBsdWdpbl0sXG4gIH0sXG4gIFNFUlZJQ0U6IHtcbiAgICBjb21wb25lbnQ6IEVsZW1lbnRDb21wb25lbnQsXG4gICAgcGx1Z2luczogW0lPUGx1Z2luLCBTY3JpcHRQbHVnaW5dLFxuICAgIHN1cHByZXNzVGVtcGxhdGU6IHRydWUsXG4gICAgc3VwcHJlc3NTdHlsZXM6IHRydWUsXG4gIH0sXG4gIFJFRkVSRU5DRToge1xuICAgIGNvbXBvbmVudDogRWxlbWVudENvbXBvbmVudCxcbiAgICBwbHVnaW5zOiBbSU9QbHVnaW4sIFNjcmlwdFBsdWdpbl0sXG4gICAgc3VwcHJlc3NUZW1wbGF0ZTogdHJ1ZSxcbiAgfSxcbiAgUEFHRToge1xuICAgIGNvbXBvbmVudDogRWxlbWVudENvbXBvbmVudCxcbiAgICBkZWZhdWx0VGVtcGxhdGU6ICc8ZWxlbWVudC1jaGlsZHJlbj48L2VsZW1lbnQtY2hpbGRyZW4+JyxcbiAgICBwbHVnaW5zOiBbSU9QbHVnaW4sIFNjcmlwdFBsdWdpbl0sXG4gIH0sXG4gIFJFR0lPTjoge1xuICAgIGNvbXBvbmVudDogRWxlbWVudENvbXBvbmVudCxcbiAgICBkZWZhdWx0VGVtcGxhdGU6ICc8ZWxlbWVudC1jaGlsZHJlbj48L2VsZW1lbnQtY2hpbGRyZW4+JyxcbiAgICBwbHVnaW5zOiBbSU9QbHVnaW4sIFNjcmlwdFBsdWdpbiwgUmVnaW9uUGx1Z2luXSxcbiAgfSxcbn07XG4iXX0=
|
@@ -0,0 +1,179 @@
|
|
1
|
+
export const LAYOUT = {
|
2
|
+
LAYOUT_1: {
|
3
|
+
styles: `
|
4
|
+
/* start of LAYOUT_1 styles */
|
5
|
+
:host {
|
6
|
+
height: 100%;
|
7
|
+
display: grid;
|
8
|
+
grid:
|
9
|
+
"header" auto
|
10
|
+
"main" 1fr
|
11
|
+
"footer" auto
|
12
|
+
/ 1fr;
|
13
|
+
gap: 10px;
|
14
|
+
padding: 10px;
|
15
|
+
}
|
16
|
+
|
17
|
+
:host ::ng-deep element-children > vl-cms-element-renderer {
|
18
|
+
&:nth-child(1) > vl-element {
|
19
|
+
min-height: 80px;
|
20
|
+
grid-area: header;
|
21
|
+
}
|
22
|
+
|
23
|
+
&:nth-child(2) > vl-element {
|
24
|
+
grid-area: main;
|
25
|
+
}
|
26
|
+
|
27
|
+
&:nth-child(3) > vl-element {
|
28
|
+
min-height: 80px;
|
29
|
+
grid-area: footer;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
/* end of LAYOUT_1 styles */
|
33
|
+
`,
|
34
|
+
},
|
35
|
+
LAYOUT_2: {
|
36
|
+
styles: `
|
37
|
+
/* start of LAYOUT_2 styles */
|
38
|
+
:host {
|
39
|
+
height: 100%;
|
40
|
+
display: grid;
|
41
|
+
grid:
|
42
|
+
"header header" auto
|
43
|
+
"left right" 1fr
|
44
|
+
"footer footer" auto
|
45
|
+
/ 1fr 1fr;
|
46
|
+
gap: 10px;
|
47
|
+
padding: 10px;
|
48
|
+
}
|
49
|
+
|
50
|
+
:host ::ng-deep element-children > vl-cms-element-renderer {
|
51
|
+
&:nth-child(1) > vl-element {
|
52
|
+
min-height: 80px;
|
53
|
+
grid-area: header;
|
54
|
+
}
|
55
|
+
|
56
|
+
&:nth-child(2) > vl-element {
|
57
|
+
grid-area: left;
|
58
|
+
}
|
59
|
+
|
60
|
+
&:nth-child(3) > vl-element {
|
61
|
+
grid-area: right;
|
62
|
+
}
|
63
|
+
|
64
|
+
&:nth-child(4) > vl-element {
|
65
|
+
min-height: 80px;
|
66
|
+
grid-area: footer;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
/* end of LAYOUT_2 styles */
|
70
|
+
`,
|
71
|
+
},
|
72
|
+
LAYOUT_3: {
|
73
|
+
styles: `
|
74
|
+
/* start of LAYOUT_3 styles */
|
75
|
+
:host {
|
76
|
+
height: 100%;
|
77
|
+
display: grid;
|
78
|
+
grid:
|
79
|
+
"main" 1fr
|
80
|
+
"footer" auto
|
81
|
+
/ 1fr;
|
82
|
+
gap: 10px;
|
83
|
+
padding: 10px;
|
84
|
+
}
|
85
|
+
|
86
|
+
:host ::ng-deep element-children > vl-cms-element-renderer {
|
87
|
+
&:nth-child(1) > vl-element {
|
88
|
+
grid-area: main;
|
89
|
+
}
|
90
|
+
|
91
|
+
&:nth-child(2) > vl-element {
|
92
|
+
min-height: 80px;
|
93
|
+
grid-area: footer;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
/* end of LAYOUT_3 styles */
|
97
|
+
`,
|
98
|
+
},
|
99
|
+
LAYOUT_4: {
|
100
|
+
styles: `
|
101
|
+
/* start of LAYOUT_4 styles */
|
102
|
+
:host {
|
103
|
+
height: 100%;
|
104
|
+
display: grid;
|
105
|
+
grid:
|
106
|
+
"left right" 1fr
|
107
|
+
"footer footer" auto
|
108
|
+
/ auto auto;
|
109
|
+
gap: 10px;
|
110
|
+
padding: 10px;
|
111
|
+
}
|
112
|
+
|
113
|
+
:host ::ng-deep element-children > vl-cms-element-renderer {
|
114
|
+
&:nth-child(1) > vl-element {
|
115
|
+
grid-area: left;
|
116
|
+
}
|
117
|
+
|
118
|
+
&:nth-child(2) > vl-element {
|
119
|
+
grid-area: right;
|
120
|
+
}
|
121
|
+
|
122
|
+
&:nth-child(3) > vl-element {
|
123
|
+
min-height: 80px;
|
124
|
+
grid-area: footer;
|
125
|
+
}
|
126
|
+
}
|
127
|
+
/* end of LAYOUT_4 styles */
|
128
|
+
`,
|
129
|
+
},
|
130
|
+
LAYOUT_5: {
|
131
|
+
styles: `
|
132
|
+
/* start of LAYOUT_5 styles */
|
133
|
+
:host {
|
134
|
+
height: 100%;
|
135
|
+
display: grid;
|
136
|
+
grid:
|
137
|
+
"header" auto
|
138
|
+
"main" 1fr
|
139
|
+
/ 1fr;
|
140
|
+
gap: 10px;
|
141
|
+
padding: 10px;
|
142
|
+
}
|
143
|
+
|
144
|
+
:host ::ng-deep element-children > vl-cms-element-renderer {
|
145
|
+
&:nth-child(1) > vl-element {
|
146
|
+
min-height: 80px;
|
147
|
+
grid-area: header;
|
148
|
+
}
|
149
|
+
|
150
|
+
&:nth-child(2) > vl-element {
|
151
|
+
grid-area: main;
|
152
|
+
}
|
153
|
+
}
|
154
|
+
/* end of LAYOUT_5 styles */
|
155
|
+
`,
|
156
|
+
},
|
157
|
+
LAYOUT_6: {
|
158
|
+
styles: `
|
159
|
+
/* start of LAYOUT_6 styles */
|
160
|
+
:host {
|
161
|
+
height: 100%;
|
162
|
+
display: grid;
|
163
|
+
grid:
|
164
|
+
"main" 1fr
|
165
|
+
/ 1fr;
|
166
|
+
gap: 10px;
|
167
|
+
padding: 10px;
|
168
|
+
}
|
169
|
+
|
170
|
+
:host ::ng-deep element-children > vl-cms-element-renderer {
|
171
|
+
&:nth-child(1) > vl-element {
|
172
|
+
grid-area: main;
|
173
|
+
}
|
174
|
+
}
|
175
|
+
/* end of LAYOUT_6 styles */
|
176
|
+
`,
|
177
|
+
},
|
178
|
+
};
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLmxheW91dHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY21zLmxheW91dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUE4QztJQUMvRCxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQThCWDtLQUNFO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBa0NYO0tBQ0U7SUFDRCxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXdCWDtLQUNFO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNEJYO0tBQ0U7SUFDRCxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXdCWDtLQUNFO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FrQlg7S0FDRTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYWdlTGF5b3V0LCBQYWdlTGF5b3V0Q29uZmlnIH0gZnJvbSAnLi90eXBlcy9sYXlvdXRzLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IExBWU9VVDogeyBba2V5IGluIFBhZ2VMYXlvdXRdOiBQYWdlTGF5b3V0Q29uZmlnIH0gPSB7XG4gIExBWU9VVF8xOiB7XG4gICAgc3R5bGVzOiBgXG4vKiBzdGFydCBvZiBMQVlPVVRfMSBzdHlsZXMgKi9cbjpob3N0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkOlxuICAgIFwiaGVhZGVyXCIgYXV0b1xuICAgIFwibWFpblwiIDFmclxuICAgIFwiZm9vdGVyXCIgYXV0b1xuICAgIC8gMWZyO1xuICBnYXA6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbjpob3N0IDo6bmctZGVlcCBlbGVtZW50LWNoaWxkcmVuID4gdmwtY21zLWVsZW1lbnQtcmVuZGVyZXIge1xuICAmOm50aC1jaGlsZCgxKSA+IHZsLWVsZW1lbnQge1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgZ3JpZC1hcmVhOiBoZWFkZXI7XG4gIH1cblxuICAmOm50aC1jaGlsZCgyKSA+IHZsLWVsZW1lbnQge1xuICAgIGdyaWQtYXJlYTogbWFpbjtcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDMpID4gdmwtZWxlbWVudCB7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgICBncmlkLWFyZWE6IGZvb3RlcjtcbiAgfVxufVxuLyogZW5kIG9mIExBWU9VVF8xIHN0eWxlcyAqL1xuYCxcbiAgfSxcbiAgTEFZT1VUXzI6IHtcbiAgICBzdHlsZXM6IGBcbi8qIHN0YXJ0IG9mIExBWU9VVF8yIHN0eWxlcyAqL1xuOmhvc3Qge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQ6XG4gICAgXCJoZWFkZXIgaGVhZGVyXCIgYXV0b1xuICAgIFwibGVmdCByaWdodFwiIDFmclxuICAgIFwiZm9vdGVyIGZvb3RlclwiIGF1dG9cbiAgICAvIDFmciAxZnI7XG4gIGdhcDogMTBweDtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuOmhvc3QgOjpuZy1kZWVwIGVsZW1lbnQtY2hpbGRyZW4gPiB2bC1jbXMtZWxlbWVudC1yZW5kZXJlciB7XG4gICY6bnRoLWNoaWxkKDEpID4gdmwtZWxlbWVudCB7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgICBncmlkLWFyZWE6IGhlYWRlcjtcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDIpID4gdmwtZWxlbWVudCB7XG4gICAgZ3JpZC1hcmVhOiBsZWZ0O1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMykgPiB2bC1lbGVtZW50IHtcbiAgICBncmlkLWFyZWE6IHJpZ2h0O1xuICB9XG5cbiAgJjpudGgtY2hpbGQoNCkgPiB2bC1lbGVtZW50IHtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIGdyaWQtYXJlYTogZm9vdGVyO1xuICB9XG59XG4vKiBlbmQgb2YgTEFZT1VUXzIgc3R5bGVzICovXG5gLFxuICB9LFxuICBMQVlPVVRfMzoge1xuICAgIHN0eWxlczogYFxuLyogc3RhcnQgb2YgTEFZT1VUXzMgc3R5bGVzICovXG46aG9zdCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZDpcbiAgICBcIm1haW5cIiAxZnJcbiAgICBcImZvb3RlclwiIGF1dG9cbiAgICAvIDFmcjtcbiAgZ2FwOiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG46aG9zdCA6Om5nLWRlZXAgZWxlbWVudC1jaGlsZHJlbiA+IHZsLWNtcy1lbGVtZW50LXJlbmRlcmVyIHtcbiAgJjpudGgtY2hpbGQoMSkgPiB2bC1lbGVtZW50IHtcbiAgICBncmlkLWFyZWE6IG1haW47XG4gIH1cblxuICAmOm50aC1jaGlsZCgyKSA+IHZsLWVsZW1lbnQge1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgZ3JpZC1hcmVhOiBmb290ZXI7XG4gIH1cbn1cbi8qIGVuZCBvZiBMQVlPVVRfMyBzdHlsZXMgKi9cbmAsXG4gIH0sXG4gIExBWU9VVF80OiB7XG4gICAgc3R5bGVzOiBgXG4vKiBzdGFydCBvZiBMQVlPVVRfNCBzdHlsZXMgKi9cbjpob3N0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkOlxuICAgIFwibGVmdCByaWdodFwiIDFmclxuICAgIFwiZm9vdGVyIGZvb3RlclwiIGF1dG9cbiAgICAvIGF1dG8gYXV0bztcbiAgZ2FwOiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG46aG9zdCA6Om5nLWRlZXAgZWxlbWVudC1jaGlsZHJlbiA+IHZsLWNtcy1lbGVtZW50LXJlbmRlcmVyIHtcbiAgJjpudGgtY2hpbGQoMSkgPiB2bC1lbGVtZW50IHtcbiAgICBncmlkLWFyZWE6IGxlZnQ7XG4gIH1cblxuICAmOm50aC1jaGlsZCgyKSA+IHZsLWVsZW1lbnQge1xuICAgIGdyaWQtYXJlYTogcmlnaHQ7XG4gIH1cblxuICAmOm50aC1jaGlsZCgzKSA+IHZsLWVsZW1lbnQge1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgZ3JpZC1hcmVhOiBmb290ZXI7XG4gIH1cbn1cbi8qIGVuZCBvZiBMQVlPVVRfNCBzdHlsZXMgKi9cbmAsXG4gIH0sXG4gIExBWU9VVF81OiB7XG4gICAgc3R5bGVzOiBgXG4vKiBzdGFydCBvZiBMQVlPVVRfNSBzdHlsZXMgKi9cbjpob3N0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkOlxuICAgIFwiaGVhZGVyXCIgYXV0b1xuICAgIFwibWFpblwiIDFmclxuICAgIC8gMWZyO1xuICBnYXA6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbjpob3N0IDo6bmctZGVlcCBlbGVtZW50LWNoaWxkcmVuID4gdmwtY21zLWVsZW1lbnQtcmVuZGVyZXIge1xuICAmOm50aC1jaGlsZCgxKSA+IHZsLWVsZW1lbnQge1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgZ3JpZC1hcmVhOiBoZWFkZXI7XG4gIH1cblxuICAmOm50aC1jaGlsZCgyKSA+IHZsLWVsZW1lbnQge1xuICAgIGdyaWQtYXJlYTogbWFpbjtcbiAgfVxufVxuLyogZW5kIG9mIExBWU9VVF81IHN0eWxlcyAqL1xuYCxcbiAgfSxcbiAgTEFZT1VUXzY6IHtcbiAgICBzdHlsZXM6IGBcbi8qIHN0YXJ0IG9mIExBWU9VVF82IHN0eWxlcyAqL1xuOmhvc3Qge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQ6XG4gICAgXCJtYWluXCIgMWZyXG4gICAgLyAxZnI7XG4gIGdhcDogMTBweDtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuOmhvc3QgOjpuZy1kZWVwIGVsZW1lbnQtY2hpbGRyZW4gPiB2bC1jbXMtZWxlbWVudC1yZW5kZXJlciB7XG4gICY6bnRoLWNoaWxkKDEpID4gdmwtZWxlbWVudCB7XG4gICAgZ3JpZC1hcmVhOiBtYWluO1xuICB9XG59XG4vKiBlbmQgb2YgTEFZT1VUXzYgc3R5bGVzICovXG5gLFxuICB9LFxufTtcbiJdfQ==
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
2
|
+
import { Directive, ElementRef } from '@angular/core';
|
3
|
+
import { merge } from 'lodash';
|
4
|
+
import { Subject, takeUntil, tap } from 'rxjs';
|
5
|
+
import { ELEMENT_METADATA } from '../injection-tokens';
|
6
|
+
import { RuntimeEditorService } from '../modules/runtime';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "../components/element.component";
|
9
|
+
export class RegionPlugin {
|
10
|
+
constructor(host) {
|
11
|
+
this.host = host;
|
12
|
+
this.destroy$ = new Subject();
|
13
|
+
this.metadata = this.host.injector.get(ELEMENT_METADATA);
|
14
|
+
this.document = this.host.injector.get(DOCUMENT);
|
15
|
+
this.el = this.host.injector.get(ElementRef);
|
16
|
+
const runtimeEditorService = this.host.injector.get(RuntimeEditorService);
|
17
|
+
runtimeEditorService.editorMode$
|
18
|
+
.pipe(tap(editMode => {
|
19
|
+
var _a;
|
20
|
+
this.el.nativeElement.style.outline = editMode ? 'solid 1px #dce5ef' : '';
|
21
|
+
if (editMode && !this.metadata.children.length) {
|
22
|
+
this.addRegionName();
|
23
|
+
}
|
24
|
+
else {
|
25
|
+
(_a = this.regionNameEl) === null || _a === void 0 ? void 0 : _a.remove();
|
26
|
+
}
|
27
|
+
}), takeUntil(this.destroy$))
|
28
|
+
.subscribe();
|
29
|
+
}
|
30
|
+
ngOnDestroy() {
|
31
|
+
this.destroy$.next();
|
32
|
+
this.destroy$.complete();
|
33
|
+
}
|
34
|
+
addRegionName() {
|
35
|
+
if (this.regionNameEl) {
|
36
|
+
this.regionNameEl.remove();
|
37
|
+
}
|
38
|
+
this.regionNameEl = this.document.createElement('div');
|
39
|
+
this.regionNameEl.innerHTML = this.metadata.name;
|
40
|
+
merge(this.regionNameEl.style, {
|
41
|
+
width: '100%',
|
42
|
+
height: '100%',
|
43
|
+
display: 'flex',
|
44
|
+
justifyContent: 'center',
|
45
|
+
alignItems: 'center',
|
46
|
+
color: '#AEB5BD',
|
47
|
+
pointerEvents: 'none',
|
48
|
+
userSelect: 'none',
|
49
|
+
});
|
50
|
+
this.el.nativeElement.append(this.regionNameEl);
|
51
|
+
}
|
52
|
+
}
|
53
|
+
RegionPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RegionPlugin, deps: [{ token: i1.ElementComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
54
|
+
RegionPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: RegionPlugin, ngImport: i0 });
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RegionPlugin, decorators: [{
|
56
|
+
type: Directive
|
57
|
+
}], ctorParameters: function () { return [{ type: i1.ElementComponent }]; } });
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9wbHVnaW5zL3JlZ2lvbi5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFJMUQsTUFBTSxPQUFPLFlBQVk7SUFPdkIsWUFBbUIsSUFBc0I7UUFBdEIsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFGakMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFHckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3QyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRTFFLG9CQUFvQixDQUFDLFdBQVc7YUFDN0IsSUFBSSxDQUNILEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTs7WUFDYixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUUxRSxJQUFJLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDOUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3RCO2lCQUFNO2dCQUNMLE1BQUEsSUFBSSxDQUFDLFlBQVksMENBQUUsTUFBTSxFQUFFLENBQUM7YUFDN0I7UUFDSCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUM1QjtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFFakQsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUF1QjtZQUNsRCxLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxNQUFNO1lBQ2QsT0FBTyxFQUFFLE1BQU07WUFDZixjQUFjLEVBQUUsUUFBUTtZQUN4QixVQUFVLEVBQUUsUUFBUTtZQUNwQixLQUFLLEVBQUUsU0FBUztZQUNoQixhQUFhLEVBQUUsTUFBTTtZQUNyQixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xELENBQUM7OzBHQXZEVSxZQUFZOzhGQUFaLFlBQVk7NEZBQVosWUFBWTtrQkFEeEIsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGx1Z2luQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9wbHVnaW4uY29tcG9uZW50JztcbmltcG9ydCB7IEVMRU1FTlRfTUVUQURBVEEgfSBmcm9tICcuLi9pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IFJ1bnRpbWVFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vbW9kdWxlcy9ydW50aW1lJztcbmltcG9ydCB7IEVsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uL3R5cGVzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgUmVnaW9uUGx1Z2luIGltcGxlbWVudHMgUGx1Z2luQ29tcG9uZW50LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIG1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGE7XG4gIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgcHJpdmF0ZSByZWdpb25OYW1lRWw6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaG9zdDogRWxlbWVudENvbXBvbmVudCkge1xuICAgIHRoaXMubWV0YWRhdGEgPSB0aGlzLmhvc3QuaW5qZWN0b3IuZ2V0KEVMRU1FTlRfTUVUQURBVEEpO1xuICAgIHRoaXMuZG9jdW1lbnQgPSB0aGlzLmhvc3QuaW5qZWN0b3IuZ2V0KERPQ1VNRU5UKTtcbiAgICB0aGlzLmVsID0gdGhpcy5ob3N0LmluamVjdG9yLmdldChFbGVtZW50UmVmKTtcblxuICAgIGNvbnN0IHJ1bnRpbWVFZGl0b3JTZXJ2aWNlID0gdGhpcy5ob3N0LmluamVjdG9yLmdldChSdW50aW1lRWRpdG9yU2VydmljZSk7XG5cbiAgICBydW50aW1lRWRpdG9yU2VydmljZS5lZGl0b3JNb2RlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcChlZGl0TW9kZSA9PiB7XG4gICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLm91dGxpbmUgPSBlZGl0TW9kZSA/ICdzb2xpZCAxcHggI2RjZTVlZicgOiAnJztcblxuICAgICAgICAgIGlmIChlZGl0TW9kZSAmJiAhdGhpcy5tZXRhZGF0YS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkUmVnaW9uTmFtZSgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlZ2lvbk5hbWVFbD8ucmVtb3ZlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkUmVnaW9uTmFtZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWdpb25OYW1lRWwpIHtcbiAgICAgIHRoaXMucmVnaW9uTmFtZUVsLnJlbW92ZSgpO1xuICAgIH1cblxuICAgIHRoaXMucmVnaW9uTmFtZUVsID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlZ2lvbk5hbWVFbC5pbm5lckhUTUwgPSB0aGlzLm1ldGFkYXRhLm5hbWU7XG5cbiAgICBtZXJnZSh0aGlzLnJlZ2lvbk5hbWVFbC5zdHlsZSwgPENTU1N0eWxlRGVjbGFyYXRpb24+e1xuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICBjb2xvcjogJyNBRUI1QkQnLFxuICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgICAgdXNlclNlbGVjdDogJ25vbmUnLFxuICAgIH0pO1xuXG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFwcGVuZCh0aGlzLnJlZ2lvbk5hbWVFbCk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL3R5cGVzL2NvbW1vbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL2VudGl0eSc7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL3BsdWdpbic7XG5pbXBvcnQgeyBQYWdlTGF5b3V0IH0gZnJvbSAnLi9sYXlvdXRzLnR5cGVzJztcblxuZXhwb3J0IHR5cGUgRUxFTUVOVF9UWVBFID0gJ0NVU1RPTScgfCAnQ09OVEFJTkVSJyB8ICdTRVJWSUNFJyB8ICdSRUZFUkVOQ0UnIHwgJ1BBR0UnIHwgJ1JFR0lPTic7XG5cbmV4cG9ydCB0eXBlIEVsZW1lbnRTdHlsZURlY2xhcmF0aW9uID0gUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50Q29uZmlnIHtcbiAgY29tcG9uZW50OiB0eXBlb2YgRW50aXR5O1xuICBwbHVnaW5zPzogKHR5cGVvZiBQbHVnaW4pW107XG4gIGRlZmF1bHRUZW1wbGF0ZT86IHN0cmluZztcbiAgc3VwcHJlc3NUZW1wbGF0ZT86IGJvb2xlYW47XG4gIHN1cHByZXNzU3R5bGVzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50TW9kZWwge1xuICAvKipcbiAgICogRGVmaW5lcyBhIHBhdGggZm9yIGFuIGVsZW1lbnQgbW9kZWwuXG4gICAqIEl0J3MgY29tYmluZWQgd2l0aCBhIHBhdGggdG8gYSB0YXJnZXQgZWxlbWVudCBhbmQgYW4gb3V0cHV0IHByb3BlcnR5IG5hbWUuXG4gICAqXG4gICAqIElmIHRhcmdldCB2YWx1ZSBpcyBhbiBBcnJheSwgdGhlbiB0aGUgZWxlbWVudCB3aWxsIGJlIHJlcGVhdGVkIGBuYCB0aW1lcyBhbmQgZWFjaCBpbnN0YW5jZSB3aWxsIGdldCBpdCdzIG93biB2YWx1ZS5cbiAgICpcbiAgICogRXhhbXBsZXM6XG4gICAqIC0gYC9Sb290L1NlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0c2BcbiAgICogLSBgLi4vLi4vU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKiAtIGBAU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgb25seSB3aGVuIGBVSURlZmluaXRpb25UeXBlID0gQ09ORklHVVJBVElPTmAuXG4gICAqL1xuICBsaW5lSXRlbT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50RGVmYXVsdE1ldGFkYXRhIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBFTEVNRU5UX1RZUEU7XG4gIC8qKlxuICAgKiBNYWtlIGNvbXBvbmVudCBzaGFyZWRcbiAgICpcbiAgICogVXNlZCBvbmx5IHdoZW4gYHR5cGUgIT09IFJFRkVSRU5DRWBcbiAgICovXG4gIGlzU2hhcmVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVsZW1lbnQgbW9kdWxlIG5hbWUuIE1vZHVsZSBpcyB1c2VkIGZvciBxdWljayBhY2Nlc3MgZnJvbSBvdGhlciBlbGVtZW50cy5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUgd2UgaGF2ZSBhIGBEYXRhU2VydmljZWAgZWxlbWVudCwgYW5kIHdlIHNheSBpdCdzIGRlY2xhcmVkIGluIGBTZXJ2aWNlc2AgbW9kdWxlLiBUaGVuIGl0IGNhbiBiZSBhY2Nlc3NlZCBpbiBvdGhlciBlbGVtZW50cyBgbW9kZWxgLCBgaW5wdXRzYCBvciBgb3V0cHV0c2AgcHJvcGVydGllcyB0aGlzIHdheTogYEBTZXJ2aWNlcy9EYXRhU2VydmljZWBcbiAgICpcbiAgICovXG4gIG1vZHVsZT86IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmluZXMgaW5wdXRzIG9mIHRoZSBlbGVtZW50LiBBbiBvYmplY3Qgd2hlcmUgYGtleWAgaXMgdGhlIG5hbWUgb2YgdGhlIGlucHV0IGFuZCBgdmFsdWVgIGlzIHRhcmdldCBwYXRoXG4gICAqXG4gICAqIElmIGB2YWx1ZSA9PSBudWxsYCwgdGhlbiB0aGUgZWxlbWVudCBhY3RzIGxpa2UgYSB0YXJnZXQgLSB3ZSBleHBlY3Qgb3RoZXIgZWxlbWVudCB0byBjb25uZWN0IHRvIGl0LlxuICAgKlxuICAgKiBFeGFtcGxlczpcbiAgICpcbiAgICogMS4gYHByb2R1Y3RzOiAnL1Jvb3QvU2VydmljZXMvRGF0YVNlcnZpY2UnYFxuICAgKiBUaGUgZWxlbWVudCB3aWxsIGhhdmUgYHByb2R1Y3RzYCBpbnB1dCB3aGljaCB3aWxsIGdldCB0aGUgZGF0YSBmcm9tIGBwcm9kdWN0c2Agb3V0cHV0IGluIGRhdGFzZXJ2aWNlIGVsZW1lbnRcbiAgICpcbiAgICogMi4gYHByb2R1Y3RzTGlzdDogJy9Sb290L1NlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0cydgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgcHJvZHVjdHNMaXN0YCBpbnB1dCB3aGljaCB3aWxsIGdldCB0aGUgZGF0YSBmcm9tIGBwcm9kdWN0c2Agb3V0cHV0IGluIGRhdGFzZXJ2aWNlIGVsZW1lbnRcbiAgICpcbiAgICogMy4gYHByb2R1Y3RzTGlzdDogJ0BTZXJ2aWNlcy9EYXRhU2VydmljZS86cHJvZHVjdHMnYFxuICAgKiBUaGUgZWxlbWVudCB3aWxsIGhhdmUgYHByb2R1Y3RzTGlzdGAgaW5wdXQgd2hpY2ggd2lsbCBnZXQgdGhlIGRhdGEgZnJvbSBgcHJvZHVjdHNgIG91dHB1dCBpbiBkYXRhc2VydmljZSBlbGVtZW50IHdoaWNoIGlzIGRlY2xhcmVkIGluIGBTZXJ2aWNlc2AgbW9kdWxlXG4gICAqXG4gICAqIDQuIGBvblByb2R1Y3RTZWxlY3Q6IG51bGxgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgb25Qcm9kdWN0U2VsZWN0YCBpbnB1dCwgYW5kIHRoZSBzY3JpcHQgY291bGQgaGF2ZSBhIGxvZ2ljIHdoaWNoIHdpbGwgbGlzdGVuIG9uIHRoZSBldmVudHNcbiAgICpcbiAgICogUmVsYXRpdmUgcGF0aHMgYWxsb3dlZDpcbiAgICpcbiAgICogLSBgLi5gXG4gICAqIC0gYC4uLzpwcm9kdWN0c2BcbiAgICogLSBgLi4vLi4vRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKlxuICAgKi9cbiAgaW5wdXRzPzogRGljdGlvbmFyeTxzdHJpbmcgfCBudWxsPjtcbiAgLyoqXG4gICAqIERlZmluZXMgb3V0cHV0cyBvZiB0aGUgZWxlbWVudC4gQW4gb2JqZWN0IHdoZXJlIGBrZXlgIGlzIHRoZSBuYW1lIG9mIHRoZSBvdXRwdXQgYW5kIGB2YWx1ZWAgaXMgdGFyZ2V0IHBhdGhcbiAgICpcbiAgICogSWYgYHZhbHVlID09IG51bGxgLCB0aGVuIHRoZSBlbGVtZW50IGFjdHMgbGlrZSBhIHRhcmdldCAtIHdlIGV4cGVjdCBvdGhlciBlbGVtZW50IHRvIGNvbm5lY3QgdG8gaXQuXG4gICAqXG4gICAqIEV4YW1wbGVzOlxuICAgKlxuICAgKiAxLiBgb25Qcm9kdWN0U2VsZWN0OiAnL1Jvb3QvU2VydmljZXMvRGF0YVNlcnZpY2UvOmhhbmRsZVByb2R1Y3RTZWxlY3QnYFxuICAgKiBUaGUgZWxlbWVudCB3aWxsIGhhdmUgYG9uUHJvZHVjdFNlbGVjdGAgb3V0cHV0LCB3aGljaCB3aWxsIGVtaXQgZXZlbnRzIHRvIHRoZSBgZGF0YXNlcnZpY2VgIGVsZW1lbnQgYGhhbmRsZVByb2R1Y3RTZWxlY3RgIGlucHV0XG4gICAqXG4gICAqIDIuIGBvblByb2R1Y3RTZWxlY3Q6ICdAU2VydmljZXMvRGF0YVNlcnZpY2UvOmhhbmRsZVByb2R1Y3RTZWxlY3QnYFxuICAgKiBTYW1lIG91dHB1dCBidXQgYWNjZXNzaW5nIGRhdGFzZXJ2aWNlIGJ5IHRoZSBTZXJ2aWNlIG1vZHVsZVxuICAgKi9cbiAgb3V0cHV0cz86IERpY3Rpb25hcnk8c3RyaW5nIHwgbnVsbD47XG4gIG1vZGVsPzogRWxlbWVudE1vZGVsO1xuICAvKipcbiAgICogRGVmaW5lcyBhIHNoYXJlZCBjb21wb25lbnQgbmFtZSB0byB1c2UgYXMgYSByZWZlcmVuY2VcbiAgICpcbiAgICogVXNlZCBvbmx5IHdoZW4gYHR5cGUgPT09IFJFRkVSRU5DRWBcbiAgICovXG4gIHJlZmVyZW5jZT86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIENvbnRhaW5zIHN0eWxlcyBjb25maWd1cmFibGUgZnJvbSBVSSBidWlsZGVyXG4gICAqL1xuICBjb25maWd1cmVkU3R5bGVzPzogRWxlbWVudFN0eWxlRGVjbGFyYXRpb247XG4gIC8qKlxuICAgKiBQYWdlIGxheW91dFxuICAgKlxuICAgKiBVc2VkIG9ubHkgd2hlbiBgdHlwZSA9PT0gUEFHRWBcbiAgICovXG4gIGxheW91dD86IFBhZ2VMYXlvdXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWxlbWVudE1ldGFkYXRhIGV4dGVuZHMgT21pdDxFbGVtZW50RGVmYXVsdE1ldGFkYXRhLCAnY2hpbGRyZW4nPiB7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBFbGVtZW50TWV0YWRhdGFbXTtcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XG4gIHN0eWxlcz86IHN0cmluZztcbiAgc2NyaXB0Pzogc3RyaW5nO1xuICBtZXRhZGF0YT86IHN0cmluZztcbn1cbiJdfQ==
|
@@ -3,6 +3,5 @@ export * from './common.types';
|
|
3
3
|
export * from './configuration.types';
|
4
4
|
export * from './elements.types';
|
5
5
|
export * from './integration.types';
|
6
|
-
export * from './metrics.types';
|
7
6
|
export * from './path.types';
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi4vbW9kdWxlcy9ydW50aW1lL3R5cGVzL2NvbXBpbGF0aW9uLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnRzLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZWdyYXRpb24udHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXRoLnR5cGVzJztcbiJdfQ==
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0cy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy90eXBlcy9sYXlvdXRzLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIExpc3Qgb2YgYXZhaWxhYmxlIGxheW91dHM6XG4gKiBcbiAgICAgICAgTEFZT1VUXzFcbiAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG4gICAgICAgIHwgICAgICAgIDEuIEhFQURFUiAgICAgICAgfFxuICAgICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcbiAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgIHwgICAgICAgMi4gQ09OVEFJTkVSICAgICAgfFxuICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18XG4gICAgICAgIHwgICAgICAgIDMuIEZPT1RFUiAgICAgICAgfFxuICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcblxuICAgICAgICBMQVlPVVRfMlxuICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbiAgICAgICAgfCAgICAgICAgMS4gSEVBREVSICAgICAgICB8XG4gICAgICAgIHwtLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tfFxuICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHxcbiAgICAgICAgfCAyLiBMRUZUICAgIHwgIDMuIFJJR0hUICB8XG4gICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICAgfFxuICAgICAgICB8LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLXxcbiAgICAgICAgfCAgICAgICAgNC4gRk9PVEVSICAgICAgICB8XG4gICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xuXG4gICAgICAgIExBWU9VVF8zXG4gICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xuICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgIHwgICAgICAgMS4gQ09OVEFJTkVSICAgICAgfFxuICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfFxuICAgICAgICB8ICAgICAgICAyLiBGT09URVIgICAgICAgIHxcbiAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG5cbiAgICAgICAgTEFZT1VUXzRcbiAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG4gICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICAgfFxuICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHxcbiAgICAgICAgfCAxLiBMRUZUICAgIHwgIDIuIFJJR0hUICB8XG4gICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICAgfFxuICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHxcbiAgICAgICAgfC0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS18XG4gICAgICAgIHwgICAgICAgIDMuIEZPT1RFUiAgICAgICAgfFxuICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcblxuICAgICAgICBMQVlPVVRfNVxuICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbiAgICAgICAgfCAgICAgICAgMS4gSEVBREVSICAgICAgICB8XG4gICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfFxuICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgIHwgICAgICAgMi4gQ09OVEFJTkVSICAgICAgfFxuICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xuXG4gICAgICAgIExBWU9VVF82XG4gICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xuICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgICB8ICAgICAgIDEuIENPTlRBSU5FUiAgICAgIHxcbiAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG5cbiAqL1xuZXhwb3J0IHR5cGUgUGFnZUxheW91dCA9ICdMQVlPVVRfMScgfCAnTEFZT1VUXzInIHwgJ0xBWU9VVF8zJyB8ICdMQVlPVVRfNCcgfCAnTEFZT1VUXzUnIHwgJ0xBWU9VVF82JztcblxuZXhwb3J0IGludGVyZmFjZSBQYWdlTGF5b3V0Q29uZmlnIHtcbiAgc3R5bGVzPzogc3RyaW5nO1xufVxuIl19
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { flatten } from 'lodash';
|
1
|
+
import { flatten, omit } from 'lodash';
|
2
2
|
import { CONFIG } from '../cms.elements';
|
3
3
|
import { IOPlugin } from '../plugins/io.plugin';
|
4
4
|
const EXPORTED_CLASS_REGEX = /export class (\S+)/;
|
@@ -25,18 +25,14 @@ export const elementToMetadata = (el, parentPath) => {
|
|
25
25
|
styles, children: el.children.map(child => elementToMetadata(child, path)) });
|
26
26
|
};
|
27
27
|
export const metadataToElement = (metadata, recursive = true) => {
|
28
|
-
const
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
outputs: metadata.outputs,
|
37
|
-
children: metadata.children.map(({ name }) => name),
|
38
|
-
configuredStyles: metadata.configuredStyles,
|
39
|
-
};
|
28
|
+
const cleanMetadata = omit(metadata, [
|
29
|
+
'path',
|
30
|
+
'template',
|
31
|
+
'styles',
|
32
|
+
'script',
|
33
|
+
'metadata',
|
34
|
+
]);
|
35
|
+
const elMetadata = Object.assign(Object.assign({}, cleanMetadata), { children: metadata.children.map(({ name }) => name) });
|
40
36
|
const normalizedElMetadata = normalizeElementMetadata(elMetadata);
|
41
37
|
if (!metadata.script || !EXPORTED_CLASS_REGEX.test(metadata.script)) {
|
42
38
|
throw new UiBuildError(`'${metadata.name}' component script is missing an exported class`, metadata);
|
@@ -158,4 +154,4 @@ export function flattenElements(elements) {
|
|
158
154
|
export function isSharedElement(el) {
|
159
155
|
return Boolean(el.isShared) && el.type !== 'REFERENCE';
|
160
156
|
}
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy9lbGVtZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdoRCxNQUFNLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO0FBQ2xELE1BQU0sd0JBQXdCLEdBQUcsMERBQTBELENBQUM7QUFFNUYsTUFBTSxPQUFPLFlBQWEsU0FBUSxLQUFLO0lBRXJDLFlBQVksT0FBZSxFQUFFLGdCQUFpQztRQUM1RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEVBQWEsRUFBRSxVQUFtQixFQUFtQixFQUFFOztJQUN2RixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVuRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxD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LElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVJRWxlbWVudCB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4gfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQ09ORklHIH0gZnJvbSAnLi4vY21zLmVsZW1lbnRzJztcbmltcG9ydCB7IElPUGx1Z2luIH0gZnJvbSAnLi4vcGx1Z2lucy9pby5wbHVnaW4nO1xuaW1wb3J0IHsgRWxlbWVudENvbmZpZywgRWxlbWVudERlZmF1bHRNZXRhZGF0YSwgRWxlbWVudE1ldGFkYXRhLCBFbGVtZW50TW9kZWwsIEVMRU1FTlRfVFlQRSB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgRVhQT1JURURfQ0xBU1NfUkVHRVggPSAvZXhwb3J0IGNsYXNzIChcXFMrKS87XG5jb25zdCBNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVggPSAvQEVsZW1lbnREZWZpbml0aW9uXFwoKFtcXHNcXFNdKylcXCkoXFxufFxcclxcbnwuKSpleHBvcnQgY2xhc3MvZztcblxuZXhwb3J0IGNsYXNzIFVpQnVpbGRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcHVibGljIGFmZmVjdGVkTWV0YWRhdGE6IEVsZW1lbnRNZXRhZGF0YTtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBhZmZlY3RlZE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGEpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgdGhpcy5hZmZlY3RlZE1ldGFkYXRhID0gYWZmZWN0ZWRNZXRhZGF0YTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZWxlbWVudFRvTWV0YWRhdGEgPSAoZWw6IFVJRWxlbWVudCwgcGFyZW50UGF0aD86IHN0cmluZyk6IEVsZW1lbnRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IHNjcmlwdCA9IGVsLnNjcmlwdCAmJiB3aW5kb3cuYXRvYihlbC5zY3JpcHQpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IGVsLnRlbXBsYXRlICYmIHdpbmRvdy5hdG9iKGVsLnRlbXBsYXRlKTtcbiAgY29uc3Qgc3R5bGVzID0gZWwuc3R5bGVzICYmIHdpbmRvdy5hdG9iKGVsLnN0eWxlcyk7XG5cbiAgY29uc3QgZXhwb3J0ZWRDbGFzc05hbWUgPSBzY3JpcHQgJiYgKEVYUE9SVEVEX0NMQVNTX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG5cbiAgaWYgKCFleHBvcnRlZENsYXNzTmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlNjcmlwdCBkb2Vzbid0IGhhdmUgZXhwb3J0ZWQgY2xhc3NcIik7XG4gIH1cblxuICBjb25zdCBlbGVtZW50TWV0YWRhdGEgPSBleHRyYWN0RWxlbWVudE1ldGFkYXRhKHNjcmlwdCB8fCAnJyk7XG4gIGNvbnN0IHBhdGggPSAocGFyZW50UGF0aCA/IHBhcmVudFBhdGggKyAnLycgOiAnJykgKyBlbGVtZW50TWV0YWRhdGEubmFtZTtcblxuICByZXR1cm4ge1xuICAgIC4uLmVsZW1lbnRNZXRhZGF0YSxcbiAgICBwYXRoLFxuICAgIHNjcmlwdDogc2NyaXB0Py5yZXBsYWNlKE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWCwgJ2V4cG9ydCBjbGFzcycpLFxuICAgIHRlbXBsYXRlLFxuICAgIHN0eWxlcyxcbiAgICBjaGlsZHJlbjogZWwuY2hpbGRyZW4ubWFwKGNoaWxkID0+IGVsZW1lbnRUb01ldGFkYXRhKGNoaWxkLCBwYXRoKSksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgbWV0YWRhdGFUb0VsZW1lbnQgPSAobWV0YWRhdGE6IEVsZW1lbnRNZXRhZGF0YSwgcmVjdXJzaXZlOiBib29sZWFuID0gdHJ1ZSk6IFVJRWxlbWVudCA9PiB7XG4gIGNvbnN0IGVsTWV0YWRhdGE6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEgPSB7XG4gICAgbmFtZTogbWV0YWRhdGEubmFtZSxcbiAgICBpc1NoYXJlZDogbWV0YWRhdGEuaXNTaGFyZWQsXG4gICAgdHlwZTogbWV0YWRhdGEudHlwZSxcbiAgICBtb2RlbDogbWV0YWRhdGEubW9kZWwsXG4gICAgbW9kdWxlOiBtZXRhZGF0YS5tb2R1bGUsXG4gICAgcmVmZXJlbmNlOiBtZXRhZGF0YS5yZWZlcmVuY2UsXG4gICAgaW5wdXRzOiBtZXRhZGF0YS5pbnB1dHMsXG4gICAgb3V0cHV0czogbWV0YWRhdGEub3V0cHV0cyxcbiAgICBjaGlsZHJlbjogbWV0YWRhdGEuY2hpbGRyZW4ubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSksXG4gICAgY29uZmlndXJlZFN0eWxlczogbWV0YWRhdGEuY29uZmlndXJlZFN0eWxlcyxcbiAgfTtcbiAgY29uc3Qgbm9ybWFsaXplZEVsTWV0YWRhdGEgPSBub3JtYWxpemVFbGVtZW50TWV0YWRhdGEoZWxNZXRhZGF0YSk7XG5cbiAgaWYgKCFtZXRhZGF0YS5zY3JpcHQgfHwgIUVYUE9SVEVEX0NMQVNTX1JFR0VYLnRlc3QobWV0YWRhdGEuc2NyaXB0KSkge1xuICAgIHRocm93IG5ldyBVaUJ1aWxkRXJyb3IoYCcke21ldGFkYXRhLm5hbWV9JyBjb21wb25lbnQgc2NyaXB0IGlzIG1pc3NpbmcgYW4gZXhwb3J0ZWQgY2xhc3NgLCBtZXRhZGF0YSk7XG4gIH1cblxuICBjb25zdCBzY3JpcHQgPVxuICAgIG1ldGFkYXRhLnNjcmlwdCAmJlxuICAgIHdpbmRvdy5idG9hKFxuICAgICAgbWV0YWRhdGEuc2NyaXB0LnJlcGxhY2UoXG4gICAgICAgIEVYUE9SVEVEX0NMQVNTX1JFR0VYLFxuICAgICAgICBgQEVsZW1lbnREZWZpbml0aW9uKCR7c3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKG5vcm1hbGl6ZWRFbE1ldGFkYXRhKX0pXFxuZXhwb3J0IGNsYXNzIFNjcmlwdGAsXG4gICAgICApLFxuICAgICk7XG4gIGNvbnN0IHRlbXBsYXRlID0gbWV0YWRhdGEudGVtcGxhdGUgJiYgd2luZG93LmJ0b2EobWV0YWRhdGEudGVtcGxhdGUpO1xuICBjb25zdCBzdHlsZXMgPSBtZXRhZGF0YS5zdHlsZXMgJiYgd2luZG93LmJ0b2EobWV0YWRhdGEuc3R5bGVzKTtcblxuICByZXR1cm4ge1xuICAgIHNjcmlwdCxcbiAgICB0ZW1wbGF0ZSxcbiAgICBzdHlsZXMsXG4gICAgY2hpbGRyZW46IHJlY3Vyc2l2ZSA/IG1ldGFkYXRhLmNoaWxkcmVuLm1hcChtZXRhID0+IG1ldGFkYXRhVG9FbGVtZW50KG1ldGEpKSA6IFtdLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZUVsZW1lbnRNZXRhZGF0YSA9IChlbGVtZW50TWV0YWRhdGE6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEpOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhID0+IHtcbiAgY29uc3QgbWV0YWRhdGEgPSB7IC4uLmVsZW1lbnRNZXRhZGF0YSB9O1xuXG4gIC8vIG1vZGVsXG4gIGNvbnN0IHsgbGluZUl0ZW0sIHBhdGggfSA9IG1ldGFkYXRhLm1vZGVsID8/IHt9O1xuICBjb25zdCBtb2RlbDogRWxlbWVudE1vZGVsIHwgdW5kZWZpbmVkID0gbGluZUl0ZW0gPyB7IGxpbmVJdGVtIH0gOiBwYXRoID8geyBwYXRoIH0gOiB1bmRlZmluZWQ7XG4gIGlmIChtb2RlbCkge1xuICAgIG1ldGFkYXRhLm1vZGVsID0gbW9kZWw7XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLm1vZGVsO1xuICB9XG5cbiAgLy8gbW9kdWxlXG4gIGlmICghbWV0YWRhdGEubW9kdWxlKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLm1vZHVsZTtcbiAgfVxuXG4gIC8vIHJlZmVyZW5jZVxuICBpZiAoIW1ldGFkYXRhLnJlZmVyZW5jZSkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5yZWZlcmVuY2U7XG4gIH1cblxuICAvLyBpbnB1dHNcbiAgY29uc3QgaW5wdXRzID0gT2JqZWN0LmVudHJpZXMobWV0YWRhdGEuaW5wdXRzID8/IHt9KS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogdmFsdWUgfHwgbnVsbCB9O1xuICB9LCB7fSk7XG4gIGlmIChpbnB1dHMgJiYgT2JqZWN0LmtleXMoaW5wdXRzKS5sZW5ndGggPiAwKSB7XG4gICAgbWV0YWRhdGEuaW5wdXRzID0gaW5wdXRzO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5pbnB1dHM7XG4gIH1cblxuICAvLyBvdXRwdXRzXG4gIGNvbnN0IG91dHB1dHMgPSBPYmplY3QuZW50cmllcyhtZXRhZGF0YS5vdXRwdXRzID8/IHt9KS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogdmFsdWUgfHwgbnVsbCB9O1xuICB9LCB7fSk7XG4gIGlmIChvdXRwdXRzICYmIE9iamVjdC5rZXlzKG91dHB1dHMpLmxlbmd0aCA+IDApIHtcbiAgICBtZXRhZGF0YS5vdXRwdXRzID0gb3V0cHV0cztcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgbWV0YWRhdGEub3V0cHV0cztcbiAgfVxuXG4gIC8vIGNoaWxkcmVuXG4gIGlmICghbWV0YWRhdGEuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5jaGlsZHJlbjtcbiAgfVxuXG4gIC8vIGlzU2hhcmVkXG4gIGlmICghbWV0YWRhdGEuaXNTaGFyZWQpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuaXNTaGFyZWQ7XG4gIH1cblxuICAvLyBjb25maWd1cmVkU3R5bGVzXG4gIGlmICghbWV0YWRhdGEuY29uZmlndXJlZFN0eWxlcykge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5jb25maWd1cmVkU3R5bGVzO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFkYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dHJhY3RFbGVtZW50TWV0YWRhdGEgPSAoc2NyaXB0OiBzdHJpbmcpOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhID0+IHtcbiAgY29uc3QgbWV0YWRhdGFTdHJpbmcgPSAoTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG5cbiAgLy8gbmVlZCB0byByZXNldCByZWdleCBsYXN0IGluZGV4IHRvIHByZXZlbnQgbnVsbCByZXN1bHQgZm9yIG5leHQgZXhlY3V0aW9uXG4gIE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5sYXN0SW5kZXggPSAwO1xuXG4gIHJldHVybiBuZXcgRnVuY3Rpb24oYHJldHVybiAke21ldGFkYXRhU3RyaW5nfWApKCk7XG59O1xuXG5leHBvcnQgY29uc3QgZXh0ZW5kRWxlbWVudE1ldGFkYXRhID0gKHNjcmlwdDogc3RyaW5nLCBleHRlbmQ6IFBhcnRpYWw8RWxlbWVudERlZmF1bHRNZXRhZGF0YT4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBtZXRhZGF0YVN0cmluZyA9IChNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVguZXhlYyhzY3JpcHQpID8/IFtdKVsxXTtcblxuICAvLyBuZWVkIHRvIHJlc2V0IHJlZ2V4IGxhc3QgaW5kZXggdG8gcHJldmVudCBudWxsIHJlc3VsdCBmb3IgbmV4dCBleGVjdXRpb25cbiAgTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLmxhc3RJbmRleCA9IDA7XG5cbiAgaWYgKCFtZXRhZGF0YVN0cmluZykge1xuICAgIHJldHVybiBzY3JpcHQ7XG4gIH1cblxuICBjb25zdCB1cGRhdGVkID0geyAuLi5uZXcgRnVuY3Rpb24oYHJldHVybiAke21ldGFkYXRhU3RyaW5nfWApKCksIC4uLmV4dGVuZCB9O1xuICByZXR1cm4gc2NyaXB0LnJlcGxhY2UobWV0YWRhdGFTdHJpbmcsIHN0cmluZ2lmeUVsZW1lbnRNZXRhZGF0YSh1cGRhdGVkKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RWxlbWVudENvbmZpZyA9ICh0eXBlOiBFTEVNRU5UX1RZUEUpOiBFbGVtZW50Q29uZmlnID0+IHtcbiAgcmV0dXJuIENPTkZJR1t0eXBlXTtcbn07XG5cbmV4cG9ydCBjb25zdCBkb2VzRWxlbWVudFN1cHBvcnRJTyA9ICh0eXBlOiBFTEVNRU5UX1RZUEUpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIGdldEVsZW1lbnRDb25maWcodHlwZSkucGx1Z2lucz8uaW5jbHVkZXMoSU9QbHVnaW4pID8/IGZhbHNlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ2lmeUVsZW1lbnRNZXRhZGF0YShlbGVtZW50TWV0YWRhdGE6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEpOiBzdHJpbmcge1xuICBjb25zdCBjbGVhbmVkID0gSlNPTi5zdHJpbmdpZnkoZWxlbWVudE1ldGFkYXRhLCBudWxsLCAyKTtcblxuICByZXR1cm4gY2xlYW5lZC5yZXBsYWNlKC9eW1xcdCBdKlwiW146XFxuXFxyXSsoPzwhXFxcXClcIjovZ20sIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgIHJldHVybiBtYXRjaC5yZXBsYWNlKC9cIi9nLCAnJyk7XG4gIH0pO1xufVxuXG5leHBvcnQgY29uc3QgaXNWYWxpZFNjcmlwdCA9IChzY3JpcHQ/OiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgaWYgKCFzY3JpcHQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBleHBvcnRlZENsYXNzTmFtZSA9IHNjcmlwdCAmJiAoRVhQT1JURURfQ0xBU1NfUkVHRVguZXhlYyhzY3JpcHQpID8/IFtdKVsxXTtcbiAgaWYgKCFleHBvcnRlZENsYXNzTmFtZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IG1ldGEgPSBleHRyYWN0RWxlbWVudE1ldGFkYXRhKHNjcmlwdCk7XG4gIGlmICghbWV0YS5uYW1lIHx8ICFtZXRhLnR5cGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuRWxlbWVudHMoZWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdKTogRWxlbWVudE1ldGFkYXRhW10ge1xuICByZXR1cm4gZmxhdHRlbihlbGVtZW50cy5tYXAoZWwgPT4gW2VsLCAuLi5mbGF0dGVuRWxlbWVudHMoZWwuY2hpbGRyZW4pXSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTaGFyZWRFbGVtZW50KGVsOiBFbGVtZW50TWV0YWRhdGEpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW4oZWwuaXNTaGFyZWQpICYmIGVsLnR5cGUgIT09ICdSRUZFUkVOQ0UnO1xufVxuIl19
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy9lbGVtZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHaEQsTUFBTSxvQkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztBQUNsRCxNQUFNLHdCQUF3QixHQUFHLDBEQUEwRCxDQUFDO0FBRTVGLE1BQU0sT0FBTyxZQUFhLFNBQVEsS0FBSztJQUVyQyxZQUFZLE9BQWUsRUFBRSxnQkFBaUM7UUFDNUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDM0MsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxFQUFhLEVBQUUsVUFBbUIsRUFBbUIsRUFBRTs7SUFDdkYsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbkQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFBLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFakYsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztLQUN2RDtJQUVELE1BQU0sZUFBZSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RCxNQUFNLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztJQUV6RSx1Q0FDSyxlQUFlLEtBQ2xCLElBQUksRUFDSixNQUFNLEVBQUUsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxjQUFjLENBQUMsRUFDakUsUUFBUTtRQUNSLE1BQU0sRUFDTixRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFDbEU7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFFBQXlCLEVBQUUsWUFBcUIsSUFBSSxFQUFhLEVBQUU7SUFDbkcsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUE2RSxRQUFRLEVBQUU7UUFDL0csTUFBTTtRQUNOLFVBQVU7UUFDVixRQUFRO1FBQ1IsUUFBUTtRQUNSLFVBQVU7S0FDWCxDQUFDLENBQUM7SUFDSCxNQUFNLFVBQVUsbUNBQ1gsYUFBYSxLQUNoQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FDcEQsQ0FBQztJQUNGLE1BQU0sb0JBQW9CLEdBQUcsd0JBQXdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFbEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ25FLE1BQU0sSUFBSSxZQUFZLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxpREFBaUQsRUFBRSxRQUFRLENBQUMsQ0FBQztLQUN0RztJQUVELE1BQU0sTUFBTSxHQUNWLFFBQVEsQ0FBQyxNQUFNO1FBQ2YsTUFBTSxDQUFDLElBQUksQ0FDVCxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDckIsb0JBQW9CLEVBQ3BCLHNCQUFzQix3QkFBd0IsQ0FBQyxvQkFBb0IsQ0FBQyx3QkFBd0IsQ0FDN0YsQ0FDRixDQUFDO0lBQ0osTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRSxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRS9ELE9BQU87UUFDTCxNQUFNO1FBQ04sUUFBUTtRQUNSLE1BQU07UUFDTixRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7S0FDbEYsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsZUFBdUMsRUFBMEIsRUFBRTs7SUFDMUcsTUFBTSxRQUFRLHFCQUFRLGVBQWUsQ0FBRSxDQUFDO0lBRXhDLFFBQVE7SUFDUixNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQUEsUUFBUSxDQUFDLEtBQUssbUNBQUksRUFBRSxDQUFDO0lBQ2hELE1BQU0sS0FBSyxHQUE2QixRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzlGLElBQUksS0FBSyxFQUFFO1FBQ1QsUUFBUSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7S0FDeEI7U0FBTTtRQUNMLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQztLQUN2QjtJQUVELFNBQVM7SUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtRQUNwQixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7S0FDeEI7SUFFRCxZQUFZO0lBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUU7UUFDdkIsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDO0tBQzNCO0lBRUQsU0FBUztJQUNULE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBQSxRQUFRLENBQUMsTUFBTSxtQ0FBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUNoRix1Q0FBWSxHQUFHLEtBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLElBQUksSUFBSSxJQUFHO0lBQzFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNQLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUM1QyxRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztLQUMxQjtTQUFNO1FBQ0wsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0tBQ3hCO0lBRUQsVUFBVTtJQUNWLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBQSxRQUFRLENBQUMsT0FBTyxtQ0FBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUNsRix1Q0FBWSxHQUFHLEtBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLElBQUksSUFBSSxJQUFHO0lBQzFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNQLElBQUksT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUM5QyxRQUFRLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztLQUM1QjtTQUFNO1FBQ0wsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDO0tBQ3pCO0lBRUQsV0FBVztJQUNYLElBQUksQ0FBQyxDQUFBLE1BQUEsUUFBUSxDQUFDLFFBQVEsMENBQUUsTUFBTSxDQUFBLEVBQUU7UUFDOUIsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDO0tBQzFCO0lBRUQsV0FBVztJQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO1FBQ3RCLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQztLQUMxQjtJQUVELG1CQUFtQjtJQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFO1FBQzlCLE9BQU8sUUFBUSxDQUFDLGdCQUFnQixDQUFDO0tBQ2xDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxNQUFjLEVBQTBCLEVBQUU7O0lBQy9FLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBQSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1DQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXhFLDJFQUEyRTtJQUMzRSx3QkFBd0IsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRXZDLE9BQU8sSUFBSSxRQUFRLENBQUMsVUFBVSxjQUFjLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFDcEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsTUFBdUMsRUFBVSxFQUFFOztJQUN2RyxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQUEsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQ0FBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV4RSwyRUFBMkU7SUFDM0Usd0JBQXdCLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUV2QyxJQUFJLENBQUMsY0FBYyxFQUFFO1FBQ25CLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFFRCxNQUFNLE9BQU8sbUNBQVEsSUFBSSxRQUFRLENBQUMsVUFBVSxjQUFjLEVBQUUsQ0FBQyxFQUFFLEdBQUssTUFBTSxDQUFFLENBQUM7SUFDN0UsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBa0IsRUFBaUIsRUFBRTtJQUNwRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLElBQWtCLEVBQVcsRUFBRTs7SUFDbEUsT0FBTyxNQUFBLE1BQUEsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTywwQ0FBRSxRQUFRLENBQUMsUUFBUSxDQUFDLG1DQUFJLEtBQUssQ0FBQztBQUNyRSxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsd0JBQXdCLENBQUMsZUFBdUM7SUFDOUUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXpELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsRUFBRSxVQUFVLEtBQUs7UUFDcEUsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFlLEVBQVcsRUFBRTs7SUFDeEQsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQUEsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQ0FBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixJQUFJLENBQUMsaUJBQWlCLEVBQUU7UUFDdEIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE1BQU0sSUFBSSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUM1QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsZUFBZSxDQUFDLFFBQTJCO0lBQ3pELE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLGVBQWUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsRUFBbUI7SUFDakQsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDO0FBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSUVsZW1lbnQgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQgeyBmbGF0dGVuLCBvbWl0IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IENPTkZJRyB9IGZyb20gJy4uL2Ntcy5lbGVtZW50cyc7XG5pbXBvcnQgeyBJT1BsdWdpbiB9IGZyb20gJy4uL3BsdWdpbnMvaW8ucGx1Z2luJztcbmltcG9ydCB7IEVMRU1FTlRfVFlQRSwgRWxlbWVudENvbmZpZywgRWxlbWVudERlZmF1bHRNZXRhZGF0YSwgRWxlbWVudE1ldGFkYXRhLCBFbGVtZW50TW9kZWwgfSBmcm9tICcuLi90eXBlcyc7XG5cbmNvbnN0IEVYUE9SVEVEX0NMQVNTX1JFR0VYID0gL2V4cG9ydCBjbGFzcyAoXFxTKykvO1xuY29uc3QgTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYID0gL0BFbGVtZW50RGVmaW5pdGlvblxcKChbXFxzXFxTXSspXFwpKFxcbnxcXHJcXG58LikqZXhwb3J0IGNsYXNzL2c7XG5cbmV4cG9ydCBjbGFzcyBVaUJ1aWxkRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyBhZmZlY3RlZE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGE7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgYWZmZWN0ZWRNZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIHRoaXMuYWZmZWN0ZWRNZXRhZGF0YSA9IGFmZmVjdGVkTWV0YWRhdGE7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGVsZW1lbnRUb01ldGFkYXRhID0gKGVsOiBVSUVsZW1lbnQsIHBhcmVudFBhdGg/OiBzdHJpbmcpOiBFbGVtZW50TWV0YWRhdGEgPT4ge1xuICBjb25zdCBzY3JpcHQgPSBlbC5zY3JpcHQgJiYgd2luZG93LmF0b2IoZWwuc2NyaXB0KTtcbiAgY29uc3QgdGVtcGxhdGUgPSBlbC50ZW1wbGF0ZSAmJiB3aW5kb3cuYXRvYihlbC50ZW1wbGF0ZSk7XG4gIGNvbnN0IHN0eWxlcyA9IGVsLnN0eWxlcyAmJiB3aW5kb3cuYXRvYihlbC5zdHlsZXMpO1xuXG4gIGNvbnN0IGV4cG9ydGVkQ2xhc3NOYW1lID0gc2NyaXB0ICYmIChFWFBPUlRFRF9DTEFTU19SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIGlmICghZXhwb3J0ZWRDbGFzc05hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJTY3JpcHQgZG9lc24ndCBoYXZlIGV4cG9ydGVkIGNsYXNzXCIpO1xuICB9XG5cbiAgY29uc3QgZWxlbWVudE1ldGFkYXRhID0gZXh0cmFjdEVsZW1lbnRNZXRhZGF0YShzY3JpcHQgfHwgJycpO1xuICBjb25zdCBwYXRoID0gKHBhcmVudFBhdGggPyBwYXJlbnRQYXRoICsgJy8nIDogJycpICsgZWxlbWVudE1ldGFkYXRhLm5hbWU7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5lbGVtZW50TWV0YWRhdGEsXG4gICAgcGF0aCxcbiAgICBzY3JpcHQ6IHNjcmlwdD8ucmVwbGFjZShNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgsICdleHBvcnQgY2xhc3MnKSxcbiAgICB0ZW1wbGF0ZSxcbiAgICBzdHlsZXMsXG4gICAgY2hpbGRyZW46IGVsLmNoaWxkcmVuLm1hcChjaGlsZCA9PiBlbGVtZW50VG9NZXRhZGF0YShjaGlsZCwgcGF0aCkpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhVG9FbGVtZW50ID0gKG1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGEsIHJlY3Vyc2l2ZTogYm9vbGVhbiA9IHRydWUpOiBVSUVsZW1lbnQgPT4ge1xuICBjb25zdCBjbGVhbk1ldGFkYXRhID0gb21pdDxFbGVtZW50TWV0YWRhdGEsIGtleW9mIE9taXQ8RWxlbWVudE1ldGFkYXRhLCBrZXlvZiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhPj4obWV0YWRhdGEsIFtcbiAgICAncGF0aCcsXG4gICAgJ3RlbXBsYXRlJyxcbiAgICAnc3R5bGVzJyxcbiAgICAnc2NyaXB0JyxcbiAgICAnbWV0YWRhdGEnLFxuICBdKTtcbiAgY29uc3QgZWxNZXRhZGF0YTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSA9IHtcbiAgICAuLi5jbGVhbk1ldGFkYXRhLFxuICAgIGNoaWxkcmVuOiBtZXRhZGF0YS5jaGlsZHJlbi5tYXAoKHsgbmFtZSB9KSA9PiBuYW1lKSxcbiAgfTtcbiAgY29uc3Qgbm9ybWFsaXplZEVsTWV0YWRhdGEgPSBub3JtYWxpemVFbGVtZW50TWV0YWRhdGEoZWxNZXRhZGF0YSk7XG5cbiAgaWYgKCFtZXRhZGF0YS5zY3JpcHQgfHwgIUVYUE9SVEVEX0NMQVNTX1JFR0VYLnRlc3QobWV0YWRhdGEuc2NyaXB0KSkge1xuICAgIHRocm93IG5ldyBVaUJ1aWxkRXJyb3IoYCcke21ldGFkYXRhLm5hbWV9JyBjb21wb25lbnQgc2NyaXB0IGlzIG1pc3NpbmcgYW4gZXhwb3J0ZWQgY2xhc3NgLCBtZXRhZGF0YSk7XG4gIH1cblxuICBjb25zdCBzY3JpcHQgPVxuICAgIG1ldGFkYXRhLnNjcmlwdCAmJlxuICAgIHdpbmRvdy5idG9hKFxuICAgICAgbWV0YWRhdGEuc2NyaXB0LnJlcGxhY2UoXG4gICAgICAgIEVYUE9SVEVEX0NMQVNTX1JFR0VYLFxuICAgICAgICBgQEVsZW1lbnREZWZpbml0aW9uKCR7c3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKG5vcm1hbGl6ZWRFbE1ldGFkYXRhKX0pXFxuZXhwb3J0IGNsYXNzIFNjcmlwdGAsXG4gICAgICApLFxuICAgICk7XG4gIGNvbnN0IHRlbXBsYXRlID0gbWV0YWRhdGEudGVtcGxhdGUgJiYgd2luZG93LmJ0b2EobWV0YWRhdGEudGVtcGxhdGUpO1xuICBjb25zdCBzdHlsZXMgPSBtZXRhZGF0YS5zdHlsZXMgJiYgd2luZG93LmJ0b2EobWV0YWRhdGEuc3R5bGVzKTtcblxuICByZXR1cm4ge1xuICAgIHNjcmlwdCxcbiAgICB0ZW1wbGF0ZSxcbiAgICBzdHlsZXMsXG4gICAgY2hpbGRyZW46IHJlY3Vyc2l2ZSA/IG1ldGFkYXRhLmNoaWxkcmVuLm1hcChtZXRhID0+IG1ldGFkYXRhVG9FbGVtZW50KG1ldGEpKSA6IFtdLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZUVsZW1lbnRNZXRhZGF0YSA9IChlbGVtZW50TWV0YWRhdGE6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEpOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhID0+IHtcbiAgY29uc3QgbWV0YWRhdGEgPSB7IC4uLmVsZW1lbnRNZXRhZGF0YSB9O1xuXG4gIC8vIG1vZGVsXG4gIGNvbnN0IHsgbGluZUl0ZW0sIHBhdGggfSA9IG1ldGFkYXRhLm1vZGVsID8/IHt9O1xuICBjb25zdCBtb2RlbDogRWxlbWVudE1vZGVsIHwgdW5kZWZpbmVkID0gbGluZUl0ZW0gPyB7IGxpbmVJdGVtIH0gOiBwYXRoID8geyBwYXRoIH0gOiB1bmRlZmluZWQ7XG4gIGlmIChtb2RlbCkge1xuICAgIG1ldGFkYXRhLm1vZGVsID0gbW9kZWw7XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLm1vZGVsO1xuICB9XG5cbiAgLy8gbW9kdWxlXG4gIGlmICghbWV0YWRhdGEubW9kdWxlKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLm1vZHVsZTtcbiAgfVxuXG4gIC8vIHJlZmVyZW5jZVxuICBpZiAoIW1ldGFkYXRhLnJlZmVyZW5jZSkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5yZWZlcmVuY2U7XG4gIH1cblxuICAvLyBpbnB1dHNcbiAgY29uc3QgaW5wdXRzID0gT2JqZWN0LmVudHJpZXMobWV0YWRhdGEuaW5wdXRzID8/IHt9KS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogdmFsdWUgfHwgbnVsbCB9O1xuICB9LCB7fSk7XG4gIGlmIChpbnB1dHMgJiYgT2JqZWN0LmtleXMoaW5wdXRzKS5sZW5ndGggPiAwKSB7XG4gICAgbWV0YWRhdGEuaW5wdXRzID0gaW5wdXRzO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5pbnB1dHM7XG4gIH1cblxuICAvLyBvdXRwdXRzXG4gIGNvbnN0IG91dHB1dHMgPSBPYmplY3QuZW50cmllcyhtZXRhZGF0YS5vdXRwdXRzID8/IHt9KS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogdmFsdWUgfHwgbnVsbCB9O1xuICB9LCB7fSk7XG4gIGlmIChvdXRwdXRzICYmIE9iamVjdC5rZXlzKG91dHB1dHMpLmxlbmd0aCA+IDApIHtcbiAgICBtZXRhZGF0YS5vdXRwdXRzID0gb3V0cHV0cztcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgbWV0YWRhdGEub3V0cHV0cztcbiAgfVxuXG4gIC8vIGNoaWxkcmVuXG4gIGlmICghbWV0YWRhdGEuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5jaGlsZHJlbjtcbiAgfVxuXG4gIC8vIGlzU2hhcmVkXG4gIGlmICghbWV0YWRhdGEuaXNTaGFyZWQpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuaXNTaGFyZWQ7XG4gIH1cblxuICAvLyBjb25maWd1cmVkU3R5bGVzXG4gIGlmICghbWV0YWRhdGEuY29uZmlndXJlZFN0eWxlcykge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5jb25maWd1cmVkU3R5bGVzO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFkYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dHJhY3RFbGVtZW50TWV0YWRhdGEgPSAoc2NyaXB0OiBzdHJpbmcpOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhID0+IHtcbiAgY29uc3QgbWV0YWRhdGFTdHJpbmcgPSAoTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG5cbiAgLy8gbmVlZCB0byByZXNldCByZWdleCBsYXN0IGluZGV4IHRvIHByZXZlbnQgbnVsbCByZXN1bHQgZm9yIG5leHQgZXhlY3V0aW9uXG4gIE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5sYXN0SW5kZXggPSAwO1xuXG4gIHJldHVybiBuZXcgRnVuY3Rpb24oYHJldHVybiAke21ldGFkYXRhU3RyaW5nfWApKCk7XG59O1xuXG5leHBvcnQgY29uc3QgZXh0ZW5kRWxlbWVudE1ldGFkYXRhID0gKHNjcmlwdDogc3RyaW5nLCBleHRlbmQ6IFBhcnRpYWw8RWxlbWVudERlZmF1bHRNZXRhZGF0YT4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBtZXRhZGF0YVN0cmluZyA9IChNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVguZXhlYyhzY3JpcHQpID8/IFtdKVsxXTtcblxuICAvLyBuZWVkIHRvIHJlc2V0IHJlZ2V4IGxhc3QgaW5kZXggdG8gcHJldmVudCBudWxsIHJlc3VsdCBmb3IgbmV4dCBleGVjdXRpb25cbiAgTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLmxhc3RJbmRleCA9IDA7XG5cbiAgaWYgKCFtZXRhZGF0YVN0cmluZykge1xuICAgIHJldHVybiBzY3JpcHQ7XG4gIH1cblxuICBjb25zdCB1cGRhdGVkID0geyAuLi5uZXcgRnVuY3Rpb24oYHJldHVybiAke21ldGFkYXRhU3RyaW5nfWApKCksIC4uLmV4dGVuZCB9O1xuICByZXR1cm4gc2NyaXB0LnJlcGxhY2UobWV0YWRhdGFTdHJpbmcsIHN0cmluZ2lmeUVsZW1lbnRNZXRhZGF0YSh1cGRhdGVkKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RWxlbWVudENvbmZpZyA9ICh0eXBlOiBFTEVNRU5UX1RZUEUpOiBFbGVtZW50Q29uZmlnID0+IHtcbiAgcmV0dXJuIENPTkZJR1t0eXBlXTtcbn07XG5cbmV4cG9ydCBjb25zdCBkb2VzRWxlbWVudFN1cHBvcnRJTyA9ICh0eXBlOiBFTEVNRU5UX1RZUEUpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIGdldEVsZW1lbnRDb25maWcodHlwZSkucGx1Z2lucz8uaW5jbHVkZXMoSU9QbHVnaW4pID8/IGZhbHNlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ2lmeUVsZW1lbnRNZXRhZGF0YShlbGVtZW50TWV0YWRhdGE6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEpOiBzdHJpbmcge1xuICBjb25zdCBjbGVhbmVkID0gSlNPTi5zdHJpbmdpZnkoZWxlbWVudE1ldGFkYXRhLCBudWxsLCAyKTtcblxuICByZXR1cm4gY2xlYW5lZC5yZXBsYWNlKC9eW1xcdCBdKlwiW146XFxuXFxyXSsoPzwhXFxcXClcIjovZ20sIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgIHJldHVybiBtYXRjaC5yZXBsYWNlKC9cIi9nLCAnJyk7XG4gIH0pO1xufVxuXG5leHBvcnQgY29uc3QgaXNWYWxpZFNjcmlwdCA9IChzY3JpcHQ/OiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgaWYgKCFzY3JpcHQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBleHBvcnRlZENsYXNzTmFtZSA9IHNjcmlwdCAmJiAoRVhQT1JURURfQ0xBU1NfUkVHRVguZXhlYyhzY3JpcHQpID8/IFtdKVsxXTtcbiAgaWYgKCFleHBvcnRlZENsYXNzTmFtZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IG1ldGEgPSBleHRyYWN0RWxlbWVudE1ldGFkYXRhKHNjcmlwdCk7XG4gIGlmICghbWV0YS5uYW1lIHx8ICFtZXRhLnR5cGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuRWxlbWVudHMoZWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdKTogRWxlbWVudE1ldGFkYXRhW10ge1xuICByZXR1cm4gZmxhdHRlbihlbGVtZW50cy5tYXAoZWwgPT4gW2VsLCAuLi5mbGF0dGVuRWxlbWVudHMoZWwuY2hpbGRyZW4pXSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTaGFyZWRFbGVtZW50KGVsOiBFbGVtZW50TWV0YWRhdGEpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW4oZWwuaXNTaGFyZWQpICYmIGVsLnR5cGUgIT09ICdSRUZFUkVOQ0UnO1xufVxuIl19
|