@hmcts/ccd-case-ui-toolkit 6.13.11-activity-tracker → 6.13.11-linked-reasons-sorting

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +3046 -3235
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/app.config.js +1 -11
  6. package/esm2015/lib/components/banners/index.js +1 -2
  7. package/esm2015/lib/components/banners/notification-banner/index.js +1 -2
  8. package/esm2015/lib/components/body/index.js +1 -2
  9. package/esm2015/lib/components/footer/index.js +1 -2
  10. package/esm2015/lib/components/form/index.js +1 -2
  11. package/esm2015/lib/shared/commons/case-edit-data/case-edit-data.service.js +5 -8
  12. package/esm2015/lib/shared/components/activity/activity-banner/activity-banner.component.js +5 -5
  13. package/esm2015/lib/shared/components/activity/activity-icon/activity-icon.component.js +2 -2
  14. package/esm2015/lib/shared/components/activity/activity.component.js +150 -0
  15. package/esm2015/lib/shared/components/activity/activity.module.js +13 -13
  16. package/esm2015/lib/shared/components/activity/index.js +2 -2
  17. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +19 -3
  18. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +16 -29
  19. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +18 -38
  20. package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +5 -7
  21. package/esm2015/lib/shared/components/palette/base-field/field-read.component.js +2 -2
  22. package/esm2015/lib/shared/components/palette/base-field/field-write.component.js +2 -2
  23. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field.component.js +12 -5
  24. package/esm2015/lib/shared/components/palette/case-file-view/index.js +1 -2
  25. package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +13 -2
  26. package/esm2015/lib/shared/components/palette/dynamic-multi-select-list/index.js +3 -0
  27. package/esm2015/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.js +47 -0
  28. package/esm2015/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.js +153 -0
  29. package/esm2015/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.js +5 -6
  30. package/esm2015/lib/shared/components/palette/index.js +2 -1
  31. package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.js +27 -2
  32. package/esm2015/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.js +1 -1
  33. package/esm2015/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.js +36 -86
  34. package/esm2015/lib/shared/components/palette/palette.module.js +31 -8
  35. package/esm2015/lib/shared/components/palette/palette.service.js +5 -3
  36. package/esm2015/lib/shared/components/search-result/search-result.component.js +19 -36
  37. package/esm2015/lib/shared/components/search-result/search-result.module.js +2 -2
  38. package/esm2015/lib/shared/domain/activity/activity.model.js +1 -1
  39. package/esm2015/lib/shared/domain/activity/index.js +1 -4
  40. package/esm2015/lib/shared/domain/definition/case-field.model.js +6 -3
  41. package/esm2015/lib/shared/domain/definition/field-type-enum.model.js +1 -1
  42. package/esm2015/lib/shared/domain/search/index.js +1 -2
  43. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +14 -11
  44. package/esm2015/lib/shared/services/activity/activity.polling.service.js +10 -25
  45. package/esm2015/lib/shared/services/activity/activity.service.js +21 -47
  46. package/esm2015/lib/shared/services/activity/index.js +1 -2
  47. package/esm2015/lib/shared/services/fields/fields.utils.js +8 -1
  48. package/esm2015/lib/shared/services/form/field-type-sanitiser.js +16 -1
  49. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +3732 -3881
  50. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  51. package/lib/app.config.d.ts +0 -10
  52. package/lib/app.config.d.ts.map +1 -1
  53. package/lib/components/banners/index.d.ts +0 -1
  54. package/lib/components/banners/index.d.ts.map +1 -1
  55. package/lib/components/banners/notification-banner/index.d.ts +0 -1
  56. package/lib/components/banners/notification-banner/index.d.ts.map +1 -1
  57. package/lib/components/body/index.d.ts +0 -1
  58. package/lib/components/body/index.d.ts.map +1 -1
  59. package/lib/components/footer/index.d.ts +0 -1
  60. package/lib/components/footer/index.d.ts.map +1 -1
  61. package/lib/components/form/index.d.ts +0 -1
  62. package/lib/components/form/index.d.ts.map +1 -1
  63. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts +3 -5
  64. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts.map +1 -1
  65. package/lib/shared/components/activity/activity.component.d.ts +32 -0
  66. package/lib/shared/components/activity/activity.component.d.ts.map +1 -0
  67. package/lib/shared/components/activity/activity.module.d.ts +4 -4
  68. package/lib/shared/components/activity/activity.module.d.ts.map +1 -1
  69. package/lib/shared/components/activity/index.d.ts +1 -1
  70. package/lib/shared/components/activity/index.d.ts.map +1 -1
  71. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +2 -0
  72. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  73. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +4 -5
  74. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  75. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +4 -7
  76. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  77. package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
  78. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts +5 -2
  79. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts.map +1 -1
  80. package/lib/shared/components/palette/case-file-view/index.d.ts +0 -1
  81. package/lib/shared/components/palette/case-file-view/index.d.ts.map +1 -1
  82. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +1 -0
  83. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
  84. package/lib/shared/components/palette/dynamic-multi-select-list/index.d.ts +3 -0
  85. package/lib/shared/components/palette/dynamic-multi-select-list/index.d.ts.map +1 -0
  86. package/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.d.ts +9 -0
  87. package/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.d.ts.map +1 -0
  88. package/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.d.ts +17 -0
  89. package/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.d.ts.map +1 -0
  90. package/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.d.ts +1 -1
  91. package/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.d.ts.map +1 -1
  92. package/lib/shared/components/palette/index.d.ts +1 -0
  93. package/lib/shared/components/palette/index.d.ts.map +1 -1
  94. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts +2 -0
  95. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts.map +1 -1
  96. package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts +0 -4
  97. package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts.map +1 -1
  98. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +0 -4
  99. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
  100. package/lib/shared/components/palette/palette.module.d.ts +60 -59
  101. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  102. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  103. package/lib/shared/components/search-result/search-result.component.d.ts +6 -9
  104. package/lib/shared/components/search-result/search-result.component.d.ts.map +1 -1
  105. package/lib/shared/domain/activity/activity.model.d.ts +0 -1
  106. package/lib/shared/domain/activity/activity.model.d.ts.map +1 -1
  107. package/lib/shared/domain/activity/index.d.ts +0 -3
  108. package/lib/shared/domain/activity/index.d.ts.map +1 -1
  109. package/lib/shared/domain/definition/case-field.model.d.ts.map +1 -1
  110. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  111. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  112. package/lib/shared/domain/search/index.d.ts +0 -1
  113. package/lib/shared/domain/search/index.d.ts.map +1 -1
  114. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  115. package/lib/shared/services/activity/activity.polling.service.d.ts +5 -6
  116. package/lib/shared/services/activity/activity.polling.service.d.ts.map +1 -1
  117. package/lib/shared/services/activity/activity.service.d.ts +5 -14
  118. package/lib/shared/services/activity/activity.service.d.ts.map +1 -1
  119. package/lib/shared/services/activity/index.d.ts +0 -1
  120. package/lib/shared/services/activity/index.d.ts.map +1 -1
  121. package/lib/shared/services/fields/fields.utils.d.ts +2 -0
  122. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  123. package/lib/shared/services/form/field-type-sanitiser.d.ts +2 -0
  124. package/lib/shared/services/form/field-type-sanitiser.d.ts.map +1 -1
  125. package/package.json +2 -2
  126. package/esm2015/lib/shared/components/activity/case-activity.component.js +0 -174
  127. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.js +0 -72
  128. package/esm2015/lib/shared/domain/activity/case-activity-info.model.js +0 -3
  129. package/esm2015/lib/shared/domain/activity/case-activity.model.js +0 -3
  130. package/esm2015/lib/shared/domain/activity/user.model.js +0 -3
  131. package/esm2015/lib/shared/domain/search/sorting/index.js +0 -4
  132. package/esm2015/lib/shared/domain/user/index.js +0 -3
  133. package/esm2015/lib/shared/services/activity/activity-socket.service.js +0 -91
  134. package/esm2015/lib/shared/services/activity/utils/index.js +0 -117
  135. package/lib/shared/components/activity/case-activity.component.d.ts +0 -32
  136. package/lib/shared/components/activity/case-activity.component.d.ts.map +0 -1
  137. package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts +0 -8
  138. package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts.map +0 -1
  139. package/lib/shared/domain/activity/case-activity-info.model.d.ts +0 -9
  140. package/lib/shared/domain/activity/case-activity-info.model.d.ts.map +0 -1
  141. package/lib/shared/domain/activity/case-activity.model.d.ts +0 -5
  142. package/lib/shared/domain/activity/case-activity.model.d.ts.map +0 -1
  143. package/lib/shared/domain/activity/user.model.d.ts +0 -6
  144. package/lib/shared/domain/activity/user.model.d.ts.map +0 -1
  145. package/lib/shared/domain/search/sorting/index.d.ts +0 -4
  146. package/lib/shared/domain/search/sorting/index.d.ts.map +0 -1
  147. package/lib/shared/domain/user/index.d.ts +0 -3
  148. package/lib/shared/domain/user/index.d.ts.map +0 -1
  149. package/lib/shared/services/activity/activity-socket.service.d.ts +0 -33
  150. package/lib/shared/services/activity/activity-socket.service.d.ts.map +0 -1
  151. package/lib/shared/services/activity/utils/index.d.ts +0 -40
  152. package/lib/shared/services/activity/utils/index.d.ts.map +0 -1
@@ -53,10 +53,9 @@ function WriteDynamicRadioListFieldComponent_div_9_Template(rf, ctx) { if (rf &
53
53
  const ctx_r4 = i0.ɵɵnextContext();
54
54
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c0, ctx_r4.dynamicRadioListControl.value === radioButton_r5.code));
55
55
  i0.ɵɵadvance(1);
56
- i0.ɵɵpropertyInterpolate("name", ctx_r4.id());
57
- i0.ɵɵproperty("id", ctx_r4.buildElementId(radioButton_r5.code))("formControl", ctx_r4.dynamicRadioListControl)("value", radioButton_r5.code);
56
+ i0.ɵɵproperty("id", ctx_r4.createElementId(radioButton_r5.code))("name", ctx_r4.createElementId(radioButton_r5.code))("formControl", ctx_r4.dynamicRadioListControl)("value", radioButton_r5.code);
58
57
  i0.ɵɵadvance(1);
59
- i0.ɵɵproperty("for", ctx_r4.buildElementId(radioButton_r5.code));
58
+ i0.ɵɵproperty("for", ctx_r4.createElementId(radioButton_r5.code));
60
59
  i0.ɵɵadvance(1);
61
60
  i0.ɵɵtextInterpolate(radioButton_r5.label);
62
61
  } }
@@ -80,8 +79,8 @@ export class WriteDynamicRadioListFieldComponent extends AbstractFieldWriteCompo
80
79
  this.dynamicRadioListControl = this.registerControl(new FormControl(this.caseField.value));
81
80
  this.dynamicRadioListControl.setValue(this.caseField.value);
82
81
  }
83
- buildElementId(name) {
84
- return `${this.id()}-${name}`;
82
+ createElementId(name) {
83
+ return this.parent && this.parent.value ? this.parent.value.id + this.parent.value.value : super.createElementId(name);
85
84
  }
86
85
  }
87
86
  WriteDynamicRadioListFieldComponent.ɵfac = function WriteDynamicRadioListFieldComponent_Factory(t) { return ɵWriteDynamicRadioListFieldComponent_BaseFactory(t || WriteDynamicRadioListFieldComponent); };
@@ -123,4 +122,4 @@ const ɵWriteDynamicRadioListFieldComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵg
123
122
  templateUrl: './write-dynamic-radio-list-field.html'
124
123
  }]
