@hmcts/ccd-case-ui-toolkit 5.0.31-angular11-upgrade → 5.0.33-angular11-upgrade

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 (148) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +3365 -643
  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 -1
  6. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +15 -11
  7. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +28 -1
  8. package/esm2015/lib/shared/components/case-editor/services/page-validation.service.js +10 -2
  9. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +9 -2
  10. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +15 -10
  11. package/esm2015/lib/shared/components/palette/base-field/abstract-form-field.component.js +4 -2
  12. package/esm2015/lib/shared/components/palette/base-field/field-write.component.js +8 -18
  13. package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +71 -41
  14. package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag.model.js +1 -1
  15. package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +2 -3
  16. package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +13 -9
  17. package/esm2015/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.js +125 -0
  18. package/esm2015/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.js +198 -0
  19. package/esm2015/lib/shared/components/palette/case-link/components/index.js +10 -0
  20. package/esm2015/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.js +493 -0
  21. package/esm2015/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.js +221 -0
  22. package/esm2015/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.js +286 -0
  23. package/esm2015/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.js +76 -0
  24. package/esm2015/lib/shared/components/palette/case-link/components/read-linked-cases.component.js +178 -0
  25. package/esm2015/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.js +216 -0
  26. package/esm2015/lib/shared/components/palette/case-link/components/write-linked-cases.component.js +260 -0
  27. package/esm2015/lib/shared/components/palette/case-link/domain/index.js +3 -0
  28. package/esm2015/lib/shared/components/palette/case-link/domain/linked-cases-state.model.js +2 -0
  29. package/esm2015/lib/shared/components/palette/case-link/domain/linked-cases.model.js +19 -0
  30. package/esm2015/lib/shared/components/palette/case-link/enums/index.js +2 -0
  31. package/esm2015/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.js +33 -0
  32. package/esm2015/lib/shared/components/palette/case-link/index.js +4 -1
  33. package/esm2015/lib/shared/components/palette/case-link/read-case-link-field.component.js +28 -8
  34. package/esm2015/lib/shared/components/palette/case-link/services/index.js +2 -0
  35. package/esm2015/lib/shared/components/palette/case-link/services/jurisdiction.service.js +22 -0
  36. package/esm2015/lib/shared/components/palette/case-link/services/linked-cases.service.js +136 -0
  37. package/esm2015/lib/shared/components/palette/case-link/utils/validators.utils.js +27 -0
  38. package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +79 -65
  39. package/esm2015/lib/shared/components/palette/index.js +6 -2
  40. package/esm2015/lib/shared/components/palette/palette.module.js +70 -18
  41. package/esm2015/lib/shared/components/palette/palette.service.js +10 -4
  42. package/esm2015/lib/shared/components/search-result/search-result.component.js +1 -1
  43. package/esm2015/lib/shared/domain/definition/field-type-enum.model.js +1 -1
  44. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +5 -1
  45. package/esm2015/lib/shared/pipes/index.js +2 -1
  46. package/esm2015/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.js +23 -0
  47. package/esm2015/lib/shared/pipes/link-cases-reason-code/index.js +2 -0
  48. package/esm2015/lib/shared/pipes/pipes.module.js +9 -5
  49. package/esm2015/lib/shared/services/common-data-service/common-data-service.js +22 -0
  50. package/esm2015/lib/shared/services/fields/fields.purger.js +128 -112
  51. package/esm2015/lib/shared/services/fields/fields.utils.js +11 -2
  52. package/esm2015/lib/shared/services/form/form-value.service.js +9 -7
  53. package/esm2015/lib/shared/services/jurisdiction/jurisdiction.service.js +1 -1
  54. package/esm2015/lib/shared/services/search/search.service.js +8 -1
  55. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +2842 -418
  56. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  57. package/lib/app.config.d.ts +4 -0
  58. package/lib/app.config.d.ts.map +1 -1
  59. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +2 -0
  60. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  61. package/lib/shared/components/case-editor/services/cases.service.d.ts +7 -0
  62. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  63. package/lib/shared/components/case-editor/services/page-validation.service.d.ts +1 -0
  64. package/lib/shared/components/case-editor/services/page-validation.service.d.ts.map +1 -1
  65. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  66. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +2 -2
  67. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  68. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
  69. package/lib/shared/components/palette/base-field/field-write.component.d.ts +2 -2
  70. package/lib/shared/components/palette/base-field/field-write.component.d.ts.map +1 -1
  71. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +11 -5
  72. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  73. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts +2 -0
  74. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts.map +1 -1
  75. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +0 -1
  76. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
  77. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  78. package/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.d.ts +19 -0
  79. package/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.d.ts.map +1 -0
  80. package/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.d.ts +18 -0
  81. package/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.d.ts.map +1 -0
  82. package/lib/shared/components/palette/case-link/components/index.d.ts +10 -0
  83. package/lib/shared/components/palette/case-link/components/index.d.ts.map +1 -0
  84. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts +41 -0
  85. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts.map +1 -0
  86. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.d.ts +42 -0
  87. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +1 -0
  88. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.d.ts +45 -0
  89. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.d.ts.map +1 -0
  90. package/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.d.ts +12 -0
  91. package/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -0
  92. package/lib/shared/components/palette/case-link/components/read-linked-cases.component.d.ts +37 -0
  93. package/lib/shared/components/palette/case-link/components/read-linked-cases.component.d.ts.map +1 -0
  94. package/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.d.ts +38 -0
  95. package/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.d.ts.map +1 -0
  96. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts +45 -0
  97. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts.map +1 -0
  98. package/lib/shared/components/palette/case-link/domain/index.d.ts +3 -0
  99. package/lib/shared/components/palette/case-link/domain/index.d.ts.map +1 -0
  100. package/lib/shared/components/palette/case-link/domain/linked-cases-state.model.d.ts +12 -0
  101. package/lib/shared/components/palette/case-link/domain/linked-cases-state.model.d.ts.map +1 -0
  102. package/lib/shared/components/palette/case-link/domain/linked-cases.model.d.ts +65 -0
  103. package/lib/shared/components/palette/case-link/domain/linked-cases.model.d.ts.map +1 -0
  104. package/lib/shared/components/palette/case-link/enums/index.d.ts +2 -0
  105. package/lib/shared/components/palette/case-link/enums/index.d.ts.map +1 -0
  106. package/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.d.ts +29 -0
  107. package/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.d.ts.map +1 -0
  108. package/lib/shared/components/palette/case-link/index.d.ts +3 -0
  109. package/lib/shared/components/palette/case-link/index.d.ts.map +1 -1
  110. package/lib/shared/components/palette/case-link/read-case-link-field.component.d.ts +3 -0
  111. package/lib/shared/components/palette/case-link/read-case-link-field.component.d.ts.map +1 -1
  112. package/lib/shared/components/palette/case-link/services/index.d.ts +2 -0
  113. package/lib/shared/components/palette/case-link/services/index.d.ts.map +1 -0
  114. package/lib/shared/components/palette/case-link/services/jurisdiction.service.d.ts +12 -0
  115. package/lib/shared/components/palette/case-link/services/jurisdiction.service.d.ts.map +1 -0
  116. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts +51 -0
  117. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts.map +1 -0
  118. package/lib/shared/components/palette/case-link/utils/validators.utils.d.ts +10 -0
  119. package/lib/shared/components/palette/case-link/utils/validators.utils.d.ts.map +1 -0
  120. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts +14 -3
  121. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts.map +1 -1
  122. package/lib/shared/components/palette/index.d.ts +5 -1
  123. package/lib/shared/components/palette/index.d.ts.map +1 -1
  124. package/lib/shared/components/palette/palette.module.d.ts +54 -45
  125. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  126. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  127. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  128. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  129. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  130. package/lib/shared/pipes/index.d.ts +1 -0
  131. package/lib/shared/pipes/index.d.ts.map +1 -1
  132. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts +11 -0
  133. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts.map +1 -0
  134. package/lib/shared/pipes/link-cases-reason-code/index.d.ts +2 -0
  135. package/lib/shared/pipes/link-cases-reason-code/index.d.ts.map +1 -0
  136. package/lib/shared/pipes/pipes.module.d.ts +3 -2
  137. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  138. package/lib/shared/services/common-data-service/common-data-service.d.ts +29 -0
  139. package/lib/shared/services/common-data-service/common-data-service.d.ts.map +1 -0
  140. package/lib/shared/services/fields/fields.purger.d.ts +19 -12
  141. package/lib/shared/services/fields/fields.purger.d.ts.map +1 -1
  142. package/lib/shared/services/fields/fields.utils.d.ts +1 -0
  143. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  144. package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
  145. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
  146. package/lib/shared/services/search/search.service.d.ts +4 -0
  147. package/lib/shared/services/search/search.service.d.ts.map +1 -1
  148. package/package.json +1 -1
