@hmcts/ccd-case-ui-toolkit 7.1.79 → 7.1.80-welsh-translation

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.
@@ -20,14 +20,18 @@ function WriteCollectionFieldComponent_h2_8_span_1_Template(rf, ctx) { if (rf &
20
20
  i0.ɵɵelementStart(0, "span", 10)(1, "markdown");
21
21
  i0.ɵɵtext(2);
22
22
  i0.ɵɵpipe(3, "rpxTranslate");
23
- i0.ɵɵelementEnd()();
23
+ i0.ɵɵelementEnd();
24
+ i0.ɵɵelement(4, "ccd-markdown", 11);
25
+ i0.ɵɵelementEnd();
24
26
  } if (rf & 2) {
25
27
  const ctx_r0 = i0.ɵɵnextContext(2);
26
28
  i0.ɵɵadvance(2);
27
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, ctx_r0.caseField.hint_text));
29
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, ctx_r0.caseField.hint_text));
30
+ i0.ɵɵadvance(2);
31
+ i0.ɵɵproperty("content", ctx_r0.caseField.hint_text);
28
32
  } }
29
33
  function WriteCollectionFieldComponent_h2_8_span_2_Template(rf, ctx) { if (rf & 1) {
30
- i0.ɵɵelementStart(0, "span", 11);
34
+ i0.ɵɵelementStart(0, "span", 12);
31
35
  i0.ɵɵtext(1);
32
36
  i0.ɵɵpipe(2, "ccdFirstError");
33
37
  i0.ɵɵelementEnd();
@@ -38,7 +42,7 @@ function WriteCollectionFieldComponent_h2_8_span_2_Template(rf, ctx) { if (rf &
38
42
  } }
39
43
  function WriteCollectionFieldComponent_h2_8_Template(rf, ctx) { if (rf & 1) {
40
44
  i0.ɵɵelementStart(0, "h2", 3);
41
- i0.ɵɵtemplate(1, WriteCollectionFieldComponent_h2_8_span_1_Template, 4, 3, "span", 8)(2, WriteCollectionFieldComponent_h2_8_span_2_Template, 3, 4, "span", 9);
45
+ i0.ɵɵtemplate(1, WriteCollectionFieldComponent_h2_8_span_1_Template, 5, 4, "span", 8)(2, WriteCollectionFieldComponent_h2_8_span_2_Template, 3, 4, "span", 9);
42
46
  i0.ɵɵelementEnd();
43
47
  } if (rf & 2) {
44
48
  const ctx_r0 = i0.ɵɵnextContext();
@@ -49,16 +53,16 @@ function WriteCollectionFieldComponent_h2_8_Template(rf, ctx) { if (rf & 1) {
49
53
  } }
50
54
  function WriteCollectionFieldComponent_div_9_div_2_Template(rf, ctx) { if (rf & 1) {
51
55
  const _r2 = i0.ɵɵgetCurrentView();
52
- i0.ɵɵelementStart(0, "div", 1, 0)(2, "div", 15)(3, "div", 16)(4, "legend", 17)(5, "label", 18)(6, "h3", 19);
56
+ i0.ɵɵelementStart(0, "div", 1, 0)(2, "div", 16)(3, "div", 17)(4, "legend", 18)(5, "label", 19)(6, "h3", 20);
53
57
  i0.ɵɵtext(7);
54
58
  i0.ɵɵpipe(8, "rpxTranslate");
55
59
  i0.ɵɵelementEnd()()()();
56
- i0.ɵɵelementStart(9, "div", 20)(10, "button", 21);
60
+ i0.ɵɵelementStart(9, "div", 21)(10, "button", 22);
57
61
  i0.ɵɵlistener("click", function WriteCollectionFieldComponent_div_9_div_2_Template_button_click_10_listener() { const i_r3 = i0.ɵɵrestoreView(_r2).index; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.openModal(i_r3)); });
58
62
  i0.ɵɵtext(11);
59
63
  i0.ɵɵpipe(12, "rpxTranslate");
60
64
  i0.ɵɵelementEnd()()();
61
- i0.ɵɵelement(13, "ccd-field-write", 22);
65
+ i0.ɵɵelement(13, "ccd-field-write", 23);
62
66
  i0.ɵɵelementEnd();
63
67
  } if (rf & 2) {
64
68
  const item_r4 = ctx.$implicit;
@@ -78,8 +82,8 @@ function WriteCollectionFieldComponent_div_9_div_2_Template(rf, ctx) { if (rf &
78
82
  i0.ɵɵproperty("caseField", item_r4.caseField)("caseFields", ctx_r0.caseFields)("formGroup", ctx_r0.formGroup)("parent", item_r4.container)("idPrefix", item_r4.prefix)("hidden", item_r4.caseField.hidden)("isExpanded", ctx_r0.isExpanded)("isInSearchBlock", ctx_r0.isInSearchBlock);
79
83
  } }
80
84
  function WriteCollectionFieldComponent_div_9_Template(rf, ctx) { if (rf & 1) {
81
- i0.ɵɵelementStart(0, "div", 12)(1, "fieldset", 13);
82
- i0.ɵɵtemplate(2, WriteCollectionFieldComponent_div_9_div_2_Template, 14, 19, "div", 14);
85
+ i0.ɵɵelementStart(0, "div", 13)(1, "fieldset", 14);
86
+ i0.ɵɵtemplate(2, WriteCollectionFieldComponent_div_9_div_2_Template, 14, 19, "div", 15);
83
87
  i0.ɵɵelementEnd()();
84
88
  } if (rf & 2) {
85
89
  const ctx_r0 = i0.ɵɵnextContext();
@@ -89,7 +93,7 @@ function WriteCollectionFieldComponent_div_9_Template(rf, ctx) { if (rf & 1) {
89
93
  } }
90
94
  function WriteCollectionFieldComponent_button_10_Template(rf, ctx) { if (rf & 1) {
91
95
  const _r5 = i0.ɵɵgetCurrentView();
92
- i0.ɵɵelementStart(0, "button", 23);
96
+ i0.ɵɵelementStart(0, "button", 24);
93
97
  i0.ɵɵlistener("click", function WriteCollectionFieldComponent_button_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.addItem(false)); });
94
98
  i0.ɵɵtext(1);
95
99
  i0.ɵɵpipe(2, "rpxTranslate");
@@ -407,7 +411,7 @@ export class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
407
411
  } if (rf & 2) {
408
412
  let _t;
409
413
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.items = _t);
410
- } }, inputs: { caseFields: "caseFields" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 11, consts: [["collectionItem", ""], [1, "form-group", 3, "id"], [1, "panel", "collection-indicator"], [1, "heading-h2", "error-spacing"], ["type", "button", 1, "button", "write-collection-add-item__top", 3, "click", "disabled"], ["class", "heading-h2 error-spacing", 4, "ngIf"], ["class", "form-group", 3, "hidden", 4, "ngIf"], ["class", "button write-collection-add-item__bottom", "type", "button", 3, "disabled", "click", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [1, "form-hint"], [1, "error-message"], [1, "form-group", 3, "hidden"], [1, "govuk-fieldset"], ["class", "form-group", 3, "id", 4, "ngFor", "ngForOf"], [1, "collection-title"], [1, "float-left"], [1, "govuk-fieldset__legend"], [3, "for"], [1, "heading-h3"], [1, "float-right"], ["type", "button", 1, "button", "button-secondary", 3, "click", "disabled"], [3, "caseField", "caseFields", "formGroup", "parent", "idPrefix", "hidden", "isExpanded", "isInSearchBlock"], ["type", "button", 1, "button", "write-collection-add-item__bottom", 3, "click", "disabled"]], template: function WriteCollectionFieldComponent_Template(rf, ctx) { if (rf & 1) {
414
+ } }, inputs: { caseFields: "caseFields" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 11, consts: [["collectionItem", ""], [1, "form-group", 3, "id"], [1, "panel", "collection-indicator"], [1, "heading-h2", "error-spacing"], ["type", "button", 1, "button", "write-collection-add-item__top", 3, "click", "disabled"], ["class", "heading-h2 error-spacing", 4, "ngIf"], ["class", "form-group", 3, "hidden", 4, "ngIf"], ["class", "button write-collection-add-item__bottom", "type", "button", 3, "disabled", "click", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [1, "form-hint"], [3, "content"], [1, "error-message"], [1, "form-group", 3, "hidden"], [1, "govuk-fieldset"], ["class", "form-group", 3, "id", 4, "ngFor", "ngForOf"], [1, "collection-title"], [1, "float-left"], [1, "govuk-fieldset__legend"], [3, "for"], [1, "heading-h3"], [1, "float-right"], ["type", "button", 1, "button", "button-secondary", 3, "click", "disabled"], [3, "caseField", "caseFields", "formGroup", "parent", "idPrefix", "hidden", "isExpanded", "isInSearchBlock"], ["type", "button", 1, "button", "write-collection-add-item__bottom", 3, "click", "disabled"]], template: function WriteCollectionFieldComponent_Template(rf, ctx) { if (rf & 1) {
411
415
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "h2", 3);
412
416
  i0.ɵɵtext(3);
413
417
  i0.ɵɵpipe(4, "ccdFieldLabel");
@@ -437,7 +441,7 @@ export class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
437
441
  }
438
442
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteCollectionFieldComponent, [{
439
443
  type: Component,
440
- args: [{ selector: 'ccd-write-collection-field', template: "<div class=\"form-group\" [id]=\"id()\">\n\n <div class=\"panel collection-indicator\">\n\n <h2 class=\"heading-h2 error-spacing\">\n {{(caseField | ccdFieldLabel)}}\n </h2>\n <button class=\"button write-collection-add-item__top\" type=\"button\" (click)=\"addItem(true)\" [disabled]=\"isNotAuthorisedToCreate() || isSearchFilter()\">{{'Add new' | rpxTranslate}}</button>\n <h2 class=\"heading-h2 error-spacing\" *ngIf=\"caseField.hint_text || formArray.errors\">\n <span *ngIf=\"caseField.hint_text\" class=\"form-hint\">\n <markdown>{{caseField.hint_text | rpxTranslate }}</markdown>\n </span>\n <span *ngIf=\"formArray.errors\" class=\"error-message\">\n {{(formArray.errors | ccdFirstError:caseField.label)}}\n </span>\n </h2>\n\n <div class=\"form-group\" [hidden]=\"caseField.hidden\" *ngIf=\"caseField.value && caseField.value.length\">\n <fieldset class=\"govuk-fieldset\">\n <div *ngFor=\"let item of collItems; let i = index\" #collectionItem\n [id]=\"this.buildIdPrefix(i) + i\" class=\"form-group\">\n <div class=\"collection-title\">\n <div class=\"float-left\">\n <legend class=\"govuk-fieldset__legend\">\n <label [for]=\"item.prefix + i\"><h3 class=\"heading-h3\">{{itemLabel(i) | rpxTranslate}}</h3></label>\n </legend>\n </div>\n <div class=\"float-right\">\n <button class=\"button button-secondary\" type=\"button\" (click)=\"openModal(i)\"\n [disabled]=\"isNotAuthorisedToDelete(i)\"\n attr.aria-label=\"Remove {{ itemLabel(i) }}\">{{'Remove' | rpxTranslate}}</button>\n </div>\n </div>\n <ccd-field-write [caseField]=\"item.caseField\"\n [caseFields]=\"caseFields\"\n [formGroup]=\"formGroup\"\n [parent]=\"item.container\"\n [idPrefix]=\"item.prefix\"\n [hidden]=\"item.caseField.hidden\"\n [isExpanded]=\"isExpanded\"\n [isInSearchBlock]=\"isInSearchBlock\">\n </ccd-field-write>\n </div>\n </fieldset>\n </div>\n\n <button class=\"button write-collection-add-item__bottom\" type=\"button\" (click)=\"addItem(false)\" [disabled]=\"isNotAuthorisedToCreate() || isSearchFilter()\" *ngIf=\"caseField.value && caseField.value.length\">{{'Add new' | rpxTranslate }}</button>\n\n </div>\n\n</div>\n", styles: [".collection-field-table tr:first-child>td{padding-top:0}.collection-field-table tr:last-child>td{border-bottom:none}.collection-field-table td.collection-actions{width:1px;white-space:nowrap}.error-spacing{margin-top:10px}.collection-title{height:51px}.float-left{float:left;padding-top:8px}.float-right{float:right}.complex-panel{margin:13px 0;border:1px solid #bfc1c3}.complex-panel .complex-panel-title{background-color:#dee0e2;padding:5px 5px 2px;border-bottom:1px solid #bfc1c3;display:block;color:#0b0c0c;font-family:nta,Arial,sans-serif;font-weight:700;text-transform:none;font-size:16px;line-height:1.25}@media (min-width: 641px){.complex-panel .complex-panel-title{font-size:19px;line-height:1.3157894737}}.complex-panel .complex-panel-table>tbody>tr>th{vertical-align:top}.complex-panel .complex-panel-table>tbody>tr:last-child>th,.complex-panel .complex-panel-table>tbody>tr:last-child>td{border-bottom:none}.complex-panel .complex-panel-simple-field th{padding-left:5px;width:295px}.complex-panel .complex-panel-compound-field td{padding:5px}.collection-indicator{border-left:solid 5px #b1b4b6}\n"] }]
444
+ args: [{ selector: 'ccd-write-collection-field', template: "<div class=\"form-group\" [id]=\"id()\">\n\n <div class=\"panel collection-indicator\">\n\n <h2 class=\"heading-h2 error-spacing\">\n {{(caseField | ccdFieldLabel)}}\n </h2>\n <button class=\"button write-collection-add-item__top\" type=\"button\" (click)=\"addItem(true)\" [disabled]=\"isNotAuthorisedToCreate() || isSearchFilter()\">{{'Add new' | rpxTranslate}}</button>\n <h2 class=\"heading-h2 error-spacing\" *ngIf=\"caseField.hint_text || formArray.errors\">\n <span *ngIf=\"caseField.hint_text\" class=\"form-hint\">\n <markdown>{{caseField.hint_text | rpxTranslate }}</markdown>\n <ccd-markdown [content]=\"caseField.hint_text\"></ccd-markdown>\n </span>\n <span *ngIf=\"formArray.errors\" class=\"error-message\">\n {{(formArray.errors | ccdFirstError:caseField.label)}}\n </span>\n </h2>\n\n <div class=\"form-group\" [hidden]=\"caseField.hidden\" *ngIf=\"caseField.value && caseField.value.length\">\n <fieldset class=\"govuk-fieldset\">\n <div *ngFor=\"let item of collItems; let i = index\" #collectionItem\n [id]=\"this.buildIdPrefix(i) + i\" class=\"form-group\">\n <div class=\"collection-title\">\n <div class=\"float-left\">\n <legend class=\"govuk-fieldset__legend\">\n <label [for]=\"item.prefix + i\"><h3 class=\"heading-h3\">{{itemLabel(i) | rpxTranslate}}</h3></label>\n </legend>\n </div>\n <div class=\"float-right\">\n <button class=\"button button-secondary\" type=\"button\" (click)=\"openModal(i)\"\n [disabled]=\"isNotAuthorisedToDelete(i)\"\n attr.aria-label=\"Remove {{ itemLabel(i) }}\">{{'Remove' | rpxTranslate}}</button>\n </div>\n </div>\n <ccd-field-write [caseField]=\"item.caseField\"\n [caseFields]=\"caseFields\"\n [formGroup]=\"formGroup\"\n [parent]=\"item.container\"\n [idPrefix]=\"item.prefix\"\n [hidden]=\"item.caseField.hidden\"\n [isExpanded]=\"isExpanded\"\n [isInSearchBlock]=\"isInSearchBlock\">\n </ccd-field-write>\n </div>\n </fieldset>\n </div>\n\n <button class=\"button write-collection-add-item__bottom\" type=\"button\" (click)=\"addItem(false)\" [disabled]=\"isNotAuthorisedToCreate() || isSearchFilter()\" *ngIf=\"caseField.value && caseField.value.length\">{{'Add new' | rpxTranslate }}</button>\n\n </div>\n\n</div>\n", styles: [".collection-field-table tr:first-child>td{padding-top:0}.collection-field-table tr:last-child>td{border-bottom:none}.collection-field-table td.collection-actions{width:1px;white-space:nowrap}.error-spacing{margin-top:10px}.collection-title{height:51px}.float-left{float:left;padding-top:8px}.float-right{float:right}.complex-panel{margin:13px 0;border:1px solid #bfc1c3}.complex-panel .complex-panel-title{background-color:#dee0e2;padding:5px 5px 2px;border-bottom:1px solid #bfc1c3;display:block;color:#0b0c0c;font-family:nta,Arial,sans-serif;font-weight:700;text-transform:none;font-size:16px;line-height:1.25}@media (min-width: 641px){.complex-panel .complex-panel-title{font-size:19px;line-height:1.3157894737}}.complex-panel .complex-panel-table>tbody>tr>th{vertical-align:top}.complex-panel .complex-panel-table>tbody>tr:last-child>th,.complex-panel .complex-panel-table>tbody>tr:last-child>td{border-bottom:none}.complex-panel .complex-panel-simple-field th{padding-left:5px;width:295px}.complex-panel .complex-panel-compound-field td{padding:5px}.collection-indicator{border-left:solid 5px #b1b4b6}\n"] }]
441
445
  }], () => [{ type: i1.MatLegacyDialog }, { type: i2.ScrollToService }, { type: i3.ProfileNotifier }, { type: i0.ChangeDetectorRef }], { caseFields: [{
442
446
  type: Input
443
447
  }], items: [{
@@ -445,4 +449,4 @@ export class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
445
449
  args: ['collectionItem']
446
450
  }] }); })();
447
451
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteCollectionFieldComponent, { className: "WriteCollectionFieldComponent", filePath: "lib/shared/components/palette/collection/write-collection-field.component.ts", lineNumber: 31 }); })();
448
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY29sbGVjdGlvbi1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb2xsZWN0aW9uL3dyaXRlLWNvbGxlY3Rpb24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29sbGVjdGlvbi93cml0ZS1jb2xsZWN0aW9uLWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsSUFBSSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxlQUFlLEVB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NEI7WUFBNUIscURBQTRCO1lBQzdJLGVBQTZDO1lBQTdDLHNFQUE2QztZQVM5QixjQUErQztZQUEvQyx3RUFBK0M7WUE2QndELGNBQStDO1lBQS9DLHdFQUErQzs7O2lGRGhCbE0sNkJBQTZCO2NBTHpDLFNBQVM7MkJBQ0UsNEJBQTRCOzRJQU0vQixVQUFVO2tCQURoQixLQUFLO1lBU1csS0FBSztrQkFEckIsWUFBWTttQkFBQyxnQkFBZ0I7O2tGQVRuQiw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2cgYXMgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgU2Nyb2xsVG9TZXJ2aWNlIH0gZnJvbSAnQG5pY2t5LWxlbmFlcnMvbmd4LXNjcm9sbC10byc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3NGcm9tRXhpc3QgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2ZpZWxkLXR5cGUubW9kZWwnO1xuXG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IFByb2ZpbGUgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vcHJvZmlsZS9wcm9maWxlLm1vZGVsJztcbmltcG9ydCB7IEZpZWxkc1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmllbGRzL2ZpZWxkcy51dGlscyc7XG5pbXBvcnQgeyBGb3JtVmFsaWRhdG9yc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3JtL2Zvcm0tdmFsaWRhdG9ycy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2ZpbGVOb3RpZmllciB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3Byb2ZpbGUvcHJvZmlsZS5ub3RpZmllcic7XG5pbXBvcnQgeyBSZW1vdmVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9kaWFsb2dzL3JlbW92ZS1kaWFsb2cvcmVtb3ZlLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC13cml0ZS5jb21wb25lbnQnO1xuXG50eXBlIENvbGxlY3Rpb25JdGVtID0ge1xuICBjYXNlRmllbGQ6IENhc2VGaWVsZDtcbiAgaXRlbTogYW55O1xuICBwcmVmaXg6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbiAgY29udGFpbmVyOiBGb3JtR3JvdXA7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtY29sbGVjdGlvbi1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1jb2xsZWN0aW9uLWZpZWxkLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2xsZWN0aW9uLWZpZWxkLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBXcml0ZUNvbGxlY3Rpb25GaWVsZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdID0gW107XG5cbiAgcHVibGljIGZvcm1BcnJheTogRm9ybUFycmF5O1xuXG4gIHB1YmxpYyBwcm9maWxlOiBQcm9maWxlO1xuICBwdWJsaWMgcHJvZmlsZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIEBWaWV3Q2hpbGRyZW4oJ2NvbGxlY3Rpb25JdGVtJylcbiAgcHJpdmF0ZSByZWFkb25seSBpdGVtczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuICBwdWJsaWMgcmVhZG9ubHkgY29sbEl0ZW1zOiBDb2xsZWN0aW9uSXRlbVtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbFRvU2VydmljZTogU2Nyb2xsVG9TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvZmlsZU5vdGlmaWVyOiBQcm9maWxlTm90aWZpZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNFeHBhbmRlZCkgeyAvLyBtZWFuaW5nIEkgYW0gbm90IHJlbmRlcmVkIG9uIHRoZSBzZWFyY2gvd29ya2Jhc2tldCBpbnB1dCBmaWx0ZXJcbiAgICAgIHRoaXMucHJvZmlsZVN1YnNjcmlwdGlvbiA9IHRoaXMucHJvZmlsZU5vdGlmaWVyLnByb2ZpbGUuc3Vic2NyaWJlKF8gPT4gdGhpcy5wcm9maWxlID0gXyk7XG4gICAgfVxuICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlID0gdGhpcy5jYXNlRmllbGQudmFsdWUgfHwgW107XG4gICAgdGhpcy5mb3JtQXJyYXkgPSB0aGlzLnJlZ2lzdGVyQ29udHJvbChuZXcgRm9ybUFycmF5KFtdKSwgdHJ1ZSkgYXMgRm9ybUFycmF5O1xuICAgIHRoaXMuZm9ybUFycmF5WydjYXNlRmllbGQnXSA9IHRoaXMuY2FzZUZpZWxkO1xuICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlLmZvckVhY2goKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgcHJlZml4OiBzdHJpbmcgPSB0aGlzLmJ1aWxkSWRQcmVmaXgoaW5kZXgpO1xuICAgICAgY29uc3QgY2FzZUZpZWxkID0gdGhpcy5idWlsZENhc2VGaWVsZChpdGVtLCBpbmRleCk7XG4gICAgICBjYXNlRmllbGQucGFyZW50ID0gdGhpcy5jYXNlRmllbGRcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZ2V0Q29udGFpbmVyKGluZGV4KTtcbiAgICAgIGlmICh0aGlzLmNvbGxJdGVtcy5sZW5ndGggPD0gaW5kZXgpIHtcbiAgICAgICAgdGhpcy5jb2xsSXRlbXMubGVuZ3RoID0gaW5kZXggKyAxO1xuICAgICAgfVxuICAgICAgdGhpcy5jb2xsSXRlbXNbaW5kZXhdID0geyBjYXNlRmllbGQsIGl0ZW0sIHByZWZpeCwgaW5kZXgsIGNvbnRhaW5lciB9O1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb2ZpbGVTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMucHJvZmlsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBidWlsZENhc2VGaWVsZChpdGVtLCBpbmRleDogbnVtYmVyLCBpc05ldyA9IGZhbHNlKTogQ2FzZUZpZWxkIHtcbiAgICAvKipcbiAgICAgKiBXaGF0IGZvbGxvdyBpcyBjb2RlIHRoYXQgbWFrZXMgbWUgd2FudCB0byBnbyBqdW1wIGluIHRoZSBzaG93ZXIhXG4gICAgICogQmFzaWNhbGx5LCB3ZSBsYW5kIGluIGhlcmUgcmVwZWF0ZWRseSBiZWNhdXNlIG9mIHRoZSBiaW5kaW5nLCBhbmRcbiAgICAgKiB0aGlzIGlzIHdoYXQgYXBwZWFycyB0byBiZSBoYXBwZW5pbmc6XG4gICAgICogICAxLiB0aGlzLmZvcm1BcnJheSBjb250YWlucyBubyBjb250cm9scyBhdCBhbGwuXG4gICAgICogICAgICB0aGlzLmZvcm1BcnJheS52YWx1ZSA9IFtdO1xuICAgICAqICAgMi4gdGhpcy5mb3JtQXJyYXkgY29udGFpbnMgYSBGb3JtR3JvdXAsIHdoaWNoIGNvbnRhaW5zIGEgc2luZ2xlXG4gICAgICogICAgICBGb3JtQ29udHJvbCB3aXRoIHRoZSBpZCAnY29kZScuXG4gICAgICogICAgICB0aGlzLmZvcm1BcnJheS52YWx1ZSA9IFt7IGNvZGU6IG51bGwgfV1cbiAgICAgKiAgIDMuIHRoaXMuZm9ybUFycmF5IGNvbnRhaW5zIHdoYXQgaXMgYmVpbmcgc2V0IHVwIGJlbG93LlxuICAgICAqICAgICAgdGhpcy5mb3JtQXJyYXkudmFsdWUgPSBbeyBjb2RlOiBudWxsLCBpZDogbnVsbCwgdmFsdWU6IHsgY29kZTogbnVsbCB9IH1dXG4gICAgICogICA0LCA1LCA2LCBldGMgLSB0aGUgc2FtZSBhcyAzLlxuICAgICAqL1xuICAgIGxldCBncm91cDogRm9ybUdyb3VwO1xuICAgIGlmICh0aGlzLmZvcm1BcnJheSAmJiAoaW5kZXggPCB0aGlzLmZvcm1BcnJheS5sZW5ndGgpKSB7XG4gICAgICBncm91cCA9IHRoaXMuZm9ybUFycmF5LmF0KGluZGV4KSBhcyBGb3JtR3JvdXA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgfVxuXG4gICAgbGV0IHZhbHVlO1xuICAgIGlmICh0aGlzLmlzQ29sbGVjdGlvbk9mU2ltcGxlVHlwZSh0aGlzLmNhc2VGaWVsZCkpIHtcbiAgICAgIHZhbHVlID0gZ3JvdXAuZ2V0KCd2YWx1ZScpIGFzIEZvcm1Db250cm9sO1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICB2YWx1ZSA9IG5ldyBGb3JtQ29udHJvbChpdGVtLnZhbHVlKTtcbiAgICAgICAgLy8gTm93IGFkZCB0aGUgdmFsdWUgRm9ybUNvbnRyb2wgdG8gdGhlIG91dGVyIGdyb3VwLlxuICAgICAgICBncm91cC5hZGRDb250cm9sKCd2YWx1ZScsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUgPSBncm91cC5nZXQoJ3ZhbHVlJykgYXMgRm9ybUdyb3VwO1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICB2YWx1ZSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhncm91cC5jb250cm9scykpIHtcbiAgICAgICAgICB2YWx1ZS5hZGRDb250cm9sKGtleSwgZ3JvdXAuZ2V0KGtleSkpO1xuICAgICAgICAgIC8vIERPTidUIHJlbW92ZSB0aGUgY29udHJvbCBmb3IgdGhpcyBrZXkgZnJvbSB0aGUgb3V0ZXIgZ3JvdXAgb3IgaXRcbiAgICAgICAgICAvLyBnb2VzIGF3cnkuIFNvIERPTidUIHVuY29tbWVudCB0aGUgYmVsb3cgbGluZSFcbiAgICAgICAgICAvLyBncm91cC5yZW1vdmVDb250cm9sKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gTm93IGFkZCB0aGUgdmFsdWUgRm9ybUdyb3VwIHRvIHRoZSBvdXRlciBncm91cC5cbiAgICAgICAgZ3JvdXAuYWRkQ29udHJvbCgndmFsdWUnLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGxldCBpZCA9IGdyb3VwLmdldCgnaWQnKSBhcyBGb3JtQ29udHJvbDtcbiAgICAvLyBJZiB3ZSdyZSBub3QgaW4gc2NlbmFyaW8gMywgYWJvdmUsIHdlIG5lZWQgdG8gZG8gc29tZSBqaWdnZXJ5IHBva2VyeVxuICAgIC8vIGFuZCBzZXQgdXAgdGhlIGlkIGFuZCB2YWx1ZSBjb250cm9scy5cbiAgICAvLyBBbHNvIHNldCB1cCBhbiBpZCBjb250cm9sIGlmIGl0IGRvZXNuJ3QgeWV0IGV4aXN0LlxuICAgIGlmICghaWQpIHtcbiAgICAgIGlkID0gbmV3IEZvcm1Db250cm9sKGl0ZW0uaWQpO1xuICAgICAgZ3JvdXAuYWRkQ29udHJvbCgnaWQnLCBpZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWdhaW4sIHZlcnkgc29ycnkuIEkndmUgbm90IGZvdW5kIGEgYmV0dGVyIHdheSB0byBwcm9kdWNlIHRoZVxuICAgICAqIG91dHB1dCBuZWVkZWQgZm9yIHdoYXQgbmVlZHMgdG8gYmUgc2VudCB0byB0aGUgc2VydmVyIHlldC5cbiAgICAgKi9cblxuICAgIC8vIE5vdywgYWRkIHRoZSBvdXRlciBncm91cCB0byB0aGUgYXJyYXkgKG9yIHJlcGxhY2UgaXQpLlxuICAgIGlmIChpbmRleCA8IHRoaXMuZm9ybUFycmF5Lmxlbmd0aCkge1xuICAgICAgdGhpcy5mb3JtQXJyYXkuc2V0Q29udHJvbChpbmRleCwgZ3JvdXApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1BcnJheS5wdXNoKGdyb3VwKTtcbiAgICB9XG5cbiAgICAvLyBOb3cgc2V0IHVwIHRoZSBDYXNlRmllbGQgYW5kIHZhbGlkYXRpb24uXG4gICAgbGV0IGNmaWQ6IHN0cmluZztcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgY2ZpZCA9ICd2YWx1ZSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNmaWQgPSBpbmRleC50b1N0cmluZygpO1xuICAgIH1cblxuICAgIC8vIGlzTmV3OlxuICAgIGNvbnN0IGNmOiBDYXNlRmllbGQgPSB0aGlzLm5ld0Nhc2VGaWVsZChjZmlkLCBpdGVtLCBpbmRleCwgaXNOZXcpO1xuICAgIEZvcm1WYWxpZGF0b3JzU2VydmljZS5hZGRWYWxpZGF0b3JzKGNmLCB2YWx1ZSk7XG4gICAgRmllbGRzVXRpbHMuYWRkQ2FzZUZpZWxkQW5kQ29tcG9uZW50UmVmZXJlbmNlcyh2YWx1ZSwgY2YsIHRoaXMpO1xuICAgIHJldHVybiBjZjtcbiAgfVxuXG4gIHB1YmxpYyBidWlsZElkUHJlZml4KGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IHByZWZpeCA9IGAke3RoaXMuaWRQcmVmaXh9JHt0aGlzLmNhc2VGaWVsZC5pZH1fYDtcbiAgICBpZiAodGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGU/LnR5cGUgPT09ICdDb21wbGV4Jykge1xuICAgICAgcmV0dXJuIGAke3ByZWZpeH0ke2luZGV4fV9gO1xuICAgIH1cblxuICAgIHJldHVybiBwcmVmaXg7XG4gIH1cblxuICBwdWJsaWMgaXNTZWFyY2hGaWx0ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJblNlYXJjaEJsb2NrICYmIHRoaXMuY29sbEl0ZW1zLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwdWJsaWMgYWRkSXRlbShkb1Njcm9sbDogYm9vbGVhbik6IHZvaWQge1xuICAgIC8vIE1hbnVhbGx5IHJlc2V0dGluZyBlcnJvcnMgaXMgcmVxdWlyZWQgdG8gcHJldmVudCBgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvcmBcbiAgICB0aGlzLmZvcm1BcnJheS5zZXRFcnJvcnMobnVsbCk7XG4gICAgbGV0IGl0ZW0gPSB7IHZhbHVlOiBudWxsIH07XG5cbiAgICBpZiAodGhpcy5pc0NvbGxlY3Rpb25EeW5hbWljKCkpIHtcbiAgICAgIGl0ZW0gPSB7IC4uLnRoaXMuY2FzZUZpZWxkLnZhbHVlW3RoaXMuY2FzZUZpZWxkLnZhbHVlLmxlbmd0aCAtIDFdIH07XG4gICAgICBjb25zdCBrZXk6IG51bWJlciA9IE51bWJlcihpdGVtWydpZCddW2l0ZW1bJ2lkJ10ubGVuZ3RoIC0gMV0pICsgMTtcbiAgICAgIChpdGVtIGFzIGFueSkuaWQgPSBpdGVtWydpZCddLnJlcGxhY2UoLy4kLywga2V5LnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZS5wdXNoKGl0ZW0pO1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jYXNlRmllbGQudmFsdWUubGVuZ3RoIC0gMTtcbiAgICBjb25zdCBjYXNlRmllbGQ6IENhc2VGaWVsZCA9IHRoaXMuYnVpbGRDYXNlRmllbGQoaXRlbSwgaW5kZXgsIHRydWUpO1xuICAgIGNvbnN0IHByZWZpeCA9IHRoaXMuYnVpbGRJZFByZWZpeChpbmRleCk7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5nZXRDb250YWluZXIoaW5kZXgpO1xuICAgIHRoaXMuY29sbEl0ZW1zLnB1c2goeyBjYXNlRmllbGQsIGl0ZW0sIGluZGV4LCBwcmVmaXgsIGNvbnRhaW5lciB9KTtcblxuICAgIC8vIFVwZGF0ZSBET00gcmVxdWlyZWQgYWZ0ZXIgcHVzaGluZyBhIG5ldyBpdGVtIHRvIGRvIHRoZSBuZXh0IHN0ZXBzIChpLmUuIHNjcm9sbGluZyBhbmQgZm9jdXNpbmcpXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBpZiAoZG9TY3JvbGwpIHtcbiAgICAgIHRoaXMuc2Nyb2xsVG9TZXJ2aWNlLnNjcm9sbFRvKHtcbiAgICAgICAgdGFyZ2V0OiBgJHt0aGlzLmJ1aWxkSWRQcmVmaXgoaW5kZXgpfSR7aW5kZXh9YCxcbiAgICAgICAgZHVyYXRpb246IDEwMDAsXG4gICAgICAgIG9mZnNldDogLTE1MCxcbiAgICAgIH0pXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4geyB9LCBjb25zb2xlLmVycm9yKTtcbiAgICB9XG5cbiAgICB0aGlzLmZvY3VzTGFzdEl0ZW0oKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDb2xsZWN0aW9uRHluYW1pYygpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUgfHwgIXRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZS5pZCA9PT0gJ0R5bmFtaWNSYWRpb0xpc3QnO1xuICB9XG5cbiAgcHJpdmF0ZSBuZXdDYXNlRmllbGQoaWQ6IHN0cmluZywgaXRlbSwgaW5kZXgsIGlzTmV3ID0gZmFsc2UpIHtcbiAgICBjb25zdCBpc05vdEF1dGhvcmlzZWRUb1VwZGF0ZSA9ICFpc05ldyAmJiB0aGlzLmlzTm90QXV0aG9yaXNlZFRvVXBkYXRlKGluZGV4KTtcblxuICAgIGNvbnN0IGZpZWxkVHlwZSA9IHBsYWluVG9DbGFzc0Zyb21FeGlzdChuZXcgRmllbGRUeXBlKCksIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlKTtcbiAgICBpZiAoZmllbGRUeXBlLmNvbXBsZXhfZmllbGRzKSB7XG4gICAgICBmaWVsZFR5cGUuY29tcGxleF9maWVsZHNcbiAgICAgICAgLmZpbHRlcigoY2Y6IENhc2VGaWVsZCkgPT4gISFjZi5zaG93X2NvbmRpdGlvbilcbiAgICAgICAgLm1hcCgoY2Y6IENhc2VGaWVsZCkgPT4gY2YuaGlkZGVuID0gdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHRoZSBiaXQgc2V0dGluZyB0aGUgaGlkZGVuIGZsYWcgaGVyZSBhcyBpdCdzIGFuIGl0ZW0gaW4gdGhlIGFycmF5IGFuZFxuICAgIC8vIGl0cyBoaWRkZW4gc3RhdGUgaXNuJ3QgaW5kZXBlbmRlbnRseSByZS1ldmFsdWF0ZWQgd2hlbiB0aGUgZm9ybSBpcyBjaGFuZ2VkLlxuICAgIHJldHVybiBwbGFpblRvQ2xhc3NGcm9tRXhpc3QobmV3IENhc2VGaWVsZCgpLCB7XG4gICAgICBpZCxcbiAgICAgIGZpZWxkX3R5cGU6IGZpZWxkVHlwZSxcbiAgICAgIGRpc3BsYXlfY29udGV4dDogaXNOb3RBdXRob3Jpc2VkVG9VcGRhdGUgPyAnUkVBRE9OTFknIDogdGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0LFxuICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICBsYWJlbDogbnVsbCxcbiAgICAgIGFjbHM6IHRoaXMuY2FzZUZpZWxkLmFjbHNcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29udGFpbmVyKGluZGV4OiBudW1iZXIpOiBGb3JtR3JvdXAge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtQXJyYXkuYXQoaW5kZXgpLmdldCgndmFsdWUnKTtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybUFycmF5LmF0KGluZGV4KSBhcyBGb3JtR3JvdXA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c0xhc3RJdGVtKCkge1xuICAgIGNvbnN0IGl0ZW06IGFueSA9IHRoaXMuaXRlbXMubGFzdC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5mb3JtLWNvbnRyb2wnKTtcbiAgICBpZiAoaXRlbSkge1xuICAgICAgaXRlbS5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlSXRlbShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5jb2xsSXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLnJlc2V0SWRzKGluZGV4KTtcbiAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuZm9ybUFycmF5LnJlbW92ZUF0KGluZGV4KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRJZHMoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGZvciAobGV0IGkgPSBpbmRleDsgaSA8IHRoaXMuY29sbEl0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjb3VudGVyID0gaSArIDE7XG4gICAgICBpZiAodGhpcy5jb2xsSXRlbXNbaV0uaW5kZXggJiYgdGhpcy5jb2xsSXRlbXNbaV0uaW5kZXggPT09IGNvdW50ZXIpIHtcbiAgICAgICAgdGhpcy5jb2xsSXRlbXNbaV0uaW5kZXggPSBpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5jb2xsSXRlbXNbaV0uY2FzZUZpZWxkICYmIHRoaXMuY29sbEl0ZW1zW2ldLmNhc2VGaWVsZC5pZFxuICAgICAgICAmJiB0aGlzLmNvbGxJdGVtc1tpXS5jYXNlRmllbGQuaWQgPT09IGNvdW50ZXIudG9TdHJpbmcoKSkge1xuICAgICAgICB0aGlzLmNvbGxJdGVtc1tpXS5jYXNlRmllbGQuaWQgPSBpLnRvU3RyaW5nKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGlkUHJlZml4MSA9IHRoaXMuY29sbEl0ZW1zW2ldLnByZWZpeCA/IHRoaXMuY29sbEl0ZW1zW2ldLnByZWZpeC5yZXBsYWNlKGBfJHtjb3VudGVyLnRvU3RyaW5nKCl9YCwgYF8ke2kudG9TdHJpbmcoKX1gKSA6ICcnO1xuICAgICAgY29uc3QgaWRQcmVmaXgxQ3VycmVudCA9IGlkUHJlZml4MS5yZXBsYWNlKGBfJHtpLnRvU3RyaW5nKCl9YCwgYF8ke2NvdW50ZXIudG9TdHJpbmcoKX1gKTtcblxuICAgICAgaWYgKHRoaXMuY29sbEl0ZW1zW2ldLnByZWZpeCAmJiB0aGlzLmNvbGxJdGVtc1tpXS5wcmVmaXggPT09IGlkUHJlZml4MUN1cnJlbnQpIHtcbiAgICAgICAgdGhpcy5jb2xsSXRlbXNbaV0ucHJlZml4ID0gaWRQcmVmaXgxO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpZFByZWZpeEF2YWlsYWJsZSA9ICEhdGhpcy5jb2xsSXRlbXNbaV0uY29udGFpbmVyPy5bJ2NvbXBvbmVudCddPy5pZFByZWZpeDtcblxuICAgICAgY29uc3QgaWRQcmVmaXgyID0gaWRQcmVmaXhBdmFpbGFibGUgP1xuICAgICAgICB0aGlzLmNvbGxJdGVtc1tpXS5jb250YWluZXJbJ2NvbXBvbmVudCddLmlkUHJlZml4LnJlcGxhY2UoYF8ke2NvdW50ZXIudG9TdHJpbmcoKX1gLCBgXyR7aS50b1N0cmluZygpfWApIDogJyc7XG4gICAgICBjb25zdCBpZFByZWZpeDJjdXJyZW50ID0gaWRQcmVmaXgyLnJlcGxhY2UoYF8ke2kudG9TdHJpbmcoKX1gLCBgXyR7Y291bnRlci50b1N0cmluZygpfWApO1xuXG4gICAgICBpZiAoaWRQcmVmaXhBdmFpbGFibGUgJiYgdGhpcy5jb2xsSXRlbXNbaV0uY29udGFpbmVyWydjb21wb25lbnQnXS5pZFByZWZpeCA9PT0gaWRQcmVmaXgyY3VycmVudCkge1xuICAgICAgICB0aGlzLmNvbGxJdGVtc1tpXS5jb250YWluZXJbJ2NvbXBvbmVudCddLmlkUHJlZml4ID0gaWRQcmVmaXgyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpdGVtTGFiZWwoaW5kZXg6IG51bWJlcikge1xuICAgIGlmIChpbmRleCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMuY2FzZUZpZWxkLmxhYmVsfSAke2luZGV4ICsgMX1gO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jYXNlRmllbGQubGFiZWw7XG4gIH1cblxuICBwdWJsaWMgaXNOb3RBdXRob3Jpc2VkVG9DcmVhdGUoKSB7XG4gICAgaWYgKHRoaXMuaXNFeHBhbmRlZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gIXRoaXMuZ2V0Q29sbGVjdGlvblBlcm1pc3Npb24odGhpcy5jYXNlRmllbGQsICdhbGxvd0luc2VydCcpO1xuICB9XG5cbiAgcHVibGljIGdldENvbGxlY3Rpb25QZXJtaXNzaW9uKGZpZWxkOiBDYXNlRmllbGQsIHR5cGU6IHN0cmluZykge1xuICAgIHJldHVybiBmaWVsZC5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyICYmXG4gICAgICBmaWVsZC5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyLnNwbGl0KCcjJylcbiAgICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0uc3RhcnRzV2l0aCgnQ09MTEVDVElPTignKSlbMF1cbiAgICAgICAgLmluY2x1ZGVzKHR5cGUpO1xuICB9XG5cbiAgcHVibGljIGlzTm90QXV0aG9yaXNlZFRvVXBkYXRlKGluZGV4KSB7XG4gICAgaWYgKHRoaXMuaXNFeHBhbmRlZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBXYXMgcmVhc3Nlc2VkIGFzIHBhcnQgb2YgRVVJLTM1MDUuIFRoZXJlIGlzIHN0aWxsIGEgY2F2ZWF0IGFyb3VuZCBDUkQsIGJ1dCB0aGF0IHdhcyBkZWVtZWQgYW4gdW5saWtlbHkgc2NlbmFyaW9cbiAgICBjb25zdCBpZCA9IHRoaXMuZ2V0Q29udHJvbElkQXQoaW5kZXgpO1xuICAgIGlmIChpZCkge1xuICAgICAgaWYgKCEhdGhpcy5wcm9maWxlLnVzZXIgJiYgISF0aGlzLnByb2ZpbGUudXNlci5pZGFtKSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZVJvbGUgPSB0aGlzLnByb2ZpbGUudXNlci5pZGFtLnJvbGVzLmZpbmQocm9sZSA9PiB0aGlzLmhhc1VwZGF0ZUFjY2Vzcyhyb2xlKSk7XG4gICAgICAgIHJldHVybiAhdXBkYXRlUm9sZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGhhc1VwZGF0ZUFjY2Vzcyhyb2xlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmNhc2VGaWVsZC5hY2xzLmZpbmQoYWNsID0+IGFjbC5yb2xlID09PSByb2xlICYmIGFjbC51cGRhdGUgPT09IHRydWUpO1xuICB9XG5cbiAgcHVibGljIGlzTm90QXV0aG9yaXNlZFRvRGVsZXRlKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5pc0V4cGFuZGVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIFNob3VsZCBiZSBhYmxlIHRvIGRlbGV0ZSBpZiBjcmVhdGluZyBhIGNhc2UgZXZlbiBpZiBcIkRcIiBpcyBhYnNlbnQsIGhlbmNlOlxuICAgIGNvbnN0IGlkID0gdGhpcy5nZXRDb250cm9sSWRBdChpbmRleCk7XG4gICAgcmV0dXJuICEhaWQgJiYgIXRoaXMuZ2V0Q29sbGVjdGlvblBlcm1pc3Npb24odGhpcy5jYXNlRmllbGQsICdhbGxvd0RlbGV0ZScpO1xuICB9XG5cbiAgcHVibGljIG9wZW5Nb2RhbChpOiBudW1iZXIpIHtcbiAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XG4gICAgZGlhbG9nQ29uZmlnLmRpc2FibGVDbG9zZSA9IHRydWU7XG4gICAgZGlhbG9nQ29uZmlnLmF1dG9Gb2N1cyA9IHRydWU7XG4gICAgZGlhbG9nQ29uZmlnLmFyaWFMYWJlbCA9ICdMYWJlbCc7XG4gICAgZGlhbG9nQ29uZmlnLmhlaWdodCA9ICcyMjBweCc7XG4gICAgZGlhbG9nQ29uZmlnLndpZHRoID0gJzU1MHB4JztcbiAgICBkaWFsb2dDb25maWcucGFuZWxDbGFzcyA9ICdkaWFsb2cnO1xuXG4gICAgZGlhbG9nQ29uZmlnLmNsb3NlT25OYXZpZ2F0aW9uID0gZmFsc2U7XG4gICAgZGlhbG9nQ29uZmlnLnBvc2l0aW9uID0ge1xuICAgICAgdG9wOiBgJHt3aW5kb3cuaW5uZXJIZWlnaHQgLyAyIC0gMTEwfXB4YCwgbGVmdDogYCR7d2luZG93LmlubmVyV2lkdGggLyAyIC0gMjc1fXB4YFxuICAgIH07XG5cbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFJlbW92ZURpYWxvZ0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgaWYgKHJlc3VsdCA9PT0gJ1JlbW92ZScpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVJdGVtKGkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGxpZWQgZnVsbCBzb2x1dGlvbiBhcyBwYXJ0IG9mIEVVSS0zNTA1XG4gICAqL1xuICBwcml2YXRlIGdldENvbnRyb2xJZEF0KGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuXG4gICAgLy8gdGhpcy5mb3JtQXJyYXkgY29udGFpbnMgWyBGb3JtR3JvdXAoIGlkOiBGb3JtQ29udHJvbCwgdmFsdWU6IEZvcm1Hcm91cCApLCAuLi4gXS5cbiAgICAvLyBIZXJlLCB3ZSBuZWVkIHRvIGdldCB0aGUgdmFsdWUgb2YgdGhlIGlkIEZvcm1Db250cm9sLlxuICAgIGNvbnN0IGdyb3VwOiBGb3JtR3JvdXAgPSB0aGlzLmZvcm1BcnJheS5hdChpbmRleCkgYXMgRm9ybUdyb3VwO1xuICAgIGNvbnN0IGNvbnRyb2w6IEZvcm1Db250cm9sID0gZ3JvdXAuZ2V0KCdpZCcpIGFzIEZvcm1Db250cm9sO1xuICAgIHJldHVybiBjb250cm9sID8gY29udHJvbC52YWx1ZSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgaXNDb2xsZWN0aW9uT2ZTaW1wbGVUeXBlKGNhc2VGaWVsZDogQ2FzZUZpZWxkKSB7XG4gICAgY29uc3Qgbm90U2ltcGxlID0gWydDb2xsZWN0aW9uJywgJ0NvbXBsZXgnXTtcbiAgICByZXR1cm4gbm90U2ltcGxlLmluZGV4T2YoY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLnR5cGUpIDwgMDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbaWRdPVwiaWQoKVwiPlxuXG4gIDxkaXYgY2xhc3M9XCJwYW5lbCBjb2xsZWN0aW9uLWluZGljYXRvclwiPlxuXG4gICAgPGgyIGNsYXNzPVwiaGVhZGluZy1oMiBlcnJvci1zcGFjaW5nXCI+XG4gICAgICB7eyhjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsKX19XG4gICAgPC9oMj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIHdyaXRlLWNvbGxlY3Rpb24tYWRkLWl0ZW1fX3RvcFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiYWRkSXRlbSh0cnVlKVwiIFtkaXNhYmxlZF09XCJpc05vdEF1dGhvcmlzZWRUb0NyZWF0ZSgpIHx8IGlzU2VhcmNoRmlsdGVyKClcIj57eydBZGQgbmV3JyB8IHJweFRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgPGgyIGNsYXNzPVwiaGVhZGluZy1oMiBlcnJvci1zcGFjaW5nXCIgKm5nSWY9XCJjYXNlRmllbGQuaGludF90ZXh0IHx8IGZvcm1BcnJheS5lcnJvcnNcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiIGNsYXNzPVwiZm9ybS1oaW50XCI+XG4gICAgICA8bWFya2Rvd24+e3tjYXNlRmllbGQuaGludF90ZXh0IHwgcnB4VHJhbnNsYXRlIH19PC9tYXJrZG93bj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiZm9ybUFycmF5LmVycm9yc1wiIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlxuICAgICAgICB7eyhmb3JtQXJyYXkuZXJyb3JzIHwgY2NkRmlyc3RFcnJvcjpjYXNlRmllbGQubGFiZWwpfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2gyPlxuXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbaGlkZGVuXT1cImNhc2VGaWVsZC5oaWRkZW5cIiAqbmdJZj1cImNhc2VGaWVsZC52YWx1ZSAmJiBjYXNlRmllbGQudmFsdWUubGVuZ3RoXCI+XG4gICAgICA8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbGxJdGVtczsgbGV0IGkgPSBpbmRleFwiICNjb2xsZWN0aW9uSXRlbVxuICAgICAgICAgICAgW2lkXT1cInRoaXMuYnVpbGRJZFByZWZpeChpKSArIGlcIiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sbGVjdGlvbi10aXRsZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsb2F0LWxlZnRcIj5cbiAgICAgICAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19sZWdlbmRcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpdGVtLnByZWZpeCArIGlcIj48aDMgY2xhc3M9XCJoZWFkaW5nLWgzXCI+e3tpdGVtTGFiZWwoaSkgfCBycHhUcmFuc2xhdGV9fTwvaDM+PC9sYWJlbD5cbiAgICAgICAgICAgICAgPC9sZWdlbmQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbG9hdC1yaWdodFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW5Nb2RhbChpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTm90QXV0aG9yaXNlZFRvRGVsZXRlKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJSZW1vdmUge3sgaXRlbUxhYmVsKGkpIH19XCI+e3snUmVtb3ZlJyB8IHJweFRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8Y2NkLWZpZWxkLXdyaXRlIFtjYXNlRmllbGRdPVwiaXRlbS5jYXNlRmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkc109XCJjYXNlRmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50XT1cIml0ZW0uY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkUHJlZml4XT1cIml0ZW0ucHJlZml4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJpdGVtLmNhc2VGaWVsZC5oaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNFeHBhbmRlZF09XCJpc0V4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzSW5TZWFyY2hCbG9ja109XCJpc0luU2VhcmNoQmxvY2tcIj5cbiAgICAgICAgICA8L2NjZC1maWVsZC13cml0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiB3cml0ZS1jb2xsZWN0aW9uLWFkZC1pdGVtX19ib3R0b21cIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImFkZEl0ZW0oZmFsc2UpXCIgW2Rpc2FibGVkXT1cImlzTm90QXV0aG9yaXNlZFRvQ3JlYXRlKCkgfHwgaXNTZWFyY2hGaWx0ZXIoKVwiICpuZ0lmPVwiY2FzZUZpZWxkLnZhbHVlICYmIGNhc2VGaWVsZC52YWx1ZS5sZW5ndGhcIj57eydBZGQgbmV3JyB8IHJweFRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuXG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
452
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY29sbGVjdGlvbi1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb2xsZWN0aW9uL3dyaXRlLWNvbGxlY3Rpb24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29sbGVjdGlvbi93cml0ZS1jb2xsZWN0aW9uLWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsSUFBSSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxlQUFlLEVB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QUNGO1lBQzRGLGVBQTBEO1lBQTFELGdGQUEwRDtZQUFDLGNBQTRCO1lBQTVCLHFEQUE0QjtZQUM3SSxlQUE2QztZQUE3QyxzRUFBNkM7WUFVOUIsY0FBK0M7WUFBL0Msd0VBQStDO1lBNkJ3RCxjQUErQztZQUEvQyx3RUFBK0M7OztpRkRqQmxNLDZCQUE2QjtjQUx6QyxTQUFTOzJCQUNFLDRCQUE0Qjs0SUFNL0IsVUFBVTtrQkFEaEIsS0FBSztZQVNXLEtBQUs7a0JBRHJCLFlBQVk7bUJBQUMsZ0JBQWdCOztrRkFUbkIsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0TGVnYWN5RGlhbG9nIGFzIE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xuaW1wb3J0IHsgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFNjcm9sbFRvU2VydmljZSB9IGZyb20gJ0BuaWNreS1sZW5hZXJzL25neC1zY3JvbGwtdG8nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzRnJvbUV4aXN0IH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9maWVsZC10eXBlLm1vZGVsJztcblxuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBQcm9maWxlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3Byb2ZpbGUvcHJvZmlsZS5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZpZWxkcy9maWVsZHMudXRpbHMnO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRvcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS9mb3JtLXZhbGlkYXRvcnMuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9maWxlTm90aWZpZXIgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcm9maWxlL3Byb2ZpbGUubm90aWZpZXInO1xuaW1wb3J0IHsgUmVtb3ZlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGlhbG9ncy9yZW1vdmUtZGlhbG9nL3JlbW92ZS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtd3JpdGUuY29tcG9uZW50JztcblxudHlwZSBDb2xsZWN0aW9uSXRlbSA9IHtcbiAgY2FzZUZpZWxkOiBDYXNlRmllbGQ7XG4gIGl0ZW06IGFueTtcbiAgcHJlZml4OiBzdHJpbmc7XG4gIGluZGV4OiBudW1iZXI7XG4gIGNvbnRhaW5lcjogRm9ybUdyb3VwO1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXdyaXRlLWNvbGxlY3Rpb24tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUtY29sbGVjdGlvbi1maWVsZC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sbGVjdGlvbi1maWVsZC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVDb2xsZWN0aW9uRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmllbGRzOiBDYXNlRmllbGRbXSA9IFtdO1xuXG4gIHB1YmxpYyBmb3JtQXJyYXk6IEZvcm1BcnJheTtcblxuICBwdWJsaWMgcHJvZmlsZTogUHJvZmlsZTtcbiAgcHVibGljIHByb2ZpbGVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBAVmlld0NoaWxkcmVuKCdjb2xsZWN0aW9uSXRlbScpXG4gIHByaXZhdGUgcmVhZG9ubHkgaXRlbXM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgcHVibGljIHJlYWRvbmx5IGNvbGxJdGVtczogQ29sbGVjdGlvbkl0ZW1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxUb1NlcnZpY2U6IFNjcm9sbFRvU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2ZpbGVOb3RpZmllcjogUHJvZmlsZU5vdGlmaWVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHsgLy8gbWVhbmluZyBJIGFtIG5vdCByZW5kZXJlZCBvbiB0aGUgc2VhcmNoL3dvcmtiYXNrZXQgaW5wdXQgZmlsdGVyXG4gICAgICB0aGlzLnByb2ZpbGVTdWJzY3JpcHRpb24gPSB0aGlzLnByb2ZpbGVOb3RpZmllci5wcm9maWxlLnN1YnNjcmliZShfID0+IHRoaXMucHJvZmlsZSA9IF8pO1xuICAgIH1cbiAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZSA9IHRoaXMuY2FzZUZpZWxkLnZhbHVlIHx8IFtdO1xuICAgIHRoaXMuZm9ybUFycmF5ID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1BcnJheShbXSksIHRydWUpIGFzIEZvcm1BcnJheTtcbiAgICB0aGlzLmZvcm1BcnJheVsnY2FzZUZpZWxkJ10gPSB0aGlzLmNhc2VGaWVsZDtcbiAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZS5mb3JFYWNoKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGNvbnN0IHByZWZpeDogc3RyaW5nID0gdGhpcy5idWlsZElkUHJlZml4KGluZGV4KTtcbiAgICAgIGNvbnN0IGNhc2VGaWVsZCA9IHRoaXMuYnVpbGRDYXNlRmllbGQoaXRlbSwgaW5kZXgpO1xuICAgICAgY2FzZUZpZWxkLnBhcmVudCA9IHRoaXMuY2FzZUZpZWxkXG4gICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmdldENvbnRhaW5lcihpbmRleCk7XG4gICAgICBpZiAodGhpcy5jb2xsSXRlbXMubGVuZ3RoIDw9IGluZGV4KSB7XG4gICAgICAgIHRoaXMuY29sbEl0ZW1zLmxlbmd0aCA9IGluZGV4ICsgMTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY29sbEl0ZW1zW2luZGV4XSA9IHsgY2FzZUZpZWxkLCBpdGVtLCBwcmVmaXgsIGluZGV4LCBjb250YWluZXIgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9maWxlU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnByb2ZpbGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYnVpbGRDYXNlRmllbGQoaXRlbSwgaW5kZXg6IG51bWJlciwgaXNOZXcgPSBmYWxzZSk6IENhc2VGaWVsZCB7XG4gICAgLyoqXG4gICAgICogV2hhdCBmb2xsb3cgaXMgY29kZSB0aGF0IG1ha2VzIG1lIHdhbnQgdG8gZ28ganVtcCBpbiB0aGUgc2hvd2VyIVxuICAgICAqIEJhc2ljYWxseSwgd2UgbGFuZCBpbiBoZXJlIHJlcGVhdGVkbHkgYmVjYXVzZSBvZiB0aGUgYmluZGluZywgYW5kXG4gICAgICogdGhpcyBpcyB3aGF0IGFwcGVhcnMgdG8gYmUgaGFwcGVuaW5nOlxuICAgICAqICAgMS4gdGhpcy5mb3JtQXJyYXkgY29udGFpbnMgbm8gY29udHJvbHMgYXQgYWxsLlxuICAgICAqICAgICAgdGhpcy5mb3JtQXJyYXkudmFsdWUgPSBbXTtcbiAgICAgKiAgIDIuIHRoaXMuZm9ybUFycmF5IGNvbnRhaW5zIGEgRm9ybUdyb3VwLCB3aGljaCBjb250YWlucyBhIHNpbmdsZVxuICAgICAqICAgICAgRm9ybUNvbnRyb2wgd2l0aCB0aGUgaWQgJ2NvZGUnLlxuICAgICAqICAgICAgdGhpcy5mb3JtQXJyYXkudmFsdWUgPSBbeyBjb2RlOiBudWxsIH1dXG4gICAgICogICAzLiB0aGlzLmZvcm1BcnJheSBjb250YWlucyB3aGF0IGlzIGJlaW5nIHNldCB1cCBiZWxvdy5cbiAgICAgKiAgICAgIHRoaXMuZm9ybUFycmF5LnZhbHVlID0gW3sgY29kZTogbnVsbCwgaWQ6IG51bGwsIHZhbHVlOiB7IGNvZGU6IG51bGwgfSB9XVxuICAgICAqICAgNCwgNSwgNiwgZXRjIC0gdGhlIHNhbWUgYXMgMy5cbiAgICAgKi9cbiAgICBsZXQgZ3JvdXA6IEZvcm1Hcm91cDtcbiAgICBpZiAodGhpcy5mb3JtQXJyYXkgJiYgKGluZGV4IDwgdGhpcy5mb3JtQXJyYXkubGVuZ3RoKSkge1xuICAgICAgZ3JvdXAgPSB0aGlzLmZvcm1BcnJheS5hdChpbmRleCkgYXMgRm9ybUdyb3VwO1xuICAgIH0gZWxzZSB7XG4gICAgICBncm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgIH1cblxuICAgIGxldCB2YWx1ZTtcbiAgICBpZiAodGhpcy5pc0NvbGxlY3Rpb25PZlNpbXBsZVR5cGUodGhpcy5jYXNlRmllbGQpKSB7XG4gICAgICB2YWx1ZSA9IGdyb3VwLmdldCgndmFsdWUnKSBhcyBGb3JtQ29udHJvbDtcbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgdmFsdWUgPSBuZXcgRm9ybUNvbnRyb2woaXRlbS52YWx1ZSk7XG4gICAgICAgIC8vIE5vdyBhZGQgdGhlIHZhbHVlIEZvcm1Db250cm9sIHRvIHRoZSBvdXRlciBncm91cC5cbiAgICAgICAgZ3JvdXAuYWRkQ29udHJvbCgndmFsdWUnLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbHVlID0gZ3JvdXAuZ2V0KCd2YWx1ZScpIGFzIEZvcm1Hcm91cDtcbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgdmFsdWUgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZ3JvdXAuY29udHJvbHMpKSB7XG4gICAgICAgICAgdmFsdWUuYWRkQ29udHJvbChrZXksIGdyb3VwLmdldChrZXkpKTtcbiAgICAgICAgICAvLyBET04nVCByZW1vdmUgdGhlIGNvbnRyb2wgZm9yIHRoaXMga2V5IGZyb20gdGhlIG91dGVyIGdyb3VwIG9yIGl0XG4gICAgICAgICAgLy8gZ29lcyBhd3J5LiBTbyBET04nVCB1bmNvbW1lbnQgdGhlIGJlbG93IGxpbmUhXG4gICAgICAgICAgLy8gZ3JvdXAucmVtb3ZlQ29udHJvbChrZXkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIE5vdyBhZGQgdGhlIHZhbHVlIEZvcm1Hcm91cCB0byB0aGUgb3V0ZXIgZ3JvdXAuXG4gICAgICAgIGdyb3VwLmFkZENvbnRyb2woJ3ZhbHVlJywgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgaWQgPSBncm91cC5nZXQoJ2lkJykgYXMgRm9ybUNvbnRyb2w7XG4gICAgLy8gSWYgd2UncmUgbm90IGluIHNjZW5hcmlvIDMsIGFib3ZlLCB3ZSBuZWVkIHRvIGRvIHNvbWUgamlnZ2VyeSBwb2tlcnlcbiAgICAvLyBhbmQgc2V0IHVwIHRoZSBpZCBhbmQgdmFsdWUgY29udHJvbHMuXG4gICAgLy8gQWxzbyBzZXQgdXAgYW4gaWQgY29udHJvbCBpZiBpdCBkb2Vzbid0IHlldCBleGlzdC5cbiAgICBpZiAoIWlkKSB7XG4gICAgICBpZCA9IG5ldyBGb3JtQ29udHJvbChpdGVtLmlkKTtcbiAgICAgIGdyb3VwLmFkZENvbnRyb2woJ2lkJywgaWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFnYWluLCB2ZXJ5IHNvcnJ5LiBJJ3ZlIG5vdCBmb3VuZCBhIGJldHRlciB3YXkgdG8gcHJvZHVjZSB0aGVcbiAgICAgKiBvdXRwdXQgbmVlZGVkIGZvciB3aGF0IG5lZWRzIHRvIGJlIHNlbnQgdG8gdGhlIHNlcnZlciB5ZXQuXG4gICAgICovXG5cbiAgICAvLyBOb3csIGFkZCB0aGUgb3V0ZXIgZ3JvdXAgdG8gdGhlIGFycmF5IChvciByZXBsYWNlIGl0KS5cbiAgICBpZiAoaW5kZXggPCB0aGlzLmZvcm1BcnJheS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZm9ybUFycmF5LnNldENvbnRyb2woaW5kZXgsIGdyb3VwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtQXJyYXkucHVzaChncm91cCk7XG4gICAgfVxuXG4gICAgLy8gTm93IHNldCB1cCB0aGUgQ2FzZUZpZWxkIGFuZCB2YWxpZGF0aW9uLlxuICAgIGxldCBjZmlkOiBzdHJpbmc7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcbiAgICAgIGNmaWQgPSAndmFsdWUnO1xuICAgIH0gZWxzZSB7XG4gICAgICBjZmlkID0gaW5kZXgudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICAvLyBpc05ldzpcbiAgICBjb25zdCBjZjogQ2FzZUZpZWxkID0gdGhpcy5uZXdDYXNlRmllbGQoY2ZpZCwgaXRlbSwgaW5kZXgsIGlzTmV3KTtcbiAgICBGb3JtVmFsaWRhdG9yc1NlcnZpY2UuYWRkVmFsaWRhdG9ycyhjZiwgdmFsdWUpO1xuICAgIEZpZWxkc1V0aWxzLmFkZENhc2VGaWVsZEFuZENvbXBvbmVudFJlZmVyZW5jZXModmFsdWUsIGNmLCB0aGlzKTtcbiAgICByZXR1cm4gY2Y7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRJZFByZWZpeChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBwcmVmaXggPSBgJHt0aGlzLmlkUHJlZml4fSR7dGhpcy5jYXNlRmllbGQuaWR9X2A7XG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlPy50eXBlID09PSAnQ29tcGxleCcpIHtcbiAgICAgIHJldHVybiBgJHtwcmVmaXh9JHtpbmRleH1fYDtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJlZml4O1xuICB9XG5cbiAgcHVibGljIGlzU2VhcmNoRmlsdGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzSW5TZWFyY2hCbG9jayAmJiB0aGlzLmNvbGxJdGVtcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHVibGljIGFkZEl0ZW0oZG9TY3JvbGw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLyBNYW51YWxseSByZXNldHRpbmcgZXJyb3JzIGlzIHJlcXVpcmVkIHRvIHByZXZlbnQgYEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3JgXG4gICAgdGhpcy5mb3JtQXJyYXkuc2V0RXJyb3JzKG51bGwpO1xuICAgIGxldCBpdGVtID0geyB2YWx1ZTogbnVsbCB9O1xuXG4gICAgaWYgKHRoaXMuaXNDb2xsZWN0aW9uRHluYW1pYygpKSB7XG4gICAgICBpdGVtID0geyAuLi50aGlzLmNhc2VGaWVsZC52YWx1ZVt0aGlzLmNhc2VGaWVsZC52YWx1ZS5sZW5ndGggLSAxXSB9O1xuICAgICAgY29uc3Qga2V5OiBudW1iZXIgPSBOdW1iZXIoaXRlbVsnaWQnXVtpdGVtWydpZCddLmxlbmd0aCAtIDFdKSArIDE7XG4gICAgICAoaXRlbSBhcyBhbnkpLmlkID0gaXRlbVsnaWQnXS5yZXBsYWNlKC8uJC8sIGtleS50b1N0cmluZygpKTtcbiAgICB9XG4gICAgdGhpcy5jYXNlRmllbGQudmFsdWUucHVzaChpdGVtKTtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY2FzZUZpZWxkLnZhbHVlLmxlbmd0aCAtIDE7XG4gICAgY29uc3QgY2FzZUZpZWxkOiBDYXNlRmllbGQgPSB0aGlzLmJ1aWxkQ2FzZUZpZWxkKGl0ZW0sIGluZGV4LCB0cnVlKTtcbiAgICBjb25zdCBwcmVmaXggPSB0aGlzLmJ1aWxkSWRQcmVmaXgoaW5kZXgpO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZ2V0Q29udGFpbmVyKGluZGV4KTtcbiAgICB0aGlzLmNvbGxJdGVtcy5wdXNoKHsgY2FzZUZpZWxkLCBpdGVtLCBpbmRleCwgcHJlZml4LCBjb250YWluZXIgfSk7XG5cbiAgICAvLyBVcGRhdGUgRE9NIHJlcXVpcmVkIGFmdGVyIHB1c2hpbmcgYSBuZXcgaXRlbSB0byBkbyB0aGUgbmV4dCBzdGVwcyAoaS5lLiBzY3JvbGxpbmcgYW5kIGZvY3VzaW5nKVxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgaWYgKGRvU2Nyb2xsKSB7XG4gICAgICB0aGlzLnNjcm9sbFRvU2VydmljZS5zY3JvbGxUbyh7XG4gICAgICAgIHRhcmdldDogYCR7dGhpcy5idWlsZElkUHJlZml4KGluZGV4KX0ke2luZGV4fWAsXG4gICAgICAgIGR1cmF0aW9uOiAxMDAwLFxuICAgICAgICBvZmZzZXQ6IC0xNTAsXG4gICAgICB9KVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHsgfSwgY29uc29sZS5lcnJvcik7XG4gICAgfVxuXG4gICAgdGhpcy5mb2N1c0xhc3RJdGVtKCk7XG4gIH1cblxuICBwcml2YXRlIGlzQ29sbGVjdGlvbkR5bmFtaWMoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlIHx8ICF0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUuaWQgPT09ICdEeW5hbWljUmFkaW9MaXN0JztcbiAgfVxuXG4gIHByaXZhdGUgbmV3Q2FzZUZpZWxkKGlkOiBzdHJpbmcsIGl0ZW0sIGluZGV4LCBpc05ldyA9IGZhbHNlKSB7XG4gICAgY29uc3QgaXNOb3RBdXRob3Jpc2VkVG9VcGRhdGUgPSAhaXNOZXcgJiYgdGhpcy5pc05vdEF1dGhvcmlzZWRUb1VwZGF0ZShpbmRleCk7XG5cbiAgICBjb25zdCBmaWVsZFR5cGUgPSBwbGFpblRvQ2xhc3NGcm9tRXhpc3QobmV3IEZpZWxkVHlwZSgpLCB0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZSk7XG4gICAgaWYgKGZpZWxkVHlwZS5jb21wbGV4X2ZpZWxkcykge1xuICAgICAgZmllbGRUeXBlLmNvbXBsZXhfZmllbGRzXG4gICAgICAgIC5maWx0ZXIoKGNmOiBDYXNlRmllbGQpID0+ICEhY2Yuc2hvd19jb25kaXRpb24pXG4gICAgICAgIC5tYXAoKGNmOiBDYXNlRmllbGQpID0+IGNmLmhpZGRlbiA9IHRydWUpO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0aGUgYml0IHNldHRpbmcgdGhlIGhpZGRlbiBmbGFnIGhlcmUgYXMgaXQncyBhbiBpdGVtIGluIHRoZSBhcnJheSBhbmRcbiAgICAvLyBpdHMgaGlkZGVuIHN0YXRlIGlzbid0IGluZGVwZW5kZW50bHkgcmUtZXZhbHVhdGVkIHdoZW4gdGhlIGZvcm0gaXMgY2hhbmdlZC5cbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzRnJvbUV4aXN0KG5ldyBDYXNlRmllbGQoKSwge1xuICAgICAgaWQsXG4gICAgICBmaWVsZF90eXBlOiBmaWVsZFR5cGUsXG4gICAgICBkaXNwbGF5X2NvbnRleHQ6IGlzTm90QXV0aG9yaXNlZFRvVXBkYXRlID8gJ1JFQURPTkxZJyA6IHRoaXMuY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dCxcbiAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgbGFiZWw6IG51bGwsXG4gICAgICBhY2xzOiB0aGlzLmNhc2VGaWVsZC5hY2xzXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldENvbnRhaW5lcihpbmRleDogbnVtYmVyKTogRm9ybUdyb3VwIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybUFycmF5LmF0KGluZGV4KS5nZXQoJ3ZhbHVlJyk7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1BcnJheS5hdChpbmRleCkgYXMgRm9ybUdyb3VwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNMYXN0SXRlbSgpIHtcbiAgICBjb25zdCBpdGVtOiBhbnkgPSB0aGlzLml0ZW1zLmxhc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZm9ybS1jb250cm9sJyk7XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIGl0ZW0uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUl0ZW0oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuY29sbEl0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5yZXNldElkcyhpbmRleCk7XG4gICAgdGhpcy5jYXNlRmllbGQudmFsdWUuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLmZvcm1BcnJheS5yZW1vdmVBdChpbmRleCk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0SWRzKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBmb3IgKGxldCBpID0gaW5kZXg7IGkgPCB0aGlzLmNvbGxJdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY291bnRlciA9IGkgKyAxO1xuICAgICAgaWYgKHRoaXMuY29sbEl0ZW1zW2ldLmluZGV4ICYmIHRoaXMuY29sbEl0ZW1zW2ldLmluZGV4ID09PSBjb3VudGVyKSB7XG4gICAgICAgIHRoaXMuY29sbEl0ZW1zW2ldLmluZGV4ID0gaTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuY29sbEl0ZW1zW2ldLmNhc2VGaWVsZCAmJiB0aGlzLmNvbGxJdGVtc1tpXS5jYXNlRmllbGQuaWRcbiAgICAgICAgJiYgdGhpcy5jb2xsSXRlbXNbaV0uY2FzZUZpZWxkLmlkID09PSBjb3VudGVyLnRvU3RyaW5nKCkpIHtcbiAgICAgICAgdGhpcy5jb2xsSXRlbXNbaV0uY2FzZUZpZWxkLmlkID0gaS50b1N0cmluZygpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpZFByZWZpeDEgPSB0aGlzLmNvbGxJdGVtc1tpXS5wcmVmaXggPyB0aGlzLmNvbGxJdGVtc1tpXS5wcmVmaXgucmVwbGFjZShgXyR7Y291bnRlci50b1N0cmluZygpfWAsIGBfJHtpLnRvU3RyaW5nKCl9YCkgOiAnJztcbiAgICAgIGNvbnN0IGlkUHJlZml4MUN1cnJlbnQgPSBpZFByZWZpeDEucmVwbGFjZShgXyR7aS50b1N0cmluZygpfWAsIGBfJHtjb3VudGVyLnRvU3RyaW5nKCl9YCk7XG5cbiAgICAgIGlmICh0aGlzLmNvbGxJdGVtc1tpXS5wcmVmaXggJiYgdGhpcy5jb2xsSXRlbXNbaV0ucHJlZml4ID09PSBpZFByZWZpeDFDdXJyZW50KSB7XG4gICAgICAgIHRoaXMuY29sbEl0ZW1zW2ldLnByZWZpeCA9IGlkUHJlZml4MTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaWRQcmVmaXhBdmFpbGFibGUgPSAhIXRoaXMuY29sbEl0ZW1zW2ldLmNvbnRhaW5lcj8uWydjb21wb25lbnQnXT8uaWRQcmVmaXg7XG5cbiAgICAgIGNvbnN0IGlkUHJlZml4MiA9IGlkUHJlZml4QXZhaWxhYmxlID9cbiAgICAgICAgdGhpcy5jb2xsSXRlbXNbaV0uY29udGFpbmVyWydjb21wb25lbnQnXS5pZFByZWZpeC5yZXBsYWNlKGBfJHtjb3VudGVyLnRvU3RyaW5nKCl9YCwgYF8ke2kudG9TdHJpbmcoKX1gKSA6ICcnO1xuICAgICAgY29uc3QgaWRQcmVmaXgyY3VycmVudCA9IGlkUHJlZml4Mi5yZXBsYWNlKGBfJHtpLnRvU3RyaW5nKCl9YCwgYF8ke2NvdW50ZXIudG9TdHJpbmcoKX1gKTtcblxuICAgICAgaWYgKGlkUHJlZml4QXZhaWxhYmxlICYmIHRoaXMuY29sbEl0ZW1zW2ldLmNvbnRhaW5lclsnY29tcG9uZW50J10uaWRQcmVmaXggPT09IGlkUHJlZml4MmN1cnJlbnQpIHtcbiAgICAgICAgdGhpcy5jb2xsSXRlbXNbaV0uY29udGFpbmVyWydjb21wb25lbnQnXS5pZFByZWZpeCA9IGlkUHJlZml4MjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXRlbUxhYmVsKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAoaW5kZXgpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmNhc2VGaWVsZC5sYWJlbH0gJHtpbmRleCArIDF9YDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY2FzZUZpZWxkLmxhYmVsO1xuICB9XG5cbiAgcHVibGljIGlzTm90QXV0aG9yaXNlZFRvQ3JlYXRlKCkge1xuICAgIGlmICh0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuICF0aGlzLmdldENvbGxlY3Rpb25QZXJtaXNzaW9uKHRoaXMuY2FzZUZpZWxkLCAnYWxsb3dJbnNlcnQnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb2xsZWN0aW9uUGVybWlzc2lvbihmaWVsZDogQ2FzZUZpZWxkLCB0eXBlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlciAmJlxuICAgICAgZmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlci5zcGxpdCgnIycpXG4gICAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtLnN0YXJ0c1dpdGgoJ0NPTExFQ1RJT04oJykpWzBdXG4gICAgICAgIC5pbmNsdWRlcyh0eXBlKTtcbiAgfVxuXG4gIHB1YmxpYyBpc05vdEF1dGhvcmlzZWRUb1VwZGF0ZShpbmRleCkge1xuICAgIGlmICh0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLy8gV2FzIHJlYXNzZXNlZCBhcyBwYXJ0IG9mIEVVSS0zNTA1LiBUaGVyZSBpcyBzdGlsbCBhIGNhdmVhdCBhcm91bmQgQ1JELCBidXQgdGhhdCB3YXMgZGVlbWVkIGFuIHVubGlrZWx5IHNjZW5hcmlvXG4gICAgY29uc3QgaWQgPSB0aGlzLmdldENvbnRyb2xJZEF0KGluZGV4KTtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGlmICghIXRoaXMucHJvZmlsZS51c2VyICYmICEhdGhpcy5wcm9maWxlLnVzZXIuaWRhbSkge1xuICAgICAgICBjb25zdCB1cGRhdGVSb2xlID0gdGhpcy5wcm9maWxlLnVzZXIuaWRhbS5yb2xlcy5maW5kKHJvbGUgPT4gdGhpcy5oYXNVcGRhdGVBY2Nlc3Mocm9sZSkpO1xuICAgICAgICByZXR1cm4gIXVwZGF0ZVJvbGU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNVcGRhdGVBY2Nlc3Mocm9sZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5jYXNlRmllbGQuYWNscy5maW5kKGFjbCA9PiBhY2wucm9sZSA9PT0gcm9sZSAmJiBhY2wudXBkYXRlID09PSB0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBpc05vdEF1dGhvcmlzZWRUb0RlbGV0ZShpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuaXNFeHBhbmRlZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBTaG91bGQgYmUgYWJsZSB0byBkZWxldGUgaWYgY3JlYXRpbmcgYSBjYXNlIGV2ZW4gaWYgXCJEXCIgaXMgYWJzZW50LCBoZW5jZTpcbiAgICBjb25zdCBpZCA9IHRoaXMuZ2V0Q29udHJvbElkQXQoaW5kZXgpO1xuICAgIHJldHVybiAhIWlkICYmICF0aGlzLmdldENvbGxlY3Rpb25QZXJtaXNzaW9uKHRoaXMuY2FzZUZpZWxkLCAnYWxsb3dEZWxldGUnKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuTW9kYWwoaTogbnVtYmVyKSB7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgIGRpYWxvZ0NvbmZpZy5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xuICAgIGRpYWxvZ0NvbmZpZy5hdXRvRm9jdXMgPSB0cnVlO1xuICAgIGRpYWxvZ0NvbmZpZy5hcmlhTGFiZWwgPSAnTGFiZWwnO1xuICAgIGRpYWxvZ0NvbmZpZy5oZWlnaHQgPSAnMjIwcHgnO1xuICAgIGRpYWxvZ0NvbmZpZy53aWR0aCA9ICc1NTBweCc7XG4gICAgZGlhbG9nQ29uZmlnLnBhbmVsQ2xhc3MgPSAnZGlhbG9nJztcblxuICAgIGRpYWxvZ0NvbmZpZy5jbG9zZU9uTmF2aWdhdGlvbiA9IGZhbHNlO1xuICAgIGRpYWxvZ0NvbmZpZy5wb3NpdGlvbiA9IHtcbiAgICAgIHRvcDogYCR7d2luZG93LmlubmVySGVpZ2h0IC8gMiAtIDExMH1weGAsIGxlZnQ6IGAke3dpbmRvdy5pbm5lcldpZHRoIC8gMiAtIDI3NX1weGBcbiAgICB9O1xuXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihSZW1vdmVEaWFsb2dDb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIGlmIChyZXN1bHQgPT09ICdSZW1vdmUnKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlSXRlbShpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBsaWVkIGZ1bGwgc29sdXRpb24gYXMgcGFydCBvZiBFVUktMzUwNVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRDb250cm9sSWRBdChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcblxuICAgIC8vIHRoaXMuZm9ybUFycmF5IGNvbnRhaW5zIFsgRm9ybUdyb3VwKCBpZDogRm9ybUNvbnRyb2wsIHZhbHVlOiBGb3JtR3JvdXAgKSwgLi4uIF0uXG4gICAgLy8gSGVyZSwgd2UgbmVlZCB0byBnZXQgdGhlIHZhbHVlIG9mIHRoZSBpZCBGb3JtQ29udHJvbC5cbiAgICBjb25zdCBncm91cDogRm9ybUdyb3VwID0gdGhpcy5mb3JtQXJyYXkuYXQoaW5kZXgpIGFzIEZvcm1Hcm91cDtcbiAgICBjb25zdCBjb250cm9sOiBGb3JtQ29udHJvbCA9IGdyb3VwLmdldCgnaWQnKSBhcyBGb3JtQ29udHJvbDtcbiAgICByZXR1cm4gY29udHJvbCA/IGNvbnRyb2wudmFsdWUgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGlzQ29sbGVjdGlvbk9mU2ltcGxlVHlwZShjYXNlRmllbGQ6IENhc2VGaWVsZCkge1xuICAgIGNvbnN0IG5vdFNpbXBsZSA9IFsnQ29sbGVjdGlvbicsICdDb21wbGV4J107XG4gICAgcmV0dXJuIG5vdFNpbXBsZS5pbmRleE9mKGNhc2VGaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZS50eXBlKSA8IDA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2lkXT1cImlkKClcIj5cblxuICA8ZGl2IGNsYXNzPVwicGFuZWwgY29sbGVjdGlvbi1pbmRpY2F0b3JcIj5cblxuICAgIDxoMiBjbGFzcz1cImhlYWRpbmctaDIgZXJyb3Itc3BhY2luZ1wiPlxuICAgICAge3soY2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbCl9fVxuICAgIDwvaDI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiB3cml0ZS1jb2xsZWN0aW9uLWFkZC1pdGVtX190b3BcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImFkZEl0ZW0odHJ1ZSlcIiBbZGlzYWJsZWRdPVwiaXNOb3RBdXRob3Jpc2VkVG9DcmVhdGUoKSB8fCBpc1NlYXJjaEZpbHRlcigpXCI+e3snQWRkIG5ldycgfCBycHhUcmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgIDxoMiBjbGFzcz1cImhlYWRpbmctaDIgZXJyb3Itc3BhY2luZ1wiICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dCB8fCBmb3JtQXJyYXkuZXJyb3JzXCI+XG4gICAgICA8c3BhbiAqbmdJZj1cImNhc2VGaWVsZC5oaW50X3RleHRcIiBjbGFzcz1cImZvcm0taGludFwiPlxuICAgICAgPG1hcmtkb3duPnt7Y2FzZUZpZWxkLmhpbnRfdGV4dCB8IHJweFRyYW5zbGF0ZSB9fTwvbWFya2Rvd24+XG4gICAgICA8Y2NkLW1hcmtkb3duIFtjb250ZW50XT1cImNhc2VGaWVsZC5oaW50X3RleHRcIj48L2NjZC1tYXJrZG93bj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiZm9ybUFycmF5LmVycm9yc1wiIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlxuICAgICAgICB7eyhmb3JtQXJyYXkuZXJyb3JzIHwgY2NkRmlyc3RFcnJvcjpjYXNlRmllbGQubGFiZWwpfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2gyPlxuXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbaGlkZGVuXT1cImNhc2VGaWVsZC5oaWRkZW5cIiAqbmdJZj1cImNhc2VGaWVsZC52YWx1ZSAmJiBjYXNlRmllbGQudmFsdWUubGVuZ3RoXCI+XG4gICAgICA8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbGxJdGVtczsgbGV0IGkgPSBpbmRleFwiICNjb2xsZWN0aW9uSXRlbVxuICAgICAgICAgICAgW2lkXT1cInRoaXMuYnVpbGRJZFByZWZpeChpKSArIGlcIiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sbGVjdGlvbi10aXRsZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsb2F0LWxlZnRcIj5cbiAgICAgICAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19sZWdlbmRcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpdGVtLnByZWZpeCArIGlcIj48aDMgY2xhc3M9XCJoZWFkaW5nLWgzXCI+e3tpdGVtTGFiZWwoaSkgfCBycHhUcmFuc2xhdGV9fTwvaDM+PC9sYWJlbD5cbiAgICAgICAgICAgICAgPC9sZWdlbmQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbG9hdC1yaWdodFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW5Nb2RhbChpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTm90QXV0aG9yaXNlZFRvRGVsZXRlKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJSZW1vdmUge3sgaXRlbUxhYmVsKGkpIH19XCI+e3snUmVtb3ZlJyB8IHJweFRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8Y2NkLWZpZWxkLXdyaXRlIFtjYXNlRmllbGRdPVwiaXRlbS5jYXNlRmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkc109XCJjYXNlRmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50XT1cIml0ZW0uY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkUHJlZml4XT1cIml0ZW0ucHJlZml4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJpdGVtLmNhc2VGaWVsZC5oaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNFeHBhbmRlZF09XCJpc0V4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzSW5TZWFyY2hCbG9ja109XCJpc0luU2VhcmNoQmxvY2tcIj5cbiAgICAgICAgICA8L2NjZC1maWVsZC13cml0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiB3cml0ZS1jb2xsZWN0aW9uLWFkZC1pdGVtX19ib3R0b21cIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImFkZEl0ZW0oZmFsc2UpXCIgW2Rpc2FibGVkXT1cImlzTm90QXV0aG9yaXNlZFRvQ3JlYXRlKCkgfHwgaXNTZWFyY2hGaWx0ZXIoKVwiICpuZ0lmPVwiY2FzZUZpZWxkLnZhbHVlICYmIGNhc2VGaWVsZC52YWx1ZS5sZW5ndGhcIj57eydBZGQgbmV3JyB8IHJweFRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuXG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
@@ -706,7 +706,7 @@ i0.ɵɵsetComponentScope(WriteOrganisationFieldComponent, function () { return [
706
706
  i0.ɵɵsetComponentScope(WriteOrderSummaryFieldComponent, function () { return [ReadOrderSummaryFieldComponent]; }, []);
707
707
  i0.ɵɵsetComponentScope(WriteDateContainerFieldComponent, function () { return [i5.NgIf, i4.NgControlStatusGroup, i4.FormGroupDirective, DatetimePickerComponent,
708
708
  WriteDateFieldComponent]; }, []);
709
- i0.ɵɵsetComponentScope(WriteCollectionFieldComponent, function () { return [i5.NgForOf, i5.NgIf, i4.NgControlStatusGroup, i4.FormGroupDirective, i1.MarkdownComponent, FieldWriteComponent]; }, function () { return [i11.FieldLabelPipe, i13.FirstErrorPipe, i3.RpxTranslatePipe]; });
709
+ i0.ɵɵsetComponentScope(WriteCollectionFieldComponent, function () { return [i5.NgForOf, i5.NgIf, i4.NgControlStatusGroup, i4.FormGroupDirective, i1.MarkdownComponent, i7.MarkdownComponent, FieldWriteComponent]; }, function () { return [i11.FieldLabelPipe, i13.FirstErrorPipe, i3.RpxTranslatePipe]; });
710
710
  i0.ɵɵsetComponentScope(
711
711
  // ComponentLauncher web components
712
712
  CaseFileViewFieldComponent, function () { return [i5.NgForOf, i5.NgIf, i14.MediaViewerComponent, CaseFileViewFolderComponent]; }, []);
@@ -745,4 +745,4 @@ i0.ɵɵsetComponentScope(
745
745
  // Case event completion
746
746
  CaseEventCompletionComponent, function () { return [i5.NgIf, CaseEventCompletionTaskCancelledComponent,
747
747
  CaseEventCompletionTaskReassignedComponent]; }, []);
748
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFsZXR0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9wYWxldHRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxSSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFZLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMkJBQTJCLElBQUkscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RyxPQUFPLEVBQUUsc0JBQXNCLElBQUksZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSx3QkFBd0IsSUFBSSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxvQkFBb0IsSUFBSSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFn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RTdCLGtCQUFrQjt1QkFDbEIseUJBQXlCOztBQUl6QixrQ0FBa0M7QUFDbEMsaUNBQWlDLDZEQUNqQyxxQkFBcUI7SUFDckIsa0JBQWtCO3VCQURsQixxQkFBcUIsaUVBVXJCLDZCQUE2Qjt1QkFSN0IsaUNBQWlDLGtKQUZqQyxxQkFBcUI7SUFJckIsK0JBQStCO3VCQUQvQiw2QkFBNkIseU9BQzdCLCtCQUErQjtJQUcvQiw0QkFBNEI7dUJBRjVCLDhCQUE4Qiw2Q0FEOUIsK0JBQStCO0lBTS9CLDZCQUE2QjtJQUM3Qiw2QkFBNkI7dUJBTDdCLCtCQUErQix3RUE1Qy9CLDZCQUE2Qjt1QkFnRDdCLDZCQUE2QixpQ0F0RzdCLDRCQUE0Qjt1QkF1RzVCLDZCQUE2QjtJQUc3Qix3QkFBd0I7SUFDeEIsNEJBQTRCOztBQUQ1Qix3QkFBd0I7QUFDeEIsNEJBQTRCLGlDQUM1Qix5Q0FBeUM7SUFDekMsMENBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmd4TWF0RGF0ZXRpbWVQaWNrZXJNb2R1bGUsIE5neE1hdE5hdGl2ZURhdGVNb2R1bGUsIE5neE1hdFRpbWVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlcic7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ2RrVHJlZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgTmdNb2R1bGUsIFByb3ZpZGVyLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdExlZ2FjeUF1dG9jb21wbGV0ZU1vZHVsZSBhcyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1BVF9MRUdBQ1lfREFURV9MT0NBTEUgYXMgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWNvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0TGVnYWN5RGlhbG9nTW9kdWxlIGFzIE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xuaW1wb3J0IHsgTWF0TGVnYWN5Rm9ybUZpZWxkTW9kdWxlIGFzIE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdExlZ2FjeUlucHV0TW9kdWxlIGFzIE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWlucHV0JztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQYXltZW50TGliTW9kdWxlIH0gZnJvbSAnQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVkaWFWaWV3ZXJNb2R1bGUgfSBmcm9tICdAaG1jdHMvbWVkaWEtdmlld2VyJztcbmltcG9ydCB7IFNjcm9sbFRvTW9kdWxlIH0gZnJvbSAnQG5pY2t5LWxlbmFlcnMvbmd4LXNjcm9sbC10byc7XG5pbXBvcnQgeyBNYXJrZG93bk1vZHVsZSB9IGZyb20gJ25neC1tYXJrZG93bic7XG5pbXBvcnQgeyBScHhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ3JweC14dWktdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgSGVhZGVyc01vZHVsZSwgVGFic01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQmFubmVyc01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvYmFubmVycy9iYW5uZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBCb2R5TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9ib2R5L2JvZHkubW9kdWxlJztcbmltcG9ydCB7IEZvb3RlcnNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9mb3JtL2Zvcm0ubW9kdWxlJztcbmltcG9ydCB7IENhc2VFZGl0RGF0YU1vZHVsZSB9IGZyb20gJy4uLy4uL2NvbW1vbnMvY2FzZS1lZGl0LWRhdGEnO1xuaW1wb3J0IHsgTGFiZWxTdWJzdGl0dXRvck1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc3Vic3RpdHV0b3InO1xuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9waXBlcy9waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgQ2FzZUZsYWdSZWZkYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nhc2UtZmxhZy9jYXNlLWZsYWctcmVmZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbkRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLWRhdGEtc2VydmljZS9jb21tb24tZGF0YS1zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1WYWxpZGF0b3JzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0vZm9ybS12YWxpZGF0b3JzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2p1cmlzZGljdGlvbi9qdXJpc2RpY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBMb2FkaW5nTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9hZGluZy9sb2FkaW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2luZG93JztcbmltcG9ydCB7IENhc2VFdmVudENvbXBsZXRpb25Db21wb25lbnQsIENhc2VFdmVudENvbXBsZXRpb25UYXNrQ2FuY2VsbGVkQ29tcG9uZW50LCBDYXNlRXZlbnRDb21wbGV0aW9uVGFza1JlYXNzaWduZWRDb21wb25lbnQgfSBmcm9tICcuLi9jYXNlLWVkaXRvci9jYXNlLWV2ZW50LWNvbXBsZXRpb24nO1xuaW1wb3J0IHsgV3JpdGVBZGRyZXNzRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2FkZHJlc3Mvd3JpdGUtYWRkcmVzcy1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmllbGRSZWFkQ29tcG9uZW50LCBGaWVsZFJlYWRMYWJlbENvbXBvbmVudCwgRmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1maWVsZCc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdPdmVybGF5TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1maWxlLXZpZXcnO1xuaW1wb3J0IHsgQ2FzZUZpbGVWaWV3RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3L2Nhc2UtZmlsZS12aWV3LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBDYXNlRmlsZVZpZXdGb2xkZXJTZWxlY3RvckNvbXBvbmVudFxufSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyRG9jdW1lbnRBY3Rpb25zQ29tcG9uZW50XG59IGZyb20gJy4vY2FzZS1maWxlLXZpZXcvY29tcG9uZW50cy9jYXNlLWZpbGUtdmlldy1mb2xkZXIvY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnMvY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIENhc2VGaWxlVmlld0ZvbGRlclNvcnRDb21wb25lbnRcbn0gZnJvbSAnLi9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXItc29ydC9jYXNlLWZpbGUtdmlldy1mb2xkZXItc29ydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FzZUZpbGVWaWV3Rm9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEFkZENvbW1lbnRzQ29tcG9uZW50LFxuICBDYXNlRmxhZ1N1bW1hcnlMaXN0Q29tcG9uZW50LFxuICBDYXNlRmxhZ1RhYmxlQ29tcG9uZW50LFxuICBDb25maXJtRmxhZ1N0YXR1c0NvbXBvbmVudCxcbiAgRmxhZ0ZpZWxkRGlzcGxheVBpcGUsXG4gIExhbmd1YWdlSW50ZXJwcmV0ZXJEaXNwbGF5UGlwZSxcbiAgTWFuYWdlQ2FzZUZsYWdzQ29tcG9uZW50LFxuICBNYW5hZ2VDYXNlRmxhZ3NMYWJlbERpc3BsYXlQaXBlLFxuICBSZWFkQ2FzZUZsYWdGaWVsZENvbXBvbmVudCxcbiAgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbXBvbmVudCxcbiAgU2VsZWN0RmxhZ0xvY2F0aW9uQ29tcG9uZW50LFxuICBTZWxlY3RGbGFnVHlwZUNvbXBvbmVudCxcbiAgVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uRm9ybUNvbXBvbmVudCxcbiAgVXBkYXRlRmxhZ0NvbXBvbmVudCxcbiAgVXBkYXRlRmxhZ1RpdGxlRGlzcGxheVBpcGUsXG4gIFdyaXRlQ2FzZUZsYWdGaWVsZENvbXBvbmVudFxufSBmcm9tICcuL2Nhc2UtZmxhZyc7XG5pbXBvcnQgeyBSZWFkQ2FzZUxpbmtGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1saW5rL3JlYWQtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXcml0ZUNhc2VMaW5rRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Nhc2UtbGluay93cml0ZS1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFJlYWRDb2xsZWN0aW9uRmllbGRDb21wb25lbnQsIFdyaXRlQ29sbGVjdGlvbkZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENvbGxlY3Rpb25DcmVhdGVDaGVja2VyU2VydmljZSB9IGZyb20gJy4vY29sbGVjdGlvbi9jb2xsZWN0aW9uLWNyZWF0ZS1jaGVja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudCxcbiAgUmVhZENvbXBsZXhGaWVsZENvbXBvbmVudCxcbiAgUmVhZENvbXBsZXhGaWVsZFJhd0NvbXBvbmVudCxcbiAgUmVhZENvbXBsZXhGaWVsZFRhYmxlQ29tcG9uZW50LFxuICBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudFxufSBmcm9tICcuL2NvbXBsZXgnO1xuaW1wb3J0IHsgUmVhZERhdGVGaWVsZENvbXBvbmVudCwgV3JpdGVEYXRlQ29udGFpbmVyRmllbGRDb21wb25lbnQsIFdyaXRlRGF0ZUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlJztcbmltcG9ydCB7IERhdGV0aW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRldGltZS1waWNrZXInO1xuaW1wb3J0IHsgRG9jdW1lbnRVcmxQaXBlIH0gZnJvbSAnLi9kb2N1bWVudCc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkUHJvZ3Jlc3NHdWFyZCB9IGZyb20gJy4vZG9jdW1lbnQvZmlsZS11cGxvYWQtcHJvZ3Jlc3MuZ3VhcmQnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZFN0YXRlU2VydmljZSB9IGZyb20gJy4vZG9jdW1lbnQvZmlsZS11cGxvYWQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBSZWFkRG9jdW1lbnRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZG9jdW1lbnQvcmVhZC1kb2N1bWVudC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9kb2N1bWVudC93cml0ZS1kb2N1bWVudC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0xpc3RQaXBlLCBSZWFkRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1saXN0JztcbmltcG9ydCB7IFdyaXRlRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1saXN0L3dyaXRlLWR5bmFtaWMtbGlzdC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhZER5bmFtaWNNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCwgV3JpdGVEeW5hbWljTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtbXVsdGktc2VsZWN0LWxpc3QnO1xuaW1wb3J0IHsgRHluYW1pY1JhZGlvTGlzdFBpcGUsIFJlYWREeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcmFkaW8tbGlzdCc7XG5pbXBvcnQgeyBXcml0ZUR5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1yYWRpby1saXN0L3dyaXRlLWR5bmFtaWMtcmFkaW8tbGlzdC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhZEVtYWlsRmllbGRDb21wb25lbnQsIFdyaXRlRW1haWxGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZW1haWwnO1xuaW1wb3J0IHsgRml4ZWRMaXN0UGlwZSwgUmVhZEZpeGVkTGlzdEZpZWxkQ29tcG9uZW50LCBXcml0ZUZpeGVkTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9maXhlZC1saXN0JztcbmltcG9ydCB7IEZpeGVkUmFkaW9MaXN0UGlwZSwgUmVhZEZpeGVkUmFkaW9MaXN0RmllbGRDb21wb25lbnQsIFdyaXRlRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZml4ZWQtcmFkaW8tbGlzdCc7XG5pbXBvcnQgeyBDYXNlSGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50LCBFdmVudExvZ0NvbXBvbmVudCwgRXZlbnRMb2dEZXRhaWxzQ29tcG9uZW50LCBFdmVudExvZ1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9oaXN0b3J5JztcbmltcG9ydCB7IFJlYWRKdWRpY2lhbFVzZXJGaWVsZENvbXBvbmVudCwgV3JpdGVKdWRpY2lhbFVzZXJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vanVkaWNpYWwtdXNlcic7XG5pbXBvcnQgeyBMYWJlbEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9sYWJlbCc7XG5pbXBvcnQge1xuICBCZWZvcmVZb3VTdGFydENvbXBvbmVudCxcbiAgQ2hlY2tZb3VyQW5zd2Vyc0NvbXBvbmVudCxcbiAgTGlua0Nhc2VzQ29tcG9uZW50LFxuICBMaW5rZWRDYXNlc0Zyb21UYWJsZUNvbXBvbmVudCxcbiAgTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LFxuICBOb0xpbmtlZENhc2VzQ29tcG9uZW50LFxuICBSZWFkTGlua2VkQ2FzZXNGaWVsZENvbXBvbmVudCxcbiAgVW5MaW5rQ2FzZXNDb21wb25lbnQsXG4gIFdyaXRlTGlua2VkQ2FzZXNGaWVsZENvbXBvbmVudFxufSBmcm9tICcuL2xpbmtlZC1jYXNlcyc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuL2xpbmtlZC1jYXNlcy9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBNYXJrZG93bkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4vbWFya2Rvd24nO1xuaW1wb3J0IHsgTW9uZXlHYnBJbnB1dENvbXBvbmVudCwgUmVhZE1vbmV5R2JwRmllbGRDb21wb25lbnQsIFdyaXRlTW9uZXlHYnBGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vbW9uZXktZ2JwJztcbmltcG9ydCB7IFJlYWRNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCwgV3JpdGVNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vbXVsdGktc2VsZWN0LWxpc3QnO1xuaW1wb3J0IHsgUmVhZE51bWJlckZpZWxkQ29tcG9uZW50LCBXcml0ZU51bWJlckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9udW1iZXInO1xuaW1wb3J0IHsgUmVhZE9yZGVyU3VtbWFyeUZpZWxkQ29tcG9uZW50LCBSZWFkT3JkZXJTdW1tYXJ5Um93Q29tcG9uZW50LCBXcml0ZU9yZGVyU3VtbWFyeUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9vcmRlci1zdW1tYXJ5JztcbmltcG9ydCB7XG4gIFJlYWRPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudCxcbiAgUmVhZE9yZ2FuaXNhdGlvbkZpZWxkUmF3Q29tcG9uZW50LFxuICBSZWFkT3JnYW5pc2F0aW9uRmllbGRUYWJsZUNvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25Db21wbGV4RmllbGRDb21wb25lbnQsXG4gIFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnRcbn0gZnJvbSAnLi9vcmdhbmlzYXRpb24nO1xuaW1wb3J0IHsgUGFsZXR0ZVNlcnZpY2UgfSBmcm9tICcuL3BhbGV0dGUuc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlUGF5bWVudEhpc3RvcnlWaWV3ZXJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcGF5bWVudCc7XG5pbXBvcnQgeyBSZWFkUGhvbmVVS0ZpZWxkQ29tcG9uZW50LCBXcml0ZVBob25lVUtGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcGhvbmUtdWsnO1xuaW1wb3J0IHtcbiAgUXVhbGlmeWluZ1F1ZXN0aW9uRGV0YWlsQ29tcG9uZW50LFxuICBRdWFsaWZ5aW5nUXVlc3Rpb25PcHRpb25zQ29tcG9uZW50LFxuICBRdWVyeUF0dGFjaG1lbnRzUmVhZENvbXBvbmVudCxcbiAgUXVlcnlDYXNlRGV0YWlsc0hlYWRlckNvbXBvbmVudCxcbiAgUXVlcnlDaGVja1lvdXJBbnN3ZXJzQ29tcG9uZW50LFxuICBRdWVyeURldGFpbHNDb21wb25lbnQsXG4gIFF1ZXJ5RXZlbnRDb21wbGV0aW9uQ29tcG9uZW50LFxuICBRdWVyeUxpc3RDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVBZGREb2N1bWVudHNDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVEYXRlSW5wdXRDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVSYWlzZVF1ZXJ5Q29tcG9uZW50LFxuICBRdWVyeVdyaXRlUmVzcG9uZFRvUXVlcnlDb21wb25lbnQsXG4gIFJlYWRRdWVyeU1hbmFnZW1lbnRGaWVsZENvbXBvbmVudFxufSBmcm9tICcuL3F1ZXJ5LW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgUXVhbGlmeWluZ1F1ZXN0aW9uU2VydmljZSB9IGZyb20gJy4vcXVlcnktbWFuYWdlbWVudC9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSZWFkVGV4dEZpZWxkQ29tcG9uZW50LCBXcml0ZVRleHRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdGV4dCc7XG5pbXBvcnQgeyBSZWFkVGV4dEFyZWFGaWVsZENvbXBvbmVudCwgV3JpdGVUZXh0QXJlYUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWFyZWEnO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdW5zdXBwb3J0ZWQtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFBhbGV0dGVVdGlsc01vZHVsZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgV2F5c1RvUGF5RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3dheXN0b3BheSc7XG5pbXBvcnQgeyBSZWFkWWVzTm9GaWVsZENvbXBvbmVudCwgV3JpdGVZZXNOb0ZpZWxkQ29tcG9uZW50LCBZZXNOb1NlcnZpY2UgfSBmcm9tICcuL3llcy1ubyc7XG5pbXBvcnQgeyBRdWVyeUNvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktbWFuYWdlbWVudC9jb21wb25lbnRzL3F1ZXJ5LWNvbmZpcm1hdGlvbi9xdWVyeS1jb25maXJtYXRpb24uY29tcG9uZW50JztcblxuY29uc3QgUEFMRVRURV9DT01QT05FTlRTID0gW1xuICBVbnN1cHBvcnRlZEZpZWxkQ29tcG9uZW50LFxuICBEYXRldGltZVBpY2tlckNvbXBvbmVudCxcbiAgV2F5c1RvUGF5RmllbGRDb21wb25lbnQsXG4gIEZpZWxkUmVhZENvbXBvbmVudCxcbiAgRmllbGRXcml0ZUNvbXBvbmVudCxcbiAgRmllbGRSZWFkTGFiZWxDb21wb25lbnQsXG4gIExhYmVsRmllbGRDb21wb25lbnQsXG4gIENhc2VQYXltZW50SGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50LFxuICBNb25leUdicElucHV0Q29tcG9uZW50LFxuICBDYXNlSGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50LFxuICBFdmVudExvZ0NvbXBvbmVudCxcbiAgRXZlbnRMb2dEZXRhaWxzQ29tcG9uZW50LFxuICBFdmVudExvZ1RhYmxlQ29tcG9uZW50LFxuXG4gIC8vIFJlYWRcbiAgUmVhZFRleHRGaWVsZENvbXBvbmVudCxcbiAgUmVhZFRleHRBcmVhRmllbGRDb21wb25lbnQsXG4gIFJlYWROdW1iZXJGaWVsZENvbXBvbmVudCxcbiAgUmVhZEVtYWlsRmllbGRDb21wb25lbnQsXG4gIFJlYWRQaG9uZVVLRmllbGRDb21wb25lbnQsXG4gIFJlYWREYXRlRmllbGRDb21wb25lbnQsXG4gIFJlYWRDb2xsZWN0aW9uRmllbGRDb21wb25lbnQsXG4gIFJlYWREb2N1bWVudEZpZWxkQ29tcG9uZW50LFxuXG4gIC8vIG5ld1xuICBSZWFkSnVkaWNpYWxVc2VyRmllbGRDb21wb25lbnQsXG4gIFJlYWRZZXNOb0ZpZWxkQ29tcG9uZW50LFxuICBSZWFkT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQsXG4gIFJlYWRPcmdhbmlzYXRpb25GaWVsZFRhYmxlQ29tcG9uZW50LFxuICBSZWFkT3JnYW5pc2F0aW9uRmllbGRSYXdDb21wb25lbnQsXG4gIFJlYWRPcmRlclN1bW1hcnlGaWVsZENvbXBvbmVudCxcbiAgUmVhZE9yZGVyU3VtbWFyeVJvd0NvbXBvbmVudCxcbiAgUmVhZE1vbmV5R2JwRmllbGRDb21wb25lbnQsXG4gIFJlYWRNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZER5bmFtaWNMaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWRGaXhlZExpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZEZpeGVkUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWREeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWRDYXNlTGlua0ZpZWxkQ29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkQ29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkUmF3Q29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkVGFibGVDb21wb25lbnQsXG4gIFJlYWRDb21wbGV4RmllbGRDb2xsZWN0aW9uVGFibGVDb21wb25lbnQsXG4gIFJlYWRDYXNlRmxhZ0ZpZWxkQ29tcG9uZW50LFxuICBSZWFkTGlua2VkQ2FzZXNGaWVsZENvbXBvbmVudCxcblxuICAvLyBXcml0ZVxuICBXcml0ZUp1ZGljaWFsVXNlckZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUFkZHJlc3NGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVDb21wbGV4RmllbGRDb21wb25lbnQsXG4gIFdyaXRlT3JnYW5pc2F0aW9uQ29tcGxleEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVEeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlVGV4dEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZURhdGVDb250YWluZXJGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVUZXh0QXJlYUZpZWxkQ29tcG9uZW50LFxuICBXcml0ZVBob25lVUtGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVOdW1iZXJGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVFbWFpbEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZURhdGVGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVDYXNlRmxhZ0ZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUxpbmtlZENhc2VzRmllbGRDb21wb25lbnQsXG5cbiAgLy8gbmV3XG4gIFdyaXRlWWVzTm9GaWVsZENvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25Db21wbGV4RmllbGRDb21wb25lbnQsXG4gIFdyaXRlT3JkZXJTdW1tYXJ5RmllbGRDb21wb25lbnQsXG4gIFdyaXRlTW9uZXlHYnBGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVEYXRlQ29udGFpbmVyRmllbGRDb21wb25lbnQsXG4gIFdyaXRlTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRml4ZWRMaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVDYXNlTGlua0ZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUNvbGxlY3Rpb25GaWVsZENvbXBvbmVudCxcblxuICAvLyBDb21wb25lbnRMYXVuY2hlciB3ZWIgY29tcG9uZW50c1xuICBDYXNlRmlsZVZpZXdGaWVsZENvbXBvbmVudCxcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyQ29tcG9uZW50LFxuICBDYXNlRmlsZVZpZXdGb2xkZXJTb3J0Q29tcG9uZW50LFxuICBDYXNlRmlsZVZpZXdPdmVybGF5TWVudUNvbXBvbmVudCxcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyRG9jdW1lbnRBY3Rpb25zQ29tcG9uZW50LFxuICBDYXNlRmlsZVZpZXdGb2xkZXJTZWxlY3RvckNvbXBvbmVudCxcbiAgLy8gY29tcG9uZW50IGZvciBkeW5hbWljIGxpc3RcbiAgV3JpdGVEeW5hbWljTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUR5bmFtaWNMaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWREeW5hbWljTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWREeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50LFxuICBSZWFkRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50LFxuICAvLyBDb21wb25lbnRzIGZvciBjYXNlIGZsYWdzXG4gIENhc2VGbGFnVGFibGVDb21wb25lbnQsXG4gIFNlbGVjdEZsYWdUeXBlQ29tcG9uZW50LFxuICBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29tcG9uZW50LFxuICBTZWxlY3RGbGFnTG9jYXRpb25Db21wb25lbnQsXG4gIE1hbmFnZUNhc2VGbGFnc0NvbXBvbmVudCxcbiAgQWRkQ29tbWVudHNDb21wb25lbnQsXG4gIFVwZGF0ZUZsYWdDb21wb25lbnQsXG4gIENhc2VGbGFnU3VtbWFyeUxpc3RDb21wb25lbnQsXG4gIENvbmZpcm1GbGFnU3RhdHVzQ29tcG9uZW50LFxuICBVcGRhdGVGbGFnQWRkVHJhbnNsYXRpb25Gb3JtQ29tcG9uZW50LFxuICAvLyBDb21wb25lbnRzIGZvciBsaW5rZWQgY2FzZXNcbiAgTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LFxuICBMaW5rZWRDYXNlc0Zyb21UYWJsZUNvbXBvbmVudCxcbiAgQmVmb3JlWW91U3RhcnRDb21wb25lbnQsXG4gIExpbmtDYXNlc0NvbXBvbmVudCxcbiAgQ2hlY2tZb3VyQW5zd2Vyc0NvbXBvbmVudCxcbiAgVW5MaW5rQ2FzZXNDb21wb25lbnQsXG4gIE5vTGlua2VkQ2FzZXNDb21wb25lbnQsXG5cbiAgLy8gQ29tcG9uZW50cyBmb3IgUXVlcnkgTWFuYWdlbWVudFxuICBSZWFkUXVlcnlNYW5hZ2VtZW50RmllbGRDb21wb25lbnQsXG4gIFF1ZXJ5RGV0YWlsc0NvbXBvbmVudCxcbiAgUXVlcnlMaXN0Q29tcG9uZW50LFxuICBRdWVyeVdyaXRlUmVzcG9uZFRvUXVlcnlDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVSYWlzZVF1ZXJ5Q29tcG9uZW50LFxuICBRdWVyeUNhc2VEZXRhaWxzSGVhZGVyQ29tcG9uZW50LFxuICBRdWVyeUNoZWNrWW91ckFuc3dlcnNDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVBZGREb2N1bWVudHNDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVEYXRlSW5wdXRDb21wb25lbnQsXG4gIFF1YWxpZnlpbmdRdWVzdGlvbk9wdGlvbnNDb21wb25lbnQsXG4gIFF1YWxpZnlpbmdRdWVzdGlvbkRldGFpbENvbXBvbmVudCxcbiAgUXVlcnlBdHRhY2htZW50c1JlYWRDb21wb25lbnQsXG4gIFF1ZXJ5RXZlbnRDb21wbGV0aW9uQ29tcG9uZW50LFxuICBRdWVyeUNvbmZpcm1hdGlvbkNvbXBvbmVudCxcblxuICAvLyBDYXNlIGV2ZW50IGNvbXBsZXRpb25cbiAgQ2FzZUV2ZW50Q29tcGxldGlvbkNvbXBvbmVudCxcbiAgQ2FzZUV2ZW50Q29tcGxldGlvblRhc2tDYW5jZWxsZWRDb21wb25lbnQsXG4gIENhc2VFdmVudENvbXBsZXRpb25UYXNrUmVhc3NpZ25lZENvbXBvbmVudFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDYXNlRWRpdERhdGFNb2R1bGUsXG4gICAgUGFsZXR0ZVV0aWxzTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIEJhbm5lcnNNb2R1bGUsXG4gICAgSGVhZGVyc01vZHVsZSxcbiAgICBGb290ZXJzTW9kdWxlLFxuICAgIEJvZHlNb2R1bGUsXG4gICAgRm9ybU1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIExhYmVsU3Vic3RpdHV0b3JNb2R1bGUsXG4gICAgTWFya2Rvd25Nb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBOZ3hNYXREYXRldGltZVBpY2tlck1vZHVsZSxcbiAgICBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlLFxuICAgIE5neE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIENka1RyZWVNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBQYXltZW50TGliTW9kdWxlLFxuICAgIFNjcm9sbFRvTW9kdWxlLmZvclJvb3QoKSxcbiAgICBScHhUcmFuc2xhdGlvbk1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIENka1RyZWVNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWVkaWFWaWV3ZXJNb2R1bGUsXG4gICAgTG9hZGluZ01vZHVsZSxcbiAgICBNYXJrZG93bkNvbXBvbmVudE1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGaXhlZExpc3RQaXBlLFxuICAgIEZpeGVkUmFkaW9MaXN0UGlwZSxcbiAgICBEeW5hbWljTGlzdFBpcGUsXG4gICAgRHluYW1pY1JhZGlvTGlzdFBpcGUsXG4gICAgRG9jdW1lbnRVcmxQaXBlLFxuICAgIEZsYWdGaWVsZERpc3BsYXlQaXBlLFxuICAgIExhbmd1YWdlSW50ZXJwcmV0ZXJEaXNwbGF5UGlwZSxcbiAgICBNYW5hZ2VDYXNlRmxhZ3NMYWJlbERpc3BsYXlQaXBlLFxuICAgIFVwZGF0ZUZsYWdUaXRsZURpc3BsYXlQaXBlLFxuICAgIC4uLlBBTEVUVEVfQ09NUE9ORU5UU1xuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTmd4TWF0RGF0ZXRpbWVQaWNrZXJNb2R1bGUsXG4gICAgTmd4TWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlLFxuICAgIFRhYnNNb2R1bGUsXG4gICAgUGFsZXR0ZVV0aWxzTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIE1hcmtkb3duQ29tcG9uZW50TW9kdWxlLFxuICAgIC4uLlBBTEVUVEVfQ09NUE9ORU5UU1xuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZiBhcyBQcm92aWRlcixcbiAgICBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLFxuICAgIFllc05vU2VydmljZSxcbiAgICBDb2xsZWN0aW9uQ3JlYXRlQ2hlY2tlclNlcnZpY2UsXG4gICAgSnVyaXNkaWN0aW9uU2VydmljZSxcbiAgICBQYWxldHRlU2VydmljZSxcbiAgICBGb3JtVmFsaWRhdG9yc1NlcnZpY2UsXG4gICAgRmlsZVVwbG9hZFN0YXRlU2VydmljZSxcbiAgICBGaWxlVXBsb2FkUHJvZ3Jlc3NHdWFyZCxcbiAgICBXaW5kb3dTZXJ2aWNlLFxuICAgIENvbW1vbkRhdGFTZXJ2aWNlLFxuICAgIExpbmtlZENhc2VzU2VydmljZSxcbiAgICBRdWFsaWZ5aW5nUXVlc3Rpb25TZXJ2aWNlLFxuICAgIHtwcm92aWRlOiBNQVRfREFURV9MT0NBTEUsIHVzZVZhbHVlOiAnZW4tR0InfVxuICBdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cbn0pXG5leHBvcnQgY2xhc3MgUGFsZXR0ZU1vZHVsZSB7XG59XG4iXX0=
748
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFsZXR0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9wYWxldHRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxSSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFZLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMkJBQTJCLElBQUkscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RyxPQUFPLEVBQUUsc0JBQXNCLElBQUksZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSx3QkFBd0IsSUFBSSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxvQkFBb0IsSUFBSSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFn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RTdCLGtCQUFrQjt1QkFDbEIseUJBQXlCOztBQUl6QixrQ0FBa0M7QUFDbEMsaUNBQWlDLDZEQUNqQyxxQkFBcUI7SUFDckIsa0JBQWtCO3VCQURsQixxQkFBcUIsaUVBVXJCLDZCQUE2Qjt1QkFSN0IsaUNBQWlDLGtKQUZqQyxxQkFBcUI7SUFJckIsK0JBQStCO3VCQUQvQiw2QkFBNkIseU9BQzdCLCtCQUErQjtJQUcvQiw0QkFBNEI7dUJBRjVCLDhCQUE4Qiw2Q0FEOUIsK0JBQStCO0lBTS9CLDZCQUE2QjtJQUM3Qiw2QkFBNkI7dUJBTDdCLCtCQUErQix3RUE1Qy9CLDZCQUE2Qjt1QkFnRDdCLDZCQUE2QixpQ0F0RzdCLDRCQUE0Qjt1QkF1RzVCLDZCQUE2QjtJQUc3Qix3QkFBd0I7SUFDeEIsNEJBQTRCOztBQUQ1Qix3QkFBd0I7QUFDeEIsNEJBQTRCLGlDQUM1Qix5Q0FBeUM7SUFDekMsMENBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmd4TWF0RGF0ZXRpbWVQaWNrZXJNb2R1bGUsIE5neE1hdE5hdGl2ZURhdGVNb2R1bGUsIE5neE1hdFRpbWVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlcic7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ2RrVHJlZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgTmdNb2R1bGUsIFByb3ZpZGVyLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdExlZ2FjeUF1dG9jb21wbGV0ZU1vZHVsZSBhcyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1BVF9MRUdBQ1lfREFURV9MT0NBTEUgYXMgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWNvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0TGVnYWN5RGlhbG9nTW9kdWxlIGFzIE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xuaW1wb3J0IHsgTWF0TGVnYWN5Rm9ybUZpZWxkTW9kdWxlIGFzIE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdExlZ2FjeUlucHV0TW9kdWxlIGFzIE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWlucHV0JztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQYXltZW50TGliTW9kdWxlIH0gZnJvbSAnQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVkaWFWaWV3ZXJNb2R1bGUgfSBmcm9tICdAaG1jdHMvbWVkaWEtdmlld2VyJztcbmltcG9ydCB7IFNjcm9sbFRvTW9kdWxlIH0gZnJvbSAnQG5pY2t5LWxlbmFlcnMvbmd4LXNjcm9sbC10byc7XG5pbXBvcnQgeyBNYXJrZG93bk1vZHVsZSB9IGZyb20gJ25neC1tYXJrZG93bic7XG5pbXBvcnQgeyBScHhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ3JweC14dWktdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgSGVhZGVyc01vZHVsZSwgVGFic01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQmFubmVyc01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvYmFubmVycy9iYW5uZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBCb2R5TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9ib2R5L2JvZHkubW9kdWxlJztcbmltcG9ydCB7IEZvb3RlcnNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9mb3JtL2Zvcm0ubW9kdWxlJztcbmltcG9ydCB7IENhc2VFZGl0RGF0YU1vZHVsZSB9IGZyb20gJy4uLy4uL2NvbW1vbnMvY2FzZS1lZGl0LWRhdGEnO1xuaW1wb3J0IHsgTGFiZWxTdWJzdGl0dXRvck1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc3Vic3RpdHV0b3InO1xuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9waXBlcy9waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgQ2FzZUZsYWdSZWZkYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nhc2UtZmxhZy9jYXNlLWZsYWctcmVmZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbkRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLWRhdGEtc2VydmljZS9jb21tb24tZGF0YS1zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1WYWxpZGF0b3JzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0vZm9ybS12YWxpZGF0b3JzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2p1cmlzZGljdGlvbi9qdXJpc2RpY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBMb2FkaW5nTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9hZGluZy9sb2FkaW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2luZG93JztcbmltcG9ydCB7IENhc2VFdmVudENvbXBsZXRpb25Db21wb25lbnQsIENhc2VFdmVudENvbXBsZXRpb25UYXNrQ2FuY2VsbGVkQ29tcG9uZW50LCBDYXNlRXZlbnRDb21wbGV0aW9uVGFza1JlYXNzaWduZWRDb21wb25lbnQgfSBmcm9tICcuLi9jYXNlLWVkaXRvci9jYXNlLWV2ZW50LWNvbXBsZXRpb24nO1xuaW1wb3J0IHsgV3JpdGVBZGRyZXNzRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2FkZHJlc3Mvd3JpdGUtYWRkcmVzcy1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmllbGRSZWFkQ29tcG9uZW50LCBGaWVsZFJlYWRMYWJlbENvbXBvbmVudCwgRmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1maWVsZCc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdPdmVybGF5TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1maWxlLXZpZXcnO1xuaW1wb3J0IHsgQ2FzZUZpbGVWaWV3RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3L2Nhc2UtZmlsZS12aWV3LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBDYXNlRmlsZVZpZXdGb2xkZXJTZWxlY3RvckNvbXBvbmVudFxufSBmcm9tICcuL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNlbGVjdG9yL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyRG9jdW1lbnRBY3Rpb25zQ29tcG9uZW50XG59IGZyb20gJy4vY2FzZS1maWxlLXZpZXcvY29tcG9uZW50cy9jYXNlLWZpbGUtdmlldy1mb2xkZXIvY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnMvY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIENhc2VGaWxlVmlld0ZvbGRlclNvcnRDb21wb25lbnRcbn0gZnJvbSAnLi9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXItc29ydC9jYXNlLWZpbGUtdmlldy1mb2xkZXItc29ydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FzZUZpbGVWaWV3Rm9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEFkZENvbW1lbnRzQ29tcG9uZW50LFxuICBDYXNlRmxhZ1N1bW1hcnlMaXN0Q29tcG9uZW50LFxuICBDYXNlRmxhZ1RhYmxlQ29tcG9uZW50LFxuICBDb25maXJtRmxhZ1N0YXR1c0NvbXBvbmVudCxcbiAgRmxhZ0ZpZWxkRGlzcGxheVBpcGUsXG4gIExhbmd1YWdlSW50ZXJwcmV0ZXJEaXNwbGF5UGlwZSxcbiAgTWFuYWdlQ2FzZUZsYWdzQ29tcG9uZW50LFxuICBNYW5hZ2VDYXNlRmxhZ3NMYWJlbERpc3BsYXlQaXBlLFxuICBSZWFkQ2FzZUZsYWdGaWVsZENvbXBvbmVudCxcbiAgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbXBvbmVudCxcbiAgU2VsZWN0RmxhZ0xvY2F0aW9uQ29tcG9uZW50LFxuICBTZWxlY3RGbGFnVHlwZUNvbXBvbmVudCxcbiAgVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uRm9ybUNvbXBvbmVudCxcbiAgVXBkYXRlRmxhZ0NvbXBvbmVudCxcbiAgVXBkYXRlRmxhZ1RpdGxlRGlzcGxheVBpcGUsXG4gIFdyaXRlQ2FzZUZsYWdGaWVsZENvbXBvbmVudFxufSBmcm9tICcuL2Nhc2UtZmxhZyc7XG5pbXBvcnQgeyBSZWFkQ2FzZUxpbmtGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1saW5rL3JlYWQtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXcml0ZUNhc2VMaW5rRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Nhc2UtbGluay93cml0ZS1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFJlYWRDb2xsZWN0aW9uRmllbGRDb21wb25lbnQsIFdyaXRlQ29sbGVjdGlvbkZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENvbGxlY3Rpb25DcmVhdGVDaGVja2VyU2VydmljZSB9IGZyb20gJy4vY29sbGVjdGlvbi9jb2xsZWN0aW9uLWNyZWF0ZS1jaGVja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudCxcbiAgUmVhZENvbXBsZXhGaWVsZENvbXBvbmVudCxcbiAgUmVhZENvbXBsZXhGaWVsZFJhd0NvbXBvbmVudCxcbiAgUmVhZENvbXBsZXhGaWVsZFRhYmxlQ29tcG9uZW50LFxuICBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudFxufSBmcm9tICcuL2NvbXBsZXgnO1xuaW1wb3J0IHsgUmVhZERhdGVGaWVsZENvbXBvbmVudCwgV3JpdGVEYXRlQ29udGFpbmVyRmllbGRDb21wb25lbnQsIFdyaXRlRGF0ZUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlJztcbmltcG9ydCB7IERhdGV0aW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRldGltZS1waWNrZXInO1xuaW1wb3J0IHsgRG9jdW1lbnRVcmxQaXBlIH0gZnJvbSAnLi9kb2N1bWVudCc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkUHJvZ3Jlc3NHdWFyZCB9IGZyb20gJy4vZG9jdW1lbnQvZmlsZS11cGxvYWQtcHJvZ3Jlc3MuZ3VhcmQnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZFN0YXRlU2VydmljZSB9IGZyb20gJy4vZG9jdW1lbnQvZmlsZS11cGxvYWQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBSZWFkRG9jdW1lbnRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZG9jdW1lbnQvcmVhZC1kb2N1bWVudC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV3JpdGVEb2N1bWVudEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9kb2N1bWVudC93cml0ZS1kb2N1bWVudC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0xpc3RQaXBlLCBSZWFkRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1saXN0JztcbmltcG9ydCB7IFdyaXRlRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1saXN0L3dyaXRlLWR5bmFtaWMtbGlzdC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhZER5bmFtaWNNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCwgV3JpdGVEeW5hbWljTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtbXVsdGktc2VsZWN0LWxpc3QnO1xuaW1wb3J0IHsgRHluYW1pY1JhZGlvTGlzdFBpcGUsIFJlYWREeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcmFkaW8tbGlzdCc7XG5pbXBvcnQgeyBXcml0ZUR5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1yYWRpby1saXN0L3dyaXRlLWR5bmFtaWMtcmFkaW8tbGlzdC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhZEVtYWlsRmllbGRDb21wb25lbnQsIFdyaXRlRW1haWxGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZW1haWwnO1xuaW1wb3J0IHsgRml4ZWRMaXN0UGlwZSwgUmVhZEZpeGVkTGlzdEZpZWxkQ29tcG9uZW50LCBXcml0ZUZpeGVkTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9maXhlZC1saXN0JztcbmltcG9ydCB7IEZpeGVkUmFkaW9MaXN0UGlwZSwgUmVhZEZpeGVkUmFkaW9MaXN0RmllbGRDb21wb25lbnQsIFdyaXRlRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZml4ZWQtcmFkaW8tbGlzdCc7XG5pbXBvcnQgeyBDYXNlSGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50LCBFdmVudExvZ0NvbXBvbmVudCwgRXZlbnRMb2dEZXRhaWxzQ29tcG9uZW50LCBFdmVudExvZ1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9oaXN0b3J5JztcbmltcG9ydCB7IFJlYWRKdWRpY2lhbFVzZXJGaWVsZENvbXBvbmVudCwgV3JpdGVKdWRpY2lhbFVzZXJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vanVkaWNpYWwtdXNlcic7XG5pbXBvcnQgeyBMYWJlbEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9sYWJlbCc7XG5pbXBvcnQge1xuICBCZWZvcmVZb3VTdGFydENvbXBvbmVudCxcbiAgQ2hlY2tZb3VyQW5zd2Vyc0NvbXBvbmVudCxcbiAgTGlua0Nhc2VzQ29tcG9uZW50LFxuICBMaW5rZWRDYXNlc0Zyb21UYWJsZUNvbXBvbmVudCxcbiAgTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LFxuICBOb0xpbmtlZENhc2VzQ29tcG9uZW50LFxuICBSZWFkTGlua2VkQ2FzZXNGaWVsZENvbXBvbmVudCxcbiAgVW5MaW5rQ2FzZXNDb21wb25lbnQsXG4gIFdyaXRlTGlua2VkQ2FzZXNGaWVsZENvbXBvbmVudFxufSBmcm9tICcuL2xpbmtlZC1jYXNlcyc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuL2xpbmtlZC1jYXNlcy9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBNYXJrZG93bkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4vbWFya2Rvd24nO1xuaW1wb3J0IHsgTW9uZXlHYnBJbnB1dENvbXBvbmVudCwgUmVhZE1vbmV5R2JwRmllbGRDb21wb25lbnQsIFdyaXRlTW9uZXlHYnBGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vbW9uZXktZ2JwJztcbmltcG9ydCB7IFJlYWRNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCwgV3JpdGVNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vbXVsdGktc2VsZWN0LWxpc3QnO1xuaW1wb3J0IHsgUmVhZE51bWJlckZpZWxkQ29tcG9uZW50LCBXcml0ZU51bWJlckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9udW1iZXInO1xuaW1wb3J0IHsgUmVhZE9yZGVyU3VtbWFyeUZpZWxkQ29tcG9uZW50LCBSZWFkT3JkZXJTdW1tYXJ5Um93Q29tcG9uZW50LCBXcml0ZU9yZGVyU3VtbWFyeUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9vcmRlci1zdW1tYXJ5JztcbmltcG9ydCB7XG4gIFJlYWRPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudCxcbiAgUmVhZE9yZ2FuaXNhdGlvbkZpZWxkUmF3Q29tcG9uZW50LFxuICBSZWFkT3JnYW5pc2F0aW9uRmllbGRUYWJsZUNvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25Db21wbGV4RmllbGRDb21wb25lbnQsXG4gIFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnRcbn0gZnJvbSAnLi9vcmdhbmlzYXRpb24nO1xuaW1wb3J0IHsgUGFsZXR0ZVNlcnZpY2UgfSBmcm9tICcuL3BhbGV0dGUuc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlUGF5bWVudEhpc3RvcnlWaWV3ZXJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcGF5bWVudCc7XG5pbXBvcnQgeyBSZWFkUGhvbmVVS0ZpZWxkQ29tcG9uZW50LCBXcml0ZVBob25lVUtGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcGhvbmUtdWsnO1xuaW1wb3J0IHtcbiAgUXVhbGlmeWluZ1F1ZXN0aW9uRGV0YWlsQ29tcG9uZW50LFxuICBRdWFsaWZ5aW5nUXVlc3Rpb25PcHRpb25zQ29tcG9uZW50LFxuICBRdWVyeUF0dGFjaG1lbnRzUmVhZENvbXBvbmVudCxcbiAgUXVlcnlDYXNlRGV0YWlsc0hlYWRlckNvbXBvbmVudCxcbiAgUXVlcnlDaGVja1lvdXJBbnN3ZXJzQ29tcG9uZW50LFxuICBRdWVyeURldGFpbHNDb21wb25lbnQsXG4gIFF1ZXJ5RXZlbnRDb21wbGV0aW9uQ29tcG9uZW50LFxuICBRdWVyeUxpc3RDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVBZGREb2N1bWVudHNDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVEYXRlSW5wdXRDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVSYWlzZVF1ZXJ5Q29tcG9uZW50LFxuICBRdWVyeVdyaXRlUmVzcG9uZFRvUXVlcnlDb21wb25lbnQsXG4gIFJlYWRRdWVyeU1hbmFnZW1lbnRGaWVsZENvbXBvbmVudFxufSBmcm9tICcuL3F1ZXJ5LW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgUXVhbGlmeWluZ1F1ZXN0aW9uU2VydmljZSB9IGZyb20gJy4vcXVlcnktbWFuYWdlbWVudC9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSZWFkVGV4dEZpZWxkQ29tcG9uZW50LCBXcml0ZVRleHRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdGV4dCc7XG5pbXBvcnQgeyBSZWFkVGV4dEFyZWFGaWVsZENvbXBvbmVudCwgV3JpdGVUZXh0QXJlYUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWFyZWEnO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdW5zdXBwb3J0ZWQtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFBhbGV0dGVVdGlsc01vZHVsZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgV2F5c1RvUGF5RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3dheXN0b3BheSc7XG5pbXBvcnQgeyBSZWFkWWVzTm9GaWVsZENvbXBvbmVudCwgV3JpdGVZZXNOb0ZpZWxkQ29tcG9uZW50LCBZZXNOb1NlcnZpY2UgfSBmcm9tICcuL3llcy1ubyc7XG5pbXBvcnQgeyBRdWVyeUNvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktbWFuYWdlbWVudC9jb21wb25lbnRzL3F1ZXJ5LWNvbmZpcm1hdGlvbi9xdWVyeS1jb25maXJtYXRpb24uY29tcG9uZW50JztcblxuY29uc3QgUEFMRVRURV9DT01QT05FTlRTID0gW1xuICBVbnN1cHBvcnRlZEZpZWxkQ29tcG9uZW50LFxuICBEYXRldGltZVBpY2tlckNvbXBvbmVudCxcbiAgV2F5c1RvUGF5RmllbGRDb21wb25lbnQsXG4gIEZpZWxkUmVhZENvbXBvbmVudCxcbiAgRmllbGRXcml0ZUNvbXBvbmVudCxcbiAgRmllbGRSZWFkTGFiZWxDb21wb25lbnQsXG4gIExhYmVsRmllbGRDb21wb25lbnQsXG4gIENhc2VQYXltZW50SGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50LFxuICBNb25leUdicElucHV0Q29tcG9uZW50LFxuICBDYXNlSGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50LFxuICBFdmVudExvZ0NvbXBvbmVudCxcbiAgRXZlbnRMb2dEZXRhaWxzQ29tcG9uZW50LFxuICBFdmVudExvZ1RhYmxlQ29tcG9uZW50LFxuXG4gIC8vIFJlYWRcbiAgUmVhZFRleHRGaWVsZENvbXBvbmVudCxcbiAgUmVhZFRleHRBcmVhRmllbGRDb21wb25lbnQsXG4gIFJlYWROdW1iZXJGaWVsZENvbXBvbmVudCxcbiAgUmVhZEVtYWlsRmllbGRDb21wb25lbnQsXG4gIFJlYWRQaG9uZVVLRmllbGRDb21wb25lbnQsXG4gIFJlYWREYXRlRmllbGRDb21wb25lbnQsXG4gIFJlYWRDb2xsZWN0aW9uRmllbGRDb21wb25lbnQsXG4gIFJlYWREb2N1bWVudEZpZWxkQ29tcG9uZW50LFxuXG4gIC8vIG5ld1xuICBSZWFkSnVkaWNpYWxVc2VyRmllbGRDb21wb25lbnQsXG4gIFJlYWRZZXNOb0ZpZWxkQ29tcG9uZW50LFxuICBSZWFkT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQsXG4gIFJlYWRPcmdhbmlzYXRpb25GaWVsZFRhYmxlQ29tcG9uZW50LFxuICBSZWFkT3JnYW5pc2F0aW9uRmllbGRSYXdDb21wb25lbnQsXG4gIFJlYWRPcmRlclN1bW1hcnlGaWVsZENvbXBvbmVudCxcbiAgUmVhZE9yZGVyU3VtbWFyeVJvd0NvbXBvbmVudCxcbiAgUmVhZE1vbmV5R2JwRmllbGRDb21wb25lbnQsXG4gIFJlYWRNdWx0aVNlbGVjdExpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZER5bmFtaWNMaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWRGaXhlZExpc3RGaWVsZENvbXBvbmVudCxcbiAgUmVhZEZpeGVkUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWREeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWRDYXNlTGlua0ZpZWxkQ29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkQ29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkUmF3Q29tcG9uZW50LFxuICBSZWFkQ29tcGxleEZpZWxkVGFibGVDb21wb25lbnQsXG4gIFJlYWRDb21wbGV4RmllbGRDb2xsZWN0aW9uVGFibGVDb21wb25lbnQsXG4gIFJlYWRDYXNlRmxhZ0ZpZWxkQ29tcG9uZW50LFxuICBSZWFkTGlua2VkQ2FzZXNGaWVsZENvbXBvbmVudCxcblxuICAvLyBXcml0ZVxuICBXcml0ZUp1ZGljaWFsVXNlckZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUFkZHJlc3NGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVDb21wbGV4RmllbGRDb21wb25lbnQsXG4gIFdyaXRlT3JnYW5pc2F0aW9uQ29tcGxleEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRHluYW1pY0xpc3RGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVEeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlVGV4dEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZURhdGVDb250YWluZXJGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVUZXh0QXJlYUZpZWxkQ29tcG9uZW50LFxuICBXcml0ZVBob25lVUtGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVOdW1iZXJGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVFbWFpbEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZURhdGVGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVDYXNlRmxhZ0ZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUxpbmtlZENhc2VzRmllbGRDb21wb25lbnQsXG5cbiAgLy8gbmV3XG4gIFdyaXRlWWVzTm9GaWVsZENvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudCxcbiAgV3JpdGVPcmdhbmlzYXRpb25Db21wbGV4RmllbGRDb21wb25lbnQsXG4gIFdyaXRlT3JkZXJTdW1tYXJ5RmllbGRDb21wb25lbnQsXG4gIFdyaXRlTW9uZXlHYnBGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVEYXRlQ29udGFpbmVyRmllbGRDb21wb25lbnQsXG4gIFdyaXRlTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRml4ZWRMaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgV3JpdGVDYXNlTGlua0ZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUNvbGxlY3Rpb25GaWVsZENvbXBvbmVudCxcblxuICAvLyBDb21wb25lbnRMYXVuY2hlciB3ZWIgY29tcG9uZW50c1xuICBDYXNlRmlsZVZpZXdGaWVsZENvbXBvbmVudCxcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyQ29tcG9uZW50LFxuICBDYXNlRmlsZVZpZXdGb2xkZXJTb3J0Q29tcG9uZW50LFxuICBDYXNlRmlsZVZpZXdPdmVybGF5TWVudUNvbXBvbmVudCxcbiAgQ2FzZUZpbGVWaWV3Rm9sZGVyRG9jdW1lbnRBY3Rpb25zQ29tcG9uZW50LFxuICBDYXNlRmlsZVZpZXdGb2xkZXJTZWxlY3RvckNvbXBvbmVudCxcbiAgLy8gY29tcG9uZW50IGZvciBkeW5hbWljIGxpc3RcbiAgV3JpdGVEeW5hbWljTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gIFdyaXRlRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50LFxuICBXcml0ZUR5bmFtaWNMaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWREeW5hbWljTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gIFJlYWREeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50LFxuICBSZWFkRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50LFxuICAvLyBDb21wb25lbnRzIGZvciBjYXNlIGZsYWdzXG4gIENhc2VGbGFnVGFibGVDb21wb25lbnQsXG4gIFNlbGVjdEZsYWdUeXBlQ29tcG9uZW50LFxuICBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29tcG9uZW50LFxuICBTZWxlY3RGbGFnTG9jYXRpb25Db21wb25lbnQsXG4gIE1hbmFnZUNhc2VGbGFnc0NvbXBvbmVudCxcbiAgQWRkQ29tbWVudHNDb21wb25lbnQsXG4gIFVwZGF0ZUZsYWdDb21wb25lbnQsXG4gIENhc2VGbGFnU3VtbWFyeUxpc3RDb21wb25lbnQsXG4gIENvbmZpcm1GbGFnU3RhdHVzQ29tcG9uZW50LFxuICBVcGRhdGVGbGFnQWRkVHJhbnNsYXRpb25Gb3JtQ29tcG9uZW50LFxuICAvLyBDb21wb25lbnRzIGZvciBsaW5rZWQgY2FzZXNcbiAgTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LFxuICBMaW5rZWRDYXNlc0Zyb21UYWJsZUNvbXBvbmVudCxcbiAgQmVmb3JlWW91U3RhcnRDb21wb25lbnQsXG4gIExpbmtDYXNlc0NvbXBvbmVudCxcbiAgQ2hlY2tZb3VyQW5zd2Vyc0NvbXBvbmVudCxcbiAgVW5MaW5rQ2FzZXNDb21wb25lbnQsXG4gIE5vTGlua2VkQ2FzZXNDb21wb25lbnQsXG5cbiAgLy8gQ29tcG9uZW50cyBmb3IgUXVlcnkgTWFuYWdlbWVudFxuICBSZWFkUXVlcnlNYW5hZ2VtZW50RmllbGRDb21wb25lbnQsXG4gIFF1ZXJ5RGV0YWlsc0NvbXBvbmVudCxcbiAgUXVlcnlMaXN0Q29tcG9uZW50LFxuICBRdWVyeVdyaXRlUmVzcG9uZFRvUXVlcnlDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVSYWlzZVF1ZXJ5Q29tcG9uZW50LFxuICBRdWVyeUNhc2VEZXRhaWxzSGVhZGVyQ29tcG9uZW50LFxuICBRdWVyeUNoZWNrWW91ckFuc3dlcnNDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVBZGREb2N1bWVudHNDb21wb25lbnQsXG4gIFF1ZXJ5V3JpdGVEYXRlSW5wdXRDb21wb25lbnQsXG4gIFF1YWxpZnlpbmdRdWVzdGlvbk9wdGlvbnNDb21wb25lbnQsXG4gIFF1YWxpZnlpbmdRdWVzdGlvbkRldGFpbENvbXBvbmVudCxcbiAgUXVlcnlBdHRhY2htZW50c1JlYWRDb21wb25lbnQsXG4gIFF1ZXJ5RXZlbnRDb21wbGV0aW9uQ29tcG9uZW50LFxuICBRdWVyeUNvbmZpcm1hdGlvbkNvbXBvbmVudCxcblxuICAvLyBDYXNlIGV2ZW50IGNvbXBsZXRpb25cbiAgQ2FzZUV2ZW50Q29tcGxldGlvbkNvbXBvbmVudCxcbiAgQ2FzZUV2ZW50Q29tcGxldGlvblRhc2tDYW5jZWxsZWRDb21wb25lbnQsXG4gIENhc2VFdmVudENvbXBsZXRpb25UYXNrUmVhc3NpZ25lZENvbXBvbmVudFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDYXNlRWRpdERhdGFNb2R1bGUsXG4gICAgUGFsZXR0ZVV0aWxzTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIEJhbm5lcnNNb2R1bGUsXG4gICAgSGVhZGVyc01vZHVsZSxcbiAgICBGb290ZXJzTW9kdWxlLFxuICAgIEJvZHlNb2R1bGUsXG4gICAgRm9ybU1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIExhYmVsU3Vic3RpdHV0b3JNb2R1bGUsXG4gICAgTWFya2Rvd25Nb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBOZ3hNYXREYXRldGltZVBpY2tlck1vZHVsZSxcbiAgICBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlLFxuICAgIE5neE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIENka1RyZWVNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBQYXltZW50TGliTW9kdWxlLFxuICAgIFNjcm9sbFRvTW9kdWxlLmZvclJvb3QoKSxcbiAgICBScHhUcmFuc2xhdGlvbk1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIENka1RyZWVNb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWVkaWFWaWV3ZXJNb2R1bGUsXG4gICAgTG9hZGluZ01vZHVsZSxcbiAgICBNYXJrZG93bkNvbXBvbmVudE1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGaXhlZExpc3RQaXBlLFxuICAgIEZpeGVkUmFkaW9MaXN0UGlwZSxcbiAgICBEeW5hbWljTGlzdFBpcGUsXG4gICAgRHluYW1pY1JhZGlvTGlzdFBpcGUsXG4gICAgRG9jdW1lbnRVcmxQaXBlLFxuICAgIEZsYWdGaWVsZERpc3BsYXlQaXBlLFxuICAgIExhbmd1YWdlSW50ZXJwcmV0ZXJEaXNwbGF5UGlwZSxcbiAgICBNYW5hZ2VDYXNlRmxhZ3NMYWJlbERpc3BsYXlQaXBlLFxuICAgIFVwZGF0ZUZsYWdUaXRsZURpc3BsYXlQaXBlLFxuICAgIC4uLlBBTEVUVEVfQ09NUE9ORU5UU1xuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTmd4TWF0RGF0ZXRpbWVQaWNrZXJNb2R1bGUsXG4gICAgTmd4TWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlLFxuICAgIFRhYnNNb2R1bGUsXG4gICAgUGFsZXR0ZVV0aWxzTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIE1hcmtkb3duQ29tcG9uZW50TW9kdWxlLFxuICAgIC4uLlBBTEVUVEVfQ09NUE9ORU5UU1xuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZiBhcyBQcm92aWRlcixcbiAgICBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLFxuICAgIFllc05vU2VydmljZSxcbiAgICBDb2xsZWN0aW9uQ3JlYXRlQ2hlY2tlclNlcnZpY2UsXG4gICAgSnVyaXNkaWN0aW9uU2VydmljZSxcbiAgICBQYWxldHRlU2VydmljZSxcbiAgICBGb3JtVmFsaWRhdG9yc1NlcnZpY2UsXG4gICAgRmlsZVVwbG9hZFN0YXRlU2VydmljZSxcbiAgICBGaWxlVXBsb2FkUHJvZ3Jlc3NHdWFyZCxcbiAgICBXaW5kb3dTZXJ2aWNlLFxuICAgIENvbW1vbkRhdGFTZXJ2aWNlLFxuICAgIExpbmtlZENhc2VzU2VydmljZSxcbiAgICBRdWFsaWZ5aW5nUXVlc3Rpb25TZXJ2aWNlLFxuICAgIHtwcm92aWRlOiBNQVRfREFURV9MT0NBTEUsIHVzZVZhbHVlOiAnZW4tR0InfVxuICBdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cbn0pXG5leHBvcnQgY2xhc3MgUGFsZXR0ZU1vZHVsZSB7XG59XG4iXX0=