125
124
  }], null, null); })();
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtZHluYW1pYy1yYWRpby1saXN0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2R5bmFtaWMtcmFkaW8tbGlzdC93cml0ZS1keW5hbWljLXJhZGlvLWxpc3QtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZHluYW1pYy1yYWRpby1saXN0L3dyaXRlLWR5bmFtaWMtcmFkaW8tbGlzdC1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7O0lDR25GLCtCQUFpRDtJQUFBLFlBQTZCOztJQUFBLGlCQUFPOzs7SUFBcEMsZUFBNkI7SUFBN0IsNERBQTZCOzs7SUFDOUUsK0JBQW9EO0lBQUEsWUFBdUI7SUFBQSxpQkFBTzs7O0lBQTlCLGVBQXVCO0lBQXZCLGdEQUF1Qjs7O0lBQzNFLCtCQUEwRTtJQUFBLHNDQUFzQjtJQUFBLGlCQUFPOzs7SUFDdkcsK0JBQzRFO0lBQUEsWUFDekQ7O0lBQUEsaUJBQU87OztJQURrRCxlQUN6RDtJQUR5RCxpRkFDekQ7Ozs7SUFJckIsK0JBQXlKO0lBQ3JKLDRCQUFvSztJQUNwSyxpQ0FBbUU7SUFBQSxZQUFxQjtJQUFBLGlCQUFRO0lBQ3BHLGlCQUFNOzs7O0lBSHdFLGtIQUEwRTtJQUNoRixlQUFlO0lBQWYsNkNBQWU7SUFBdkQsK0RBQXVDLCtDQUFBLDhCQUFBO0lBQ3pDLGVBQXdDO0lBQXhDLGdFQUF3QztJQUFDLGVBQXFCO0lBQXJCLDBDQUFxQjs7O0FEUmxHLE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSwyQkFBMkI7SUFJM0UsUUFBUTtRQUNiOzs7V0FHRztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUU7WUFDN0csSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO1NBQ3ZFO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRTtZQUNuRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1NBQ2xFO1FBRUQsTUFBTSxNQUFNLEdBQVksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUUxRixJQUFJLE1BQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7U0FDM0I7UUFFRCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFnQixDQUFDO1FBQzFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sY0FBYyxDQUFDLElBQVk7UUFDaEMsT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDOztrS0E3QlUsbUNBQW1DO3dFQUFuQyxtQ0FBbUM7UUNSaEQsOEJBQ2tIO1FBQ2hILGdDQUFVO1FBQ1IsNEJBQXdDO1FBQ3hDLGdDQUFvQjtRQUNoQixzRkFBcUY7UUFDckYsc0ZBQWtGO1FBQ2xGLHNGQUF1RztRQUN2RyxzRkFFMEI7UUFDOUIsaUJBQVE7UUFFUiw2QkFBYztRQUNaLG9GQUdNO1FBQ1IsMEJBQWU7UUFDakIsaUJBQVc7UUFDYixpQkFBTTs7UUFuQkYsNkhBQWlHLGdCQUFBO1FBRzFGLGVBQVk7UUFBWiw4QkFBWTtRQUNXLGVBQXFCO1FBQXJCLDBDQUFxQjtRQUN0QixlQUF5QjtRQUF6Qiw4Q0FBeUI7UUFDeEIsZUFBOEM7UUFBOUMsdUVBQThDO1FBRW5FLGVBQXFFO1FBQXJFLDhGQUFxRTtRQUt2QixlQUF1QjtRQUF2QixrREFBdUI7O2dHRE5yRSxtQ0FBbUM7dUZBQW5DLG1DQUFtQztjQUovQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9DQUFvQztnQkFDOUMsV0FBVyxFQUFFLHVDQUF1QzthQUNyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtd3JpdGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXdyaXRlLWR5bmFtaWMtcmFkaW8tbGlzdC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1keW5hbWljLXJhZGlvLWxpc3QtZmllbGQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVEeW5hbWljUmFkaW9MaXN0RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBkeW5hbWljUmFkaW9MaXN0Q29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8qKlxuICAgICAqXG4gICAgICogUmVhc3NpZ25pbmcgbGlzdF9pdGVtcyBmcm9tIGZvcm1hdHRlZF9saXN0IHdoZW4gbGlzdF9pdGVtcyBpcyBlbXB0eVxuICAgICAqL1xuICAgIGlmICghdGhpcy5jYXNlRmllbGQubGlzdF9pdGVtcyAmJiB0aGlzLmNhc2VGaWVsZC5mb3JtYXR0ZWRfdmFsdWUgJiYgdGhpcy5jYXNlRmllbGQuZm9ybWF0dGVkX3ZhbHVlLmxpc3RfaXRlbXMpIHtcbiAgICAgIHRoaXMuY2FzZUZpZWxkLmxpc3RfaXRlbXMgPSB0aGlzLmNhc2VGaWVsZC5mb3JtYXR0ZWRfdmFsdWUubGlzdF9pdGVtcztcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY2FzZUZpZWxkLnZhbHVlICYmIHRoaXMuY2FzZUZpZWxkLmZvcm1hdHRlZF92YWx1ZSAmJiB0aGlzLmNhc2VGaWVsZC5mb3JtYXR0ZWRfdmFsdWUudmFsdWUpIHtcbiAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlID0gdGhpcy5jYXNlRmllbGQuZm9ybWF0dGVkX3ZhbHVlLnZhbHVlLmNvZGU7XG4gICAgfVxuXG4gICAgY29uc3QgaXNOdWxsOiBib29sZWFuID0gdGhpcy5jYXNlRmllbGQudmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLmNhc2VGaWVsZC52YWx1ZSA9PT0gJyc7XG5cbiAgICBpZiAoaXNOdWxsIHx8IHR5cGVvZiB0aGlzLmNhc2VGaWVsZC52YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlID0gW107XG4gICAgfVxuXG4gICAgdGhpcy5keW5hbWljUmFkaW9MaXN0Q29udHJvbCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtQ29udHJvbCh0aGlzLmNhc2VGaWVsZC52YWx1ZSkpIGFzIEZvcm1Db250cm9sO1xuICAgIHRoaXMuZHluYW1pY1JhZGlvTGlzdENvbnRyb2wuc2V0VmFsdWUodGhpcy5jYXNlRmllbGQudmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkRWxlbWVudElkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuaWQoKX0tJHtuYW1lfWA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGJvdHRvbS0zMFwiXG4gICAgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogIWR5bmFtaWNSYWRpb0xpc3RDb250cm9sLnZhbGlkICYmIGR5bmFtaWNSYWRpb0xpc3RDb250cm9sLmRpcnR5fVwiIFtpZF09XCJpZCgpXCI+XG4gIDxmaWVsZHNldD5cbiAgICA8bGVnZW5kIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj48L2xlZ2VuZD5cbiAgICA8bGFiZWwgW2Zvcl09XCJpZCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1sYWJlbFwiICpuZ0lmPVwiY2FzZUZpZWxkLmxhYmVsXCI+e3tjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1oaW50XCIgKm5nSWY9XCJjYXNlRmllbGQuaGludF90ZXh0XCI+e3tjYXNlRmllbGQuaGludF90ZXh0fX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1sYWJlbFwiICpuZ0lmPVwiIWNhc2VGaWVsZC5sYWJlbCAmJiAhY2FzZUZpZWxkLmhpbnRfdGV4dFwiPlNlbGVjdCBhbiBvcHRpb24gYmVsb3c8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICAqbmdJZj1cImR5bmFtaWNSYWRpb0xpc3RDb250cm9sLmVycm9ycyAmJiBkeW5hbWljUmFkaW9MaXN0Q29udHJvbC5kaXJ0eVwiPnt7ZHluYW1pY1JhZGlvTGlzdENvbnRyb2wuZXJyb3JzIHxcbiAgICAgICAgICAgIGNjZEZpcnN0RXJyb3J9fTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuXG4gICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtdWx0aXBsZS1jaG9pY2VcIiAqbmdGb3I9XCJsZXQgcmFkaW9CdXR0b24gb2YgY2FzZUZpZWxkLmxpc3RfaXRlbXNcIiBbbmdDbGFzc109XCJ7c2VsZWN0ZWQ6IGR5bmFtaWNSYWRpb0xpc3RDb250cm9sLnZhbHVlID09PSByYWRpb0J1dHRvbi5jb2RlfVwiPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtpZF09XCJidWlsZEVsZW1lbnRJZChyYWRpb0J1dHRvbi5jb2RlKVwiIG5hbWU9XCJ7e2lkKCl9fVwiIHR5cGU9XCJyYWRpb1wiIFtmb3JtQ29udHJvbF09XCJkeW5hbWljUmFkaW9MaXN0Q29udHJvbFwiIFt2YWx1ZV09XCJyYWRpb0J1dHRvbi5jb2RlXCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIFtmb3JdPVwiYnVpbGRFbGVtZW50SWQocmFkaW9CdXR0b24uY29kZSlcIj57e3JhZGlvQnV0dG9uLmxhYmVsfX08L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZmllbGRzZXQ+XG48L2Rpdj5cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtZHluYW1pYy1yYWRpby1saXN0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2R5bmFtaWMtcmFkaW8tbGlzdC93cml0ZS1keW5hbWljLXJhZGlvLWxpc3QtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZHluYW1pYy1yYWRpby1saXN0L3dyaXRlLWR5bmFtaWMtcmFkaW8tbGlzdC1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7O0lDR25GLCtCQUFpRDtJQUFBLFlBQTZCOztJQUFBLGlCQUFPOzs7SUFBcEMsZUFBNkI7SUFBN0IsNERBQTZCOzs7SUFDOUUsK0JBQW9EO0lBQUEsWUFBdUI7SUFBQSxpQkFBTzs7O0lBQTlCLGVBQXVCO0lBQXZCLGdEQUF1Qjs7O0lBQzNFLCtCQUEwRTtJQUFBLHNDQUFzQjtJQUFBLGlCQUFPOzs7SUFDdkcsK0JBQzRFO0lBQUEsWUFDekQ7O0lBQUEsaUJBQU87OztJQURrRCxlQUN6RDtJQUR5RCxpRkFDekQ7Ozs7SUFJckIsK0JBQXlKO0lBQ3ZKLDRCQUFnTTtJQUNoTSxpQ0FBb0U7SUFBQSxZQUFxQjtJQUFBLGlCQUFRO0lBQ25HLGlCQUFNOzs7O0lBSHdFLGtIQUEwRTtJQUMxSCxlQUF3QztJQUF4QyxnRUFBd0MscURBQUEsK0NBQUEsOEJBQUE7SUFDMUMsZUFBeUM7SUFBekMsaUVBQXlDO0lBQUMsZUFBcUI7SUFBckIsMENBQXFCOzs7QURSakcsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLDJCQUEyQjtJQUkzRSxRQUFRO1FBQ2I7OztXQUdHO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRTtZQUM3RyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7U0FDdkU7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFO1lBQ25HLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDbEU7UUFFRCxNQUFNLE1BQU0sR0FBWSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBRTFGLElBQUksTUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUMzQjtRQUVELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQWdCLENBQUM7UUFDMUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTSxlQUFlLENBQUMsSUFBWTtRQUNqQyxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekgsQ0FBQzs7a0tBN0JVLG1DQUFtQzt3RUFBbkMsbUNBQW1DO1FDUmhELDhCQUNrSDtRQUNoSCxnQ0FBVTtRQUNSLDRCQUF3QztRQUN4QyxnQ0FBb0I7UUFDaEIsc0ZBQXFGO1FBQ3JGLHNGQUFrRjtRQUNsRixzRkFBdUc7UUFDdkcsc0ZBRTBCO1FBQzlCLGlCQUFRO1FBRVIsNkJBQWM7UUFDWixvRkFHTTtRQUNSLDBCQUFlO1FBQ2pCLGlCQUFXO1FBQ2IsaUJBQU07O1FBbkJGLDZIQUFpRyxnQkFBQTtRQUcxRixlQUFZO1FBQVosOEJBQVk7UUFDVyxlQUFxQjtRQUFyQiwwQ0FBcUI7UUFDdEIsZUFBeUI7UUFBekIsOENBQXlCO1FBQ3hCLGVBQThDO1FBQTlDLHVFQUE4QztRQUVuRSxlQUFxRTtRQUFyRSw4RkFBcUU7UUFLdkIsZUFBdUI7UUFBdkIsa0RBQXVCOztnR0ROckUsbUNBQW1DO3VGQUFuQyxtQ0FBbUM7Y0FKL0MsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxvQ0FBb0M7Z0JBQzlDLFdBQVcsRUFBRSx1Q0FBdUM7YUFDckQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXdyaXRlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1keW5hbWljLXJhZGlvLWxpc3QtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUtZHluYW1pYy1yYWRpby1saXN0LWZpZWxkLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFdyaXRlRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgZHluYW1pY1JhZGlvTGlzdENvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvKipcbiAgICAgKlxuICAgICAqIFJlYXNzaWduaW5nIGxpc3RfaXRlbXMgZnJvbSBmb3JtYXR0ZWRfbGlzdCB3aGVuIGxpc3RfaXRlbXMgaXMgZW1wdHlcbiAgICAgKi9cbiAgICBpZiAoIXRoaXMuY2FzZUZpZWxkLmxpc3RfaXRlbXMgJiYgdGhpcy5jYXNlRmllbGQuZm9ybWF0dGVkX3ZhbHVlICYmIHRoaXMuY2FzZUZpZWxkLmZvcm1hdHRlZF92YWx1ZS5saXN0X2l0ZW1zKSB7XG4gICAgICB0aGlzLmNhc2VGaWVsZC5saXN0X2l0ZW1zID0gdGhpcy5jYXNlRmllbGQuZm9ybWF0dGVkX3ZhbHVlLmxpc3RfaXRlbXM7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmNhc2VGaWVsZC52YWx1ZSAmJiB0aGlzLmNhc2VGaWVsZC5mb3JtYXR0ZWRfdmFsdWUgJiYgdGhpcy5jYXNlRmllbGQuZm9ybWF0dGVkX3ZhbHVlLnZhbHVlKSB7XG4gICAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZSA9IHRoaXMuY2FzZUZpZWxkLmZvcm1hdHRlZF92YWx1ZS52YWx1ZS5jb2RlO1xuICAgIH1cblxuICAgIGNvbnN0IGlzTnVsbDogYm9vbGVhbiA9IHRoaXMuY2FzZUZpZWxkLnZhbHVlID09PSB1bmRlZmluZWQgfHwgdGhpcy5jYXNlRmllbGQudmFsdWUgPT09ICcnO1xuXG4gICAgaWYgKGlzTnVsbCB8fCB0eXBlb2YgdGhpcy5jYXNlRmllbGQudmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZSA9IFtdO1xuICAgIH1cblxuICAgIHRoaXMuZHluYW1pY1JhZGlvTGlzdENvbnRyb2wgPSB0aGlzLnJlZ2lzdGVyQ29udHJvbChuZXcgRm9ybUNvbnRyb2wodGhpcy5jYXNlRmllbGQudmFsdWUpKSBhcyBGb3JtQ29udHJvbDtcbiAgICB0aGlzLmR5bmFtaWNSYWRpb0xpc3RDb250cm9sLnNldFZhbHVlKHRoaXMuY2FzZUZpZWxkLnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVFbGVtZW50SWQobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQgJiYgdGhpcy5wYXJlbnQudmFsdWUgPyB0aGlzLnBhcmVudC52YWx1ZS5pZCArIHRoaXMucGFyZW50LnZhbHVlLnZhbHVlIDogc3VwZXIuY3JlYXRlRWxlbWVudElkKG5hbWUpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBib3R0b20tMzBcIlxuICAgIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6ICFkeW5hbWljUmFkaW9MaXN0Q29udHJvbC52YWxpZCAmJiBkeW5hbWljUmFkaW9MaXN0Q29udHJvbC5kaXJ0eX1cIiBbaWRdPVwiaWQoKVwiPlxuICA8ZmllbGRzZXQ+XG4gICAgPGxlZ2VuZCBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+PC9sZWdlbmQ+XG4gICAgPGxhYmVsIFtmb3JdPVwiaWQoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tbGFiZWxcIiAqbmdJZj1cImNhc2VGaWVsZC5sYWJlbFwiPnt7Y2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0taGludFwiICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiPnt7Y2FzZUZpZWxkLmhpbnRfdGV4dH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tbGFiZWxcIiAqbmdJZj1cIiFjYXNlRmllbGQubGFiZWwgJiYgIWNhc2VGaWVsZC5oaW50X3RleHRcIj5TZWxlY3QgYW4gb3B0aW9uIGJlbG93PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJkeW5hbWljUmFkaW9MaXN0Q29udHJvbC5lcnJvcnMgJiYgZHluYW1pY1JhZGlvTGlzdENvbnRyb2wuZGlydHlcIj57e2R5bmFtaWNSYWRpb0xpc3RDb250cm9sLmVycm9ycyB8XG4gICAgICAgICAgICBjY2RGaXJzdEVycm9yfX08L3NwYW4+XG4gICAgPC9sYWJlbD5cblxuICAgIDxuZy1jb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwibXVsdGlwbGUtY2hvaWNlXCIgKm5nRm9yPVwibGV0IHJhZGlvQnV0dG9uIG9mIGNhc2VGaWVsZC5saXN0X2l0ZW1zXCIgW25nQ2xhc3NdPVwie3NlbGVjdGVkOiBkeW5hbWljUmFkaW9MaXN0Q29udHJvbC52YWx1ZSA9PT0gcmFkaW9CdXR0b24uY29kZX1cIj5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW2lkXT1cImNyZWF0ZUVsZW1lbnRJZChyYWRpb0J1dHRvbi5jb2RlKVwiIFtuYW1lXT1cImNyZWF0ZUVsZW1lbnRJZChyYWRpb0J1dHRvbi5jb2RlKVwiIHR5cGU9XCJyYWRpb1wiIFtmb3JtQ29udHJvbF09XCJkeW5hbWljUmFkaW9MaXN0Q29udHJvbFwiIFt2YWx1ZV09XCJyYWRpb0J1dHRvbi5jb2RlXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBbZm9yXT1cImNyZWF0ZUVsZW1lbnRJZChyYWRpb0J1dHRvbi5jb2RlKVwiPnt7cmFkaW9CdXR0b24ubGFiZWx9fTwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9maWVsZHNldD5cbjwvZGl2PlxuIl19
@@ -10,6 +10,7 @@ export * from './datetime-picker';
10
10
  export * from './document';
11
11
  export * from './dynamic-list';
12
12
  export * from './dynamic-radio-list';
13
+ export * from './dynamic-multi-select-list';
13
14
  export * from './email';
14
15
  export * from './fixed-list';
15
16
  export * from './fixed-radio-list';
@@ -33,4 +34,4 @@ export * from './unsupported-field.component';
33
34
  export * from './utils';
34
35
  export * from './waystopay';
35
36
  export * from './yes-no';
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZGRyZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1maWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2Nhc2UtZmlsZS12aWV3JztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1mbGFnJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1saW5rJztcbmV4cG9ydCAqIGZyb20gJy4vY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBsZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZXRpbWUtcGlja2VyJztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLXJhZGlvLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9lbWFpbCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpeGVkLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9maXhlZC1yYWRpby1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vaGlzdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2p1ZGljaWFsLXVzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9sYWJlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmtlZC1jYXNlcyc7XG5leHBvcnQgKiBmcm9tICcuL21hcmtkb3duJztcbmV4cG9ydCAqIGZyb20gJy4vbW9uZXktZ2JwJztcbmV4cG9ydCAqIGZyb20gJy4vbXVsdGktc2VsZWN0LWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9udW1iZXInO1xuZXhwb3J0ICogZnJvbSAnLi9vcmRlci1zdW1tYXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vb3JnYW5pc2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGFsZXR0ZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWxldHRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXltZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGhvbmUtdWsnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC1hcmVhJztcbmV4cG9ydCAqIGZyb20gJy4vdW5zdXBwb3J0ZWQtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi93YXlzdG9wYXknO1xuZXhwb3J0ICogZnJvbSAnLi95ZXMtbm8nO1xuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkZHJlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1maWxlLXZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXNlLWZsYWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXNlLWxpbmsnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcGxleCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRldGltZS1waWNrZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtcmFkaW8tbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtbXVsdGktc2VsZWN0LWxpc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2VtYWlsJztcbmV4cG9ydCAqIGZyb20gJy4vZml4ZWQtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpeGVkLXJhZGlvLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9oaXN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vanVkaWNpYWwtdXNlcic7XG5leHBvcnQgKiBmcm9tICcuL2xhYmVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGlua2VkLWNhc2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbWFya2Rvd24nO1xuZXhwb3J0ICogZnJvbSAnLi9tb25leS1nYnAnO1xuZXhwb3J0ICogZnJvbSAnLi9tdWx0aS1zZWxlY3QtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL251bWJlcic7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyLXN1bW1hcnknO1xuZXhwb3J0ICogZnJvbSAnLi9vcmdhbmlzYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9wYWxldHRlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhbGV0dGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3BheW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9waG9uZS11ayc7XG5leHBvcnQgKiBmcm9tICcuL3RleHQnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LWFyZWEnO1xuZXhwb3J0ICogZnJvbSAnLi91bnN1cHBvcnRlZC1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3dheXN0b3BheSc7XG5leHBvcnQgKiBmcm9tICcuL3llcy1ubyc7XG4iXX0=
@@ -206,10 +206,11 @@ export class LinkedCasesToTableComponent {
206
206
  });
