@hmcts/ccd-case-ui-toolkit 6.10.6-angular-upgrade-r4 → 6.10.7-rollback-case-link

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 (118) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +240 -2881
  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/shared/commons/case-edit-data/case-edit-data.service.js +1 -9
  6. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +7 -17
  7. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +1 -28
  8. package/esm2015/lib/shared/components/case-editor/services/page-validation.service.js +2 -10
  9. package/esm2015/lib/shared/components/palette/base-field/abstract-form-field.component.js +2 -4
  10. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.js +4 -4
  11. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field.component.js +4 -4
  12. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.js +3 -4
  13. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.js +26 -25
  14. package/esm2015/lib/shared/components/palette/case-link/index.js +1 -4
  15. package/esm2015/lib/shared/components/palette/case-link/read-case-link-field.component.js +8 -28
  16. package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +66 -77
  17. package/esm2015/lib/shared/components/palette/palette.module.js +22 -68
  18. package/esm2015/lib/shared/components/palette/palette.service.js +4 -12
  19. package/esm2015/lib/shared/components/palette/utils/is-compound.pipe.js +1 -10
  20. package/esm2015/lib/shared/domain/definition/field-type-enum.model.js +1 -1
  21. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +1 -5
  22. package/esm2015/lib/shared/pipes/index.js +1 -2
  23. package/esm2015/lib/shared/pipes/pipes.module.js +4 -8
  24. package/esm2015/lib/shared/services/fields/fields.utils.js +1 -7
  25. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +233 -2585
  26. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  27. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts +0 -5
  28. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts.map +1 -1
  29. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +0 -2
  30. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  31. package/lib/shared/components/case-editor/services/cases.service.d.ts +0 -7
  32. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  33. package/lib/shared/components/case-editor/services/page-validation.service.d.ts +0 -1
  34. package/lib/shared/components/case-editor/services/page-validation.service.d.ts.map +1 -1
  35. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
  36. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
  37. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.d.ts.map +1 -1
  38. package/lib/shared/components/palette/case-link/index.d.ts +0 -3
  39. package/lib/shared/components/palette/case-link/index.d.ts.map +1 -1
  40. package/lib/shared/components/palette/case-link/read-case-link-field.component.d.ts +0 -3
  41. package/lib/shared/components/palette/case-link/read-case-link-field.component.d.ts.map +1 -1
  42. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts +4 -13
  43. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts.map +1 -1
  44. package/lib/shared/components/palette/palette.module.d.ts +58 -67
  45. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  46. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  47. package/lib/shared/components/palette/utils/is-compound.pipe.d.ts +0 -1
  48. package/lib/shared/components/palette/utils/is-compound.pipe.d.ts.map +1 -1
  49. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  50. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  51. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  52. package/lib/shared/pipes/index.d.ts +0 -1
  53. package/lib/shared/pipes/index.d.ts.map +1 -1
  54. package/lib/shared/pipes/pipes.module.d.ts +2 -3
  55. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  56. package/lib/shared/services/fields/fields.utils.d.ts +0 -1
  57. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  58. package/package.json +1 -1
  59. package/esm2015/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.js +0 -125
  60. package/esm2015/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.js +0 -198
  61. package/esm2015/lib/shared/components/palette/case-link/components/index.js +0 -10
  62. package/esm2015/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.js +0 -497
  63. package/esm2015/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.js +0 -221
  64. package/esm2015/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.js +0 -286
  65. package/esm2015/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.js +0 -76
  66. package/esm2015/lib/shared/components/palette/case-link/components/read-linked-cases.component.js +0 -178
  67. package/esm2015/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.js +0 -216
  68. package/esm2015/lib/shared/components/palette/case-link/components/write-linked-cases.component.js +0 -265
  69. package/esm2015/lib/shared/components/palette/case-link/domain/index.js +0 -3
  70. package/esm2015/lib/shared/components/palette/case-link/domain/linked-cases-state.model.js +0 -2
  71. package/esm2015/lib/shared/components/palette/case-link/domain/linked-cases.model.js +0 -19
  72. package/esm2015/lib/shared/components/palette/case-link/enums/index.js +0 -2
  73. package/esm2015/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.js +0 -33
  74. package/esm2015/lib/shared/components/palette/case-link/services/index.js +0 -2
  75. package/esm2015/lib/shared/components/palette/case-link/services/linked-cases.service.js +0 -134
  76. package/esm2015/lib/shared/components/palette/case-link/utils/validators.utils.js +0 -27
  77. package/esm2015/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.js +0 -23
  78. package/esm2015/lib/shared/pipes/link-cases-reason-code/index.js +0 -2
  79. package/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.d.ts +0 -19
  80. package/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.d.ts.map +0 -1
  81. package/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.d.ts +0 -18
  82. package/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.d.ts.map +0 -1
  83. package/lib/shared/components/palette/case-link/components/index.d.ts +0 -10
  84. package/lib/shared/components/palette/case-link/components/index.d.ts.map +0 -1
  85. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts +0 -45
  86. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts.map +0 -1
  87. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.d.ts +0 -42
  88. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +0 -1
  89. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.d.ts +0 -45
  90. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.d.ts.map +0 -1
  91. package/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.d.ts +0 -12
  92. package/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.d.ts.map +0 -1
  93. package/lib/shared/components/palette/case-link/components/read-linked-cases.component.d.ts +0 -37
  94. package/lib/shared/components/palette/case-link/components/read-linked-cases.component.d.ts.map +0 -1
  95. package/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.d.ts +0 -38
  96. package/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.d.ts.map +0 -1
  97. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts +0 -45
  98. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts.map +0 -1
  99. package/lib/shared/components/palette/case-link/domain/index.d.ts +0 -3
  100. package/lib/shared/components/palette/case-link/domain/index.d.ts.map +0 -1
  101. package/lib/shared/components/palette/case-link/domain/linked-cases-state.model.d.ts +0 -12
  102. package/lib/shared/components/palette/case-link/domain/linked-cases-state.model.d.ts.map +0 -1
  103. package/lib/shared/components/palette/case-link/domain/linked-cases.model.d.ts +0 -65
  104. package/lib/shared/components/palette/case-link/domain/linked-cases.model.d.ts.map +0 -1
  105. package/lib/shared/components/palette/case-link/enums/index.d.ts +0 -2
  106. package/lib/shared/components/palette/case-link/enums/index.d.ts.map +0 -1
  107. package/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.d.ts +0 -29
  108. package/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.d.ts.map +0 -1
  109. package/lib/shared/components/palette/case-link/services/index.d.ts +0 -2
  110. package/lib/shared/components/palette/case-link/services/index.d.ts.map +0 -1
  111. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts +0 -50
  112. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts.map +0 -1
  113. package/lib/shared/components/palette/case-link/utils/validators.utils.d.ts +0 -10
  114. package/lib/shared/components/palette/case-link/utils/validators.utils.d.ts.map +0 -1
  115. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts +0 -11
  116. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts.map +0 -1
  117. package/lib/shared/pipes/link-cases-reason-code/index.d.ts +0 -2
  118. package/lib/shared/pipes/link-cases-reason-code/index.d.ts.map +0 -1