@@ -0,0 +1,221 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { CaseField } from '../../../../../domain/definition';
3
+ import { CasesService } from '../../../../case-editor/services/cases.service';
4
+ import { ActivatedRoute } from '@angular/router';
5
+ import { LinkedCasesService } from '../../services';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/router";
8
+ import * as i2 from "../../../../case-editor/services/cases.service";
9
+ import * as i3 from "../../services";
10
+ function LinkedCasesFromTableComponent_a_0_Template(rf, ctx) { if (rf & 1) {
11
+ const _r3 = i0.ɵɵgetCurrentView();
12
+ i0.ɵɵelementStart(0, "a", 2);
13
+ i0.ɵɵlistener("click", function LinkedCasesFromTableComponent_a_0_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return ctx_r2.onClick(); });
14
+ i0.ɵɵtext(1);
15
+ i0.ɵɵelementEnd();
16
+ } if (rf & 2) {
17
+ const ctx_r0 = i0.ɵɵnextContext();
18
+ i0.ɵɵadvance(1);
19
+ i0.ɵɵtextInterpolate(ctx_r0.showHideLinkText);
20
+ } }
21
+ function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_Template(rf, ctx) { if (rf & 1) {
22
+ i0.ɵɵelementStart(0, "span");
23
+ i0.ɵɵtext(1);
24
+ i0.ɵɵpipe(2, "ccdLinkCasesReasonValue");
25
+ i0.ɵɵelement(3, "br");
26
+ i0.ɵɵelementEnd();
27
+ } if (rf & 2) {
28
+ const reason_r11 = ctx.$implicit;
29
+ i0.ɵɵadvance(1);
30
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, reason_r11.reasonCode), " ");
31
+ } }
32
+ function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_Template(rf, ctx) { if (rf & 1) {
33
+ i0.ɵɵelementStart(0, "td", 14);
34
+ i0.ɵɵtemplate(1, LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_Template, 4, 3, "span", 17);
35
+ i0.ɵɵelementEnd();
36
+ } if (rf & 2) {
37
+ const details_r9 = ctx.$implicit;
38
+ i0.ɵɵadvance(1);
39
+ i0.ɵɵproperty("ngForOf", details_r9.reasons);
40
+ } }
41
+ function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_Template(rf, ctx) { if (rf & 1) {
42
+ i0.ɵɵelementStart(0, "tr", 5);
43
+ i0.ɵɵelementStart(1, "td", 11);
44
+ i0.ɵɵelementStart(2, "p", 12);
45
+ i0.ɵɵelementStart(3, "a", 13);
46
+ i0.ɵɵelementStart(4, "span");
47
+ i0.ɵɵtext(5);
48
+ i0.ɵɵelement(6, "br");
49
+ i0.ɵɵtext(7);
50
+ i0.ɵɵpipe(8, "ccdCaseReference");
51
+ i0.ɵɵelementEnd();
52
+ i0.ɵɵelementEnd();
53
+ i0.ɵɵelementEnd();
54
+ i0.ɵɵelementEnd();
55
+ i0.ɵɵelementStart(9, "td", 14);
56
+ i0.ɵɵelementStart(10, "span", 15);
57
+ i0.ɵɵtext(11);
58
+ i0.ɵɵelementEnd();
59
+ i0.ɵɵelementEnd();
60
+ i0.ɵɵelementStart(12, "td", 14);
61
+ i0.ɵɵelementStart(13, "span");
62
+ i0.ɵɵtext(14);
63
+ i0.ɵɵelementEnd();
64
+ i0.ɵɵelementEnd();
65
+ i0.ɵɵelementStart(15, "td", 14);
66
+ i0.ɵɵelementStart(16, "span", 15);
67
+ i0.ɵɵtext(17);
68
+ i0.ɵɵelementEnd();
69
+ i0.ɵɵelementEnd();
70
+ i0.ɵɵtemplate(18, LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_Template, 2, 1, "td", 16);
71
+ i0.ɵɵelementEnd();
72
+ } if (rf & 2) {
73
+ const case_r7 = ctx.$implicit;
74
+ i0.ɵɵadvance(3);
75
+ i0.ɵɵpropertyInterpolate1("href", "cases/case-details/", case_r7.caseReference, "", i0.ɵɵsanitizeUrl);
76
+ i0.ɵɵadvance(2);
77
+ i0.ɵɵtextInterpolate1("", case_r7.caseNameHmctsInternal, " ");
78
+ i0.ɵɵadvance(2);
79
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 9, case_r7.caseReference), "");
80
+ i0.ɵɵadvance(3);
81
+ i0.ɵɵproperty("title", case_r7.ccdCaseTypeDescription);
82
+ i0.ɵɵadvance(1);
83
+ i0.ɵɵtextInterpolate(case_r7.ccdCaseType);
84
+ i0.ɵɵadvance(3);
85
+ i0.ɵɵtextInterpolate(case_r7.ccdJurisdiction);
86
+ i0.ɵɵadvance(2);
87
+ i0.ɵɵproperty("title", case_r7.stateDescription);
88
+ i0.ɵɵadvance(1);
89
+ i0.ɵɵtextInterpolate(case_r7.state);
90
+ i0.ɵɵadvance(1);
91
+ i0.ɵɵproperty("ngForOf", case_r7.linkDetails);
92
+ } }
93
+ function LinkedCasesFromTableComponent_table_1_tbody_13_tr_2_Template(rf, ctx) { if (rf & 1) {
94
+ i0.ɵɵelementStart(0, "tr", 5);
95
+ i0.ɵɵelementStart(1, "td", 18);
96
+ i0.ɵɵtext(2, " None ");
97
+ i0.ɵɵelementEnd();
98
+ i0.ɵɵelementEnd();
99
+ } }
100
+ function LinkedCasesFromTableComponent_table_1_tbody_13_Template(rf, ctx) { if (rf & 1) {
101
+ i0.ɵɵelementStart(0, "tbody", 8);
102
+ i0.ɵɵtemplate(1, LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_Template, 19, 11, "tr", 9);
103
+ i0.ɵɵtemplate(2, LinkedCasesFromTableComponent_table_1_tbody_13_tr_2_Template, 3, 0, "tr", 10);
104
+ i0.ɵɵelementEnd();
105
+ } if (rf & 2) {
106
+ const ctx_r4 = i0.ɵɵnextContext(2);
107
+ i0.ɵɵadvance(1);
108
+ i0.ɵɵproperty("ngForOf", ctx_r4.getLinkedCasesResponse);
109
+ i0.ɵɵadvance(1);
110
+ i0.ɵɵproperty("ngIf", ctx_r4.noLinkedCases);
111
+ } }
112
+ function LinkedCasesFromTableComponent_table_1_Template(rf, ctx) { if (rf & 1) {
113
+ i0.ɵɵelementStart(0, "table", 3);
114
+ i0.ɵɵelementStart(1, "thead", 4);
115
+ i0.ɵɵelementStart(2, "tr", 5);
116
+ i0.ɵɵelementStart(3, "th", 6);
117
+ i0.ɵɵtext(4, "Case name and number");
118
+ i0.ɵɵelementEnd();
119
+ i0.ɵɵelementStart(5, "th", 6);
120
+ i0.ɵɵtext(6, "Case type ");
121
+ i0.ɵɵelementEnd();
122
+ i0.ɵɵelementStart(7, "th", 6);
123
+ i0.ɵɵtext(8, "Service");
124
+ i0.ɵɵelementEnd();
125
+ i0.ɵɵelementStart(9, "th", 6);
126
+ i0.ɵɵtext(10, "State");
127
+ i0.ɵɵelementEnd();
128
+ i0.ɵɵelementStart(11, "th", 6);
129
+ i0.ɵɵtext(12, "Reasons for case link");
130
+ i0.ɵɵelementEnd();
131
+ i0.ɵɵelementEnd();
132
+ i0.ɵɵelementEnd();
133
+ i0.ɵɵtemplate(13, LinkedCasesFromTableComponent_table_1_tbody_13_Template, 3, 2, "tbody", 7);
134
+ i0.ɵɵelementEnd();
135
+ } if (rf & 2) {
136
+ const ctx_r1 = i0.ɵɵnextContext();
137
+ i0.ɵɵadvance(13);
138
+ i0.ɵɵproperty("ngIf", ctx_r1.getLinkedCasesResponse && (!ctx_r1.isServerError && !ctx_r1.linkedCasesService.isServerReasonCodeError));
139
+ } }
140
+ export var PageType;
141
+ (function (PageType) {
142
+ PageType["LINKEDCASESTABLBEVIEW"] = "linkedCasesTableView";
143
+ PageType["PROPOSEDCASELINK"] = "proposedCaseLink";
144
+ })(PageType || (PageType = {}));
145
+ export class LinkedCasesFromTableComponent {
146
+ constructor(route, casesService, linkedCasesService) {
147
+ this.route = route;
148
+ this.casesService = casesService;
149
+ this.linkedCasesService = linkedCasesService;
150
+ this.notifyAPIFailure = new EventEmitter(false);
151
+ this.pageType = PageType;
152
+ this.getLinkedCasesResponse = [];
153
+ this.showHideLinkText = 'Show';
154
+ this.noLinkedCases = true;
155
+ this.isServerError = false;
156
+ }
157
+ ngAfterViewInit() {
158
+ const labelField = document.getElementsByClassName('case-viewer-label');
159
+ if (labelField && labelField.length) {
160
+ labelField[0].replaceWith('');
161
+ }
162
+ }
163
+ ngOnInit() {
164
+ this.fetchPageData();
165
+ if (this.route.snapshot.data.case) {
166
+ this.linkedCasesService.caseDetails = this.route.snapshot.data.case;
167
+ }
168
+ }
169
+ fetchPageData() {
170
+ this.caseId = this.route.snapshot.data.case.case_id;
171
+ this.getLinkedCases().subscribe(response => {
172
+ this.isServerError = false;
173
+ this.getLinkedCasesResponse = response.linkedCases && response.linkedCases.map(item => {
174
+ const mappedCasetype = this.mapLookupIDToValueFromJurisdictions('CASE_TYPE', item.ccdCaseType);
175
+ const mappedCasetypeDescription = this.mapLookupIDToValueFromJurisdictions('CASE_TYPE_DESCRIPTION', item.ccdCaseType);
176
+ const mappedCaseState = this.mapLookupIDToValueFromJurisdictions('STATE', item.state);
177
+ const mappedCaseStateDescription = this.mapLookupIDToValueFromJurisdictions('STATE_DESCRIPTION', item.state);
178
+ const mappedCaseService = this.mapLookupIDToValueFromJurisdictions('JURISDICTION', item.ccdJurisdiction);
179
+ return Object.assign(Object.assign({}, item), { ccdCaseType: mappedCasetype, ccdCaseTypeDescription: mappedCasetypeDescription, ccdJurisdiction: mappedCaseService, state: mappedCaseState, stateDescription: mappedCaseStateDescription, caseNameHmctsInternal: item.caseNameHmctsInternal || LinkedCasesFromTableComponent.CASE_NAME_MISSING_TEXT });
180
+ });
181
+ this.noLinkedCases = !response.linkedCases || !response.linkedCases.length;
182
+ }, err => {
183
+ this.isServerError = true;
184
+ this.notifyAPIFailure.emit(true);
185
+ });
186
+ }
187
+ getLinkedCases() {
188
+ return this.casesService.getLinkedCases(this.caseId);
189
+ }
190
+ mapLookupIDToValueFromJurisdictions(fieldName, fieldValue) {
191
+ return this.linkedCasesService.mapLookupIDToValueFromJurisdictions(fieldName, fieldValue);
192
+ }
193
+ onClick() {
194
+ this.showHideLinkText = this.showHideLinkText === 'Show'
195
+ ? 'Hide'
196
+ : 'Show';
197
+ }
198
+ }
199
+ LinkedCasesFromTableComponent.CASE_NAME_MISSING_TEXT = 'Case name missing';
200
+ LinkedCasesFromTableComponent.ɵfac = function LinkedCasesFromTableComponent_Factory(t) { return new (t || LinkedCasesFromTableComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.CasesService), i0.ɵɵdirectiveInject(i3.LinkedCasesService)); };
201
+ LinkedCasesFromTableComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LinkedCasesFromTableComponent, selectors: [["ccd-linked-cases-from-table"]], inputs: { caseField: "caseField" }, outputs: { notifyAPIFailure: "notifyAPIFailure" }, decls: 2, vars: 2, consts: [["id", "show-hide-link", "class", "govuk-link", "href", "javascript:void(0)", 3, "click", 4, "ngIf"], ["aria-describedby", "table to display cases linked from", 4, "ngIf"], ["id", "show-hide-link", "href", "javascript:void(0)", 1, "govuk-link", 3, "click"], ["aria-describedby", "table to display cases linked from"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", "width", "20%", 1, "govuk-table__header", "case-table-column"], ["class", "govuk-table__body", 4, "ngIf"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf"], ["class", "govuk-table__row", 4, "ngIf"], [1, "govuk-table__header", "case-table-column", "width-20"], [1, "govuk-body"], ["target", "_blank", "rel", "noopener", 1, "govuk-link", 3, "href"], [1, "case-table-column"], [3, "title"], ["class", "case-table-column", 4, "ngFor", "ngForOf"], [4, "ngFor", "ngForOf"], ["colspan", "5", 1, "govuk-table__cell"]], template: function LinkedCasesFromTableComponent_Template(rf, ctx) { if (rf & 1) {
202
+ i0.ɵɵtemplate(0, LinkedCasesFromTableComponent_a_0_Template, 2, 1, "a", 0);
203
+ i0.ɵɵtemplate(1, LinkedCasesFromTableComponent_table_1_Template, 14, 1, "table", 1);
204
+ } if (rf & 2) {
205
+ i0.ɵɵproperty("ngIf", !ctx.noLinkedCases && !ctx.isServerError);
206
+ i0.ɵɵadvance(1);
207
+ i0.ɵɵproperty("ngIf", ctx.getLinkedCasesResponse && ctx.showHideLinkText === "Hide" || ctx.noLinkedCases);
208
+ } }, styles: [".case-table-column[_ngcontent-%COMP%]{min-width:20%;max-width:20%}.heading-h2[_ngcontent-%COMP%]{margin-bottom:0}"] });
209
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LinkedCasesFromTableComponent, [{
210
+ type: Component,
211
+ args: [{
212
+ selector: 'ccd-linked-cases-from-table',
213
+ templateUrl: './linked-cases-from-table.component.html',
214
+ styleUrls: ['./linked-cases-from-table.component.scss']
215
+ }]
216
+ }], function () { return [{ type: i1.ActivatedRoute }, { type: i2.CasesService }, { type: i3.LinkedCasesService }]; }, { caseField: [{
217
+ type: Input
218
+ }], notifyAPIFailure: [{
219
+ type: Output
220
+ }] }); })();
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLWZyb20tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL2NvbXBvbmVudHMvbGlua2VkLWNhc2VzLXRhYmxlL2xpbmtlZC1jYXNlcy1mcm9tLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay9jb21wb25lbnRzL2xpbmtlZC1jYXNlcy10YWJsZS9saW5rZWQtY2FzZXMtZnJvbS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztJQ1JwRCw0QkFDc0I7SUFBcEIsdUxBQW1CO0lBQUMsWUFBb0I7SUFBQSxpQkFBSTs7O0lBQXhCLGVBQW9CO0lBQXBCLDZDQUFvQjs7O0lBdUJsQyw0QkFBK0U7SUFDN0UsWUFBZ0Q7O0lBQUEscUJBQUk7SUFDdEQsaUJBQU87OztJQURMLGVBQWdEO0lBQWhELDRFQUFnRDs7O0lBRnBELDhCQUF1RTtJQUNyRSw2R0FFTztJQUNULGlCQUFLOzs7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QzthQUN4RDs2SEFPUSxTQUFTO2tCQURmLEtBQUs7WUFJQyxnQkFBZ0I7a0JBRHRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IENhc2VMaW5rUmVzcG9uc2UsIExpbmtlZENhc2VzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9kb21haW4vbGlua2VkLWNhc2VzLm1vZGVsJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvdlJlZkRhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBlbnVtIFBhZ2VUeXBlIHtcbiAgTElOS0VEQ0FTRVNUQUJMQkVWSUVXID0gJ2xpbmtlZENhc2VzVGFibGVWaWV3JyxcbiAgUFJPUE9TRURDQVNFTElOSyA9ICdwcm9wb3NlZENhc2VMaW5rJyxcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWxpbmtlZC1jYXNlcy1mcm9tLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmtlZC1jYXNlcy1mcm9tLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlua2VkLWNhc2VzLWZyb20tdGFibGUuY29tcG9uZW50LnNjc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIExpbmtlZENhc2VzRnJvbVRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDQVNFX05BTUVfTUlTU0lOR19URVhUID0gJ0Nhc2UgbmFtZSBtaXNzaW5nJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZUZpZWxkOiBDYXNlRmllbGQ7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBub3RpZnlBUElGYWlsdXJlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKGZhbHNlKTtcbiAgcHVibGljIHBhZ2VUeXBlID0gUGFnZVR5cGU7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBwYXJlbnRVcmw6IHN0cmluZztcbiAgcHVibGljIGlzTG9hZGVkOiBib29sZWFuO1xuICBwdWJsaWMgZ2V0TGlua2VkQ2FzZXNSZXNwb25zZTogQ2FzZUxpbmtSZXNwb25zZVtdID0gW107XG4gIHB1YmxpYyBsaW5rZWRDYXNlUmVhc29uczogTG92UmVmRGF0YU1vZGVsW107XG5cbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgc2hvd0hpZGVMaW5rVGV4dCA9ICdTaG93JztcbiAgcHVibGljIG5vTGlua2VkQ2FzZXMgPSB0cnVlO1xuICBwdWJsaWMgaXNTZXJ2ZXJFcnJvciA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgICkge1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBsYWJlbEZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnY2FzZS12aWV3ZXItbGFiZWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmV0Y2hQYWdlRGF0YSgpO1xuICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZSkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZURldGFpbHMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmV0Y2hQYWdlRGF0YSgpIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlLmNhc2VfaWQ7XG4gICAgdGhpcy5nZXRMaW5rZWRDYXNlcygpLnN1YnNjcmliZShcbiAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgdGhpcy5pc1NlcnZlckVycm9yID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZ2V0TGlua2VkQ2FzZXNSZXNwb25zZSA9IHJlc3BvbnNlLmxpbmtlZENhc2VzICYmIHJlc3BvbnNlLmxpbmtlZENhc2VzLm1hcChpdGVtID0+IHtcbiAgICAgICAgICBjb25zdCBtYXBwZWRDYXNldHlwZSA9IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ0NBU0VfVFlQRScsIGl0ZW0uY2NkQ2FzZVR5cGUpO1xuICAgICAgICAgIGNvbnN0IG1hcHBlZENhc2V0eXBlRGVzY3JpcHRpb24gPSB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdDQVNFX1RZUEVfREVTQ1JJUFRJT04nLCBpdGVtLmNjZENhc2VUeXBlKTtcbiAgICAgICAgICBjb25zdCBtYXBwZWRDYXNlU3RhdGUgPSB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdTVEFURScsIGl0ZW0uc3RhdGUpO1xuICAgICAgICAgIGNvbnN0IG1hcHBlZENhc2VTdGF0ZURlc2NyaXB0aW9uID0gdGhpcy5tYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucygnU1RBVEVfREVTQ1JJUFRJT04nLCBpdGVtLnN0YXRlKTtcbiAgICAgICAgICBjb25zdCBtYXBwZWRDYXNlU2VydmljZSA9IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ0pVUklTRElDVElPTicsIGl0ZW0uY2NkSnVyaXNkaWN0aW9uKTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgIGNjZENhc2VUeXBlOiBtYXBwZWRDYXNldHlwZSxcbiAgICAgICAgICAgIGNjZENhc2VUeXBlRGVzY3JpcHRpb246IG1hcHBlZENhc2V0eXBlRGVzY3JpcHRpb24sXG4gICAgICAgICAgICBjY2RKdXJpc2RpY3Rpb246IG1hcHBlZENhc2VTZXJ2aWNlLFxuICAgICAgICAgICAgc3RhdGU6IG1hcHBlZENhc2VTdGF0ZSxcbiAgICAgICAgICAgIHN0YXRlRGVzY3JpcHRpb246IG1hcHBlZENhc2VTdGF0ZURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgY2FzZU5hbWVIbWN0c0ludGVybmFsOiBpdGVtLmNhc2VOYW1lSG1jdHNJbnRlcm5hbCB8fCBMaW5rZWRDYXNlc0Zyb21UYWJsZUNvbXBvbmVudC5DQVNFX05BTUVfTUlTU0lOR19URVhUXG4gICAgICAgICAgfSBhcyBDYXNlTGlua1Jlc3BvbnNlO1xuICAgICAgICB9KVxuICAgICAgICB0aGlzLm5vTGlua2VkQ2FzZXMgPSAhcmVzcG9uc2UubGlua2VkQ2FzZXMgfHwgIXJlc3BvbnNlLmxpbmtlZENhc2VzLmxlbmd0aDtcbiAgICAgIH0sXG4gICAgICBlcnIgPT4ge1xuICAgICAgICB0aGlzLmlzU2VydmVyRXJyb3IgPSB0cnVlO1xuICAgICAgICB0aGlzLm5vdGlmeUFQSUZhaWx1cmUuZW1pdCh0cnVlKTtcbiAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlua2VkQ2FzZXMoKTogT2JzZXJ2YWJsZTxMaW5rZWRDYXNlc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZXNTZXJ2aWNlLmdldExpbmtlZENhc2VzKHRoaXMuY2FzZUlkKTtcbiAgfVxuXG4gIHB1YmxpYyBtYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucyhmaWVsZE5hbWUsIGZpZWxkVmFsdWUpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5tYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucyhmaWVsZE5hbWUsIGZpZWxkVmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5zaG93SGlkZUxpbmtUZXh0ID0gdGhpcy5zaG93SGlkZUxpbmtUZXh0ID09PSAnU2hvdydcbiAgICAgID8gJ0hpZGUnXG4gICAgICA6ICdTaG93JztcbiAgfVxufVxuIiwiPGEgKm5nSWY9XCIhbm9MaW5rZWRDYXNlcyAmJiAhaXNTZXJ2ZXJFcnJvclwiIGlkPVwic2hvdy1oaWRlLWxpbmtcIiBjbGFzcz1cImdvdnVrLWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiPnt7c2hvd0hpZGVMaW5rVGV4dH19PC9hPlxuPHRhYmxlICpuZ0lmPVwiKGdldExpbmtlZENhc2VzUmVzcG9uc2UgJiYgc2hvd0hpZGVMaW5rVGV4dCA9PT0gJ0hpZGUnKSB8fCBub0xpbmtlZENhc2VzXCJcbiAgYXJpYS1kZXNjcmliZWRieT1cInRhYmxlIHRvIGRpc3BsYXkgY2FzZXMgbGlua2VkIGZyb21cIj5cbiAgPHRoZWFkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRcIj5cbiAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPkNhc2UgbmFtZSBhbmQgbnVtYmVyPC90aD5cbiAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+Q2FzZSB0eXBlIDwvdGg+XG4gICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPlNlcnZpY2U8L3RoPlxuICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5TdGF0ZTwvdGg+XG4gICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPlJlYXNvbnMgZm9yIGNhc2UgbGluazwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbiAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIiAqbmdJZj1cImdldExpbmtlZENhc2VzUmVzcG9uc2UgJiYgKCFpc1NlcnZlckVycm9yICYmICFsaW5rZWRDYXNlc1NlcnZpY2UuaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IpXCI+XG4gICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0Zvcj1cImxldCBjYXNlIG9mIGdldExpbmtlZENhc2VzUmVzcG9uc2VcIj5cbiAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW4gd2lkdGgtMjBcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImNhc2VzL2Nhc2UtZGV0YWlscy97e2Nhc2UuY2FzZVJlZmVyZW5jZX19XCJcbiAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyXCI+PHNwYW4+e3tjYXNlLmNhc2VOYW1lSG1jdHNJbnRlcm5hbH19IDxicj5cbiAgICAgICAgICAgICAge3tjYXNlLmNhc2VSZWZlcmVuY2UgfCBjY2RDYXNlUmVmZXJlbmNlfX08L3NwYW4+PC9hPjwvcD5cbiAgICAgIDwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJjYXNlLXRhYmxlLWNvbHVtblwiPjxzcGFuIFt0aXRsZV09XCJjYXNlLmNjZENhc2VUeXBlRGVzY3JpcHRpb25cIj57e2Nhc2UuY2NkQ2FzZVR5cGV9fTwvc3Bhbj48L3RkPlxuICAgICAgPHRkIGNsYXNzPVwiY2FzZS10YWJsZS1jb2x1bW5cIj48c3Bhbj57e2Nhc2UuY2NkSnVyaXNkaWN0aW9ufX08L3NwYW4+PC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImNhc2UtdGFibGUtY29sdW1uXCI+PHNwYW4gW3RpdGxlXT1cImNhc2Uuc3RhdGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5zdGF0ZX19PC9zcGFuPjwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJjYXNlLXRhYmxlLWNvbHVtblwiICpuZ0Zvcj1cImxldCBkZXRhaWxzIG9mIGNhc2UubGlua0RldGFpbHNcIj5cbiAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IHJlYXNvbiBvZiBkZXRhaWxzLnJlYXNvbnM7IGxldCBpID0gaW5kZXg7IGxldCBpc0xhc3QgPSBsYXN0XCI+XG4gICAgICAgICAge3tyZWFzb24ucmVhc29uQ29kZSB8IGNjZExpbmtDYXNlc1JlYXNvblZhbHVlfX0gPGJyPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0lmPVwibm9MaW5rZWRDYXNlc1wiPlxuICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBjb2xzcGFuPVwiNVwiPlxuICAgICAgICBOb25lXG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gICAgPC90Ym9keT4gIFxuPC90YWJsZT4iXX0=
@@ -0,0 +1,286 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ActivatedRoute } from '@angular/router';
3
+ import { forkJoin } from 'rxjs';
4
+ import { CaseField } from '../../../../../domain/definition';
5
+ import { CasesService } from '../../../../case-editor/services/cases.service';
6
+ import { LinkedCasesService } from '../../services';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/router";
9
+ import * as i2 from "../../services";
10
+ import * as i3 from "../../../../case-editor/services/cases.service";
11
+ function LinkedCasesToTableComponent_table_2_tr_14_td_18_span_1_a_4_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵelementStart(0, "a", 16);
13
+ i0.ɵɵtext(1);
14
+ i0.ɵɵelementEnd();
15
+ } if (rf & 2) {
16
+ const case_r3 = i0.ɵɵnextContext(3).$implicit;
17
+ const ctx_r9 = i0.ɵɵnextContext(2);
18
+ i0.ɵɵpropertyInterpolate1("href", "cases/case-details/", case_r3.caseReference, "", i0.ɵɵsanitizeUrl);
19
+ i0.ɵɵadvance(1);
20
+ i0.ɵɵtextInterpolate(ctx_r9.getCaseRefereneLink(case_r3.caseReference));
21
+ } }
22
+ function LinkedCasesToTableComponent_table_2_tr_14_td_18_span_1_br_5_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵelement(0, "br");
24
+ } }
25
+ function LinkedCasesToTableComponent_table_2_tr_14_td_18_span_1_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵelementStart(0, "span");
27
+ i0.ɵɵtext(1);
28
+ i0.ɵɵpipe(2, "ccdLinkCasesReasonValue");
29
+ i0.ɵɵelementStart(3, "span");
30
+ i0.ɵɵtemplate(4, LinkedCasesToTableComponent_table_2_tr_14_td_18_span_1_a_4_Template, 2, 2, "a", 15);
31
+ i0.ɵɵelementEnd();
32
+ i0.ɵɵtemplate(5, LinkedCasesToTableComponent_table_2_tr_14_td_18_span_1_br_5_Template, 1, 0, "br", 13);
33
+ i0.ɵɵelementEnd();
34
+ } if (rf & 2) {
35
+ const reason_r6 = ctx.$implicit;
36
+ const isLast_r8 = ctx.last;
37
+ const ctx_r5 = i0.ɵɵnextContext(4);
38
+ i0.ɵɵadvance(1);
39
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 3, reason_r6), "");
40
+ i0.ɵɵadvance(3);
41
+ i0.ɵɵproperty("ngIf", ctx_r5.hasLeadCaseOrConsolidated(reason_r6));
42
+ i0.ɵɵadvance(1);
43
+ i0.ɵɵproperty("ngIf", !isLast_r8);
44
+ } }
45
+ function LinkedCasesToTableComponent_table_2_tr_14_td_18_Template(rf, ctx) { if (rf & 1) {
46
+ i0.ɵɵelementStart(0, "td");
47
+ i0.ɵɵtemplate(1, LinkedCasesToTableComponent_table_2_tr_14_td_18_span_1_Template, 6, 5, "span", 14);
48
+ i0.ɵɵelementEnd();
49
+ } if (rf & 2) {
50
+ const case_r3 = i0.ɵɵnextContext().$implicit;
51
+ i0.ɵɵadvance(1);
52
+ i0.ɵɵproperty("ngForOf", case_r3.reasons);
53
+ } }
54
+ function LinkedCasesToTableComponent_table_2_tr_14_Template(rf, ctx) { if (rf & 1) {
55
+ i0.ɵɵelementStart(0, "tr", 4);
56
+ i0.ɵɵelementStart(1, "td");
57
+ i0.ɵɵelementStart(2, "p", 9);
58
+ i0.ɵɵelementStart(3, "a", 10);
59
+ i0.ɵɵelementStart(4, "span", 11);
60
+ i0.ɵɵtext(5);
61
+ i0.ɵɵelement(6, "br");
62
+ i0.ɵɵtext(7);
63
+ i0.ɵɵpipe(8, "ccdCaseReference");
64
+ i0.ɵɵelementEnd();
65
+ i0.ɵɵelementEnd();
66
+ i0.ɵɵelementEnd();
67
+ i0.ɵɵelementEnd();
68
+ i0.ɵɵelementStart(9, "td");
69
+ i0.ɵɵelementStart(10, "span", 12);
70
+ i0.ɵɵtext(11);
71
+ i0.ɵɵelementEnd();
72
+ i0.ɵɵelementEnd();
73
+ i0.ɵɵelementStart(12, "td");
74
+ i0.ɵɵelementStart(13, "span");
75
+ i0.ɵɵtext(14);
76
+ i0.ɵɵelementEnd();
77
+ i0.ɵɵelementEnd();
78
+ i0.ɵɵelementStart(15, "td");
79
+ i0.ɵɵelementStart(16, "span", 12);
80
+ i0.ɵɵtext(17);
81
+ i0.ɵɵelementEnd();
82
+ i0.ɵɵelementEnd();
83
+ i0.ɵɵtemplate(18, LinkedCasesToTableComponent_table_2_tr_14_td_18_Template, 2, 1, "td", 13);
84
+ i0.ɵɵelementEnd();
85
+ } if (rf & 2) {
86
+ const case_r3 = ctx.$implicit;
87
+ i0.ɵɵadvance(3);
88
+ i0.ɵɵpropertyInterpolate1("href", "cases/case-details/", case_r3.caseReference, "", i0.ɵɵsanitizeUrl);
89
+ i0.ɵɵadvance(2);
90
+ i0.ɵɵtextInterpolate1("", case_r3.caseName, " ");
91
+ i0.ɵɵadvance(2);
92
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 9, case_r3.caseReference), "");
93
+ i0.ɵɵadvance(3);
94
+ i0.ɵɵproperty("title", case_r3.caseTypeDescription);
95
+ i0.ɵɵadvance(1);
96
+ i0.ɵɵtextInterpolate(case_r3.caseType);
97
+ i0.ɵɵadvance(3);
98
+ i0.ɵɵtextInterpolate(case_r3.service);
99
+ i0.ɵɵadvance(2);
100
+ i0.ɵɵproperty("title", case_r3.stateDescription);
101
+ i0.ɵɵadvance(1);
102
+ i0.ɵɵtextInterpolate(case_r3.state);
103
+ i0.ɵɵadvance(1);
104
+ i0.ɵɵproperty("ngIf", case_r3 && case_r3.reasons);
105
+ } }
106
+ function LinkedCasesToTableComponent_table_2_tr_15_Template(rf, ctx) { if (rf & 1) {
107
+ i0.ɵɵelementStart(0, "tr", 4);
108
+ i0.ɵɵelementStart(1, "td", 17);
109
+ i0.ɵɵtext(2, " None ");
110
+ i0.ɵɵelementEnd();
111
+ i0.ɵɵelementEnd();
112
+ } }
113
+ function LinkedCasesToTableComponent_table_2_Template(rf, ctx) { if (rf & 1) {
114
+ i0.ɵɵelementStart(0, "table", 3);
115
+ i0.ɵɵelementStart(1, "thead");
116
+ i0.ɵɵelementStart(2, "tr", 4);
117
+ i0.ɵɵelementStart(3, "th", 5);
118
+ i0.ɵɵtext(4, "Case name and number");
119
+ i0.ɵɵelementEnd();
120
+ i0.ɵɵelementStart(5, "th", 5);
121
+ i0.ɵɵtext(6, "Case type ");
122
+ i0.ɵɵelementEnd();
123
+ i0.ɵɵelementStart(7, "th", 5);
124
+ i0.ɵɵtext(8, "Service");
125
+ i0.ɵɵelementEnd();
126
+ i0.ɵɵelementStart(9, "th", 5);
127
+ i0.ɵɵtext(10, "State");
128
+ i0.ɵɵelementEnd();
129
+ i0.ɵɵelementStart(11, "th", 5);
130
+ i0.ɵɵtext(12, "Reasons for case link");
131
+ i0.ɵɵelementEnd();
132
+ i0.ɵɵelementEnd();
133
+ i0.ɵɵelementEnd();
134
+ i0.ɵɵelementStart(13, "tbody", 6);
135
+ i0.ɵɵtemplate(14, LinkedCasesToTableComponent_table_2_tr_14_Template, 19, 11, "tr", 7);
136
+ i0.ɵɵtemplate(15, LinkedCasesToTableComponent_table_2_tr_15_Template, 3, 0, "tr", 8);
137
+ i0.ɵɵelementEnd();
138
+ i0.ɵɵelementEnd();
139
+ } if (rf & 2) {
140
+ const ctx_r0 = i0.ɵɵnextContext();
141
+ i0.ɵɵadvance(14);
142
+ i0.ɵɵproperty("ngForOf", ctx_r0.linkedCasesFromResponse);
143
+ i0.ɵɵadvance(1);
144
+ i0.ɵɵproperty("ngIf", ctx_r0.linkedCasesFromResponse && ctx_r0.linkedCasesFromResponse.length === 0 && (!ctx_r0.isServerError && !ctx_r0.linkedCasesService.isServerReasonCodeError));
145
+ } }
146
+ export class LinkedCasesToTableComponent {
147
+ constructor(route, linkedCasesService, casesService) {
148
+ this.route = route;
149
+ this.linkedCasesService = linkedCasesService;
150
+ this.casesService = casesService;
151
+ this.notifyAPIFailure = new EventEmitter(false);
152
+ this.linkedCasesFromResponse = [];
153
+ this.isServerError = false;
154
+ this.jurisdictionsResponse = [];
155
+ }
156
+ ngAfterViewInit() {
157
+ let labelField = document.getElementsByClassName('govuk-heading-l');
158
+ if (labelField && labelField.length) {
159
+ labelField[0].replaceWith('');
160
+ }
161
+ labelField = document.getElementsByClassName('heading-h2');
162
+ if (labelField && labelField.length) {
163
+ labelField[0].replaceWith('');
164
+ }
165
+ }
166
+ ngOnInit() {
167
+ this.caseId = this.route.snapshot && this.route.snapshot.data && this.route.snapshot.data.case.case_id;
168
+ this.getAllLinkedCaseInformation();
169
+ if (this.route.snapshot.data.case) {
170
+ this.linkedCasesService.caseDetails = this.route.snapshot.data.case;
171
+ }
172
+ }
173
+ getCaseRefereneLink(caseRef) {
174
+ return caseRef.slice(this.caseId.length - 4);
175
+ }
176
+ sortLinkedCasesByReasonCode(searchCasesResponse) {
177
+ const topLevelresultArray = [];
178
+ let secondLevelresultArray = [];
179
+ searchCasesResponse.forEach((item) => {
180
+ const reasons = item && item.reasons || [];
181
+ const consolidatedStateReason = reasons.map(x => x).find(reason => reason === LinkedCasesToTableComponent.CASE_CONSOLIDATED_REASON_CODE);
182
+ const progressedStateReason = reasons.map(x => x).find(reason => reason === LinkedCasesToTableComponent.CASE_PROGRESS_REASON_CODE);
183
+ let arrayItem;
184
+ if (progressedStateReason) {
185
+ arrayItem = Object.assign({}, item);
186
+ topLevelresultArray.push(arrayItem);
187
+ }
188
+ else if (consolidatedStateReason) {
189
+ arrayItem = Object.assign({}, item);
190
+ secondLevelresultArray = [Object.assign({}, item), ...secondLevelresultArray];
191
+ }
192
+ else {
193
+ arrayItem = Object.assign({}, item);
194
+ secondLevelresultArray.push(Object.assign({}, item));
195
+ }
196
+ });
197
+ return topLevelresultArray.concat(secondLevelresultArray);
198
+ }
199
+ getAllLinkedCaseInformation() {
200
+ const searchCasesResponse = [];
201
+ const caseFieldValue = this.caseField ? this.caseField.value : [];
202
+ // Generate the list of observables
203
+ caseFieldValue.forEach(fieldValue => {
204
+ if (fieldValue && fieldValue.id) {
205
+ searchCasesResponse.push(this.casesService.getCaseViewV2(fieldValue.id));
206
+ }
207
+ });
208
+ if (searchCasesResponse.length) {
209
+ this.searchCasesByCaseIds(searchCasesResponse).subscribe((searchCases) => {
210
+ const casesResponse = [];
211
+ searchCases.forEach(response => {
212
+ casesResponse.push(this.mapResponse(response));
213
+ });
214
+ this.linkedCasesFromResponse = this.sortLinkedCasesByReasonCode(casesResponse);
215
+ this.isLoaded = true;
216
+ const caseLinks = this.linkedCasesFromResponse.map(item => {
217
+ return {
218
+ caseReference: item.caseReference,
219
+ caseName: item.caseName,
220
+ caseService: item.service,
221
+ caseType: item.caseType,
222
+ unlink: false,
223
+ reasons: item.reasons && item.reasons.map(reason => {
224
+ return {
225
+ reasonCode: reason
226
+ };
227
+ }),
228
+ };
229
+ });
230
+ this.linkedCasesService.initialCaseLinks = caseLinks;
231
+ this.linkedCasesService.linkedCases = caseLinks;
232
+ this.isServerError = false;
233
+ }, err => {
234
+ this.isServerError = true;
235
+ this.notifyAPIFailure.emit(true);
236
+ });
237
+ }
238
+ }
239
+ searchCasesByCaseIds(searchCasesResponse) {
240
+ return forkJoin(searchCasesResponse);
241
+ }
242
+ hasLeadCaseOrConsolidated(reasonCode) {
243
+ return reasonCode === LinkedCasesToTableComponent.CASE_PROGRESS_REASON_CODE ||
244
+ reasonCode === LinkedCasesToTableComponent.CASE_CONSOLIDATED_REASON_CODE;
245
+ }
246
+ mapResponse(esSearchCasesResponse) {
247
+ const caseInfo = this.caseField.value.find(item => item.value && item.value.CaseReference === esSearchCasesResponse.case_id);
248
+ return caseInfo && {
249
+ caseReference: esSearchCasesResponse.case_id,
250
+ caseName: this.linkedCasesService.getCaseName(esSearchCasesResponse),
251
+ caseType: esSearchCasesResponse.case_type.name || '',
252
+ caseTypeDescription: esSearchCasesResponse.case_type.description || '',
253
+ service: esSearchCasesResponse.case_type && esSearchCasesResponse.case_type.jurisdiction.description || '',
254
+ state: esSearchCasesResponse.state.name || '',
255
+ stateDescription: esSearchCasesResponse.state.description || '',
256
+ reasons: caseInfo.value && caseInfo.value.ReasonForLink &&
257
+ caseInfo.value.ReasonForLink.map(reason => reason.value && reason.value.Reason),
258
+ };
259
+ }
260
+ }
261
+ LinkedCasesToTableComponent.CASE_CONSOLIDATED_REASON_CODE = 'CLRC015';
262
+ LinkedCasesToTableComponent.CASE_PROGRESS_REASON_CODE = 'CLRC016';
263
+ LinkedCasesToTableComponent.ɵfac = function LinkedCasesToTableComponent_Factory(t) { return new (t || LinkedCasesToTableComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.LinkedCasesService), i0.ɵɵdirectiveInject(i3.CasesService)); };
264
+ LinkedCasesToTableComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LinkedCasesToTableComponent, selectors: [["ccd-linked-cases-to-table"]], inputs: { caseField: "caseField" }, outputs: { notifyAPIFailure: "notifyAPIFailure" }, decls: 3, vars: 1, consts: [[1, "govuk-grid-row", "govuk-!-margin-bottom-2"], [1, "govuk-grid-column-full"], ["aria-describedby", "table to display cases linked TO", 4, "ngIf"], ["aria-describedby", "table to display cases linked TO"], [1, "govuk-table__row"], ["scope", "col", "width", "20%", 1, "govuk-table__header", "case-table-column"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf"], ["class", "govuk-table__row", 4, "ngIf"], [1, "govuk-body"], ["target", "_blank", "rel", "noopener", 3, "href"], [1, "govuk-link"], [3, "title"], [4, "ngIf"], [4, "ngFor", "ngForOf"], ["class", "govuk-!-padding-left-1", 3, "href", 4, "ngIf"], [1, "govuk-!-padding-left-1", 3, "href"], ["colspan", "5", 1, "govuk-table__cell"]], template: function LinkedCasesToTableComponent_Template(rf, ctx) { if (rf & 1) {
265
+ i0.ɵɵelementStart(0, "div", 0);
266
+ i0.ɵɵelementStart(1, "div", 1);
267
+ i0.ɵɵtemplate(2, LinkedCasesToTableComponent_table_2_Template, 16, 2, "table", 2);
268
+ i0.ɵɵelementEnd();
269
+ i0.ɵɵelementEnd();
270
+ } if (rf & 2) {
271
+ i0.ɵɵadvance(2);
272
+ i0.ɵɵproperty("ngIf", ctx.linkedCasesFromResponse);
273
+ } }, styles: [".case-table-column[_ngcontent-%COMP%]{min-width:20%;max-width:20%}"] });
274
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LinkedCasesToTableComponent, [{
275
+ type: Component,
276
+ args: [{
277
+ selector: 'ccd-linked-cases-to-table',
278
+ templateUrl: './linked-cases-to-table.component.html',
279
+ styleUrls: ['./linked-cases-to-table.component.scss']
280
+ }]
281
+ }], function () { return [{ type: i1.ActivatedRoute }, { type: i2.LinkedCasesService }, { type: i3.CasesService }]; }, { caseField: [{
282
+ type: Input
283
+ }], notifyAPIFailure: [{
284
+ type: Output
285
+ }] }); })();
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLXRvLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay9jb21wb25lbnRzL2xpbmtlZC1jYXNlcy10YWJsZS9saW5rZWQtY2FzZXMtdG8tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL2NvbXBvbmVudHMvbGlua2VkLWNhc2VzLXRhYmxlL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUU5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0lDa0JJLDZCQUVJO0lBQUEsWUFBMkM7SUFBQSxpQkFBSTs7OztJQUR6RixxR0FBa0Q7SUFDUixlQUEyQztJQUEzQyx1RUFBMkM7OztJQUN6RixxQkFBc0I7OztJQUp4Qiw0QkFBNEU7SUFDMUUsWUFBb0M7O0lBQUEsNEJBQU07SUFBQSxvR0FFbUQ7SUFBQSxpQkFBTztJQUNwRyxz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S0FBSyxDQUFDLGFBQWE7Z0JBQ3JELFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDM0QsQ0FBQztJQUMzQixDQUFDOztBQXRJdUIseURBQTZCLEdBQUcsU0FBUyxDQUFDO0FBQzFDLHFEQUF5QixHQUFHLFNBQVMsQ0FBQztzR0FIbkQsMkJBQTJCO2dFQUEzQiwyQkFBMkI7UUMxQnhDLDhCQUFvRDtRQUNsRCw4QkFBb0M7UUFDbEMsaUZBb0NRO1FBQ1YsaUJBQU07UUFDUixpQkFBTTs7UUF0Q00sZUFBNkI7UUFBN0Isa0RBQTZCOzt1RkR3QjVCLDJCQUEyQjtjQU52QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsV0FBVyxFQUFFLHdDQUF3QztnQkFDckQsU0FBUyxFQUFFLENBQUMsd0NBQXdDLENBQUM7YUFDdEQ7NkhBUVEsU0FBUztrQkFEZixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGaWVsZCwgSnVyaXNkaWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24nO1xuaW1wb3J0IHsgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlTGluaywgTGlua1JlYXNvbiB9IGZyb20gJy4uLy4uL2RvbWFpbi9saW5rZWQtY2FzZXMubW9kZWwnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5pbnRlcmZhY2UgTGlua2VkQ2FzZXNSZXNwb25zZSB7XG4gIGNhc2VSZWZlcmVuY2U6IHN0cmluZ1xuICBjYXNlTmFtZTogc3RyaW5nXG4gIGNhc2VUeXBlOiBzdHJpbmc7XG4gIGNhc2VUeXBlRGVzY3JpcHRpb246IHN0cmluZztcbiAgc2VydmljZTogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBzdGF0ZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHJlYXNvbnM6IFtdXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1saW5rZWQtY2FzZXMtdG8tdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlua2VkLWNhc2VzLXRvLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlua2VkLWNhc2VzLXRvLXRhYmxlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbmV4cG9ydCBjbGFzcyBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENBU0VfQ09OU09MSURBVEVEX1JFQVNPTl9DT0RFID0gJ0NMUkMwMTUnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDQVNFX1BST0dSRVNTX1JFQVNPTl9DT0RFID0gJ0NMUkMwMTYnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmllbGQ6IENhc2VGaWVsZDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG5vdGlmeUFQSUZhaWx1cmU6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoZmFsc2UpO1xuICBwdWJsaWMgY2FzZURldGFpbHM6IENhc2VWaWV3O1xuICBwdWJsaWMgaXNMb2FkZWQ6IGJvb2xlYW47XG4gIHB1YmxpYyBsaW5rZWRDYXNlc0Zyb21SZXNwb25zZTogTGlua2VkQ2FzZXNSZXNwb25zZVtdID0gW107XG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcbiAgcHVibGljIGlzU2VydmVyRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIGp1cmlzZGljdGlvbnNSZXNwb25zZTogSnVyaXNkaWN0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlua2VkQ2FzZXNTZXJ2aWNlOiBMaW5rZWRDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSAgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgbGV0IGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdnb3Z1ay1oZWFkaW5nLWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJylcbiAgICB9XG4gICAgbGFiZWxGaWVsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2hlYWRpbmctaDInKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJylcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90ICYmIHRoaXMucm91dGUuc25hcHNob3QuZGF0YSAmJiB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZS5jYXNlX2lkO1xuICAgIHRoaXMuZ2V0QWxsTGlua2VkQ2FzZUluZm9ybWF0aW9uKClcbiAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VEZXRhaWxzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldENhc2VSZWZlcmVuZUxpbmsoY2FzZVJlZikge1xuICAgIHJldHVybiBjYXNlUmVmLnNsaWNlKHRoaXMuY2FzZUlkLmxlbmd0aCAtIDQpO1xuICB9XG5cbiAgcHVibGljIHNvcnRMaW5rZWRDYXNlc0J5UmVhc29uQ29kZShzZWFyY2hDYXNlc1Jlc3BvbnNlKSB7XG4gICAgY29uc3QgdG9wTGV2ZWxyZXN1bHRBcnJheSA9IFtdO1xuICAgIGxldCBzZWNvbmRMZXZlbHJlc3VsdEFycmF5ID0gW107XG4gICAgc2VhcmNoQ2FzZXNSZXNwb25zZS5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHJlYXNvbnMgPSBpdGVtICYmIGl0ZW0ucmVhc29ucyB8fCBbXTtcbiAgICAgIGNvbnN0IGNvbnNvbGlkYXRlZFN0YXRlUmVhc29uID0gcmVhc29ucy5tYXAoeCA9PiB4KS5maW5kKFxuICAgICAgICByZWFzb24gPT4gcmVhc29uID09PSBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQuQ0FTRV9DT05TT0xJREFURURfUkVBU09OX0NPREVcbiAgICAgICk7XG4gICAgICBjb25zdCBwcm9ncmVzc2VkU3RhdGVSZWFzb24gPSByZWFzb25zLm1hcCh4ID0+IHgpLmZpbmQoXG4gICAgICAgIHJlYXNvbiA9PiByZWFzb24gPT09IExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudC5DQVNFX1BST0dSRVNTX1JFQVNPTl9DT0RFXG4gICAgICApO1xuICAgICAgbGV0IGFycmF5SXRlbTtcbiAgICAgIGlmIChwcm9ncmVzc2VkU3RhdGVSZWFzb24pIHtcbiAgICAgICAgYXJyYXlJdGVtID0geyAuLi5pdGVtIH07XG4gICAgICAgIHRvcExldmVscmVzdWx0QXJyYXkucHVzaChhcnJheUl0ZW0pO1xuICAgICAgfSBlbHNlIGlmIChjb25zb2xpZGF0ZWRTdGF0ZVJlYXNvbikge1xuICAgICAgICBhcnJheUl0ZW0gPSB7IC4uLml0ZW0gfTtcbiAgICAgICAgc2Vjb25kTGV2ZWxyZXN1bHRBcnJheSA9IFt7IC4uLml0ZW0gfSwgLi4uc2Vjb25kTGV2ZWxyZXN1bHRBcnJheV1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFycmF5SXRlbSA9IHsgLi4uaXRlbSB9O1xuICAgICAgICBzZWNvbmRMZXZlbHJlc3VsdEFycmF5LnB1c2goeyAuLi5pdGVtIH0pO1xuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHRvcExldmVscmVzdWx0QXJyYXkuY29uY2F0KHNlY29uZExldmVscmVzdWx0QXJyYXkpXG4gIH1cblxuICBwdWJsaWMgZ2V0QWxsTGlua2VkQ2FzZUluZm9ybWF0aW9uKCkge1xuICAgIGNvbnN0IHNlYXJjaENhc2VzUmVzcG9uc2UgPSBbXTtcbiAgICBjb25zdCBjYXNlRmllbGRWYWx1ZSA9IHRoaXMuY2FzZUZpZWxkID8gdGhpcy5jYXNlRmllbGQudmFsdWUgOiBbXTtcbiAgICAvLyBHZW5lcmF0ZSB0aGUgbGlzdCBvZiBvYnNlcnZhYmxlc1xuICAgIGNhc2VGaWVsZFZhbHVlLmZvckVhY2goZmllbGRWYWx1ZSA9PiB7XG4gICAgICBpZiAoZmllbGRWYWx1ZSAmJiBmaWVsZFZhbHVlLmlkKSB7XG4gICAgICAgIHNlYXJjaENhc2VzUmVzcG9uc2UucHVzaCh0aGlzLmNhc2VzU2VydmljZS5nZXRDYXNlVmlld1YyKGZpZWxkVmFsdWUuaWQpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoc2VhcmNoQ2FzZXNSZXNwb25zZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZSkuc3Vic2NyaWJlKChzZWFyY2hDYXNlczogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGNhc2VzUmVzcG9uc2UgPSBbXTtcbiAgICAgICAgc2VhcmNoQ2FzZXMuZm9yRWFjaChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgY2FzZXNSZXNwb25zZS5wdXNoKHRoaXMubWFwUmVzcG9uc2UocmVzcG9uc2UpKVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc0Zyb21SZXNwb25zZSA9IHRoaXMuc29ydExpbmtlZENhc2VzQnlSZWFzb25Db2RlKGNhc2VzUmVzcG9uc2UpO1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgY2FzZUxpbmtzID0gdGhpcy5saW5rZWRDYXNlc0Zyb21SZXNwb25zZS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNhc2VSZWZlcmVuY2U6IGl0ZW0uY2FzZVJlZmVyZW5jZSxcbiAgICAgICAgICAgIGNhc2VOYW1lOiBpdGVtLmNhc2VOYW1lLFxuICAgICAgICAgICAgY2FzZVNlcnZpY2U6IGl0ZW0uc2VydmljZSxcbiAgICAgICAgICAgIGNhc2VUeXBlOiBpdGVtLmNhc2VUeXBlLFxuICAgICAgICAgICAgdW5saW5rOiBmYWxzZSxcbiAgICAgICAgICAgIHJlYXNvbnM6IGl0ZW0ucmVhc29ucyAmJiBpdGVtLnJlYXNvbnMubWFwKHJlYXNvbiA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVhc29uQ29kZTogcmVhc29uXG4gICAgICAgICAgICAgIH0gYXMgTGlua1JlYXNvblxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSBhcyBDYXNlTGlua1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rcyA9IGNhc2VMaW5rcztcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSBjYXNlTGlua3M7XG4gICAgICAgIHRoaXMuaXNTZXJ2ZXJFcnJvciA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmlzU2VydmVyRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIHRoaXMubm90aWZ5QVBJRmFpbHVyZS5lbWl0KHRydWUpXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlYXJjaENhc2VzQnlDYXNlSWRzKHNlYXJjaENhc2VzUmVzcG9uc2U6IGFueVtdKSB7XG4gICAgcmV0dXJuIGZvcmtKb2luKHNlYXJjaENhc2VzUmVzcG9uc2UpO1xuICB9XG5cbiAgcHVibGljIGhhc0xlYWRDYXNlT3JDb25zb2xpZGF0ZWQocmVhc29uQ29kZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHJlYXNvbkNvZGUgPT09IExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudC5DQVNFX1BST0dSRVNTX1JFQVNPTl9DT0RFIHx8XG4gICAgICByZWFzb25Db2RlID09PSBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQuQ0FTRV9DT05TT0xJREFURURfUkVBU09OX0NPREU7XG4gIH1cblxuICBwdWJsaWMgbWFwUmVzcG9uc2UoZXNTZWFyY2hDYXNlc1Jlc3BvbnNlKTogTGlua2VkQ2FzZXNSZXNwb25zZSB7XG4gICAgY29uc3QgY2FzZUluZm8gPSB0aGlzLmNhc2VGaWVsZC52YWx1ZS5maW5kKGl0ZW0gPT4gaXRlbS52YWx1ZSAmJiBpdGVtLnZhbHVlLkNhc2VSZWZlcmVuY2UgPT09IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2lkKTtcbiAgICByZXR1cm4gY2FzZUluZm8gJiYge1xuICAgICAgY2FzZVJlZmVyZW5jZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfaWQsXG4gICAgICBjYXNlTmFtZTogdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0Q2FzZU5hbWUoZXNTZWFyY2hDYXNlc1Jlc3BvbnNlKSxcbiAgICAgIGNhc2VUeXBlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV90eXBlLm5hbWUgfHwgJycsXG4gICAgICBjYXNlVHlwZURlc2NyaXB0aW9uOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV90eXBlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgc2VydmljZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfdHlwZSAmJiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV90eXBlLmp1cmlzZGljdGlvbi5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIHN0YXRlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2Uuc3RhdGUubmFtZSB8fCAnJyxcbiAgICAgIHN0YXRlRGVzY3JpcHRpb246IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5zdGF0ZS5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIHJlYXNvbnM6IGNhc2VJbmZvLnZhbHVlICYmIGNhc2VJbmZvLnZhbHVlLlJlYXNvbkZvckxpbmsgJiZcbiAgICAgICAgY2FzZUluZm8udmFsdWUuUmVhc29uRm9yTGluay5tYXAocmVhc29uID0+IHJlYXNvbi52YWx1ZSAmJiByZWFzb24udmFsdWUuUmVhc29uKSxcbiAgICB9IGFzIExpbmtlZENhc2VzUmVzcG9uc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvdyBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMlwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tZnVsbFwiPlxuICAgIDx0YWJsZSAqbmdJZj1cImxpbmtlZENhc2VzRnJvbVJlc3BvbnNlXCIgYXJpYS1kZXNjcmliZWRieT1cInRhYmxlIHRvIGRpc3BsYXkgY2FzZXMgbGlua2VkIFRPXCI+XG4gICAgICA8dGhlYWQ+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPkNhc2UgbmFtZSBhbmQgbnVtYmVyPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPkNhc2UgdHlwZSA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+U2VydmljZTwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5TdGF0ZTwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5SZWFzb25zIGZvciBjYXNlIGxpbms8L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgY2FzZSBvZiBsaW5rZWRDYXNlc0Zyb21SZXNwb25zZVwiPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keVwiPjxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJjYXNlcy9jYXNlLWRldGFpbHMve3tjYXNlLmNhc2VSZWZlcmVuY2V9fVwiXG4gICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXJcIj48c3BhbiBjbGFzcz1cImdvdnVrLWxpbmtcIj57e2Nhc2UuY2FzZU5hbWV9fSA8YnI+XG4gICAgICAgICAgICAgICAgICB7e2Nhc2UuY2FzZVJlZmVyZW5jZSB8IGNjZENhc2VSZWZlcmVuY2V9fTwvc3Bhbj48L2E+PC9wPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkPjxzcGFuIFt0aXRsZV09XCJjYXNlLmNhc2VUeXBlRGVzY3JpcHRpb25cIj57e2Nhc2UuY2FzZVR5cGV9fTwvc3Bhbj48L3RkPlxuICAgICAgICAgIDx0ZD48c3Bhbj57e2Nhc2Uuc2VydmljZX19PC9zcGFuPjwvdGQ+XG4gICAgICAgICAgPHRkPjxzcGFuIFt0aXRsZV09XCJjYXNlLnN0YXRlRGVzY3JpcHRpb25cIj57e2Nhc2Uuc3RhdGV9fTwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCAqbmdJZj1cImNhc2UgJiYgY2FzZS5yZWFzb25zXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgcmVhc29uIG9mIGNhc2UucmVhc29uczsgbGV0IGkgPSBpbmRleDsgbGV0IGlzTGFzdCA9IGxhc3RcIj5cbiAgICAgICAgICAgICAge3tyZWFzb24gfCBjY2RMaW5rQ2FzZXNSZWFzb25WYWx1ZX19PHNwYW4+PGEgY2xhc3M9XCJnb3Z1ay0hLXBhZGRpbmctbGVmdC0xXCJcbiAgICAgICAgICAgICAgICAgIGhyZWY9XCJjYXNlcy9jYXNlLWRldGFpbHMve3sgY2FzZS5jYXNlUmVmZXJlbmNlIH19XCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzTGVhZENhc2VPckNvbnNvbGlkYXRlZChyZWFzb24pXCI+e3tnZXRDYXNlUmVmZXJlbmVMaW5rKGNhc2UuY2FzZVJlZmVyZW5jZSl9fTwvYT48L3NwYW4+XG4gICAgICAgICAgICAgIDxiciAqbmdJZj1cIiFpc0xhc3RcIiAvPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdJZj1cImxpbmtlZENhc2VzRnJvbVJlc3BvbnNlICYmIGxpbmtlZENhc2VzRnJvbVJlc3BvbnNlLmxlbmd0aCA9PT0gMCAmJiAoIWlzU2VydmVyRXJyb3IgJiYgIWxpbmtlZENhc2VzU2VydmljZS5pc1NlcnZlclJlYXNvbkNvZGVFcnJvcilcIj5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiIGNvbHNwYW49XCI1XCI+XG4gICAgICAgICAgICBOb25lXG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==