207
207
  if (searchCasesResponse.length) {
208
208
  this.searchCasesByCaseIds(searchCasesResponse).subscribe((searchCases) => {
209
- const casesResponse = [];
209
+ let casesResponse = [];
210
210
  searchCases.forEach(response => {
211
211
  casesResponse.push(this.mapResponse(response));
212
212
  });
213
+ casesResponse = this.sortReasonCodes(casesResponse);
213
214
  this.linkedCasesFromResponse = this.sortLinkedCasesByReasonCode(casesResponse);
214
215
  this.isLoaded = true;
215
216
  const caseLinks = this.linkedCasesFromResponse.map(item => {
@@ -235,6 +236,30 @@ export class LinkedCasesToTableComponent {
235
236
  });
236
237
  }
237
238
  }
239
+ sortReasonCodes(searchCasesResponse) {
240
+ searchCasesResponse.forEach((item) => {
241
+ if (item && item.reasons && item.reasons.length) {
242
+ item.reasons.forEach((reason) => {
243
+ reason.sortOrder = this.getReasonSortOrder(reason.value.Reason);
244
+ });
245
+ item.reasons = item.reasons.sort((a, b) => a.sortOrder - b.sortOrder);
246
+ item.sortOrder = item.reasons[0].sortOrder;
247
+ }
248
+ });
249
+ searchCasesResponse = searchCasesResponse && searchCasesResponse.sort((a, b) => a.sortOrder - b.sortOrder);
250
+ return searchCasesResponse;
251
+ }
252
+ getReasonSortOrder(reasonCode) {
253
+ if (reasonCode === LinkedCasesToTableComponent.CASE_PROGRESS_REASON_CODE) {
254
+ return 1;
255
+ }
256
+ else if (reasonCode === LinkedCasesToTableComponent.CASE_CONSOLIDATED_REASON_CODE) {
257
+ return 2;
258
+ }
259
+ else {
260
+ return 3;
261
+ }
262
+ }
238
263
  searchCasesByCaseIds(searchCasesResponse) {
239
264
  return forkJoin(searchCasesResponse);
240
265
  }
@@ -282,4 +307,4 @@ LinkedCasesToTableComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LinkedCasesTo
282
307
  }], notifyAPIFailure: [{
283
308
  type: Output
284
309
  }] }); })();
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLXRvLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy9jb21wb25lbnRzL2xpbmtlZC1jYXNlcy10YWJsZS9saW5rZWQtY2FzZXMtdG8tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvbGlua2VkLWNhc2VzLXRhYmxlL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUU5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0lDa0JVLDZCQUVXO0lBQUEsWUFBMkM7SUFBQSxpQkFBSTs7OztJQUR0RyxxR0FBa0Q7SUFDSyxlQUEyQztJQUEzQyx1RUFBMkM7OztJQUN0RyxxQkFBc0I7OztJQUp4Qiw0QkFBNEU7SUFDMUUsWUFBMEM7O0lBQUEsNEJBQU07SUFBQSxvR0FFMEQ7SUFBQSxpQkFBTztJQUNqSCxzR0FBc0I7SUFDeEIsaUJBQU87Ozs7O0lBSkwsZUFBMEM7SUFBMUMscUVBQTBDO0lBRXJDLGVBQW9EO0lBQXBELCtFQUFvRDtJQUNwRCxlQUFhO0lBQWIsaUNBQWE7OztJQUx0QiwwQkFBaUM7SUFDL0IsbUdBS087SUFDVCxpQkFBSzs7O0lBTnNCLGVBQWlCO0lBQWpCLHlDQUFpQjs7O0lBWDlDLDZCQUEwRTtJQUN4RSwwQkFBSTtJQUNGLDRCQUFzQjtJQUFBLDZCQUNIO0lBQUEsZ0NBQXlCO0lBQUEsWUFBa0I7SUFBQSxxQkFBSTtJQUM1RCxZQUF5Qzs7SUFBQSxpQkFBTztJQUFBLGlCQUFJO0lBQUEsaUJBQUk7SUFDaEUsaUJBQUs7SUFDTCwwQkFBSTtJQUFBLGlDQUF5QztJQUFBLGFBQWlCO0lBQUEsaUJBQU87SUFBQSxpQkFBSztJQUMxRSwyQkFBSTtJQUFBLDZCQUFNO0lBQUEsYUFBZ0I7SUFBQSxpQkFBTztJQUFBLGlCQUFLO0lBQ3RDLDJCQUFJO0lBQUEsaUNBQXNDO0lBQUEsYUFBYztJQUFBLGlCQUFPO0lBQy9ELGlCQUFLO0lBQ0wsMkZBT0s7SUFDUCxpQkFBSzs7O0lBaEJ3QyxlQUFnRDtJQUFoRCxxR0FBZ0Q7SUFDN0MsZUFBa0I7SUFBbEIsZ0RBQWtCO0lBQ3hELGVBQXlDO0lBQXpDLDJFQUF5QztJQUV2QyxlQUFrQztJQUFsQyxtREFBa0M7SUFBQyxlQUFpQjtJQUFqQixzQ0FBaUI7SUFDcEQsZUFBZ0I7SUFBaEIscUNBQWdCO0lBQ2hCLGVBQStCO0lBQS9CLGdEQUErQjtJQUFDLGVBQWM7SUFBZCxtQ0FBYztJQUVuRCxlQUEwQjtJQUExQixpREFBMEI7OztJQVNqQyw2QkFBMEg7SUFDeEgsOEJBQTBDO0lBQ3hDLHNCQUNGO0lBQUEsaUJBQUs7SUFDUCxpQkFBSzs7O0lBbENULGdDQUEyRjtJQUN6Riw2QkFBTztJQUNMLDZCQUE2QjtJQUMzQiw2QkFBMEU7SUFBQSxvQ0FBb0I7SUFBQSxpQkFBSztJQUNuRyw2QkFBMEU7SUFBQSwwQkFBVTtJQUFBLGlCQUFLO0lBQ3pGLDZCQUEwRTtJQUFBLHVCQUFPO0lBQUEsaUJBQUs7SUFDdEYsNkJBQTBFO0lBQUEsc0JBQUs7SUFBQSxpQkFBSztJQUNwRiw4QkFBMEU7SUFBQSxzQ0FBcUI7SUFBQSxpQkFBSztJQUN0RyxpQkFBSztJQUNQLGlCQUFRO0lBQ1IsaUNBQWlDO0lBQy9CLHNGQWtCSztJQUNMLG9GQUlLO0lBQ1AsaUJBQVE7SUFDVixpQkFBUTs7O0lBekIwQyxnQkFBMEI7SUFBMUIsd0RBQTBCO0lBbUIxQyxlQUEwRjtJQUExRixnSUFBMEY7O0FEUGhJLE1BQU0sT0FBTywyQkFBMkI7SUFrQnRDLFlBQ21CLEtBQXFCLEVBQ3JCLGtCQUFzQyxFQUN0QyxZQUEwQjtRQUYxQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBWnRDLHFCQUFnQixHQUEwQixJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUdsRSw0QkFBdUIsR0FBMEIsRUFBRSxDQUFDO1FBRXBELGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLDRCQUF1QixHQUFHLEtBQUssQ0FBQztRQUNoQywwQkFBcUIsR0FBbUIsRUFBRSxDQUFDO0lBS0QsQ0FBQztJQUUzQyxlQUFlO1FBQ3BCLElBQUksVUFBVSxHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BFLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDbkMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMvQjtRQUNELFVBQVUsR0FBRyxRQUFRLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0QsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRTtZQUNuQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN2RyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNuQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3JFO1FBQ0QsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQztJQUNqRixDQUFDO0lBRU0sbUJBQW1CLENBQUMsT0FBZTtRQUN4QyxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLDJCQUEyQixDQUFDLG1CQUFtQjtRQUNwRCxNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztRQUMvQixJQUFJLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztRQUNoQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUN4QyxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDM0MsTUFBTSx1QkFBdUIsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN0RCxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSywyQkFBMkIsQ0FBQyw2QkFBNkIsQ0FDL0UsQ0FBQztZQUNGLE1BQU0scUJBQXFCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDcEQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssMkJBQTJCLENBQUMseUJBQXlCLENBQzNFLENBQUM7WUFDRixNQUFNLFNBQVMscUJBQVEsSUFBSSxDQUFFLENBQUM7WUFDOUIsSUFBSSxxQkFBcUIsRUFBRTtnQkFDekIsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3JDO2lCQUFNLElBQUksdUJBQXVCLEVBQUU7Z0JBQ2xDLHNCQUFzQixHQUFHLG1CQUFNLElBQUksR0FBSSxHQUFHLHNCQUFzQixDQUFDLENBQUM7YUFDbkU7aUJBQU07Z0JBQ0wsc0JBQXNCLENBQUMsSUFBSSxtQkFBTSxJQUFJLEVBQUcsQ0FBQzthQUMxQztRQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sMkJBQTJCO1FBQ2hDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQy9CLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3ZHLG1DQUFtQztRQUNuQyxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2xDLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxFQUFFLEVBQUU7Z0JBQy9CLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxRTtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUU7WUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBZ0IsRUFBRSxFQUFFO2dCQUM1RSxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7Z0JBQ3pCLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQzdCLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUMvRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDckIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDeEQsT0FBTzt3QkFDTCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7d0JBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTt3QkFDdkIsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPO3dCQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7d0JBQ3ZCLE1BQU0sRUFBRSxLQUFLO3dCQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFOzRCQUNqRCxPQUFPO2dDQUNMLE1BQU0sRUFBRSxNQUFNOzZCQUNELENBQUM7d0JBQ2xCLENBQUMsQ0FBQztxQkFDUyxDQUFDO2dCQUNoQixDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO2dCQUNyRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztnQkFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDN0IsQ0FBQyxFQUNDLEdBQUcsQ0FBQyxFQUFFO2dCQUNKLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25DLENBQUMsQ0FDRixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU0sb0JBQW9CLENBQUMsbUJBQTBCO1FBQ3BELE9BQU8sUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLHlCQUF5QixDQUFDLFVBQWtCO1FBQ2pELE9BQU8sVUFBVSxLQUFLLDJCQUEyQixDQUFDLHlCQUF5QjtZQUN6RSxVQUFVLEtBQUssMkJBQTJCLENBQUMsNkJBQTZCLENBQUM7SUFDN0UsQ0FBQztJQUVNLFdBQVcsQ0FBQyxxQkFBcUI7O1FBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEtBQUsscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0gsT0FBTyxRQUFRLElBQUk7WUFDakIsYUFBYSxFQUFFLHFCQUFxQixDQUFDLE9BQU87WUFDNUMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUM7WUFDcEUsUUFBUSxFQUFFLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksRUFBRTtZQUNwRCxtQkFBbUIsRUFBRSxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsV0FBVyxJQUFJLEVBQUU7WUFDdEUsT0FBTyxFQUFFLHFCQUFxQixDQUFDLFNBQVMsSUFBSSxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFdBQVcsSUFBSSxFQUFFO1lBQzFHLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDN0MsZ0JBQWdCLEVBQUUscUJBQXFCLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFO1lBQy9ELE9BQU8sUUFBRSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsS0FBSywwQ0FBRSxhQUFhO1NBQ2pCLENBQUM7SUFDM0IsQ0FBQzs7QUFwSXVCLHlEQUE2QixHQUFHLFNBQVMsQ0FBQztBQUMxQyxxREFBeUIsR0FBRyxTQUFTLENBQUM7c0dBSG5ELDJCQUEyQjtnRUFBM0IsMkJBQTJCO1FDekJ4Qyw4QkFBb0Q7UUFDbEQsOEJBQW9DO1FBQ2xDLGlGQW9DUTtRQUNWLGlCQUFNO1FBQ1IsaUJBQU07O1FBdENNLGVBQTZCO1FBQTdCLGtEQUE2Qjs7dUZEdUI1QiwyQkFBMkI7Y0FMdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7Z0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2FBQ3REOzZIQU9RLFNBQVM7a0JBRGYsS0FBSztZQUlDLGdCQUFnQjtrQkFEdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmllbGQsIEp1cmlzZGljdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uJztcbmltcG9ydCB7IENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzL2Nhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIExpbmtSZWFzb24gfSBmcm9tICcuLi8uLi9kb21haW4vbGlua2VkLWNhc2VzLm1vZGVsJztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuaW50ZXJmYWNlIExpbmtlZENhc2VzUmVzcG9uc2Uge1xuICBjYXNlUmVmZXJlbmNlOiBzdHJpbmc7XG4gIGNhc2VOYW1lOiBzdHJpbmc7XG4gIGNhc2VUeXBlOiBzdHJpbmc7XG4gIGNhc2VUeXBlRGVzY3JpcHRpb246IHN0cmluZztcbiAgc2VydmljZTogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBzdGF0ZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHJlYXNvbnM6IHN0cmluZ1tdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtbGlua2VkLWNhc2VzLXRvLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ0FTRV9DT05TT0xJREFURURfUkVBU09OX0NPREUgPSAnQ0xSQzAxNSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENBU0VfUFJPR1JFU1NfUkVBU09OX0NPREUgPSAnQ0xSQzAxNic7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbm90aWZ5QVBJRmFpbHVyZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcihmYWxzZSk7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBpc0xvYWRlZDogYm9vbGVhbjtcbiAgcHVibGljIGxpbmtlZENhc2VzRnJvbVJlc3BvbnNlOiBMaW5rZWRDYXNlc1Jlc3BvbnNlW10gPSBbXTtcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgaXNTZXJ2ZXJFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIGp1cmlzZGljdGlvbnNSZXNwb25zZTogSnVyaXNkaWN0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgbGV0IGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdnb3Z1ay1oZWFkaW5nLWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICAgIGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWFkaW5nLWgyJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QgJiYgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhICYmIHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlLmNhc2VfaWQ7XG4gICAgdGhpcy5nZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTtcbiAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VEZXRhaWxzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2U7XG4gICAgfVxuICAgIHRoaXMuaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc1NlcnZlclJlYXNvbkNvZGVFcnJvcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlUmVmZXJlbmVMaW5rKGNhc2VSZWY6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNhc2VSZWYuc2xpY2UodGhpcy5jYXNlSWQubGVuZ3RoIC0gNCk7XG4gIH1cblxuICBwdWJsaWMgc29ydExpbmtlZENhc2VzQnlSZWFzb25Db2RlKHNlYXJjaENhc2VzUmVzcG9uc2UpOiBMaW5rZWRDYXNlc1Jlc3BvbnNlW10ge1xuICAgIGNvbnN0IHRvcExldmVscmVzdWx0QXJyYXkgPSBbXTtcbiAgICBsZXQgc2Vjb25kTGV2ZWxyZXN1bHRBcnJheSA9IFtdO1xuICAgIHNlYXJjaENhc2VzUmVzcG9uc2UuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XG4gICAgICBjb25zdCByZWFzb25zID0gaXRlbSAmJiBpdGVtLnJlYXNvbnMgfHwgW107XG4gICAgICBjb25zdCBjb25zb2xpZGF0ZWRTdGF0ZVJlYXNvbiA9IHJlYXNvbnMubWFwKHggPT4geCkuZmluZChcbiAgICAgICAgcmVhc29uID0+IHJlYXNvbiA9PT0gTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LkNBU0VfQ09OU09MSURBVEVEX1JFQVNPTl9DT0RFXG4gICAgICApO1xuICAgICAgY29uc3QgcHJvZ3Jlc3NlZFN0YXRlUmVhc29uID0gcmVhc29ucy5tYXAoeCA9PiB4KS5maW5kKFxuICAgICAgICByZWFzb24gPT4gcmVhc29uID09PSBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQuQ0FTRV9QUk9HUkVTU19SRUFTT05fQ09ERVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGFycmF5SXRlbSA9IHsgLi4uaXRlbSB9O1xuICAgICAgaWYgKHByb2dyZXNzZWRTdGF0ZVJlYXNvbikge1xuICAgICAgICB0b3BMZXZlbHJlc3VsdEFycmF5LnB1c2goYXJyYXlJdGVtKTtcbiAgICAgIH0gZWxzZSBpZiAoY29uc29saWRhdGVkU3RhdGVSZWFzb24pIHtcbiAgICAgICAgc2Vjb25kTGV2ZWxyZXN1bHRBcnJheSA9IFt7IC4uLml0ZW0gfSwgLi4uc2Vjb25kTGV2ZWxyZXN1bHRBcnJheV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWNvbmRMZXZlbHJlc3VsdEFycmF5LnB1c2goeyAuLi5pdGVtIH0pO1xuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHRvcExldmVscmVzdWx0QXJyYXkuY29uY2F0KHNlY29uZExldmVscmVzdWx0QXJyYXkpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbExpbmtlZENhc2VJbmZvcm1hdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hDYXNlc1Jlc3BvbnNlID0gW107XG4gICAgY29uc3QgY2FzZUZpZWxkVmFsdWUgPSB0aGlzLmNhc2VGaWVsZCAmJiB0aGlzLmNhc2VGaWVsZC5pZCA9PT0gJ2Nhc2VMaW5rcycgPyB0aGlzLmNhc2VGaWVsZC52YWx1ZSA6IFtdO1xuICAgIC8vIEdlbmVyYXRlIHRoZSBsaXN0IG9mIG9ic2VydmFibGVzXG4gICAgY2FzZUZpZWxkVmFsdWUuZm9yRWFjaChmaWVsZFZhbHVlID0+IHtcbiAgICAgIGlmIChmaWVsZFZhbHVlICYmIGZpZWxkVmFsdWUuaWQpIHtcbiAgICAgICAgc2VhcmNoQ2FzZXNSZXNwb25zZS5wdXNoKHRoaXMuY2FzZXNTZXJ2aWNlLmdldENhc2VWaWV3VjIoZmllbGRWYWx1ZS5pZCkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChzZWFyY2hDYXNlc1Jlc3BvbnNlLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZWFyY2hDYXNlc0J5Q2FzZUlkcyhzZWFyY2hDYXNlc1Jlc3BvbnNlKS5zdWJzY3JpYmUoKHNlYXJjaENhc2VzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgY2FzZXNSZXNwb25zZSA9IFtdO1xuICAgICAgICBzZWFyY2hDYXNlcy5mb3JFYWNoKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICBjYXNlc1Jlc3BvbnNlLnB1c2godGhpcy5tYXBSZXNwb25zZShyZXNwb25zZSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc0Zyb21SZXNwb25zZSA9IHRoaXMuc29ydExpbmtlZENhc2VzQnlSZWFzb25Db2RlKGNhc2VzUmVzcG9uc2UpO1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgY2FzZUxpbmtzID0gdGhpcy5saW5rZWRDYXNlc0Zyb21SZXNwb25zZS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNhc2VSZWZlcmVuY2U6IGl0ZW0uY2FzZVJlZmVyZW5jZSxcbiAgICAgICAgICAgIGNhc2VOYW1lOiBpdGVtLmNhc2VOYW1lLFxuICAgICAgICAgICAgY2FzZVNlcnZpY2U6IGl0ZW0uc2VydmljZSxcbiAgICAgICAgICAgIGNhc2VUeXBlOiBpdGVtLmNhc2VUeXBlLFxuICAgICAgICAgICAgdW5saW5rOiBmYWxzZSxcbiAgICAgICAgICAgIHJlYXNvbnM6IGl0ZW0ucmVhc29ucyAmJiBpdGVtLnJlYXNvbnMubWFwKHJlYXNvbiA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgUmVhc29uOiByZWFzb25cbiAgICAgICAgICAgICAgfSBhcyBMaW5rUmVhc29uO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSBhcyBDYXNlTGluaztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua3MgPSBjYXNlTGlua3M7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzID0gY2FzZUxpbmtzO1xuICAgICAgICB0aGlzLmlzU2VydmVyRXJyb3IgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5pc1NlcnZlckVycm9yID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLm5vdGlmeUFQSUZhaWx1cmUuZW1pdCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZTogYW55W10pOiBPYnNlcnZhYmxlPHVua25vd25bXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihzZWFyY2hDYXNlc1Jlc3BvbnNlKTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNMZWFkQ2FzZU9yQ29uc29saWRhdGVkKHJlYXNvbkNvZGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZWFzb25Db2RlID09PSBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQuQ0FTRV9QUk9HUkVTU19SRUFTT05fQ09ERSB8fFxuICAgICAgcmVhc29uQ29kZSA9PT0gTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LkNBU0VfQ09OU09MSURBVEVEX1JFQVNPTl9DT0RFO1xuICB9XG5cbiAgcHVibGljIG1hcFJlc3BvbnNlKGVzU2VhcmNoQ2FzZXNSZXNwb25zZSk6IExpbmtlZENhc2VzUmVzcG9uc2Uge1xuICAgIGNvbnN0IGNhc2VJbmZvID0gdGhpcy5jYXNlRmllbGQudmFsdWUuZmluZChpdGVtID0+IGl0ZW0udmFsdWUgJiYgaXRlbS52YWx1ZS5DYXNlUmVmZXJlbmNlID09PSBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9pZCk7XG4gICAgcmV0dXJuIGNhc2VJbmZvICYmIHtcbiAgICAgIGNhc2VSZWZlcmVuY2U6IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2lkLFxuICAgICAgY2FzZU5hbWU6IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmdldENhc2VOYW1lKGVzU2VhcmNoQ2FzZXNSZXNwb25zZSksXG4gICAgICBjYXNlVHlwZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfdHlwZS5uYW1lIHx8ICcnLFxuICAgICAgY2FzZVR5cGVEZXNjcmlwdGlvbjogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfdHlwZS5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIHNlcnZpY2U6IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX3R5cGUgJiYgZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICBzdGF0ZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLnN0YXRlLm5hbWUgfHwgJycsXG4gICAgICBzdGF0ZURlc2NyaXB0aW9uOiBlc1NlYXJjaENhc2VzUmVzcG9uc2Uuc3RhdGUuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICByZWFzb25zOiBjYXNlSW5mbz8udmFsdWU/LlJlYXNvbkZvckxpbmtcbiAgICB9IGFzIExpbmtlZENhc2VzUmVzcG9uc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvdyBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMlwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tZnVsbFwiPlxuICAgIDx0YWJsZSAqbmdJZj1cImxpbmtlZENhc2VzRnJvbVJlc3BvbnNlXCIgYXJpYS1kZXNjcmliZWRieT1cInRhYmxlIHRvIGRpc3BsYXkgY2FzZXMgbGlua2VkIFRPXCI+XG4gICAgICA8dGhlYWQ+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPkNhc2UgbmFtZSBhbmQgbnVtYmVyPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPkNhc2UgdHlwZSA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+U2VydmljZTwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5TdGF0ZTwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5SZWFzb25zIGZvciBjYXNlIGxpbms8L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgY2FzZSBvZiBsaW5rZWRDYXNlc0Zyb21SZXNwb25zZVwiPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keVwiPjxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJjYXNlcy9jYXNlLWRldGFpbHMve3tjYXNlLmNhc2VSZWZlcmVuY2V9fVwiXG4gICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXJcIj48c3BhbiBjbGFzcz1cImdvdnVrLWxpbmtcIj57e2Nhc2UuY2FzZU5hbWV9fSA8YnI+XG4gICAgICAgICAgICAgICAgICB7e2Nhc2UuY2FzZVJlZmVyZW5jZSB8IGNjZENhc2VSZWZlcmVuY2V9fTwvc3Bhbj48L2E+PC9wPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkPjxzcGFuIFt0aXRsZV09XCJjYXNlLmNhc2VUeXBlRGVzY3JpcHRpb25cIj57e2Nhc2UuY2FzZVR5cGV9fTwvc3Bhbj48L3RkPlxuICAgICAgICAgIDx0ZD48c3Bhbj57e2Nhc2Uuc2VydmljZX19PC9zcGFuPjwvdGQ+XG4gICAgICAgICAgPHRkPjxzcGFuIFt0aXRsZV09XCJjYXNlLnN0YXRlRGVzY3JpcHRpb25cIj57e2Nhc2Uuc3RhdGV9fTwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCAqbmdJZj1cImNhc2UgJiYgY2FzZS5yZWFzb25zXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgcmVhc29uIG9mIGNhc2UucmVhc29uczsgbGV0IGkgPSBpbmRleDsgbGV0IGlzTGFzdCA9IGxhc3RcIj5cbiAgICAgICAgICAgICAge3tyZWFzb24udmFsdWUgfCBjY2RMaW5rQ2FzZXNSZWFzb25WYWx1ZX19PHNwYW4+PGEgY2xhc3M9XCJnb3Z1ay0hLXBhZGRpbmctbGVmdC0xXCJcbiAgICAgICAgICAgICAgICAgIGhyZWY9XCJjYXNlcy9jYXNlLWRldGFpbHMve3sgY2FzZS5jYXNlUmVmZXJlbmNlIH19XCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzTGVhZENhc2VPckNvbnNvbGlkYXRlZChyZWFzb24udmFsdWUuUmVhc29uKVwiPnt7Z2V0Q2FzZVJlZmVyZW5lTGluayhjYXNlLmNhc2VSZWZlcmVuY2UpfX08L2E+PC9zcGFuPlxuICAgICAgICAgICAgICA8YnIgKm5nSWY9XCIhaXNMYXN0XCIgLz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCJsaW5rZWRDYXNlc0Zyb21SZXNwb25zZS5sZW5ndGggPT09IDAgJiYgKCFpc1NlcnZlckVycm9yICYmICFpc1NlcnZlclJlYXNvbkNvZGVFcnJvcilcIj5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiIGNvbHNwYW49XCI1XCI+XG4gICAgICAgICAgICBOb25lXG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
310
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLXRvLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy9jb21wb25lbnRzL2xpbmtlZC1jYXNlcy10YWJsZS9saW5rZWQtY2FzZXMtdG8tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvbGlua2VkLWNhc2VzLXRhYmxlL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUU5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0lDa0JVLDZCQUVXO0lBQUEsWUFBMkM7SUFBQSxpQkFBSTs7OztJQUR0RyxxR0FBa0Q7SUFDSyxlQUEyQztJQUEzQyx1RUFBMkM7OztJQUN0RyxxQkFBc0I7OztJQUp4Qiw0QkFBNEU7SUFDMUUsWUFBMEM7O0lBQUEsNEJBQU07SUFBQSxvR0FFMEQ7SUFBQSxpQkFBTztJ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QUFJLElBQUksRUFBRTtZQUM3QyxnQkFBZ0IsRUFBRSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUU7WUFDL0QsT0FBTyxRQUFFLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxLQUFLLDBDQUFFLGFBQWE7U0FDakIsQ0FBQztJQUMzQixDQUFDOztBQTdKdUIseURBQTZCLEdBQUcsU0FBUyxDQUFDO0FBQzFDLHFEQUF5QixHQUFHLFNBQVMsQ0FBQztzR0FIbkQsMkJBQTJCO2dFQUEzQiwyQkFBMkI7UUN6QnhDLDhCQUFvRDtRQUNsRCw4QkFBb0M7UUFDbEMsaUZBb0NRO1FBQ1YsaUJBQU07UUFDUixpQkFBTTs7UUF0Q00sZUFBNkI7UUFBN0Isa0RBQTZCOzt1RkR1QjVCLDJCQUEyQjtjQUx2QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsV0FBVyxFQUFFLHdDQUF3QztnQkFDckQsU0FBUyxFQUFFLENBQUMsd0NBQXdDLENBQUM7YUFDdEQ7NkhBT1EsU0FBUztrQkFEZixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGaWVsZCwgSnVyaXNkaWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24nO1xuaW1wb3J0IHsgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlTGluaywgTGlua1JlYXNvbiB9IGZyb20gJy4uLy4uL2RvbWFpbi9saW5rZWQtY2FzZXMubW9kZWwnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5pbnRlcmZhY2UgTGlua2VkQ2FzZXNSZXNwb25zZSB7XG4gIGNhc2VSZWZlcmVuY2U6IHN0cmluZztcbiAgY2FzZU5hbWU6IHN0cmluZztcbiAgY2FzZVR5cGU6IHN0cmluZztcbiAgY2FzZVR5cGVEZXNjcmlwdGlvbjogc3RyaW5nO1xuICBzZXJ2aWNlOiBzdHJpbmc7XG4gIHN0YXRlOiBzdHJpbmc7XG4gIHN0YXRlRGVzY3JpcHRpb246IHN0cmluZztcbiAgcmVhc29uczogc3RyaW5nW107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1saW5rZWQtY2FzZXMtdG8tdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlua2VkLWNhc2VzLXRvLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlua2VkLWNhc2VzLXRvLXRhYmxlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDQVNFX0NPTlNPTElEQVRFRF9SRUFTT05fQ09ERSA9ICdDTFJDMDE1JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ0FTRV9QUk9HUkVTU19SRUFTT05fQ09ERSA9ICdDTFJDMDE2JztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZUZpZWxkOiBDYXNlRmllbGQ7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBub3RpZnlBUElGYWlsdXJlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKGZhbHNlKTtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHVibGljIGlzTG9hZGVkOiBib29sZWFuO1xuICBwdWJsaWMgbGlua2VkQ2FzZXNGcm9tUmVzcG9uc2U6IExpbmtlZENhc2VzUmVzcG9uc2VbXSA9IFtdO1xuICBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBpc1NlcnZlckVycm9yID0gZmFsc2U7XG4gIHB1YmxpYyBpc1NlcnZlclJlYXNvbkNvZGVFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMganVyaXNkaWN0aW9uc1Jlc3BvbnNlOiBKdXJpc2RpY3Rpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlua2VkQ2FzZXNTZXJ2aWNlOiBMaW5rZWRDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlc1NlcnZpY2U6IENhc2VzU2VydmljZSkgeyB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBsZXQgbGFiZWxGaWVsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2dvdnVrLWhlYWRpbmctbCcpO1xuICAgIGlmIChsYWJlbEZpZWxkICYmIGxhYmVsRmllbGQubGVuZ3RoKSB7XG4gICAgICBsYWJlbEZpZWxkWzBdLnJlcGxhY2VXaXRoKCcnKTtcbiAgICB9XG4gICAgbGFiZWxGaWVsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2hlYWRpbmctaDInKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZUlkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdCAmJiB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEgJiYgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UuY2FzZV9pZDtcbiAgICB0aGlzLmdldEFsbExpbmtlZENhc2VJbmZvcm1hdGlvbigpO1xuICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZSkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZURldGFpbHMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZTtcbiAgICB9XG4gICAgdGhpcy5pc1NlcnZlclJlYXNvbkNvZGVFcnJvciA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzU2VydmVyUmVhc29uQ29kZUVycm9yO1xuICB9XG5cbiAgcHVibGljIGdldENhc2VSZWZlcmVuZUxpbmsoY2FzZVJlZjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2FzZVJlZi5zbGljZSh0aGlzLmNhc2VJZC5sZW5ndGggLSA0KTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0TGlua2VkQ2FzZXNCeVJlYXNvbkNvZGUoc2VhcmNoQ2FzZXNSZXNwb25zZSk6IExpbmtlZENhc2VzUmVzcG9uc2VbXSB7XG4gICAgY29uc3QgdG9wTGV2ZWxyZXN1bHRBcnJheSA9IFtdO1xuICAgIGxldCBzZWNvbmRMZXZlbHJlc3VsdEFycmF5ID0gW107XG4gICAgc2VhcmNoQ2FzZXNSZXNwb25zZS5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHJlYXNvbnMgPSBpdGVtICYmIGl0ZW0ucmVhc29ucyB8fCBbXTtcbiAgICAgIGNvbnN0IGNvbnNvbGlkYXRlZFN0YXRlUmVhc29uID0gcmVhc29ucy5tYXAoeCA9PiB4KS5maW5kKFxuICAgICAgICByZWFzb24gPT4gcmVhc29uID09PSBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQuQ0FTRV9DT05TT0xJREFURURfUkVBU09OX0NPREVcbiAgICAgICk7XG4gICAgICBjb25zdCBwcm9ncmVzc2VkU3RhdGVSZWFzb24gPSByZWFzb25zLm1hcCh4ID0+IHgpLmZpbmQoXG4gICAgICAgIHJlYXNvbiA9PiByZWFzb24gPT09IExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudC5DQVNFX1BST0dSRVNTX1JFQVNPTl9DT0RFXG4gICAgICApO1xuICAgICAgY29uc3QgYXJyYXlJdGVtID0geyAuLi5pdGVtIH07XG4gICAgICBpZiAocHJvZ3Jlc3NlZFN0YXRlUmVhc29uKSB7XG4gICAgICAgIHRvcExldmVscmVzdWx0QXJyYXkucHVzaChhcnJheUl0ZW0pO1xuICAgICAgfSBlbHNlIGlmIChjb25zb2xpZGF0ZWRTdGF0ZVJlYXNvbikge1xuICAgICAgICBzZWNvbmRMZXZlbHJlc3VsdEFycmF5ID0gW3sgLi4uaXRlbSB9LCAuLi5zZWNvbmRMZXZlbHJlc3VsdEFycmF5XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlY29uZExldmVscmVzdWx0QXJyYXkucHVzaCh7IC4uLml0ZW0gfSk7XG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gdG9wTGV2ZWxyZXN1bHRBcnJheS5jb25jYXQoc2Vjb25kTGV2ZWxyZXN1bHRBcnJheSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWxsTGlua2VkQ2FzZUluZm9ybWF0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXJjaENhc2VzUmVzcG9uc2UgPSBbXTtcbiAgICBjb25zdCBjYXNlRmllbGRWYWx1ZSA9IHRoaXMuY2FzZUZpZWxkICYmIHRoaXMuY2FzZUZpZWxkLmlkID09PSAnY2FzZUxpbmtzJyA/IHRoaXMuY2FzZUZpZWxkLnZhbHVlIDogW107XG4gICAgLy8gR2VuZXJhdGUgdGhlIGxpc3Qgb2Ygb2JzZXJ2YWJsZXNcbiAgICBjYXNlRmllbGRWYWx1ZS5mb3JFYWNoKGZpZWxkVmFsdWUgPT4ge1xuICAgICAgaWYgKGZpZWxkVmFsdWUgJiYgZmllbGRWYWx1ZS5pZCkge1xuICAgICAgICBzZWFyY2hDYXNlc1Jlc3BvbnNlLnB1c2godGhpcy5jYXNlc1NlcnZpY2UuZ2V0Q2FzZVZpZXdWMihmaWVsZFZhbHVlLmlkKSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKHNlYXJjaENhc2VzUmVzcG9uc2UubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNlYXJjaENhc2VzQnlDYXNlSWRzKHNlYXJjaENhc2VzUmVzcG9uc2UpLnN1YnNjcmliZSgoc2VhcmNoQ2FzZXM6IGFueSkgPT4ge1xuICAgICAgICBsZXQgY2FzZXNSZXNwb25zZSA9IFtdO1xuICAgICAgICBzZWFyY2hDYXNlcy5mb3JFYWNoKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICBjYXNlc1Jlc3BvbnNlLnB1c2godGhpcy5tYXBSZXNwb25zZShyZXNwb25zZSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgY2FzZXNSZXNwb25zZSA9IHRoaXMuc29ydFJlYXNvbkNvZGVzKGNhc2VzUmVzcG9uc2UpO1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzRnJvbVJlc3BvbnNlID0gdGhpcy5zb3J0TGlua2VkQ2FzZXNCeVJlYXNvbkNvZGUoY2FzZXNSZXNwb25zZSk7XG4gICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICBjb25zdCBjYXNlTGlua3MgPSB0aGlzLmxpbmtlZENhc2VzRnJvbVJlc3BvbnNlLm1hcChpdGVtID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY2FzZVJlZmVyZW5jZTogaXRlbS5jYXNlUmVmZXJlbmNlLFxuICAgICAgICAgICAgY2FzZU5hbWU6IGl0ZW0uY2FzZU5hbWUsXG4gICAgICAgICAgICBjYXNlU2VydmljZTogaXRlbS5zZXJ2aWNlLFxuICAgICAgICAgICAgY2FzZVR5cGU6IGl0ZW0uY2FzZVR5cGUsXG4gICAgICAgICAgICB1bmxpbms6IGZhbHNlLFxuICAgICAgICAgICAgcmVhc29uczogaXRlbS5yZWFzb25zICYmIGl0ZW0ucmVhc29ucy5tYXAocmVhc29uID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBSZWFzb246IHJlYXNvblxuICAgICAgICAgICAgICB9IGFzIExpbmtSZWFzb247XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9IGFzIENhc2VMaW5rO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rcyA9IGNhc2VMaW5rcztcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSBjYXNlTGlua3M7XG4gICAgICAgIHRoaXMuaXNTZXJ2ZXJFcnJvciA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmlzU2VydmVyRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIHRoaXMubm90aWZ5QVBJRmFpbHVyZS5lbWl0KHRydWUpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzb3J0UmVhc29uQ29kZXMoc2VhcmNoQ2FzZXNSZXNwb25zZSk6IExpbmtlZENhc2VzUmVzcG9uc2VbXSB7XG4gICAgc2VhcmNoQ2FzZXNSZXNwb25zZS5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcbiAgICAgIGlmKGl0ZW0gJiYgaXRlbS5yZWFzb25zICYmIGl0ZW0ucmVhc29ucy5sZW5ndGgpe1xuICAgICAgICBpdGVtLnJlYXNvbnMuZm9yRWFjaCgocmVhc29uKSA9PiB7XG4gICAgICAgICAgcmVhc29uLnNvcnRPcmRlciA9IHRoaXMuZ2V0UmVhc29uU29ydE9yZGVyKHJlYXNvbi52YWx1ZS5SZWFzb24pXG4gICAgICAgIH0pO1xuICAgICAgICBpdGVtLnJlYXNvbnMgPSBpdGVtLnJlYXNvbnMuc29ydCgoYSwgYikgPT4gYS5zb3J0T3JkZXIgLSBiLnNvcnRPcmRlcik7XG4gICAgICAgIGl0ZW0uc29ydE9yZGVyID0gaXRlbS5yZWFzb25zWzBdLnNvcnRPcmRlcjtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBzZWFyY2hDYXNlc1Jlc3BvbnNlID0gc2VhcmNoQ2FzZXNSZXNwb25zZSAmJiBzZWFyY2hDYXNlc1Jlc3BvbnNlLnNvcnQoKGEsIGIpID0+IGEuc29ydE9yZGVyIC0gYi5zb3J0T3JkZXIpXG4gICAgcmV0dXJuIHNlYXJjaENhc2VzUmVzcG9uc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVhc29uU29ydE9yZGVyKHJlYXNvbkNvZGU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgaWYgKHJlYXNvbkNvZGUgPT09IExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudC5DQVNFX1BST0dSRVNTX1JFQVNPTl9DT0RFKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9IGVsc2UgaWYgKHJlYXNvbkNvZGUgPT09IExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudC5DQVNFX0NPTlNPTElEQVRFRF9SRUFTT05fQ09ERSkge1xuICAgICAgcmV0dXJuIDI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAzO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hDYXNlc0J5Q2FzZUlkcyhzZWFyY2hDYXNlc1Jlc3BvbnNlOiBhbnlbXSk6IE9ic2VydmFibGU8dW5rbm93bltdPiB7XG4gICAgcmV0dXJuIGZvcmtKb2luKHNlYXJjaENhc2VzUmVzcG9uc2UpO1xuICB9XG5cbiAgcHVibGljIGhhc0xlYWRDYXNlT3JDb25zb2xpZGF0ZWQocmVhc29uQ29kZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHJlYXNvbkNvZGUgPT09IExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudC5DQVNFX1BST0dSRVNTX1JFQVNPTl9DT0RFIHx8XG4gICAgICByZWFzb25Db2RlID09PSBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQuQ0FTRV9DT05TT0xJREFURURfUkVBU09OX0NPREU7XG4gIH1cblxuICBwdWJsaWMgbWFwUmVzcG9uc2UoZXNTZWFyY2hDYXNlc1Jlc3BvbnNlKTogTGlua2VkQ2FzZXNSZXNwb25zZSB7XG4gICAgY29uc3QgY2FzZUluZm8gPSB0aGlzLmNhc2VGaWVsZC52YWx1ZS5maW5kKGl0ZW0gPT4gaXRlbS52YWx1ZSAmJiBpdGVtLnZhbHVlLkNhc2VSZWZlcmVuY2UgPT09IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2lkKTtcbiAgICByZXR1cm4gY2FzZUluZm8gJiYge1xuICAgICAgY2FzZVJlZmVyZW5jZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfaWQsXG4gICAgICBjYXNlTmFtZTogdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0Q2FzZU5hbWUoZXNTZWFyY2hDYXNlc1Jlc3BvbnNlKSxcbiAgICAgIGNhc2VUeXBlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV90eXBlLm5hbWUgfHwgJycsXG4gICAgICBjYXNlVHlwZURlc2NyaXB0aW9uOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV90eXBlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgc2VydmljZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfdHlwZSAmJiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV90eXBlLmp1cmlzZGljdGlvbi5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIHN0YXRlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2Uuc3RhdGUubmFtZSB8fCAnJyxcbiAgICAgIHN0YXRlRGVzY3JpcHRpb246IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5zdGF0ZS5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIHJlYXNvbnM6IGNhc2VJbmZvPy52YWx1ZT8uUmVhc29uRm9yTGlua1xuICAgIH0gYXMgTGlua2VkQ2FzZXNSZXNwb25zZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0yXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi1mdWxsXCI+XG4gICAgPHRhYmxlICpuZ0lmPVwibGlua2VkQ2FzZXNGcm9tUmVzcG9uc2VcIiBhcmlhLWRlc2NyaWJlZGJ5PVwidGFibGUgdG8gZGlzcGxheSBjYXNlcyBsaW5rZWQgVE9cIj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+Q2FzZSBuYW1lIGFuZCBudW1iZXI8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+Q2FzZSB0eXBlIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5TZXJ2aWNlPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPlN0YXRlPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPlJlYXNvbnMgZm9yIGNhc2UgbGluazwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0Zvcj1cImxldCBjYXNlIG9mIGxpbmtlZENhc2VzRnJvbVJlc3BvbnNlXCI+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImNhc2VzL2Nhc2UtZGV0YWlscy97e2Nhc2UuY2FzZVJlZmVyZW5jZX19XCJcbiAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lclwiPjxzcGFuIGNsYXNzPVwiZ292dWstbGlua1wiPnt7Y2FzZS5jYXNlTmFtZX19IDxicj5cbiAgICAgICAgICAgICAgICAgIHt7Y2FzZS5jYXNlUmVmZXJlbmNlIHwgY2NkQ2FzZVJlZmVyZW5jZX19PC9zcGFuPjwvYT48L3A+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+PHNwYW4gW3RpdGxlXT1cImNhc2UuY2FzZVR5cGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5jYXNlVHlwZX19PC9zcGFuPjwvdGQ+XG4gICAgICAgICAgPHRkPjxzcGFuPnt7Y2FzZS5zZXJ2aWNlfX08L3NwYW4+PC90ZD5cbiAgICAgICAgICA8dGQ+PHNwYW4gW3RpdGxlXT1cImNhc2Uuc3RhdGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5zdGF0ZX19PC9zcGFuPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkICpuZ0lmPVwiY2FzZSAmJiBjYXNlLnJlYXNvbnNcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCByZWFzb24gb2YgY2FzZS5yZWFzb25zOyBsZXQgaSA9IGluZGV4OyBsZXQgaXNMYXN0ID0gbGFzdFwiPlxuICAgICAgICAgICAgICB7e3JlYXNvbi52YWx1ZSB8IGNjZExpbmtDYXNlc1JlYXNvblZhbHVlfX08c3Bhbj48YSBjbGFzcz1cImdvdnVrLSEtcGFkZGluZy1sZWZ0LTFcIlxuICAgICAgICAgICAgICAgICAgaHJlZj1cImNhc2VzL2Nhc2UtZGV0YWlscy97eyBjYXNlLmNhc2VSZWZlcmVuY2UgfX1cIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNMZWFkQ2FzZU9yQ29uc29saWRhdGVkKHJlYXNvbi52YWx1ZS5SZWFzb24pXCI+e3tnZXRDYXNlUmVmZXJlbmVMaW5rKGNhc2UuY2FzZVJlZmVyZW5jZSl9fTwvYT48L3NwYW4+XG4gICAgICAgICAgICAgIDxiciAqbmdJZj1cIiFpc0xhc3RcIiAvPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdJZj1cImxpbmtlZENhc2VzRnJvbVJlc3BvbnNlLmxlbmd0aCA9PT0gMCAmJiAoIWlzU2VydmVyRXJyb3IgJiYgIWlzU2VydmVyUmVhc29uQ29kZUVycm9yKVwiPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCIgY29sc3Bhbj1cIjVcIj5cbiAgICAgICAgICAgIE5vbmVcbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLXN0YXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2RvbWFpbi9saW5rZWQtY2FzZXMtc3RhdGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlua2VkQ2FzZXNTdGF0ZSB7XG4gIGN1cnJlbnRMaW5rZWRDYXNlc1BhZ2U6IG51bWJlcjtcbiAgZXJyb3JNZXNzYWdlcz86IEVycm9yTWVzc2FnZVtdO1xuICBuYXZpZ2F0ZVRvTmV4dFBhZ2U6IGJvb2xlYW47XG4gIG5hdmlnYXRlVG9QcmV2aW91c1BhZ2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtlZENhc2VzRXJyb3Ige1xuICBjb21wb25lbnRJZDogc3RyaW5nO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLXN0YXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2RvbWFpbi9saW5rZWQtY2FzZXMtc3RhdGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlua2VkQ2FzZXNTdGF0ZSB7XG4gIGN1cnJlbnRMaW5rZWRDYXNlc1BhZ2U6IG51bWJlcjtcbiAgZXJyb3JNZXNzYWdlcz86IEVycm9yTWVzc2FnZVtdO1xuICBuYXZpZ2F0ZVRvTmV4dFBhZ2U6IGJvb2xlYW47XG4gIG5hdmlnYXRlVG9QcmV2aW91c1BhZ2U/OiBib29sZWFuO1xufVxuIl19
@@ -5,7 +5,7 @@ import { CaseEditDataService } from '../../../commons/case-edit-data';
5
5
  import { CommonDataService } from '../../../services/common-data-service/common-data-service';