@@ -1,6 +1,3 @@
1
- export * from './components';
2
- export * from './domain';
3
- export * from './enums';
4
1
  export * from './read-case-link-field.component';
5
2
  export * from './write-case-link-field.component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWxpbmsvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vZG9tYWluJztcbmV4cG9ydCAqIGZyb20gJy4vZW51bXMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWFkLWNhc2UtbGluay1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi93cml0ZS1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50JztcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWxpbmsvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZWFkLWNhc2UtbGluay1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi93cml0ZS1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50JztcbiJdfQ==
@@ -1,10 +1,11 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { AbstractFieldReadComponent } from '../base-field/abstract-field-read.component';
3
- import { PaletteContext } from '../base-field/palette-context.enum';
4
3
  import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../../../pipes/case-reference/case-reference.pipe";
5
6
  function ReadCaseLinkFieldComponent_a_0_Template(rf, ctx) { if (rf & 1) {
6
- i0.ɵɵelementStart(0, "a", 2);
7
- i0.ɵɵelementStart(1, "span", 3);
7
+ i0.ɵɵelementStart(0, "a", 1);
8
+ i0.ɵɵelementStart(1, "span", 2);
8
9
  i0.ɵɵtext(2);
9
10
  i0.ɵɵpipe(3, "ccdCaseReference");
10
11
  i0.ɵɵelementEnd();
@@ -15,44 +16,23 @@ function ReadCaseLinkFieldComponent_a_0_Template(rf, ctx) { if (rf & 1) {
15
16
  i0.ɵɵadvance(2);
16
17
  i0.ɵɵtextInterpolate(ctx_r0.caseField.value.CaseReference ? i0.ɵɵpipeBind1(3, 2, ctx_r0.caseField.value.CaseReference) : "");
17
18
  } }
18
- function ReadCaseLinkFieldComponent_ng_container_1_Template(rf, ctx) { if (rf & 1) {
19
- i0.ɵɵelementContainerStart(0);
20
- i0.ɵɵelement(1, "ccd-read-linked-cases", 4);
21
- i0.ɵɵelementContainerEnd();
22
- } if (rf & 2) {
23
- const ctx_r1 = i0.ɵɵnextContext();
24
- i0.ɵɵadvance(1);
25
- i0.ɵɵproperty("caseField", ctx_r1.caseField);
26
- } }
27
19
  export class ReadCaseLinkFieldComponent extends AbstractFieldReadComponent {
28
- constructor() {
29
- super(...arguments);
30
- this.paletteContext = PaletteContext;
31
- }
32
20
  hasReference() {
33
21
  return this.caseField.value && this.caseField.value.CaseReference;
34
22
  }
35
- hasCaseLinkCollection() {
36
- return (this.caseField.field_type &&
37
- this.caseField.field_type.type === 'Collection' &&
38
- this.caseField.field_type.collection_field_type.id === 'CaseLink');
39
- }
40
23
  }
41
24
  ReadCaseLinkFieldComponent.ɵfac = function ReadCaseLinkFieldComponent_Factory(t) { return ɵReadCaseLinkFieldComponent_BaseFactory(t || ReadCaseLinkFieldComponent); };
42
- ReadCaseLinkFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ReadCaseLinkFieldComponent, selectors: [["ccd-read-case-link-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 2, consts: [["target", "_blank", 3, "href", 4, "ngIf"], [4, "ngIf"], ["target", "_blank", 3, "href"], [1, "text-16"], [3, "caseField"]], template: function ReadCaseLinkFieldComponent_Template(rf, ctx) { if (rf & 1) {
25
+ ReadCaseLinkFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ReadCaseLinkFieldComponent, selectors: [["ccd-read-case-link-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["target", "_blank", 3, "href", 4, "ngIf"], ["target", "_blank", 3, "href"], [1, "text-16"]], template: function ReadCaseLinkFieldComponent_Template(rf, ctx) { if (rf & 1) {
43
26
  i0.ɵɵtemplate(0, ReadCaseLinkFieldComponent_a_0_Template, 4, 4, "a", 0);
44
- i0.ɵɵtemplate(1, ReadCaseLinkFieldComponent_ng_container_1_Template, 2, 1, "ng-container", 1);
45
27
  } if (rf & 2) {
46
28
  i0.ɵɵproperty("ngIf", ctx.hasReference());
47
- i0.ɵɵadvance(1);
48
- i0.ɵɵproperty("ngIf", ctx.hasCaseLinkCollection());
49
- } }, encapsulation: 2 });
29
+ } }, directives: [i1.NgIf], pipes: [i2.CaseReferencePipe], encapsulation: 2 });
50
30
  const ɵReadCaseLinkFieldComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedFactory(ReadCaseLinkFieldComponent);
