ca-components 1.1.7 → 1.1.8

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.
Files changed (104) hide show
  1. package/assets/scss/icons.scss +12 -0
  2. package/assets/scss/styles.scss +4 -0
  3. package/assets/scss/text-selection.scss +42 -0
  4. package/esm2022/lib/components/ca-activity-log-list/ca-activity-log-list.component.mjs +3 -3
  5. package/esm2022/lib/components/ca-collapsible-filter/ca-collapsible-filter.component.mjs +2 -2
  6. package/esm2022/lib/components/ca-comment/ca-comment.component.mjs +2 -2
  7. package/esm2022/lib/components/ca-comment/modals/comment-modal/comment-modal.component.mjs +3 -3
  8. package/esm2022/lib/components/ca-custom-scrollbar/ca-custom-scrollbar.component.mjs +3 -3
  9. package/esm2022/lib/components/ca-details-dropdown/ca-details-dropdown.component.mjs +2 -2
  10. package/esm2022/lib/components/ca-dropdown-menu/ca-dropdown-menu.component.mjs +2 -2
  11. package/esm2022/lib/components/ca-filters/ca-filter.component.mjs +2 -2
  12. package/esm2022/lib/components/ca-filters/components/ca-dispatcher-filter/ca-dispatcher-filter.component.mjs +2 -2
  13. package/esm2022/lib/components/ca-filters/components/ca-location-filter/ca-location-filter.component.mjs +2 -2
  14. package/esm2022/lib/components/ca-filters/components/ca-money-filter/ca-money-filter.component.mjs +2 -2
  15. package/esm2022/lib/components/ca-filters/components/ca-pm-filter/ca-pm-filter.component.mjs +2 -2
  16. package/esm2022/lib/components/ca-filters/components/ca-state-filter/ca-state-filter.component.mjs +2 -2
  17. package/esm2022/lib/components/ca-filters/components/ca-status-filter/ca-status-filter.component.mjs +2 -2
  18. package/esm2022/lib/components/ca-filters/components/ca-time-filter/ca-time-filter.component.mjs +3 -3
  19. package/esm2022/lib/components/ca-filters/components/ca-trailer-type-filter/ca-trailer-type-filter.component.mjs +2 -2
  20. package/esm2022/lib/components/ca-filters/components/ca-truck-type-filter/ca-truck-type-filter.component.mjs +2 -2
  21. package/esm2022/lib/components/ca-filters/components/ca-user-filter/ca-user-filter.component.mjs +2 -2
  22. package/esm2022/lib/components/ca-filters/components/ca-violation-filter/ca-violation-filter.component.mjs +2 -2
  23. package/esm2022/lib/components/ca-input/ca-input.component.mjs +2 -2
  24. package/esm2022/lib/components/ca-input/input-test/input-test.component.mjs +2 -2
  25. package/esm2022/lib/components/ca-input-address-dropdown/ca-input-address-dropdown.component.mjs +2 -2
  26. package/esm2022/lib/components/ca-input-datetime-picker/ca-input-datetime-picker.component.mjs +2 -2
  27. package/esm2022/lib/components/ca-input-dropdown/ca-input-dropdown.component.mjs +3 -4
  28. package/esm2022/lib/components/ca-input-note/ca-input-note.component.mjs +2 -2
  29. package/esm2022/lib/components/ca-logo-change/ca-logo-change.component.mjs +3 -3
  30. package/esm2022/lib/components/ca-map/ca-map.component.mjs +47 -60
  31. package/esm2022/lib/components/ca-map/models/index.mjs +2 -0
  32. package/esm2022/lib/components/ca-map/models/map.model.mjs +1 -1
  33. package/esm2022/lib/components/ca-map/utils/constants/index.mjs +2 -1
  34. package/esm2022/lib/components/ca-map/utils/constants/map-options.constants.mjs +2 -2
  35. package/esm2022/lib/components/ca-map/utils/constants/map.constants.mjs +436 -0
  36. package/esm2022/lib/components/ca-map/utils/helpers/map.helper.mjs +1 -1
  37. package/esm2022/lib/components/ca-map/utils/services/map-marker-icon.service.mjs +1 -1
  38. package/esm2022/lib/components/ca-map-dropdown/ca-map-dropdown.component.mjs +5 -5
  39. package/esm2022/lib/components/ca-map-dropdown/enums/map-dropdown-string.enum.mjs +17 -17
  40. package/esm2022/lib/components/ca-modal-button/ca-modal-button.component.mjs +5 -5
  41. package/esm2022/lib/components/ca-modal-button/enums/modal-button-class-type.enum.mjs +12 -10
  42. package/esm2022/lib/components/ca-modal-button/enums/modal-button-size.enum.mjs +6 -6
  43. package/esm2022/lib/components/ca-modal-button/pipes/modal-button-class.pipe.mjs +1 -1
  44. package/esm2022/lib/components/ca-ngx-slider/ca-ngx-slider.component.mjs +2 -2
  45. package/esm2022/lib/components/ca-note/ca-note.component.mjs +2 -2
  46. package/esm2022/lib/components/ca-note-container/ca-note-container.component.mjs +2 -2
  47. package/esm2022/lib/components/ca-payroll-list-summary-overview/ca-payroll-list-summary-overview.component.mjs +2 -2
  48. package/esm2022/lib/components/ca-period-content/ca-period-content.component.mjs +2 -2
  49. package/esm2022/lib/components/ca-period-content/components/ca-period-content-extra-info/ca-period-content-extra-info.component.mjs +3 -3
  50. package/esm2022/lib/components/ca-period-content/components/ca-period-content-payment/ca-period-content-payment.component.mjs +2 -2
  51. package/esm2022/lib/components/ca-period-content/components/ca-period-content-user-info/ca-period-content-user-info.component.mjs +3 -3
  52. package/esm2022/lib/components/ca-pickup-delivery-block/ca-pickup-delivery-block.component.mjs +3 -3
  53. package/esm2022/lib/components/ca-pickup-delivery-block/components/ca-load/ca-load.component.mjs +3 -3
  54. package/esm2022/lib/components/ca-pickup-delivery-block/components/ca-load/components/ca-load-list/ca-load-list.component.mjs +3 -3
  55. package/esm2022/lib/components/ca-pickup-delivery-block/components/ca-load/components/ca-load-single/ca-load-single.component.mjs +3 -3
  56. package/esm2022/lib/components/ca-profile-image/ca-profile-image.component.mjs +3 -3
  57. package/esm2022/lib/components/ca-progress-bar/ca-progress-bar.component.mjs +40 -75
  58. package/esm2022/lib/components/ca-progress-bar/models/gps-progress.model.mjs +1 -1
  59. package/esm2022/lib/components/ca-progress-expiration/ca-progress-expiration.component.mjs +2 -2
  60. package/esm2022/lib/components/ca-rating-review/ca-rating-review.component.mjs +2 -2
  61. package/esm2022/lib/components/ca-rating-review/components/ca-rating-review-user/ca-rating-review-user.component.mjs +2 -2
  62. package/esm2022/lib/components/ca-rating-review/components/ca-ratings-reviews-popup/ca-ratings-reviews-popup.component.mjs +2 -2
  63. package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-company/ca-right-side-panel-company.component.mjs +3 -3
  64. package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-menu/ca-right-side-panel-menu.component.mjs +3 -3
  65. package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-top-bar/ca-right-side-panel-top-bar.component.mjs +3 -3
  66. package/esm2022/lib/components/ca-search-multiple-states/ca-search-multiple-states.component.mjs +2 -2
  67. package/esm2022/lib/components/ca-sort-dropdown/ca-sort-dropdown.component.mjs +2 -2
  68. package/esm2022/lib/components/ca-spinner/ca-spinner.component.mjs +2 -2
  69. package/esm2022/lib/components/ca-tab-switch/ca-tab-switch.component.mjs +3 -3
  70. package/esm2022/lib/components/ca-todo/ca-todo.component.mjs +3 -3
  71. package/esm2022/lib/components/ca-todo/components/ca-todo-card.component.mjs +3 -3
  72. package/esm2022/lib/components/ca-tooltip-list/ca-tooltip-list.component.mjs +3 -3
  73. package/esm2022/lib/components/ca-truck-trailer-progress-bar/ca-truck-trailer-progress-bar.component.mjs +2 -2
  74. package/esm2022/lib/components/ca-upload-files/ca-upload-files.component.mjs +3 -3
  75. package/esm2022/lib/components/ca-upload-files/components/ca-upload-dropzone/ca-upload-dropzone.component.mjs +3 -3
  76. package/esm2022/lib/components/ca-upload-files/components/ca-upload-file/ca-upload-file.component.mjs +2 -2
  77. package/esm2022/lib/components/ca-upload-files/components/ca-upload-files-carousel/ca-upload-files-carousel.component.mjs +3 -3
  78. package/esm2022/lib/models/index.mjs +2 -2
  79. package/esm2022/lib/models/long-lat.model.mjs +2 -0
  80. package/esm2022/public-api.mjs +3 -2
  81. package/fesm2022/ca-components.mjs +239 -285
  82. package/fesm2022/ca-components.mjs.map +1 -1
  83. package/lib/components/ca-filters/ca-filter.component.d.ts +2 -2
  84. package/lib/components/ca-map/ca-map.component.d.ts +9 -9
  85. package/lib/components/ca-map/models/index.d.ts +1 -0
  86. package/lib/components/ca-map/models/map.model.d.ts +5 -0
  87. package/lib/components/ca-map/utils/constants/index.d.ts +1 -0
  88. package/lib/components/ca-map/utils/constants/map-options.constants.d.ts +1 -1
  89. package/lib/components/ca-map/utils/helpers/map.helper.d.ts +1 -1
  90. package/lib/components/ca-map/utils/services/map-marker-icon.service.d.ts +1 -1
  91. package/lib/components/ca-map-dropdown/ca-map-dropdown.component.d.ts +2 -2
  92. package/lib/components/ca-map-dropdown/enums/map-dropdown-string.enum.d.ts +1 -1
  93. package/lib/components/ca-modal-button/ca-modal-button.component.d.ts +3 -3
  94. package/lib/components/ca-modal-button/enums/modal-button-class-type.enum.d.ts +4 -2
  95. package/lib/components/ca-modal-button/enums/modal-button-size.enum.d.ts +1 -1
  96. package/lib/components/ca-modal-button/pipes/modal-button-class.pipe.d.ts +2 -2
  97. package/lib/components/ca-progress-bar/ca-progress-bar.component.d.ts +18 -24
  98. package/lib/components/ca-progress-bar/models/gps-progress.model.d.ts +2 -0
  99. package/lib/models/index.d.ts +1 -0
  100. package/lib/models/long-lat.model.d.ts +4 -0
  101. package/package.json +1 -1
  102. package/public-api.d.ts +2 -1
  103. package/esm2022/lib/constants/map.constant.mjs +0 -436
  104. /package/lib/{constants/map.constant.d.ts → components/ca-map/utils/constants/map.constants.d.ts} +0 -0