6
6
  import { CasesService } from '../../case-editor/services/cases.service';
7
7
  import { AbstractFieldWriteComponent } from '../base-field';
8
- import { LinkedCasesErrorMessages, LinkedCasesEventTriggers, LinkedCasesPages } from './enums';
8
+ import { LinkedCasesEventTriggers, LinkedCasesPages } from './enums';
9
9
  import { LinkedCasesService } from './services';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "../../../../app.config";
@@ -13,72 +13,43 @@ import * as i2 from "../../../services/common-data-service/common-data-service";
13
13
  import * as i3 from "../../case-editor/services/cases.service";
14
14
  import * as i4 from "./services";
15
15
  import * as i5 from "../../../commons/case-edit-data";
16
- function WriteLinkedCasesFieldComponent_div_0_div_3_Template(rf, ctx) { if (rf & 1) {
17
- const _r9 = i0.ɵɵgetCurrentView();
18
- i0.ɵɵelementStart(0, "div", 7);
19
- i0.ɵɵelementStart(1, "ul", 8);
20
- i0.ɵɵelementStart(2, "li");
21
- i0.ɵɵelementStart(3, "a", 9);
22
- i0.ɵɵlistener("click", function WriteLinkedCasesFieldComponent_div_0_div_3_Template_a_click_3_listener() { i0.ɵɵrestoreView(_r9); const errorMessage_r7 = ctx.$implicit; const ctx_r8 = i0.ɵɵnextContext(2); return ctx_r8.navigateToErrorElement(errorMessage_r7.fieldId); });
23
- i0.ɵɵtext(4);
24
- i0.ɵɵelementEnd();
25
- i0.ɵɵelementEnd();
26
- i0.ɵɵelementEnd();
27
- i0.ɵɵelementEnd();
28
- } if (rf & 2) {
29
- const errorMessage_r7 = ctx.$implicit;
30
- i0.ɵɵadvance(4);
31
- i0.ɵɵtextInterpolate(errorMessage_r7.description);
32
- } }
33
- function WriteLinkedCasesFieldComponent_div_0_Template(rf, ctx) { if (rf & 1) {
34
- i0.ɵɵelementStart(0, "div", 4);
35
- i0.ɵɵelementStart(1, "h2", 5);
36
- i0.ɵɵtext(2, " There is a problem ");
37
- i0.ɵɵelementEnd();
38
- i0.ɵɵtemplate(3, WriteLinkedCasesFieldComponent_div_0_div_3_Template, 5, 1, "div", 6);
16
+ function WriteLinkedCasesFieldComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
17
+ const _r6 = i0.ɵɵgetCurrentView();
18
+ i0.ɵɵelementContainerStart(0);
19
+ i0.ɵɵelementStart(1, "ccd-linked-cases-before-you-start", 3);
20
+ i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_2_Template_ccd_linked_cases_before_you_start_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return ctx_r5.onLinkedCasesStateEmitted($event); });
39
21
  i0.ɵɵelementEnd();