51
31
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadCaseLinkFieldComponent, [{
52
32
  type: Component,
53
33
  args: [{
54
34
  selector: 'ccd-read-case-link-field',
55
- templateUrl: 'read-case-link-field.html',
35
+ templateUrl: 'read-case-link-field.html'
56
36
  }]
57
37
  }], null, null); })();
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL3JlYWQtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay9yZWFkLWNhc2UtbGluay1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7SUNGcEUsNEJBQTRGO0lBQzFGLCtCQUFzQjtJQUFBLFlBQ2hCOztJQUFBLGlCQUFPO0lBQ2YsaUJBQUk7OztJQUhzQiwwR0FBaUQ7SUFDbkQsZUFDaEI7SUFEZ0IsNEhBQ2hCOzs7SUFFUiw2QkFBOEM7SUFDNUMsMkNBQXVFO0lBQ3pFLDBCQUFlOzs7SUFEVSxlQUF1QjtJQUF2Qiw0Q0FBdUI7O0FER2hELE1BQU0sT0FBTywwQkFBMkIsU0FBUSwwQkFBMEI7SUFKMUU7O1FBS1MsbUJBQWMsR0FBRyxjQUFjLENBQUM7S0FheEM7SUFYUSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBQ3BFLENBQUM7SUFFTSxxQkFBcUI7UUFDMUIsT0FBTyxDQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVTtZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssWUFBWTtZQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUNsRSxDQUFDO0lBQ0osQ0FBQzs7dUlBYlUsMEJBQTBCOytEQUExQiwwQkFBMEI7UUNSdkMsdUVBR0k7UUFDSiw2RkFFZTs7UUFOWCx5Q0FBb0I7UUFJVCxlQUE2QjtRQUE3QixrREFBNkI7O3VGREkvQiwwQkFBMEI7dUZBQTFCLDBCQUEwQjtjQUp0QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsV0FBVyxFQUFFLDJCQUEyQjthQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXJlYWQuY29tcG9uZW50JztcbmltcG9ydCB7IFBhbGV0dGVDb250ZXh0IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9wYWxldHRlLWNvbnRleHQuZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLWNhc2UtbGluay1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAncmVhZC1jYXNlLWxpbmstZmllbGQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlYWRDYXNlTGlua0ZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQge1xuICBwdWJsaWMgcGFsZXR0ZUNvbnRleHQgPSBQYWxldHRlQ29udGV4dDtcblxuICBwdWJsaWMgaGFzUmVmZXJlbmNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhc2VGaWVsZC52YWx1ZSAmJiB0aGlzLmNhc2VGaWVsZC52YWx1ZS5DYXNlUmVmZXJlbmNlO1xuICB9XG5cbiAgcHVibGljIGhhc0Nhc2VMaW5rQ29sbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZSAmJlxuICAgICAgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnQ29sbGVjdGlvbicgJiZcbiAgICAgIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLmlkID09PSAnQ2FzZUxpbmsnXG4gICAgKTtcbiAgfVxufVxuIiwiPGEgKm5nSWY9XCJoYXNSZWZlcmVuY2UoKVwiIGhyZWY9XCIvdjIvY2FzZS97e2Nhc2VGaWVsZC52YWx1ZS5DYXNlUmVmZXJlbmNlfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3tjYXNlRmllbGQudmFsdWUuQ2FzZVJlZmVyZW5jZSA/IChjYXNlRmllbGQudmFsdWUuQ2FzZVJlZmVyZW5jZSB8IGNjZENhc2VSZWZlcmVuY2UpIDpcbiAgICAnJ319PC9zcGFuPlxuPC9hPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0Nhc2VMaW5rQ29sbGVjdGlvbigpXCI+XG4gIDxjY2QtcmVhZC1saW5rZWQtY2FzZXMgW2Nhc2VGaWVsZF09XCJjYXNlRmllbGRcIj48L2NjZC1yZWFkLWxpbmtlZC1jYXNlcz5cbjwvbmctY29udGFpbmVyPiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL3JlYWQtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay9yZWFkLWNhc2UtbGluay1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7O0lDRHpGLDRCQUE0RjtJQUMxRiwrQkFBc0I7SUFBQSxZQUEyRjs7SUFBQSxpQkFBTztJQUMxSCxpQkFBSTs7O0lBRnNCLDBHQUFpRDtJQUNuRCxlQUEyRjtJQUEzRiw0SEFBMkY7O0FETW5ILE1BQU0sT0FBTywwQkFBMkIsU0FBUSwwQkFBMEI7SUFFakUsWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztJQUNwRSxDQUFDOzt1SUFKVSwwQkFBMEI7K0RBQTFCLDBCQUEwQjtRQ1B2Qyx1RUFFSTs7UUFGQSx5Q0FBb0I7O3VGRE9YLDBCQUEwQjt1RkFBMUIsMEJBQTBCO2NBSnRDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxXQUFXLEVBQUUsMkJBQTJCO2FBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtcmVhZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcmVhZC1jYXNlLWxpbmstZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJ3JlYWQtY2FzZS1saW5rLWZpZWxkLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFJlYWRDYXNlTGlua0ZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQge1xuXG4gIHB1YmxpYyBoYXNSZWZlcmVuY2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZUZpZWxkLnZhbHVlICYmIHRoaXMuY2FzZUZpZWxkLnZhbHVlLkNhc2VSZWZlcmVuY2U7XG4gIH1cbn1cbiIsIjxhICpuZ0lmPVwiaGFzUmVmZXJlbmNlKClcIiBocmVmPVwiL3YyL2Nhc2Uve3tjYXNlRmllbGQudmFsdWUuQ2FzZVJlZmVyZW5jZX19XCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7Y2FzZUZpZWxkLnZhbHVlLkNhc2VSZWZlcmVuY2UgPyAoY2FzZUZpZWxkLnZhbHVlLkNhc2VSZWZlcmVuY2UgfCBjY2RDYXNlUmVmZXJlbmNlKSA6ICcnfX08L3NwYW4+XG48L2E+XG4iXX0=
@@ -1,75 +1,57 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';
1
+ import { Component, ViewChild } from '@angular/core';
2
+ import { FormControl, FormGroup, Validators } from '@angular/forms';
3
3
  import { AbstractFieldWriteComponent } from '../base-field/abstract-field-write.component';
4
4
  import { WriteComplexFieldComponent } from '../complex/write-complex-field.component';
5
- import { LinkedCasesService } from './services';
6
5
  import * as i0 from "@angular/core";
7
- import * as i1 from "./services";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/forms";
8
+ import * as i3 from "../utils/field-label.pipe";
9
+ import * as i4 from "../utils/first-error.pipe";
8
10
  const _c0 = ["writeComplexFieldComponent"];