@@ -0,0 +1,436 @@
1
+ export class MapConstants {
2
+ static { this.GOOGLE_MAP_STYLES = [
3
+ {
4
+ elementType: 'geometry.fill',
5
+ stylers: [
6
+ {
7
+ color: '#f1f1f1',
8
+ },
9
+ ],
10
+ },
11
+ {
12
+ elementType: 'labels.icon',
13
+ stylers: [
14
+ {
15
+ visibility: 'on',
16
+ },
17
+ ],
18
+ },
19
+ {
20
+ featureType: 'administrative.land_parcel',
21
+ elementType: 'labels',
22
+ stylers: [
23
+ {
24
+ visibility: 'off',
25
+ },
26
+ ],
27
+ },
28
+ {
29
+ featureType: 'poi',
30
+ elementType: 'labels.text',
31
+ stylers: [
32
+ {
33
+ visibility: 'off',
34
+ },
35
+ ],
36
+ },
37
+ {
38
+ featureType: 'poi',
39
+ elementType: 'labels',
40
+ stylers: [
41
+ {
42
+ visibility: 'off',
43
+ },
44
+ ],
45
+ },
46
+ {
47
+ featureType: 'poi',
48
+ elementType: 'labels.text',
49
+ stylers: [
50
+ {
51
+ visibility: 'off',
52
+ },
53
+ ],
54
+ },
55
+ {
56
+ featureType: 'transit',
57
+ stylers: [
58
+ {
59
+ visibility: 'off',
60
+ },
61
+ ],
62
+ },
63
+ {
64
+ featureType: 'administrative.country',
65
+ stylers: [
66
+ {
67
+ color: '#919191',
68
+ },
69
+ {
70
+ visibility: 'on',
71
+ },
72
+ {
73
+ weight: 1,
74
+ },
75
+ ],
76
+ },
77
+ {
78
+ elementType: 'labels.text.fill',
79
+ stylers: [
80
+ {
81
+ color: '#919191',
82
+ },
83
+ ],
84
+ },
85
+ {
86
+ elementType: 'labels.text.stroke',
87
+ stylers: [
88
+ {
89
+ color: '#f5f5f5',
90
+ },
91
+ ],
92
+ },
93
+ {
94
+ featureType: 'administrative.land_parcel',
95
+ elementType: 'labels.text.fill',
96
+ stylers: [
97
+ {
98
+ color: '#bdbdbd',
99
+ },
100
+ ],
101
+ },
102
+ {
103
+ featureType: 'poi',
104
+ elementType: 'geometry',
105
+ stylers: [
106
+ {
107
+ color: '#eeeeee',
108
+ },
109
+ ],
110
+ },
111
+ {
112
+ featureType: 'poi',
113
+ elementType: 'labels.text.fill',
114
+ stylers: [
115
+ {
116
+ color: '#757575',
117
+ },
118
+ ],
119
+ },
120
+ {
121
+ featureType: 'poi.park',
122
+ elementType: 'geometry',
123
+ stylers: [
124
+ {
125
+ color: '#e5e5e5',
126
+ },
127
+ ],
128
+ },
129
+ {
130
+ featureType: 'poi.park',
131
+ elementType: 'labels.text.fill',
132
+ stylers: [
133
+ {
134
+ color: '#9e9e9e',
135
+ },
136
+ ],
137
+ },
138
+ {
139
+ featureType: 'landscape',
140
+ elementType: 'labels',
141
+ stylers: [
142
+ {
143
+ visibility: 'off',
144
+ },
145
+ ],
146
+ },
147
+ {
148
+ featureType: 'road',
149
+ elementType: 'geometry',
150
+ stylers: [
151
+ {
152
+ color: '#ffffff',
153
+ },
154
+ ],
155
+ },
156
+ {
157
+ featureType: 'road',
158
+ stylers: [
159
+ {
160
+ saturation: -100,
161
+ },
162
+ {
163
+ lightness: 30,
164
+ },
165
+ ],
166
+ },
167
+ {
168
+ featureType: 'road.arterial',
169
+ elementType: 'labels.text.fill',
170
+ stylers: [
171
+ {
172
+ color: '#dadada',
173
+ },
174
+ ],
175
+ },
176
+ {
177
+ featureType: 'road.highway',
178
+ elementType: 'geometry',
179
+ stylers: [
180
+ {
181
+ color: '#dadada',
182
+ },
183
+ ],
184
+ },
185
+ {
186
+ featureType: 'road.highway',
187
+ elementType: 'labels.text.fill',
188
+ stylers: [
189
+ {
190
+ color: '#616161',
191
+ },
192
+ ],
193
+ },
194
+ {
195
+ featureType: 'road.local',
196
+ elementType: 'labels.text.fill',
197
+ stylers: [
198
+ {
199
+ color: '#9e9e9e',
200
+ },
201
+ ],
202
+ },
203
+ {
204
+ featureType: 'transit.line',
205
+ elementType: 'geometry',
206
+ stylers: [
207
+ {
208
+ color: '#e5e5e5',
209
+ },
210
+ ],
211
+ },
212
+ {
213
+ featureType: 'transit.station',
214
+ elementType: 'geometry',
215
+ stylers: [
216
+ {
217
+ color: '#eeeeee',
218
+ },
219
+ ],
220
+ },
221
+ {
222
+ featureType: 'water',
223
+ elementType: 'geometry',
224
+ stylers: [
225
+ {
226
+ color: '#dadada',
227
+ },
228
+ ],
229
+ },
230
+ {
231
+ featureType: 'water',
232
+ elementType: 'labels.text.fill',
233
+ stylers: [
234
+ {
235
+ color: '#9e9e9e',
236
+ },
237
+ ],
238
+ },
239
+ ]; }
240
+ static { this.GOOGLE_MAP_DARK_STYLES = [
241
+ {
242
+ elementType: 'geometry',
243
+ stylers: [
244
+ {
245
+ color: '#212121',
246
+ },
247
+ ],
248
+ },
249
+ {
250
+ elementType: 'labels.icon',
251
+ stylers: [
252
+ {
253
+ visibility: 'off',
254
+ },
255
+ ],
256
+ },
257
+ {
258
+ elementType: 'labels.text.fill',
259
+ stylers: [
260
+ {
261
+ color: '#757575',
262
+ },
263
+ ],
264
+ },
265
+ {
266
+ elementType: 'labels.text.stroke',
267
+ stylers: [
268
+ {
269
+ color: '#212121',
270
+ },
271
+ ],
272
+ },
273
+ {
274
+ featureType: 'administrative',
275
+ elementType: 'geometry',
276
+ stylers: [
277
+ {
278
+ color: '#757575',
279
+ },
280
+ ],
281
+ },
282
+ {
283
+ featureType: 'administrative.country',
284
+ elementType: 'labels.text.fill',
285
+ stylers: [
286
+ {
287
+ color: '#9e9e9e',
288
+ },
289
+ ],
290
+ },
291
+ {
292
+ featureType: 'administrative.land_parcel',
293
+ stylers: [
294
+ {
295
+ visibility: 'off',
296
+ },
297
+ ],
298
+ },
299
+ {
300
+ featureType: 'administrative.locality',
301
+ elementType: 'labels.text.fill',
302
+ stylers: [
303
+ {
304
+ color: '#bdbdbd',
305
+ },
306
+ ],
307
+ },
308
+ {
309
+ featureType: 'poi',
310
+ elementType: 'labels.text.fill',
311
+ stylers: [
312
+ {
313
+ color: '#757575',
314
+ },
315
+ ],
316
+ },
317
+ {
318
+ featureType: 'poi.park',
319
+ elementType: 'geometry',
320
+ stylers: [
321
+ {
322
+ color: '#181818',
323
+ },
324
+ {
325
+ visibility: 'off',
326
+ },
327
+ ],
328
+ },
329
+ {
330
+ featureType: 'poi.park',
331
+ elementType: 'labels.text.fill',
332
+ stylers: [
333
+ {
334
+ color: '#616161',
335
+ },
336
+ ],
337
+ },
338
+ {
339
+ featureType: 'poi.park',
340
+ elementType: 'labels.text.stroke',
341
+ stylers: [
342
+ {
343
+ color: '#1b1b1b',
344
+ },
345
+ ],
346
+ },
347
+ {
348
+ featureType: 'road',
349
+ elementType: 'geometry.fill',
350
+ stylers: [
351
+ {
352
+ color: '#2c2c2c',
353
+ },
354
+ ],
355
+ },
356
+ {
357
+ featureType: 'road',
358
+ elementType: 'labels.text.fill',
359
+ stylers: [
360
+ {
361
+ color: '#8a8a8a',
362
+ },
363
+ ],
364
+ },
365
+ {
366
+ featureType: 'road.arterial',
367
+ elementType: 'geometry',
368
+ stylers: [
369
+ {
370
+ color: '#373737',
371
+ },
372
+ ],
373
+ },
374
+ {
375
+ featureType: 'road.highway',
376
+ elementType: 'geometry',
377
+ stylers: [
378
+ {
379
+ color: '#3c3c3c',
380
+ },
381
+ ],
382
+ },
383
+ {
384
+ featureType: 'road.highway.controlled_access',
385
+ elementType: 'geometry',
386
+ stylers: [
387
+ {
388
+ color: '#4e4e4e',
389
+ },
390
+ ],
391
+ },
392
+ {
393
+ featureType: 'road.local',
394
+ elementType: 'labels.text.fill',
395
+ stylers: [
396
+ {
397
+ color: '#616161',
398
+ },
399
+ ],
400
+ },
401
+ {
402
+ featureType: 'transit',
403
+ elementType: 'labels.text.fill',
404
+ stylers: [
405
+ {
406
+ color: '#757575',
407
+ },
408
+ ],
409
+ },
410
+ {
411
+ featureType: 'water',
412
+ elementType: 'geometry',
413
+ stylers: [
414
+ {
415
+ color: '#000000',
416
+ },
417
+ ],
418
+ },
419
+ {
420
+ featureType: 'water',
421
+ elementType: 'labels.text.fill',
422
+ stylers: [
423
+ {
424
+ color: '#3d3d3d',
425
+ },
426
+ ],
427
+ },
428
+ ]; }
429
+ static { this.NORTH_AMERICA_BOUNDS = {
430
+ north: 75,
431
+ south: 9,
432
+ west: -170,
433
+ east: -50,
434
+ }; }
435
+ }
436
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLW1hcC91dGlscy9jb25zdGFudHMvbWFwLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sWUFBWTthQUNkLHNCQUFpQixHQUErQjtRQUNuRDtZQUNJLFdBQVcsRUFBRSxlQUFlO1lBQzVCLE9BQU8sRUFBRTtnQkFDTDtvQkFDSSxLQUFLLEVBQUUsU0FBUztpQkFDbkI7YUFDSjtTQUNKO1FBQ0Q7WUFDSSxXQUFXLEVBQUUsYUFBYTtZQUMxQixPQUFPLEVBQUU7Z0JBQ0w7b0JBQ0ksVUFBVSxFQUFFLElBQUk7aUJBQ25CO2FBQ0o7U0FDSjtRQUNEO1lBQ0ksV0FBVyxFQUFFLDRCQUE0QjtZQUN6QyxXQUFXLEVBQUUsUUFBUTtZQUNyQixPQUFPLEVBQUU7Z0JBQ0w7b0JBQ0ksVUFBVSxFQUFFLEtBQUs7aUJBQ3BCO2FBQ0o7U0FDSjtRQUNEO1lBQ0ksV0FBVyxFQUFFLEtBQUs7WUFDbEIsV0FBVyxFQUFFLGFBQWE7WUFDMUIsT0FBTyxFQUFFO2dCQUNMO29CQUNJLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjthQUNKO1NBQ0o7UUFDRDtZQUNJLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFdBQVcsRUFBRSxRQUFRO1lBQ3JCLE9BQU8sRUFBRTtnQkFDTDtvQkFDSSxVQUFVLEVBQUUsS0FBSztpQkFDcEI7YUFDSjtTQUNKO1FBQ0Q7WUFDSSxXQUFXLEVBQUUsS0FBSztZQUNsQixXQUFXLEVBQUUsYUFBYTtZQUMxQixPQUFPLEVBQUU7Z0JBQ0w7b0JBQ0ksVUFBVSxFQUFFLEtBQUs7aUJBQ3BCO2FBQ0o7U0FDSjtRQUNEO1lBQ0ksV0FBVyxFQUFFLFNBQVM7WUFDdEIsT0FBTyxFQUFFO2dCQUNMO29CQUNJLFVBQVUsRUFBRSxLQUFL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LEVBQUU7Z0JBQ0w7b0JBQ0ksS0FBSyxFQUFFLFNBQVM7aUJBQ25CO2FBQ0o7U0FDSjtRQUNEO1lBQ0ksV0FBVyxFQUFFLGNBQWM7WUFDM0IsV0FBVyxFQUFFLFVBQVU7WUFDdkIsT0FBTyxFQUFFO2dCQUNMO29CQUNJLEtBQUssRUFBRSxTQUFTO2lCQUNuQjthQUNKO1NBQ0o7UUFDRDtZQUNJLFdBQVcsRUFBRSxnQ0FBZ0M7WUFDN0MsV0FBVyxFQUFFLFVBQVU7WUFDdkIsT0FBTyxFQUFFO2dCQUNMO29CQUNJLEtBQUssRUFBRSxTQUFTO2lCQUNuQjthQUNKO1NBQ0o7UUFDRDtZQUNJLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFdBQVcsRUFBRSxrQkFBa0I7WUFDL0IsT0FBTyxFQUFFO2dCQUNMO29CQUNJLEtBQUssRUFBRSxTQUFTO2lCQUNuQjthQUNKO1NBQ0o7UUFDRDtZQUNJLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLFdBQVcsRUFBRSxrQkFBa0I7WUFDL0IsT0FBTyxFQUFFO2dCQUNMO29CQUNJLEtBQUssRUFBRSxTQUFTO2lCQUNuQjthQUNKO1NBQ0o7UUFDRDtZQUNJLFdBQVcsRUFBRSxPQUFPO1lBQ3BCLFdBQVcsRUFBRSxVQUFVO1lBQ3ZCLE9BQU8sRUFBRTtnQkFDTDtvQkFDSSxLQUFLLEVBQUUsU0FBUztpQkFDbkI7YUFDSjtTQUNKO1FBQ0Q7WUFDSSxXQUFXLEVBQUUsT0FBTztZQUNwQixXQUFXLEVBQUUsa0JBQWtCO1lBQy9CLE9BQU8sRUFBRTtnQkFDTDtvQkFDSSxLQUFLLEVBQUUsU0FBUztpQkFDbkI7YUFDSjtTQUNKO0tBQ0osQ0FBQzthQUVLLHlCQUFvQixHQUFHO1FBQzFCLEtBQUssRUFBRSxFQUFFO1FBQ1QsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLEVBQUUsQ0FBQyxHQUFHO1FBQ1YsSUFBSSxFQUFFLENBQUMsRUFBRTtLQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTWFwQ29uc3RhbnRzIHtcbiAgICBzdGF0aWMgR09PR0xFX01BUF9TVFlMRVM6IGdvb2dsZS5tYXBzLk1hcFR5cGVTdHlsZVtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBlbGVtZW50VHlwZTogJ2dlb21ldHJ5LmZpbGwnLFxuICAgICAgICAgICAgc3R5bGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZjFmMWYxJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZWxlbWVudFR5cGU6ICdsYWJlbHMuaWNvbicsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAnb24nLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ2FkbWluaXN0cmF0aXZlLmxhbmRfcGFyY2VsJyxcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnbGFiZWxzJyxcbiAgICAgICAgICAgIHN0eWxlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICdvZmYnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ3BvaScsXG4gICAgICAgICAgICBlbGVtZW50VHlwZTogJ2xhYmVscy50ZXh0JyxcbiAgICAgICAgICAgIHN0eWxlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICdvZmYnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ3BvaScsXG4gICAgICAgICAgICBlbGVtZW50VHlwZTogJ2xhYmVscycsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAnb2ZmJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICdwb2knLFxuICAgICAgICAgICAgZWxlbWVudFR5cGU6ICdsYWJlbHMudGV4dCcsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAnb2ZmJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICd0cmFuc2l0JyxcbiAgICAgICAgICAgIHN0eWxlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICdvZmYnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ2FkbWluaXN0cmF0aXZlLmNvdW50cnknLFxuICAgICAgICAgICAgc3R5bGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjOTE5MTkxJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ29uJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBlbGVtZW50VHlwZTogJ2xhYmVscy50ZXh0LmZpbGwnLFxuICAgICAgICAgICAgc3R5bGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjOTE5MTkxJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZWxlbWVudFR5cGU6ICdsYWJlbHMudGV4dC5zdHJva2UnLFxuICAgICAgICAgICAgc3R5bGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZjVmNWY1JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICdhZG1pbmlzdHJhdGl2ZS5sYW5kX3BhcmNlbCcsXG4gICAgICAgICAgICBlbGVtZW50VHlwZTogJ2xhYmVscy50ZXh0LmZpbGwnLFxuICAgICAgICAgICAgc3R5bGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjYmRiZGJkJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICdwb2knLFxuICAgICAgICAgICAgZWxlbWVudFR5cGU6ICdnZW9tZXRyeScsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNlZWVlZWUnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ3BvaScsXG4gICAgICAgICAgICBlbGVtZW50VHlwZTogJ2xhYmVscy50ZXh0LmZpbGwnLFxuICAgICAgICAgICAgc3R5bGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjNzU3NTc1JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICdwb2kucGFyaycsXG4gICAgICAgICAgICBlbGVtZW50VHlwZTogJ2dlb21ldHJ5JyxcbiAgICAgICAgICAgIHN0eWxlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnI2U1ZTVlNScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAncG9pLnBhcmsnLFxuICAgICAgICAgICAgZWxlbWVudFR5cGU6ICdsYWJlbHMudGV4dC5maWxsJyxcbiAgICAgICAgICAgIHN0eWxlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzllOWU5ZScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAnbGFuZHNjYXBlJyxcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnbGFiZWxzJyxcbiAgICAgICAgICAgIHN0eWxlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICdvZmYnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ3JvYWQnLFxuICAgICAgICAgICAgZWxlbWVudFR5cGU6ICdnZW9tZXRyeScsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNmZmZmZmYnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ3JvYWQnLFxuICAgICAgICAgICAgc3R5bGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc2F0dXJhdGlvbjogLTEwMCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGlnaHRuZXNzOiAzMCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICdyb2FkLmFydGVyaWFsJyxcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnbGFiZWxzLnRleHQuZmlsbCcsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNkYWRhZGEnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ3JvYWQuaGlnaHdheScsXG4gICAgICAgICAgICBlbGVtZW50VHlwZTogJ2dlb21ldHJ5JyxcbiAgICAgICAgICAgIHN0eWxlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnI2RhZGFkYScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAncm9hZC5oaWdod2F5JyxcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnbGFiZWxzLnRleHQuZmlsbCcsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM2MTYxNjEnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ3JvYWQubG9jYWwnLFxuICAgICAgICAgICAgZWxlbWVudFR5cGU6ICdsYWJlbHMudGV4dC5maWxsJyxcbiAgICAgICAgICAgIHN0eWxlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzllOWU5ZScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAndHJhbnNpdC5saW5lJyxcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnZ2VvbWV0cnknLFxuICAgICAgICAgICAgc3R5bGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZTVlNWU1JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICd0cmFuc2l0LnN0YXRpb24nLFxuICAgICAgICAgICAgZWxlbWVudFR5cGU6ICdnZW9tZXRyeScsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNlZWVlZWUnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ3dhdGVyJyxcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnZ2VvbWV0cnknLFxuICAgICAgICAgICAgc3R5bGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZGFkYWRhJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICd3YXRlcicsXG4gICAgICAgICAgICBlbGVtZW50VHlwZTogJ2xhYmVscy50ZXh0LmZpbGwnLFxuICAgICAgICAgICAgc3R5bGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjOWU5ZTllJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICBdO1xuXG4gICAgc3RhdGljIEdPT0dMRV9NQVBfREFSS19TVFlMRVM6IGdvb2dsZS5tYXBzLk1hcFR5cGVTdHlsZVtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBlbGVtZW50VHlwZTogJ2dlb21ldHJ5JyxcbiAgICAgICAgICAgIHN0eWxlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzIxMjEyMScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnbGFiZWxzLmljb24nLFxuICAgICAgICAgICAgc3R5bGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ29mZicsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnbGFiZWxzLnRleHQuZmlsbCcsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM3NTc1NzUnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBlbGVtZW50VHlwZTogJ2xhYmVscy50ZXh0LnN0cm9rZScsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyMyMTIxMjEnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ2FkbWluaXN0cmF0aXZlJyxcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnZ2VvbWV0cnknLFxuICAgICAgICAgICAgc3R5bGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjNzU3NTc1JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICdhZG1pbmlzdHJhdGl2ZS5jb3VudHJ5JyxcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnbGFiZWxzLnRleHQuZmlsbCcsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM5ZTllOWUnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ2FkbWluaXN0cmF0aXZlLmxhbmRfcGFyY2VsJyxcbiAgICAgICAgICAgIHN0eWxlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICdvZmYnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ2FkbWluaXN0cmF0aXZlLmxvY2FsaXR5JyxcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnbGFiZWxzLnRleHQuZmlsbCcsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNiZGJkYmQnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ3BvaScsXG4gICAgICAgICAgICBlbGVtZW50VHlwZTogJ2xhYmVscy50ZXh0LmZpbGwnLFxuICAgICAgICAgICAgc3R5bGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjNzU3NTc1JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICdwb2kucGFyaycsXG4gICAgICAgICAgICBlbGVtZW50VHlwZTogJ2dlb21ldHJ5JyxcbiAgICAgICAgICAgIHN0eWxlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzE4MTgxOCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6ICdvZmYnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ3BvaS5wYXJrJyxcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnbGFiZWxzLnRleHQuZmlsbCcsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM2MTYxNjEnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ3BvaS5wYXJrJyxcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnbGFiZWxzLnRleHQuc3Ryb2tlJyxcbiAgICAgICAgICAgIHN0eWxlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzFiMWIxYicsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAncm9hZCcsXG4gICAgICAgICAgICBlbGVtZW50VHlwZTogJ2dlb21ldHJ5LmZpbGwnLFxuICAgICAgICAgICAgc3R5bGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjMmMyYzJjJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICdyb2FkJyxcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnbGFiZWxzLnRleHQuZmlsbCcsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM4YThhOGEnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ3JvYWQuYXJ0ZXJpYWwnLFxuICAgICAgICAgICAgZWxlbWVudFR5cGU6ICdnZW9tZXRyeScsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyMzNzM3MzcnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ3JvYWQuaGlnaHdheScsXG4gICAgICAgICAgICBlbGVtZW50VHlwZTogJ2dlb21ldHJ5JyxcbiAgICAgICAgICAgIHN0eWxlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzNjM2MzYycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAncm9hZC5oaWdod2F5LmNvbnRyb2xsZWRfYWNjZXNzJyxcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnZ2VvbWV0cnknLFxuICAgICAgICAgICAgc3R5bGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjNGU0ZTRlJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmVhdHVyZVR5cGU6ICdyb2FkLmxvY2FsJyxcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnbGFiZWxzLnRleHQuZmlsbCcsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM2MTYxNjEnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ3RyYW5zaXQnLFxuICAgICAgICAgICAgZWxlbWVudFR5cGU6ICdsYWJlbHMudGV4dC5maWxsJyxcbiAgICAgICAgICAgIHN0eWxlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzc1NzU3NScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZlYXR1cmVUeXBlOiAnd2F0ZXInLFxuICAgICAgICAgICAgZWxlbWVudFR5cGU6ICdnZW9tZXRyeScsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyMwMDAwMDAnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmZWF0dXJlVHlwZTogJ3dhdGVyJyxcbiAgICAgICAgICAgIGVsZW1lbnRUeXBlOiAnbGFiZWxzLnRleHQuZmlsbCcsXG4gICAgICAgICAgICBzdHlsZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyMzZDNkM2QnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgIF07XG5cbiAgICBzdGF0aWMgTk9SVEhfQU1FUklDQV9CT1VORFMgPSB7XG4gICAgICAgIG5vcnRoOiA3NSxcbiAgICAgICAgc291dGg6IDksXG4gICAgICAgIHdlc3Q6IC0xNzAsXG4gICAgICAgIGVhc3Q6IC01MCxcbiAgICB9O1xufVxuIl19
@@ -112,4 +112,4 @@ export class MapHelper {
112
112
  return { mapCenter, bounds, mapZoom };
113
113
  }