40
- } if (rf & 2) {
41
- const ctx_r0 = i0.ɵɵnextContext();
42
- i0.ɵɵadvance(3);
43
- i0.ɵɵproperty("ngForOf", ctx_r0.errorMessages);
22
+ i0.ɵɵelementContainerEnd();
44
23
  } }
45
24
  function WriteLinkedCasesFieldComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
46
- const _r11 = i0.ɵɵgetCurrentView();
25
+ const _r8 = i0.ɵɵgetCurrentView();
47
26
  i0.ɵɵelementContainerStart(0);
48
- i0.ɵɵelementStart(1, "ccd-linked-cases-before-you-start", 10);
49
- i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_3_Template_ccd_linked_cases_before_you_start_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return ctx_r10.onLinkedCasesStateEmitted($event); });
27
+ i0.ɵɵelementStart(1, "ccd-no-linked-cases", 3);
28
+ i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_3_Template_ccd_no_linked_cases_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.onLinkedCasesStateEmitted($event); });
50
29
  i0.ɵɵelementEnd();
51
30
  i0.ɵɵelementContainerEnd();
52
31
  } }
53
32
  function WriteLinkedCasesFieldComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
54
- const _r13 = i0.ɵɵgetCurrentView();
33
+ const _r10 = i0.ɵɵgetCurrentView();
55
34
  i0.ɵɵelementContainerStart(0);
