@igo2/context 1.9.4 → 1.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/igo2-context.umd.js +247 -136
- package/bundles/igo2-context.umd.js.map +1 -1
- package/esm2015/lib/context-manager/context-list/context-list.component.js +1 -1
- package/esm2015/lib/context-manager/shared/context.interface.js +1 -1
- package/esm2015/lib/context-manager/shared/context.service.js +10 -9
- package/esm2015/lib/share-map/share-map/share-map-url.component.js +147 -69
- package/esm2015/lib/share-map/shared/share-map.service.js +3 -3
- package/fesm2015/igo2-context.js +175 -97
- package/fesm2015/igo2-context.js.map +1 -1
- package/lib/context-manager/shared/context.interface.d.ts +7 -1
- package/lib/context-manager/shared/context.service.d.ts +2 -3
- package/package.json +6 -6
|
@@ -8,7 +8,107 @@ import * as i3 from "@angular/material/form-field";
|
|
|
8
8
|
import * as i4 from "@angular/material/input";
|
|
9
9
|
import * as i5 from "@angular/material/button";
|
|
10
10
|
import * as i6 from "@angular/material/icon";
|
|
11
|
-
import * as i7 from "@
|
|
11
|
+
import * as i7 from "@angular/common";
|
|
12
|
+
import * as i8 from "@ngx-translate/core";
|
|
13
|
+
function ShareMapUrlComponent_h4_13_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
i0.ɵɵelementStart(0, "h4");
|
|
15
|
+
i0.ɵɵtext(1);
|
|
16
|
+
i0.ɵɵpipe(2, "translate");
|
|
17
|
+
i0.ɵɵelementEnd();
|
|
18
|
+
} if (rf & 2) {
|
|
19
|
+
i0.ɵɵadvance(1);
|
|
20
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.included"));
|
|
21
|
+
} }
|
|
22
|
+
function ShareMapUrlComponent_li_16_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
i0.ɵɵelementStart(0, "li");
|
|
24
|
+
i0.ɵɵtext(1);
|
|
25
|
+
i0.ɵɵpipe(2, "translate");
|
|
26
|
+
i0.ɵɵelementEnd();
|
|
27
|
+
} if (rf & 2) {
|
|
28
|
+
i0.ɵɵadvance(1);
|
|
29
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.context"));
|
|
30
|
+
} }
|
|
31
|
+
function ShareMapUrlComponent_li_18_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
+
i0.ɵɵelementStart(0, "li");
|
|
33
|
+
i0.ɵɵtext(1);
|
|
34
|
+
i0.ɵɵpipe(2, "translate");
|
|
35
|
+
i0.ɵɵelementEnd();
|
|
36
|
+
} if (rf & 2) {
|
|
37
|
+
i0.ɵɵadvance(1);
|
|
38
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.center"));
|
|
39
|
+
} }
|
|
40
|
+
function ShareMapUrlComponent_li_20_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
+
i0.ɵɵelementStart(0, "li");
|
|
42
|
+
i0.ɵɵtext(1);
|
|
43
|
+
i0.ɵɵpipe(2, "translate");
|
|
44
|
+
i0.ɵɵelementEnd();
|
|
45
|
+
} if (rf & 2) {
|
|
46
|
+
i0.ɵɵadvance(1);
|
|
47
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.zoom"));
|
|
48
|
+
} }
|
|
49
|
+
function ShareMapUrlComponent_li_22_Template(rf, ctx) { if (rf & 1) {
|
|
50
|
+
i0.ɵɵelementStart(0, "li");
|
|
51
|
+
i0.ɵɵtext(1);
|
|
52
|
+
i0.ɵɵpipe(2, "translate");
|
|
53
|
+
i0.ɵɵelementEnd();
|
|
54
|
+
} if (rf & 2) {
|
|
55
|
+
i0.ɵɵadvance(1);
|
|
56
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.addedLayers"));
|
|
57
|
+
} }
|
|
58
|
+
function ShareMapUrlComponent_li_24_Template(rf, ctx) { if (rf & 1) {
|
|
59
|
+
i0.ɵɵelementStart(0, "li");
|
|
60
|
+
i0.ɵɵtext(1);
|
|
61
|
+
i0.ɵɵpipe(2, "translate");
|
|
62
|
+
i0.ɵɵelementEnd();
|
|
63
|
+
} if (rf & 2) {
|
|
64
|
+
i0.ɵɵadvance(1);
|
|
65
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.visibleInvisible"));
|
|
66
|
+
} }
|
|
67
|
+
function ShareMapUrlComponent_h4_26_Template(rf, ctx) { if (rf & 1) {
|
|
68
|
+
i0.ɵɵelementStart(0, "h4");
|
|
69
|
+
i0.ɵɵtext(1);
|
|
70
|
+
i0.ɵɵpipe(2, "translate");
|
|
71
|
+
i0.ɵɵelementEnd();
|
|
72
|
+
} if (rf & 2) {
|
|
73
|
+
i0.ɵɵadvance(1);
|
|
74
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.excluded"));
|
|
75
|
+
} }
|
|
76
|
+
function ShareMapUrlComponent_li_29_Template(rf, ctx) { if (rf & 1) {
|
|
77
|
+
i0.ɵɵelementStart(0, "li");
|
|
78
|
+
i0.ɵɵtext(1);
|
|
79
|
+
i0.ɵɵpipe(2, "translate");
|
|
80
|
+
i0.ɵɵelementEnd();
|
|
81
|
+
} if (rf & 2) {
|
|
82
|
+
i0.ɵɵadvance(1);
|
|
83
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.order"));
|
|
84
|
+
} }
|
|
85
|
+
function ShareMapUrlComponent_li_31_Template(rf, ctx) { if (rf & 1) {
|
|
86
|
+
i0.ɵɵelementStart(0, "li");
|
|
87
|
+
i0.ɵɵtext(1);
|
|
88
|
+
i0.ɵɵpipe(2, "translate");
|
|
89
|
+
i0.ɵɵelementEnd();
|
|
90
|
+
} if (rf & 2) {
|
|
91
|
+
i0.ɵɵadvance(1);
|
|
92
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.opacity"));
|
|
93
|
+
} }
|
|
94
|
+
function ShareMapUrlComponent_li_33_Template(rf, ctx) { if (rf & 1) {
|
|
95
|
+
i0.ɵɵelementStart(0, "li");
|
|
96
|
+
i0.ɵɵtext(1);
|
|
97
|
+
i0.ɵɵpipe(2, "translate");
|
|
98
|
+
i0.ɵɵelementEnd();
|
|
99
|
+
} if (rf & 2) {
|
|
100
|
+
i0.ɵɵadvance(1);
|
|
101
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.filterOgc"));
|
|
102
|
+
} }
|
|
103
|
+
function ShareMapUrlComponent_li_35_Template(rf, ctx) { if (rf & 1) {
|
|
104
|
+
i0.ɵɵelementStart(0, "li");
|
|
105
|
+
i0.ɵɵtext(1);
|
|
106
|
+
i0.ɵɵpipe(2, "translate");
|
|
107
|
+
i0.ɵɵelementEnd();
|
|
108
|
+
} if (rf & 2) {
|
|
109
|
+
i0.ɵɵadvance(1);
|
|
110
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.context.shareMap.filterTime"));
|
|
111
|
+
} }
|
|
12
112
|
export class ShareMapUrlComponent {
|
|
13
113
|
constructor(languageService, messageService, shareMapService, cdRef) {
|
|
14
114
|
this.languageService = languageService;
|
|
@@ -49,8 +149,8 @@ export class ShareMapUrlComponent {
|
|
|
49
149
|
}
|
|
50
150
|
}
|
|
51
151
|
ShareMapUrlComponent.ɵfac = function ShareMapUrlComponent_Factory(t) { return new (t || ShareMapUrlComponent)(i0.ɵɵdirectiveInject(i1.LanguageService), i0.ɵɵdirectiveInject(i1.MessageService), i0.ɵɵdirectiveInject(i2.ShareMapService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
52
|
-
ShareMapUrlComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareMapUrlComponent, selectors: [["igo-share-map-url"]], inputs: { map: "map" }, decls:
|
|
53
|
-
const
|
|
152
|
+
ShareMapUrlComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareMapUrlComponent, selectors: [["igo-share-map-url"]], inputs: { map: "map" }, decls: 37, vars: 40, consts: [[1, "igo-input-container", "linkToShare"], ["matInput", "", "readonly", "", "rows", "3", 3, "placeholder", "value"], ["textArea", ""], [1, "igo-form-button-group"], ["mat-raised-button", "", 3, "click"], ["svgIcon", "content-copy"], [1, "mat-typography"], [4, "ngIf"]], template: function ShareMapUrlComponent_Template(rf, ctx) { if (rf & 1) {
|
|
153
|
+
const _r12 = i0.ɵɵgetCurrentView();
|
|
54
154
|
i0.ɵɵelementStart(0, "div", 0);
|
|
55
155
|
i0.ɵɵelementStart(1, "mat-form-field");
|
|
56
156
|
i0.ɵɵelement(2, "textarea", 1, 2);
|
|
@@ -58,7 +158,7 @@ ShareMapUrlComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareM
|
|
|
58
158
|
i0.ɵɵelementEnd();
|
|
59
159
|
i0.ɵɵelementStart(5, "div", 3);
|
|
60
160
|
i0.ɵɵelementStart(6, "button", 4);
|
|
61
|
-
i0.ɵɵlistener("click", function ShareMapUrlComponent_Template_button_click_6_listener() { i0.ɵɵrestoreView(
|
|
161
|
+
i0.ɵɵlistener("click", function ShareMapUrlComponent_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r12); const _r0 = i0.ɵɵreference(3); return ctx.copyTextToClipboard(_r0); });
|
|
62
162
|
i0.ɵɵelement(7, "mat-icon", 5);
|
|
63
163
|
i0.ɵɵtext(8);
|
|
64
164
|
i0.ɵɵpipe(9, "translate");
|
|
@@ -67,53 +167,31 @@ ShareMapUrlComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareM
|
|
|
67
167
|
i0.ɵɵelementStart(10, "div");
|
|
68
168
|
i0.ɵɵelement(11, "br");
|
|
69
169
|
i0.ɵɵelementStart(12, "section", 6);
|
|
70
|
-
i0.ɵɵ
|
|
71
|
-
i0.ɵɵ
|
|
72
|
-
i0.ɵɵ
|
|
73
|
-
i0.ɵɵ
|
|
74
|
-
i0.ɵɵ
|
|
75
|
-
i0.ɵɵ
|
|
76
|
-
i0.ɵɵtext(18);
|
|
170
|
+
i0.ɵɵtemplate(13, ShareMapUrlComponent_h4_13_Template, 3, 3, "h4", 7);
|
|
171
|
+
i0.ɵɵpipe(14, "translate");
|
|
172
|
+
i0.ɵɵelementStart(15, "ul");
|
|
173
|
+
i0.ɵɵtemplate(16, ShareMapUrlComponent_li_16_Template, 3, 3, "li", 7);
|
|
174
|
+
i0.ɵɵpipe(17, "translate");
|
|
175
|
+
i0.ɵɵtemplate(18, ShareMapUrlComponent_li_18_Template, 3, 3, "li", 7);
|
|
77
176
|
i0.ɵɵpipe(19, "translate");
|
|
78
|
-
i0.ɵɵ
|
|
79
|
-
i0.ɵɵ
|
|
80
|
-
i0.ɵɵ
|
|
81
|
-
i0.ɵɵpipe(
|
|
82
|
-
i0.ɵɵ
|
|
83
|
-
i0.ɵɵelementStart(23, "li");
|
|
84
|
-
i0.ɵɵtext(24);
|
|
177
|
+
i0.ɵɵtemplate(20, ShareMapUrlComponent_li_20_Template, 3, 3, "li", 7);
|
|
178
|
+
i0.ɵɵpipe(21, "translate");
|
|
179
|
+
i0.ɵɵtemplate(22, ShareMapUrlComponent_li_22_Template, 3, 3, "li", 7);
|
|
180
|
+
i0.ɵɵpipe(23, "translate");
|
|
181
|
+
i0.ɵɵtemplate(24, ShareMapUrlComponent_li_24_Template, 3, 3, "li", 7);
|
|
85
182
|
i0.ɵɵpipe(25, "translate");
|
|
86
183
|
i0.ɵɵelementEnd();
|
|
87
|
-
i0.ɵɵ
|
|
88
|
-
i0.ɵɵ
|
|
89
|
-
i0.ɵɵ
|
|
90
|
-
i0.ɵɵ
|
|
91
|
-
i0.ɵɵ
|
|
92
|
-
i0.ɵɵ
|
|
93
|
-
i0.ɵɵpipe(
|
|
94
|
-
i0.ɵɵ
|
|
95
|
-
i0.ɵɵelementEnd();
|
|
96
|
-
i0.ɵɵelementStart(32, "h4");
|
|
97
|
-
i0.ɵɵtext(33);
|
|
184
|
+
i0.ɵɵtemplate(26, ShareMapUrlComponent_h4_26_Template, 3, 3, "h4", 7);
|
|
185
|
+
i0.ɵɵpipe(27, "translate");
|
|
186
|
+
i0.ɵɵelementStart(28, "ul");
|
|
187
|
+
i0.ɵɵtemplate(29, ShareMapUrlComponent_li_29_Template, 3, 3, "li", 7);
|
|
188
|
+
i0.ɵɵpipe(30, "translate");
|
|
189
|
+
i0.ɵɵtemplate(31, ShareMapUrlComponent_li_31_Template, 3, 3, "li", 7);
|
|
190
|
+
i0.ɵɵpipe(32, "translate");
|
|
191
|
+
i0.ɵɵtemplate(33, ShareMapUrlComponent_li_33_Template, 3, 3, "li", 7);
|
|
98
192
|
i0.ɵɵpipe(34, "translate");
|
|
99
|
-
i0.ɵɵ
|
|
100
|
-
i0.ɵɵ
|
|
101
|
-
i0.ɵɵelementStart(36, "li");
|
|
102
|
-
i0.ɵɵtext(37);
|
|
103
|
-
i0.ɵɵpipe(38, "translate");
|
|
104
|
-
i0.ɵɵelementEnd();
|
|
105
|
-
i0.ɵɵelementStart(39, "li");
|
|
106
|
-
i0.ɵɵtext(40);
|
|
107
|
-
i0.ɵɵpipe(41, "translate");
|
|
108
|
-
i0.ɵɵelementEnd();
|
|
109
|
-
i0.ɵɵelementStart(42, "li");
|
|
110
|
-
i0.ɵɵtext(43);
|
|
111
|
-
i0.ɵɵpipe(44, "translate");
|
|
112
|
-
i0.ɵɵelementEnd();
|
|
113
|
-
i0.ɵɵelementStart(45, "li");
|
|
114
|
-
i0.ɵɵtext(46);
|
|
115
|
-
i0.ɵɵpipe(47, "translate");
|
|
116
|
-
i0.ɵɵelementEnd();
|
|
193
|
+
i0.ɵɵtemplate(35, ShareMapUrlComponent_li_35_Template, 3, 3, "li", 7);
|
|
194
|
+
i0.ɵɵpipe(36, "translate");
|
|
117
195
|
i0.ɵɵelementEnd();
|
|
118
196
|
i0.ɵɵelementEnd();
|
|
119
197
|
i0.ɵɵelementEnd();
|
|
@@ -123,29 +201,29 @@ ShareMapUrlComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareM
|
|
|
123
201
|
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(4, 14, "igo.context.shareMap.placeholderLink"))("value", ctx.url);
|
|
124
202
|
i0.ɵɵadvance(6);
|
|
125
203
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 16, "igo.context.shareMap.copy"), " ");
|
|
126
|
-
i0.ɵɵadvance(
|
|
127
|
-
i0.ɵɵ
|
|
128
|
-
i0.ɵɵadvance(4);
|
|
129
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 20, "igo.context.shareMap.context"));
|
|
130
|
-
i0.ɵɵadvance(3);
|
|
131
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(22, 22, "igo.context.shareMap.center"));
|
|
204
|
+
i0.ɵɵadvance(5);
|
|
205
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(14, 18, "igo.context.shareMap.included") !== "");
|
|
132
206
|
i0.ɵɵadvance(3);
|
|
133
|
-
i0.ɵɵ
|
|
134
|
-
i0.ɵɵadvance(
|
|
135
|
-
i0.ɵɵ
|
|
136
|
-
i0.ɵɵadvance(
|
|
137
|
-
i0.ɵɵ
|
|
138
|
-
i0.ɵɵadvance(
|
|
139
|
-
i0.ɵɵ
|
|
140
|
-
i0.ɵɵadvance(
|
|
141
|
-
i0.ɵɵ
|
|
142
|
-
i0.ɵɵadvance(
|
|
143
|
-
i0.ɵɵ
|
|
144
|
-
i0.ɵɵadvance(3);
|
|
145
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(44, 36, "igo.context.shareMap.filterOgc"));
|
|
207
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(17, 20, "igo.context.shareMap.context") !== "");
|
|
208
|
+
i0.ɵɵadvance(2);
|
|
209
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(19, 22, "igo.context.shareMap.center") !== "");
|
|
210
|
+
i0.ɵɵadvance(2);
|
|
211
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(21, 24, "igo.context.shareMap.zoom") !== "");
|
|
212
|
+
i0.ɵɵadvance(2);
|
|
213
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(23, 26, "igo.context.shareMap.addedLayers") !== "");
|
|
214
|
+
i0.ɵɵadvance(2);
|
|
215
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(25, 28, "igo.context.shareMap.visibleInvisible") !== "");
|
|
216
|
+
i0.ɵɵadvance(2);
|
|
217
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(27, 30, "igo.context.shareMap.excluded") !== "");
|
|
146
218
|
i0.ɵɵadvance(3);
|
|
147
|
-
i0.ɵɵ
|
|
148
|
-
|
|
219
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(30, 32, "igo.context.shareMap.order") !== "");
|
|
220
|
+
i0.ɵɵadvance(2);
|
|
221
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(32, 34, "igo.context.shareMap.opacity") !== "");
|
|
222
|
+
i0.ɵɵadvance(2);
|
|
223
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(34, 36, "igo.context.shareMap.filterOgc") !== "");
|
|
224
|
+
i0.ɵɵadvance(2);
|
|
225
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(36, 38, "igo.context.shareMap.filterTime") !== "");
|
|
226
|
+
} }, directives: [i3.MatFormField, i4.MatInput, i5.MatButton, i6.MatIcon, i7.NgIf], pipes: [i8.TranslatePipe], styles: ["@charset \"UTF-8\";mat-form-field[_ngcontent-%COMP%]{width:100%}.linkToShare\\a0[_ngcontent-%COMP%] {padding:25px 5px 5px}.linkToShare\\a0[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{resize:none;width:100%;line-height:1.3;height:40px;overflow-y:hidden;word-wrap:normal;word-break:break-all}.linkToShare\\a0[_ngcontent-%COMP%] textarea.textAreaWithButton[_ngcontent-%COMP%]{width:calc(100% - 60px)}.linkToShare\\a0[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{float:right;margin:-10px 0}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center;padding-top:10px}"] });
|
|
149
227
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShareMapUrlComponent, [{
|
|
150
228
|
type: Component,
|
|
151
229
|
args: [{
|
|
@@ -156,4 +234,4 @@ ShareMapUrlComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareM
|
|
|
156
234
|
}], function () { return [{ type: i1.LanguageService }, { type: i1.MessageService }, { type: i2.ShareMapService }, { type: i0.ChangeDetectorRef }]; }, { map: [{
|
|
157
235
|
type: Input
|
|
158
236
|
}] }); })();
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbWFwLXVybC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvc2hhcmUtbWFwL3NoYXJlLW1hcC9zaGFyZS1tYXAtdXJsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9zaGFyZS1tYXAvc2hhcmUtbWFwL3NoYXJlLW1hcC11cmwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUF3QyxNQUFNLGVBQWUsQ0FBQztBQUV0RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBS3hDLE9BQU8sRUFBRSxhQUFhLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7OztJQ1czQywwQkFBK0Q7SUFBQSxZQUErQzs7SUFBQSxpQkFBSzs7SUFBcEQsZUFBK0M7SUFBL0MsMkVBQStDOzs7SUFFNUcsMEJBQThEO0lBQUEsWUFBOEM7O0lBQUEsaUJBQUs7O0lBQW5ELGVBQThDO0lBQTlDLDBFQUE4Qzs7O0lBQzVHLDBCQUE2RDtJQUFBLFlBQTZDOztJQUFBLGlCQUFLOztJQUFsRCxlQUE2QztJQUE3Qyx5RUFBNkM7OztJQUMxRywwQkFBMkQ7SUFBQSxZQUEyQzs7SUFBQSxpQkFBSzs7SUFBaEQsZUFBMkM7SUFBM0MsdUVBQTJDOzs7SUFDdEcsMEJBQWtFO0lBQUEsWUFBa0Q7O0lBQUEsaUJBQUs7O0lBQXZELGVBQWtEO0lBQWxELDhFQUFrRDs7O0lBQ3BILDBCQUF1RTtJQUFBLFlBQXVEOztJQUFBLGlCQUFLOztJQUE1RCxlQUF1RDtJQUF2RCxtRkFBdUQ7OztJQUdsSSwwQkFBK0Q7SUFBQSxZQUErQzs7SUFBQSxpQkFBSzs7SUFBcEQsZUFBK0M7SUFBL0MsMkVBQStDOzs7SUFFNUcsMEJBQTREO0lBQUEsWUFB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QUs7UUFDUCxpQkFBVTtRQUNaLGlCQUFNO1FBQ1IsaUJBQU07O1FBakNBLGVBQWtFO1FBQWxFLDJGQUFrRSxrQkFBQTtRQVNsRSxlQUNGO1FBREUsbUZBQ0Y7UUFLUyxlQUF3RDtRQUF4RCxxRkFBd0Q7UUFFdEQsZUFBdUQ7UUFBdkQsb0ZBQXVEO1FBQ3ZELGVBQXNEO1FBQXRELG1GQUFzRDtRQUN0RCxlQUFvRDtRQUFwRCxpRkFBb0Q7UUFDcEQsZUFBMkQ7UUFBM0Qsd0ZBQTJEO1FBQzNELGVBQWdFO1FBQWhFLDZGQUFnRTtRQUdwRSxlQUF3RDtRQUF4RCxxRkFBd0Q7UUFFdEQsZUFBcUQ7UUFBckQsa0ZBQXFEO1FBQ3JELGVBQXVEO1FBQXZELG9GQUF1RDtRQUN2RCxlQUF5RDtRQUF6RCxzRkFBeUQ7UUFDekQsZUFBMEQ7UUFBMUQsdUZBQTBEOzt1RkRsQjFELG9CQUFvQjtjQUxoQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsV0FBVyxFQUFFLGdDQUFnQztnQkFDN0MsU0FBUyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7YUFDOUM7NkpBSVUsR0FBRztrQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB0eXBlIHsgSWdvTWFwIH0gZnJvbSAnQGlnbzIvZ2VvJztcblxuaW1wb3J0IHsgU2hhcmVNYXBTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NoYXJlLW1hcC5zZXJ2aWNlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tc2hhcmUtbWFwLXVybCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGFyZS1tYXAtdXJsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2hhcmUtbWFwLXVybC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlTWFwVXJsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIG1hcFN0YXRlJCQ6IFN1YnNjcmlwdGlvbjtcblxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcblxuICBwdWJsaWMgdXJsOiBzdHJpbmc7XG4gIHB1YmxpYyBwdWJsaWNTaGFyZU9wdGlvbiA9IHtcbiAgICBsYXllcmxpc3RDb250cm9sczogeyBxdWVyeXN0cmluZzogJycgfVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzaGFyZU1hcFNlcnZpY2U6IFNoYXJlTWFwU2VydmljZSxcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldFVybCgpO1xuICAgIHRoaXMubWFwU3RhdGUkJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5tYXAudmlld0NvbnRyb2xsZXIuc3RhdGUkLFxuICAgICAgdGhpcy5tYXAuc3RhdHVzJF0pLnN1YnNjcmliZShjID0+IHtcbiAgICAgICAgdGhpcy5yZXNldFVybCgpO1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRVcmwoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubWFwU3RhdGUkJC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcmVzZXRVcmwodmFsdWVzOiBhbnkgPSB7fSkge1xuICAgIHRoaXMudXJsID0gdGhpcy5zaGFyZU1hcFNlcnZpY2UuZ2V0VXJsV2l0aG91dEFwaSh0aGlzLm1hcCwgdGhpcy5wdWJsaWNTaGFyZU9wdGlvbik7XG4gIH1cblxuICBjb3B5VGV4dFRvQ2xpcGJvYXJkKHRleHRBcmVhKSB7XG4gICAgY29uc3Qgc3VjY2Vzc2Z1bCA9IENsaXBib2FyZC5jb3B5KHRleHRBcmVhKTtcbiAgICBpZiAoc3VjY2Vzc2Z1bCkge1xuICAgICAgY29uc3QgdHJhbnNsYXRlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xuICAgICAgY29uc3QgdGl0bGUgPSB0cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgJ2lnby5jb250ZXh0LnNoYXJlTWFwLmRpYWxvZy5jb3B5VGl0bGUnXG4gICAgICApO1xuICAgICAgY29uc3QgbXNnID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5jb250ZXh0LnNoYXJlTWFwLmRpYWxvZy5jb3B5TXNnJyk7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1Y2Nlc3MobXNnLCB0aXRsZSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lciBsaW5rVG9TaGFyZVwiPlxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPHRleHRhcmVhICN0ZXh0QXJlYSBtYXRJbnB1dCByZWFkb25seSByb3dzPVwiM1wiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ2lnby5jb250ZXh0LnNoYXJlTWFwLnBsYWNlaG9sZGVyTGluaycgfCB0cmFuc2xhdGVcIlxuICAgICAgW3ZhbHVlXT1cInVybFwiPjwvdGV4dGFyZWE+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPGRpdiBjbGFzcz1cImlnby1mb3JtLWJ1dHRvbi1ncm91cFwiPlxuICAgIDxidXR0b25cbiAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAoY2xpY2spPVwiY29weVRleHRUb0NsaXBib2FyZCh0ZXh0QXJlYSlcIj5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY29udGVudC1jb3B5XCI+PC9tYXQtaWNvbj5cbiAgICAgIHt7ICdpZ28uY29udGV4dC5zaGFyZU1hcC5jb3B5JyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdj5cbiAgICA8YnIvPlxuICAgIDxzZWN0aW9uIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cbiAgICAgICAgPGg0ICpuZ0lmPVwiKCdpZ28uY29udGV4dC5zaGFyZU1hcC5pbmNsdWRlZCcgfCB0cmFuc2xhdGUpIT09JydcIj57eydpZ28uY29udGV4dC5zaGFyZU1hcC5pbmNsdWRlZCcgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgIDx1bD5cbiAgICAgICAgICA8bGkgKm5nSWY9XCIoJ2lnby5jb250ZXh0LnNoYXJlTWFwLmNvbnRleHQnIHwgdHJhbnNsYXRlKSE9PScnXCI+e3snaWdvLmNvbnRleHQuc2hhcmVNYXAuY29udGV4dCcgfCB0cmFuc2xhdGV9fTwvbGk+XG4gICAgICAgICAgPGxpICpuZ0lmPVwiKCdpZ28uY29udGV4dC5zaGFyZU1hcC5jZW50ZXInIHwgdHJhbnNsYXRlKSE9PScnXCI+e3snaWdvLmNvbnRleHQuc2hhcmVNYXAuY2VudGVyJyB8IHRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgICA8bGkgKm5nSWY9XCIoJ2lnby5jb250ZXh0LnNoYXJlTWFwLnpvb20nIHwgdHJhbnNsYXRlKSE9PScnXCI+e3snaWdvLmNvbnRleHQuc2hhcmVNYXAuem9vbScgfCB0cmFuc2xhdGV9fTwvbGk+XG4gICAgICAgICAgPGxpICpuZ0lmPVwiKCdpZ28uY29udGV4dC5zaGFyZU1hcC5hZGRlZExheWVycycgfCB0cmFuc2xhdGUpIT09JydcIj57eydpZ28uY29udGV4dC5zaGFyZU1hcC5hZGRlZExheWVycycgfCB0cmFuc2xhdGV9fTwvbGk+XG4gICAgICAgICAgPGxpICpuZ0lmPVwiKCdpZ28uY29udGV4dC5zaGFyZU1hcC52aXNpYmxlSW52aXNpYmxlJyB8IHRyYW5zbGF0ZSkhPT0nJ1wiPnt7J2lnby5jb250ZXh0LnNoYXJlTWFwLnZpc2libGVJbnZpc2libGUnIHwgdHJhbnNsYXRlfX08L2xpPlxuICAgICAgICA8L3VsPlxuXG4gICAgICA8aDQgKm5nSWY9XCIoJ2lnby5jb250ZXh0LnNoYXJlTWFwLmV4Y2x1ZGVkJyB8IHRyYW5zbGF0ZSkhPT0nJ1wiPnt7J2lnby5jb250ZXh0LnNoYXJlTWFwLmV4Y2x1ZGVkJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgIDx1bD5cbiAgICAgICAgPGxpICpuZ0lmPVwiKCdpZ28uY29udGV4dC5zaGFyZU1hcC5vcmRlcicgfCB0cmFuc2xhdGUpIT09JydcIj57eydpZ28uY29udGV4dC5zaGFyZU1hcC5vcmRlcicgfCB0cmFuc2xhdGV9fTwvbGk+XG4gICAgICAgIDxsaSAqbmdJZj1cIignaWdvLmNvbnRleHQuc2hhcmVNYXAub3BhY2l0eScgfCB0cmFuc2xhdGUpIT09JydcIj57eydpZ28uY29udGV4dC5zaGFyZU1hcC5vcGFjaXR5JyB8IHRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgPGxpICpuZ0lmPVwiKCdpZ28uY29udGV4dC5zaGFyZU1hcC5maWx0ZXJPZ2MnIHwgdHJhbnNsYXRlKSE9PScnXCI+e3snaWdvLmNvbnRleHQuc2hhcmVNYXAuZmlsdGVyT2djJyB8IHRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgPGxpICpuZ0lmPVwiKCdpZ28uY29udGV4dC5zaGFyZU1hcC5maWx0ZXJUaW1lJyB8IHRyYW5zbGF0ZSkhPT0nJ1wiPnt7J2lnby5jb250ZXh0LnNoYXJlTWFwLmZpbHRlclRpbWUnIHwgdHJhbnNsYXRlfX08L2xpPlxuICAgICAgPC91bD5cbiAgICA8L3NlY3Rpb24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -36,8 +36,8 @@ export class ShareMapService {
|
|
|
36
36
|
let visibleKey = this.route.options.visibleOnLayersKey;
|
|
37
37
|
let invisibleKey = this.route.options.visibleOffLayersKey;
|
|
38
38
|
const layers = map.layers;
|
|
39
|
-
const visibleLayers = layers.filter(lay => lay.visible && lay.
|
|
40
|
-
const invisibleLayers = layers.filter(lay => !lay.visible && lay.
|
|
39
|
+
const visibleLayers = layers.filter(lay => lay.visible && !lay.isIgoInternalLayer);
|
|
40
|
+
const invisibleLayers = layers.filter(lay => !lay.visible && !lay.isIgoInternalLayer);
|
|
41
41
|
if (visibleLayers.length === 0) {
|
|
42
42
|
visibleKey = '';
|
|
43
43
|
}
|
|
@@ -198,4 +198,4 @@ ShareMapService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ShareMap
|
|
|
198
198
|
}], function () { return [{ type: i1.ContextService }, { type: i2.MessageService }, { type: i2.RouteService, decorators: [{
|
|
199
199
|
type: Optional
|
|
200
200
|
}] }]; }, null); })();
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbWFwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvc2hhcmUtbWFwL3NoYXJlZC9zaGFyZS1tYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVlyRCxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUNVLGNBQThCLEVBQzlCLGNBQThCLEVBQ2xCLEtBQW1CO1FBRi9CLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDbEIsVUFBSyxHQUFMLEtBQUssQ0FBYztJQUN0QyxDQUFDO0lBRUosYUFBYSxDQUFDLFVBQVU7UUFDdEIsT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsWUFBWSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUVELG1CQUFtQixDQUFDLEdBQVcsRUFBRSxVQUFVO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0QsT0FBTyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7UUFDekIsT0FBTyxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxHQUFXLEVBQUUsVUFBVSxFQUFFLEVBQVU7UUFDckQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FB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Y29yZSc7XG5cbmltcG9ydCB7IFJvdXRlU2VydmljZSwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IExheWVyLCBXTVNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJ0BpZ28yL2dlbyc7XG5pbXBvcnQgdHlwZSB7IElnb01hcCB9IGZyb20gJ0BpZ28yL2dlbyc7XG5cbmltcG9ydCB7IERldGFpbGVkQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvbnRleHQtbWFuYWdlci9zaGFyZWQvY29udGV4dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250ZXh0LW1hbmFnZXIvc2hhcmVkL2NvbnRleHQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlTWFwU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByb3V0ZTogUm91dGVTZXJ2aWNlXG4gICkge31cblxuICBnZXRVcmxXaXRoQXBpKGZvcm1WYWx1ZXMpIHtcbiAgICByZXR1cm4gYCR7bG9jYXRpb24ub3JpZ2luICsgbG9jYXRpb24ucGF0aG5hbWV9P2NvbnRleHQ9JHtmb3JtVmFsdWVzLnVyaX1gO1xuICB9XG5cbiAgY3JlYXRlQ29udGV4dFNoYXJlZChtYXA6IElnb01hcCwgZm9ybVZhbHVlcykge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmdldENvbnRleHRGcm9tTWFwKG1hcCk7XG4gICAgY29udGV4dC5zY29wZSA9ICdwdWJsaWMnO1xuICAgIGNvbnRleHQudGl0bGUgPSBmb3JtVmFsdWVzLnRpdGxlO1xuICAgIGNvbnRleHQudXJpID0gZm9ybVZhbHVlcy51cmk7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UuY3JlYXRlKGNvbnRleHQpO1xuICB9XG5cbiAgdXBkYXRlQ29udGV4dFNoYXJlZChtYXA6IElnb01hcCwgZm9ybVZhbHVlcywgaWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmdldENvbnRleHRGcm9tTWFwKG1hcCk7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKGlkLCB7XG4gICAgICB0aXRsZTogZm9ybVZhbHVlcy50aXRsZSxcbiAgICAgIG1hcDogY29udGV4dC5tYXBcbiAgICB9IGFzIERldGFpbGVkQ29udGV4dCk7XG4gIH1cblxuICBnZXRVcmxXaXRob3V0QXBpKG1hcDogSWdvTWFwLCBwdWJsaWNTaGFyZU9wdGlvbikge1xuICAgIGlmIChcbiAgICAgICF0aGlzLnJvdXRlIHx8XG4gICAgICAhdGhpcy5yb3V0ZS5vcHRpb25zLnZpc2libGVPbkxheWVyc0tleSB8fFxuICAgICAgIXRoaXMucm91dGUub3B0aW9ucy52aXNpYmxlT2ZmTGF5ZXJzS2V5IHx8XG4gICAgICAhbWFwLnZpZXdDb250cm9sbGVyLmdldFpvb20oKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBsbGMgPSBwdWJsaWNTaGFyZU9wdGlvbi5sYXllcmxpc3RDb250cm9scy5xdWVyeXN0cmluZztcblxuICAgIGxldCB2aXNpYmxlS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLnZpc2libGVPbkxheWVyc0tleTtcbiAgICBsZXQgaW52aXNpYmxlS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLnZpc2libGVPZmZMYXllcnNLZXk7XG4gICAgY29uc3QgbGF5ZXJzID0gbWFwLmxheWVycztcblxuICAgIGNvbnN0IHZpc2libGVMYXllcnMgPSBsYXllcnMuZmlsdGVyKGxheSA9PiBsYXkudmlzaWJsZSAmJiBsYXkuaWQgIT09ICdzZWFyY2hQb2ludGVyU3VtbWFyeUlkJyk7XG4gICAgY29uc3QgaW52aXNpYmxlTGF5ZXJzID0gbGF5ZXJzLmZpbHRlcihsYXkgPT4gIWxheS52aXNpYmxlICYmIGxheS5pZCAhPT0gJ3NlYXJjaFBvaW50ZXJTdW1tYXJ5SWQnKTtcblxuICAgIGlmICh2aXNpYmxlTGF5ZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdmlzaWJsZUtleSA9ICcnO1xuICAgIH1cbiAgICBpZiAoaW52aXNpYmxlTGF5ZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaW52aXNpYmxlS2V5ID0gJyc7XG4gICAgfVxuXG4gICAgbGV0IGxheWVyc1VybCA9ICcnO1xuICAgIGxldCBsYXllcnNUb0xvb3AgPSBbXTtcbiAgICBpZiAodmlzaWJsZUxheWVycy5sZW5ndGggPiBpbnZpc2libGVMYXllcnMubGVuZ3RoKSB7XG4gICAgICBsYXllcnNVcmwgPSBgJHt2aXNpYmxlS2V5fT0qJiR7aW52aXNpYmxlS2V5fT1gO1xuICAgICAgbGF5ZXJzVG9Mb29wID0gaW52aXNpYmxlTGF5ZXJzO1xuICAgIH0gZWxzZSB7XG4gICAgICBsYXllcnNVcmwgPSBgJHtpbnZpc2libGVLZXl9PSomJHt2aXNpYmxlS2V5fT1gO1xuICAgICAgbGF5ZXJzVG9Mb29wID0gdmlzaWJsZUxheWVycztcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIGxheWVyc1RvTG9vcCkge1xuICAgICAgaWYgKGxheWVyLmlkKSB7XG4gICAgICAgIGxheWVyc1VybCArPSBsYXllci5pZCArICcsJztcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgY29udGV4dExheWVyc0lEID0gW107XG4gICAgY29uc3QgY29udGV4dExheWVycyA9IHRoaXMuY29udGV4dFNlcnZpY2UuY29udGV4dCQudmFsdWUubGF5ZXJzO1xuICAgIGZvciAoY29uc3QgY29udGV4dExheWVyIG9mIGNvbnRleHRMYXllcnMpIHtcbiAgICAgIGlmICggdHlwZW9mIGNvbnRleHRMYXllci5pZCAhPT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIGNvbnRleHRMYXllci5zb3VyY2UgIT09ICd1bmRlZmluZWQnICkge1xuICAgICAgICBjb250ZXh0TGF5ZXJzSUQucHVzaChjb250ZXh0TGF5ZXIuaWQgfHwgY29udGV4dExheWVyLnNvdXJjZS5pZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgYWRkZWRMYXllcnNRdWVyeVBhcmFtc1dtcyA9IHRoaXMubWFrZUxheWVyc0J5U2VydmljZShsYXllcnMsIGNvbnRleHRMYXllcnNJRCwgJ3dtcycpO1xuICAgIGNvbnN0IGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXNXbXRzID0gdGhpcy5tYWtlTGF5ZXJzQnlTZXJ2aWNlKGxheWVycywgY29udGV4dExheWVyc0lELCAnd210cycpO1xuICAgIGNvbnN0IGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXNBcmNnaXNSZXN0ID0gdGhpcy5tYWtlTGF5ZXJzQnlTZXJ2aWNlKGxheWVycywgY29udGV4dExheWVyc0lELCAnYXJjZ2lzcmVzdCcpO1xuICAgIGNvbnN0IGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXNJbWFnZUFyY2dpc1Jlc3QgPSB0aGlzLm1ha2VMYXllcnNCeVNlcnZpY2UobGF5ZXJzLCBjb250ZXh0TGF5ZXJzSUQsICdpbWFnZWFyY2dpc3Jlc3QnKTtcbiAgICBjb25zdCBhZGRlZExheWVyc1F1ZXJ5UGFyYW1zVGlsZUFyY2dpc1Jlc3QgPSB0aGlzLm1ha2VMYXllcnNCeVNlcnZpY2UobGF5ZXJzLCBjb250ZXh0TGF5ZXJzSUQsICd0aWxlYXJjZ2lzcmVzdCcpO1xuXG4gICAgbGF5ZXJzVXJsID0gbGF5ZXJzVXJsLnN1YnN0cigwLCBsYXllcnNVcmwubGVuZ3RoIC0gMSk7XG5cbiAgICBjb25zdCB6b29tS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLnpvb21LZXk7XG4gICAgY29uc3QgY2VudGVyS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmNlbnRlcktleTtcbiAgICBjb25zdCBjb250ZXh0S2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmNvbnRleHRLZXk7XG5cbiAgICBjb25zdCB6b29tID0gYCR7em9vbUtleX09JHttYXAudmlld0NvbnRyb2xsZXIuZ2V0Wm9vbSgpfWA7XG4gICAgY29uc3QgYXJyYXlDZW50ZXIgPSBtYXAudmlld0NvbnRyb2xsZXIuZ2V0Q2VudGVyKCdFUFNHOjQzMjYnKSB8fCBbXTtcbiAgICBjb25zdCBsb25nID0gYXJyYXlDZW50ZXJbMF0udG9GaXhlZCg1KS5yZXBsYWNlKC9cXC4oW14wXSspMCskLywgJy4kMScpO1xuICAgIGNvbnN0IGxhdCA9IGFycmF5Q2VudGVyWzFdLnRvRml4ZWQoNSkucmVwbGFjZSgvXFwuKFteMF0rKTArJC8sICcuJDEnKTtcbiAgICBjb25zdCBjZW50ZXIgPSBgJHtjZW50ZXJLZXl9PSR7bG9uZ30sJHtsYXR9YC5yZXBsYWNlKC8uMDAwMDAvZywgJycpO1xuICAgIGxldCBjb250ZXh0ID0gJyc7XG4gICAgaWYgKHRoaXMuY29udGV4dFNlcnZpY2UuY29udGV4dCQudmFsdWUpIHtcbiAgICAgIGNvbnRleHQgPSBgJHtjb250ZXh0S2V5fT0ke3RoaXMuY29udGV4dFNlcnZpY2UuY29udGV4dCQudmFsdWUudXJpfWA7XG4gICAgfVxuXG4gICAgbGV0IHVybCA9IGAke2xvY2F0aW9uLm9yaWdpbn0ke2xvY2F0aW9uLnBhdGhuYW1lfT8ke2NvbnRleHR9JiR7em9vbX0mJHtjZW50ZXJ9JiR7bGF5ZXJzVXJsfSYke2xsY30mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zV21zfSYke2xsY30mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zV210c30mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zQXJjZ2lzUmVzdH0mJHthZGRlZExheWVyc1F1ZXJ5UGFyYW1zSW1hZ2VBcmNnaXNSZXN0fSYke2FkZGVkTGF5ZXJzUXVlcnlQYXJhbXNUaWxlQXJjZ2lzUmVzdH1gO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcbiAgICAgIHVybCA9IHVybC5yZXBsYWNlKC8mJi9nLCAnJicpO1xuICAgICAgdXJsID0gdXJsLmVuZHNXaXRoKCcmJykgPyB1cmwuc2xpY2UoMCwgLTEpIDogdXJsO1xuICAgIH1cbiAgICB1cmwgPSB1cmwuZW5kc1dpdGgoJyYnKSA/IHVybC5zbGljZSgwLCAtMSkgOiB1cmw7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJz8md20nLCAnJndtJyk7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJz8mJywgJz8nKTtcblxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICBwcml2YXRlIG1ha2VMYXllcnNCeVNlcnZpY2UobGF5ZXJzOiBMYXllcltdLCBjb250ZXh0TGF5ZXJzSUQ6IGFueVtdLCB0eXBlU2VydmljZTogc3RyaW5nKTogc3RyaW5nIHtcblxuICAgIGNvbnN0IGFkZGVkTGF5ZXJzQnlTZXJ2aWNlID0gW107XG4gICAgZm9yIChjb25zdCBsYXllciBvZiBsYXllcnMuZmlsdGVyKGwgPT4gbC5kYXRhU291cmNlLm9wdGlvbnM/LnR5cGUgPT09IHR5cGVTZXJ2aWNlKSkge1xuICAgICAgaWYgKGNvbnRleHRMYXllcnNJRC5pbmRleE9mKGxheWVyLmlkKSA9PT0gLTEpIHtcbiAgICAgICAgbGV0IGxpbmtVcmwgPSBlbmNvZGVVUklDb21wb25lbnQoKGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBhbnkpLnVybCk7XG4gICAgICAgIGxldCBhZGRlZExheWVyID0gJyc7XG4gICAgICAgIGxldCBsYXllclZlcnNpb246IHN0cmluZztcbiAgICAgICAgc3dpdGNoIChsYXllci5kYXRhU291cmNlLm9wdGlvbnMudHlwZS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgY2FzZSAnd21zJzpcbiAgICAgICAgICAgIGNvbnN0IGRhdGFzb3VyY2VPcHRpb25zID0gbGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIFdNU0RhdGFTb3VyY2VPcHRpb25zO1xuICAgICAgICAgICAgYWRkZWRMYXllciA9IGVuY29kZVVSSUNvbXBvbmVudChkYXRhc291cmNlT3B0aW9ucy5wYXJhbXMuTEFZRVJTKTtcbiAgICAgICAgICAgIGxheWVyVmVyc2lvbiA9IGRhdGFzb3VyY2VPcHRpb25zLnBhcmFtcy5WRVJTSU9OID09PSAnMS4zLjAnID8gbGF5ZXJWZXJzaW9uIDogZGF0YXNvdXJjZU9wdGlvbnMucGFyYW1zLlZFUlNJT047XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICd3bXRzJzpcbiAgICAgICAgICBjYXNlICdhcmNnaXNyZXN0JzpcbiAgICAgICAgICBjYXNlICdpbWFnZWFyY2dpc3Jlc3QnOlxuICAgICAgICAgIGNhc2UgJ3RpbGVhcmNnaXNyZXN0JzpcbiAgICAgICAgICAgIGFkZGVkTGF5ZXIgPSBlbmNvZGVVUklDb21wb25lbnQoKGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBhbnkpLmxheWVyKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFkZGVkTGF5ZXJQb3NpdGlvbiA9IGAke2FkZGVkTGF5ZXJ9Omlnb3oke2xheWVyLnpJbmRleH1gO1xuXG4gICAgICAgIGxldCB2ZXJzaW9uID0gJyc7XG4gICAgICAgIGlmIChsYXllclZlcnNpb24pIHtcbiAgICAgICAgICBjb25zdCBvcGVyYXRvciA9IChsYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgYW55KS51cmwuaW5kZXhPZignPycpID09PSAtMSA/ICc/JyA6ICcmJztcbiAgICAgICAgICB2ZXJzaW9uID0gZW5jb2RlVVJJQ29tcG9uZW50KGAke29wZXJhdG9yfVZFUlNJT049JHtsYXllclZlcnNpb259YCk7XG4gICAgICAgIH1cbiAgICAgICAgbGlua1VybCA9IGAke2xpbmtVcmx9JHt2ZXJzaW9ufWA7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICFhZGRlZExheWVyc0J5U2VydmljZS5maW5kKGRlZmluZWRVcmwgPT4gZGVmaW5lZFVybC51cmwgPT09IGxpbmtVcmwpXG4gICAgICAgICkge1xuICAgICAgICAgIGFkZGVkTGF5ZXJzQnlTZXJ2aWNlLnB1c2goe1xuICAgICAgICAgICAgdXJsOiBsaW5rVXJsLFxuICAgICAgICAgICAgbGF5ZXJzOiBbYWRkZWRMYXllclBvc2l0aW9uXVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFkZGVkTGF5ZXJzQnlTZXJ2aWNlLmZvckVhY2goc2VydmljZSA9PiB7XG4gICAgICAgICAgICBpZiAoc2VydmljZS51cmwgPT09IGxpbmtVcmwpIHtcbiAgICAgICAgICAgICAgc2VydmljZS5sYXllcnMucHVzaChhZGRlZExheWVyUG9zaXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXMgPSAnJztcbiAgICBpZiAoYWRkZWRMYXllcnNCeVNlcnZpY2UubGVuZ3RoID49IDEpIHtcbiAgICAgIGxldCBsaW5rVXJsS2V5O1xuICAgICAgbGV0IGxheWVyc0tleTtcbiAgICAgIC8qXG4gICAgICBjb25zdCBsaW5rVXJsS2V5ID0gKHR5cGVTZXJ2aWNlID09PSAnd21zJykgPyB0aGlzLnJvdXRlLm9wdGlvbnMud21zVXJsS2V5IDpcbiAgICAgICAgKHR5cGVTZXJ2aWNlID09PSAnd210cycpID8gdGhpcy5yb3V0ZS5vcHRpb25zLndtdHNVcmxLZXkgOiAnJyA7XG4gICAgICBjb25zdCBsYXllcnNLZXkgPSAodHlwZVNlcnZpY2UgPT09ICd3bXMnKSA/IHRoaXMucm91dGUub3B0aW9ucy53bXNMYXllcnNLZXkgOlxuICAgICAgICAodHlwZVNlcnZpY2UgPT09ICd3bXRzJykgPyB0aGlzLnJvdXRlLm9wdGlvbnMud210c0xheWVyc0tleSA6ICcnIDtcbiovXG4gICAgICBzd2l0Y2ggKHR5cGVTZXJ2aWNlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgY2FzZSAnd21zJzpcbiAgICAgICAgICBsaW5rVXJsS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLndtc1VybEtleTtcbiAgICAgICAgICBsYXllcnNLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMud21zTGF5ZXJzS2V5O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd3bXRzJzpcbiAgICAgICAgICBsaW5rVXJsS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLndtdHNVcmxLZXk7XG4gICAgICAgICAgbGF5ZXJzS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLndtdHNMYXllcnNLZXk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2FyY2dpc3Jlc3QnOlxuICAgICAgICAgIGxpbmtVcmxLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMuYXJjZ2lzVXJsS2V5O1xuICAgICAgICAgIGxheWVyc0tleSA9IHRoaXMucm91dGUub3B0aW9ucy5hcmNnaXNMYXllcnNLZXk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2ltYWdlYXJjZ2lzcmVzdCc6XG4gICAgICAgICAgbGlua1VybEtleSA9IHRoaXMucm91dGUub3B0aW9ucy5pYXJjZ2lzVXJsS2V5O1xuICAgICAgICAgIGxheWVyc0tleSA9IHRoaXMucm91dGUub3B0aW9ucy5pYXJjZ2lzTGF5ZXJzS2V5O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd0aWxlYXJjZ2lzcmVzdCc6XG4gICAgICAgICAgbGlua1VybEtleSA9IHRoaXMucm91dGUub3B0aW9ucy50YXJjZ2lzVXJsS2V5O1xuICAgICAgICAgIGxheWVyc0tleSA9IHRoaXMucm91dGUub3B0aW9ucy50YXJjZ2lzTGF5ZXJzS2V5O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGxpbmtVcmxLZXkgPSAnJztcbiAgICAgICAgICBsYXllcnNLZXkgPSAnJztcbiAgICAgIH1cblxuICAgICAgbGV0IGxpbmtVcmxRdWVyeVBhcmFtcyA9ICcnO1xuICAgICAgbGV0IGxheWVyc1F1ZXJ5UGFyYW1zID0gJyc7XG4gICAgICBhZGRlZExheWVyc0J5U2VydmljZS5mb3JFYWNoKHNlcnZpY2UgPT4ge1xuICAgICAgICBsaW5rVXJsUXVlcnlQYXJhbXMgKz0gYCR7c2VydmljZS51cmx9LGA7XG4gICAgICAgIGxheWVyc1F1ZXJ5UGFyYW1zICs9IGAoJHtzZXJ2aWNlLmxheWVycy5qb2luKCcsJyl9KSxgO1xuICAgICAgfSk7XG4gICAgICBsaW5rVXJsUXVlcnlQYXJhbXMgPSBsaW5rVXJsUXVlcnlQYXJhbXMuZW5kc1dpdGgoJywnKVxuICAgICAgICA/IGxpbmtVcmxRdWVyeVBhcmFtcy5zbGljZSgwLCAtMSlcbiAgICAgICAgOiBsaW5rVXJsUXVlcnlQYXJhbXM7XG4gICAgICBsYXllcnNRdWVyeVBhcmFtcyA9IGxheWVyc1F1ZXJ5UGFyYW1zLmVuZHNXaXRoKCcsJylcbiAgICAgICAgPyBsYXllcnNRdWVyeVBhcmFtcy5zbGljZSgwLCAtMSlcbiAgICAgICAgOiBsYXllcnNRdWVyeVBhcmFtcztcbiAgICAgIGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXMgPSBgJHtsaW5rVXJsS2V5fT0ke2xpbmtVcmxRdWVyeVBhcmFtc30mJHtsYXllcnNLZXl9PSR7bGF5ZXJzUXVlcnlQYXJhbXN9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gYWRkZWRMYXllcnNRdWVyeVBhcmFtcztcbiAgfVxufVxuIl19
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbWFwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvc2hhcmUtbWFwL3NoYXJlZC9zaGFyZS1tYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVlyRCxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUNVLGNBQThCLEVBQzlCLGNBQThCLEVBQ2xCLEtBQW1CO1FBRi9CLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDbEIsVUFBSyxHQUFMLEtBQUssQ0FBYztJQUN0QyxDQUFDO0lBRUosYUFBYSxDQUFDLFVBQVU7UUFDdEIsT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsWUFBWSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUVELG1CQUFtQixDQUFDLEdBQVcsRUFBRSxVQUFVO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0QsT0FBTyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7UUFDekIsT0FBTyxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxHQUFXLEVBQUUsVUFBVSxFQUFFLEVBQVU7UUFDckQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FB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QkFDUjtvQkFDRSxVQUFVLEdBQUcsRUFBRSxDQUFDO29CQUNoQixTQUFTLEdBQUcsRUFBRSxDQUFDO2FBQ2xCO1lBRUQsSUFBSSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7WUFDNUIsSUFBSSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7WUFDM0Isb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNyQyxrQkFBa0IsSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQztnQkFDeEMsaUJBQWlCLElBQUksSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDO1lBQ0gsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFDbkQsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztZQUN2QixpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUNqRCxDQUFDLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1lBQ3RCLHNCQUFzQixHQUFHLEdBQUcsVUFBVSxJQUFJLGtCQUFrQixJQUFJLFNBQVMsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1NBQ2xHO1FBRUQsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDOzs4RUFsTlUsZUFBZTtxRUFBZixlQUFlLFdBQWYsZUFBZSxtQkFGZCxNQUFNO3VGQUVQLGVBQWU7Y0FIM0IsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COztzQkFNSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUm91dGVTZXJ2aWNlLCBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgTGF5ZXIsIFdNU0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnQGlnbzIvZ2VvJztcbmltcG9ydCB0eXBlIHsgSWdvTWFwIH0gZnJvbSAnQGlnbzIvZ2VvJztcblxuaW1wb3J0IHsgRGV0YWlsZWRDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29udGV4dC1tYW5hZ2VyL3NoYXJlZC9jb250ZXh0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRleHQtbWFuYWdlci9zaGFyZWQvY29udGV4dC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVNYXBTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlOiBSb3V0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIGdldFVybFdpdGhBcGkoZm9ybVZhbHVlcykge1xuICAgIHJldHVybiBgJHtsb2NhdGlvbi5vcmlnaW4gKyBsb2NhdGlvbi5wYXRobmFtZX0/Y29udGV4dD0ke2Zvcm1WYWx1ZXMudXJpfWA7XG4gIH1cblxuICBjcmVhdGVDb250ZXh0U2hhcmVkKG1hcDogSWdvTWFwLCBmb3JtVmFsdWVzKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UuZ2V0Q29udGV4dEZyb21NYXAobWFwKTtcbiAgICBjb250ZXh0LnNjb3BlID0gJ3B1YmxpYyc7XG4gICAgY29udGV4dC50aXRsZSA9IGZvcm1WYWx1ZXMudGl0bGU7XG4gICAgY29udGV4dC51cmkgPSBmb3JtVmFsdWVzLnVyaTtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5jcmVhdGUoY29udGV4dCk7XG4gIH1cblxuICB1cGRhdGVDb250ZXh0U2hhcmVkKG1hcDogSWdvTWFwLCBmb3JtVmFsdWVzLCBpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UuZ2V0Q29udGV4dEZyb21NYXAobWFwKTtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoaWQsIHtcbiAgICAgIHRpdGxlOiBmb3JtVmFsdWVzLnRpdGxlLFxuICAgICAgbWFwOiBjb250ZXh0Lm1hcFxuICAgIH0gYXMgRGV0YWlsZWRDb250ZXh0KTtcbiAgfVxuXG4gIGdldFVybFdpdGhvdXRBcGkobWFwOiBJZ29NYXAsIHB1YmxpY1NoYXJlT3B0aW9uKSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMucm91dGUgfHxcbiAgICAgICF0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9uTGF5ZXJzS2V5IHx8XG4gICAgICAhdGhpcy5yb3V0ZS5vcHRpb25zLnZpc2libGVPZmZMYXllcnNLZXkgfHxcbiAgICAgICFtYXAudmlld0NvbnRyb2xsZXIuZ2V0Wm9vbSgpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGxsYyA9IHB1YmxpY1NoYXJlT3B0aW9uLmxheWVybGlzdENvbnRyb2xzLnF1ZXJ5c3RyaW5nO1xuXG4gICAgbGV0IHZpc2libGVLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9uTGF5ZXJzS2V5O1xuICAgIGxldCBpbnZpc2libGVLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9mZkxheWVyc0tleTtcbiAgICBjb25zdCBsYXllcnMgPSBtYXAubGF5ZXJzO1xuXG4gICAgY29uc3QgdmlzaWJsZUxheWVycyA9IGxheWVycy5maWx0ZXIobGF5ID0+IGxheS52aXNpYmxlICYmICFsYXkuaXNJZ29JbnRlcm5hbExheWVyKTtcbiAgICBjb25zdCBpbnZpc2libGVMYXllcnMgPSBsYXllcnMuZmlsdGVyKGxheSA9PiAhbGF5LnZpc2libGUgJiYgIWxheS5pc0lnb0ludGVybmFsTGF5ZXIpO1xuXG4gICAgaWYgKHZpc2libGVMYXllcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICB2aXNpYmxlS2V5ID0gJyc7XG4gICAgfVxuICAgIGlmIChpbnZpc2libGVMYXllcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICBpbnZpc2libGVLZXkgPSAnJztcbiAgICB9XG5cbiAgICBsZXQgbGF5ZXJzVXJsID0gJyc7XG4gICAgbGV0IGxheWVyc1RvTG9vcCA9IFtdO1xuICAgIGlmICh2aXNpYmxlTGF5ZXJzLmxlbmd0aCA+IGludmlzaWJsZUxheWVycy5sZW5ndGgpIHtcbiAgICAgIGxheWVyc1VybCA9IGAke3Zpc2libGVLZXl9PSomJHtpbnZpc2libGVLZXl9PWA7XG4gICAgICBsYXllcnNUb0xvb3AgPSBpbnZpc2libGVMYXllcnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxheWVyc1VybCA9IGAke2ludmlzaWJsZUtleX09KiYke3Zpc2libGVLZXl9PWA7XG4gICAgICBsYXllcnNUb0xvb3AgPSB2aXNpYmxlTGF5ZXJzO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgbGF5ZXJzVG9Mb29wKSB7XG4gICAgICBpZiAobGF5ZXIuaWQpIHtcbiAgICAgICAgbGF5ZXJzVXJsICs9IGxheWVyLmlkICsgJywnO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBjb250ZXh0TGF5ZXJzSUQgPSBbXTtcbiAgICBjb25zdCBjb250ZXh0TGF5ZXJzID0gdGhpcy5jb250ZXh0U2VydmljZS5jb250ZXh0JC52YWx1ZS5sYXllcnM7XG4gICAgZm9yIChjb25zdCBjb250ZXh0TGF5ZXIgb2YgY29udGV4dExheWVycykge1xuICAgICAgaWYgKCB0eXBlb2YgY29udGV4dExheWVyLmlkICE9PSAndW5kZWZpbmVkJyB8fCB0eXBlb2YgY29udGV4dExheWVyLnNvdXJjZSAhPT0gJ3VuZGVmaW5lZCcgKSB7XG4gICAgICAgIGNvbnRleHRMYXllcnNJRC5wdXNoKGNvbnRleHRMYXllci5pZCB8fCBjb250ZXh0TGF5ZXIuc291cmNlLmlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBhZGRlZExheWVyc1F1ZXJ5UGFyYW1zV21zID0gdGhpcy5tYWtlTGF5ZXJzQnlTZXJ2aWNlKGxheWVycywgY29udGV4dExheWVyc0lELCAnd21zJyk7XG4gICAgY29uc3QgYWRkZWRMYXllcnNRdWVyeVBhcmFtc1dtdHMgPSB0aGlzLm1ha2VMYXllcnNCeVNlcnZpY2UobGF5ZXJzLCBjb250ZXh0TGF5ZXJzSUQsICd3bXRzJyk7XG4gICAgY29uc3QgYWRkZWRMYXllcnNRdWVyeVBhcmFtc0FyY2dpc1Jlc3QgPSB0aGlzLm1ha2VMYXllcnNCeVNlcnZpY2UobGF5ZXJzLCBjb250ZXh0TGF5ZXJzSUQsICdhcmNnaXNyZXN0Jyk7XG4gICAgY29uc3QgYWRkZWRMYXllcnNRdWVyeVBhcmFtc0ltYWdlQXJjZ2lzUmVzdCA9IHRoaXMubWFrZUxheWVyc0J5U2VydmljZShsYXllcnMsIGNvbnRleHRMYXllcnNJRCwgJ2ltYWdlYXJjZ2lzcmVzdCcpO1xuICAgIGNvbnN0IGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXNUaWxlQXJjZ2lzUmVzdCA9IHRoaXMubWFrZUxheWVyc0J5U2VydmljZShsYXllcnMsIGNvbnRleHRMYXllcnNJRCwgJ3RpbGVhcmNnaXNyZXN0Jyk7XG5cbiAgICBsYXllcnNVcmwgPSBsYXllcnNVcmwuc3Vic3RyKDAsIGxheWVyc1VybC5sZW5ndGggLSAxKTtcblxuICAgIGNvbnN0IHpvb21LZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMuem9vbUtleTtcbiAgICBjb25zdCBjZW50ZXJLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMuY2VudGVyS2V5O1xuICAgIGNvbnN0IGNvbnRleHRLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMuY29udGV4dEtleTtcblxuICAgIGNvbnN0IHpvb20gPSBgJHt6b29tS2V5fT0ke21hcC52aWV3Q29udHJvbGxlci5nZXRab29tKCl9YDtcbiAgICBjb25zdCBhcnJheUNlbnRlciA9IG1hcC52aWV3Q29udHJvbGxlci5nZXRDZW50ZXIoJ0VQU0c6NDMyNicpIHx8IFtdO1xuICAgIGNvbnN0IGxvbmcgPSBhcnJheUNlbnRlclswXS50b0ZpeGVkKDUpLnJlcGxhY2UoL1xcLihbXjBdKykwKyQvLCAnLiQxJyk7XG4gICAgY29uc3QgbGF0ID0gYXJyYXlDZW50ZXJbMV0udG9GaXhlZCg1KS5yZXBsYWNlKC9cXC4oW14wXSspMCskLywgJy4kMScpO1xuICAgIGNvbnN0IGNlbnRlciA9IGAke2NlbnRlcktleX09JHtsb25nfSwke2xhdH1gLnJlcGxhY2UoLy4wMDAwMC9nLCAnJyk7XG4gICAgbGV0IGNvbnRleHQgPSAnJztcbiAgICBpZiAodGhpcy5jb250ZXh0U2VydmljZS5jb250ZXh0JC52YWx1ZSkge1xuICAgICAgY29udGV4dCA9IGAke2NvbnRleHRLZXl9PSR7dGhpcy5jb250ZXh0U2VydmljZS5jb250ZXh0JC52YWx1ZS51cml9YDtcbiAgICB9XG5cbiAgICBsZXQgdXJsID0gYCR7bG9jYXRpb24ub3JpZ2lufSR7bG9jYXRpb24ucGF0aG5hbWV9PyR7Y29udGV4dH0mJHt6b29tfSYke2NlbnRlcn0mJHtsYXllcnNVcmx9JiR7bGxjfSYke2FkZGVkTGF5ZXJzUXVlcnlQYXJhbXNXbXN9JiR7bGxjfSYke2FkZGVkTGF5ZXJzUXVlcnlQYXJhbXNXbXRzfSYke2FkZGVkTGF5ZXJzUXVlcnlQYXJhbXNBcmNnaXNSZXN0fSYke2FkZGVkTGF5ZXJzUXVlcnlQYXJhbXNJbWFnZUFyY2dpc1Jlc3R9JiR7YWRkZWRMYXllcnNRdWVyeVBhcmFtc1RpbGVBcmNnaXNSZXN0fWA7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDU7IGkrKykge1xuICAgICAgdXJsID0gdXJsLnJlcGxhY2UoLyYmL2csICcmJyk7XG4gICAgICB1cmwgPSB1cmwuZW5kc1dpdGgoJyYnKSA/IHVybC5zbGljZSgwLCAtMSkgOiB1cmw7XG4gICAgfVxuICAgIHVybCA9IHVybC5lbmRzV2l0aCgnJicpID8gdXJsLnNsaWNlKDAsIC0xKSA6IHVybDtcbiAgICB1cmwgPSB1cmwucmVwbGFjZSgnPyZ3bScsICcmd20nKTtcbiAgICB1cmwgPSB1cmwucmVwbGFjZSgnPyYnLCAnPycpO1xuXG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHByaXZhdGUgbWFrZUxheWVyc0J5U2VydmljZShsYXllcnM6IExheWVyW10sIGNvbnRleHRMYXllcnNJRDogYW55W10sIHR5cGVTZXJ2aWNlOiBzdHJpbmcpOiBzdHJpbmcge1xuXG4gICAgY29uc3QgYWRkZWRMYXllcnNCeVNlcnZpY2UgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIGxheWVycy5maWx0ZXIobCA9PiBsLmRhdGFTb3VyY2Uub3B0aW9ucz8udHlwZSA9PT0gdHlwZVNlcnZpY2UpKSB7XG4gICAgICBpZiAoY29udGV4dExheWVyc0lELmluZGV4T2YobGF5ZXIuaWQpID09PSAtMSkge1xuICAgICAgICBsZXQgbGlua1VybCA9IGVuY29kZVVSSUNvbXBvbmVudCgobGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIGFueSkudXJsKTtcbiAgICAgICAgbGV0IGFkZGVkTGF5ZXIgPSAnJztcbiAgICAgICAgbGV0IGxheWVyVmVyc2lvbjogc3RyaW5nO1xuICAgICAgICBzd2l0Y2ggKGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy50eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICBjYXNlICd3bXMnOlxuICAgICAgICAgICAgY29uc3QgZGF0YXNvdXJjZU9wdGlvbnMgPSBsYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgV01TRGF0YVNvdXJjZU9wdGlvbnM7XG4gICAgICAgICAgICBhZGRlZExheWVyID0gZW5jb2RlVVJJQ29tcG9uZW50KGRhdGFzb3VyY2VPcHRpb25zLnBhcmFtcy5MQVlFUlMpO1xuICAgICAgICAgICAgbGF5ZXJWZXJzaW9uID0gZGF0YXNvdXJjZU9wdGlvbnMucGFyYW1zLlZFUlNJT04gPT09ICcxLjMuMCcgPyBsYXllclZlcnNpb24gOiBkYXRhc291cmNlT3B0aW9ucy5wYXJhbXMuVkVSU0lPTjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ3dtdHMnOlxuICAgICAgICAgIGNhc2UgJ2FyY2dpc3Jlc3QnOlxuICAgICAgICAgIGNhc2UgJ2ltYWdlYXJjZ2lzcmVzdCc6XG4gICAgICAgICAgY2FzZSAndGlsZWFyY2dpc3Jlc3QnOlxuICAgICAgICAgICAgYWRkZWRMYXllciA9IGVuY29kZVVSSUNvbXBvbmVudCgobGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIGFueSkubGF5ZXIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWRkZWRMYXllclBvc2l0aW9uID0gYCR7YWRkZWRMYXllcn06aWdveiR7bGF5ZXIuekluZGV4fWA7XG5cbiAgICAgICAgbGV0IHZlcnNpb24gPSAnJztcbiAgICAgICAgaWYgKGxheWVyVmVyc2lvbikge1xuICAgICAgICAgIGNvbnN0IG9wZXJhdG9yID0gKGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBhbnkpLnVybC5pbmRleE9mKCc/JykgPT09IC0xID8gJz8nIDogJyYnO1xuICAgICAgICAgIHZlcnNpb24gPSBlbmNvZGVVUklDb21wb25lbnQoYCR7b3BlcmF0b3J9VkVSU0lPTj0ke2xheWVyVmVyc2lvbn1gKTtcbiAgICAgICAgfVxuICAgICAgICBsaW5rVXJsID0gYCR7bGlua1VybH0ke3ZlcnNpb259YDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgIWFkZGVkTGF5ZXJzQnlTZXJ2aWNlLmZpbmQoZGVmaW5lZFVybCA9PiBkZWZpbmVkVXJsLnVybCA9PT0gbGlua1VybClcbiAgICAgICAgKSB7XG4gICAgICAgICAgYWRkZWRMYXllcnNCeVNlcnZpY2UucHVzaCh7XG4gICAgICAgICAgICB1cmw6IGxpbmtVcmwsXG4gICAgICAgICAgICBsYXllcnM6IFthZGRlZExheWVyUG9zaXRpb25dXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWRkZWRMYXllcnNCeVNlcnZpY2UuZm9yRWFjaChzZXJ2aWNlID0+IHtcbiAgICAgICAgICAgIGlmIChzZXJ2aWNlLnVybCA9PT0gbGlua1VybCkge1xuICAgICAgICAgICAgICBzZXJ2aWNlLmxheWVycy5wdXNoKGFkZGVkTGF5ZXJQb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgYWRkZWRMYXllcnNRdWVyeVBhcmFtcyA9ICcnO1xuICAgIGlmIChhZGRlZExheWVyc0J5U2VydmljZS5sZW5ndGggPj0gMSkge1xuICAgICAgbGV0IGxpbmtVcmxLZXk7XG4gICAgICBsZXQgbGF5ZXJzS2V5O1xuICAgICAgLypcbiAgICAgIGNvbnN0IGxpbmtVcmxLZXkgPSAodHlwZVNlcnZpY2UgPT09ICd3bXMnKSA/IHRoaXMucm91dGUub3B0aW9ucy53bXNVcmxLZXkgOlxuICAgICAgICAodHlwZVNlcnZpY2UgPT09ICd3bXRzJykgPyB0aGlzLnJvdXRlLm9wdGlvbnMud210c1VybEtleSA6ICcnIDtcbiAgICAgIGNvbnN0IGxheWVyc0tleSA9ICh0eXBlU2VydmljZSA9PT0gJ3dtcycpID8gdGhpcy5yb3V0ZS5vcHRpb25zLndtc0xheWVyc0tleSA6XG4gICAgICAgICh0eXBlU2VydmljZSA9PT0gJ3dtdHMnKSA/IHRoaXMucm91dGUub3B0aW9ucy53bXRzTGF5ZXJzS2V5IDogJycgO1xuKi9cbiAgICAgIHN3aXRjaCAodHlwZVNlcnZpY2UudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICBjYXNlICd3bXMnOlxuICAgICAgICAgIGxpbmtVcmxLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMud21zVXJsS2V5O1xuICAgICAgICAgIGxheWVyc0tleSA9IHRoaXMucm91dGUub3B0aW9ucy53bXNMYXllcnNLZXk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3dtdHMnOlxuICAgICAgICAgIGxpbmtVcmxLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMud210c1VybEtleTtcbiAgICAgICAgICBsYXllcnNLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMud210c0xheWVyc0tleTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYXJjZ2lzcmVzdCc6XG4gICAgICAgICAgbGlua1VybEtleSA9IHRoaXMucm91dGUub3B0aW9ucy5hcmNnaXNVcmxLZXk7XG4gICAgICAgICAgbGF5ZXJzS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmFyY2dpc0xheWVyc0tleTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnaW1hZ2VhcmNnaXNyZXN0JzpcbiAgICAgICAgICBsaW5rVXJsS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmlhcmNnaXNVcmxLZXk7XG4gICAgICAgICAgbGF5ZXJzS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmlhcmNnaXNMYXllcnNLZXk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3RpbGVhcmNnaXNyZXN0JzpcbiAgICAgICAgICBsaW5rVXJsS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLnRhcmNnaXNVcmxLZXk7XG4gICAgICAgICAgbGF5ZXJzS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLnRhcmNnaXNMYXllcnNLZXk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgbGlua1VybEtleSA9ICcnO1xuICAgICAgICAgIGxheWVyc0tleSA9ICcnO1xuICAgICAgfVxuXG4gICAgICBsZXQgbGlua1VybFF1ZXJ5UGFyYW1zID0gJyc7XG4gICAgICBsZXQgbGF5ZXJzUXVlcnlQYXJhbXMgPSAnJztcbiAgICAgIGFkZGVkTGF5ZXJzQnlTZXJ2aWNlLmZvckVhY2goc2VydmljZSA9PiB7XG4gICAgICAgIGxpbmtVcmxRdWVyeVBhcmFtcyArPSBgJHtzZXJ2aWNlLnVybH0sYDtcbiAgICAgICAgbGF5ZXJzUXVlcnlQYXJhbXMgKz0gYCgke3NlcnZpY2UubGF5ZXJzLmpvaW4oJywnKX0pLGA7XG4gICAgICB9KTtcbiAgICAgIGxpbmtVcmxRdWVyeVBhcmFtcyA9IGxpbmtVcmxRdWVyeVBhcmFtcy5lbmRzV2l0aCgnLCcpXG4gICAgICAgID8gbGlua1VybFF1ZXJ5UGFyYW1zLnNsaWNlKDAsIC0xKVxuICAgICAgICA6IGxpbmtVcmxRdWVyeVBhcmFtcztcbiAgICAgIGxheWVyc1F1ZXJ5UGFyYW1zID0gbGF5ZXJzUXVlcnlQYXJhbXMuZW5kc1dpdGgoJywnKVxuICAgICAgICA/IGxheWVyc1F1ZXJ5UGFyYW1zLnNsaWNlKDAsIC0xKVxuICAgICAgICA6IGxheWVyc1F1ZXJ5UGFyYW1zO1xuICAgICAgYWRkZWRMYXllcnNRdWVyeVBhcmFtcyA9IGAke2xpbmtVcmxLZXl9PSR7bGlua1VybFF1ZXJ5UGFyYW1zfSYke2xheWVyc0tleX09JHtsYXllcnNRdWVyeVBhcmFtc31gO1xuICAgIH1cblxuICAgIHJldHVybiBhZGRlZExheWVyc1F1ZXJ5UGFyYW1zO1xuICB9XG59XG4iXX0=
|