114
114
  }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLW1hcC91dGlscy9oZWxwZXJzL21hcC5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFNBQVM7YUFDYiw0QkFBdUIsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFtQixFQUFFLEVBQUU7UUFDdEUsTUFBTSxXQUFXLEdBQUc7Ozs7Ozs7Ozs7O3NKQVc4SCxLQUFLOzs7Ozs7OztnSkFRWCxLQUFLOztnSEFFckMsRUFBRTs7bUNBRS9FLENBQUM7UUFDaEMsTUFBTSxHQUFHLEdBQ1AsbUNBQW1DLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEUsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUM7YUFFSyx5QkFBb0IsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFtQixFQUFFLEVBQUU7UUFDbkUsTUFBTSxXQUFXLEdBQUc7NkNBQ3FCLEtBQUs7O29UQUVrUSxLQUFLOzt3REFFalEsS0FBSyx5RkFBeUYsRUFBRTthQUMzSSxDQUFDO1FBQ1YsTUFBTSxHQUFHLEdBQ1AsbUNBQW1DLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEUsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUM7SUFFRixNQUFNLENBQUMsZUFBZSxDQUFDLEtBQWE7UUFDbEMsSUFBSSxXQUFXLEdBQUcscU1BQXFNLEtBQUssK0ZBQStGLENBQUM7UUFDNVQsTUFBTSxHQUFHLEdBQ1AsbUNBQW1DLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEUsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLG9CQUFvQixDQUN6QixZQUFvQixFQUNwQixJQUFZO1FBRVosSUFBSSxTQUFTLEdBQUcsU0FB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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTWFwTWFya2VycywgSVJvdXRlUGF0aCB9IGZyb20gJy4uLy4uL21vZGVscy9tYXAubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgTWFwSGVscGVyIHtcbiAgc3RhdGljIGdldEljb25Gb3JVbml0Vmlld1N0b3BzID0gKGNvbG9yOiBzdHJpbmcsIGlkOiBudW1iZXIgfCBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBzdmdUZW1wbGF0ZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB3aWR0aD1cIjMxXCIgaGVpZ2h0PVwiMzRcIiB2aWV3Qm94PVwiMCAwIDQ0IDQ4LjM2NFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciAgaWQ9XCJQYXRoXzQxODI0XCIgIHg9XCIwXCIgIHk9XCIwXCIgIHdpZHRoPVwiNDRcIiAgaGVpZ2h0PVwiNDguMzY0XCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgaW5wdXQ9XCJTb3VyY2VBbHBoYVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciAgc3RkRGV2aWF0aW9uPVwiMlwiICByZXN1bHQ9XCJibHVyXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMC4xNDlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb21wb3NpdGUgIG9wZXJhdG9yPVwiaW5cIiAgaW4yPVwiYmx1clwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluPVwiU291cmNlR3JhcGhpY1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyAgaWQ9XCJHcm91cF8xMDM3MzdcIiAgZGF0YS1uYW1lPVwiR3JvdXAgMTAzNzM3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMDk1IC05NDUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD1cIkVsbGlwc2VfOTE2NVwiICBkYXRhLW5hbWU9XCJFbGxpcHNlIDkxNjVcIiAgY3g9XCI0XCIgIGN5PVwiNFwiICByPVwiNlwiICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTExMyA5ODMpXCIgZmlsbD1cIiR7Y29sb3J9XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgIGlkPVwiRWxsaXBzZV85MTY2XCIgIGRhdGEtbmFtZT1cIkVsbGlwc2UgOTE2NlwiIGN4PVwiMlwiICBjeT1cIjJcIiAgcj1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTExNSA5ODUuNSlcIiAgZmlsbD1cIiNmZmZcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKVwiIGZpbHRlcj1cInVybCgjUGF0aF80MTgyNClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlBhdGhfNDE4MjQtMlwiIGRhdGEtbmFtZT1cIlBhdGggNDE4MjRcIiBkPVwiTTMyLDE1Ljk2MkExNS45NTYsMTUuOTU2LDAsMCwxLDI0Ljk0MiwyOS4yYy0uMDM1LjAyNi0uNTUxLjM0NS0uNzU1LjQ3OS00LjksMy4xMTMtNi44NjMsNS4yMTUtNy42NTQsNi4zOTRhLjY0MS42NDEsMCwwLDEtLjg4Ni4xOC42NjUuNjY1LDAsMCwxLS4xOC0uMThjLS43OTEtMS4xOC0yLjc2Mi0zLjI4MS03LjY1NC02LjM5NC0uMjIzLS4xMzgtLjcxOS0uNDUyLS43NTUtLjQ3OUExNS45NzUsMTUuOTc1LDAsMSwxLDMyLDE1Ljk2MlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDYgNilcIiBmaWxsPVwiI2ZmZlwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9XCJFbGxpcHNlXzkyNTVcIiBkYXRhLW5hbWU9XCJFbGxpcHNlIDkyNTVcIiBjeD1cIjEzXCIgY3k9XCIxM1wiIHI9XCIxM1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg5IDkuMDAxKVwiIGZpbGw9IFwiJHtjb2xvcn1cIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHQgZG9taW5hbnQtYmFzZWxpbmU9XCJtaWRkbGVcIiB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiIGlkPVwiXzFcIiBkYXRhLW5hbWU9XCIxXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIyIDI3LjAwMSlcIiBmaWxsPVwiI2ZmZlwiIGZvbnQtc2l6ZT1cIjE0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5PVwiTW9udHNlcnJhdC1Cb2xkLCBNb250c2VycmF0XCIgZm9udC13ZWlnaHQ9XCI3MDBcIj48dHNwYW4geT1cIi0zXCI+JHtpZH08L3RzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPmA7XG4gICAgY29uc3QgdXJsID1cbiAgICAgICdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwnICsgZW5jb2RlVVJJQ29tcG9uZW50KHN2Z1RlbXBsYXRlKTtcbiAgICByZXR1cm4gdXJsO1xuICB9O1xuXG4gIHN0YXRpYyBnZXRJY29uRm9yRHJpdmVNaWxlcyA9IChjb2xvcjogc3RyaW5nLCBpZDogbnVtYmVyIHwgc3RyaW5nKSA9PiB7XG4gICAgY29uc3Qgc3ZnVGVtcGxhdGUgPSBgPHN2ZyB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMjVcIiB2aWV3Qm94PVwiMCAwIDE4IDI1XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxjaXJjbGUgY3g9XCI5XCIgY3k9XCIyMlwiIHI9XCIzXCIgZmlsbD1cIiR7Y29sb3J9XCIvPlxuICAgICAgICA8Y2lyY2xlIGN4PVwiOVwiIGN5PVwiMjJcIiByPVwiMS41XCIgZmlsbD1cIndoaXRlXCIvPlxuICAgICAgICA8cGF0aCBkPVwiTTE4IDkuMDk5MTVDMTggMTEuMzM2NiAxNy4xNjYgMTMuNDkzNyAxNS42NiAxNS4xNDkxTDkuMzk2NDkgMjEuODI4NkM5LjE4MTUzIDIyLjA1NzIgOC44MTg0OSAyMi4wNTcyIDguNjAzNTIgMjEuODI4NkwyLjMzOTk3IDE1LjE0OTFDLTEuODUzMDIgMTAuNTM2MiAtMC4zNTk5NzggMi43NTYxNCA2LjQwOSAwLjQxNDY0NUM3LjU1NjA0IDAuMDE3NjExMyA4Ljc5MzQ2IC0wLjA5Nzg2NzIgOS45OTM1NCAwLjA4MzY1MTNDMTQuOTUzNSAwLjgzMzY1MSAxOC4wMDE1IDQuODE5NjEgMTggOS4wOTkxNVpcIiBmaWxsPVwiJHtjb2xvcn1cIi8+XG4gICAgICAgIDxjaXJjbGUgY3g9XCI5XCIgY3k9XCI5XCIgcj1cIjdcIiBmaWxsPVwid2hpdGVcIi8+XG4gICAgICAgIDx0ZXh0IHg9XCI5XCIgeT1cIjlcIiAgdGV4dC1hbmNob3I9XCJtaWRkbGVcIiBmaWxsPVwiJHtjb2xvcn1cIiBmb250LXNpemU9XCI4XCIgZm9udC1mYW1pbHk9XCJNb250c2VycmF0LUJvbGQsIE1vbnRzZXJyYXRcIiBmb250LXdlaWdodD1cIjYwMFwiIGR5PVwiLjNlbVwiPiR7aWR9PC90ZXh0PlxuICAgICAgPC9zdmc+YDtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCcgKyBlbmNvZGVVUklDb21wb25lbnQoc3ZnVGVtcGxhdGUpO1xuICAgIHJldHVybiB1cmw7XG4gIH07XG5cbiAgc3RhdGljIGdldExvY2F0aW9uSWNvbihjb2xvcjogc3RyaW5nKSB7XG4gICAgbGV0IHN2Z1RlbXBsYXRlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTMgMTNcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE4MSAtMjk1KVwiPjxyZWN0IHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHJ4PVwiNi41XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE4MSAyOTUpXCIgZmlsbD1cIiR7Y29sb3J9XCIvPjxyZWN0IHdpZHRoPVwiNVwiIGhlaWdodD1cIjVcIiByeD1cIjIuNVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxODUgMjk5KVwiIGZpbGw9XCIjZmZmXCIvPjwvZz48L3N2Zz5gO1xuICAgIGNvbnN0IHVybCA9XG4gICAgICAnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJyArIGVuY29kZVVSSUNvbXBvbmVudChzdmdUZW1wbGF0ZSk7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRGaWxsQ29sb3JGb3JTdGF0ZShcbiAgICBzdGF0ZURlbnNpdHk6IG51bWJlcixcbiAgICBWaWV3OiBzdHJpbmdcbiAgKTogeyBmaWxsQ29sb3I6IHN0cmluZzsgZmlsbE9wYWNpdHk6IG51bWJlciB9IHtcbiAgICBsZXQgZmlsbENvbG9yID0gJyNFRUVFRUUnO1xuICAgIGxldCBmaWxsT3BhY2l0eSA9IDE7XG5cbiAgICBjb25zdCBnZXRGbGVldFZpZXdDb2xvciA9IChkZW5zaXR5OiBudW1iZXIpID0+IHtcbiAgICAgIGlmIChkZW5zaXR5IDwgNTApIHJldHVybiB7IGZpbGxDb2xvcjogJyNFRjUzNTAnLCBmaWxsT3BhY2l0eTogMC44IH07XG4gICAgICBlbHNlIGlmIChkZW5zaXR5IDwgMTAwKSByZXR1cm4geyBmaWxsQ29sb3I6ICcjRUY1MzUwJywgZmlsbE9wYWNpdHk6IDEgfTtcbiAgICAgIGVsc2UgaWYgKGRlbnNpdHkgPCA1MDApIHJldHVybiB7IGZpbGxDb2xvcjogJyMwMDk2N0UnLCBmaWxsT3BhY2l0eTogMC44IH07XG4gICAgICBlbHNlIGlmIChkZW5zaXR5IDwgMTAwMCkgcmV0dXJuIHsgZmlsbENvbG9yOiAnIzAwOTY3RScsIGZpbGxPcGFjaXR5OiAxIH07XG4gICAgICByZXR1cm4geyBmaWxsQ29sb3I6ICcjRUVFRUVFJywgZmlsbE9wYWNpdHk6IDEgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgZ2V0VW5pdFZpZXdDb2xvciA9IChkZW5zaXR5OiBudW1iZXIpID0+IHtcbiAgICAgIGlmIChkZW5zaXR5IDwgNTApIHJldHVybiB7IGZpbGxDb2xvcjogJyNGRkE3MjYnLCBmaWxsT3BhY2l0eTogMC4zIH07XG4gICAgICBlbHNlIGlmIChkZW5zaXR5IDwgMTAwKSByZXR1cm4geyBmaWxsQ29sb3I6ICcjRkZBNzI2JywgZmlsbE9wYWNpdHk6IDAuNiB9O1xuICAgICAgZWxzZSBpZiAoZGVuc2l0eSA8IDUwMCkgcmV0dXJuIHsgZmlsbENvbG9yOiAnI0ZGQTcyNicsIGZpbGxPcGFjaXR5OiAwLjkgfTtcbiAgICAgIGVsc2UgaWYgKGRlbnNpdHkgPCAxMDAwKSByZXR1cm4geyBmaWxsQ29sb3I6ICcjRkZBNzI2JywgZmlsbE9wYWNpdHk6IDEgfTtcbiAgICAgIHJldHVybiB7IGZpbGxDb2xvcjogJyNFRUVFRUUnLCBmaWxsT3BhY2l0eTogMSB9O1xuICAgIH07XG5cbiAgICBzd2l0Y2ggKFZpZXcpIHtcbiAgICAgIGNhc2UgJ2ZsZWV0Vmlldyc6XG4gICAgICAgICh7IGZpbGxDb2xvciwgZmlsbE9wYWNpdHkgfSA9IGdldEZsZWV0Vmlld0NvbG9yKHN0YXRlRGVuc2l0eSkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3VuaXRWaWV3JzpcbiAgICAgICAgKHsgZmlsbENvbG9yLCBmaWxsT3BhY2l0eSB9ID0gZ2V0VW5pdFZpZXdDb2xvcihzdGF0ZURlbnNpdHkpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpbGxDb2xvcjogZmlsbENvbG9yLFxuICAgICAgZmlsbE9wYWNpdHk6IGZpbGxPcGFjaXR5LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0TWFwQ2VudGVyQW5kWm9vbShtYXJrZXJzOiBJTWFwTWFya2Vyc1tdKToge1xuICAgIG1hcENlbnRlcjogSVJvdXRlUGF0aDtcbiAgICBib3VuZHM/OiBnb29nbGUubWFwcy5MYXRMbmdCb3VuZHMgfCBudWxsO1xuICAgIG1hcFpvb20/OiBudW1iZXIgfCBudWxsO1xuICB9IHtcbiAgICAvLyBDYWxjdWxhdGUgY2VudGVyXG4gICAgY29uc3QgY29vcmRpbmF0ZXM6IHsgbGF0OiBudW1iZXJbXTsgbG5nOiBudW1iZXJbXSB9ID0ge1xuICAgICAgbGF0OiBbXSxcbiAgICAgIGxuZzogW10sXG4gICAgfTtcblxuICAgIC8vIENhbGN1bGF0ZSB6b29tXG4gICAgY29uc3QgYm91bmRzOiBnb29nbGUubWFwcy5MYXRMbmdCb3VuZHMgfCBudWxsID1cbiAgICAgIG1hcmtlcnM/Lmxlbmd0aCA+IDEgPyBuZXcgZ29vZ2xlLm1hcHMuTGF0TG5nQm91bmRzKCkgOiBudWxsO1xuXG4gICAgaWYgKG1hcmtlcnM/Lmxlbmd0aCA+IDEpIHtcbiAgICAgIG1hcmtlcnMuZm9yRWFjaCgobWFya2VyKSA9PiB7XG4gICAgICAgIGNvb3JkaW5hdGVzLmxhdC5wdXNoKE51bWJlcihtYXJrZXIucG9zaXRpb24ubGF0KSk7XG4gICAgICAgIGNvb3JkaW5hdGVzLmxuZy5wdXNoKE51bWJlcihtYXJrZXIucG9zaXRpb24ubG5nKSk7XG5cbiAgICAgICAgYm91bmRzPy5leHRlbmQoe1xuICAgICAgICAgIGxhdDogTnVtYmVyKG1hcmtlci5wb3NpdGlvbi5sYXQpLFxuICAgICAgICAgIGxuZzogTnVtYmVyKG1hcmtlci5wb3NpdGlvbi5sbmcpLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGF2ZXJhZ2VMbmcgPVxuICAgICAgbWFya2Vycz8ubGVuZ3RoID4gMVxuICAgICAgICA/IChNYXRoLm1heCguLi5jb29yZGluYXRlcy5sbmcpICsgTWF0aC5taW4oLi4uY29vcmRpbmF0ZXMubG5nKSkgLyAyXG4gICAgICAgIDogbWFya2Vyc1swXS5wb3NpdGlvbi5sbmc7XG4gICAgY29uc3QgYXZlcmFnZUxhdCA9XG4gICAgICBtYXJrZXJzPy5sZW5ndGggPiAxXG4gICAgICAgID8gKE1hdGgubWF4KC4uLmNvb3JkaW5hdGVzLmxhdCkgKyBNYXRoLm1pbiguLi5jb29yZGluYXRlcy5sYXQpKSAvIDJcbiAgICAgICAgOiBtYXJrZXJzWzBdLnBvc2l0aW9uLmxhdDtcblxuICAgIGNvbnN0IG1hcENlbnRlciA9IHsgbGF0OiBhdmVyYWdlTGF0LCBsbmc6IGF2ZXJhZ2VMbmcgfTtcblxuICAgIGNvbnN0IG1hcFpvb20gPSBtYXJrZXJzLmxlbmd0aCA9PT0gMSA/IDggOiBudWxsO1xuXG4gICAgcmV0dXJuIHsgbWFwQ2VudGVyLCBib3VuZHMsIG1hcFpvb20gfTtcbiAgfVxufVxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLW1hcC91dGlscy9oZWxwZXJzL21hcC5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFNBQVM7YUFDYiw0QkFBdUIsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFtQixFQUFFLEVBQUU7UUFDdEUsTUFBTSxXQUFXLEdBQUc7Ozs7Ozs7Ozs7O3NKQVc4SCxLQUFLOzs7Ozs7OztnSkFRWCxLQUFLOztnSEFFckMsRUFBRTs7bUNBRS9FLENBQUM7UUFDaEMsTUFBTSxHQUFHLEdBQ1AsbUNBQW1DLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEUsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUM7YUFFSyx5QkFBb0IsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFtQixFQUFFLEVBQUU7UUFDbkUsTUFBTSxXQUFXLEdBQUc7NkNBQ3FCLEtBQUs7O29UQUVrUSxLQUFLOzt3REFFalEsS0FBSyx5RkFBeUYsRUFBRTthQUMzSSxDQUFDO1FBQ1YsTUFBTSxHQUFHLEdBQ1AsbUNBQW1DLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEUsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUM7SUFFRixNQUFNLENBQUMsZUFBZSxDQUFDLEtBQWE7UUFDbEMsSUFBSSxXQUFXLEdBQUcscU1BQXFNLEtBQUssK0ZBQStGLENBQUM7UUFDNVQsTUFBTSxHQUFHLEdBQ1AsbUNBQW1DLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEUsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLG9CQUFvQixDQUN6QixZQUFvQixFQUNwQixJQUFZO1FBRVosSUFBSSxTQUFTLEdBQUcsU0FB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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTWFwTWFya2VycywgSVJvdXRlUGF0aCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBNYXBIZWxwZXIge1xuICBzdGF0aWMgZ2V0SWNvbkZvclVuaXRWaWV3U3RvcHMgPSAoY29sb3I6IHN0cmluZywgaWQ6IG51bWJlciB8IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHN2Z1RlbXBsYXRlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHdpZHRoPVwiMzFcIiBoZWlnaHQ9XCIzNFwiIHZpZXdCb3g9XCIwIDAgNDQgNDguMzY0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyICBpZD1cIlBhdGhfNDE4MjRcIiAgeD1cIjBcIiAgeT1cIjBcIiAgd2lkdGg9XCI0NFwiICBoZWlnaHQ9XCI0OC4zNjRcIiBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBpbnB1dD1cIlNvdXJjZUFscGhhXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyICBzdGREZXZpYXRpb249XCIyXCIgIHJlc3VsdD1cImJsdXJcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwLjE0OVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSAgb3BlcmF0b3I9XCJpblwiICBpbjI9XCJibHVyXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49XCJTb3VyY2VHcmFwaGljXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnICBpZD1cIkdyb3VwXzEwMzczN1wiICBkYXRhLW5hbWU9XCJHcm91cCAxMDM3MzdcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEwOTUgLTk0NSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPVwiRWxsaXBzZV85MTY1XCIgIGRhdGEtbmFtZT1cIkVsbGlwc2UgOTE2NVwiICBjeD1cIjRcIiAgY3k9XCI0XCIgIHI9XCI2XCIgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMTEzIDk4MylcIiBmaWxsPVwiJHtjb2xvcn1cIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSAgaWQ9XCJFbGxpcHNlXzkxNjZcIiAgZGF0YS1uYW1lPVwiRWxsaXBzZSA5MTY2XCIgY3g9XCIyXCIgIGN5PVwiMlwiICByPVwiMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMTE1IDk4NS41KVwiICBmaWxsPVwiI2ZmZlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyAgdHJhbnNmb3JtPVwibWF0cml4KDEsIDAsIDAsIDEsIDAsIDApXCIgZmlsdGVyPVwidXJsKCNQYXRoXzQxODI0KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiUGF0aF80MTgyNC0yXCIgZGF0YS1uYW1lPVwiUGF0aCA0MTgyNFwiIGQ9XCJNMzIsMTUuOTYyQTE1Ljk1NiwxNS45NTYsMCwwLDEsMjQuOTQyLDI5LjJjLS4wMzUuMDI2LS41NTEuMzQ1LS43NTUuNDc5LTQuOSwzLjExMy02Ljg2Myw1LjIxNS03LjY1NCw2LjM5NGEuNjQxLjY0MSwwLDAsMS0uODg2LjE4LjY2NS42NjUsMCwwLDEtLjE4LS4xOGMtLjc5MS0xLjE4LTIuNzYyLTMuMjgxLTcuNjU0LTYuMzk0LS4yMjMtLjEzOC0uNzE5LS40NTItLjc1NS0uNDc5QTE1Ljk3NSwxNS45NzUsMCwxLDEsMzIsMTUuOTYyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNiA2KVwiIGZpbGw9XCIjZmZmXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD1cIkVsbGlwc2VfOTI1NVwiIGRhdGEtbmFtZT1cIkVsbGlwc2UgOTI1NVwiIGN4PVwiMTNcIiBjeT1cIjEzXCIgcj1cIjEzXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDkgOS4wMDEpXCIgZmlsbD0gXCIke2NvbG9yfVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dCBkb21pbmFudC1iYXNlbGluZT1cIm1pZGRsZVwiIHRleHQtYW5jaG9yPVwibWlkZGxlXCIgaWQ9XCJfMVwiIGRhdGEtbmFtZT1cIjFcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMjIgMjcuMDAxKVwiIGZpbGw9XCIjZmZmXCIgZm9udC1zaXplPVwiMTRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk9XCJNb250c2VycmF0LUJvbGQsIE1vbnRzZXJyYXRcIiBmb250LXdlaWdodD1cIjcwMFwiPjx0c3BhbiB5PVwiLTNcIj4ke2lkfTwvdHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+YDtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCcgKyBlbmNvZGVVUklDb21wb25lbnQoc3ZnVGVtcGxhdGUpO1xuICAgIHJldHVybiB1cmw7XG4gIH07XG5cbiAgc3RhdGljIGdldEljb25Gb3JEcml2ZU1pbGVzID0gKGNvbG9yOiBzdHJpbmcsIGlkOiBudW1iZXIgfCBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBzdmdUZW1wbGF0ZSA9IGA8c3ZnIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIyNVwiIHZpZXdCb3g9XCIwIDAgMTggMjVcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjlcIiBjeT1cIjIyXCIgcj1cIjNcIiBmaWxsPVwiJHtjb2xvcn1cIi8+XG4gICAgICAgIDxjaXJjbGUgY3g9XCI5XCIgY3k9XCIyMlwiIHI9XCIxLjVcIiBmaWxsPVwid2hpdGVcIi8+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTggOS4wOTkxNUMxOCAxMS4zMzY2IDE3LjE2NiAxMy40OTM3IDE1LjY2IDE1LjE0OTFMOS4zOTY0OSAyMS44Mjg2QzkuMTgxNTMgMjIuMDU3MiA4LjgxODQ5IDIyLjA1NzIgOC42MDM1MiAyMS44Mjg2TDIuMzM5OTcgMTUuMTQ5MUMtMS44NTMwMiAxMC41MzYyIC0wLjM1OTk3OCAyLjc1NjE0IDYuNDA5IDAuNDE0NjQ1QzcuNTU2MDQgMC4wMTc2MTEzIDguNzkzNDYgLTAuMDk3ODY3MiA5Ljk5MzU0IDAuMDgzNjUxM0MxNC45NTM1IDAuODMzNjUxIDE4LjAwMTUgNC44MTk2MSAxOCA5LjA5OTE1WlwiIGZpbGw9XCIke2NvbG9yfVwiLz5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjlcIiBjeT1cIjlcIiByPVwiN1wiIGZpbGw9XCJ3aGl0ZVwiLz5cbiAgICAgICAgPHRleHQgeD1cIjlcIiB5PVwiOVwiICB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiIGZpbGw9XCIke2NvbG9yfVwiIGZvbnQtc2l6ZT1cIjhcIiBmb250LWZhbWlseT1cIk1vbnRzZXJyYXQtQm9sZCwgTW9udHNlcnJhdFwiIGZvbnQtd2VpZ2h0PVwiNjAwXCIgZHk9XCIuM2VtXCI+JHtpZH08L3RleHQ+XG4gICAgICA8L3N2Zz5gO1xuICAgIGNvbnN0IHVybCA9XG4gICAgICAnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJyArIGVuY29kZVVSSUNvbXBvbmVudChzdmdUZW1wbGF0ZSk7XG4gICAgcmV0dXJuIHVybDtcbiAgfTtcblxuICBzdGF0aWMgZ2V0TG9jYXRpb25JY29uKGNvbG9yOiBzdHJpbmcpIHtcbiAgICBsZXQgc3ZnVGVtcGxhdGUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMyAxM1wiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTgxIC0yOTUpXCI+PHJlY3Qgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEzXCIgcng9XCI2LjVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTgxIDI5NSlcIiBmaWxsPVwiJHtjb2xvcn1cIi8+PHJlY3Qgd2lkdGg9XCI1XCIgaGVpZ2h0PVwiNVwiIHJ4PVwiMi41XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE4NSAyOTkpXCIgZmlsbD1cIiNmZmZcIi8+PC9nPjwvc3ZnPmA7XG4gICAgY29uc3QgdXJsID1cbiAgICAgICdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwnICsgZW5jb2RlVVJJQ29tcG9uZW50KHN2Z1RlbXBsYXRlKTtcbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgc3RhdGljIGdldEZpbGxDb2xvckZvclN0YXRlKFxuICAgIHN0YXRlRGVuc2l0eTogbnVtYmVyLFxuICAgIFZpZXc6IHN0cmluZ1xuICApOiB7IGZpbGxDb2xvcjogc3RyaW5nOyBmaWxsT3BhY2l0eTogbnVtYmVyIH0ge1xuICAgIGxldCBmaWxsQ29sb3IgPSAnI0VFRUVFRSc7XG4gICAgbGV0IGZpbGxPcGFjaXR5ID0gMTtcblxuICAgIGNvbnN0IGdldEZsZWV0Vmlld0NvbG9yID0gKGRlbnNpdHk6IG51bWJlcikgPT4ge1xuICAgICAgaWYgKGRlbnNpdHkgPCA1MCkgcmV0dXJuIHsgZmlsbENvbG9yOiAnI0VGNTM1MCcsIGZpbGxPcGFjaXR5OiAwLjggfTtcbiAgICAgIGVsc2UgaWYgKGRlbnNpdHkgPCAxMDApIHJldHVybiB7IGZpbGxDb2xvcjogJyNFRjUzNTAnLCBmaWxsT3BhY2l0eTogMSB9O1xuICAgICAgZWxzZSBpZiAoZGVuc2l0eSA8IDUwMCkgcmV0dXJuIHsgZmlsbENvbG9yOiAnIzAwOTY3RScsIGZpbGxPcGFjaXR5OiAwLjggfTtcbiAgICAgIGVsc2UgaWYgKGRlbnNpdHkgPCAxMDAwKSByZXR1cm4geyBmaWxsQ29sb3I6ICcjMDA5NjdFJywgZmlsbE9wYWNpdHk6IDEgfTtcbiAgICAgIHJldHVybiB7IGZpbGxDb2xvcjogJyNFRUVFRUUnLCBmaWxsT3BhY2l0eTogMSB9O1xuICAgIH07XG5cbiAgICBjb25zdCBnZXRVbml0Vmlld0NvbG9yID0gKGRlbnNpdHk6IG51bWJlcikgPT4ge1xuICAgICAgaWYgKGRlbnNpdHkgPCA1MCkgcmV0dXJuIHsgZmlsbENvbG9yOiAnI0ZGQTcyNicsIGZpbGxPcGFjaXR5OiAwLjMgfTtcbiAgICAgIGVsc2UgaWYgKGRlbnNpdHkgPCAxMDApIHJldHVybiB7IGZpbGxDb2xvcjogJyNGRkE3MjYnLCBmaWxsT3BhY2l0eTogMC42IH07XG4gICAgICBlbHNlIGlmIChkZW5zaXR5IDwgNTAwKSByZXR1cm4geyBmaWxsQ29sb3I6ICcjRkZBNzI2JywgZmlsbE9wYWNpdHk6IDAuOSB9O1xuICAgICAgZWxzZSBpZiAoZGVuc2l0eSA8IDEwMDApIHJldHVybiB7IGZpbGxDb2xvcjogJyNGRkE3MjYnLCBmaWxsT3BhY2l0eTogMSB9O1xuICAgICAgcmV0dXJuIHsgZmlsbENvbG9yOiAnI0VFRUVFRScsIGZpbGxPcGFjaXR5OiAxIH07XG4gICAgfTtcblxuICAgIHN3aXRjaCAoVmlldykge1xuICAgICAgY2FzZSAnZmxlZXRWaWV3JzpcbiAgICAgICAgKHsgZmlsbENvbG9yLCBmaWxsT3BhY2l0eSB9ID0gZ2V0RmxlZXRWaWV3Q29sb3Ioc3RhdGVEZW5zaXR5KSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndW5pdFZpZXcnOlxuICAgICAgICAoeyBmaWxsQ29sb3IsIGZpbGxPcGFjaXR5IH0gPSBnZXRVbml0Vmlld0NvbG9yKHN0YXRlRGVuc2l0eSkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgZmlsbENvbG9yOiBmaWxsQ29sb3IsXG4gICAgICBmaWxsT3BhY2l0eTogZmlsbE9wYWNpdHksXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRNYXBDZW50ZXJBbmRab29tKG1hcmtlcnM6IElNYXBNYXJrZXJzW10pOiB7XG4gICAgbWFwQ2VudGVyOiBJUm91dGVQYXRoO1xuICAgIGJvdW5kcz86IGdvb2dsZS5tYXBzLkxhdExuZ0JvdW5kcyB8IG51bGw7XG4gICAgbWFwWm9vbT86IG51bWJlciB8IG51bGw7XG4gIH0ge1xuICAgIC8vIENhbGN1bGF0ZSBjZW50ZXJcbiAgICBjb25zdCBjb29yZGluYXRlczogeyBsYXQ6IG51bWJlcltdOyBsbmc6IG51bWJlcltdIH0gPSB7XG4gICAgICBsYXQ6IFtdLFxuICAgICAgbG5nOiBbXSxcbiAgICB9O1xuXG4gICAgLy8gQ2FsY3VsYXRlIHpvb21cbiAgICBjb25zdCBib3VuZHM6IGdvb2dsZS5tYXBzLkxhdExuZ0JvdW5kcyB8IG51bGwgPVxuICAgICAgbWFya2Vycz8ubGVuZ3RoID4gMSA/IG5ldyBnb29nbGUubWFwcy5MYXRMbmdCb3VuZHMoKSA6IG51bGw7XG5cbiAgICBpZiAobWFya2Vycz8ubGVuZ3RoID4gMSkge1xuICAgICAgbWFya2Vycy5mb3JFYWNoKChtYXJrZXIpID0+IHtcbiAgICAgICAgY29vcmRpbmF0ZXMubGF0LnB1c2goTnVtYmVyKG1hcmtlci5wb3NpdGlvbi5sYXQpKTtcbiAgICAgICAgY29vcmRpbmF0ZXMubG5nLnB1c2goTnVtYmVyKG1hcmtlci5wb3NpdGlvbi5sbmcpKTtcblxuICAgICAgICBib3VuZHM/LmV4dGVuZCh7XG4gICAgICAgICAgbGF0OiBOdW1iZXIobWFya2VyLnBvc2l0aW9uLmxhdCksXG4gICAgICAgICAgbG5nOiBOdW1iZXIobWFya2VyLnBvc2l0aW9uLmxuZyksXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgYXZlcmFnZUxuZyA9XG4gICAgICBtYXJrZXJzPy5sZW5ndGggPiAxXG4gICAgICAgID8gKE1hdGgubWF4KC4uLmNvb3JkaW5hdGVzLmxuZykgKyBNYXRoLm1pbiguLi5jb29yZGluYXRlcy5sbmcpKSAvIDJcbiAgICAgICAgOiBtYXJrZXJzWzBdLnBvc2l0aW9uLmxuZztcbiAgICBjb25zdCBhdmVyYWdlTGF0ID1cbiAgICAgIG1hcmtlcnM/Lmxlbmd0aCA+IDFcbiAgICAgICAgPyAoTWF0aC5tYXgoLi4uY29vcmRpbmF0ZXMubGF0KSArIE1hdGgubWluKC4uLmNvb3JkaW5hdGVzLmxhdCkpIC8gMlxuICAgICAgICA6IG1hcmtlcnNbMF0ucG9zaXRpb24ubGF0O1xuXG4gICAgY29uc3QgbWFwQ2VudGVyID0geyBsYXQ6IGF2ZXJhZ2VMYXQsIGxuZzogYXZlcmFnZUxuZyB9O1xuXG4gICAgY29uc3QgbWFwWm9vbSA9IG1hcmtlcnMubGVuZ3RoID09PSAxID8gOCA6IG51bGw7XG5cbiAgICByZXR1cm4geyBtYXBDZW50ZXIsIGJvdW5kcywgbWFwWm9vbSB9O1xuICB9XG59XG4iXX0=