56
- i0.ɵɵelementStart(1, "ccd-no-linked-cases", 10);
57
- i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_4_Template_ccd_no_linked_cases_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(); return ctx_r12.onLinkedCasesStateEmitted($event); });
35
+ i0.ɵɵelementStart(1, "ccd-link-cases", 3);
36
+ i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_4_Template_ccd_link_cases_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.onLinkedCasesStateEmitted($event); });
58
37
  i0.ɵɵelementEnd();
59
38
  i0.ɵɵelementContainerEnd();
60
39
  } }
61
40
  function WriteLinkedCasesFieldComponent_ng_container_5_Template(rf, ctx) { if (rf & 1) {
62
- const _r15 = i0.ɵɵgetCurrentView();
41
+ const _r12 = i0.ɵɵgetCurrentView();
63
42
  i0.ɵɵelementContainerStart(0);
64
- i0.ɵɵelementStart(1, "ccd-link-cases", 10);
65
- i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_5_Template_ccd_link_cases_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r14 = i0.ɵɵnextContext(); return ctx_r14.onLinkedCasesStateEmitted($event); });
43
+ i0.ɵɵelementStart(1, "ccd-unlink-cases", 3);
44
+ i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_5_Template_ccd_unlink_cases_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(); return ctx_r11.onLinkedCasesStateEmitted($event); });
66
45
  i0.ɵɵelementEnd();
67
46
  i0.ɵɵelementContainerEnd();
68
47
  } }
69
48
  function WriteLinkedCasesFieldComponent_ng_container_6_Template(rf, ctx) { if (rf & 1) {
70
- const _r17 = i0.ɵɵgetCurrentView();
49
+ const _r14 = i0.ɵɵgetCurrentView();
71
50
  i0.ɵɵelementContainerStart(0);
72
- i0.ɵɵelementStart(1, "ccd-unlink-cases", 10);
73
- i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_6_Template_ccd_unlink_cases_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(); return ctx_r16.onLinkedCasesStateEmitted($event); });
74
- i0.ɵɵelementEnd();
75
- i0.ɵɵelementContainerEnd();
76
- } }
77
- function WriteLinkedCasesFieldComponent_ng_container_7_Template(rf, ctx) { if (rf & 1) {
78
- const _r19 = i0.ɵɵgetCurrentView();
79
- i0.ɵɵelementContainerStart(0);
80
- i0.ɵɵelementStart(1, "ccd-linked-cases-check-your-answers", 10);
81
- i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_7_Template_ccd_linked_cases_check_your_answers_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r18 = i0.ɵɵnextContext(); return ctx_r18.onLinkedCasesStateEmitted($event); });
51
+ i0.ɵɵelementStart(1, "ccd-linked-cases-check-your-answers", 3);
52
+ i0.ɵɵlistener("linkedCasesStateEmitter", function WriteLinkedCasesFieldComponent_ng_container_6_Template_ccd_linked_cases_check_your_answers_linkedCasesStateEmitter_1_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(); return ctx_r13.onLinkedCasesStateEmitted($event); });
82
53
  i0.ɵɵelementEnd();
83
54
  i0.ɵɵelementContainerEnd();
84
55
  } }
@@ -93,9 +64,11 @@ export class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent
93
64
  this.linkedCasesPages = LinkedCasesPages;
94
65
  this.linkedCasesEventTriggers = LinkedCasesEventTriggers;
95
66
  this.linkedCases = [];
96
- this.errorMessages = [];
97
67
  }
98
68
  ngOnInit() {
69
+ // This is required to enable Continue button validation
70
+ // Continue button should be enabled only at check your answers page
71
+ this.caseEditDataService.setLinkedCasesJourneyAtFinalStep(false);
99
72
  // Clear validation errors
100
73
  this.caseEditDataService.clearFormValidationErrors();
101
74
  // Get linked case reasons from ref data
@@ -131,11 +104,10 @@ export class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent
131
104
  }
132
105
  }
133
106
  onLinkedCasesStateEmitted(linkedCasesState) {
134
- this.errorMessages = [];
107
+ // Clear validation errors
135
108
  this.caseEditDataService.clearFormValidationErrors();
136
109
  if (linkedCasesState.navigateToNextPage) {
137
110
  this.linkedCasesPage = this.getNextPage(linkedCasesState);
138
- this.setContinueButtonValidationErrorMessage();
139
111
  this.proceedToNextPage();
140
112
  }
141
113
  else {
@@ -158,27 +130,19 @@ export class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent
158
130
  }
159
131
  });
160
132
  }
161
- setContinueButtonValidationErrorMessage() {
162
- const errorMessage = this.linkedCasesService.isLinkedCasesEventTrigger
163
- ? LinkedCasesErrorMessages.LinkCasesNavigationError
164
- : LinkedCasesErrorMessages.UnlinkCasesNavigationError;
165
- const buttonId = this.linkedCasesService.linkedCases.length === 0
166
- ? 'back-button'
167
- : 'next-button';
168
- this.caseEditDataService.setCaseLinkError({
169
- componentId: buttonId,
170
- errorMessage
171
- });
172
- }
173
133
  proceedToNextPage() {
174
134
  if (this.isAtFinalPage()) {
175
135
  // Continue button event must be allowed in final page
176
- this.caseEditDataService.clearCaseLinkError();
136
+ this.caseEditDataService.setLinkedCasesJourneyAtFinalStep(true);
177
137
  // Trigger validation to clear the "notAtFinalPage" error if now at the final state
178
138
  this.formGroup.updateValueAndValidity();
179
139
  // update form value
180
140
  this.submitLinkedCases();
181
141
  }
142
+ else {
143
+ // Continue button event must not be allowed if not in final page
144
+ this.caseEditDataService.setLinkedCasesJourneyAtFinalStep(false);
145
+ }
182
146
  }
183
147
  submitLinkedCases() {
184
148
  if (!this.linkedCasesService.isLinkedCasesEventTrigger) {
@@ -219,35 +183,21 @@ export class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent
219
183
  && !this.linkedCasesService.serverLinkedApiError)
220
184
  ? LinkedCasesPages.BEFORE_YOU_START
221
185
  : LinkedCasesPages.NO_LINKED_CASES;
222
- // Initialise the error to be displayed when clicked on Continue button
223
- this.setContinueButtonValidationErrorMessage();
224
186
  });
225
187
  }
226
- navigateToErrorElement(elementId) {
227
- if (elementId) {
228
- const htmlElement = document.getElementById(elementId);
229
- if (htmlElement) {
230
- htmlElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
231
- htmlElement.focus();
232
- }
233
- }
234
- }
235
188
  }
236
189
  WriteLinkedCasesFieldComponent.ɵfac = function WriteLinkedCasesFieldComponent_Factory(t) { return new (t || WriteLinkedCasesFieldComponent)(i0.ɵɵdirectiveInject(i1.AbstractAppConfig), i0.ɵɵdirectiveInject(i2.CommonDataService), i0.ɵɵdirectiveInject(i3.CasesService), i0.ɵɵdirectiveInject(i4.LinkedCasesService), i0.ɵɵdirectiveInject(i5.CaseEditDataService)); };
237
- WriteLinkedCasesFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteLinkedCasesFieldComponent, selectors: [["ccd-write-linked-cases-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 8, consts: [["class", "govuk-error-summary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 4, "ngIf"], [1, "form-group", "govuk-!-margin-bottom-2", 3, "formGroup"], [1, "govuk-form-group", 3, "ngSwitch"], [4, "ngSwitchCase"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], ["class", "govuk-error-summary__body", 4, "ngFor", "ngForOf"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [1, "validation-error", 3, "click"], [3, "linkedCasesStateEmitter"]], template: function WriteLinkedCasesFieldComponent_Template(rf, ctx) { if (rf & 1) {
238
- i0.ɵɵtemplate(0, WriteLinkedCasesFieldComponent_div_0_Template, 4, 1, "div", 0);
190
+ WriteLinkedCasesFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteLinkedCasesFieldComponent, selectors: [["ccd-write-linked-cases-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 7, consts: [[1, "form-group", "govuk-!-margin-bottom-2", 3, "formGroup"], [1, "govuk-form-group", 3, "ngSwitch"], [4, "ngSwitchCase"], [3, "linkedCasesStateEmitter"]], template: function WriteLinkedCasesFieldComponent_Template(rf, ctx) { if (rf & 1) {
191
+ i0.ɵɵelementStart(0, "div", 0);
239
192
  i0.ɵɵelementStart(1, "div", 1);
240
- i0.ɵɵelementStart(2, "div", 2);
241
- i0.ɵɵtemplate(3, WriteLinkedCasesFieldComponent_ng_container_3_Template, 2, 0, "ng-container", 3);
242
- i0.ɵɵtemplate(4, WriteLinkedCasesFieldComponent_ng_container_4_Template, 2, 0, "ng-container", 3);
243
- i0.ɵɵtemplate(5, WriteLinkedCasesFieldComponent_ng_container_5_Template, 2, 0, "ng-container", 3);
244
- i0.ɵɵtemplate(6, WriteLinkedCasesFieldComponent_ng_container_6_Template, 2, 0, "ng-container", 3);
245
- i0.ɵɵtemplate(7, WriteLinkedCasesFieldComponent_ng_container_7_Template, 2, 0, "ng-container", 3);
193
+ i0.ɵɵtemplate(2, WriteLinkedCasesFieldComponent_ng_container_2_Template, 2, 0, "ng-container", 2);
194
+ i0.ɵɵtemplate(3, WriteLinkedCasesFieldComponent_ng_container_3_Template, 2, 0, "ng-container", 2);
195
+ i0.ɵɵtemplate(4, WriteLinkedCasesFieldComponent_ng_container_4_Template, 2, 0, "ng-container", 2);
196
+ i0.ɵɵtemplate(5, WriteLinkedCasesFieldComponent_ng_container_5_Template, 2, 0, "ng-container", 2);
197
+ i0.ɵɵtemplate(6, WriteLinkedCasesFieldComponent_ng_container_6_Template, 2, 0, "ng-container", 2);
246
198
  i0.ɵɵelementEnd();
247
199
  i0.ɵɵelementEnd();
248
200
  } if (rf & 2) {
249
- i0.ɵɵproperty("ngIf", ctx.errorMessages.length > 0);
250
- i0.ɵɵadvance(1);
251
201
  i0.ɵɵproperty("formGroup", ctx.formGroup);
252
202
  i0.ɵɵadvance(1);
253
203
  i0.ɵɵproperty("ngSwitch", ctx.linkedCasesPage);
@@ -269,4 +219,4 @@ WriteLinkedCasesFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteLinke
269
219
  templateUrl: './write-linked-cases-field.component.html'
270
220
  }]
271
221
  }], function () { return [{ type: i1.AbstractAppConfig }, { type: i2.CommonDataService }, { type: i3.CasesService }, { type: i4.LinkedCasesService }, { type: i5.CaseEditDataService }]; }, null); })();
