@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.
@@ -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 "@ngx-translate/core";
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: 48, 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"]], template: function ShareMapUrlComponent_Template(rf, ctx) { if (rf & 1) {
53
- const _r1 = i0.ɵɵgetCurrentView();
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(_r1); const _r0 = i0.ɵɵreference(3); return ctx.copyTextToClipboard(_r0); });
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.ɵɵelementStart(13, "h4");
71
- i0.ɵɵtext(14);
72
- i0.ɵɵpipe(15, "translate");
73
- i0.ɵɵelementEnd();
74
- i0.ɵɵelementStart(16, "ul");
75
- i0.ɵɵelementStart(17, "li");
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.ɵɵelementEnd();
79
- i0.ɵɵelementStart(20, "li");
80
- i0.ɵɵtext(21);
81
- i0.ɵɵpipe(22, "translate");
82
- i0.ɵɵelementEnd();
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.ɵɵelementStart(26, "li");
88
- i0.ɵɵtext(27);
89
- i0.ɵɵpipe(28, "translate");
90
- i0.ɵɵelementEnd();
91
- i0.ɵɵelementStart(29, "li");
92
- i0.ɵɵtext(30);
93
- i0.ɵɵpipe(31, "translate");
94
- i0.ɵɵelementEnd();
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.ɵɵelementEnd();
100
- i0.ɵɵelementStart(35, "ul");
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(6);
127
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(15, 18, "igo.context.shareMap.included"));
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.ɵɵtextInterpolate(i0.ɵɵpipeBind1(25, 24, "igo.context.shareMap.zoom"));
134
- i0.ɵɵadvance(3);
135
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(28, 26, "igo.context.shareMap.addedLayers"));
136
- i0.ɵɵadvance(3);
137
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(31, 28, "igo.context.shareMap.visibleInvisible"));
138
- i0.ɵɵadvance(3);
139
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(34, 30, "igo.context.shareMap.excluded"));
140
- i0.ɵɵadvance(4);
141
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(38, 32, "igo.context.shareMap.order"));
142
- i0.ɵɵadvance(3);
143
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(41, 34, "igo.context.shareMap.opacity"));
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.ɵɵtextInterpolate(i0.ɵɵpipeBind1(47, 38, "igo.context.shareMap.filterTime"));
148
- } }, directives: [i3.MatFormField, i4.MatInput, i5.MatButton, i6.MatIcon], pipes: [i7.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}"] });
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbWFwLXVybC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvc2hhcmUtbWFwL3NoYXJlLW1hcC9zaGFyZS1tYXAtdXJsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRleHQvc3JjL2xpYi9zaGFyZS1tYXAvc2hhcmUtbWFwL3NoYXJlLW1hcC11cmwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUF3QyxNQUFNLGVBQWUsQ0FBQztBQUV0RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBS3hDLE9BQU8sRUFBRSxhQUFhLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFPbkQsTUFBTSxPQUFPLG9CQUFvQjtJQVUvQixZQUNVLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLGVBQWdDLEVBQ2hDLEtBQXdCO1FBSHhCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBUjNCLHNCQUFpQixHQUFHO1lBQ3pCLGlCQUFpQixFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtTQUN2QyxDQUFDO0lBT0MsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUM7WUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsTUFBTTtZQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU87U0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FB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QzthQUM5Qzs2SkFJVSxHQUFHO2tCQUFYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIENoYW5nZURldGVjdG9yUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UsIExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBJZ29NYXAgfSBmcm9tICdAaWdvMi9nZW8nO1xuXG5pbXBvcnQgeyBTaGFyZU1hcFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2hhcmUtbWFwLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1zaGFyZS1tYXAtdXJsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NoYXJlLW1hcC11cmwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaGFyZS1tYXAtdXJsLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVNYXBVcmxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgbWFwU3RhdGUkJDogU3Vic2NyaXB0aW9uO1xuXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xuXG4gIHB1YmxpYyB1cmw6IHN0cmluZztcbiAgcHVibGljIHB1YmxpY1NoYXJlT3B0aW9uID0ge1xuICAgIGxheWVybGlzdENvbnRyb2xzOiB7IHF1ZXJ5c3RyaW5nOiAnJyB9XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHNoYXJlTWFwU2VydmljZTogU2hhcmVNYXBTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0VXJsKCk7XG4gICAgdGhpcy5tYXBTdGF0ZSQkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5zdGF0ZSQsXG4gICAgICB0aGlzLm1hcC5zdGF0dXMkXSkuc3Vic2NyaWJlKGMgPT4ge1xuICAgICAgICB0aGlzLnJlc2V0VXJsKCk7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldFVybCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5tYXBTdGF0ZSQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICByZXNldFVybCh2YWx1ZXM6IGFueSA9IHt9KSB7XG4gICAgdGhpcy51cmwgPSB0aGlzLnNoYXJlTWFwU2VydmljZS5nZXRVcmxXaXRob3V0QXBpKHRoaXMubWFwLCB0aGlzLnB1YmxpY1NoYXJlT3B0aW9uKTtcbiAgfVxuXG4gIGNvcHlUZXh0VG9DbGlwYm9hcmQodGV4dEFyZWEpIHtcbiAgICBjb25zdCBzdWNjZXNzZnVsID0gQ2xpcGJvYXJkLmNvcHkodGV4dEFyZWEpO1xuICAgIGlmIChzdWNjZXNzZnVsKSB7XG4gICAgICBjb25zdCB0cmFuc2xhdGUgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGU7XG4gICAgICBjb25zdCB0aXRsZSA9IHRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAnaWdvLmNvbnRleHQuc2hhcmVNYXAuZGlhbG9nLmNvcHlUaXRsZSdcbiAgICAgICk7XG4gICAgICBjb25zdCBtc2cgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmNvbnRleHQuc2hhcmVNYXAuZGlhbG9nLmNvcHlNc2cnKTtcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3VjY2Vzcyhtc2csIHRpdGxlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpZ28taW5wdXQtY29udGFpbmVyIGxpbmtUb1NoYXJlXCI+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8dGV4dGFyZWEgI3RleHRBcmVhIG1hdElucHV0IHJlYWRvbmx5IHJvd3M9XCIzXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInaWdvLmNvbnRleHQuc2hhcmVNYXAucGxhY2Vob2xkZXJMaW5rJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdmFsdWVdPVwidXJsXCI+PC90ZXh0YXJlYT5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8ZGl2IGNsYXNzPVwiaWdvLWZvcm0tYnV0dG9uLWdyb3VwXCI+XG4gICAgPGJ1dHRvblxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgIChjbGljayk9XCJjb3B5VGV4dFRvQ2xpcGJvYXJkKHRleHRBcmVhKVwiPlxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjb250ZW50LWNvcHlcIj48L21hdC1pY29uPlxuICAgICAge3sgJ2lnby5jb250ZXh0LnNoYXJlTWFwLmNvcHknIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxici8+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxuICAgICAgICA8aDQ+e3snaWdvLmNvbnRleHQuc2hhcmVNYXAuaW5jbHVkZWQnIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgICA8dWw+XG4gICAgICAgICAgPGxpPnt7J2lnby5jb250ZXh0LnNoYXJlTWFwLmNvbnRleHQnIHwgdHJhbnNsYXRlfX08L2xpPlxuICAgICAgICAgIDxsaT57eydpZ28uY29udGV4dC5zaGFyZU1hcC5jZW50ZXInIHwgdHJhbnNsYXRlfX08L2xpPlxuICAgICAgICAgIDxsaT57eydpZ28uY29udGV4dC5zaGFyZU1hcC56b29tJyB8IHRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgICA8bGk+e3snaWdvLmNvbnRleHQuc2hhcmVNYXAuYWRkZWRMYXllcnMnIHwgdHJhbnNsYXRlfX08L2xpPlxuICAgICAgICAgIDxsaT57eydpZ28uY29udGV4dC5zaGFyZU1hcC52aXNpYmxlSW52aXNpYmxlJyB8IHRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgPC91bD5cblxuICAgICAgPGg0Pnt7J2lnby5jb250ZXh0LnNoYXJlTWFwLmV4Y2x1ZGVkJyB8IHRyYW5zbGF0ZX19PC9oND5cbiAgICAgIDx1bD5cbiAgICAgICAgPGxpPnt7J2lnby5jb250ZXh0LnNoYXJlTWFwLm9yZGVyJyB8IHRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgPGxpPnt7J2lnby5jb250ZXh0LnNoYXJlTWFwLm9wYWNpdHknIHwgdHJhbnNsYXRlfX08L2xpPlxuICAgICAgICA8bGk+e3snaWdvLmNvbnRleHQuc2hhcmVNYXAuZmlsdGVyT2djJyB8IHRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgPGxpPnt7J2lnby5jb250ZXh0LnNoYXJlTWFwLmZpbHRlclRpbWUnIHwgdHJhbnNsYXRlfX08L2xpPlxuICAgICAgPC91bD5cbiAgICA8L3NlY3Rpb24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
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.id !== 'searchPointerSummaryId');
40
- const invisibleLayers = layers.filter(lay => !lay.visible && lay.id !== 'searchPointerSummaryId');
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtbWFwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZXh0L3NyYy9saWIvc2hhcmUtbWFwL3NoYXJlZC9zaGFyZS1tYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVlyRCxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUNVLGNBQThCLEVBQzlCLGNBQThCLEVBQ2xCLEtBQW1CO1FBRi9CLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDbEIsVUFBSyxHQUFMLEtBQUssQ0FBYztJQUN0QyxDQUFDO0lBRUosYUFBYSxDQUFDLFVBQVU7UUFDdEIsT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsWUFBWSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUVELG1CQUFtQixDQUFDLEdBQVcsRUFBRSxVQUFVO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0QsT0FBTyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7UUFDekIsT0FBTyxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxHQUFXLEVBQUUsVUFBVSxFQUFFLEVBQVU7UUFDckQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUs7WUFDdkIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO1NBQ0UsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFXLEVBQUUsaUJBQWlCO1FBQzdDLElBQ0UsQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNYLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCO1lBQ3RDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsbUJBQW1CO1lBQ3ZDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsRUFDN0I7WUFDQSxPQUFPO1NBQ1I7UUFDRCxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7UUFFNUQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7UUFDdkQsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7UUFDMUQsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUUxQixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUV0RixJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzlCLFVBQVUsR0FBRyxFQUFFLENBQUM7U0FDakI7UUFDRCxJQUFJLGVBQWUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLFlBQVksR0FBRyxFQUFFLENBQUM7U0FDbkI7UUFFRCxJQUFJLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFO1lBQ2pELFNBQVMsR0FBRyxHQUFHLFVBQVUsTUFBTSxZQUFZLEdBQUcsQ0FBQztZQUMvQyxZQUFZLEdBQUcsZUFBZSxDQUFDO1NBQ2hDO2FBQU07WUFDTCxTQUFTLEdBQUcsR0FBRyxZQUFZLE1BQU0sVUFBVSxHQUFHLENBQUM7WUFDL0MsWUFBWSxHQUFHLGFBQWEsQ0FBQztTQUM5QjtRQUVELEtBQUssTUFBTSxLQUFLLElBQUksWUFBWSxFQUFFO1lBQ2hDLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDWixTQUFTLElBQUksS0FBSyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUM7YUFDN0I7U0FDRjtRQUNELE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMzQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ2hFLEtBQUssTUFBTSxZQUFZLElBQUksYUFBYSxFQUFFO1lBQ3hDLElBQUssT0FBTyxZQUFZLENBQUMsRUFBRSxLQUFLLFdBQVcsSUFBSSxPQUFPLFlBQVksQ0FBQyxNQUFNLEtBQUssV0FBVyxFQUFHO2dCQUMxRixlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNqRTtTQUNGO1FBRUQsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRixNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdGLE1BQU0sZ0NBQWdDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDekcsTUFBTSxxQ0FBcUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ25ILE1BQU0sb0NBQW9DLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUVqSCxTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUV0RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQy9DLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUVqRCxNQUFNLElBQUksR0FBRyxHQUFHLE9BQU8sSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDMUQsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BFLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0RSxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckUsTUFBTSxNQUFNLEdBQUcsR0FBRyxTQUFTLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEUsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO1lBQ3RDLE9BQU8sR0FBRyxHQUFHLFVBQVUsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDckU7UUFFRCxJQUFJLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsSUFBSSxPQUFPLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxTQUFTLElBQUksR0FBRyxJQUFJLHlCQUF5QixJQUFJLEdBQUcsSUFBSSwwQkFBMEIsSUFBSSxnQ0FBZ0MsSUFBSSxxQ0FBcUMsSUFBSSxvQ0FBb0MsRUFBRSxDQUFDO1FBRTNSLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDMUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLEdBQUcsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7U0FDbEQ7UUFDRCxHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ2pELEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqQyxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFN0IsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU8sbUJBQW1CLENBQUMsTUFBZSxFQUFFLGVBQXNCLEVBQUUsV0FBbUI7UUFFdEYsTUFBTSxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDaEMsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQUMsT0FBQSxDQUFBLE1BQUEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLDBDQUFFLElBQUksTUFBSyxXQUFXLENBQUEsRUFBQSxDQUFDLEVBQUU7WUFDbEYsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDNUMsSUFBSSxPQUFPLEdBQUcsa0JBQWtCLENBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3hFLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxZQUFvQixDQUFDO2dCQUN6QixRQUFRLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtvQkFDbkQsS0FBSyxLQUFLO3dCQUNSLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUErQixDQUFDO3dCQUMzRSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNqRSxZQUFZLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQzt3QkFDOUcsTUFBTTtvQkFDUixLQUFLLE1BQU0sQ0FBQztvQkFDWixLQUFLLFlBQVksQ0FBQztvQkFDbEIsS0FBSyxpQkFBaUIsQ0FBQztvQkFDdkIsS0FBSyxnQkFBZ0I7d0JBQ25CLFVBQVUsR0FBRyxrQkFBa0IsQ0FBRSxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDekUsTUFBTTtpQkFDVDtnQkFDRCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsVUFBVSxRQUFRLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFFL0QsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNqQixJQUFJLFlBQVksRUFBRTtvQkFDaEIsTUFBTSxRQUFRLEdBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7b0JBQ3ZGLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLFFBQVEsV0FBVyxZQUFZLEVBQUUsQ0FBQyxDQUFDO2lCQUNwRTtnQkFDRCxPQUFPLEdBQUcsR0FBRyxPQUFPLEdBQUcsT0FBTyxFQUFFLENBQUM7Z0JBRWpDLElBQ0UsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLE9BQU8sQ0FBQyxFQUNwRTtvQkFDQSxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7d0JBQ3hCLEdBQUcsRUFBRSxPQUFPO3dCQUNaLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixDQUFDO3FCQUM3QixDQUFDLENBQUM7aUJBQ0o7cUJBQU07b0JBQ0wsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFOzRCQUMzQixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO3lCQUN6QztvQkFDSCxDQUFDLENBQUMsQ0FBQztpQkFDSjthQUNGO1NBQ0Y7UUFFRCxJQUFJLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztRQUNoQyxJQUFJLG9CQUFvQixDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDcEMsSUFBSSxVQUFVLENBQUM7WUFDZixJQUFJLFNBQVMsQ0FBQztZQUNkOzs7OztRQUtKO1lBQ0ksUUFBUSxXQUFXLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQ2pDLEtBQUssS0FBSztvQkFDUixVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO29CQUMxQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO29CQUM1QyxNQUFNO2dCQUNSLEtBQUssTUFBTTtvQkFDVCxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO29CQUMzQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO29CQUM3QyxNQUFNO2dCQUNSLEtBQUssWUFBWTtvQkFDZixVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO29CQUM3QyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO29CQUMvQyxNQUFNO2dCQUNSLEtBQUssaUJBQWlCO29CQUNwQixVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO29CQUM5QyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hELE1BQU07Z0JBQ1IsS0FBSyxnQkFBZ0I7b0JBQ25CLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7b0JBQzlDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEQsTUFBTTtnQkFDUjtvQkFDRSxVQUFVLEdBQUcsRUFBRSxDQUFDO29CQUNoQixTQUFTLEdBQUcsRUFBRSxDQUFDO2FBQ2xCO1lBRUQsSUFBSSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7WUFDNUIsSUFBSSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7WUFDM0Isb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNyQyxrQkFBa0IsSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQztnQkFDeEMsaUJBQWlCLElBQUksSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDO1lBQ0gsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFDbkQsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztZQUN2QixpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUNqRCxDQUFDLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1lBQ3RCLHNCQUFzQixHQUFHLEdBQUcsVUFBVSxJQUFJLGtCQUFrQixJQUFJLFNBQVMsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1NBQ2xHO1FBRUQsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDOzs4RUFsTlUsZUFBZTtxRUFBZixlQUFlLFdBQWYsZUFBZSxtQkFGZCxNQUFNO3VGQUVQLGVBQWU7Y0FIM0IsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COztzQkFNSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUm91dGVTZXJ2aWNlLCBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgTGF5ZXIsIFdNU0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnQGlnbzIvZ2VvJztcbmltcG9ydCB0eXBlIHsgSWdvTWFwIH0gZnJvbSAnQGlnbzIvZ2VvJztcblxuaW1wb3J0IHsgRGV0YWlsZWRDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29udGV4dC1tYW5hZ2VyL3NoYXJlZC9jb250ZXh0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRleHQtbWFuYWdlci9zaGFyZWQvY29udGV4dC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVNYXBTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlOiBSb3V0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIGdldFVybFdpdGhBcGkoZm9ybVZhbHVlcykge1xuICAgIHJldHVybiBgJHtsb2NhdGlvbi5vcmlnaW4gKyBsb2NhdGlvbi5wYXRobmFtZX0/Y29udGV4dD0ke2Zvcm1WYWx1ZXMudXJpfWA7XG4gIH1cblxuICBjcmVhdGVDb250ZXh0U2hhcmVkKG1hcDogSWdvTWFwLCBmb3JtVmFsdWVzKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UuZ2V0Q29udGV4dEZyb21NYXAobWFwKTtcbiAgICBjb250ZXh0LnNjb3BlID0gJ3B1YmxpYyc7XG4gICAgY29udGV4dC50aXRsZSA9IGZvcm1WYWx1ZXMudGl0bGU7XG4gICAgY29udGV4dC51cmkgPSBmb3JtVmFsdWVzLnVyaTtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5jcmVhdGUoY29udGV4dCk7XG4gIH1cblxuICB1cGRhdGVDb250ZXh0U2hhcmVkKG1hcDogSWdvTWFwLCBmb3JtVmFsdWVzLCBpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UuZ2V0Q29udGV4dEZyb21NYXAobWFwKTtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoaWQsIHtcbiAgICAgIHRpdGxlOiBmb3JtVmFsdWVzLnRpdGxlLFxuICAgICAgbWFwOiBjb250ZXh0Lm1hcFxuICAgIH0gYXMgRGV0YWlsZWRDb250ZXh0KTtcbiAgfVxuXG4gIGdldFVybFdpdGhvdXRBcGkobWFwOiBJZ29NYXAsIHB1YmxpY1NoYXJlT3B0aW9uKSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMucm91dGUgfHxcbiAgICAgICF0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9uTGF5ZXJzS2V5IHx8XG4gICAgICAhdGhpcy5yb3V0ZS5vcHRpb25zLnZpc2libGVPZmZMYXllcnNLZXkgfHxcbiAgICAgICFtYXAudmlld0NvbnRyb2xsZXIuZ2V0Wm9vbSgpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGxsYyA9IHB1YmxpY1NoYXJlT3B0aW9uLmxheWVybGlzdENvbnRyb2xzLnF1ZXJ5c3RyaW5nO1xuXG4gICAgbGV0IHZpc2libGVLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9uTGF5ZXJzS2V5O1xuICAgIGxldCBpbnZpc2libGVLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMudmlzaWJsZU9mZkxheWVyc0tleTtcbiAgICBjb25zdCBsYXllcnMgPSBtYXAubGF5ZXJzO1xuXG4gICAgY29uc3QgdmlzaWJsZUxheWVycyA9IGxheWVycy5maWx0ZXIobGF5ID0+IGxheS52aXNpYmxlICYmICFsYXkuaXNJZ29JbnRlcm5hbExheWVyKTtcbiAgICBjb25zdCBpbnZpc2libGVMYXllcnMgPSBsYXllcnMuZmlsdGVyKGxheSA9PiAhbGF5LnZpc2libGUgJiYgIWxheS5pc0lnb0ludGVybmFsTGF5ZXIpO1xuXG4gICAgaWYgKHZpc2libGVMYXllcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICB2aXNpYmxlS2V5ID0gJyc7XG4gICAgfVxuICAgIGlmIChpbnZpc2libGVMYXllcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICBpbnZpc2libGVLZXkgPSAnJztcbiAgICB9XG5cbiAgICBsZXQgbGF5ZXJzVXJsID0gJyc7XG4gICAgbGV0IGxheWVyc1RvTG9vcCA9IFtdO1xuICAgIGlmICh2aXNpYmxlTGF5ZXJzLmxlbmd0aCA+IGludmlzaWJsZUxheWVycy5sZW5ndGgpIHtcbiAgICAgIGxheWVyc1VybCA9IGAke3Zpc2libGVLZXl9PSomJHtpbnZpc2libGVLZXl9PWA7XG4gICAgICBsYXllcnNUb0xvb3AgPSBpbnZpc2libGVMYXllcnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxheWVyc1VybCA9IGAke2ludmlzaWJsZUtleX09KiYke3Zpc2libGVLZXl9PWA7XG4gICAgICBsYXllcnNUb0xvb3AgPSB2aXNpYmxlTGF5ZXJzO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgbGF5ZXIgb2YgbGF5ZXJzVG9Mb29wKSB7XG4gICAgICBpZiAobGF5ZXIuaWQpIHtcbiAgICAgICAgbGF5ZXJzVXJsICs9IGxheWVyLmlkICsgJywnO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBjb250ZXh0TGF5ZXJzSUQgPSBbXTtcbiAgICBjb25zdCBjb250ZXh0TGF5ZXJzID0gdGhpcy5jb250ZXh0U2VydmljZS5jb250ZXh0JC52YWx1ZS5sYXllcnM7XG4gICAgZm9yIChjb25zdCBjb250ZXh0TGF5ZXIgb2YgY29udGV4dExheWVycykge1xuICAgICAgaWYgKCB0eXBlb2YgY29udGV4dExheWVyLmlkICE9PSAndW5kZWZpbmVkJyB8fCB0eXBlb2YgY29udGV4dExheWVyLnNvdXJjZSAhPT0gJ3VuZGVmaW5lZCcgKSB7XG4gICAgICAgIGNvbnRleHRMYXllcnNJRC5wdXNoKGNvbnRleHRMYXllci5pZCB8fCBjb250ZXh0TGF5ZXIuc291cmNlLmlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBhZGRlZExheWVyc1F1ZXJ5UGFyYW1zV21zID0gdGhpcy5tYWtlTGF5ZXJzQnlTZXJ2aWNlKGxheWVycywgY29udGV4dExheWVyc0lELCAnd21zJyk7XG4gICAgY29uc3QgYWRkZWRMYXllcnNRdWVyeVBhcmFtc1dtdHMgPSB0aGlzLm1ha2VMYXllcnNCeVNlcnZpY2UobGF5ZXJzLCBjb250ZXh0TGF5ZXJzSUQsICd3bXRzJyk7XG4gICAgY29uc3QgYWRkZWRMYXllcnNRdWVyeVBhcmFtc0FyY2dpc1Jlc3QgPSB0aGlzLm1ha2VMYXllcnNCeVNlcnZpY2UobGF5ZXJzLCBjb250ZXh0TGF5ZXJzSUQsICdhcmNnaXNyZXN0Jyk7XG4gICAgY29uc3QgYWRkZWRMYXllcnNRdWVyeVBhcmFtc0ltYWdlQXJjZ2lzUmVzdCA9IHRoaXMubWFrZUxheWVyc0J5U2VydmljZShsYXllcnMsIGNvbnRleHRMYXllcnNJRCwgJ2ltYWdlYXJjZ2lzcmVzdCcpO1xuICAgIGNvbnN0IGFkZGVkTGF5ZXJzUXVlcnlQYXJhbXNUaWxlQXJjZ2lzUmVzdCA9IHRoaXMubWFrZUxheWVyc0J5U2VydmljZShsYXllcnMsIGNvbnRleHRMYXllcnNJRCwgJ3RpbGVhcmNnaXNyZXN0Jyk7XG5cbiAgICBsYXllcnNVcmwgPSBsYXllcnNVcmwuc3Vic3RyKDAsIGxheWVyc1VybC5sZW5ndGggLSAxKTtcblxuICAgIGNvbnN0IHpvb21LZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMuem9vbUtleTtcbiAgICBjb25zdCBjZW50ZXJLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMuY2VudGVyS2V5O1xuICAgIGNvbnN0IGNvbnRleHRLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMuY29udGV4dEtleTtcblxuICAgIGNvbnN0IHpvb20gPSBgJHt6b29tS2V5fT0ke21hcC52aWV3Q29udHJvbGxlci5nZXRab29tKCl9YDtcbiAgICBjb25zdCBhcnJheUNlbnRlciA9IG1hcC52aWV3Q29udHJvbGxlci5nZXRDZW50ZXIoJ0VQU0c6NDMyNicpIHx8IFtdO1xuICAgIGNvbnN0IGxvbmcgPSBhcnJheUNlbnRlclswXS50b0ZpeGVkKDUpLnJlcGxhY2UoL1xcLihbXjBdKykwKyQvLCAnLiQxJyk7XG4gICAgY29uc3QgbGF0ID0gYXJyYXlDZW50ZXJbMV0udG9GaXhlZCg1KS5yZXBsYWNlKC9cXC4oW14wXSspMCskLywgJy4kMScpO1xuICAgIGNvbnN0IGNlbnRlciA9IGAke2NlbnRlcktleX09JHtsb25nfSwke2xhdH1gLnJlcGxhY2UoLy4wMDAwMC9nLCAnJyk7XG4gICAgbGV0IGNvbnRleHQgPSAnJztcbiAgICBpZiAodGhpcy5jb250ZXh0U2VydmljZS5jb250ZXh0JC52YWx1ZSkge1xuICAgICAgY29udGV4dCA9IGAke2NvbnRleHRLZXl9PSR7dGhpcy5jb250ZXh0U2VydmljZS5jb250ZXh0JC52YWx1ZS51cml9YDtcbiAgICB9XG5cbiAgICBsZXQgdXJsID0gYCR7bG9jYXRpb24ub3JpZ2lufSR7bG9jYXRpb24ucGF0aG5hbWV9PyR7Y29udGV4dH0mJHt6b29tfSYke2NlbnRlcn0mJHtsYXllcnNVcmx9JiR7bGxjfSYke2FkZGVkTGF5ZXJzUXVlcnlQYXJhbXNXbXN9JiR7bGxjfSYke2FkZGVkTGF5ZXJzUXVlcnlQYXJhbXNXbXRzfSYke2FkZGVkTGF5ZXJzUXVlcnlQYXJhbXNBcmNnaXNSZXN0fSYke2FkZGVkTGF5ZXJzUXVlcnlQYXJhbXNJbWFnZUFyY2dpc1Jlc3R9JiR7YWRkZWRMYXllcnNRdWVyeVBhcmFtc1RpbGVBcmNnaXNSZXN0fWA7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDU7IGkrKykge1xuICAgICAgdXJsID0gdXJsLnJlcGxhY2UoLyYmL2csICcmJyk7XG4gICAgICB1cmwgPSB1cmwuZW5kc1dpdGgoJyYnKSA/IHVybC5zbGljZSgwLCAtMSkgOiB1cmw7XG4gICAgfVxuICAgIHVybCA9IHVybC5lbmRzV2l0aCgnJicpID8gdXJsLnNsaWNlKDAsIC0xKSA6IHVybDtcbiAgICB1cmwgPSB1cmwucmVwbGFjZSgnPyZ3bScsICcmd20nKTtcbiAgICB1cmwgPSB1cmwucmVwbGFjZSgnPyYnLCAnPycpO1xuXG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHByaXZhdGUgbWFrZUxheWVyc0J5U2VydmljZShsYXllcnM6IExheWVyW10sIGNvbnRleHRMYXllcnNJRDogYW55W10sIHR5cGVTZXJ2aWNlOiBzdHJpbmcpOiBzdHJpbmcge1xuXG4gICAgY29uc3QgYWRkZWRMYXllcnNCeVNlcnZpY2UgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIGxheWVycy5maWx0ZXIobCA9PiBsLmRhdGFTb3VyY2Uub3B0aW9ucz8udHlwZSA9PT0gdHlwZVNlcnZpY2UpKSB7XG4gICAgICBpZiAoY29udGV4dExheWVyc0lELmluZGV4T2YobGF5ZXIuaWQpID09PSAtMSkge1xuICAgICAgICBsZXQgbGlua1VybCA9IGVuY29kZVVSSUNvbXBvbmVudCgobGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIGFueSkudXJsKTtcbiAgICAgICAgbGV0IGFkZGVkTGF5ZXIgPSAnJztcbiAgICAgICAgbGV0IGxheWVyVmVyc2lvbjogc3RyaW5nO1xuICAgICAgICBzd2l0Y2ggKGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy50eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICBjYXNlICd3bXMnOlxuICAgICAgICAgICAgY29uc3QgZGF0YXNvdXJjZU9wdGlvbnMgPSBsYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgV01TRGF0YVNvdXJjZU9wdGlvbnM7XG4gICAgICAgICAgICBhZGRlZExheWVyID0gZW5jb2RlVVJJQ29tcG9uZW50KGRhdGFzb3VyY2VPcHRpb25zLnBhcmFtcy5MQVlFUlMpO1xuICAgICAgICAgICAgbGF5ZXJWZXJzaW9uID0gZGF0YXNvdXJjZU9wdGlvbnMucGFyYW1zLlZFUlNJT04gPT09ICcxLjMuMCcgPyBsYXllclZlcnNpb24gOiBkYXRhc291cmNlT3B0aW9ucy5wYXJhbXMuVkVSU0lPTjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ3dtdHMnOlxuICAgICAgICAgIGNhc2UgJ2FyY2dpc3Jlc3QnOlxuICAgICAgICAgIGNhc2UgJ2ltYWdlYXJjZ2lzcmVzdCc6XG4gICAgICAgICAgY2FzZSAndGlsZWFyY2dpc3Jlc3QnOlxuICAgICAgICAgICAgYWRkZWRMYXllciA9IGVuY29kZVVSSUNvbXBvbmVudCgobGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIGFueSkubGF5ZXIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWRkZWRMYXllclBvc2l0aW9uID0gYCR7YWRkZWRMYXllcn06aWdveiR7bGF5ZXIuekluZGV4fWA7XG5cbiAgICAgICAgbGV0IHZlcnNpb24gPSAnJztcbiAgICAgICAgaWYgKGxheWVyVmVyc2lvbikge1xuICAgICAgICAgIGNvbnN0IG9wZXJhdG9yID0gKGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBhbnkpLnVybC5pbmRleE9mKCc/JykgPT09IC0xID8gJz8nIDogJyYnO1xuICAgICAgICAgIHZlcnNpb24gPSBlbmNvZGVVUklDb21wb25lbnQoYCR7b3BlcmF0b3J9VkVSU0lPTj0ke2xheWVyVmVyc2lvbn1gKTtcbiAgICAgICAgfVxuICAgICAgICBsaW5rVXJsID0gYCR7bGlua1VybH0ke3ZlcnNpb259YDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgIWFkZGVkTGF5ZXJzQnlTZXJ2aWNlLmZpbmQoZGVmaW5lZFVybCA9PiBkZWZpbmVkVXJsLnVybCA9PT0gbGlua1VybClcbiAgICAgICAgKSB7XG4gICAgICAgICAgYWRkZWRMYXllcnNCeVNlcnZpY2UucHVzaCh7XG4gICAgICAgICAgICB1cmw6IGxpbmtVcmwsXG4gICAgICAgICAgICBsYXllcnM6IFthZGRlZExheWVyUG9zaXRpb25dXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWRkZWRMYXllcnNCeVNlcnZpY2UuZm9yRWFjaChzZXJ2aWNlID0+IHtcbiAgICAgICAgICAgIGlmIChzZXJ2aWNlLnVybCA9PT0gbGlua1VybCkge1xuICAgICAgICAgICAgICBzZXJ2aWNlLmxheWVycy5wdXNoKGFkZGVkTGF5ZXJQb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgYWRkZWRMYXllcnNRdWVyeVBhcmFtcyA9ICcnO1xuICAgIGlmIChhZGRlZExheWVyc0J5U2VydmljZS5sZW5ndGggPj0gMSkge1xuICAgICAgbGV0IGxpbmtVcmxLZXk7XG4gICAgICBsZXQgbGF5ZXJzS2V5O1xuICAgICAgLypcbiAgICAgIGNvbnN0IGxpbmtVcmxLZXkgPSAodHlwZVNlcnZpY2UgPT09ICd3bXMnKSA/IHRoaXMucm91dGUub3B0aW9ucy53bXNVcmxLZXkgOlxuICAgICAgICAodHlwZVNlcnZpY2UgPT09ICd3bXRzJykgPyB0aGlzLnJvdXRlLm9wdGlvbnMud210c1VybEtleSA6ICcnIDtcbiAgICAgIGNvbnN0IGxheWVyc0tleSA9ICh0eXBlU2VydmljZSA9PT0gJ3dtcycpID8gdGhpcy5yb3V0ZS5vcHRpb25zLndtc0xheWVyc0tleSA6XG4gICAgICAgICh0eXBlU2VydmljZSA9PT0gJ3dtdHMnKSA/IHRoaXMucm91dGUub3B0aW9ucy53bXRzTGF5ZXJzS2V5IDogJycgO1xuKi9cbiAgICAgIHN3aXRjaCAodHlwZVNlcnZpY2UudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICBjYXNlICd3bXMnOlxuICAgICAgICAgIGxpbmtVcmxLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMud21zVXJsS2V5O1xuICAgICAgICAgIGxheWVyc0tleSA9IHRoaXMucm91dGUub3B0aW9ucy53bXNMYXllcnNLZXk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3dtdHMnOlxuICAgICAgICAgIGxpbmtVcmxLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMud210c1VybEtleTtcbiAgICAgICAgICBsYXllcnNLZXkgPSB0aGlzLnJvdXRlLm9wdGlvbnMud210c0xheWVyc0tleTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYXJjZ2lzcmVzdCc6XG4gICAgICAgICAgbGlua1VybEtleSA9IHRoaXMucm91dGUub3B0aW9ucy5hcmNnaXNVcmxLZXk7XG4gICAgICAgICAgbGF5ZXJzS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmFyY2dpc0xheWVyc0tleTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnaW1hZ2VhcmNnaXNyZXN0JzpcbiAgICAgICAgICBsaW5rVXJsS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmlhcmNnaXNVcmxLZXk7XG4gICAgICAgICAgbGF5ZXJzS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLmlhcmNnaXNMYXllcnNLZXk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3RpbGVhcmNnaXNyZXN0JzpcbiAgICAgICAgICBsaW5rVXJsS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLnRhcmNnaXNVcmxLZXk7XG4gICAgICAgICAgbGF5ZXJzS2V5ID0gdGhpcy5yb3V0ZS5vcHRpb25zLnRhcmNnaXNMYXllcnNLZXk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgbGlua1VybEtleSA9ICcnO1xuICAgICAgICAgIGxheWVyc0tleSA9ICcnO1xuICAgICAgfVxuXG4gICAgICBsZXQgbGlua1VybFF1ZXJ5UGFyYW1zID0gJyc7XG4gICAgICBsZXQgbGF5ZXJzUXVlcnlQYXJhbXMgPSAnJztcbiAgICAgIGFkZGVkTGF5ZXJzQnlTZXJ2aWNlLmZvckVhY2goc2VydmljZSA9PiB7XG4gICAgICAgIGxpbmtVcmxRdWVyeVBhcmFtcyArPSBgJHtzZXJ2aWNlLnVybH0sYDtcbiAgICAgICAgbGF5ZXJzUXVlcnlQYXJhbXMgKz0gYCgke3NlcnZpY2UubGF5ZXJzLmpvaW4oJywnKX0pLGA7XG4gICAgICB9KTtcbiAgICAgIGxpbmtVcmxRdWVyeVBhcmFtcyA9IGxpbmtVcmxRdWVyeVBhcmFtcy5lbmRzV2l0aCgnLCcpXG4gICAgICAgID8gbGlua1VybFF1ZXJ5UGFyYW1zLnNsaWNlKDAsIC0xKVxuICAgICAgICA6IGxpbmtVcmxRdWVyeVBhcmFtcztcbiAgICAgIGxheWVyc1F1ZXJ5UGFyYW1zID0gbGF5ZXJzUXVlcnlQYXJhbXMuZW5kc1dpdGgoJywnKVxuICAgICAgICA/IGxheWVyc1F1ZXJ5UGFyYW1zLnNsaWNlKDAsIC0xKVxuICAgICAgICA6IGxheWVyc1F1ZXJ5UGFyYW1zO1xuICAgICAgYWRkZWRMYXllcnNRdWVyeVBhcmFtcyA9IGAke2xpbmtVcmxLZXl9PSR7bGlua1VybFF1ZXJ5UGFyYW1zfSYke2xheWVyc0tleX09JHtsYXllcnNRdWVyeVBhcmFtc31gO1xuICAgIH1cblxuICAgIHJldHVybiBhZGRlZExheWVyc1F1ZXJ5UGFyYW1zO1xuICB9XG59XG4iXX0=