@@ -134,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
134
134
  providedIn: 'root',
135
135
  }]
136
136
  }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLW1hcmtlci1pY29uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1tYXAvdXRpbHMvc2VydmljZXMvbWFwLW1hcmtlci1pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVuRCxVQUFVO0FBQ1YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWpELFlBQVk7QUFDWixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBUXZELE1BQU0sT0FBTyxvQkFBb0I7SUFZL0IsWUFBWSxlQUFpQztRQVZyQyxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDM0Qsc0JBQWlCLEdBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMvQixxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDM0Qsc0JBQWlCLEdBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMvQixtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUN4RCxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUN6RCxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUcvRCxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxhQUFhLENBQ2xCLFFB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QUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7K0dBMU1VLG9CQUFvQjttSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vLyBIZWxwZXJzXG5pbXBvcnQgeyBNYXBNYXJrZXJJY29uSGVscGVyIH0gZnJvbSAnLi4vaGVscGVycyc7XG5cbi8vIENvbnN0YW50c1xuaW1wb3J0IHsgTWFwTWFya2VySWNvbnNDb25zdGFudHMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG4vLyBNb2RlbHNcbmltcG9ydCB7IElNYXBNYXJrZXJzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21hcC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBNYXJrZXJJY29uU2VydmljZSB7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgcHJpdmF0ZSBjbHVzdGVyTWFya2VySWRzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJTWFwTWFya2Vyc1tdPihbXSk7XG4gIHB1YmxpYyBjbHVzdGVyTWFya2VySWRzJDogT2JzZXJ2YWJsZTxJTWFwTWFya2Vyc1tdPiA9XG4gICAgdGhpcy5jbHVzdGVyTWFya2VySWRzLmFzT2JzZXJ2YWJsZSgpO1xuICBwcml2YXRlIHJvdXRpbmdNYXJrZXJJZHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElNYXBNYXJrZXJzW10+KFtdKTtcbiAgcHVibGljIHJvdXRpbmdNYXJrZXJJZHMkOiBPYnNlcnZhYmxlPElNYXBNYXJrZXJzW10+ID1cbiAgICB0aGlzLnJvdXRpbmdNYXJrZXJJZHMuYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgbWFya2VyRWxlbWVudHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEhUTUxFbGVtZW50W10+KFtdKTtcbiAgcHJpdmF0ZSBjbHVzdGVyRWxlbWVudHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEhUTUxFbGVtZW50W10+KFtdKTtcbiAgcHJpdmF0ZSByb3V0aW5nRWxlbWVudHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEhUTUxFbGVtZW50W10+KFtdKTtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIpIHtcbiAgICB0aGlzLnJlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xuICB9XG5cbiAgcHVibGljIGdldE1hcmtlckljb24oXG4gICAgbWFya2VySWQ6IG51bWJlcixcbiAgICBsYWJlbE5hbWU/OiBzdHJpbmcsXG4gICAgaXNDbG9zZWQ/OiBib29sZWFuLFxuICAgIGlzRmF2b3JpdGU/OiBib29sZWFuLFxuICAgIGlzQWx3YXlzU2VsZWN0ZWQ/OiBib29sZWFuXG4gICk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBtYXJrZXJFbGVtZW50cyA9IHRoaXMubWFya2VyRWxlbWVudHMuZ2V0VmFsdWUoKTtcblxuICAgIGNvbnN0IHByZXZpb3VzTWFya2VySWNvbiA9IG1hcmtlckVsZW1lbnRzLmZpbmQoXG4gICAgICAoaWNvbikgPT4gaWNvbi5pZCA9PT0gJ21hcmtlci0nICsgbWFya2VySWRcbiAgICApO1xuXG4gICAgaWYgKHByZXZpb3VzTWFya2VySWNvbikgcmV0dXJuIHByZXZpb3VzTWFya2VySWNvbjtcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IG1hcmtlckVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUobWFya2VyRWxlbWVudCwgJ2lkJywgJ21hcmtlci0nICsgbWFya2VySWQpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhtYXJrZXJFbGVtZW50LCAnbWFya2VyLWljb24nKTtcblxuICAgICAgY29uc3QgbWFya2VyU3ZnID0gaXNDbG9zZWRcbiAgICAgICAgPyBNYXBNYXJrZXJJY29uc0NvbnN0YW50cy5jbG9zZWRNYXJrZXJcbiAgICAgICAgOiBpc0Zhdm9yaXRlXG4gICAgICAgID8gTWFwTWFya2VySWNvbnNDb25zdGFudHMuZmF2b3JpdGVNYXJrZXJcbiAgICAgICAgOiBNYXBNYXJrZXJJY29uc0NvbnN0YW50cy5kZWZhdWx0TWFya2VyO1xuXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KG1hcmtlckVsZW1lbnQsICdpbm5lckhUTUwnLCBtYXJrZXJTdmcpO1xuXG4gICAgICBpZiAobGFiZWxOYW1lKSB7XG4gICAgICAgIGNvbnN0IG1hcmtlckxhYmVsRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MobWFya2VyTGFiZWxFbGVtZW50LCAnbWFya2VyLWxhYmVsJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkoXG4gICAgICAgICAgbWFya2VyTGFiZWxFbGVtZW50LFxuICAgICAgICAgICdpbm5lckhUTUwnLFxuICAgICAgICAgIGxhYmVsTmFtZS50b1VwcGVyQ2FzZSgpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQobWFya2VyRWxlbWVudCwgbWFya2VyTGFiZWxFbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzQWx3YXlzU2VsZWN0ZWQpXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MobWFya2VyRWxlbWVudCwgJ3NlbGVjdGVkLXBlcm1hbmVudGx5Jyk7XG5cbiAgICAgIG1hcmtlckVsZW1lbnRzLnB1c2gobWFya2VyRWxlbWVudCk7XG5cbiAgICAgIHRoaXMubWFya2VyRWxlbWVudHMubmV4dChtYXJrZXJFbGVtZW50cyk7XG5cbiAgICAgIHJldHVybiBtYXJrZXJFbGVtZW50O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRDbHVzdGVyTWFya2VySWNvbihtYXJrZXJEYXRhOiBJTWFwTWFya2Vycyk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBjbHVzdGVyRWxlbWVudHMgPSB0aGlzLmNsdXN0ZXJFbGVtZW50cy5nZXRWYWx1ZSgpO1xuXG4gICAgY29uc3QgY2x1c3RlcklkID0gdGhpcy5jcmVhdGVDbHVzdGVySWQobWFya2VyRGF0YSk7XG5cbiAgICBjb25zdCBwcmV2aW91c0NsdXN0ZXJJY29uID0gY2x1c3RlckVsZW1lbnRzLmZpbmQoXG4gICAgICAoaWNvbikgPT4gaWNvbi5pZCA9PT0gJ2NsdXN0ZXItJyArIGNsdXN0ZXJJZFxuICAgICk7XG5cbiAgICBpZiAocHJldmlvdXNDbHVzdGVySWNvbikgcmV0dXJuIHByZXZpb3VzQ2x1c3Rlckljb247XG4gICAgZWxzZSB7XG4gICAgICBjb25zdCBtYXJrZXJFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKG1hcmtlckVsZW1lbnQsICdpZCcsICdjbHVzdGVyLScgKyBjbHVzdGVySWQpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhtYXJrZXJFbGVtZW50LCAnY2x1c3Rlci1pY29uJyk7XG5cbiAgICAgIGNvbnN0IG1hcmtlclN2ZyA9IE1hcE1hcmtlckljb25IZWxwZXIuZ2V0Q2x1c3Rlck1hcmtlcihcbiAgICAgICAgbWFya2VyRGF0YS5kYXRhLmNvdW50LFxuICAgICAgICBmYWxzZVxuICAgICAgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkobWFya2VyRWxlbWVudCwgJ2lubmVySFRNTCcsIG1hcmtlclN2Zyk7XG4gICAgICBjbHVzdGVyRWxlbWVudHMucHVzaChtYXJrZXJFbGVtZW50KTtcblxuICAgICAgdGhpcy5jbHVzdGVyRWxlbWVudHMubmV4dChjbHVzdGVyRWxlbWVudHMpO1xuXG4gICAgICByZXR1cm4gbWFya2VyRWxlbWVudDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Um91dGluZ01hcmtlckljb24oXG4gICAgbWFya2VyRGF0YTogSU1hcE1hcmtlcnMsXG4gICAgc3RvcE51bWJlcjogbnVtYmVyLFxuICAgIHN0b3BUeXBlOiBzdHJpbmcsXG4gICAgaXNTdG9wQ2hlY2tlZD86IGJvb2xlYW4sXG4gICAgaXNMaWdodE1vZGU/OiBib29sZWFuLFxuICAgIGxhYmVsTmFtZT86IHN0cmluZ1xuICApOiBIVE1MRWxlbWVudCB7XG4gICAgY29uc3Qgcm91dGluZ0VsZW1lbnRzID0gdGhpcy5yb3V0aW5nRWxlbWVudHMuZ2V0VmFsdWUoKTtcblxuICAgIGNvbnN0IHJvdXRpbmdJZCA9IHRoaXMuY3JlYXRlUm91dGluZ0lkKG1hcmtlckRhdGEpO1xuXG4gICAgY29uc3QgcHJldmlvdXNDbHVzdGVySWNvbiA9IHJvdXRpbmdFbGVtZW50cy5maW5kKFxuICAgICAgKGljb24pID0+IGljb24uaWQgPT09ICdyb3V0aW5nTWFya2VyLScgKyByb3V0aW5nSWRcbiAgICApO1xuXG4gICAgaWYgKHByZXZpb3VzQ2x1c3Rlckljb24pIHJldHVybiBwcmV2aW91c0NsdXN0ZXJJY29uO1xuICAgIGVsc2Uge1xuICAgICAgY29uc3QgbWFya2VyRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgbWFya2VyRWxlbWVudCxcbiAgICAgICAgJ2lkJyxcbiAgICAgICAgJ3JvdXRpbmdNYXJrZXItJyArIHJvdXRpbmdJZFxuICAgICAgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MobWFya2VyRWxlbWVudCwgJ3JvdXRpbmctaWNvbicpO1xuXG4gICAgICBjb25zdCBtYXJrZXJTdmcgPSBNYXBNYXJrZXJJY29uSGVscGVyLmdldFJvdXRpbmdNYXJrZXJJY29uKFxuICAgICAgICBzdG9wTnVtYmVyLFxuICAgICAgICBzdG9wVHlwZSxcbiAgICAgICAgaXNTdG9wQ2hlY2tlZCxcbiAgICAgICAgaXNMaWdodE1vZGVcbiAgICAgICk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KG1hcmtlckVsZW1lbnQsICdpbm5lckhUTUwnLCBtYXJrZXJTdmcpO1xuXG4gICAgICBpZiAobGFiZWxOYW1lKSB7XG4gICAgICAgIGNvbnN0IG1hcmtlckxhYmVsRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MobWFya2VyTGFiZWxFbGVtZW50LCAnbWFya2VyLWxhYmVsJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkoXG4gICAgICAgICAgbWFya2VyTGFiZWxFbGVtZW50LFxuICAgICAgICAgICdpbm5lckhUTUwnLFxuICAgICAgICAgIGxhYmVsTmFtZS50b1VwcGVyQ2FzZSgpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQobWFya2VyRWxlbWVudCwgbWFya2VyTGFiZWxFbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgcm91dGluZ0VsZW1lbnRzLnB1c2gobWFya2VyRWxlbWVudCk7XG5cbiAgICAgIHRoaXMucm91dGluZ0VsZW1lbnRzLm5leHQocm91dGluZ0VsZW1lbnRzKTtcblxuICAgICAgcmV0dXJuIG1hcmtlckVsZW1lbnQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNyZWF0ZUNsdXN0ZXJJZChjbHVzdGVyRGF0YTogSU1hcE1hcmtlcnMpOiBudW1iZXIge1xuICAgIGNvbnN0IGNsdXN0ZXJNYXJrZXJzID0gdGhpcy5jbHVzdGVyTWFya2VySWRzLmdldFZhbHVlKCk7XG5cbiAgICBjb25zdCBjbHVzdGVySWQgPSBjbHVzdGVyTWFya2Vycy5maW5kKFxuICAgICAgKGl0ZW0pID0+XG4gICAgICAgIGNsdXN0ZXJEYXRhLnBvc2l0aW9uLmxhdCA9PT0gaXRlbS5wb3NpdGlvbi5sYXQgJiZcbiAgICAgICAgY2x1c3RlckRhdGEucG9zaXRpb24ubG5nID09PSBpdGVtLnBvc2l0aW9uLmxuZ1xuICAgICk/LmlkO1xuXG4gICAgaWYgKGNsdXN0ZXJJZCkgcmV0dXJuIGNsdXN0ZXJJZDtcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IG5ld0lkID0gY2x1c3Rlck1hcmtlcnMubGVuZ3RoICsgMTtcblxuICAgICAgY29uc3QgbmV3RGF0YSA9IHtcbiAgICAgICAgLi4uY2x1c3RlckRhdGEsXG4gICAgICAgIGlkOiBuZXdJZCxcbiAgICAgIH07XG5cbiAgICAgIGNsdXN0ZXJNYXJrZXJzLnB1c2gobmV3RGF0YSk7XG4gICAgICB0aGlzLmNsdXN0ZXJNYXJrZXJJZHMubmV4dChjbHVzdGVyTWFya2Vycyk7XG5cbiAgICAgIHJldHVybiBuZXdJZDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlUm91dGluZ0lkKG1hcmtlckRhdGE6IElNYXBNYXJrZXJzKTogbnVtYmVyIHtcbiAgICBjb25zdCByb3V0aW5nTWFya2VycyA9IHRoaXMucm91dGluZ01hcmtlcklkcy5nZXRWYWx1ZSgpO1xuXG4gICAgY29uc3Qgcm91dGluZ0lkID0gcm91dGluZ01hcmtlcnMuZmluZChcbiAgICAgIChpdGVtKSA9PlxuICAgICAgICBtYXJrZXJEYXRhLnBvc2l0aW9uLmxhdCA9PT0gaXRlbS5wb3NpdGlvbi5sYXQgJiZcbiAgICAgICAgbWFya2VyRGF0YS5wb3NpdGlvbi5sbmcgPT09IGl0ZW0ucG9zaXRpb24ubG5nXG4gICAgKT8uaWQ7XG5cbiAgICBpZiAocm91dGluZ0lkKSByZXR1cm4gcm91dGluZ0lkO1xuICAgIGVsc2Uge1xuICAgICAgY29uc3QgbmV3SWQgPSByb3V0aW5nTWFya2Vycy5sZW5ndGggKyAxO1xuXG4gICAgICBjb25zdCBuZXdEYXRhID0ge1xuICAgICAgICAuLi5tYXJrZXJEYXRhLFxuICAgICAgICBpZDogbmV3SWQsXG4gICAgICB9O1xuXG4gICAgICByb3V0aW5nTWFya2Vycy5wdXNoKG5ld0RhdGEpO1xuICAgICAgdGhpcy5yb3V0aW5nTWFya2VySWRzLm5leHQocm91dGluZ01hcmtlcnMpO1xuXG4gICAgICByZXR1cm4gbmV3SWQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlc2V0TWFya2Vyc0RhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5jbHVzdGVyTWFya2VySWRzLm5leHQoW10pO1xuICAgIHRoaXMucm91dGluZ01hcmtlcklkcy5uZXh0KFtdKTtcbiAgICB0aGlzLm1hcmtlckVsZW1lbnRzLm5leHQoW10pO1xuICAgIHRoaXMuY2x1c3RlckVsZW1lbnRzLm5leHQoW10pO1xuICAgIHRoaXMucm91dGluZ0VsZW1lbnRzLm5leHQoW10pO1xuICB9XG59XG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLW1hcmtlci1pY29uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1tYXAvdXRpbHMvc2VydmljZXMvbWFwLW1hcmtlci1pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVuRCxVQUFVO0FBQ1YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWpELFlBQVk7QUFDWixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBUXZELE1BQU0sT0FBTyxvQkFBb0I7SUFZL0IsWUFBWSxlQUFpQztRQVZyQyxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDM0Qsc0JBQWlCLEdBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMvQixxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDM0Qsc0JBQWlCLEdBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMvQixtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUN4RCxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUN6RCxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUcvRCxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxhQUFhLENBQ2xCLFFB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QUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7K0dBMU1VLG9CQUFvQjttSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vLyBIZWxwZXJzXG5pbXBvcnQgeyBNYXBNYXJrZXJJY29uSGVscGVyIH0gZnJvbSAnLi4vaGVscGVycyc7XG5cbi8vIENvbnN0YW50c1xuaW1wb3J0IHsgTWFwTWFya2VySWNvbnNDb25zdGFudHMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG4vLyBNb2RlbHNcbmltcG9ydCB7IElNYXBNYXJrZXJzIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE1hcE1hcmtlckljb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuICBwcml2YXRlIGNsdXN0ZXJNYXJrZXJJZHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElNYXBNYXJrZXJzW10+KFtdKTtcbiAgcHVibGljIGNsdXN0ZXJNYXJrZXJJZHMkOiBPYnNlcnZhYmxlPElNYXBNYXJrZXJzW10+ID1cbiAgICB0aGlzLmNsdXN0ZXJNYXJrZXJJZHMuYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgcm91dGluZ01hcmtlcklkcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SU1hcE1hcmtlcnNbXT4oW10pO1xuICBwdWJsaWMgcm91dGluZ01hcmtlcklkcyQ6IE9ic2VydmFibGU8SU1hcE1hcmtlcnNbXT4gPVxuICAgIHRoaXMucm91dGluZ01hcmtlcklkcy5hc09ic2VydmFibGUoKTtcbiAgcHJpdmF0ZSBtYXJrZXJFbGVtZW50cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SFRNTEVsZW1lbnRbXT4oW10pO1xuICBwcml2YXRlIGNsdXN0ZXJFbGVtZW50cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SFRNTEVsZW1lbnRbXT4oW10pO1xuICBwcml2YXRlIHJvdXRpbmdFbGVtZW50cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SFRNTEVsZW1lbnRbXT4oW10pO1xuXG4gIGNvbnN0cnVjdG9yKHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5Mikge1xuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWFya2VySWNvbihcbiAgICBtYXJrZXJJZDogbnVtYmVyLFxuICAgIGxhYmVsTmFtZT86IHN0cmluZyxcbiAgICBpc0Nsb3NlZD86IGJvb2xlYW4sXG4gICAgaXNGYXZvcml0ZT86IGJvb2xlYW4sXG4gICAgaXNBbHdheXNTZWxlY3RlZD86IGJvb2xlYW5cbiAgKTogSFRNTEVsZW1lbnQge1xuICAgIGNvbnN0IG1hcmtlckVsZW1lbnRzID0gdGhpcy5tYXJrZXJFbGVtZW50cy5nZXRWYWx1ZSgpO1xuXG4gICAgY29uc3QgcHJldmlvdXNNYXJrZXJJY29uID0gbWFya2VyRWxlbWVudHMuZmluZChcbiAgICAgIChpY29uKSA9PiBpY29uLmlkID09PSAnbWFya2VyLScgKyBtYXJrZXJJZFxuICAgICk7XG5cbiAgICBpZiAocHJldmlvdXNNYXJrZXJJY29uKSByZXR1cm4gcHJldmlvdXNNYXJrZXJJY29uO1xuICAgIGVsc2Uge1xuICAgICAgY29uc3QgbWFya2VyRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShtYXJrZXJFbGVtZW50LCAnaWQnLCAnbWFya2VyLScgKyBtYXJrZXJJZCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG1hcmtlckVsZW1lbnQsICdtYXJrZXItaWNvbicpO1xuXG4gICAgICBjb25zdCBtYXJrZXJTdmcgPSBpc0Nsb3NlZFxuICAgICAgICA/IE1hcE1hcmtlckljb25zQ29uc3RhbnRzLmNsb3NlZE1hcmtlclxuICAgICAgICA6IGlzRmF2b3JpdGVcbiAgICAgICAgPyBNYXBNYXJrZXJJY29uc0NvbnN0YW50cy5mYXZvcml0ZU1hcmtlclxuICAgICAgICA6IE1hcE1hcmtlckljb25zQ29uc3RhbnRzLmRlZmF1bHRNYXJrZXI7XG5cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkobWFya2VyRWxlbWVudCwgJ2lubmVySFRNTCcsIG1hcmtlclN2Zyk7XG5cbiAgICAgIGlmIChsYWJlbE5hbWUpIHtcbiAgICAgICAgY29uc3QgbWFya2VyTGFiZWxFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhtYXJrZXJMYWJlbEVsZW1lbnQsICdtYXJrZXItbGFiZWwnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgICAgICBtYXJrZXJMYWJlbEVsZW1lbnQsXG4gICAgICAgICAgJ2lubmVySFRNTCcsXG4gICAgICAgICAgbGFiZWxOYW1lLnRvVXBwZXJDYXNlKClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChtYXJrZXJFbGVtZW50LCBtYXJrZXJMYWJlbEVsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNBbHdheXNTZWxlY3RlZClcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhtYXJrZXJFbGVtZW50LCAnc2VsZWN0ZWQtcGVybWFuZW50bHknKTtcblxuICAgICAgbWFya2VyRWxlbWVudHMucHVzaChtYXJrZXJFbGVtZW50KTtcblxuICAgICAgdGhpcy5tYXJrZXJFbGVtZW50cy5uZXh0KG1hcmtlckVsZW1lbnRzKTtcblxuICAgICAgcmV0dXJuIG1hcmtlckVsZW1lbnQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldENsdXN0ZXJNYXJrZXJJY29uKG1hcmtlckRhdGE6IElNYXBNYXJrZXJzKTogSFRNTEVsZW1lbnQge1xuICAgIGNvbnN0IGNsdXN0ZXJFbGVtZW50cyA9IHRoaXMuY2x1c3RlckVsZW1lbnRzLmdldFZhbHVlKCk7XG5cbiAgICBjb25zdCBjbHVzdGVySWQgPSB0aGlzLmNyZWF0ZUNsdXN0ZXJJZChtYXJrZXJEYXRhKTtcblxuICAgIGNvbnN0IHByZXZpb3VzQ2x1c3Rlckljb24gPSBjbHVzdGVyRWxlbWVudHMuZmluZChcbiAgICAgIChpY29uKSA9PiBpY29uLmlkID09PSAnY2x1c3Rlci0nICsgY2x1c3RlcklkXG4gICAgKTtcblxuICAgIGlmIChwcmV2aW91c0NsdXN0ZXJJY29uKSByZXR1cm4gcHJldmlvdXNDbHVzdGVySWNvbjtcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IG1hcmtlckVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUobWFya2VyRWxlbWVudCwgJ2lkJywgJ2NsdXN0ZXItJyArIGNsdXN0ZXJJZCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG1hcmtlckVsZW1lbnQsICdjbHVzdGVyLWljb24nKTtcblxuICAgICAgY29uc3QgbWFya2VyU3ZnID0gTWFwTWFya2VySWNvbkhlbHBlci5nZXRDbHVzdGVyTWFya2VyKFxuICAgICAgICBtYXJrZXJEYXRhLmRhdGEuY291bnQsXG4gICAgICAgIGZhbHNlXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShtYXJrZXJFbGVtZW50LCAnaW5uZXJIVE1MJywgbWFya2VyU3ZnKTtcbiAgICAgIGNsdXN0ZXJFbGVtZW50cy5wdXNoKG1hcmtlckVsZW1lbnQpO1xuXG4gICAgICB0aGlzLmNsdXN0ZXJFbGVtZW50cy5uZXh0KGNsdXN0ZXJFbGVtZW50cyk7XG5cbiAgICAgIHJldHVybiBtYXJrZXJFbGVtZW50O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRSb3V0aW5nTWFya2VySWNvbihcbiAgICBtYXJrZXJEYXRhOiBJTWFwTWFya2VycyxcbiAgICBzdG9wTnVtYmVyOiBudW1iZXIsXG4gICAgc3RvcFR5cGU6IHN0cmluZyxcbiAgICBpc1N0b3BDaGVja2VkPzogYm9vbGVhbixcbiAgICBpc0xpZ2h0TW9kZT86IGJvb2xlYW4sXG4gICAgbGFiZWxOYW1lPzogc3RyaW5nXG4gICk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCByb3V0aW5nRWxlbWVudHMgPSB0aGlzLnJvdXRpbmdFbGVtZW50cy5nZXRWYWx1ZSgpO1xuXG4gICAgY29uc3Qgcm91dGluZ0lkID0gdGhpcy5jcmVhdGVSb3V0aW5nSWQobWFya2VyRGF0YSk7XG5cbiAgICBjb25zdCBwcmV2aW91c0NsdXN0ZXJJY29uID0gcm91dGluZ0VsZW1lbnRzLmZpbmQoXG4gICAgICAoaWNvbikgPT4gaWNvbi5pZCA9PT0gJ3JvdXRpbmdNYXJrZXItJyArIHJvdXRpbmdJZFxuICAgICk7XG5cbiAgICBpZiAocHJldmlvdXNDbHVzdGVySWNvbikgcmV0dXJuIHByZXZpb3VzQ2x1c3Rlckljb247XG4gICAgZWxzZSB7XG4gICAgICBjb25zdCBtYXJrZXJFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICBtYXJrZXJFbGVtZW50LFxuICAgICAgICAnaWQnLFxuICAgICAgICAncm91dGluZ01hcmtlci0nICsgcm91dGluZ0lkXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhtYXJrZXJFbGVtZW50LCAncm91dGluZy1pY29uJyk7XG5cbiAgICAgIGNvbnN0IG1hcmtlclN2ZyA9IE1hcE1hcmtlckljb25IZWxwZXIuZ2V0Um91dGluZ01hcmtlckljb24oXG4gICAgICAgIHN0b3BOdW1iZXIsXG4gICAgICAgIHN0b3BUeXBlLFxuICAgICAgICBpc1N0b3BDaGVja2VkLFxuICAgICAgICBpc0xpZ2h0TW9kZVxuICAgICAgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkobWFya2VyRWxlbWVudCwgJ2lubmVySFRNTCcsIG1hcmtlclN2Zyk7XG5cbiAgICAgIGlmIChsYWJlbE5hbWUpIHtcbiAgICAgICAgY29uc3QgbWFya2VyTGFiZWxFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhtYXJrZXJMYWJlbEVsZW1lbnQsICdtYXJrZXItbGFiZWwnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgICAgICBtYXJrZXJMYWJlbEVsZW1lbnQsXG4gICAgICAgICAgJ2lubmVySFRNTCcsXG4gICAgICAgICAgbGFiZWxOYW1lLnRvVXBwZXJDYXNlKClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChtYXJrZXJFbGVtZW50LCBtYXJrZXJMYWJlbEVsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICByb3V0aW5nRWxlbWVudHMucHVzaChtYXJrZXJFbGVtZW50KTtcblxuICAgICAgdGhpcy5yb3V0aW5nRWxlbWVudHMubmV4dChyb3V0aW5nRWxlbWVudHMpO1xuXG4gICAgICByZXR1cm4gbWFya2VyRWxlbWVudDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlQ2x1c3RlcklkKGNsdXN0ZXJEYXRhOiBJTWFwTWFya2Vycyk6IG51bWJlciB7XG4gICAgY29uc3QgY2x1c3Rlck1hcmtlcnMgPSB0aGlzLmNsdXN0ZXJNYXJrZXJJZHMuZ2V0VmFsdWUoKTtcblxuICAgIGNvbnN0IGNsdXN0ZXJJZCA9IGNsdXN0ZXJNYXJrZXJzLmZpbmQoXG4gICAgICAoaXRlbSkgPT5cbiAgICAgICAgY2x1c3RlckRhdGEucG9zaXRpb24ubGF0ID09PSBpdGVtLnBvc2l0aW9uLmxhdCAmJlxuICAgICAgICBjbHVzdGVyRGF0YS5wb3NpdGlvbi5sbmcgPT09IGl0ZW0ucG9zaXRpb24ubG5nXG4gICAgKT8uaWQ7XG5cbiAgICBpZiAoY2x1c3RlcklkKSByZXR1cm4gY2x1c3RlcklkO1xuICAgIGVsc2Uge1xuICAgICAgY29uc3QgbmV3SWQgPSBjbHVzdGVyTWFya2Vycy5sZW5ndGggKyAxO1xuXG4gICAgICBjb25zdCBuZXdEYXRhID0ge1xuICAgICAgICAuLi5jbHVzdGVyRGF0YSxcbiAgICAgICAgaWQ6IG5ld0lkLFxuICAgICAgfTtcblxuICAgICAgY2x1c3Rlck1hcmtlcnMucHVzaChuZXdEYXRhKTtcbiAgICAgIHRoaXMuY2x1c3Rlck1hcmtlcklkcy5uZXh0KGNsdXN0ZXJNYXJrZXJzKTtcblxuICAgICAgcmV0dXJuIG5ld0lkO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVSb3V0aW5nSWQobWFya2VyRGF0YTogSU1hcE1hcmtlcnMpOiBudW1iZXIge1xuICAgIGNvbnN0IHJvdXRpbmdNYXJrZXJzID0gdGhpcy5yb3V0aW5nTWFya2VySWRzLmdldFZhbHVlKCk7XG5cbiAgICBjb25zdCByb3V0aW5nSWQgPSByb3V0aW5nTWFya2Vycy5maW5kKFxuICAgICAgKGl0ZW0pID0+XG4gICAgICAgIG1hcmtlckRhdGEucG9zaXRpb24ubGF0ID09PSBpdGVtLnBvc2l0aW9uLmxhdCAmJlxuICAgICAgICBtYXJrZXJEYXRhLnBvc2l0aW9uLmxuZyA9PT0gaXRlbS5wb3NpdGlvbi5sbmdcbiAgICApPy5pZDtcblxuICAgIGlmIChyb3V0aW5nSWQpIHJldHVybiByb3V0aW5nSWQ7XG4gICAgZWxzZSB7XG4gICAgICBjb25zdCBuZXdJZCA9IHJvdXRpbmdNYXJrZXJzLmxlbmd0aCArIDE7XG5cbiAgICAgIGNvbnN0IG5ld0RhdGEgPSB7XG4gICAgICAgIC4uLm1hcmtlckRhdGEsXG4gICAgICAgIGlkOiBuZXdJZCxcbiAgICAgIH07XG5cbiAgICAgIHJvdXRpbmdNYXJrZXJzLnB1c2gobmV3RGF0YSk7XG4gICAgICB0aGlzLnJvdXRpbmdNYXJrZXJJZHMubmV4dChyb3V0aW5nTWFya2Vycyk7XG5cbiAgICAgIHJldHVybiBuZXdJZDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVzZXRNYXJrZXJzRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsdXN0ZXJNYXJrZXJJZHMubmV4dChbXSk7XG4gICAgdGhpcy5yb3V0aW5nTWFya2VySWRzLm5leHQoW10pO1xuICAgIHRoaXMubWFya2VyRWxlbWVudHMubmV4dChbXSk7XG4gICAgdGhpcy5jbHVzdGVyRWxlbWVudHMubmV4dChbXSk7XG4gICAgdGhpcy5yb3V0aW5nRWxlbWVudHMubmV4dChbXSk7XG4gIH1cbn1cbiJdfQ==