272
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy93cml0ZS1saW5rZWQtY2FzZXMtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL3dyaXRlLWxpbmtlZC1jYXNlcy1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7Ozs7O0lDTjlDLDhCQUFrRjtJQUNoRiw2QkFBaUQ7SUFDL0MsMEJBQUk7SUFDRiw0QkFBbUY7SUFBaEYsOFFBQXNEO0lBQTBCLFlBQTRC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QUF1QyxFQUFFLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sc0JBQXNCLENBQUMsU0FBaUI7UUFDN0MsSUFBSSxTQUFTLEVBQUU7WUFDYixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZELElBQUksV0FBVyxFQUFFO2dCQUNmLFdBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNwRSxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDckI7U0FDRjtJQUNILENBQUM7OzRHQTVLVSw4QkFBOEI7bUVBQTlCLDhCQUE4QjtRQ2hCM0MsK0VBV007UUFDTiw4QkFBd0U7UUFDdEUsOEJBQTJEO1FBQ3pELGlHQUdlO1FBQ2YsaUdBR2U7UUFDZixpR0FHZTtRQUNmLGlHQUdlO1FBQ2YsaUdBR2U7UUFDakIsaUJBQU07UUFDUixpQkFBTTs7UUFuQ0EsbURBQThCO1FBWVksZUFBdUI7UUFBdkIseUNBQXVCO1FBQ3ZDLGVBQTRCO1FBQTVCLDhDQUE0QjtRQUN6QyxlQUErQztRQUEvQyxvRUFBK0M7UUFJL0MsZUFBOEM7UUFBOUMsbUVBQThDO1FBSTlDLGVBQXdDO1FBQXhDLDZEQUF3QztRQUl4QyxlQUEwQztRQUExQywrREFBMEM7UUFJMUMsZUFBaUQ7UUFBakQsc0VBQWlEOzt1RkRkdkQsOEJBQThCO2NBSjFDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxXQUFXLEVBQUUsMkNBQTJDO2FBQ3pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgQ2FzZUVkaXREYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbnMvY2FzZS1lZGl0LWRhdGEnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2Nhc2Utdmlldyc7XG5pbXBvcnQgeyBDb21tb25EYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIExpbmtlZENhc2VzU3RhdGUgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMsIExpbmtlZENhc2VzRXZlbnRUcmlnZ2VycywgTGlua2VkQ2FzZXNQYWdlcyB9IGZyb20gJy4vZW51bXMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1saW5rZWQtY2FzZXMtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZUxpbmtlZENhc2VzRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIHB1YmxpYyBjYXNlRWRpdEZvcm06IEZvcm1Hcm91cDtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHVibGljIGxpbmtlZENhc2VzUGFnZTogbnVtYmVyO1xuICBwdWJsaWMgbGlua2VkQ2FzZXNQYWdlcyA9IExpbmtlZENhc2VzUGFnZXM7XG4gIHB1YmxpYyBsaW5rZWRDYXNlc0V2ZW50VHJpZ2dlcnMgPSBMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlcnM7XG4gIHB1YmxpYyBsaW5rZWRDYXNlczogQ2FzZUxpbmtbXSA9IFtdO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25EYXRhU2VydmljZTogQ29tbW9uRGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlc1NlcnZpY2U6IENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZUVkaXREYXRhU2VydmljZTogQ2FzZUVkaXREYXRhU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gQ2xlYXIgdmFsaWRhdGlvbiBlcnJvcnNcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2xlYXJGb3JtVmFsaWRhdGlvbkVycm9ycygpO1xuICAgIC8vIEdldCBsaW5rZWQgY2FzZSByZWFzb25zIGZyb20gcmVmIGRhdGFcbiAgICB0aGlzLmdldExpbmtlZENhc2VSZWFzb25zKCk7XG4gICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUgPSBmYWxzZTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2FzZURldGFpbHMkLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBjYXNlRGV0YWlscyA9PiB0aGlzLmluaXRpYWxpc2VDYXNlRGV0YWlscyhjYXNlRGV0YWlscylcbiAgICB9KTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2FzZUV2ZW50VHJpZ2dlck5hbWUkLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBuYW1lID0+IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIgPSAobmFtZSA9PT0gTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzLkxJTktfQ0FTRVMpXG4gICAgfSk7XG4gICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLmNhc2VFZGl0Rm9ybSQuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IGVkaXRGb3JtID0+IHRoaXMuY2FzZUVkaXRGb3JtID0gZWRpdEZvcm1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXNlQ2FzZURldGFpbHMoY2FzZURldGFpbHM6IENhc2VWaWV3KTogdm9pZCB7XG4gICAgaWYgKGNhc2VEZXRhaWxzKSB7XG4gICAgICB0aGlzLmNhc2VEZXRhaWxzID0gY2FzZURldGFpbHM7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRGV0YWlscyA9IGNhc2VEZXRhaWxzO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkID0gY2FzZURldGFpbHMuY2FzZV9pZDtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VOYW1lID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0Q2FzZU5hbWUoY2FzZURldGFpbHMpO1xuICAgICAgdGhpcy5nZXRMaW5rZWRDYXNlcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgbGV0IGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdnb3Z1ay1oZWFkaW5nLWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICAgIGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWFkaW5nLWgyJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKGxpbmtlZENhc2VzU3RhdGU6IExpbmtlZENhc2VzU3RhdGUpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2xlYXJGb3JtVmFsaWRhdGlvbkVycm9ycygpO1xuXG4gICAgaWYgKGxpbmtlZENhc2VzU3RhdGUubmF2aWdhdGVUb05leHRQYWdlKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzUGFnZSA9IHRoaXMuZ2V0TmV4dFBhZ2UobGlua2VkQ2FzZXNTdGF0ZSk7XG4gICAgICB0aGlzLnNldENvbnRpbnVlQnV0dG9uVmFsaWRhdGlvbkVycm9yTWVzc2FnZSgpO1xuICAgICAgdGhpcy5wcm9jZWVkVG9OZXh0UGFnZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobGlua2VkQ2FzZXNTdGF0ZS5lcnJvck1lc3NhZ2VzICYmIGxpbmtlZENhc2VzU3RhdGUuZXJyb3JNZXNzYWdlcy5sZW5ndGgpIHtcbiAgICAgICAgbGlua2VkQ2FzZXNTdGF0ZS5lcnJvck1lc3NhZ2VzLmZvckVhY2goKGVycm9yTWVzc2FnZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuYWRkRm9ybVZhbGlkYXRpb25FcnJvcih7IGlkOiBlcnJvck1lc3NhZ2UuZmllbGRJZCwgbWVzc2FnZTogZXJyb3JNZXNzYWdlLmRlc2NyaXB0aW9ufSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRMaW5rZWRDYXNlUmVhc29ucygpOiB2b2lkIHtcbiAgICBjb25zdCByZWFzb25Db2RlQVBJdXJsID0gdGhpcy5hcHBDb25maWcuZ2V0UkRDb21tb25EYXRhQXBpVXJsKCkgKyAnL2xvdi9jYXRlZ29yaWVzL0Nhc2VMaW5raW5nUmVhc29uQ29kZSc7XG4gICAgICB0aGlzLmNvbW1vbkRhdGFTZXJ2aWNlLmdldFJlZkRhdGEocmVhc29uQ29kZUFQSXVybCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogcmVhc29ucyA9PiB7XG4gICAgICAgICAgLy8gU29ydCBpbiBhc2NlbmRpbmcgb3JkZXJcbiAgICAgICAgICBjb25zdCBsaW5rQ2FzZVJlYXNvbnMgPSByZWFzb25zLmxpc3Rfb2ZfdmFsdWVzLnNvcnQoKGEsIGIpID0+IChhLnZhbHVlX2VuID4gYi52YWx1ZV9lbikgPyAxIDogLTEpO1xuICAgICAgICAgIC8vIE1vdmUgT3RoZXIgb3B0aW9uIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3RcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rQ2FzZVJlYXNvbnMgPSBsaW5rQ2FzZVJlYXNvbnM/LmZpbHRlcihyZWFzb24gPT4gcmVhc29uLnZhbHVlX2VuICE9PSAnT3RoZXInKTtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rQ2FzZVJlYXNvbnMucHVzaChsaW5rQ2FzZVJlYXNvbnM/LmZpbmQocmVhc29uID0+IHJlYXNvbi52YWx1ZV9lbiA9PT0gJ090aGVyJykpO1xuICAgICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2V0Q29udGludWVCdXR0b25WYWxpZGF0aW9uRXJyb3JNZXNzYWdlKCk6IHZvaWQge1xuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJcbiAgICAgICAgPyBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuTGlua0Nhc2VzTmF2aWdhdGlvbkVycm9yXG4gICAgICAgIDogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLlVubGlua0Nhc2VzTmF2aWdhdGlvbkVycm9yO1xuXG4gICAgY29uc3QgYnV0dG9uSWQgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcy5sZW5ndGggPT09IDBcbiAgICAgID8gJ2JhY2stYnV0dG9uJ1xuICAgICAgOiAnbmV4dC1idXR0b24nO1xuXG4gICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLnNldENhc2VMaW5rRXJyb3Ioe1xuICAgICAgICBjb21wb25lbnRJZDogYnV0dG9uSWQsXG4gICAgICAgIGVycm9yTWVzc2FnZVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHByb2NlZWRUb05leHRQYWdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQXRGaW5hbFBhZ2UoKSkge1xuICAgICAgLy8gQ29udGludWUgYnV0dG9uIGV2ZW50IG11c3QgYmUgYWxsb3dlZCBpbiBmaW5hbCBwYWdlXG4gICAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2xlYXJDYXNlTGlua0Vycm9yKCk7XG4gICAgICAvLyBUcmlnZ2VyIHZhbGlkYXRpb24gdG8gY2xlYXIgdGhlIFwibm90QXRGaW5hbFBhZ2VcIiBlcnJvciBpZiBub3cgYXQgdGhlIGZpbmFsIHN0YXRlXG4gICAgICB0aGlzLmZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAvLyB1cGRhdGUgZm9ybSB2YWx1ZVxuICAgICAgdGhpcy5zdWJtaXRMaW5rZWRDYXNlcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXRMaW5rZWRDYXNlcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIpIHtcbiAgICAgIGNvbnN0IHVubGlua2VkQ2FzZVJlZmVyZW5lSWRzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS51bmxpbmspLm1hcChpdGVtID0+IGl0ZW0uY2FzZVJlZmVyZW5jZSk7XG4gICAgICBjb25zdCBjYXNlRmllbGRWYWx1ZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgPSBjYXNlRmllbGRWYWx1ZS5maWx0ZXIoaXRlbSA9PiB1bmxpbmtlZENhc2VSZWZlcmVuZUlkcy5pbmRleE9mKGl0ZW0uaWQpID09PSAtMSk7XG4gICAgfVxuICAgIHRoaXMuZm9ybUdyb3VwLnZhbHVlLmNhc2VMaW5rcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlO1xuICAgICh0aGlzLmNhc2VFZGl0Rm9ybS5jb250cm9sc1snZGF0YSddIGFzIGFueSkgPSBuZXcgRm9ybUdyb3VwKHtjYXNlTGlua3M6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSB8fCBbXSl9KTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2Uuc2V0Q2FzZUVkaXRGb3JtKHRoaXMuY2FzZUVkaXRGb3JtKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0F0RmluYWxQYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxpbmtlZENhc2VzUGFnZSA9PT0gdGhpcy5saW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUztcbiAgfVxuXG4gIHB1YmxpYyBnZXROZXh0UGFnZShsaW5rZWRDYXNlc1N0YXRlOiBMaW5rZWRDYXNlc1N0YXRlKTogbnVtYmVyIHtcbiAgICBpZiAoKHRoaXMubGlua2VkQ2FzZXNQYWdlID09PSBMaW5rZWRDYXNlc1BhZ2VzLkJFRk9SRV9ZT1VfU1RBUlQpIHx8XG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlLmN1cnJlbnRMaW5rZWRDYXNlc1BhZ2UgPT09IExpbmtlZENhc2VzUGFnZXMuQ0hFQ0tfWU9VUl9BTlNXRVJTICYmIGxpbmtlZENhc2VzU3RhdGUubmF2aWdhdGVUb1ByZXZpb3VzUGFnZSkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlclxuICAgICAgICAgICAgPyBMaW5rZWRDYXNlc1BhZ2VzLkxJTktfQ0FTRVxuICAgICAgICAgICAgOiBMaW5rZWRDYXNlc1BhZ2VzLlVOTElOS19DQVNFO1xuICAgIH1cbiAgICByZXR1cm4gTGlua2VkQ2FzZXNQYWdlcy5DSEVDS19ZT1VSX0FOU1dFUlM7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlua2VkQ2FzZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlc1NlcnZpY2UuZ2V0Q2FzZVZpZXdWMih0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQpLnN1YnNjcmliZSgoY2FzZVZpZXc6IENhc2VWaWV3KSA9PiB7XG4gICAgICBjb25zdCBjYXNlVmlld0ZpbHRlcmVkID0gY2FzZVZpZXcudGFicy5maWx0ZXIodGFiID0+IHtcbiAgICAgICAgY29uc3QgbGlua0ZpZWxkID0gdGFiLmZpZWxkcy5zb21lKFxuICAgICAgICAgICh7ZmllbGRfdHlwZX0pID0+IGZpZWxkX3R5cGUgJiYgZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUgJiYgZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUuaWQgPT09ICdDYXNlTGluaydcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGxpbmtGaWVsZDtcbiAgICAgIH0pO1xuICAgICAgaWYgKGNhc2VWaWV3RmlsdGVyZWQpIHtcbiAgICAgICAgY29uc3QgY2FzZUxpbmtGaWVsZFZhbHVlID0gY2FzZVZpZXdGaWx0ZXJlZC5tYXAoZmlsdGVyZWQgPT5cbiAgICAgICAgICBmaWx0ZXJlZC5maWVsZHM/Lmxlbmd0aCA+IDAgJiYgZmlsdGVyZWQuZmllbGRzLmZpbHRlcihmaWVsZCA9PiBmaWVsZC5pZCA9PT0gJ2Nhc2VMaW5rcycpWzBdLnZhbHVlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlID0gY2FzZUxpbmtGaWVsZFZhbHVlLmxlbmd0aCA/IGNhc2VMaW5rRmllbGRWYWx1ZVswXSA6IFtdO1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5nZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTtcbiAgICAgIH1cbiAgICAgIC8vIEluaXRpYWxpc2UgdGhlIGZpcnN0IHBhZ2UgdG8gZGlzcGxheVxuICAgICAgdGhpcy5saW5rZWRDYXNlc1BhZ2UgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgJiYgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAhdGhpcy5saW5rZWRDYXNlc1NlcnZpY2Uuc2VydmVyTGlua2VkQXBpRXJyb3IpXG4gICAgICAgID8gTGlua2VkQ2FzZXNQYWdlcy5CRUZPUkVfWU9VX1NUQVJUXG4gICAgICAgIDogTGlua2VkQ2FzZXNQYWdlcy5OT19MSU5LRURfQ0FTRVM7XG4gICAgICAvLyBJbml0aWFsaXNlIHRoZSBlcnJvciB0byBiZSBkaXNwbGF5ZWQgd2hlbiBjbGlja2VkIG9uIENvbnRpbnVlIGJ1dHRvblxuICAgICAgdGhpcy5zZXRDb250aW51ZUJ1dHRvblZhbGlkYXRpb25FcnJvck1lc3NhZ2UoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvRXJyb3JFbGVtZW50KGVsZW1lbnRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGVsZW1lbnRJZCkge1xuICAgICAgY29uc3QgaHRtbEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpO1xuICAgICAgaWYgKGh0bWxFbGVtZW50KSB7XG4gICAgICAgIGh0bWxFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ2NlbnRlcicgfSk7XG4gICAgICAgIGh0bWxFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8IS0tIEVycm9yIG1lc3NhZ2Ugc3VtbWFyeSAtLT5cbjxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VzLmxlbmd0aCA+IDBcIiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlcIiBhcmlhLWxhYmVsbGVkYnk9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCIgcm9sZT1cImFsZXJ0XCIgdGFiaW5kZXg9XCItMVwiIGRhdGEtbW9kdWxlPVwiZ292dWstZXJyb3Itc3VtbWFyeVwiPlxuICA8aDIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZVwiIGlkPVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgIFRoZXJlIGlzIGEgcHJvYmxlbVxuICA8L2gyPlxuICA8ZGl2ICpuZ0Zvcj1cImxldCBlcnJvck1lc3NhZ2Ugb2YgZXJyb3JNZXNzYWdlc1wiIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiPlxuICAgIDx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdFwiPlxuICAgICAgPGxpPlxuICAgICAgICA8YSAoY2xpY2spPVwibmF2aWdhdGVUb0Vycm9yRWxlbWVudChlcnJvck1lc3NhZ2UuZmllbGRJZClcIiBjbGFzcz1cInZhbGlkYXRpb24tZXJyb3JcIj57e2Vycm9yTWVzc2FnZS5kZXNjcmlwdGlvbn19PC9hPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZ292dWstIS1tYXJnaW4tYm90dG9tLTJcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ1N3aXRjaF09XCJsaW5rZWRDYXNlc1BhZ2VcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLkJFRk9SRV9ZT1VfU1RBUlRcIj5cbiAgICAgIDxjY2QtbGlua2VkLWNhc2VzLWJlZm9yZS15b3Utc3RhcnRcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWxpbmtlZC1jYXNlcy1iZWZvcmUteW91LXN0YXJ0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuTk9fTElOS0VEX0NBU0VTXCI+XG4gICAgICA8Y2NkLW5vLWxpbmtlZC1jYXNlc1xuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIpPVwib25MaW5rZWRDYXNlc1N0YXRlRW1pdHRlZCgkZXZlbnQpXCI+PC9jY2Qtbm8tbGlua2VkLWNhc2VzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuTElOS19DQVNFXCI+XG4gICAgICA8Y2NkLWxpbmstY2FzZXNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWxpbmstY2FzZXM+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibGlua2VkQ2FzZXNQYWdlcy5VTkxJTktfQ0FTRVwiPlxuICAgICAgPGNjZC11bmxpbmstY2FzZXNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLXVubGluay1jYXNlcz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSU1wiPlxuICAgICAgPGNjZC1saW5rZWQtY2FzZXMtY2hlY2steW91ci1hbnN3ZXJzXG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC1saW5rZWQtY2FzZXMtY2hlY2steW91ci1hbnN3ZXJzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy93cml0ZS1saW5rZWQtY2FzZXMtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL3dyaXRlLWxpbmtlZC1jYXNlcy1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUE0Qix3QkFBd0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7OztJQ1Q1Qyw2QkFBZ0U7SUFDOUQsNERBQ2dFO0lBQTlELHFTQUE2RDtJQUFDLGlCQUFvQztJQUN0RywwQkFBZTs7OztJQUNmLDZCQUErRDtJQUM3RCw4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QUMsRUFBRSxDQUFDO2dCQUNoRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLEVBQUUsQ0FBQzthQUN2RDtZQUNELHVDQUF1QztZQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx5QkFBeUI7Z0JBQ3RELENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDO3VCQUN2RixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDbkUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQjtnQkFDbkMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzRHQXJKVSw4QkFBOEI7bUVBQTlCLDhCQUE4QjtRQ2pCM0MsOEJBQXdFO1FBQ3RFLDhCQUEyRDtRQUN6RCxpR0FHZTtRQUNmLGlHQUdlO1FBQ2YsaUdBR2U7UUFDZixpR0FHZTtRQUNmLGlHQUdlO1FBQ2pCLGlCQUFNO1FBQ1IsaUJBQU07O1FBdkIwQyx5Q0FBdUI7UUFDdkMsZUFBNEI7UUFBNUIsOENBQTRCO1FBQ3pDLGVBQStDO1FBQS9DLG9FQUErQztRQUkvQyxlQUE4QztRQUE5QyxtRUFBOEM7UUFJOUMsZUFBd0M7UUFBeEMsNkRBQXdDO1FBSXhDLGVBQTBDO1FBQTFDLCtEQUEwQztRQUkxQyxlQUFpRDtRQUFqRCxzRUFBaUQ7O3VGRER2RCw4QkFBOEI7Y0FKMUMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSw4QkFBOEI7Z0JBQ3hDLFdBQVcsRUFBRSwyQ0FBMkM7YUFDekQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBDYXNlRWRpdERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9ucy9jYXNlLWVkaXQtZGF0YSc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZVZpZXcgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vY2FzZS12aWV3JztcbmltcG9ydCB7IENvbW1vbkRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29tbW9uLWRhdGEtc2VydmljZS9jb21tb24tZGF0YS1zZXJ2aWNlJztcbmltcG9ydCB7IENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzL2Nhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZCc7XG5pbXBvcnQgeyBDYXNlTGluaywgTGlua2VkQ2FzZXNTdGF0ZSB9IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcywgTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzLCBMaW5rZWRDYXNlc1BhZ2VzIH0gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXdyaXRlLWxpbmtlZC1jYXNlcy1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1saW5rZWQtY2FzZXMtZmllbGQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFdyaXRlTGlua2VkQ2FzZXNGaWVsZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHVibGljIGNhc2VFZGl0Rm9ybTogRm9ybUdyb3VwO1xuICBwdWJsaWMgY2FzZURldGFpbHM6IENhc2VWaWV3O1xuICBwdWJsaWMgbGlua2VkQ2FzZXNQYWdlOiBudW1iZXI7XG4gIHB1YmxpYyBsaW5rZWRDYXNlc1BhZ2VzID0gTGlua2VkQ2FzZXNQYWdlcztcbiAgcHVibGljIGxpbmtlZENhc2VzRXZlbnRUcmlnZ2VycyA9IExpbmtlZENhc2VzRXZlbnRUcmlnZ2VycztcbiAgcHVibGljIGxpbmtlZENhc2VzOiBDYXNlTGlua1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbW9uRGF0YVNlcnZpY2U6IENvbW1vbkRhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaW5rZWRDYXNlc1NlcnZpY2U6IExpbmtlZENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VFZGl0RGF0YVNlcnZpY2U6IENhc2VFZGl0RGF0YVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFRoaXMgaXMgcmVxdWlyZWQgdG8gZW5hYmxlIENvbnRpbnVlIGJ1dHRvbiB2YWxpZGF0aW9uXG4gICAgLy8gQ29udGludWUgYnV0dG9uIHNob3VsZCBiZSBlbmFibGVkIG9ubHkgYXQgY2hlY2sgeW91ciBhbnN3ZXJzIHBhZ2VcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2Uuc2V0TGlua2VkQ2FzZXNKb3VybmV5QXRGaW5hbFN0ZXAoZmFsc2UpO1xuICAgIC8vIENsZWFyIHZhbGlkYXRpb24gZXJyb3JzXG4gICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLmNsZWFyRm9ybVZhbGlkYXRpb25FcnJvcnMoKTtcbiAgICAvLyBHZXQgbGlua2VkIGNhc2UgcmVhc29ucyBmcm9tIHJlZiBkYXRhXG4gICAgdGhpcy5nZXRMaW5rZWRDYXNlUmVhc29ucygpO1xuICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmVkaXRNb2RlID0gZmFsc2U7XG4gICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLmNhc2VEZXRhaWxzJC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogY2FzZURldGFpbHMgPT4gdGhpcy5pbml0aWFsaXNlQ2FzZURldGFpbHMoY2FzZURldGFpbHMpXG4gICAgfSk7XG4gICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLmNhc2VFdmVudFRyaWdnZXJOYW1lJC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogbmFtZSA9PiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyID0gKG5hbWUgPT09IExpbmtlZENhc2VzRXZlbnRUcmlnZ2Vycy5MSU5LX0NBU0VTKVxuICAgIH0pO1xuICAgIHRoaXMuY2FzZUVkaXREYXRhU2VydmljZS5jYXNlRWRpdEZvcm0kLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBlZGl0Rm9ybSA9PiB0aGlzLmNhc2VFZGl0Rm9ybSA9IGVkaXRGb3JtXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGlzZUNhc2VEZXRhaWxzKGNhc2VEZXRhaWxzOiBDYXNlVmlldyk6IHZvaWQge1xuICAgIGlmIChjYXNlRGV0YWlscykge1xuICAgICAgdGhpcy5jYXNlRGV0YWlscyA9IGNhc2VEZXRhaWxzO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZURldGFpbHMgPSBjYXNlRGV0YWlscztcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VJZCA9IGNhc2VEZXRhaWxzLmNhc2VfaWQ7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlTmFtZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmdldENhc2VOYW1lKGNhc2VEZXRhaWxzKTtcbiAgICAgIHRoaXMuZ2V0TGlua2VkQ2FzZXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGxldCBsYWJlbEZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZ292dWstaGVhZGluZy1sJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpO1xuICAgIH1cbiAgICBsYWJlbEZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaGVhZGluZy1oMicpO1xuICAgIGlmIChsYWJlbEZpZWxkICYmIGxhYmVsRmllbGQubGVuZ3RoKSB7XG4gICAgICBsYWJlbEZpZWxkWzBdLnJlcGxhY2VXaXRoKCcnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25MaW5rZWRDYXNlc1N0YXRlRW1pdHRlZChsaW5rZWRDYXNlc1N0YXRlOiBMaW5rZWRDYXNlc1N0YXRlKTogdm9pZCB7XG4gICAgLy8gQ2xlYXIgdmFsaWRhdGlvbiBlcnJvcnNcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2xlYXJGb3JtVmFsaWRhdGlvbkVycm9ycygpO1xuXG4gICAgaWYgKGxpbmtlZENhc2VzU3RhdGUubmF2aWdhdGVUb05leHRQYWdlKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzUGFnZSA9IHRoaXMuZ2V0TmV4dFBhZ2UobGlua2VkQ2FzZXNTdGF0ZSk7XG4gICAgICB0aGlzLnByb2NlZWRUb05leHRQYWdlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChsaW5rZWRDYXNlc1N0YXRlLmVycm9yTWVzc2FnZXMgJiYgbGlua2VkQ2FzZXNTdGF0ZS5lcnJvck1lc3NhZ2VzLmxlbmd0aCkge1xuICAgICAgICBsaW5rZWRDYXNlc1N0YXRlLmVycm9yTWVzc2FnZXMuZm9yRWFjaCgoZXJyb3JNZXNzYWdlLCBpbmRleCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FzZUVkaXREYXRhU2VydmljZS5hZGRGb3JtVmFsaWRhdGlvbkVycm9yKHsgaWQ6IGVycm9yTWVzc2FnZS5maWVsZElkLCBtZXNzYWdlOiBlcnJvck1lc3NhZ2UuZGVzY3JpcHRpb259KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldExpbmtlZENhc2VSZWFzb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IHJlYXNvbkNvZGVBUEl1cmwgPSB0aGlzLmFwcENvbmZpZy5nZXRSRENvbW1vbkRhdGFBcGlVcmwoKSArICcvbG92L2NhdGVnb3JpZXMvQ2FzZUxpbmtpbmdSZWFzb25Db2RlJztcbiAgICAgIHRoaXMuY29tbW9uRGF0YVNlcnZpY2UuZ2V0UmVmRGF0YShyZWFzb25Db2RlQVBJdXJsKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiByZWFzb25zID0+IHtcbiAgICAgICAgICAvLyBTb3J0IGluIGFzY2VuZGluZyBvcmRlclxuICAgICAgICAgIGNvbnN0IGxpbmtDYXNlUmVhc29ucyA9IHJlYXNvbnMubGlzdF9vZl92YWx1ZXMuc29ydCgoYSwgYikgPT4gKGEudmFsdWVfZW4gPiBiLnZhbHVlX2VuKSA/IDEgOiAtMSk7XG4gICAgICAgICAgLy8gTW92ZSBPdGhlciBvcHRpb24gdG8gdGhlIGVuZCBvZiB0aGUgbGlzdFxuICAgICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtDYXNlUmVhc29ucyA9IGxpbmtDYXNlUmVhc29ucz8uZmlsdGVyKHJlYXNvbiA9PiByZWFzb24udmFsdWVfZW4gIT09ICdPdGhlcicpO1xuICAgICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtDYXNlUmVhc29ucy5wdXNoKGxpbmtDYXNlUmVhc29ucz8uZmluZChyZWFzb24gPT4gcmVhc29uLnZhbHVlX2VuID09PSAnT3RoZXInKSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZWVkVG9OZXh0UGFnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0F0RmluYWxQYWdlKCkpIHtcbiAgICAgIC8vIENvbnRpbnVlIGJ1dHRvbiBldmVudCBtdXN0IGJlIGFsbG93ZWQgaW4gZmluYWwgcGFnZVxuICAgICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLnNldExpbmtlZENhc2VzSm91cm5leUF0RmluYWxTdGVwKHRydWUpO1xuICAgICAgLy8gVHJpZ2dlciB2YWxpZGF0aW9uIHRvIGNsZWFyIHRoZSBcIm5vdEF0RmluYWxQYWdlXCIgZXJyb3IgaWYgbm93IGF0IHRoZSBmaW5hbCBzdGF0ZVxuICAgICAgdGhpcy5mb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgLy8gdXBkYXRlIGZvcm0gdmFsdWVcbiAgICAgIHRoaXMuc3VibWl0TGlua2VkQ2FzZXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ29udGludWUgYnV0dG9uIGV2ZW50IG11c3Qgbm90IGJlIGFsbG93ZWQgaWYgbm90IGluIGZpbmFsIHBhZ2VcbiAgICAgIHRoaXMuY2FzZUVkaXREYXRhU2VydmljZS5zZXRMaW5rZWRDYXNlc0pvdXJuZXlBdEZpbmFsU3RlcChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN1Ym1pdExpbmtlZENhc2VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlcikge1xuICAgICAgY29uc3QgdW5saW5rZWRDYXNlUmVmZXJlbmVJZHMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcy5maWx0ZXIoaXRlbSA9PiBpdGVtLnVubGluaykubWFwKGl0ZW0gPT4gaXRlbS5jYXNlUmVmZXJlbmNlKTtcbiAgICAgIGNvbnN0IGNhc2VGaWVsZFZhbHVlID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWU7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSA9IGNhc2VGaWVsZFZhbHVlLmZpbHRlcihpdGVtID0+IHVubGlua2VkQ2FzZVJlZmVyZW5lSWRzLmluZGV4T2YoaXRlbS5pZCkgPT09IC0xKTtcbiAgICB9XG4gICAgdGhpcy5mb3JtR3JvdXAudmFsdWUuY2FzZUxpbmtzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWU7XG4gICAgKHRoaXMuY2FzZUVkaXRGb3JtLmNvbnRyb2xzWydkYXRhJ10gYXMgYW55KSA9IG5ldyBGb3JtR3JvdXAoe2Nhc2VMaW5rczogbmV3IEZvcm1Db250cm9sKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlIHx8IFtdKX0pO1xuICAgIHRoaXMuY2FzZUVkaXREYXRhU2VydmljZS5zZXRDYXNlRWRpdEZvcm0odGhpcy5jYXNlRWRpdEZvcm0pO1xuICB9XG5cbiAgcHVibGljIGlzQXRGaW5hbFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubGlua2VkQ2FzZXNQYWdlID09PSB0aGlzLmxpbmtlZENhc2VzUGFnZXMuQ0hFQ0tfWU9VUl9BTlNXRVJTO1xuICB9XG5cbiAgcHVibGljIGdldE5leHRQYWdlKGxpbmtlZENhc2VzU3RhdGU6IExpbmtlZENhc2VzU3RhdGUpOiBudW1iZXIge1xuICAgIGlmICgodGhpcy5saW5rZWRDYXNlc1BhZ2UgPT09IExpbmtlZENhc2VzUGFnZXMuQkVGT1JFX1lPVV9TVEFSVCkgfHxcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGUuY3VycmVudExpbmtlZENhc2VzUGFnZSA9PT0gTGlua2VkQ2FzZXNQYWdlcy5DSEVDS19ZT1VSX0FOU1dFUlMgJiYgbGlua2VkQ2FzZXNTdGF0ZS5uYXZpZ2F0ZVRvUHJldmlvdXNQYWdlKSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyXG4gICAgICAgICAgICA/IExpbmtlZENhc2VzUGFnZXMuTElOS19DQVNFXG4gICAgICAgICAgICA6IExpbmtlZENhc2VzUGFnZXMuVU5MSU5LX0NBU0U7XG4gICAgfVxuICAgIHJldHVybiBMaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUztcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaW5rZWRDYXNlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VzU2VydmljZS5nZXRDYXNlVmlld1YyKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VJZCkuc3Vic2NyaWJlKChjYXNlVmlldzogQ2FzZVZpZXcpID0+IHtcbiAgICAgIGNvbnN0IGNhc2VWaWV3RmlsdGVyZWQgPSBjYXNlVmlldy50YWJzLmZpbHRlcih0YWIgPT4ge1xuICAgICAgICBjb25zdCBsaW5rRmllbGQgPSB0YWIuZmllbGRzLnNvbWUoXG4gICAgICAgICAgKHtmaWVsZF90eXBlfSkgPT4gZmllbGRfdHlwZSAmJiBmaWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZSAmJiBmaWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZS5pZCA9PT0gJ0Nhc2VMaW5rJ1xuICAgICAgICApO1xuICAgICAgICByZXR1cm4gbGlua0ZpZWxkO1xuICAgICAgfSk7XG4gICAgICBpZiAoY2FzZVZpZXdGaWx0ZXJlZCkge1xuICAgICAgICBjb25zdCBjYXNlTGlua0ZpZWxkVmFsdWUgPSBjYXNlVmlld0ZpbHRlcmVkLm1hcChmaWx0ZXJlZCA9PlxuICAgICAgICAgIGZpbHRlcmVkLmZpZWxkcz8ubGVuZ3RoID4gMCAmJiBmaWx0ZXJlZC5maWVsZHMuZmlsdGVyKGZpZWxkID0+IGZpZWxkLmlkID09PSAnY2FzZUxpbmtzJylbMF0udmFsdWVcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgPSBjYXNlTGlua0ZpZWxkVmFsdWUubGVuZ3RoID8gY2FzZUxpbmtGaWVsZFZhbHVlWzBdIDogW107XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmdldEFsbExpbmtlZENhc2VJbmZvcm1hdGlvbigpO1xuICAgICAgfVxuICAgICAgLy8gSW5pdGlhbGlzZSB0aGUgZmlyc3QgcGFnZSB0byBkaXNwbGF5XG4gICAgICB0aGlzLmxpbmtlZENhc2VzUGFnZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSAmJiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICYmICF0aGlzLmxpbmtlZENhc2VzU2VydmljZS5zZXJ2ZXJMaW5rZWRBcGlFcnJvcilcbiAgICAgICAgPyBMaW5rZWRDYXNlc1BhZ2VzLkJFRk9SRV9ZT1VfU1RBUlRcbiAgICAgICAgOiBMaW5rZWRDYXNlc1BhZ2VzLk5PX0xJTktFRF9DQVNFUztcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZ292dWstIS1tYXJnaW4tYm90dG9tLTJcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ1N3aXRjaF09XCJsaW5rZWRDYXNlc1BhZ2VcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLkJFRk9SRV9ZT1VfU1RBUlRcIj5cbiAgICAgIDxjY2QtbGlua2VkLWNhc2VzLWJlZm9yZS15b3Utc3RhcnRcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWxpbmtlZC1jYXNlcy1iZWZvcmUteW91LXN0YXJ0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuTk9fTElOS0VEX0NBU0VTXCI+XG4gICAgICA8Y2NkLW5vLWxpbmtlZC1jYXNlc1xuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIpPVwib25MaW5rZWRDYXNlc1N0YXRlRW1pdHRlZCgkZXZlbnQpXCI+PC9jY2Qtbm8tbGlua2VkLWNhc2VzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuTElOS19DQVNFXCI+XG4gICAgICA8Y2NkLWxpbmstY2FzZXNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWxpbmstY2FzZXM+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibGlua2VkQ2FzZXNQYWdlcy5VTkxJTktfQ0FTRVwiPlxuICAgICAgPGNjZC11bmxpbmstY2FzZXNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLXVubGluay1jYXNlcz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSU1wiPlxuICAgICAgPGNjZC1saW5rZWQtY2FzZXMtY2hlY2steW91ci1hbnN3ZXJzXG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC1saW5rZWQtY2FzZXMtY2hlY2steW91ci1hbnN3ZXJzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19