9
- function WriteCaseLinkFieldComponent_div_1_span_2_Template(rf, ctx) { if (rf & 1) {
11
+ function WriteCaseLinkFieldComponent_span_2_Template(rf, ctx) { if (rf & 1) {
10
12
  i0.ɵɵelementStart(0, "span", 6);
11
13
  i0.ɵɵtext(1);
12
14
  i0.ɵɵpipe(2, "ccdFieldLabel");
13
15
  i0.ɵɵelementEnd();
14
16
  } if (rf & 2) {
15
- const ctx_r2 = i0.ɵɵnextContext(2);
17
+ const ctx_r0 = i0.ɵɵnextContext();
16
18
  i0.ɵɵadvance(1);
17
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r2.caseField));
19
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r0.caseField));
18
20
  } }
19
- function WriteCaseLinkFieldComponent_div_1_span_3_Template(rf, ctx) { if (rf & 1) {
21
+ function WriteCaseLinkFieldComponent_span_3_Template(rf, ctx) { if (rf & 1) {
20
22
  i0.ɵɵelementStart(0, "span", 7);
21
23
  i0.ɵɵtext(1);
22
24
  i0.ɵɵelementEnd();
23
25
  } if (rf & 2) {
24
- const ctx_r3 = i0.ɵɵnextContext(2);
25
- i0.ɵɵadvance(1);
26
- i0.ɵɵtextInterpolate(ctx_r3.caseField.hint_text);
27
- } }
28
- function WriteCaseLinkFieldComponent_div_1_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵelementStart(0, "div", 1);
30
- i0.ɵɵelementStart(1, "label", 2);
31
- i0.ɵɵtemplate(2, WriteCaseLinkFieldComponent_div_1_span_2_Template, 3, 3, "span", 3);
32
- i0.ɵɵelementEnd();
33
- i0.ɵɵtemplate(3, WriteCaseLinkFieldComponent_div_1_span_3_Template, 2, 1, "span", 4);
34
- i0.ɵɵelement(4, "input", 5);
35
- i0.ɵɵelementEnd();
36
- } if (rf & 2) {
37
- const ctx_r0 = i0.ɵɵnextContext();
38
- i0.ɵɵadvance(1);
39
- i0.ɵɵproperty("for", ctx_r0.id());
40
- i0.ɵɵadvance(1);
41
- i0.ɵɵproperty("ngIf", ctx_r0.caseField.label);
42
- i0.ɵɵadvance(1);
43
- i0.ɵɵproperty("ngIf", ctx_r0.caseField.hint_text);
26
+ const ctx_r1 = i0.ɵɵnextContext();
44
27
  i0.ɵɵadvance(1);
45
- i0.ɵɵproperty("id", ctx_r0.id())("formControl", ctx_r0.caseReferenceControl);
28
+ i0.ɵɵtextInterpolate(ctx_r1.caseField.hint_text);
46
29
  } }
47
- function WriteCaseLinkFieldComponent_div_2_Template(rf, ctx) { if (rf & 1) {
48
- const _r5 = i0.ɵɵgetCurrentView();
49
- i0.ɵɵelementStart(0, "div", 1);
50
- i0.ɵɵelementStart(1, "ccd-write-linked-cases", 8);
51
- i0.ɵɵlistener("onLinkedCasesSelected", function WriteCaseLinkFieldComponent_div_2_Template_ccd_write_linked_cases_onLinkedCasesSelected_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return ctx_r4.submitLinkedCases(); });
52
- i0.ɵɵelementEnd();
30
+ function WriteCaseLinkFieldComponent_span_4_Template(rf, ctx) { if (rf & 1) {
31
+ i0.ɵɵelementStart(0, "span", 8);
32
+ i0.ɵɵtext(1);
33
+ i0.ɵɵpipe(2, "ccdFirstError");
53
34
  i0.ɵɵelementEnd();
54
35
  } if (rf & 2) {
55
- const ctx_r1 = i0.ɵɵnextContext();
36
+ const ctx_r2 = i0.ɵɵnextContext();
56
37
  i0.ɵɵadvance(1);
57
- i0.ɵɵproperty("caseFields", ctx_r1.caseFields)("caseField", ctx_r1.caseField)("formGroup", ctx_r1.formGroup)("isLinkedCasesJourney", ctx_r1.linkedCasesService.isLinkedCasesEventTrigger);
38
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r2.caseReferenceControl.errors, ctx_r2.caseField.label));
58
39
  } }
