@citolab/qti-components 6.9.1-beta.7 → 6.9.1-beta.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.
@@ -0,0 +1,1506 @@
1
+ import{d as i,e as n,f as s}from"../chunk-E7TLXHQH.js";var b=`@layer qti-base, qti-components, qti-utilities, qti-variants, qti-extended;
2
+
3
+ :root,
4
+ :host {
5
+ --qti-primary-light: #ffbebe;
6
+ --qti-primary: #f86d70;
7
+ --qti-primary-dark: #a1616a;
8
+
9
+ --qti-secondary-light: #bed4ff;
10
+ --qti-secondary: #6daef8;
11
+ --qti-secondary-dark: #3a449d;
12
+
13
+ --qti-border-thickness: 1.5px;
14
+ --qti-border-style: solid;
15
+ --qti-border-color-gray: #c6cad0; /* Corresponding to border-gray-400 */
16
+ --qti-border-radius-md: 0.375rem;
17
+ --qti-border-radius-lg: 0.5rem;
18
+ --qti-border-radius-full: 9999px;
19
+
20
+ --qti-bg-gray-50: #f9fafb;
21
+ --qti-bg-primary: var(--qti-primary);
22
+ --qti-bg-gray-100: #f3f4f6;
23
+
24
+ --qti-text-gray-500: #6b7280;
25
+ --qti-text-white: white;
26
+
27
+ --qti-padding-sm: 0.125rem; /* py-0.5 */
28
+ --qti-padding-md: 0.5rem; /* py-2 */
29
+ --qti-padding-lg: 0.75rem; /* p-3 */
30
+ --qti-padding-xl: 1rem; /* pl-4 */
31
+
32
+ --qti-font-weight-semibold: 600;
33
+
34
+ --qti-active: blue;
35
+ --qti-focus-color: #bddcff7e;
36
+ --qti-focus-border-width: 5px;
37
+
38
+ --qti-correct: rgb(74 222 128);
39
+ --qti-correct-light: rgb(220 252 231);
40
+ --qti-incorrect: rgb(248 113 113);
41
+ --qti-incorrect-light: rgb(254 226 226);
42
+
43
+ --qti-form-size: 1rem;
44
+ --qti-gap-size: 0.5rem;
45
+ }
46
+
47
+ .chevron {
48
+ background: url("data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E")
49
+ no-repeat center right 6px;
50
+ }
51
+
52
+ .handle {
53
+ background-image: radial-gradient(
54
+ circle at center,
55
+ rgba(0, 0, 0, 0.1) 0,
56
+ rgb(0, 0, 0, 0.1) 2px,
57
+ white 2px,
58
+ white 100%
59
+ );
60
+ background-repeat: repeat-y;
61
+ background-position: left 2px;
62
+ background-size: 14px 8px;
63
+ }
64
+
65
+ .check-mask {
66
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
67
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
68
+ }
69
+
70
+ .bordered {
71
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
72
+ outline: none;
73
+ }
74
+
75
+ .borderinvisible {
76
+ border-color: transparent;
77
+ }
78
+
79
+ .form {
80
+ width: var(--qti-form-size);
81
+ height: var(--qti-form-size);
82
+ align-self: 1;
83
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
84
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
85
+ outline: none;
86
+ }
87
+
88
+ .p-lg {
89
+ padding: var(--qti-padding-md) var(--qti-padding-lg) var(--qti-padding-md) var(--qti-padding-xl); /* Padding shorthand */
90
+ }
91
+
92
+ .button {
93
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
94
+ outline: none;
95
+ border-radius: var(--qti-border-radius-md);
96
+ padding: var(--qti-padding-sm) var(--qti-padding-md); /* Padding shorthand */
97
+ font-weight: var(--qti-font-weight-semibold);
98
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
99
+ outline: none;
100
+ }
101
+
102
+ .select {
103
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
104
+ outline: none;
105
+ border-radius: var(--qti-border-radius-md);
106
+ position: relative;
107
+ -webkit-appearance: none;
108
+ -moz-appearance: none;
109
+ appearance: none;
110
+ padding: var(--qti-padding-md) 1.75rem var(--qti-padding-md) var(--qti-padding-lg); /* Padding shorthand */ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray); outline: none; background: url("data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E")
111
+ no-repeat center right 6px;
112
+ }
113
+
114
+ .text {
115
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
116
+ outline: none;
117
+ border-radius: 0;
118
+ cursor: text;
119
+ padding: var(--qti-padding-lg); /* Equal padding on all sides */
120
+ background: unset;
121
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
122
+ outline: none;
123
+ }
124
+
125
+ .spot {
126
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
127
+ outline: none;
128
+ width: 100%;
129
+ height: 100%;
130
+ background-color: transparent;
131
+ padding: 0;
132
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
133
+ outline: none;
134
+ }
135
+
136
+ /* qti-select-point-interaction */
137
+
138
+ .point {
139
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
140
+ border-radius: var(--qti-border-radius-full);
141
+ outline: none;
142
+ width: 1.5rem; /* w-6 */
143
+ height: 1.5rem;
144
+ background-color: transparent;
145
+ padding: 0;
146
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
147
+ outline: none;
148
+ }
149
+
150
+ .drag {
151
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
152
+ outline: none;
153
+ padding: var(--qti-padding-md) var(--qti-padding-lg) var(--qti-padding-md) var(--qti-padding-xl); /* Padding shorthand */
154
+ border-radius: var(--qti-border-radius-md);
155
+
156
+ cursor: grab;
157
+ background-color: white;
158
+ font-weight: var(--qti-font-weight-semibold);
159
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
160
+ outline: none;
161
+ background-image: radial-gradient(
162
+ circle at center,
163
+ rgba(0, 0, 0, 0.1) 0,
164
+ rgb(0, 0, 0, 0.1) 2px,
165
+ white 2px,
166
+ white 100%
167
+ );
168
+ background-repeat: repeat-y;
169
+ background-position: left 2px;
170
+ background-size: 14px 8px;
171
+ }
172
+
173
+ .drop {
174
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
175
+ outline: none;
176
+ border-radius: var(--qti-border-radius-lg);
177
+ position: relative;
178
+ background-color: var(--qti-bg-gray-50);
179
+ margin: 1px; /* m-px */ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray); outline: none;
180
+ }
181
+
182
+ .order {
183
+ background-color: var(--qti-bg-primary);
184
+ border-radius: var(--qti-border-radius-full);
185
+ width: 1.5rem; /* w-6 */
186
+ height: 1.5rem;
187
+ color: var(--qti-text-white);
188
+ }
189
+
190
+ .check-size {
191
+ width: calc(var(--qti-form-size) - 4px);
192
+ height: calc(var(--qti-form-size) - 4px);
193
+ }
194
+
195
+ .check {
196
+ /* display: flex; */
197
+ /* align-items: center; */
198
+ gap: 0.5rem;
199
+ padding: var(--qti-padding-md) var(--qti-padding-md); /* Padding shorthand */
200
+ outline: none;
201
+ border-radius: var(--qti-border-radius-md);
202
+ cursor: pointer;
203
+ }
204
+
205
+ .check-radio {
206
+ border-radius: var(--qti-border-radius-full);
207
+ width: var(--qti-form-size);
208
+ height: var(--qti-form-size);
209
+ align-self: 1;
210
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
211
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
212
+ outline: none;
213
+ }
214
+
215
+ .check-radio-checked {
216
+ background-color: var(--qti-bg-primary);
217
+ border-radius: var(--qti-border-radius-full);
218
+ }
219
+
220
+ .check-checkbox {
221
+ border-radius: var(--qti-border-radius-md);
222
+ width: var(--qti-form-size);
223
+ height: var(--qti-form-size);
224
+ align-self: 1;
225
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
226
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
227
+ outline: none;
228
+ }
229
+
230
+ .check-checkbox-checked {
231
+ background-color: var(--qti-bg-primary);
232
+ -webkit-mask-image: var(--check-mask);
233
+ mask-image: var(--check-mask); /* check-mask */ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E"); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
234
+ }
235
+
236
+ .hov {
237
+ background-color: var(--qti-bg-gray-50);
238
+ }
239
+
240
+ .foc {
241
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
242
+ }
243
+
244
+ .act {
245
+ border-color: var(--qti-bg-primary); /* border-primary */
246
+ }
247
+
248
+ .rdo {
249
+ cursor: pointer;
250
+ background-color: white;
251
+ outline: 0;
252
+ border: none;
253
+ }
254
+
255
+ .dis {
256
+ cursor: not-allowed;
257
+ background-color: var(--qti-bg-gray-100);
258
+ color: var(--qti-text-gray-500);
259
+ border-color: var(--qti-border-color-gray);
260
+ }
261
+
262
+ /* base */
263
+
264
+ @layer qti-base {
265
+ .qti-layout-row {
266
+ display: flex;
267
+ flex-wrap: wrap;
268
+ width: 100%;
269
+ gap: 2.1276595745%;
270
+ }
271
+
272
+ .qti-layout-row [class*='qti-layout-col'] {
273
+ box-sizing: border-box;
274
+ }
275
+
276
+ .qti-layout-col1 {
277
+ width: 6.3829787234%;
278
+ }
279
+ .qti-layout-col2 {
280
+ width: 14.8936170213%;
281
+ }
282
+ .qti-layout-col3 {
283
+ width: 23.4042553191%;
284
+ }
285
+ .qti-layout-col4 {
286
+ width: 31.914893617%;
287
+ }
288
+ .qti-layout-col5 {
289
+ width: 40.4255319149%;
290
+ }
291
+ .qti-layout-col6 {
292
+ width: 48.9361702128%;
293
+ }
294
+ .qti-layout-col7 {
295
+ width: 57.4468085106%;
296
+ }
297
+ .qti-layout-col8 {
298
+ width: 65.9574468085%;
299
+ }
300
+ .qti-layout-col9 {
301
+ width: 74.4680851064%;
302
+ }
303
+ .qti-layout-col10 {
304
+ width: 82.9787234043%;
305
+ }
306
+ .qti-layout-col11 {
307
+ width: 91.4893617021%;
308
+ }
309
+ .qti-layout-col12 {
310
+ width: 100%;
311
+ }
312
+
313
+ .qti-layout-offset1 {
314
+ margin-left: 8.5106382979%;
315
+ }
316
+ .qti-layout-offset2 {
317
+ margin-left: 17.0212765957%;
318
+ }
319
+ .qti-layout-offset3 {
320
+ margin-left: 25.5319148936%;
321
+ }
322
+ .qti-layout-offset4 {
323
+ margin-left: 34.0425531915%;
324
+ }
325
+ .qti-layout-offset5 {
326
+ margin-left: 42.5531914894%;
327
+ }
328
+ .qti-layout-offset6 {
329
+ margin-left: 51.0638297872%;
330
+ }
331
+ .qti-layout-offset7 {
332
+ margin-left: 59.5744680851%;
333
+ }
334
+ .qti-layout-offset8 {
335
+ margin-left: 68.085106383%;
336
+ }
337
+ .qti-layout-offset9 {
338
+ margin-left: 76.5957446809%;
339
+ }
340
+ .qti-layout-offset10 {
341
+ margin-left: 85.1063829787%;
342
+ }
343
+ .qti-layout-offset11 {
344
+ margin-left: 93.6170212766%;
345
+ }
346
+ .qti-layout-offset12 {
347
+ margin-left: 102.1276595745%;
348
+ }
349
+
350
+ @media (max-width: 767px) {
351
+ [class*='qti-layout-col'] {
352
+ width: 100%;
353
+ }
354
+ }
355
+ }
356
+
357
+ [view],
358
+ qti-outcome-declaration,
359
+ qti-response-declaration {
360
+ display: none;
361
+ }
362
+
363
+ [view].show {
364
+ display: block;
365
+ }
366
+
367
+ :host {
368
+ box-sizing: border-box;
369
+ }
370
+
371
+ *,
372
+ *:before,
373
+ *:after {
374
+ box-sizing: inherit;
375
+ }
376
+
377
+ [popover] {
378
+ position: fixed;
379
+ inset: 0;
380
+ margin: auto;
381
+ border: solid;
382
+ padding: 0.25em;
383
+ overflow: auto;
384
+ color: CanvasText;
385
+ background-color: Canvas;
386
+ }
387
+
388
+ [popovertarget] {
389
+ all: unset;
390
+ cursor: pointer;
391
+ }
392
+
393
+ /* components */
394
+
395
+ @layer qti-components {
396
+ qti-choice-interaction {
397
+ &.qti-input-control-hidden {
398
+ & qti-simple-choice {
399
+ &:hover {
400
+ background-color: var(--qti-bg-gray-50);
401
+ }
402
+ &:focus {
403
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
404
+ }
405
+ &::part(ch) {
406
+ display: none;
407
+ }
408
+ &[aria-checked='true'] {
409
+ border-color: var(--qti-bg-primary);
410
+ }
411
+ &[aria-readonly='true'] {
412
+ cursor: pointer;
413
+ background-color: white;
414
+ outline: 0;
415
+ border: none;
416
+ }
417
+ &[aria-disabled='true'] {
418
+ cursor: not-allowed;
419
+ background-color: var(--qti-bg-gray-100);
420
+ color: var(--qti-text-gray-500);
421
+ border-color: var(--qti-border-color-gray);
422
+ }
423
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
424
+ outline: none;
425
+ border-radius: var(--qti-border-radius-md);
426
+ padding: var(--qti-padding-sm) var(--qti-padding-md);
427
+ font-weight: var(--qti-font-weight-semibold);
428
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
429
+ outline: none
430
+ }
431
+ }
432
+ &:not(.qti-input-control-hidden) {
433
+ & qti-simple-choice {
434
+ &:hover {
435
+ background-color: var(--qti-bg-gray-50);
436
+ }
437
+ &:focus {
438
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
439
+ }
440
+ &[aria-checked='true'] {
441
+ border-color: var(--qti-bg-primary);
442
+ }
443
+ &[aria-readonly='true'] {
444
+ cursor: pointer;
445
+ background-color: white;
446
+ outline: 0;
447
+ border: none;
448
+ }
449
+ &[aria-disabled='true'] {
450
+ cursor: not-allowed;
451
+ background-color: var(--qti-bg-gray-100);
452
+ color: var(--qti-text-gray-500);
453
+ border-color: var(--qti-border-color-gray);
454
+ }
455
+
456
+ &::part(cha) {
457
+ width: calc(var(--qti-form-size) - 4px);
458
+ height: calc(var(--qti-form-size) - 4px);
459
+ }
460
+ &[role='radio']::part(ch) {
461
+ border-radius: var(--qti-border-radius-full);
462
+ width: var(--qti-form-size);
463
+ height: var(--qti-form-size);
464
+ align-self: 1;
465
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
466
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
467
+ outline: none;
468
+ }
469
+ &[role='radio'][aria-checked='true']::part(cha) {
470
+ background-color: var(--qti-bg-primary);
471
+ border-radius: var(--qti-border-radius-full);
472
+ }
473
+ &[role='checkbox']::part(ch) {
474
+ border-radius: var(--qti-border-radius-md);
475
+ width: var(--qti-form-size);
476
+ height: var(--qti-form-size);
477
+ align-self: 1;
478
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
479
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
480
+ outline: none;
481
+ }
482
+ &[role='checkbox'][aria-checked='true']::part(cha) {
483
+ background-color: var(--qti-bg-primary);
484
+ -webkit-mask-image: var(--check-mask);
485
+ mask-image: var(--check-mask);
486
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
487
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
488
+ }
489
+ gap: 0.5rem;
490
+ padding: var(--qti-padding-md) var(--qti-padding-md);
491
+ outline: none;
492
+ border-radius: var(--qti-border-radius-md);
493
+ cursor: pointer
494
+ }
495
+ }
496
+ & qti-simple-choice {
497
+ &[data-correct-response='true'] {
498
+ &::after {
499
+ content: '\\02714';
500
+ color: #16a34a; /* text-green-600 */
501
+ }
502
+ }
503
+ }
504
+
505
+ & qti-simple-choice > p {
506
+ margin: 0;
507
+ padding: 0;
508
+ }
509
+ }
510
+
511
+ qti-text-entry-interaction {
512
+ &:hover {
513
+ background-color: var(--qti-bg-gray-50);
514
+ }
515
+ &:focus-within {
516
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
517
+ }
518
+ &::part(input) {
519
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
520
+ outline: none;
521
+ border-radius: 0;
522
+ cursor: text;
523
+ padding: var(--qti-padding-lg);
524
+ background: unset;
525
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
526
+ outline: none;
527
+ }
528
+ }
529
+
530
+ qti-extended-text-interaction {
531
+ &::part(textarea) {
532
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
533
+ outline: none;
534
+ border-radius: 0;
535
+ cursor: text;
536
+ padding: var(--qti-padding-lg);
537
+ background: unset;
538
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
539
+ outline: none;
540
+ }
541
+ &:hover {
542
+ background-color: var(--qti-bg-gray-50);
543
+ }
544
+ &:focus-within {
545
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
546
+ }
547
+ }
548
+
549
+ qti-gap-match-interaction {
550
+ & qti-gap-text {
551
+
552
+ &:hover {
553
+ background-color: var(--qti-bg-gray-50);
554
+ }
555
+ &:focus {
556
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
557
+ }
558
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
559
+ outline: none;
560
+ padding: var(--qti-padding-md) var(--qti-padding-lg) var(--qti-padding-md) var(--qti-padding-xl);
561
+ border-radius: var(--qti-border-radius-md);
562
+ cursor: grab;
563
+ background-color: white;
564
+ font-weight: var(--qti-font-weight-semibold);
565
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
566
+ outline: none;
567
+ background-image: radial-gradient(
568
+ circle at center,
569
+ rgba(0, 0, 0, 0.1) 0,
570
+ rgb(0, 0, 0, 0.1) 2px,
571
+ white 2px,
572
+ white 100%
573
+ );
574
+ background-repeat: repeat-y;
575
+ background-position: left 2px;
576
+ background-size: 14px 8px
577
+ }
578
+ & qti-gap {
579
+ display: inline-flex;
580
+ width: 8rem; /* w-32 */
581
+ &:empty:after {
582
+ padding: var(--qti-padding-md) var(--qti-padding-lg); /* Padding shorthand */
583
+ content: '\\0000a0'; /* when empty, put a space in it */
584
+ }
585
+ &:not(:empty) {
586
+ display: inline-flex;
587
+ padding: 0;
588
+ width: auto;
589
+ }
590
+ &:not(:empty) > * {
591
+ flex: 1;
592
+ transform: rotate(0); /* rotate-0 */
593
+ box-shadow: 0 0 0 1px #e5e7eb; /* ring-gray-200 */
594
+ }
595
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
596
+ outline: none;
597
+ border-radius: var(--qti-border-radius-lg);
598
+ position: relative;
599
+ background-color: var(--qti-bg-gray-50);
600
+ margin: 1px;
601
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
602
+ outline: none
603
+ }
604
+ }
605
+
606
+ qti-hotspot-interaction {
607
+ & qti-hotspot-choice {
608
+ &[shape='circle'] {
609
+ &:hover {
610
+ background-color: var(--qti-bg-gray-50);
611
+ }
612
+ &:focus {
613
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
614
+ }
615
+ &[aria-checked='true'] {
616
+ border-color: var(--qti-bg-primary);
617
+ }
618
+ &[aria-readonly='true'] {
619
+ cursor: pointer;
620
+ background-color: white;
621
+ outline: 0;
622
+ border: none;
623
+ }
624
+ &[aria-disabled='true'] {
625
+ cursor: not-allowed;
626
+ background-color: var(--qti-bg-gray-100);
627
+ color: var(--qti-text-gray-500);
628
+ border-color: var(--qti-border-color-gray);
629
+ }
630
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
631
+ outline: none;
632
+ width: 100%;
633
+ height: 100%;
634
+ background-color: transparent;
635
+ padding: 0;
636
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
637
+ outline: none
638
+ }
639
+ &[shape='rect'] {
640
+ &:hover {
641
+ background-color: var(--qti-bg-gray-50);
642
+ }
643
+ &:focus {
644
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
645
+ }
646
+ &[aria-checked='true'] {
647
+ border-color: var(--qti-bg-primary);
648
+ }
649
+ &[aria-readonly='true'] {
650
+ cursor: pointer;
651
+ background-color: white;
652
+ outline: 0;
653
+ border: none;
654
+ }
655
+ &[aria-disabled='true'] {
656
+ cursor: not-allowed;
657
+ background-color: var(--qti-bg-gray-100);
658
+ color: var(--qti-text-gray-500);
659
+ border-color: var(--qti-border-color-gray);
660
+ }
661
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
662
+ outline: none;
663
+ width: 100%;
664
+ height: 100%;
665
+ background-color: transparent;
666
+ padding: 0;
667
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
668
+ outline: none
669
+ }
670
+ &[shape='poly'] {
671
+ &:hover::after {
672
+ content: '';
673
+ width: 100%;
674
+ height: 100%;
675
+ background: repeating-linear-gradient(
676
+ 45deg,
677
+ var(--qti-primary),
678
+ var(--qti-primary) 5px,
679
+ transparent 5px,
680
+ transparent 10px
681
+ );
682
+ display: block;
683
+ border-color: var(--qti-bg-primary);
684
+ }
685
+
686
+ &[aria-checked='true']:after {
687
+ content: '';
688
+ width: 100%;
689
+ height: 100%;
690
+ background: repeating-linear-gradient(
691
+ 45deg,
692
+ transparent,
693
+ transparent 5px,
694
+ var(--qti-primary) 5px,
695
+ var(--qti-primary) 10px
696
+ );
697
+ display: block;
698
+ border-color: var(--qti-bg-primary);
699
+ }
700
+
701
+ &[aria-checked='true'] {
702
+ border-color: var(--qti-bg-primary);
703
+ }
704
+ &[aria-readonly='true'] {
705
+ cursor: pointer;
706
+ background-color: white;
707
+ outline: 0;
708
+ border: none;
709
+ }
710
+ &[aria-disabled='true'] {
711
+ cursor: not-allowed;
712
+ background-color: var(--qti-bg-gray-100);
713
+ color: var(--qti-text-gray-500);
714
+ border-color: var(--qti-border-color-gray);
715
+ }
716
+ }
717
+ }
718
+ }
719
+
720
+ qti-hottext-interaction {
721
+ qti-hottext {
722
+ display: inline-flex;
723
+ align-items: center;
724
+ }
725
+ /* &:not(.qti-input-control-hidden),
726
+ &:not(.qti-unselected-hidden) { */
727
+ qti-hottext {
728
+ &:hover {
729
+ background-color: var(--qti-bg-gray-50);
730
+ }
731
+ &:focus {
732
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
733
+ }
734
+ &::part(cha) {
735
+ width: calc(var(--qti-form-size) - 4px);
736
+ height: calc(var(--qti-form-size) - 4px);
737
+ }
738
+ &[role='radio']::part(ch) {
739
+ border-radius: var(--qti-border-radius-full);
740
+ width: var(--qti-form-size);
741
+ height: var(--qti-form-size);
742
+ align-self: 1;
743
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
744
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
745
+ outline: none;
746
+ }
747
+ &[role='radio'][aria-checked='true']::part(cha) {
748
+ background-color: var(--qti-bg-primary);
749
+ border-radius: var(--qti-border-radius-full);
750
+ }
751
+ &[role='checkbox']::part(ch) {
752
+ border-radius: var(--qti-border-radius-md);
753
+ width: var(--qti-form-size);
754
+ height: var(--qti-form-size);
755
+ align-self: 1;
756
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
757
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
758
+ outline: none;
759
+ }
760
+ &[role='checkbox'][aria-checked='true']::part(cha) {
761
+ background-color: var(--qti-bg-primary);
762
+ -webkit-mask-image: var(--check-mask);
763
+ mask-image: var(--check-mask);
764
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
765
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
766
+ }
767
+ gap: 0.5rem;
768
+ padding: var(--qti-padding-md) var(--qti-padding-md);
769
+ outline: none;
770
+ border-radius: var(--qti-border-radius-md);
771
+ cursor: pointer
772
+ }
773
+ /* } */
774
+
775
+ &.qti-input-control-hidden {
776
+ qti-hottext {
777
+ /* --qti-padding-md: 0.1rem;
778
+ --qti-padding-lg: 0.2rem;
779
+ --qti-border-radius-md: 0.3rem;
780
+ --qti-border-thickness: 1px;
781
+ --qti-font-weight-semibold: 400; */
782
+ &:hover {
783
+ background-color: var(--qti-bg-gray-50);
784
+ }
785
+ &:focus {
786
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
787
+ }
788
+ /* @layer qti-variants { */
789
+ &::part(ch) {
790
+ display: none;
791
+ }
792
+ &[aria-checked='true'] {
793
+ border-color: var(--qti-bg-primary);
794
+ }
795
+ &[aria-readonly='true'] {
796
+ cursor: pointer;
797
+ background-color: white;
798
+ outline: 0;
799
+ border: none;
800
+ }
801
+ &[aria-disabled='true'] {
802
+ cursor: not-allowed;
803
+ background-color: var(--qti-bg-gray-100);
804
+ color: var(--qti-text-gray-500);
805
+ border-color: var(--qti-border-color-gray);
806
+ }
807
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
808
+ outline: none;
809
+ border-radius: var(--qti-border-radius-md);
810
+ padding: var(--qti-padding-sm) var(--qti-padding-md);
811
+ font-weight: var(--qti-font-weight-semibold);
812
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
813
+ outline: none
814
+ }
815
+ /* } */
816
+ }
817
+
818
+ &.qti-unselected-hidden {
819
+ qti-hottext {
820
+ &:hover {
821
+ background-color: var(--qti-bg-gray-50);
822
+ }
823
+ &:focus {
824
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
825
+ }
826
+ cursor: pointer;
827
+ &::part(ch) {
828
+ display: none;
829
+ }
830
+ &[aria-checked='true'] {
831
+ background-color: var(--qti-primary-light); /* bg-blue-200 */
832
+ }
833
+ &[aria-readonly='true'] {
834
+ cursor: pointer;
835
+ background-color: white;
836
+ outline: 0;
837
+ border: none;
838
+ }
839
+ &[aria-disabled='true'] {
840
+ cursor: not-allowed;
841
+ background-color: var(--qti-bg-gray-100);
842
+ color: var(--qti-text-gray-500);
843
+ border-color: var(--qti-border-color-gray);
844
+ }
845
+ }
846
+ }
847
+ }
848
+
849
+ qti-inline-choice-interaction {
850
+ &::part(select) {
851
+ &:hover {
852
+ background-color: var(--qti-bg-gray-50);
853
+ }
854
+ &:focus {
855
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
856
+ }
857
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
858
+ outline: none;
859
+ border-radius: var(--qti-border-radius-md);
860
+ position: relative;
861
+ -webkit-appearance: none;
862
+ -moz-appearance: none;
863
+ appearance: none;
864
+ padding: var(--qti-padding-md) 1.75rem var(--qti-padding-md) var(--qti-padding-lg);
865
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
866
+ outline: none;
867
+ background: url("data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E")
868
+ no-repeat center right 6px
869
+ }
870
+ }
871
+
872
+ qti-match-interaction:not(.qti-match-tabular) {
873
+ & qti-simple-match-set:first-of-type {
874
+ display: flex;
875
+ flex-wrap: wrap;
876
+ gap: var(--qti-gap-size); /* gap-2 */
877
+ padding-bottom: 1rem; /* pb-4 */
878
+
879
+ & qti-simple-associable-choice {
880
+ &:hover {
881
+ background-color: var(--qti-bg-gray-50);
882
+ }
883
+ &:focus {
884
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
885
+ }
886
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
887
+ outline: none;
888
+ padding: var(--qti-padding-md) var(--qti-padding-lg) var(--qti-padding-md) var(--qti-padding-xl);
889
+ border-radius: var(--qti-border-radius-md);
890
+ cursor: grab;
891
+ background-color: white;
892
+ font-weight: var(--qti-font-weight-semibold);
893
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
894
+ outline: none;
895
+ background-image: radial-gradient(
896
+ circle at center,
897
+ rgba(0, 0, 0, 0.1) 0,
898
+ rgb(0, 0, 0, 0.1) 2px,
899
+ white 2px,
900
+ white 100%
901
+ );
902
+ background-repeat: repeat-y;
903
+ background-position: left 2px;
904
+ background-size: 14px 8px
905
+ }
906
+ }
907
+
908
+ & qti-simple-match-set:last-of-type {
909
+ display: grid;
910
+ grid-auto-columns: 1fr; /* auto-cols-fr */
911
+ grid-auto-flow: column; /* grid-flow-col */
912
+ gap: var(--qti-gap-size); /* gap-2 */
913
+ width: 100%; /* w-full */
914
+
915
+ & qti-simple-associable-choice {
916
+ display: flex;
917
+ flex-direction: column;
918
+ }
919
+
920
+ & qti-simple-associable-choice[enabled] {
921
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
922
+ }
923
+
924
+ & qti-simple-associable-choice[active] {
925
+ border-color: var(--qti-bg-primary);
926
+ }
927
+
928
+ & qti-simple-associable-choice::part(dropslot) {
929
+ &:hover {
930
+ background-color: var(--qti-bg-gray-50);
931
+ }
932
+ &:focus {
933
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
934
+ }
935
+ display: flex;
936
+ flex-direction: column;
937
+ min-height: 6rem;
938
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
939
+ outline: none;
940
+ border-radius: var(--qti-border-radius-lg);
941
+ position: relative;
942
+ background-color: var(--qti-bg-gray-50);
943
+ margin: 1px;
944
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
945
+ outline: none;
946
+ }
947
+
948
+ & qti-simple-associable-choice > qti-simple-associable-choice::part(dropslot) {
949
+ display: none;
950
+ }
951
+
952
+ & qti-simple-associable-choice > *:not(qti-simple-associable-choice) {
953
+ pointer-events: none;
954
+ }
955
+
956
+ & qti-simple-associable-choice > qti-simple-associable-choice {
957
+ &:hover {
958
+ background-color: var(--qti-bg-gray-50);
959
+ }
960
+ &:focus {
961
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
962
+ }
963
+ flex-basis: fit-content;
964
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
965
+ outline: none;
966
+ padding: var(--qti-padding-md) var(--qti-padding-lg) var(--qti-padding-md) var(--qti-padding-xl);
967
+ border-radius: var(--qti-border-radius-md);
968
+ cursor: grab;
969
+ background-color: white;
970
+ font-weight: var(--qti-font-weight-semibold);
971
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
972
+ outline: none;
973
+ background-image: radial-gradient(
974
+ circle at center,
975
+ rgba(0, 0, 0, 0.1) 0,
976
+ rgb(0, 0, 0, 0.1) 2px,
977
+ white 2px,
978
+ white 100%
979
+ );
980
+ background-repeat: repeat-y;
981
+ background-position: left 2px;
982
+ background-size: 14px 8px;
983
+ }
984
+ }
985
+ }
986
+
987
+ qti-order-interaction {
988
+ &::part(qti-simple-choice),
989
+ & qti-simple-choice {
990
+ &:hover {
991
+ background-color: var(--qti-bg-gray-50);
992
+ }
993
+ &:focus {
994
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
995
+ }
996
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
997
+ outline: none;
998
+ padding: var(--qti-padding-md) var(--qti-padding-lg) var(--qti-padding-md) var(--qti-padding-xl);
999
+ border-radius: var(--qti-border-radius-md);
1000
+ cursor: grab;
1001
+ background-color: white;
1002
+ font-weight: var(--qti-font-weight-semibold);
1003
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
1004
+ outline: none;
1005
+ background-image: radial-gradient(
1006
+ circle at center,
1007
+ rgba(0, 0, 0, 0.1) 0,
1008
+ rgb(0, 0, 0, 0.1) 2px,
1009
+ white 2px,
1010
+ white 100%
1011
+ );
1012
+ background-repeat: repeat-y;
1013
+ background-position: left 2px;
1014
+ background-size: 14px 8px
1015
+ }
1016
+ &::part(qti-simple-choice) {
1017
+ display: flex;
1018
+ overflow: hidden;
1019
+ align-items: center;
1020
+ width: 100%;
1021
+ text-overflow: ellipsis;
1022
+ }
1023
+ &::part(drops) {
1024
+ gap: 0.5rem; /* gap-2 */
1025
+ }
1026
+ &::part(drags) {
1027
+ gap: 0.5rem; /* gap-2 */
1028
+ }
1029
+ &::part(drop-list) {
1030
+ &:hover {
1031
+ background-color: var(--qti-bg-gray-50);
1032
+ }
1033
+ &:focus {
1034
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
1035
+ }
1036
+ display: flex;
1037
+ min-height: 4rem;
1038
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
1039
+ outline: none;
1040
+ border-radius: var(--qti-border-radius-lg);
1041
+ position: relative;
1042
+ background-color: var(--qti-bg-gray-50);
1043
+ margin: 1px;
1044
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
1045
+ outline: none;
1046
+ }
1047
+ &::part(active) {
1048
+ border-color: var(--qti-bg-primary);
1049
+ }
1050
+ }
1051
+
1052
+ qti-associate-interaction {
1053
+ &::part(qti-simple-associable-choice),
1054
+ & qti-simple-associable-choice {
1055
+ /* drags in drops */
1056
+ display: flex;
1057
+ overflow: hidden;
1058
+ align-items: center;
1059
+ text-overflow: ellipsis;
1060
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
1061
+ outline: none;
1062
+ padding: var(--qti-padding-md) var(--qti-padding-lg) var(--qti-padding-md) var(--qti-padding-xl);
1063
+ border-radius: var(--qti-border-radius-md);
1064
+ cursor: grab;
1065
+ background-color: white;
1066
+ font-weight: var(--qti-font-weight-semibold);
1067
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
1068
+ outline: none;
1069
+ background-image: radial-gradient(
1070
+ circle at center,
1071
+ rgba(0, 0, 0, 0.1) 0,
1072
+ rgb(0, 0, 0, 0.1) 2px,
1073
+ white 2px,
1074
+ white 100%
1075
+ );
1076
+ background-repeat: repeat-y;
1077
+ background-position: left 2px;
1078
+ background-size: 14px 8px;
1079
+ }
1080
+ &::part(associables-container) {
1081
+ display: flex;
1082
+ justify-content: space-between;
1083
+ background: linear-gradient(
1084
+ 180deg,
1085
+ rgb(0 0 0 / 0%) calc(50% - 1px),
1086
+ var(--qti-border-color-gray) calc(50%),
1087
+ rgb(0 0 0 / 0%) calc(50% + 1px)
1088
+ );
1089
+ }
1090
+ &::part(active) {
1091
+ border-color: var(--qti-bg-primary);
1092
+ }
1093
+ &::part(drop-container) {
1094
+ display: flex;
1095
+ flex-direction: column;
1096
+ gap: var(--qti-gap-size);
1097
+ }
1098
+ &::part(drop-list) {
1099
+ &:focus {
1100
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
1101
+ }
1102
+ display: grid;
1103
+ height: 3rem;
1104
+ min-width: 10rem;
1105
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
1106
+ outline: none;
1107
+ border-radius: var(--qti-border-radius-lg);
1108
+ position: relative;
1109
+ background-color: var(--qti-bg-gray-50);
1110
+ margin: 1px;
1111
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
1112
+ outline: none;
1113
+ }
1114
+ }
1115
+
1116
+ qti-graphic-order-interaction {
1117
+ & qti-hotspot-choice {
1118
+ &:hover {
1119
+ background-color: var(--qti-bg-gray-50);
1120
+ }
1121
+ &:focus {
1122
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
1123
+ }
1124
+ &[aria-checked='true'] {
1125
+ border-color: var(--qti-bg-primary);
1126
+ }
1127
+ &[aria-readonly='true'] {
1128
+ cursor: pointer;
1129
+ background-color: white;
1130
+ outline: 0;
1131
+ border: none;
1132
+ }
1133
+ &[aria-disabled='true'] {
1134
+ cursor: not-allowed;
1135
+ background-color: var(--qti-bg-gray-100);
1136
+ color: var(--qti-text-gray-500);
1137
+ border-color: var(--qti-border-color-gray);
1138
+ }
1139
+ &[aria-ordervalue] {
1140
+ display: flex;
1141
+ justify-content: center;
1142
+ align-items: center;
1143
+ background-color: var(--qti-bg-primary);
1144
+ border-radius: var(--qti-border-radius-full);
1145
+ width: 1.5rem;
1146
+ height: 1.5rem;
1147
+ color: var(--qti-text-white);
1148
+ }
1149
+ &[aria-ordervalue]::after {
1150
+ content: attr(aria-ordervalue) !important;
1151
+ }
1152
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
1153
+ outline: none;
1154
+ width: 100%;
1155
+ height: 100%;
1156
+ background-color: transparent;
1157
+ padding: 0;
1158
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
1159
+ outline: none
1160
+ }
1161
+ }
1162
+
1163
+ qti-graphic-associate-interaction {
1164
+ position: relative;
1165
+ display: block;
1166
+
1167
+ & qti-associable-hotspot {
1168
+ &[shape='circle'] {
1169
+ &:hover {
1170
+ background-color: var(--qti-bg-gray-50);
1171
+ }
1172
+ &:focus {
1173
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
1174
+ }
1175
+ &[aria-checked='true'] {
1176
+ border-color: var(--qti-bg-primary);
1177
+ }
1178
+ &[aria-readonly='true'] {
1179
+ cursor: pointer;
1180
+ background-color: white;
1181
+ outline: 0;
1182
+ border: none;
1183
+ }
1184
+ &[aria-disabled='true'] {
1185
+ cursor: not-allowed;
1186
+ background-color: var(--qti-bg-gray-100);
1187
+ color: var(--qti-text-gray-500);
1188
+ border-color: var(--qti-border-color-gray);
1189
+ }
1190
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
1191
+ outline: none;
1192
+ width: 100%;
1193
+ height: 100%;
1194
+ background-color: transparent;
1195
+ padding: 0;
1196
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
1197
+ outline: none
1198
+ }
1199
+
1200
+ &[shape='square'] {
1201
+ &:hover {
1202
+ background-color: var(--qti-bg-gray-50);
1203
+ }
1204
+ &:focus {
1205
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
1206
+ }
1207
+ &[aria-checked='true'] {
1208
+ border-color: var(--qti-bg-primary);
1209
+ }
1210
+ &[aria-readonly='true'] {
1211
+ cursor: pointer;
1212
+ background-color: white;
1213
+ outline: 0;
1214
+ border: none;
1215
+ }
1216
+ &[aria-disabled='true'] {
1217
+ cursor: not-allowed;
1218
+ background-color: var(--qti-bg-gray-100);
1219
+ color: var(--qti-text-gray-500);
1220
+ border-color: var(--qti-border-color-gray);
1221
+ }
1222
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
1223
+ outline: none;
1224
+ width: 100%;
1225
+ height: 100%;
1226
+ background-color: transparent;
1227
+ padding: 0;
1228
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
1229
+ outline: none
1230
+ }
1231
+ }
1232
+ }
1233
+
1234
+ qti-graphic-gap-match-interaction {
1235
+ position: relative;
1236
+ & img {
1237
+ margin: 0;
1238
+ padding: 0;
1239
+ }
1240
+ }
1241
+
1242
+ qti-slider-interaction {
1243
+ display: block;
1244
+
1245
+ --qti-tick-color: rgb(229 231 235 / 1);
1246
+ --qti-tick-width: 1px;
1247
+
1248
+ &::part(slider) {
1249
+ margin-left: 2rem; /* mx-8 */
1250
+ margin-right: 2rem;
1251
+ padding-bottom: 1rem; /* pb-4 */
1252
+ padding-top: 1.25rem; /* pt-5 */
1253
+ }
1254
+
1255
+ --show-bounds: true;
1256
+ &::part(bounds) {
1257
+ display: flex;
1258
+ width: 100%;
1259
+ justify-content: space-between;
1260
+ margin-bottom: 0.5rem; /* mb-2 */
1261
+ }
1262
+
1263
+ --show-ticks: true;
1264
+ &::part(ticks) {
1265
+ margin-left: 0.125rem; /* mx-0.5 */
1266
+ margin-right: 0.125rem;
1267
+ margin-bottom: 0.25rem; /* mb-1 */
1268
+ height: 0.5rem; /* h-2 */
1269
+ background-position: 0 center;
1270
+ background: linear-gradient(to right, var(--qti-tick-color) var(--qti-tick-width), transparent 1px) repeat-x;
1271
+ background-size: calc(calc(100% - var(--qti-tick-width)) / ((var(--max) - var(--min)) / var(--step))) 100%;
1272
+ }
1273
+
1274
+ &::part(rail) {
1275
+ display: flex;
1276
+ align-items: center;
1277
+ box-sizing: border-box;
1278
+ height: 0.375rem; /* h-1.5 */
1279
+ width: 100%;
1280
+ cursor: pointer;
1281
+ border-radius: 9999px; /* rounded-full */
1282
+ border: 1px solid #d1d5db; /* border-gray-300 */
1283
+ background-color: #e5e7eb; /* bg-gray-200 */
1284
+ }
1285
+
1286
+ &::part(knob) {
1287
+ background-color: var(--qti-primary);
1288
+ position: relative;
1289
+ height: 1rem; /* h-4 */
1290
+ width: 1rem; /* w-4 */
1291
+ transform-origin: center;
1292
+ transform: translateX(-50%);
1293
+ cursor: pointer;
1294
+ border-radius: 9999px; /* rounded-full */
1295
+ left: var(--value-percentage);
1296
+ }
1297
+
1298
+ --show-value: true;
1299
+ &::part(value) {
1300
+ position: absolute;
1301
+ bottom: 2rem; /* bottom-8 */
1302
+ left: 0.5rem; /* left-2 */
1303
+ transform: translateX(-50%);
1304
+ cursor: pointer;
1305
+ border-radius: 0.25rem; /* rounded */
1306
+ background-color: #f3f4f6; /* bg-gray-100 */
1307
+ padding: 0.25rem 0.5rem; /* px-2 py-1 */
1308
+ text-align: center;
1309
+ color: #6b7280; /* text-gray-500 */
1310
+ }
1311
+ }
1312
+
1313
+ qti-select-point-interaction {
1314
+ &::part(point) {
1315
+ &:hover {
1316
+ background-color: var(--qti-bg-gray-50);
1317
+ }
1318
+ &:focus {
1319
+ outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
1320
+ }
1321
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
1322
+ border-radius: var(--qti-border-radius-full);
1323
+ outline: none;
1324
+ width: 1.5rem;
1325
+ height: 1.5rem;
1326
+ background-color: transparent;
1327
+ padding: 0;
1328
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
1329
+ outline: none;
1330
+ }
1331
+ }
1332
+
1333
+ qti-position-object-stage {
1334
+ & qti-position-object-interaction {
1335
+ /* no styles necessary, only layout styles, defined in the component */
1336
+ }
1337
+ }
1338
+
1339
+ qti-prompt {
1340
+ margin: 0.5rem 0; /* my-2 */
1341
+ display: block;
1342
+ width: 100%;
1343
+ }
1344
+ }
1345
+
1346
+ /* utilities */
1347
+
1348
+ @layer qti-utilities {
1349
+ .qti-underline {
1350
+ text-decoration: underline;
1351
+ }
1352
+
1353
+ .qti-align-left {
1354
+ text-align: left;
1355
+ }
1356
+
1357
+ .qti-align-center {
1358
+ text-align: center;
1359
+ }
1360
+
1361
+ .qti-align-right {
1362
+ text-align: right;
1363
+ }
1364
+
1365
+ .qti-valign-top {
1366
+ vertical-align: top;
1367
+ }
1368
+
1369
+ .qti-valign-middle {
1370
+ vertical-align: middle;
1371
+ }
1372
+
1373
+ .qti-valign-baseline {
1374
+ vertical-align: baseline;
1375
+ }
1376
+
1377
+ .qti-valign-bottom {
1378
+ vertical-align: bottom;
1379
+ }
1380
+
1381
+ .qti-fullwidth {
1382
+ width: 100%;
1383
+ }
1384
+
1385
+ .qti-hidden {
1386
+ display: none;
1387
+ }
1388
+
1389
+ .qti-visually-hidden {
1390
+ position: fixed !important;
1391
+ overflow: hidden;
1392
+ width: 1px;
1393
+ height: 1px;
1394
+ border: 0;
1395
+ margin: -1px;
1396
+ clip: rect(1px 1px 1px 1px);
1397
+ }
1398
+
1399
+ .qti-bordered {
1400
+ padding: 2px;
1401
+ border: 1px solid #888;
1402
+ }
1403
+
1404
+ .qti-well {
1405
+ display: inline-block;
1406
+ padding-top: 0.5rem;
1407
+ padding-bottom: 0.5rem;
1408
+ padding-left: 0.75rem;
1409
+ padding-right: 0.75rem;
1410
+ border-radius: 0.25rem;
1411
+ border-width: 1px;
1412
+ border-color: #d1d5db;
1413
+ color: #4b5563;
1414
+ background-color: #f3f4f6;
1415
+ }
1416
+ }
1417
+
1418
+ /* variants */
1419
+
1420
+ @layer qti-variants {
1421
+ .qti-input-width-1 {
1422
+ width: 1ch;
1423
+ min-width: 1ch;
1424
+ }
1425
+ .qti-input-width-2 {
1426
+ width: 2ch;
1427
+ min-width: 2ch;
1428
+ }
1429
+ .qti-input-width-3 {
1430
+ width: 3ch;
1431
+ min-width: 3ch;
1432
+ }
1433
+ .qti-input-width-4 {
1434
+ width: 4ch;
1435
+ min-width: 4ch;
1436
+ }
1437
+ .qti-input-width-6 {
1438
+ width: 6ch;
1439
+ min-width: 6ch;
1440
+ }
1441
+ .qti-input-width-10 {
1442
+ width: 10ch;
1443
+ min-width: 10ch;
1444
+ }
1445
+ .qti-input-width-15 {
1446
+ width: 15ch;
1447
+ min-width: 15ch;
1448
+ }
1449
+ .qti-input-width-20 {
1450
+ width: 20ch;
1451
+ min-width: 20ch;
1452
+ }
1453
+ .qti-input-width-72 {
1454
+ width: 72ch;
1455
+ min-width: 72ch;
1456
+ }
1457
+ }
1458
+
1459
+ @layer qti-variants {
1460
+ qti-choice-interaction {
1461
+ &.qti-choices-stacking-2 {
1462
+ .grid {
1463
+ display: grid; /* grid */
1464
+ }
1465
+ grid-template-columns: repeat(2, minmax(0, 1fr)); /* grid-cols-2 */
1466
+ qti-prompt {
1467
+ grid-column: span 2 / span 2; /* col-span-2 */
1468
+ }
1469
+ }
1470
+ &.qti-choices-stacking-3 {
1471
+ .grid {
1472
+ display: grid;
1473
+ }
1474
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1475
+ qti-prompt {
1476
+ grid-column: span 3 / span 3;
1477
+ }
1478
+ }
1479
+ &.qti-choices-stacking-4 {
1480
+ .grid {
1481
+ display: grid;
1482
+ }
1483
+ grid-template-columns: repeat(4, minmax(0, 1fr));
1484
+ qti-prompt {
1485
+ grid-column: span 4 / span 4;
1486
+ }
1487
+ }
1488
+ &.qti-choices-stacking-5 {
1489
+ .grid {
1490
+ display: grid;
1491
+ }
1492
+ grid-template-columns: repeat(5, minmax(0, 1fr));
1493
+ qti-prompt {
1494
+ grid-column: span 5 / span 5;
1495
+ }
1496
+ }
1497
+ &.qti-orientation-horizontal {
1498
+ /* is the default layout */
1499
+ }
1500
+ &[orientation='horizontal'] {
1501
+ flex-direction: row;
1502
+ }
1503
+ }
1504
+ }
1505
+ `;var o,e,a,d,l=class extends HTMLElement{constructor(){super(...arguments);n(this,e);n(this,o,null);n(this,d,r=>{r.stopImmediatePropagation(),r.stopPropagation(),this.dispatchEvent(new CustomEvent("qti-item-variables-changed",{bubbles:!1,detail:{variables:i(this,e,a).variables}}))})}set xmlDoc(r){if(!i(this,o)){s(this,o,this.attachShadow({mode:"open"}));let t=new CSSStyleSheet;t.replaceSync(b),i(this,o).adoptedStyleSheets=[t],i(this,o).innerHTML="",i(this,o).addEventListener("qti-interaction-changed",i(this,d)),i(this,o).addEventListener("qti-outcome-changed",i(this,d))}i(this,o).innerHTML="",i(this,o).appendChild(r.cloneNode(!0))}processResponse(){var r,t;(t=(r=i(this,e,a))==null?void 0:r.variables)!=null&&t.processResponse()||console.warn("No qti-assessment-item found")}get variables(){var r;return((r=i(this,e,a))==null?void 0:r.variables)||console.warn("No qti-assessment-item found")}set variables(r){i(this,e,a).variables=r}attributeChangedCallback(r,t,c){switch(r){case"view":break;default:t!==c&&(this[r]=c);break}}};o=new WeakMap,e=new WeakSet,a=function(){return i(this,o).querySelector("qti-assessment-item")||console.warn("No qti-assessment-item found")},d=new WeakMap;customElements.define("qti-item",l);
1506
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5saW5lOi4uLy4uL2l0ZW0uY3NzP2lubGluZSIsICIuLi8uLi9zcmMvbGliL3F0aS1pdGVtL3F0aS1pdGVtLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJAbGF5ZXIgcXRpLWJhc2UsIHF0aS1jb21wb25lbnRzLCBxdGktdXRpbGl0aWVzLCBxdGktdmFyaWFudHMsIHF0aS1leHRlbmRlZDtcblxuOnJvb3QsXG46aG9zdCB7XG4gIC0tcXRpLXByaW1hcnktbGlnaHQ6ICNmZmJlYmU7XG4gIC0tcXRpLXByaW1hcnk6ICNmODZkNzA7XG4gIC0tcXRpLXByaW1hcnktZGFyazogI2ExNjE2YTtcblxuICAtLXF0aS1zZWNvbmRhcnktbGlnaHQ6ICNiZWQ0ZmY7XG4gIC0tcXRpLXNlY29uZGFyeTogIzZkYWVmODtcbiAgLS1xdGktc2Vjb25kYXJ5LWRhcms6ICMzYTQ0OWQ7XG5cbiAgLS1xdGktYm9yZGVyLXRoaWNrbmVzczogMS41cHg7XG4gIC0tcXRpLWJvcmRlci1zdHlsZTogc29saWQ7XG4gIC0tcXRpLWJvcmRlci1jb2xvci1ncmF5OiAjYzZjYWQwOyAvKiBDb3JyZXNwb25kaW5nIHRvIGJvcmRlci1ncmF5LTQwMCAqL1xuICAtLXF0aS1ib3JkZXItcmFkaXVzLW1kOiAwLjM3NXJlbTtcbiAgLS1xdGktYm9yZGVyLXJhZGl1cy1sZzogMC41cmVtO1xuICAtLXF0aS1ib3JkZXItcmFkaXVzLWZ1bGw6IDk5OTlweDtcblxuICAtLXF0aS1iZy1ncmF5LTUwOiAjZjlmYWZiO1xuICAtLXF0aS1iZy1wcmltYXJ5OiB2YXIoLS1xdGktcHJpbWFyeSk7XG4gIC0tcXRpLWJnLWdyYXktMTAwOiAjZjNmNGY2O1xuXG4gIC0tcXRpLXRleHQtZ3JheS01MDA6ICM2YjcyODA7XG4gIC0tcXRpLXRleHQtd2hpdGU6IHdoaXRlO1xuXG4gIC0tcXRpLXBhZGRpbmctc206IDAuMTI1cmVtOyAvKiBweS0wLjUgKi9cbiAgLS1xdGktcGFkZGluZy1tZDogMC41cmVtOyAvKiBweS0yICovXG4gIC0tcXRpLXBhZGRpbmctbGc6IDAuNzVyZW07IC8qIHAtMyAqL1xuICAtLXF0aS1wYWRkaW5nLXhsOiAxcmVtOyAvKiBwbC00ICovXG5cbiAgLS1xdGktZm9udC13ZWlnaHQtc2VtaWJvbGQ6IDYwMDtcblxuICAtLXF0aS1hY3RpdmU6IGJsdWU7XG4gIC0tcXRpLWZvY3VzLWNvbG9yOiAjYmRkY2ZmN2U7XG4gIC0tcXRpLWZvY3VzLWJvcmRlci13aWR0aDogNXB4O1xuXG4gIC0tcXRpLWNvcnJlY3Q6IHJnYig3NCAyMjIgMTI4KTtcbiAgLS1xdGktY29ycmVjdC1saWdodDogcmdiKDIyMCAyNTIgMjMxKTtcbiAgLS1xdGktaW5jb3JyZWN0OiByZ2IoMjQ4IDExMyAxMTMpO1xuICAtLXF0aS1pbmNvcnJlY3QtbGlnaHQ6IHJnYigyNTQgMjI2IDIyNik7XG5cbiAgLS1xdGktZm9ybS1zaXplOiAxcmVtO1xuICAtLXF0aS1nYXAtc2l6ZTogMC41cmVtO1xufVxuXG4uY2hldnJvbiB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgZmlsbD0nY3VycmVudENvbG9yJyB3aWR0aD0nMjInIHZpZXdCb3g9JzAgMCAyMCAyMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBhcmlhLWhpZGRlbj0ndHJ1ZSclM0UlM0NwYXRoIGNsaXAtcnVsZT0nZXZlbm9kZCcgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNNS4yMyA3LjIxYS43NS43NSAwIDAxMS4wNi4wMkwxMCAxMS4xNjhsMy43MS0zLjkzOGEuNzUuNzUgMCAxMTEuMDggMS4wNGwtNC4yNSA0LjVhLjc1Ljc1IDAgMDEtMS4wOCAwbC00LjI1LTQuNWEuNzUuNzUgMCAwMS4wMi0xLjA2eiclM0UlM0MvcGF0aCUzRSUzQy9zdmclM0VcIilcbiAgICBuby1yZXBlYXQgY2VudGVyIHJpZ2h0IDZweDtcbn1cblxuLmhhbmRsZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChcbiAgICBjaXJjbGUgYXQgY2VudGVyLFxuICAgIHJnYmEoMCwgMCwgMCwgMC4xKSAwLFxuICAgIHJnYigwLCAwLCAwLCAwLjEpIDJweCxcbiAgICB3aGl0ZSAycHgsXG4gICAgd2hpdGUgMTAwJVxuICApO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMnB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggOHB4O1xufVxuXG4uY2hlY2stbWFzayB7XG4gIC13ZWJraXQtbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9J2N1cnJlbnRDb2xvcicgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZD0nTTIwLjI4NSAybC0xMS4yODUgMTEuNTY3LTUuMjg2LTUuMDExLTMuNzE0IDMuNzE2IDkgOC43MjggMTUtMTUuMjg1eicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgICBtYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nY3VycmVudENvbG9yJyB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBkPSdNMjAuMjg1IDJsLTExLjI4NSAxMS41NjctNS4yODYtNS4wMTEtMy43MTQgMy43MTYgOSA4LjcyOCAxNS0xNS4yODV6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuXG4uYm9yZGVyZWQge1xuICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uYm9yZGVyaW52aXNpYmxlIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmZvcm0ge1xuICB3aWR0aDogdmFyKC0tcXRpLWZvcm0tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tcXRpLWZvcm0tc2l6ZSk7XG4gIGFsaWduLXNlbGY6IDE7XG4gIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5wLWxnIHtcbiAgcGFkZGluZzogdmFyKC0tcXRpLXBhZGRpbmctbWQpIHZhcigtLXF0aS1wYWRkaW5nLWxnKSB2YXIoLS1xdGktcGFkZGluZy1tZCkgdmFyKC0tcXRpLXBhZGRpbmcteGwpOyAvKiBQYWRkaW5nIHNob3J0aGFuZCAqL1xufVxuXG4uYnV0dG9uIHtcbiAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcXRpLWJvcmRlci1yYWRpdXMtbWQpO1xuICBwYWRkaW5nOiB2YXIoLS1xdGktcGFkZGluZy1zbSkgdmFyKC0tcXRpLXBhZGRpbmctbWQpOyAvKiBQYWRkaW5nIHNob3J0aGFuZCAqL1xuICBmb250LXdlaWdodDogdmFyKC0tcXRpLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNlbGVjdCB7XG4gIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0aS1ib3JkZXItcmFkaXVzLW1kKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICBwYWRkaW5nOiB2YXIoLS1xdGktcGFkZGluZy1tZCkgMS43NXJlbSB2YXIoLS1xdGktcGFkZGluZy1tZCkgdmFyKC0tcXRpLXBhZGRpbmctbGcpOyAvKiBQYWRkaW5nIHNob3J0aGFuZCAqLyBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpOyBvdXRsaW5lOiBub25lOyBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIGZpbGw9J2N1cnJlbnRDb2xvcicgd2lkdGg9JzIyJyB2aWV3Qm94PScwIDAgMjAgMjAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgYXJpYS1oaWRkZW49J3RydWUnJTNFJTNDcGF0aCBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTUuMjMgNy4yMWEuNzUuNzUgMCAwMTEuMDYuMDJMMTAgMTEuMTY4bDMuNzEtMy45MzhhLjc1Ljc1IDAgMTExLjA4IDEuMDRsLTQuMjUgNC41YS43NS43NSAwIDAxLTEuMDggMGwtNC4yNS00LjVhLjc1Ljc1IDAgMDEuMDItMS4wNnonJTNFJTNDL3BhdGglM0UlM0Mvc3ZnJTNFXCIpXG4gICAgbm8tcmVwZWF0IGNlbnRlciByaWdodCA2cHg7XG59XG5cbi50ZXh0IHtcbiAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY3Vyc29yOiB0ZXh0O1xuICBwYWRkaW5nOiB2YXIoLS1xdGktcGFkZGluZy1sZyk7IC8qIEVxdWFsIHBhZGRpbmcgb24gYWxsIHNpZGVzICovXG4gIGJhY2tncm91bmQ6IHVuc2V0O1xuICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uc3BvdCB7XG4gIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiBxdGktc2VsZWN0LXBvaW50LWludGVyYWN0aW9uICovXG5cbi5wb2ludCB7XG4gIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0aS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICBvdXRsaW5lOiBub25lO1xuICB3aWR0aDogMS41cmVtOyAvKiB3LTYgKi9cbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uZHJhZyB7XG4gIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IHZhcigtLXF0aS1wYWRkaW5nLW1kKSB2YXIoLS1xdGktcGFkZGluZy1sZykgdmFyKC0tcXRpLXBhZGRpbmctbWQpIHZhcigtLXF0aS1wYWRkaW5nLXhsKTsgLyogUGFkZGluZyBzaG9ydGhhbmQgKi9cbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcXRpLWJvcmRlci1yYWRpdXMtbWQpO1xuXG4gIGN1cnNvcjogZ3JhYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1xdGktZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoXG4gICAgY2lyY2xlIGF0IGNlbnRlcixcbiAgICByZ2JhKDAsIDAsIDAsIDAuMSkgMCxcbiAgICByZ2IoMCwgMCwgMCwgMC4xKSAycHgsXG4gICAgd2hpdGUgMnB4LFxuICAgIHdoaXRlIDEwMCVcbiAgKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDJweDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNHB4IDhweDtcbn1cblxuLmRyb3Age1xuICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1xdGktYm9yZGVyLXJhZGl1cy1sZyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLWdyYXktNTApO1xuICBtYXJnaW46IDFweDsgLyogbS1weCAqLyBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpOyBvdXRsaW5lOiBub25lO1xufVxuXG4ub3JkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktYmctcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0aS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICB3aWR0aDogMS41cmVtOyAvKiB3LTYgKi9cbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGNvbG9yOiB2YXIoLS1xdGktdGV4dC13aGl0ZSk7XG59XG5cbi5jaGVjay1zaXplIHtcbiAgd2lkdGg6IGNhbGModmFyKC0tcXRpLWZvcm0tc2l6ZSkgLSA0cHgpO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tcXRpLWZvcm0tc2l6ZSkgLSA0cHgpO1xufVxuXG4uY2hlY2sge1xuICAvKiBkaXNwbGF5OiBmbGV4OyAqL1xuICAvKiBhbGlnbi1pdGVtczogY2VudGVyOyAqL1xuICBnYXA6IDAuNXJlbTtcbiAgcGFkZGluZzogdmFyKC0tcXRpLXBhZGRpbmctbWQpIHZhcigtLXF0aS1wYWRkaW5nLW1kKTsgLyogUGFkZGluZyBzaG9ydGhhbmQgKi9cbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcXRpLWJvcmRlci1yYWRpdXMtbWQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jaGVjay1yYWRpbyB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0aS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICB3aWR0aDogdmFyKC0tcXRpLWZvcm0tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tcXRpLWZvcm0tc2l6ZSk7XG4gIGFsaWduLXNlbGY6IDE7XG4gIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5jaGVjay1yYWRpby1jaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLXByaW1hcnkpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1xdGktYm9yZGVyLXJhZGl1cy1mdWxsKTtcbn1cblxuLmNoZWNrLWNoZWNrYm94IHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcXRpLWJvcmRlci1yYWRpdXMtbWQpO1xuICB3aWR0aDogdmFyKC0tcXRpLWZvcm0tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tcXRpLWZvcm0tc2l6ZSk7XG4gIGFsaWduLXNlbGY6IDE7XG4gIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5jaGVjay1jaGVja2JveC1jaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLXByaW1hcnkpO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IHZhcigtLWNoZWNrLW1hc2spO1xuICAgICAgICAgIG1hc2staW1hZ2U6IHZhcigtLWNoZWNrLW1hc2spOyAvKiBjaGVjay1tYXNrICovIC13ZWJraXQtbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9J2N1cnJlbnRDb2xvcicgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZD0nTTIwLjI4NSAybC0xMS4yODUgMTEuNTY3LTUuMjg2LTUuMDExLTMuNzE0IDMuNzE2IDkgOC43MjggMTUtMTUuMjg1eicvJTNFJTNDL3N2ZyUzRVwiKTsgbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9J2N1cnJlbnRDb2xvcicgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZD0nTTIwLjI4NSAybC0xMS4yODUgMTEuNTY3LTUuMjg2LTUuMDExLTMuNzE0IDMuNzE2IDkgOC43MjggMTUtMTUuMjg1eicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLmhvdiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF0aS1iZy1ncmF5LTUwKTtcbn1cblxuLmZvYyB7XG4gIG91dGxpbmU6IHZhcigtLXF0aS1mb2N1cy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXF0aS1mb2N1cy1jb2xvcik7XG59XG5cbi5hY3Qge1xuICBib3JkZXItY29sb3I6IHZhcigtLXF0aS1iZy1wcmltYXJ5KTsgLyogYm9yZGVyLXByaW1hcnkgKi9cbn1cblxuLnJkbyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLmRpcyB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF0aS1iZy1ncmF5LTEwMCk7XG4gIGNvbG9yOiB2YXIoLS1xdGktdGV4dC1ncmF5LTUwMCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbn1cblxuLyogYmFzZSAqL1xuXG5AbGF5ZXIgcXRpLWJhc2Uge1xuICAucXRpLWxheW91dC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGdhcDogMi4xMjc2NTk1NzQ1JTtcbiAgfVxuXG4gIC5xdGktbGF5b3V0LXJvdyBbY2xhc3MqPSdxdGktbGF5b3V0LWNvbCddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLnF0aS1sYXlvdXQtY29sMSB7XG4gICAgd2lkdGg6IDYuMzgyOTc4NzIzNCU7XG4gIH1cbiAgLnF0aS1sYXlvdXQtY29sMiB7XG4gICAgd2lkdGg6IDE0Ljg5MzYxNzAyMTMlO1xuICB9XG4gIC5xdGktbGF5b3V0LWNvbDMge1xuICAgIHdpZHRoOiAyMy40MDQyNTUzMTkxJTtcbiAgfVxuICAucXRpLWxheW91dC1jb2w0IHtcbiAgICB3aWR0aDogMzEuOTE0ODkzNjE3JTtcbiAgfVxuICAucXRpLWxheW91dC1jb2w1IHtcbiAgICB3aWR0aDogNDAuNDI1NTMxOTE0OSU7XG4gIH1cbiAgLnF0aS1sYXlvdXQtY29sNiB7XG4gICAgd2lkdGg6IDQ4LjkzNjE3MDIxMjglO1xuICB9XG4gIC5xdGktbGF5b3V0LWNvbDcge1xuICAgIHdpZHRoOiA1Ny40NDY4MDg1MTA2JTtcbiAgfVxuICAucXRpLWxheW91dC1jb2w4IHtcbiAgICB3aWR0aDogNjUuOTU3NDQ2ODA4NSU7XG4gIH1cbiAgLnF0aS1sYXlvdXQtY29sOSB7XG4gICAgd2lkdGg6IDc0LjQ2ODA4NTEwNjQlO1xuICB9XG4gIC5xdGktbGF5b3V0LWNvbDEwIHtcbiAgICB3aWR0aDogODIuOTc4NzIzNDA0MyU7XG4gIH1cbiAgLnF0aS1sYXlvdXQtY29sMTEge1xuICAgIHdpZHRoOiA5MS40ODkzNjE3MDIxJTtcbiAgfVxuICAucXRpLWxheW91dC1jb2wxMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAucXRpLWxheW91dC1vZmZzZXQxIHtcbiAgICBtYXJnaW4tbGVmdDogOC41MTA2MzgyOTc5JTtcbiAgfVxuICAucXRpLWxheW91dC1vZmZzZXQyIHtcbiAgICBtYXJnaW4tbGVmdDogMTcuMDIxMjc2NTk1NyU7XG4gIH1cbiAgLnF0aS1sYXlvdXQtb2Zmc2V0MyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1LjUzMTkxNDg5MzYlO1xuICB9XG4gIC5xdGktbGF5b3V0LW9mZnNldDQge1xuICAgIG1hcmdpbi1sZWZ0OiAzNC4wNDI1NTMxOTE1JTtcbiAgfVxuICAucXRpLWxheW91dC1vZmZzZXQ1IHtcbiAgICBtYXJnaW4tbGVmdDogNDIuNTUzMTkxNDg5NCU7XG4gIH1cbiAgLnF0aS1sYXlvdXQtb2Zmc2V0NiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUxLjA2MzgyOTc4NzIlO1xuICB9XG4gIC5xdGktbGF5b3V0LW9mZnNldDcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OS41NzQ0NjgwODUxJTtcbiAgfVxuICAucXRpLWxheW91dC1vZmZzZXQ4IHtcbiAgICBtYXJnaW4tbGVmdDogNjguMDg1MTA2MzgzJTtcbiAgfVxuICAucXRpLWxheW91dC1vZmZzZXQ5IHtcbiAgICBtYXJnaW4tbGVmdDogNzYuNTk1NzQ0NjgwOSU7XG4gIH1cbiAgLnF0aS1sYXlvdXQtb2Zmc2V0MTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4NS4xMDYzODI5Nzg3JTtcbiAgfVxuICAucXRpLWxheW91dC1vZmZzZXQxMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkzLjYxNzAyMTI3NjYlO1xuICB9XG4gIC5xdGktbGF5b3V0LW9mZnNldDEyIHtcbiAgICBtYXJnaW4tbGVmdDogMTAyLjEyNzY1OTU3NDUlO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgW2NsYXNzKj0ncXRpLWxheW91dC1jb2wnXSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuW3ZpZXddLFxucXRpLW91dGNvbWUtZGVjbGFyYXRpb24sXG5xdGktcmVzcG9uc2UtZGVjbGFyYXRpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5bdmlld10uc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG46aG9zdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5bcG9wb3Zlcl0ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIGJvcmRlcjogc29saWQ7XG4gIHBhZGRpbmc6IDAuMjVlbTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGNvbG9yOiBDYW52YXNUZXh0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBDYW52YXM7XG59XG5cbltwb3BvdmVydGFyZ2V0XSB7XG4gIGFsbDogdW5zZXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogY29tcG9uZW50cyAqL1xuXG5AbGF5ZXIgcXRpLWNvbXBvbmVudHMge1xuICBxdGktY2hvaWNlLWludGVyYWN0aW9uIHtcbiAgICAmLnF0aS1pbnB1dC1jb250cm9sLWhpZGRlbiB7XG4gICAgICAmIHF0aS1zaW1wbGUtY2hvaWNlIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLWdyYXktNTApO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IHZhcigtLXF0aS1mb2N1cy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXF0aS1mb2N1cy1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgJjo6cGFydChjaCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJlthcmlhLWNoZWNrZWQ9J3RydWUnXSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xdGktYmctcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICAgICAgJlthcmlhLXJlYWRvbmx5PSd0cnVlJ10ge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtZGlzYWJsZWQ9J3RydWUnXSB7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktYmctZ3JheS0xMDApO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1xdGktdGV4dC1ncmF5LTUwMCk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgICB9XG4gICAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0aS1ib3JkZXItcmFkaXVzLW1kKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tcXRpLXBhZGRpbmctc20pIHZhcigtLXF0aS1wYWRkaW5nLW1kKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXF0aS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICAgIG91dGxpbmU6IG5vbmVcbiAgICAgIH1cbiAgICB9XG4gICAgJjpub3QoLnF0aS1pbnB1dC1jb250cm9sLWhpZGRlbikge1xuICAgICAgJiBxdGktc2ltcGxlLWNob2ljZSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF0aS1iZy1ncmF5LTUwKTtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiB2YXIoLS1xdGktZm9jdXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1xdGktZm9jdXMtY29sb3IpO1xuICAgICAgICB9XG4gICAgICAgICZbYXJpYS1jaGVja2VkPSd0cnVlJ10ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcXRpLWJnLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICAgICZbYXJpYS1yZWFkb25seT0ndHJ1ZSddIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJlthcmlhLWRpc2FibGVkPSd0cnVlJ10ge1xuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLWdyYXktMTAwKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tcXRpLXRleHQtZ3JheS01MDApO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OnBhcnQoY2hhKSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGModmFyKC0tcXRpLWZvcm0tc2l6ZSkgLSA0cHgpO1xuICAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1xdGktZm9ybS1zaXplKSAtIDRweCk7XG4gICAgICAgIH1cbiAgICAgICAgJltyb2xlPSdyYWRpbyddOjpwYXJ0KGNoKSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcXRpLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgICAgd2lkdGg6IHZhcigtLXF0aS1mb3JtLXNpemUpO1xuICAgICAgICAgIGhlaWdodDogdmFyKC0tcXRpLWZvcm0tc2l6ZSk7XG4gICAgICAgICAgYWxpZ24tc2VsZjogMTtcbiAgICAgICAgICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmW3JvbGU9J3JhZGlvJ11bYXJpYS1jaGVja2VkPSd0cnVlJ106OnBhcnQoY2hhKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLXByaW1hcnkpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0aS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICB9XG4gICAgICAgICZbcm9sZT0nY2hlY2tib3gnXTo6cGFydChjaCkge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0aS1ib3JkZXItcmFkaXVzLW1kKTtcbiAgICAgICAgICB3aWR0aDogdmFyKC0tcXRpLWZvcm0tc2l6ZSk7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS1xdGktZm9ybS1zaXplKTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAxO1xuICAgICAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgICAgICZbcm9sZT0nY2hlY2tib3gnXVthcmlhLWNoZWNrZWQ9J3RydWUnXTo6cGFydChjaGEpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktYmctcHJpbWFyeSk7XG4gICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB2YXIoLS1jaGVjay1tYXNrKTtcbiAgICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHZhcigtLWNoZWNrLW1hc2spO1xuICAgICAgICAgIC13ZWJraXQtbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9J2N1cnJlbnRDb2xvcicgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZD0nTTIwLjI4NSAybC0xMS4yODUgMTEuNTY3LTUuMjg2LTUuMDExLTMuNzE0IDMuNzE2IDkgOC43MjggMTUtMTUuMjg1eicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgICAgICAgICAgIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdjdXJyZW50Q29sb3InIHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGQ9J00yMC4yODUgMmwtMTEuMjg1IDExLjU2Ny01LjI4Ni01LjAxMS0zLjcxNCAzLjcxNiA5IDguNzI4IDE1LTE1LjI4NXonLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgIH1cbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXF0aS1wYWRkaW5nLW1kKSB2YXIoLS1xdGktcGFkZGluZy1tZCk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0aS1ib3JkZXItcmFkaXVzLW1kKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyXG4gICAgICB9XG4gICAgfVxuICAgICYgcXRpLXNpbXBsZS1jaG9pY2Uge1xuICAgICAgJltkYXRhLWNvcnJlY3QtcmVzcG9uc2U9J3RydWUnXSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnXFwwMjcxNCc7XG4gICAgICAgICAgY29sb3I6ICMxNmEzNGE7IC8qIHRleHQtZ3JlZW4tNjAwICovXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIHF0aS1zaW1wbGUtY2hvaWNlID4gcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gIHF0aS10ZXh0LWVudHJ5LWludGVyYWN0aW9uIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF0aS1iZy1ncmF5LTUwKTtcbiAgICB9XG4gICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgb3V0bGluZTogdmFyKC0tcXRpLWZvY3VzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcXRpLWZvY3VzLWNvbG9yKTtcbiAgICB9XG4gICAgJjo6cGFydChpbnB1dCkge1xuICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgICAgcGFkZGluZzogdmFyKC0tcXRpLXBhZGRpbmctbGcpO1xuICAgICAgYmFja2dyb3VuZDogdW5zZXQ7XG4gICAgICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBxdGktZXh0ZW5kZWQtdGV4dC1pbnRlcmFjdGlvbiB7XG4gICAgJjo6cGFydCh0ZXh0YXJlYSkge1xuICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgICAgcGFkZGluZzogdmFyKC0tcXRpLXBhZGRpbmctbGcpO1xuICAgICAgYmFja2dyb3VuZDogdW5zZXQ7XG4gICAgICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktYmctZ3JheS01MCk7XG4gICAgfVxuICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgIG91dGxpbmU6IHZhcigtLXF0aS1mb2N1cy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXF0aS1mb2N1cy1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgcXRpLWdhcC1tYXRjaC1pbnRlcmFjdGlvbiB7XG4gICAgJiBxdGktZ2FwLXRleHQge1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLWdyYXktNTApO1xuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IHZhcigtLXF0aS1mb2N1cy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXF0aS1mb2N1cy1jb2xvcik7XG4gICAgICB9XG4gICAgICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IHZhcigtLXF0aS1wYWRkaW5nLW1kKSB2YXIoLS1xdGktcGFkZGluZy1sZykgdmFyKC0tcXRpLXBhZGRpbmctbWQpIHZhcigtLXF0aS1wYWRkaW5nLXhsKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0aS1ib3JkZXItcmFkaXVzLW1kKTtcbiAgICAgIGN1cnNvcjogZ3JhYjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXF0aS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChcbiAgICBjaXJjbGUgYXQgY2VudGVyLFxuICAgIHJnYmEoMCwgMCwgMCwgMC4xKSAwLFxuICAgIHJnYigwLCAwLCAwLCAwLjEpIDJweCxcbiAgICB3aGl0ZSAycHgsXG4gICAgd2hpdGUgMTAwJVxuICApO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAycHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggOHB4XG4gICAgfVxuICAgICYgcXRpLWdhcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHdpZHRoOiA4cmVtOyAvKiB3LTMyICovXG4gICAgICAmOmVtcHR5OmFmdGVyIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tcXRpLXBhZGRpbmctbWQpIHZhcigtLXF0aS1wYWRkaW5nLWxnKTsgLyogUGFkZGluZyBzaG9ydGhhbmQgKi9cbiAgICAgICAgY29udGVudDogJ1xcMDAwMGEwJzsgLyogd2hlbiBlbXB0eSwgcHV0IGEgc3BhY2UgaW4gaXQgKi9cbiAgICAgIH1cbiAgICAgICY6bm90KDplbXB0eSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgICAmOm5vdCg6ZW1wdHkpID4gKiB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyAvKiByb3RhdGUtMCAqL1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2U1ZTdlYjsgLyogcmluZy1ncmF5LTIwMCAqL1xuICAgICAgfVxuICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1xdGktYm9yZGVyLXJhZGl1cy1sZyk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktYmctZ3JheS01MCk7XG4gICAgICBtYXJnaW46IDFweDtcbiAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICBvdXRsaW5lOiBub25lXG4gICAgfVxuICB9XG5cbiAgcXRpLWhvdHNwb3QtaW50ZXJhY3Rpb24ge1xuICAgICYgcXRpLWhvdHNwb3QtY2hvaWNlIHtcbiAgICAgICZbc2hhcGU9J2NpcmNsZSddIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLWdyYXktNTApO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IHZhcigtLXF0aS1mb2N1cy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXF0aS1mb2N1cy1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgJlthcmlhLWNoZWNrZWQ9J3RydWUnXSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xdGktYmctcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICAgICAgJlthcmlhLXJlYWRvbmx5PSd0cnVlJ10ge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtZGlzYWJsZWQ9J3RydWUnXSB7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktYmctZ3JheS0xMDApO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1xdGktdGV4dC1ncmF5LTUwMCk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgICB9XG4gICAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgICBvdXRsaW5lOiBub25lXG4gICAgICB9XG4gICAgICAmW3NoYXBlPSdyZWN0J10ge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktYmctZ3JheS01MCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogdmFyKC0tcXRpLWZvY3VzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcXRpLWZvY3VzLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtY2hlY2tlZD0ndHJ1ZSddIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXF0aS1iZy1wcmltYXJ5KTtcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtcmVhZG9ubHk9J3RydWUnXSB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgICAgICZbYXJpYS1kaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF0aS1iZy1ncmF5LTEwMCk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLXF0aS10ZXh0LWdyYXktNTAwKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICAgIH1cbiAgICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICAgIG91dGxpbmU6IG5vbmVcbiAgICAgIH1cbiAgICAgICZbc2hhcGU9J3BvbHknXSB7XG4gICAgICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDQ1ZGVnLFxuICAgICAgICAgICAgdmFyKC0tcXRpLXByaW1hcnkpLFxuICAgICAgICAgICAgdmFyKC0tcXRpLXByaW1hcnkpIDVweCxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50IDVweCxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50IDEwcHhcbiAgICAgICAgICApO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcXRpLWJnLXByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJlthcmlhLWNoZWNrZWQ9J3RydWUnXTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICA0NWRlZyxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50LFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQgNXB4LFxuICAgICAgICAgICAgdmFyKC0tcXRpLXByaW1hcnkpIDVweCxcbiAgICAgICAgICAgIHZhcigtLXF0aS1wcmltYXJ5KSAxMHB4XG4gICAgICAgICAgKTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXF0aS1iZy1wcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZbYXJpYS1jaGVja2VkPSd0cnVlJ10ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcXRpLWJnLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICAgICZbYXJpYS1yZWFkb25seT0ndHJ1ZSddIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJlthcmlhLWRpc2FibGVkPSd0cnVlJ10ge1xuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLWdyYXktMTAwKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tcXRpLXRleHQtZ3JheS01MDApO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHF0aS1ob3R0ZXh0LWludGVyYWN0aW9uIHtcbiAgICBxdGktaG90dGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIC8qICY6bm90KC5xdGktaW5wdXQtY29udHJvbC1oaWRkZW4pLFxuICAgICY6bm90KC5xdGktdW5zZWxlY3RlZC1oaWRkZW4pIHsgKi9cbiAgICBxdGktaG90dGV4dCB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLWdyYXktNTApO1xuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IHZhcigtLXF0aS1mb2N1cy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXF0aS1mb2N1cy1jb2xvcik7XG4gICAgICB9XG4gICAgICAmOjpwYXJ0KGNoYSkge1xuICAgICAgICB3aWR0aDogY2FsYyh2YXIoLS1xdGktZm9ybS1zaXplKSAtIDRweCk7XG4gICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1xdGktZm9ybS1zaXplKSAtIDRweCk7XG4gICAgICB9XG4gICAgICAmW3JvbGU9J3JhZGlvJ106OnBhcnQoY2gpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcXRpLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1xdGktZm9ybS1zaXplKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1xdGktZm9ybS1zaXplKTtcbiAgICAgICAgYWxpZ24tc2VsZjogMTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cbiAgICAgICZbcm9sZT0ncmFkaW8nXVthcmlhLWNoZWNrZWQ9J3RydWUnXTo6cGFydChjaGEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLXByaW1hcnkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1xdGktYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgIH1cbiAgICAgICZbcm9sZT0nY2hlY2tib3gnXTo6cGFydChjaCkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1xdGktYm9yZGVyLXJhZGl1cy1tZCk7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1xdGktZm9ybS1zaXplKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1xdGktZm9ybS1zaXplKTtcbiAgICAgICAgYWxpZ24tc2VsZjogMTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cbiAgICAgICZbcm9sZT0nY2hlY2tib3gnXVthcmlhLWNoZWNrZWQ9J3RydWUnXTo6cGFydChjaGEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLXByaW1hcnkpO1xuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHZhcigtLWNoZWNrLW1hc2spO1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHZhcigtLWNoZWNrLW1hc2spO1xuICAgICAgICAtd2Via2l0LW1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdjdXJyZW50Q29sb3InIHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGQ9J00yMC4yODUgMmwtMTEuMjg1IDExLjU2Ny01LjI4Ni01LjAxMS0zLjcxNCAzLjcxNiA5IDguNzI4IDE1LTE1LjI4NXonLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgICAgICAgbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9J2N1cnJlbnRDb2xvcicgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZD0nTTIwLjI4NSAybC0xMS4yODUgMTEuNTY3LTUuMjg2LTUuMDExLTMuNzE0IDMuNzE2IDkgOC43MjggMTUtMTUuMjg1eicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIH1cbiAgICAgIGdhcDogMC41cmVtO1xuICAgICAgcGFkZGluZzogdmFyKC0tcXRpLXBhZGRpbmctbWQpIHZhcigtLXF0aS1wYWRkaW5nLW1kKTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1xdGktYm9yZGVyLXJhZGl1cy1tZCk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXJcbiAgICB9XG4gICAgLyogfSAqL1xuXG4gICAgJi5xdGktaW5wdXQtY29udHJvbC1oaWRkZW4ge1xuICAgICAgcXRpLWhvdHRleHQge1xuICAgICAgICAvKiAtLXF0aS1wYWRkaW5nLW1kOiAwLjFyZW07XG4gICAgICAgIC0tcXRpLXBhZGRpbmctbGc6IDAuMnJlbTtcbiAgICAgICAgLS1xdGktYm9yZGVyLXJhZGl1cy1tZDogMC4zcmVtO1xuICAgICAgICAtLXF0aS1ib3JkZXItdGhpY2tuZXNzOiAxcHg7XG4gICAgICAgIC0tcXRpLWZvbnQtd2VpZ2h0LXNlbWlib2xkOiA0MDA7ICovXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF0aS1iZy1ncmF5LTUwKTtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiB2YXIoLS1xdGktZm9jdXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1xdGktZm9jdXMtY29sb3IpO1xuICAgICAgICB9XG4gICAgICAgIC8qIEBsYXllciBxdGktdmFyaWFudHMgeyAqL1xuICAgICAgICAmOjpwYXJ0KGNoKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtY2hlY2tlZD0ndHJ1ZSddIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXF0aS1iZy1wcmltYXJ5KTtcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtcmVhZG9ubHk9J3RydWUnXSB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgICAgICZbYXJpYS1kaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF0aS1iZy1ncmF5LTEwMCk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLXF0aS10ZXh0LWdyYXktNTAwKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICAgIH1cbiAgICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcXRpLWJvcmRlci1yYWRpdXMtbWQpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1xdGktcGFkZGluZy1zbSkgdmFyKC0tcXRpLXBhZGRpbmctbWQpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tcXRpLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgICAgb3V0bGluZTogbm9uZVxuICAgICAgfVxuICAgICAgLyogfSAqL1xuICAgIH1cblxuICAgICYucXRpLXVuc2VsZWN0ZWQtaGlkZGVuIHtcbiAgICAgIHF0aS1ob3R0ZXh0IHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLWdyYXktNTApO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IHZhcigtLXF0aS1mb2N1cy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXF0aS1mb2N1cy1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAmOjpwYXJ0KGNoKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtY2hlY2tlZD0ndHJ1ZSddIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktcHJpbWFyeS1saWdodCk7IC8qIGJnLWJsdWUtMjAwICovXG4gICAgICAgIH1cbiAgICAgICAgJlthcmlhLXJlYWRvbmx5PSd0cnVlJ10ge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtZGlzYWJsZWQ9J3RydWUnXSB7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktYmctZ3JheS0xMDApO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1xdGktdGV4dC1ncmF5LTUwMCk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcXRpLWlubGluZS1jaG9pY2UtaW50ZXJhY3Rpb24ge1xuICAgICY6OnBhcnQoc2VsZWN0KSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLWdyYXktNTApO1xuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IHZhcigtLXF0aS1mb2N1cy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXF0aS1mb2N1cy1jb2xvcik7XG4gICAgICB9XG4gICAgICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0aS1ib3JkZXItcmFkaXVzLW1kKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IHZhcigtLXF0aS1wYWRkaW5nLW1kKSAxLjc1cmVtIHZhcigtLXF0aS1wYWRkaW5nLW1kKSB2YXIoLS1xdGktcGFkZGluZy1sZyk7XG4gICAgICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgZmlsbD0nY3VycmVudENvbG9yJyB3aWR0aD0nMjInIHZpZXdCb3g9JzAgMCAyMCAyMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBhcmlhLWhpZGRlbj0ndHJ1ZSclM0UlM0NwYXRoIGNsaXAtcnVsZT0nZXZlbm9kZCcgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNNS4yMyA3LjIxYS43NS43NSAwIDAxMS4wNi4wMkwxMCAxMS4xNjhsMy43MS0zLjkzOGEuNzUuNzUgMCAxMTEuMDggMS4wNGwtNC4yNSA0LjVhLjc1Ljc1IDAgMDEtMS4wOCAwbC00LjI1LTQuNWEuNzUuNzUgMCAwMS4wMi0xLjA2eiclM0UlM0MvcGF0aCUzRSUzQy9zdmclM0VcIilcbiAgICBuby1yZXBlYXQgY2VudGVyIHJpZ2h0IDZweFxuICAgIH1cbiAgfVxuXG4gIHF0aS1tYXRjaC1pbnRlcmFjdGlvbjpub3QoLnF0aS1tYXRjaC10YWJ1bGFyKSB7XG4gICAgJiBxdGktc2ltcGxlLW1hdGNoLXNldDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IHZhcigtLXF0aS1nYXAtc2l6ZSk7IC8qIGdhcC0yICovXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgLyogcGItNCAqL1xuXG4gICAgICAmIHF0aS1zaW1wbGUtYXNzb2NpYWJsZS1jaG9pY2Uge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktYmctZ3JheS01MCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogdmFyKC0tcXRpLWZvY3VzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcXRpLWZvY3VzLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1xdGktcGFkZGluZy1tZCkgdmFyKC0tcXRpLXBhZGRpbmctbGcpIHZhcigtLXF0aS1wYWRkaW5nLW1kKSB2YXIoLS1xdGktcGFkZGluZy14bCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0aS1ib3JkZXItcmFkaXVzLW1kKTtcbiAgICAgICAgY3Vyc29yOiBncmFiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXF0aS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChcbiAgICBjaXJjbGUgYXQgY2VudGVyLFxuICAgIHJnYmEoMCwgMCwgMCwgMC4xKSAwLFxuICAgIHJnYigwLCAwLCAwLCAwLjEpIDJweCxcbiAgICB3aGl0ZSAycHgsXG4gICAgd2hpdGUgMTAwJVxuICApO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggOHB4XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiBxdGktc2ltcGxlLW1hdGNoLXNldDpsYXN0LW9mLXR5cGUge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtYXV0by1jb2x1bW5zOiAxZnI7IC8qIGF1dG8tY29scy1mciAqL1xuICAgICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjsgLyogZ3JpZC1mbG93LWNvbCAqL1xuICAgICAgZ2FwOiB2YXIoLS1xdGktZ2FwLXNpemUpOyAvKiBnYXAtMiAqL1xuICAgICAgd2lkdGg6IDEwMCU7IC8qIHctZnVsbCAqL1xuXG4gICAgICAmIHF0aS1zaW1wbGUtYXNzb2NpYWJsZS1jaG9pY2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuXG4gICAgICAmIHF0aS1zaW1wbGUtYXNzb2NpYWJsZS1jaG9pY2VbZW5hYmxlZF0ge1xuICAgICAgICBvdXRsaW5lOiB2YXIoLS1xdGktZm9jdXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1xdGktZm9jdXMtY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmIHF0aS1zaW1wbGUtYXNzb2NpYWJsZS1jaG9pY2VbYWN0aXZlXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcXRpLWJnLXByaW1hcnkpO1xuICAgICAgfVxuXG4gICAgICAmIHF0aS1zaW1wbGUtYXNzb2NpYWJsZS1jaG9pY2U6OnBhcnQoZHJvcHNsb3QpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLWdyYXktNTApO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IHZhcigtLXF0aS1mb2N1cy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXF0aS1mb2N1cy1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWluLWhlaWdodDogNnJlbTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcXRpLWJvcmRlci1yYWRpdXMtbGcpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF0aS1iZy1ncmF5LTUwKTtcbiAgICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYgcXRpLXNpbXBsZS1hc3NvY2lhYmxlLWNob2ljZSA+IHF0aS1zaW1wbGUtYXNzb2NpYWJsZS1jaG9pY2U6OnBhcnQoZHJvcHNsb3QpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJiBxdGktc2ltcGxlLWFzc29jaWFibGUtY2hvaWNlID4gKjpub3QocXRpLXNpbXBsZS1hc3NvY2lhYmxlLWNob2ljZSkge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJiBxdGktc2ltcGxlLWFzc29jaWFibGUtY2hvaWNlID4gcXRpLXNpbXBsZS1hc3NvY2lhYmxlLWNob2ljZSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF0aS1iZy1ncmF5LTUwKTtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiB2YXIoLS1xdGktZm9jdXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1xdGktZm9jdXMtY29sb3IpO1xuICAgICAgICB9XG4gICAgICAgIGZsZXgtYmFzaXM6IGZpdC1jb250ZW50O1xuICAgICAgICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1xdGktcGFkZGluZy1tZCkgdmFyKC0tcXRpLXBhZGRpbmctbGcpIHZhcigtLXF0aS1wYWRkaW5nLW1kKSB2YXIoLS1xdGktcGFkZGluZy14bCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0aS1ib3JkZXItcmFkaXVzLW1kKTtcbiAgICAgICAgY3Vyc29yOiBncmFiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXF0aS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChcbiAgICBjaXJjbGUgYXQgY2VudGVyLFxuICAgIHJnYmEoMCwgMCwgMCwgMC4xKSAwLFxuICAgIHJnYigwLCAwLCAwLCAwLjEpIDJweCxcbiAgICB3aGl0ZSAycHgsXG4gICAgd2hpdGUgMTAwJVxuICApO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHF0aS1vcmRlci1pbnRlcmFjdGlvbiB7XG4gICAgJjo6cGFydChxdGktc2ltcGxlLWNob2ljZSksXG4gICAgJiBxdGktc2ltcGxlLWNob2ljZSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLWdyYXktNTApO1xuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IHZhcigtLXF0aS1mb2N1cy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXF0aS1mb2N1cy1jb2xvcik7XG4gICAgICB9XG4gICAgICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IHZhcigtLXF0aS1wYWRkaW5nLW1kKSB2YXIoLS1xdGktcGFkZGluZy1sZykgdmFyKC0tcXRpLXBhZGRpbmctbWQpIHZhcigtLXF0aS1wYWRkaW5nLXhsKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0aS1ib3JkZXItcmFkaXVzLW1kKTtcbiAgICAgIGN1cnNvcjogZ3JhYjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXF0aS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChcbiAgICBjaXJjbGUgYXQgY2VudGVyLFxuICAgIHJnYmEoMCwgMCwgMCwgMC4xKSAwLFxuICAgIHJnYigwLCAwLCAwLCAwLjEpIDJweCxcbiAgICB3aGl0ZSAycHgsXG4gICAgd2hpdGUgMTAwJVxuICApO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAycHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggOHB4XG4gICAgfVxuICAgICY6OnBhcnQocXRpLXNpbXBsZS1jaG9pY2UpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuICAgICY6OnBhcnQoZHJvcHMpIHtcbiAgICAgIGdhcDogMC41cmVtOyAvKiBnYXAtMiAqL1xuICAgIH1cbiAgICAmOjpwYXJ0KGRyYWdzKSB7XG4gICAgICBnYXA6IDAuNXJlbTsgLyogZ2FwLTIgKi9cbiAgICB9XG4gICAgJjo6cGFydChkcm9wLWxpc3QpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktYmctZ3JheS01MCk7XG4gICAgICB9XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogdmFyKC0tcXRpLWZvY3VzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcXRpLWZvY3VzLWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtaW4taGVpZ2h0OiA0cmVtO1xuICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1xdGktYm9yZGVyLXJhZGl1cy1sZyk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktYmctZ3JheS01MCk7XG4gICAgICBtYXJnaW46IDFweDtcbiAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAmOjpwYXJ0KGFjdGl2ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xdGktYmctcHJpbWFyeSk7XG4gICAgfVxuICB9XG5cbiAgcXRpLWFzc29jaWF0ZS1pbnRlcmFjdGlvbiB7XG4gICAgJjo6cGFydChxdGktc2ltcGxlLWFzc29jaWFibGUtY2hvaWNlKSxcbiAgICAmIHF0aS1zaW1wbGUtYXNzb2NpYWJsZS1jaG9pY2Uge1xuICAgICAgLyogZHJhZ3MgaW4gZHJvcHMgKi9cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1xdGktcGFkZGluZy1tZCkgdmFyKC0tcXRpLXBhZGRpbmctbGcpIHZhcigtLXF0aS1wYWRkaW5nLW1kKSB2YXIoLS1xdGktcGFkZGluZy14bCk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1xdGktYm9yZGVyLXJhZGl1cy1tZCk7XG4gICAgICBjdXJzb3I6IGdyYWI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1xdGktZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoXG4gICAgY2lyY2xlIGF0IGNlbnRlcixcbiAgICByZ2JhKDAsIDAsIDAsIDAuMSkgMCxcbiAgICByZ2IoMCwgMCwgMCwgMC4xKSAycHgsXG4gICAgd2hpdGUgMnB4LFxuICAgIHdoaXRlIDEwMCVcbiAgKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMnB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNHB4IDhweDtcbiAgICB9XG4gICAgJjo6cGFydChhc3NvY2lhYmxlcy1jb250YWluZXIpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE4MGRlZyxcbiAgICAgICAgcmdiKDAgMCAwIC8gMCUpIGNhbGMoNTAlIC0gMXB4KSxcbiAgICAgICAgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KSBjYWxjKDUwJSksXG4gICAgICAgIHJnYigwIDAgMCAvIDAlKSBjYWxjKDUwJSArIDFweClcbiAgICAgICk7XG4gICAgfVxuICAgICY6OnBhcnQoYWN0aXZlKSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXF0aS1iZy1wcmltYXJ5KTtcbiAgICB9XG4gICAgJjo6cGFydChkcm9wLWNvbnRhaW5lcikge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IHZhcigtLXF0aS1nYXAtc2l6ZSk7XG4gICAgfVxuICAgICY6OnBhcnQoZHJvcC1saXN0KSB7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogdmFyKC0tcXRpLWZvY3VzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcXRpLWZvY3VzLWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICBtaW4td2lkdGg6IDEwcmVtO1xuICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1xdGktYm9yZGVyLXJhZGl1cy1sZyk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktYmctZ3JheS01MCk7XG4gICAgICBtYXJnaW46IDFweDtcbiAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHF0aS1ncmFwaGljLW9yZGVyLWludGVyYWN0aW9uIHtcbiAgICAmIHF0aS1ob3RzcG90LWNob2ljZSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLWdyYXktNTApO1xuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IHZhcigtLXF0aS1mb2N1cy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXF0aS1mb2N1cy1jb2xvcik7XG4gICAgICB9XG4gICAgICAmW2FyaWEtY2hlY2tlZD0ndHJ1ZSddIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xdGktYmctcHJpbWFyeSk7XG4gICAgICB9XG4gICAgICAmW2FyaWEtcmVhZG9ubHk9J3RydWUnXSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICAgICZbYXJpYS1kaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLWJnLWdyYXktMTAwKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXF0aS10ZXh0LWdyYXktNTAwKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgfVxuICAgICAgJlthcmlhLW9yZGVydmFsdWVdIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF0aS1iZy1wcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcXRpLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tcXRpLXRleHQtd2hpdGUpO1xuICAgICAgfVxuICAgICAgJlthcmlhLW9yZGVydmFsdWVdOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoYXJpYS1vcmRlcnZhbHVlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICBvdXRsaW5lOiBub25lXG4gICAgfVxuICB9XG5cbiAgcXRpLWdyYXBoaWMtYXNzb2NpYXRlLWludGVyYWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmIHF0aS1hc3NvY2lhYmxlLWhvdHNwb3Qge1xuICAgICAgJltzaGFwZT0nY2lyY2xlJ10ge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktYmctZ3JheS01MCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogdmFyKC0tcXRpLWZvY3VzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcXRpLWZvY3VzLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtY2hlY2tlZD0ndHJ1ZSddIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXF0aS1iZy1wcmltYXJ5KTtcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtcmVhZG9ubHk9J3RydWUnXSB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgICAgICZbYXJpYS1kaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF0aS1iZy1ncmF5LTEwMCk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLXF0aS10ZXh0LWdyYXktNTAwKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICAgIH1cbiAgICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICAgIG91dGxpbmU6IG5vbmVcbiAgICAgIH1cblxuICAgICAgJltzaGFwZT0nc3F1YXJlJ10ge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktYmctZ3JheS01MCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogdmFyKC0tcXRpLWZvY3VzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcXRpLWZvY3VzLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtY2hlY2tlZD0ndHJ1ZSddIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXF0aS1iZy1wcmltYXJ5KTtcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtcmVhZG9ubHk9J3RydWUnXSB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgICAgICZbYXJpYS1kaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXF0aS1iZy1ncmF5LTEwMCk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLXF0aS10ZXh0LWdyYXktNTAwKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICAgIH1cbiAgICAgICAgYm9yZGVyOiB2YXIoLS1xdGktYm9yZGVyLXRoaWNrbmVzcykgdmFyKC0tcXRpLWJvcmRlci1zdHlsZSkgdmFyKC0tcXRpLWJvcmRlci1jb2xvci1ncmF5KTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICAgIG91dGxpbmU6IG5vbmVcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBxdGktZ3JhcGhpYy1nYXAtbWF0Y2gtaW50ZXJhY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmIGltZyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gIHF0aS1zbGlkZXItaW50ZXJhY3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLS1xdGktdGljay1jb2xvcjogcmdiKDIyOSAyMzEgMjM1IC8gMSk7XG4gICAgLS1xdGktdGljay13aWR0aDogMXB4O1xuXG4gICAgJjo6cGFydChzbGlkZXIpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycmVtOyAvKiBteC04ICovXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgLyogcGItNCAqL1xuICAgICAgcGFkZGluZy10b3A6IDEuMjVyZW07IC8qIHB0LTUgKi9cbiAgICB9XG5cbiAgICAtLXNob3ctYm91bmRzOiB0cnVlO1xuICAgICY6OnBhcnQoYm91bmRzKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IC8qIG1iLTIgKi9cbiAgICB9XG5cbiAgICAtLXNob3ctdGlja3M6IHRydWU7XG4gICAgJjo6cGFydCh0aWNrcykge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMTI1cmVtOyAvKiBteC0wLjUgKi9cbiAgICAgIG1hcmdpbi1yaWdodDogMC4xMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyAvKiBtYi0xICovXG4gICAgICBoZWlnaHQ6IDAuNXJlbTsgLyogaC0yICovXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tcXRpLXRpY2stY29sb3IpIHZhcigtLXF0aS10aWNrLXdpZHRoKSwgdHJhbnNwYXJlbnQgMXB4KSByZXBlYXQteDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYyhjYWxjKDEwMCUgLSB2YXIoLS1xdGktdGljay13aWR0aCkpIC8gKCh2YXIoLS1tYXgpIC0gdmFyKC0tbWluKSkgLyB2YXIoLS1zdGVwKSkpIDEwMCU7XG4gICAgfVxuXG4gICAgJjo6cGFydChyYWlsKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBoZWlnaHQ6IDAuMzc1cmVtOyAvKiBoLTEuNSAqL1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7IC8qIHJvdW5kZWQtZnVsbCAqL1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2QxZDVkYjsgLyogYm9yZGVyLWdyYXktMzAwICovXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlN2ViOyAvKiBiZy1ncmF5LTIwMCAqL1xuICAgIH1cblxuICAgICY6OnBhcnQoa25vYikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcXRpLXByaW1hcnkpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAxcmVtOyAvKiBoLTQgKi9cbiAgICAgIHdpZHRoOiAxcmVtOyAvKiB3LTQgKi9cbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsgLyogcm91bmRlZC1mdWxsICovXG4gICAgICBsZWZ0OiB2YXIoLS12YWx1ZS1wZXJjZW50YWdlKTtcbiAgICB9XG5cbiAgICAtLXNob3ctdmFsdWU6IHRydWU7XG4gICAgJjo6cGFydCh2YWx1ZSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAycmVtOyAvKiBib3R0b20tOCAqL1xuICAgICAgbGVmdDogMC41cmVtOyAvKiBsZWZ0LTIgKi9cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IC8qIHJvdW5kZWQgKi9cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjY7IC8qIGJnLWdyYXktMTAwICovXG4gICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTsgLyogcHgtMiBweS0xICovXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzZiNzI4MDsgLyogdGV4dC1ncmF5LTUwMCAqL1xuICAgIH1cbiAgfVxuXG4gIHF0aS1zZWxlY3QtcG9pbnQtaW50ZXJhY3Rpb24ge1xuICAgICY6OnBhcnQocG9pbnQpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdGktYmctZ3JheS01MCk7XG4gICAgICB9XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogdmFyKC0tcXRpLWZvY3VzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcXRpLWZvY3VzLWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIGJvcmRlcjogdmFyKC0tcXRpLWJvcmRlci10aGlja25lc3MpIHZhcigtLXF0aS1ib3JkZXItc3R5bGUpIHZhcigtLXF0aS1ib3JkZXItY29sb3ItZ3JheSk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1xdGktYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IHZhcigtLXF0aS1ib3JkZXItdGhpY2tuZXNzKSB2YXIoLS1xdGktYm9yZGVyLXN0eWxlKSB2YXIoLS1xdGktYm9yZGVyLWNvbG9yLWdyYXkpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBxdGktcG9zaXRpb24tb2JqZWN0LXN0YWdlIHtcbiAgICAmIHF0aS1wb3NpdGlvbi1vYmplY3QtaW50ZXJhY3Rpb24ge1xuICAgICAgLyogbm8gc3R5bGVzIG5lY2Vzc2FyeSwgb25seSBsYXlvdXQgc3R5bGVzLCBkZWZpbmVkIGluIHRoZSBjb21wb25lbnQgKi9cbiAgICB9XG4gIH1cblxuICBxdGktcHJvbXB0IHtcbiAgICBtYXJnaW46IDAuNXJlbSAwOyAvKiBteS0yICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLyogdXRpbGl0aWVzICovXG5cbkBsYXllciBxdGktdXRpbGl0aWVzIHtcbiAgLnF0aS11bmRlcmxpbmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgLnF0aS1hbGlnbi1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLnF0aS1hbGlnbi1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5xdGktYWxpZ24tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLnF0aS12YWxpZ24tdG9wIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgLnF0aS12YWxpZ24tbWlkZGxlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLnF0aS12YWxpZ24tYmFzZWxpbmUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC5xdGktdmFsaWduLWJvdHRvbSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgfVxuXG4gIC5xdGktZnVsbHdpZHRoIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5xdGktaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnF0aS12aXN1YWxseS1oaWRkZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTtcbiAgfVxuXG4gIC5xdGktYm9yZGVyZWQge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjODg4O1xuICB9XG5cbiAgLnF0aS13ZWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDFkNWRiO1xuICAgIGNvbG9yOiAjNGI1NTYzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjY7XG4gIH1cbn1cblxuLyogdmFyaWFudHMgKi9cblxuQGxheWVyIHF0aS12YXJpYW50cyB7XG4gIC5xdGktaW5wdXQtd2lkdGgtMSB7XG4gICAgd2lkdGg6IDFjaDtcbiAgICBtaW4td2lkdGg6IDFjaDtcbiAgfVxuICAucXRpLWlucHV0LXdpZHRoLTIge1xuICAgIHdpZHRoOiAyY2g7XG4gICAgbWluLXdpZHRoOiAyY2g7XG4gIH1cbiAgLnF0aS1pbnB1dC13aWR0aC0zIHtcbiAgICB3aWR0aDogM2NoO1xuICAgIG1pbi13aWR0aDogM2NoO1xuICB9XG4gIC5xdGktaW5wdXQtd2lkdGgtNCB7XG4gICAgd2lkdGg6IDRjaDtcbiAgICBtaW4td2lkdGg6IDRjaDtcbiAgfVxuICAucXRpLWlucHV0LXdpZHRoLTYge1xuICAgIHdpZHRoOiA2Y2g7XG4gICAgbWluLXdpZHRoOiA2Y2g7XG4gIH1cbiAgLnF0aS1pbnB1dC13aWR0aC0xMCB7XG4gICAgd2lkdGg6IDEwY2g7XG4gICAgbWluLXdpZHRoOiAxMGNoO1xuICB9XG4gIC5xdGktaW5wdXQtd2lkdGgtMTUge1xuICAgIHdpZHRoOiAxNWNoO1xuICAgIG1pbi13aWR0aDogMTVjaDtcbiAgfVxuICAucXRpLWlucHV0LXdpZHRoLTIwIHtcbiAgICB3aWR0aDogMjBjaDtcbiAgICBtaW4td2lkdGg6IDIwY2g7XG4gIH1cbiAgLnF0aS1pbnB1dC13aWR0aC03MiB7XG4gICAgd2lkdGg6IDcyY2g7XG4gICAgbWluLXdpZHRoOiA3MmNoO1xuICB9XG59XG5cbkBsYXllciBxdGktdmFyaWFudHMge1xuICBxdGktY2hvaWNlLWludGVyYWN0aW9uIHtcbiAgICAmLnF0aS1jaG9pY2VzLXN0YWNraW5nLTIge1xuICAgICAgLmdyaWQge1xuICAgICAgICBkaXNwbGF5OiBncmlkOyAvKiBncmlkICovXG4gICAgICB9XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7IC8qIGdyaWQtY29scy0yICovXG4gICAgICBxdGktcHJvbXB0IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMiAvIHNwYW4gMjsgLyogY29sLXNwYW4tMiAqL1xuICAgICAgfVxuICAgIH1cbiAgICAmLnF0aS1jaG9pY2VzLXN0YWNraW5nLTMge1xuICAgICAgLmdyaWQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgfVxuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgICAgcXRpLXByb21wdCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDMgLyBzcGFuIDM7XG4gICAgICB9XG4gICAgfVxuICAgICYucXRpLWNob2ljZXMtc3RhY2tpbmctNCB7XG4gICAgICAuZ3JpZCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICB9XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBxdGktcHJvbXB0IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNCAvIHNwYW4gNDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5xdGktY2hvaWNlcy1zdGFja2luZy01IHtcbiAgICAgIC5ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIH1cbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgIHF0aS1wcm9tcHQge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiA1IC8gc3BhbiA1O1xuICAgICAgfVxuICAgIH1cbiAgICAmLnF0aS1vcmllbnRhdGlvbi1ob3Jpem9udGFsIHtcbiAgICAgIC8qIGlzIHRoZSBkZWZhdWx0IGxheW91dCAqL1xuICAgIH1cbiAgICAmW29yaWVudGF0aW9uPSdob3Jpem9udGFsJ10ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gIH1cbn1cbiIsICJpbXBvcnQgc3R5bGVzIGZyb20gJy4uLy4uL2l0ZW0uY3NzP2lubGluZSc7XG5pbXBvcnQgeyBWYXJpYWJsZVZhbHVlIH0gZnJvbSAnLi4vcXRpLWNvbXBvbmVudHMnO1xuXG5jbGFzcyBRdGlJdGVtIGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICB2aWV3Pzogc3RyaW5nO1xuXG4gICNyZW5kZXJSb290ID0gbnVsbDtcblxuICBzZXQgeG1sRG9jKHhtbDogRG9jdW1lbnRGcmFnbWVudCkge1xuICAgIGlmICghdGhpcy4jcmVuZGVyUm9vdCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHdjL2F0dGFjaC1zaGFkb3ctY29uc3RydWN0b3IsIHdjL25vLWNsb3NlZC1zaGFkb3ctcm9vdFxuICAgICAgdGhpcy4jcmVuZGVyUm9vdCA9IHRoaXMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pOyAvLyBjYW4gbm90IGJlIGNsb3NlZCwgZWxzZSBkcmFnIGFuZCBkcm9wcyB3aWxsIG5vdCB3b3JrXG4gICAgICBjb25zdCBzdHlsZSA9IG5ldyBDU1NTdHlsZVNoZWV0KCk7XG4gICAgICBzdHlsZS5yZXBsYWNlU3luYyhzdHlsZXMpO1xuICAgICAgdGhpcy4jcmVuZGVyUm9vdC5hZG9wdGVkU3R5bGVTaGVldHMgPSBbc3R5bGVdO1xuICAgICAgdGhpcy4jcmVuZGVyUm9vdC5pbm5lckhUTUwgPSAnJzsgLy8gQ2xlYXIgYW55IGV4aXN0aW5nIGNvbnRlbnRcblxuICAgICAgdGhpcy4jcmVuZGVyUm9vdC5hZGRFdmVudExpc3RlbmVyKCdxdGktaW50ZXJhY3Rpb24tY2hhbmdlZCcsIHRoaXMuI3ZhcmlhYmxlc0NoYW5nZWQpO1xuICAgICAgdGhpcy4jcmVuZGVyUm9vdC5hZGRFdmVudExpc3RlbmVyKCdxdGktb3V0Y29tZS1jaGFuZ2VkJywgdGhpcy4jdmFyaWFibGVzQ2hhbmdlZCk7XG4gICAgfVxuXG4gICAgdGhpcy4jcmVuZGVyUm9vdC5pbm5lckhUTUwgPSBgYDtcbiAgICB0aGlzLiNyZW5kZXJSb290LmFwcGVuZENoaWxkKHhtbC5jbG9uZU5vZGUodHJ1ZSkpO1xuICB9XG5cbiAgcHJvY2Vzc1Jlc3BvbnNlKCkge1xuICAgIHRoaXMuI2Fzc2Vzc21lbnRJdGVtPy52YXJpYWJsZXM/LnByb2Nlc3NSZXNwb25zZSgpIHx8IGNvbnNvbGUud2FybignTm8gcXRpLWFzc2Vzc21lbnQtaXRlbSBmb3VuZCcpO1xuICB9XG5cbiAgZ2V0IHZhcmlhYmxlcygpOiBWYXJpYWJsZVZhbHVlPHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbD5bXSB7XG4gICAgcmV0dXJuIHRoaXMuI2Fzc2Vzc21lbnRJdGVtPy52YXJpYWJsZXMgfHwgY29uc29sZS53YXJuKCdObyBxdGktYXNzZXNzbWVudC1pdGVtIGZvdW5kJyk7XG4gIH1cblxuICBzZXQgdmFyaWFibGVzKHZhcmlhYmxlczogVmFyaWFibGVWYWx1ZTxzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGw+W10pIHtcbiAgICB0aGlzLiNhc3Nlc3NtZW50SXRlbS52YXJpYWJsZXMgPSB2YXJpYWJsZXM7XG4gIH1cblxuICBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZTogc3RyaW5nLCBvbGRWYWx1ZTogc3RyaW5nLCBuZXdWYWx1ZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICBjYXNlICd2aWV3JzpcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmIChvbGRWYWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgICAgICB0aGlzW25hbWUgYXMgJ3ZpZXcnXSA9IG5ld1ZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qIFByaXZhdGUgbWV0aG9kcyAqL1xuICBnZXQgI2Fzc2Vzc21lbnRJdGVtKCkge1xuICAgIHJldHVybiB0aGlzLiNyZW5kZXJSb290LnF1ZXJ5U2VsZWN0b3IoJ3F0aS1hc3Nlc3NtZW50LWl0ZW0nKSB8fCBjb25zb2xlLndhcm4oJ05vIHF0aS1hc3Nlc3NtZW50LWl0ZW0gZm91bmQnKTtcbiAgfVxuXG4gICN2YXJpYWJsZXNDaGFuZ2VkID0gKGU6IEN1c3RvbUV2ZW50PGFueT4pID0+IHtcbiAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IEN1c3RvbUV2ZW50KCdxdGktaXRlbS12YXJpYWJsZXMtY2hhbmdlZCcsIHtcbiAgICAgICAgYnViYmxlczogZmFsc2UsXG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIHZhcmlhYmxlczogdGhpcy4jYXNzZXNzbWVudEl0ZW0udmFyaWFibGVzXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfTtcbn1cblxuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdxdGktaXRlbScsIFF0aUl0ZW0pO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgICdxdGktaXRlbSc6IFF0aUl0ZW07XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICJ1REFBQSxJQUFBQSxFQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VDQUEsSUFBQUMsRUFBQUMsRUFBQUMsRUFBQUMsRUFHTUMsRUFBTixjQUFzQixXQUFZLENBQWxDLGtDQUFBQyxFQUFBLEtBQUFKLEdBR0VJLEVBQUEsS0FBQUwsRUFBYyxNQWlEZEssRUFBQSxLQUFBRixFQUFxQkcsR0FBd0IsQ0FDM0NBLEVBQUUseUJBQXlCLEVBQzNCQSxFQUFFLGdCQUFnQixFQUNsQixLQUFLLGNBQ0gsSUFBSSxZQUFZLDZCQUE4QixDQUM1QyxRQUFTLEdBQ1QsT0FBUSxDQUNOLFVBQVdDLEVBQUEsS0FBS04sRUFBQUMsR0FBZ0IsU0FDbEMsQ0FDRixDQUFDLENBQ0gsQ0FDRixHQTFEQSxJQUFJLE9BQU9NLEVBQXVCLENBQ2hDLEdBQUksQ0FBQ0QsRUFBQSxLQUFLUCxHQUFhLENBRXJCUyxFQUFBLEtBQUtULEVBQWMsS0FBSyxhQUFhLENBQUUsS0FBTSxNQUFPLENBQUMsR0FDckQsSUFBTVUsRUFBUSxJQUFJLGNBQ2xCQSxFQUFNLFlBQVlDLENBQU0sRUFDeEJKLEVBQUEsS0FBS1AsR0FBWSxtQkFBcUIsQ0FBQ1UsQ0FBSyxFQUM1Q0gsRUFBQSxLQUFLUCxHQUFZLFVBQVksR0FFN0JPLEVBQUEsS0FBS1AsR0FBWSxpQkFBaUIsMEJBQTJCTyxFQUFBLEtBQUtKLEVBQWlCLEVBQ25GSSxFQUFBLEtBQUtQLEdBQVksaUJBQWlCLHNCQUF1Qk8sRUFBQSxLQUFLSixFQUFpQixDQUNqRixDQUVBSSxFQUFBLEtBQUtQLEdBQVksVUFBWSxHQUM3Qk8sRUFBQSxLQUFLUCxHQUFZLFlBQVlRLEVBQUksVUFBVSxFQUFJLENBQUMsQ0FDbEQsQ0FFQSxpQkFBa0IsQ0F6QnBCLElBQUFJLEVBQUFDLEdBMEJJQSxHQUFBRCxFQUFBTCxFQUFBLEtBQUtOLEVBQUFDLEtBQUwsWUFBQVUsRUFBc0IsWUFBdEIsTUFBQUMsRUFBaUMsbUJBQXFCLFFBQVEsS0FBSyw4QkFBOEIsQ0FDbkcsQ0FFQSxJQUFJLFdBQXVELENBN0I3RCxJQUFBRCxFQThCSSxRQUFPQSxFQUFBTCxFQUFBLEtBQUtOLEVBQUFDLEtBQUwsWUFBQVUsRUFBc0IsWUFBYSxRQUFRLEtBQUssOEJBQThCLENBQ3ZGLENBRUEsSUFBSSxVQUFVRSxFQUFzRCxDQUNsRVAsRUFBQSxLQUFLTixFQUFBQyxHQUFnQixVQUFZWSxDQUNuQyxDQUVBLHlCQUF5QkMsRUFBY0MsRUFBa0JDLEVBQWtCLENBQ3pFLE9BQVFGLEVBQU0sQ0FDWixJQUFLLE9BQ0gsTUFFRixRQUNNQyxJQUFhQyxJQUNmLEtBQUtGLENBQWMsRUFBSUUsR0FFekIsS0FDSixDQUNGLENBbUJGLEVBN0RFakIsRUFBQSxZQUhGQyxFQUFBLFlBZ0RNQyxFQUFlLFVBQUcsQ0FDcEIsT0FBT0ssRUFBQSxLQUFLUCxHQUFZLGNBQWMscUJBQXFCLEdBQUssUUFBUSxLQUFLLDhCQUE4QixDQUM3RyxFQUVBRyxFQUFBLFlBY0YsZUFBZSxPQUFPLFdBQVlDLENBQU8iLAogICJuYW1lcyI6IFsiaXRlbV9kZWZhdWx0IiwgIl9yZW5kZXJSb290IiwgIl9RdGlJdGVtX2luc3RhbmNlcyIsICJhc3Nlc3NtZW50SXRlbV9nZXQiLCAiX3ZhcmlhYmxlc0NoYW5nZWQiLCAiUXRpSXRlbSIsICJfX3ByaXZhdGVBZGQiLCAiZSIsICJfX3ByaXZhdGVHZXQiLCAieG1sIiwgIl9fcHJpdmF0ZVNldCIsICJzdHlsZSIsICJpdGVtX2RlZmF1bHQiLCAiX2EiLCAiX2IiLCAidmFyaWFibGVzIiwgIm5hbWUiLCAib2xkVmFsdWUiLCAibmV3VmFsdWUiXQp9Cg==