40
+ const _c1 = function (a0) { return { "form-group-error": a0 }; };
59
41
  export class WriteCaseLinkFieldComponent extends AbstractFieldWriteComponent {
60
- constructor(linkedCasesService) {
61
- super();
62
- this.linkedCasesService = linkedCasesService;
63
- this.caseFields = [];
64
- }
65
42
  ngOnInit() {
66
- this.formArray = this.registerControl(new FormArray([]), true);
67
- this.formArray['caseField'] = this.caseField;
68
- if (!this.hasCaseLinkCollection()) {
43
+ if (this.caseField.value) {
69
44
  this.caseLinkGroup = this.registerControl(new FormGroup({
70
45
  CaseReference: new FormControl(this.caseField.value.CaseReference, Validators.required),
71
46
  }), true);
72
47
  }
48
+ else {
49
+ this.caseLinkGroup = this.registerControl(new FormGroup({
50
+ CaseReference: new FormControl(null, Validators.required),
51
+ }), true);
52
+ }
53
+ this.caseReferenceControl = this.caseLinkGroup.controls['CaseReference'];
54
+ this.caseReferenceControl.setValidators(this.caseReferenceValidator());
73
55
  // Ensure that all sub-fields inherit the same value for retain_hidden_value as this parent; although a CaseLink
74
56
  // field uses the Complex type, it is meant to be treated as one field
75
57
  if (this.caseField && this.caseField.field_type.type === 'Complex') {
@@ -77,18 +59,22 @@ export class WriteCaseLinkFieldComponent extends AbstractFieldWriteComponent {
77
59
  caseLinkSubField.retain_hidden_value = this.caseField.retain_hidden_value;
78
60
  }
79
61
  }
80
- this.containsCaseLinkCollection = this.hasCaseLinkCollection();
81
62
  }
82
- submitLinkedCases() {
83
- const formGroup = this.formGroup;
84
- if (!this.linkedCasesService.isLinkedCasesEventTrigger) {
85
- const unlinkedCaseRefereneIds = this.linkedCasesService.linkedCases.filter(item => item.unlink).map(item => item.caseReference);
86
- this.formGroup.value.caseLinks = this.linkedCasesService.caseFieldValue
87
- .filter(item => unlinkedCaseRefereneIds.indexOf(item.id) === -1);
88
- }
89
- else if (formGroup.value && formGroup.value.caseLinks && this.linkedCasesService.linkedCases) {
90
- this.formGroup.value.caseLinks = this.linkedCasesService.caseFieldValue;
91
- }
63
+ caseReferenceValidator() {
64
+ return (control) => {
65
+ if (control.value) {
66
+ if (this.validCaseReference(control.value)) {
67
+ return null;
68
+ }
69
+ return { error: 'Please use a valid 16 Digit Case Reference' };
70
+ }
71
+ else {
72
+ if (control.touched) {
73
+ return { error: 'Please use a valid 16 Digit Case Reference' };
74
+ }
75
+ }
76
+ return null;
77
+ };
92
78
  }
93
79
  validCaseReference(valueString) {
94
80
  if (!valueString) {
@@ -96,41 +82,44 @@ export class WriteCaseLinkFieldComponent extends AbstractFieldWriteComponent {
96
82
  }
97
83
  return new RegExp('^\\b\\d{4}[ -]?\\d{4}[ -]?\\d{4}[ -]?\\d{4}\\b$').test(valueString.trim());
98
84
  }
99
- hasCaseLinkCollection() {
100
- return (this.caseField.field_type &&
101
- this.caseField.field_type.type === 'Collection' &&
102
- this.caseField.field_type.collection_field_type.id === 'CaseLink');
103
- }
104
85
  }
105
- WriteCaseLinkFieldComponent.ɵfac = function WriteCaseLinkFieldComponent_Factory(t) { return new (t || WriteCaseLinkFieldComponent)(i0.ɵɵdirectiveInject(i1.LinkedCasesService)); };
86
+ WriteCaseLinkFieldComponent.ɵfac = function WriteCaseLinkFieldComponent_Factory(t) { return ɵWriteCaseLinkFieldComponent_BaseFactory(t || WriteCaseLinkFieldComponent); };
106
87
  WriteCaseLinkFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteCaseLinkFieldComponent, selectors: [["ccd-write-case-link-field"]], viewQuery: function WriteCaseLinkFieldComponent_Query(rf, ctx) { if (rf & 1) {
107
88
  i0.ɵɵviewQuery(_c0, 1);
108
89
  } if (rf & 2) {
109
90
  let _t;
110
91
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.writeComplexFieldComponent = _t.first);
111
- } }, inputs: { caseFields: "caseFields", formGroup: "formGroup" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["class", "form-group", 4, "ngIf"], [1, "form-group"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["type", "text", 1, "form-control", "bottom-30", 3, "id", "formControl"], [1, "form-label"], [1, "form-hint"], [3, "caseFields", "caseField", "formGroup", "isLinkedCasesJourney", "onLinkedCasesSelected"]], template: function WriteCaseLinkFieldComponent_Template(rf, ctx) { if (rf & 1) {
112
- i0.ɵɵelementContainerStart(0);
113
- i0.ɵɵtemplate(1, WriteCaseLinkFieldComponent_div_1_Template, 5, 5, "div", 0);
114
- i0.ɵɵtemplate(2, WriteCaseLinkFieldComponent_div_2_Template, 2, 4, "div", 0);
115
- i0.ɵɵelementContainerEnd();
92
+ } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 9, consts: [[1, "form-group", 3, "ngClass"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], ["type", "text", 1, "form-control", "bottom-30", 3, "id", "formControl"], [1, "form-label"], [1, "form-hint"], [1, "error-message"]], template: function WriteCaseLinkFieldComponent_Template(rf, ctx) { if (rf & 1) {
93
+ i0.ɵɵelementStart(0, "div", 0);
94
+ i0.ɵɵelementStart(1, "label", 1);
95
+ i0.ɵɵtemplate(2, WriteCaseLinkFieldComponent_span_2_Template, 3, 3, "span", 2);
96
+ i0.ɵɵelementEnd();
97
+ i0.ɵɵtemplate(3, WriteCaseLinkFieldComponent_span_3_Template, 2, 1, "span", 3);
98
+ i0.ɵɵtemplate(4, WriteCaseLinkFieldComponent_span_4_Template, 3, 4, "span", 4);
99
+ i0.ɵɵelement(5, "input", 5);
100
+ i0.ɵɵelementEnd();
116
101
  } if (rf & 2) {
102
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1, !ctx.caseReferenceControl.valid && (ctx.caseReferenceControl.dirty || ctx.caseReferenceControl.touched)));
103
+ i0.ɵɵadvance(1);
104
+ i0.ɵɵproperty("for", ctx.id());
105
+ i0.ɵɵadvance(1);
106
+ i0.ɵɵproperty("ngIf", ctx.caseField.label);
107
+ i0.ɵɵadvance(1);
108
+ i0.ɵɵproperty("ngIf", ctx.caseField.hint_text);
117
109
  i0.ɵɵadvance(1);
118
- i0.ɵɵproperty("ngIf", !ctx.containsCaseLinkCollection);
110
+ i0.ɵɵproperty("ngIf", ctx.caseReferenceControl.errors && (ctx.caseReferenceControl.dirty || ctx.caseReferenceControl.touched));
119
111
  i0.ɵɵadvance(1);
120
- i0.ɵɵproperty("ngIf", ctx.containsCaseLinkCollection);
121
- } }, encapsulation: 2 });
112
+ i0.ɵɵproperty("id", ctx.id())("formControl", ctx.caseReferenceControl);
113
+ } }, directives: [i1.NgClass, i1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.FormControlDirective], pipes: [i3.FieldLabelPipe, i4.FirstErrorPipe], encapsulation: 2 });
114
+ const ɵWriteCaseLinkFieldComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInheritedFactory(WriteCaseLinkFieldComponent);
122
115
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteCaseLinkFieldComponent, [{
123
116
  type: Component,
124
117
  args: [{
125
118
  selector: 'ccd-write-case-link-field',
126
119
  templateUrl: 'write-case-link-field.html'
127
120
  }]
128
- }], function () { return [{ type: i1.LinkedCasesService }]; }, { caseFields: [{
129
- type: Input
130
- }], formGroup: [{
131
- type: Input
132
- }], writeComplexFieldComponent: [{
121
+ }], null, { writeComplexFieldComponent: [{
133
122
  type: ViewChild,
134
- args: ['writeComplexFieldComponent', /* TODO: add static flag */ {}]
123
+ args: ['writeComplexFieldComponent']
135
124
  }] }); })();
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay93cml0ZS1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL3dyaXRlLWNhc2UtbGluay1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQW1CLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7SUNGMUMsK0JBQWlEO0lBQUEsWUFBNkI7O0lBQUEsaUJBQU87OztJQUFwQyxlQUE2QjtJQUE3Qiw0REFBNkI7OztJQUVoRiwrQkFBb0Q7SUFBQSxZQUF1QjtJQUFBLGlCQUFPOzs7SUFBOUIsZUFBdUI7SUFBdkIsZ0RBQXVCOzs7SUFKN0UsOEJBQTREO0lBQzFELGdDQUFvQjtJQUNsQixvRkFBcUY7SUFDdkYsaUJBQVE7SUFDUixvRkFBa0Y7SUFDbEYsMkJBQW1HO0lBQ3JHLGlCQUFNOzs7SUFMRyxlQUFZO0lBQVosaUNBQVk7SUFDUyxlQUFxQjtJQUFyQiw2Q0FB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LEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFTSxxQkFBcUI7UUFDMUIsT0FBTyxDQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVTtZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssWUFBWTtZQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUNsRSxDQUFDO0lBQ0osQ0FBQzs7c0dBaEVVLDJCQUEyQjtnRUFBM0IsMkJBQTJCOzs7Ozs7UUNaeEMsNkJBQWM7UUFDWiw0RUFNTTtRQUNQLDRFQUdNO1FBQ1AsMEJBQWU7O1FBWFAsZUFBaUM7UUFBakMsc0RBQWlDO1FBT2YsZUFBZ0M7UUFBaEMscURBQWdDOzt1RkRJN0MsMkJBQTJCO2NBTHZDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxXQUFXLEVBQUUsNEJBQTRCO2FBQzFDO3FFQUtRLFVBQVU7a0JBRGhCLEtBQUs7WUFJQyxTQUFTO2tCQURmLEtBQUs7WUFVQywwQkFBMEI7a0JBRGhDLFNBQVM7bUJBQUMsNEJBQTRCLEVBQUUsMkJBQTJCLENBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC13cml0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgV3JpdGVDb21wbGV4RmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wbGV4L3dyaXRlLWNvbXBsZXgtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtY2FzZS1saW5rLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICd3cml0ZS1jYXNlLWxpbmstZmllbGQuaHRtbCdcbn0pXG5cbmV4cG9ydCBjbGFzcyBXcml0ZUNhc2VMaW5rRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmllbGRzOiBDYXNlRmllbGRbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBwdWJsaWMgZm9ybUFycmF5OiBGb3JtQXJyYXk7XG5cbiAgcHVibGljIGNhc2VSZWZlcmVuY2VDb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIHB1YmxpYyBjYXNlTGlua0dyb3VwOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBjb250YWluc0Nhc2VMaW5rQ29sbGVjdGlvbjogYm9vbGVhbjtcblxuICBAVmlld0NoaWxkKCd3cml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCcsIC8qIFRPRE86IGFkZCBzdGF0aWMgZmxhZyAqLyB7fSlcbiAgcHVibGljIHdyaXRlQ29tcGxleEZpZWxkQ29tcG9uZW50OiBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgbGlua2VkQ2FzZXNTZXJ2aWNlOiBMaW5rZWRDYXNlc1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUFycmF5ID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1BcnJheShbXSksIHRydWUpIGFzIEZvcm1BcnJheTtcbiAgICB0aGlzLmZvcm1BcnJheVsnY2FzZUZpZWxkJ10gPSB0aGlzLmNhc2VGaWVsZDtcblxuICAgIGlmICghdGhpcy5oYXNDYXNlTGlua0NvbGxlY3Rpb24oKSkge1xuICAgICAgdGhpcy5jYXNlTGlua0dyb3VwID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIENhc2VSZWZlcmVuY2U6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmNhc2VGaWVsZC52YWx1ZS5DYXNlUmVmZXJlbmNlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIH0pLCB0cnVlKSBhcyBGb3JtR3JvdXA7XG4gICAgfVxuICAgIC8vIEVuc3VyZSB0aGF0IGFsbCBzdWItZmllbGRzIGluaGVyaXQgdGhlIHNhbWUgdmFsdWUgZm9yIHJldGFpbl9oaWRkZW5fdmFsdWUgYXMgdGhpcyBwYXJlbnQ7IGFsdGhvdWdoIGEgQ2FzZUxpbmtcbiAgICAvLyBmaWVsZCB1c2VzIHRoZSBDb21wbGV4IHR5cGUsIGl0IGlzIG1lYW50IHRvIGJlIHRyZWF0ZWQgYXMgb25lIGZpZWxkXG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkICYmIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBsZXgnKSB7XG4gICAgICBmb3IgKGNvbnN0IGNhc2VMaW5rU3ViRmllbGQgb2YgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcykge1xuICAgICAgICBjYXNlTGlua1N1YkZpZWxkLnJldGFpbl9oaWRkZW5fdmFsdWUgPSB0aGlzLmNhc2VGaWVsZC5yZXRhaW5faGlkZGVuX3ZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNvbnRhaW5zQ2FzZUxpbmtDb2xsZWN0aW9uID0gdGhpcy5oYXNDYXNlTGlua0NvbGxlY3Rpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXRMaW5rZWRDYXNlcygpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtR3JvdXAgPSB0aGlzLmZvcm1Hcm91cDtcbiAgICBpZiAoIXRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIpIHtcbiAgICAgIGNvbnN0IHVubGlua2VkQ2FzZVJlZmVyZW5lSWRzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS51bmxpbmspLm1hcChpdGVtID0+IGl0ZW0uY2FzZVJlZmVyZW5jZSk7XG4gICAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZS5jYXNlTGlua3MgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoaXRlbSA9PiB1bmxpbmtlZENhc2VSZWZlcmVuZUlkcy5pbmRleE9mKGl0ZW0uaWQpID09PSAtMSk7XG4gICAgfSBlbHNlIGlmIChmb3JtR3JvdXAudmFsdWUgJiYgZm9ybUdyb3VwLnZhbHVlLmNhc2VMaW5rcyAmJiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcykge1xuICAgICAgdGhpcy5mb3JtR3JvdXAudmFsdWUuY2FzZUxpbmtzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHZhbGlkQ2FzZVJlZmVyZW5jZSh2YWx1ZVN0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCF2YWx1ZVN0cmluZykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFJlZ0V4cCgnXlxcXFxiXFxcXGR7NH1bIC1dP1xcXFxkezR9WyAtXT9cXFxcZHs0fVsgLV0/XFxcXGR7NH1cXFxcYiQnKS50ZXN0KHZhbHVlU3RyaW5nLnRyaW0oKSk7XG4gIH1cblxuICBwdWJsaWMgaGFzQ2FzZUxpbmtDb2xsZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlICYmXG4gICAgICB0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdDb2xsZWN0aW9uJyAmJlxuICAgICAgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUuaWQgPT09ICdDYXNlTGluaydcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8ZGl2ICpuZ0lmPVwiIWNvbnRhaW5zQ2FzZUxpbmtDb2xsZWN0aW9uXCIgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgPGxhYmVsIFtmb3JdPVwiaWQoKVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsXCIgKm5nSWY9XCJjYXNlRmllbGQubGFiZWxcIj57e2Nhc2VGaWVsZCB8IGNjZEZpZWxkTGFiZWx9fTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1oaW50XCIgKm5nSWY9XCJjYXNlRmllbGQuaGludF90ZXh0XCI+e3tjYXNlRmllbGQuaGludF90ZXh0fX08L3NwYW4+XG4gICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIGJvdHRvbS0zMFwiIFtpZF09XCJpZCgpXCIgdHlwZT1cInRleHRcIiBbZm9ybUNvbnRyb2xdPVwiY2FzZVJlZmVyZW5jZUNvbnRyb2xcIj5cbiAgPC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgKm5nSWY9XCJjb250YWluc0Nhc2VMaW5rQ29sbGVjdGlvblwiPlxuXHRcdDxjY2Qtd3JpdGUtbGlua2VkLWNhc2VzIFtjYXNlRmllbGRzXT1cImNhc2VGaWVsZHNcIiBbY2FzZUZpZWxkXT1cImNhc2VGaWVsZFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICAgICAgICAgIChvbkxpbmtlZENhc2VzU2VsZWN0ZWQpPVwic3VibWl0TGlua2VkQ2FzZXMoKTtcIiBbaXNMaW5rZWRDYXNlc0pvdXJuZXldPVwibGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJcIj48L2NjZC13cml0ZS1saW5rZWQtY2FzZXM+XG5cdDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay93cml0ZS1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL3dyaXRlLWNhc2UtbGluay1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBbUIsV0FBVyxFQUFFLFNBQVMsRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7SUNGbEYsK0JBQWlEO0lBQUEsWUFBNkI7O0lBQUEsaUJBQU87OztJQUFwQyxlQUE2QjtJQUE3Qiw0REFBNkI7OztJQUVoRiwrQkFBb0Q7SUFBQSxZQUF1QjtJQUFBLGlCQUFPOzs7SUFBOUIsZUFBdUI7SUFBdkIsZ0RBQXVCOzs7SUFDM0UsK0JBQWdJO0lBQUEsWUFBK0Q7O0lBQUEsaUJBQU87OztJQUF0RSxlQUErRDtJQUEvRCxzR0FBK0Q7OztBREtqTSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsMkJBQTJCO0lBUW5FLFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLFNBQVMsQ0FBQztnQkFDdEQsYUFBYSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO2FBQ3hGLENBQUMsRUFBRSxJQUFJLENBQWMsQ0FBQztTQUN4QjthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksU0FBUyxDQUFDO2dCQUN0RCxhQUFhLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7YUFDMUQsQ0FBQyxFQUFFLElBQUksQ0FBYyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQztRQUV2RSxnSEFBZ0g7UUFDaEgsc0VBQXNFO1FBQ3RFLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQ2xFLEtBQUssTUFBTSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZFLGdCQUFnQixDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUM7YUFDM0U7U0FDRjtJQUNILENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsT0FBTyxDQUFDLE9BQXdCLEVBQTBCLEVBQUU7WUFDMUQsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO2dCQUNqQixJQUFLLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUc7b0JBQzVDLE9BQU8sSUFBSSxDQUFDO2lCQUNiO2dCQUNELE9BQU8sRUFBQyxLQUFLLEVBQUUsNENBQTRDLEVBQUMsQ0FBQzthQUM5RDtpQkFBTTtnQkFDTCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7b0JBQ25CLE9BQU8sRUFBQyxLQUFLLEVBQUUsNENBQTRDLEVBQUMsQ0FBQztpQkFDOUQ7YUFDRjtZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVPLGtCQUFrQixDQUFDLFdBQW1CO1FBQzVDLElBQUksQ0FBQyxXQUFXLEVBQUk7WUFDbEIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxNQUFNLENBQUMsaURBQWlELENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEcsQ0FBQzs7MElBbkRVLDJCQUEyQjtnRUFBM0IsMkJBQTJCOzs7Ozs7UUNWeEMsOEJBQXNKO1FBQ3BKLGdDQUFvQjtRQUNsQiw4RUFBcUY7UUFDdkYsaUJBQVE7UUFDUiw4RUFBa0Y7UUFDbEYsOEVBQXNNO1FBQ3RNLDJCQUFtRztRQUNyRyxpQkFBTTs7UUFQa0IsNkpBQTZIO1FBQzVJLGVBQVk7UUFBWiw4QkFBWTtRQUNTLGVBQXFCO1FBQXJCLDBDQUFxQjtRQUV4QixlQUF5QjtRQUF6Qiw4Q0FBeUI7UUFDckIsZUFBaUc7UUFBakcsOEhBQWlHO1FBQ3hGLGVBQVc7UUFBWCw2QkFBVyx5Q0FBQTs7d0ZESXRDLDJCQUEyQjt1RkFBM0IsMkJBQTJCO2NBSnZDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxXQUFXLEVBQUUsNEJBQTRCO2FBQzFDO2dCQU9RLDBCQUEwQjtrQkFEaEMsU0FBUzttQkFBQyw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXdyaXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBsZXgvd3JpdGUtY29tcGxleC1maWVsZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtY2FzZS1saW5rLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICd3cml0ZS1jYXNlLWxpbmstZmllbGQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVDYXNlTGlua0ZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgY2FzZVJlZmVyZW5jZUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgcHVibGljIGNhc2VMaW5rR3JvdXA6IEZvcm1Hcm91cDtcblxuICBAVmlld0NoaWxkKCd3cml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCcpXG4gIHB1YmxpYyB3cml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudDogV3JpdGVDb21wbGV4RmllbGRDb21wb25lbnQ7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhc2VGaWVsZC52YWx1ZSkge1xuICAgICAgdGhpcy5jYXNlTGlua0dyb3VwID0gdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIENhc2VSZWZlcmVuY2U6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmNhc2VGaWVsZC52YWx1ZS5DYXNlUmVmZXJlbmNlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIH0pLCB0cnVlKSBhcyBGb3JtR3JvdXA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FzZUxpbmtHcm91cCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBDYXNlUmVmZXJlbmNlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICB9KSwgdHJ1ZSkgYXMgRm9ybUdyb3VwO1xuICAgIH1cbiAgICB0aGlzLmNhc2VSZWZlcmVuY2VDb250cm9sID0gdGhpcy5jYXNlTGlua0dyb3VwLmNvbnRyb2xzWydDYXNlUmVmZXJlbmNlJ107XG4gICAgdGhpcy5jYXNlUmVmZXJlbmNlQ29udHJvbC5zZXRWYWxpZGF0b3JzKHRoaXMuY2FzZVJlZmVyZW5jZVZhbGlkYXRvcigpKTtcblxuICAgIC8vIEVuc3VyZSB0aGF0IGFsbCBzdWItZmllbGRzIGluaGVyaXQgdGhlIHNhbWUgdmFsdWUgZm9yIHJldGFpbl9oaWRkZW5fdmFsdWUgYXMgdGhpcyBwYXJlbnQ7IGFsdGhvdWdoIGEgQ2FzZUxpbmtcbiAgICAvLyBmaWVsZCB1c2VzIHRoZSBDb21wbGV4IHR5cGUsIGl0IGlzIG1lYW50IHRvIGJlIHRyZWF0ZWQgYXMgb25lIGZpZWxkXG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkICYmIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBsZXgnKSB7XG4gICAgICBmb3IgKGNvbnN0IGNhc2VMaW5rU3ViRmllbGQgb2YgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcykge1xuICAgICAgICBjYXNlTGlua1N1YkZpZWxkLnJldGFpbl9oaWRkZW5fdmFsdWUgPSB0aGlzLmNhc2VGaWVsZC5yZXRhaW5faGlkZGVuX3ZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2FzZVJlZmVyZW5jZVZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcbiAgICAgIGlmIChjb250cm9sLnZhbHVlKSB7XG4gICAgICAgIGlmICggdGhpcy52YWxpZENhc2VSZWZlcmVuY2UoY29udHJvbC52YWx1ZSkgKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtlcnJvcjogJ1BsZWFzZSB1c2UgYSB2YWxpZCAxNiBEaWdpdCBDYXNlIFJlZmVyZW5jZSd9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGNvbnRyb2wudG91Y2hlZCkge1xuICAgICAgICAgIHJldHVybiB7ZXJyb3I6ICdQbGVhc2UgdXNlIGEgdmFsaWQgMTYgRGlnaXQgQ2FzZSBSZWZlcmVuY2UnfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRDYXNlUmVmZXJlbmNlKHZhbHVlU3RyaW5nOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIXZhbHVlU3RyaW5nICkgIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoJ15cXFxcYlxcXFxkezR9WyAtXT9cXFxcZHs0fVsgLV0/XFxcXGR7NH1bIC1dP1xcXFxkezR9XFxcXGIkJykudGVzdCh2YWx1ZVN0cmluZy50cmltKCkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6ICFjYXNlUmVmZXJlbmNlQ29udHJvbC52YWxpZCAmJiAoY2FzZVJlZmVyZW5jZUNvbnRyb2wuZGlydHkgfHwgY2FzZVJlZmVyZW5jZUNvbnRyb2wudG91Y2hlZCl9XCI+XG4gIDxsYWJlbCBbZm9yXT1cImlkKClcIj5cbiAgICA8c3BhbiBjbGFzcz1cImZvcm0tbGFiZWxcIiAqbmdJZj1cImNhc2VGaWVsZC5sYWJlbFwiPnt7Y2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbH19PC9zcGFuPlxuICA8L2xhYmVsPlxuICA8c3BhbiBjbGFzcz1cImZvcm0taGludFwiICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiPnt7Y2FzZUZpZWxkLmhpbnRfdGV4dH19PC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImNhc2VSZWZlcmVuY2VDb250cm9sLmVycm9ycyAmJiAoY2FzZVJlZmVyZW5jZUNvbnRyb2wuZGlydHkgfHwgY2FzZVJlZmVyZW5jZUNvbnRyb2wudG91Y2hlZClcIj57e2Nhc2VSZWZlcmVuY2VDb250cm9sLmVycm9ycyB8IGNjZEZpcnN0RXJyb3I6Y2FzZUZpZWxkLmxhYmVsfX08L3NwYW4+XG4gIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBib3R0b20tMzBcIiBbaWRdPVwiaWQoKVwiIHR5cGU9XCJ0ZXh0XCIgW2Zvcm1Db250cm9sXT1cImNhc2VSZWZlcmVuY2VDb250cm9sXCI+XG48L2Rpdj5cbiJdfQ==