@wavemaker/app-ng-runtime 11.10.3-next.25128 → 11.10.3-rc.6079

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 (155) hide show
  1. package/components/basic/default/bundles/index.umd.js +68 -68
  2. package/components/basic/default/esm2022/anchor/anchor.component.mjs +18 -18
  3. package/components/basic/default/esm2022/icon/icon.component.mjs +13 -12
  4. package/components/basic/default/esm2022/iframe/iframe.component.mjs +10 -9
  5. package/components/basic/default/esm2022/spinner/spinner.component.mjs +21 -21
  6. package/components/basic/default/esm2022/video/video.component.mjs +15 -14
  7. package/components/basic/default/fesm2022/index.mjs +68 -68
  8. package/components/basic/default/fesm2022/index.mjs.map +1 -1
  9. package/components/basic/progress/bundles/index.umd.js +17 -16
  10. package/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +8 -7
  11. package/components/basic/progress/fesm2022/index.mjs +9 -8
  12. package/components/basic/progress/fesm2022/index.mjs.map +1 -1
  13. package/components/basic/rich-text-editor/bundles/index.umd.js +12 -11
  14. package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +9 -8
  15. package/components/basic/rich-text-editor/fesm2022/index.mjs +8 -7
  16. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  17. package/components/basic/search/bundles/index.umd.js +67 -63
  18. package/components/basic/search/esm2022/search.component.mjs +67 -63
  19. package/components/basic/search/esm2022/search.module.mjs +2 -2
  20. package/components/basic/search/fesm2022/index.mjs +67 -63
  21. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  22. package/components/chart/bundles/index.umd.js +17 -17
  23. package/components/chart/esm2022/chart.component.mjs +18 -18
  24. package/components/chart/fesm2022/index.mjs +17 -17
  25. package/components/chart/fesm2022/index.mjs.map +1 -1
  26. package/components/containers/panel/bundles/index.umd.js +39 -39
  27. package/components/containers/panel/esm2022/panel.component.mjs +40 -40
  28. package/components/containers/panel/fesm2022/index.mjs +39 -39
  29. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  30. package/components/containers/tabs/bundles/index.umd.js +29 -29
  31. package/components/containers/tabs/esm2022/tabs.component.mjs +30 -30
  32. package/components/containers/tabs/fesm2022/index.mjs +29 -29
  33. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  34. package/components/containers/wizard/bundles/index.umd.js +49 -49
  35. package/components/containers/wizard/esm2022/wizard.component.mjs +50 -50
  36. package/components/containers/wizard/fesm2022/index.mjs +49 -49
  37. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  38. package/components/data/card/bundles/index.umd.js +29 -29
  39. package/components/data/card/esm2022/card.component.mjs +30 -30
  40. package/components/data/card/fesm2022/index.mjs +29 -29
  41. package/components/data/card/fesm2022/index.mjs.map +1 -1
  42. package/components/data/form/bundles/index.umd.js +96 -91
  43. package/components/data/form/esm2022/form.component.mjs +97 -92
  44. package/components/data/form/fesm2022/index.mjs +96 -91
  45. package/components/data/form/fesm2022/index.mjs.map +1 -1
  46. package/components/data/list/bundles/index.umd.js +173 -171
  47. package/components/data/list/esm2022/list.component.mjs +173 -171
  48. package/components/data/list/esm2022/list.module.mjs +2 -2
  49. package/components/data/list/fesm2022/index.mjs +173 -171
  50. package/components/data/list/fesm2022/index.mjs.map +1 -1
  51. package/components/data/pagination/bundles/index.umd.js +32 -32
  52. package/components/data/pagination/esm2022/pagination.component.mjs +33 -33
  53. package/components/data/pagination/fesm2022/index.mjs +32 -32
  54. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  55. package/components/data/table/bundles/index.umd.js +38 -39
  56. package/components/data/table/esm2022/table.component.mjs +39 -40
  57. package/components/data/table/fesm2022/index.mjs +38 -39
  58. package/components/data/table/fesm2022/index.mjs.map +1 -1
  59. package/components/dialogs/default/bundles/index.umd.js +95 -66
  60. package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +96 -67
  61. package/components/dialogs/default/fesm2022/index.mjs +95 -66
  62. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  63. package/components/dialogs/design-dialog/bundles/index.umd.js +7 -7
  64. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +8 -8
  65. package/components/dialogs/design-dialog/fesm2022/index.mjs +7 -7
  66. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  67. package/components/dialogs/iframe-dialog/bundles/index.umd.js +25 -24
  68. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +16 -15
  69. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +15 -14
  70. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  71. package/components/dialogs/partial-dialog/bundles/index.umd.js +8 -8
  72. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +9 -9
  73. package/components/dialogs/partial-dialog/fesm2022/index.mjs +8 -8
  74. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  75. package/components/input/chips/bundles/index.umd.js +21 -21
  76. package/components/input/chips/esm2022/chips.component.mjs +22 -22
  77. package/components/input/chips/fesm2022/index.mjs +21 -21
  78. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  79. package/components/input/default/bundles/index.umd.js +209 -201
  80. package/components/input/default/esm2022/button/button.component.mjs +18 -18
  81. package/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +69 -68
  82. package/components/input/default/esm2022/radioset/radioset.component.mjs +69 -68
  83. package/components/input/default/esm2022/select/select.component.mjs +27 -21
  84. package/components/input/default/esm2022/switch/switch.component.mjs +24 -24
  85. package/components/input/default/esm2022/textarea/textarea.component.mjs +8 -8
  86. package/components/input/default/fesm2022/index.mjs +209 -201
  87. package/components/input/default/fesm2022/index.mjs.map +1 -1
  88. package/components/input/epoch/bundles/index.umd.js +164 -171
  89. package/components/input/epoch/esm2022/date/date.component.mjs +15 -14
  90. package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +59 -64
  91. package/components/input/epoch/esm2022/date-time/date-time.component.mjs +19 -18
  92. package/components/input/epoch/esm2022/picker/picker.component.mjs +25 -26
  93. package/components/input/epoch/esm2022/time/time.component.mjs +18 -17
  94. package/components/input/epoch/fesm2022/index.mjs +117 -124
  95. package/components/input/epoch/fesm2022/index.mjs.map +1 -1
  96. package/components/input/file-upload/bundles/index.umd.js +114 -111
  97. package/components/input/file-upload/esm2022/file-upload.component.mjs +115 -112
  98. package/components/input/file-upload/fesm2022/index.mjs +114 -111
  99. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  100. package/components/input/rating/bundles/index.umd.js +14 -14
  101. package/components/input/rating/esm2022/rating.component.mjs +15 -15
  102. package/components/input/rating/fesm2022/index.mjs +14 -14
  103. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  104. package/components/input/slider/bundles/index.umd.js +40 -39
  105. package/components/input/slider/esm2022/slider.component.mjs +11 -10
  106. package/components/input/slider/fesm2022/index.mjs +10 -9
  107. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  108. package/components/navigation/breadcrumb/bundles/index.umd.js +15 -16
  109. package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +16 -17
  110. package/components/navigation/breadcrumb/fesm2022/index.mjs +15 -16
  111. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  112. package/components/navigation/menu/bundles/index.umd.js +71 -69
  113. package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +7 -7
  114. package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +15 -15
  115. package/components/navigation/menu/esm2022/menu.component.mjs +26 -22
  116. package/components/navigation/menu/esm2022/menu.module.mjs +4 -4
  117. package/components/navigation/menu/esm2022/nav/nav.component.mjs +24 -26
  118. package/components/navigation/menu/fesm2022/index.mjs +71 -69
  119. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  120. package/components/navigation/navbar/bundles/index.umd.js +12 -12
  121. package/components/navigation/navbar/esm2022/navbar.component.mjs +13 -13
  122. package/components/navigation/navbar/fesm2022/index.mjs +12 -12
  123. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  124. package/mobile/components/basic/default/bundles/index.umd.js +111 -102
  125. package/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +40 -39
  126. package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +44 -35
  127. package/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +28 -27
  128. package/mobile/components/basic/default/fesm2022/index.mjs +107 -98
  129. package/mobile/components/basic/default/fesm2022/index.mjs.map +1 -1
  130. package/mobile/components/containers/segmented-control/bundles/index.umd.js +16 -16
  131. package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +9 -8
  132. package/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +10 -10
  133. package/mobile/components/containers/segmented-control/fesm2022/index.mjs +16 -16
  134. package/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +1 -1
  135. package/mobile/components/data/media-list/bundles/index.umd.js +28 -28
  136. package/mobile/components/data/media-list/esm2022/media-list.component.mjs +29 -29
  137. package/mobile/components/data/media-list/fesm2022/index.mjs +28 -28
  138. package/mobile/components/data/media-list/fesm2022/index.mjs.map +1 -1
  139. package/mobile/components/page/mobile-navbar/bundles/index.umd.js +29 -29
  140. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +30 -30
  141. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs +29 -29
  142. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +1 -1
  143. package/mobile/components/page/tab-bar/bundles/index.umd.js +28 -28
  144. package/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +29 -29
  145. package/mobile/components/page/tab-bar/fesm2022/index.mjs +28 -28
  146. package/mobile/components/page/tab-bar/fesm2022/index.mjs.map +1 -1
  147. package/npm-shrinkwrap.json +2 -2
  148. package/package-lock.json +2 -2
  149. package/package.json +1 -1
  150. package/runtime/base/bundles/index.umd.js +215 -219
  151. package/runtime/base/esm2022/components/app-component/app.component.mjs +41 -38
  152. package/runtime/base/esm2022/components/app-spinner.component.mjs +21 -25
  153. package/runtime/base/esm2022/components/custom-toaster.component.mjs +16 -18
  154. package/runtime/base/fesm2022/index.mjs +95 -99
  155. package/runtime/base/fesm2022/index.mjs.map +1 -1
@@ -7,11 +7,11 @@ import * as i1 from "@angular/common";
7
7
  import * as i2 from "@wm/components/basic/progress";
8
8
  const _c0 = ["wmProcessManager", ""];
9
9
  const _c1 = a0 => ({ instance: a0 });
10
- function ProcessManagerComponent_Conditional_0_For_4_ng_template_8_Template(rf, ctx) { }
11
- function ProcessManagerComponent_Conditional_0_For_4_Conditional_9_Template(rf, ctx) { if (rf & 1) {
10
+ function ProcessManagerComponent_ng_container_0_li_4_ng_template_8_Template(rf, ctx) { }
11
+ function ProcessManagerComponent_ng_container_0_li_4_button_9_Template(rf, ctx) { if (rf & 1) {
12
12
  const _r1 = i0.ɵɵgetCurrentView();
13
- i0.ɵɵelementStart(0, "button", 13);
14
- i0.ɵɵlistener("click", function ProcessManagerComponent_Conditional_0_For_4_Conditional_9_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const instance_r2 = i0.ɵɵnextContext().$implicit; return i0.ɵɵresetView(instance_r2.onStop()); });
13
+ i0.ɵɵelementStart(0, "button", 16);
14
+ i0.ɵɵlistener("click", function ProcessManagerComponent_ng_container_0_li_4_button_9_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const instance_r2 = i0.ɵɵnextContext().$implicit; return i0.ɵɵresetView(instance_r2.onStop()); });
15
15
  i0.ɵɵtext(1);
16
16
  i0.ɵɵelementEnd();
17
17
  } if (rf & 2) {
@@ -19,15 +19,15 @@ function ProcessManagerComponent_Conditional_0_For_4_Conditional_9_Template(rf,
19
19
  i0.ɵɵadvance();
20
20
  i0.ɵɵtextInterpolate1(" ", instance_r2.stopButtonLabel, " ");
21
21
  } }
22
- function ProcessManagerComponent_Conditional_0_For_4_Template(rf, ctx) { if (rf & 1) {
23
- i0.ɵɵelementStart(0, "li", 4)(1, "div", 5)(2, "div", 6)(3, "label", 7);
22
+ function ProcessManagerComponent_ng_container_0_li_4_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵelementStart(0, "li", 7)(1, "div", 8)(2, "div", 9)(3, "label", 10);
24
24
  i0.ɵɵtext(4);
25
25
  i0.ɵɵelementEnd()();
26
- i0.ɵɵelementStart(5, "div", 8)(6, "label", 9);
26
+ i0.ɵɵelementStart(5, "div", 11)(6, "label", 12);
27
27
  i0.ɵɵtext(7);
28
28
  i0.ɵɵelementEnd()()();
29
- i0.ɵɵtemplate(8, ProcessManagerComponent_Conditional_0_For_4_ng_template_8_Template, 0, 0, "ng-template", 10)(9, ProcessManagerComponent_Conditional_0_For_4_Conditional_9_Template, 2, 1, "button", 11);
30
- i0.ɵɵelement(10, "div", 12);
29
+ i0.ɵɵtemplate(8, ProcessManagerComponent_ng_container_0_li_4_ng_template_8_Template, 0, 0, "ng-template", 13)(9, ProcessManagerComponent_ng_container_0_li_4_button_9_Template, 2, 1, "button", 14);
30
+ i0.ɵɵelement(10, "div", 15);
31
31
  i0.ɵɵelementEnd();
32
32
  } if (rf & 2) {
33
33
  const instance_r2 = ctx.$implicit;
@@ -40,10 +40,10 @@ function ProcessManagerComponent_Conditional_0_For_4_Template(rf, ctx) { if (rf
40
40
  i0.ɵɵadvance();
41
41
  i0.ɵɵproperty("ngTemplateOutlet", progressTemplate_r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(5, _c1, instance_r2));
42
42
  i0.ɵɵadvance();
43
- i0.ɵɵconditional(instance_r2.onStop ? 9 : -1);
43
+ i0.ɵɵproperty("ngIf", instance_r2.onStop);
44
44
  } }
45
- function ProcessManagerComponent_Conditional_0_Conditional_5_Template(rf, ctx) { if (rf & 1) {
46
- i0.ɵɵelementStart(0, "li", 4)(1, "label", 14);
45
+ function ProcessManagerComponent_ng_container_0_li_5_Template(rf, ctx) { if (rf & 1) {
46
+ i0.ɵɵelementStart(0, "li", 7)(1, "label", 17);
47
47
  i0.ɵɵtext(2);
48
48
  i0.ɵɵelementEnd()();
49
49
  } if (rf & 2) {
@@ -51,20 +51,21 @@ function ProcessManagerComponent_Conditional_0_Conditional_5_Template(rf, ctx) {
51
51
  i0.ɵɵadvance(2);
52
52
  i0.ɵɵtextInterpolate1(" (", ctx_r3.queue.length, ") queued ");
53
53
  } }
54
- function ProcessManagerComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
55
- i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "ul", 3);
56
- i0.ɵɵrepeaterCreate(3, ProcessManagerComponent_Conditional_0_For_4_Template, 11, 7, "li", 4, i0.ɵɵrepeaterTrackByIdentity);
57
- i0.ɵɵtemplate(5, ProcessManagerComponent_Conditional_0_Conditional_5_Template, 3, 1, "li", 4);
54
+ function ProcessManagerComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
55
+ i0.ɵɵelementContainerStart(0);
56
+ i0.ɵɵelementStart(1, "div", 2)(2, "div", 3)(3, "ul", 4);
57
+ i0.ɵɵtemplate(4, ProcessManagerComponent_ng_container_0_li_4_Template, 11, 7, "li", 5)(5, ProcessManagerComponent_ng_container_0_li_5_Template, 3, 1, "li", 6);
58
58
  i0.ɵɵelementEnd()()();
59
+ i0.ɵɵelementContainerEnd();
59
60
  } if (rf & 2) {
60
61
  const ctx_r3 = i0.ɵɵnextContext();
61
- i0.ɵɵadvance(3);
62
- i0.ɵɵrepeater(ctx_r3.getVisibleInstances(ctx_r3.instances));
63
- i0.ɵɵadvance(2);
64
- i0.ɵɵconditional(ctx_r3.queue.length > 0 ? 5 : -1);
62
+ i0.ɵɵadvance(4);
63
+ i0.ɵɵproperty("ngForOf", ctx_r3.getVisibleInstances(ctx_r3.instances));
64
+ i0.ɵɵadvance();
65
+ i0.ɵɵproperty("ngIf", ctx_r3.queue.length > 0);
65
66
  } }
66
67
  function ProcessManagerComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
67
- i0.ɵɵelement(0, "div", 15);
68
+ i0.ɵɵelement(0, "div", 18);
68
69
  } }
69
70
  const MAX_PROCESS = 3;
70
71
  export class ProcessManagerComponent {
@@ -158,17 +159,17 @@ export class ProcessManagerComponent {
158
159
  static { this.ɵfac = function ProcessManagerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ProcessManagerComponent)(i0.ɵɵdirectiveInject(i0.ElementRef)); }; }
159
160
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProcessManagerComponent, selectors: [["", "wmProcessManager", ""]], features: [i0.ɵɵProvidersFeature([
160
161
  provideAsWidgetRef(ProcessManagerComponent)
161
- ])], attrs: _c0, decls: 3, vars: 1, consts: [["progressTemplate", ""], [1, "modal-dialog", "app-dialog"], [1, "modal-content"], [1, "instance-list", "list-unstyled"], [1, "instance-list-item"], [1, "row"], [1, "col-xs-8"], [1, "app-global-progress-bar-name", "h6"], [1, "col-xs-4", "app-global-progress-bar-progress-label-col"], [1, "app-global-progress-bar-progress-label", "h6"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "btn", "btn-secondary", "pull-right", "stop-btn"], [2, "clear", "both"], [1, "btn", "btn-secondary", "pull-right", "stop-btn", 3, "click"], [1, "global-progress-bar-ui-primary-label", "h6"], ["wmProgressBar", "", "minvalue.bind", "instance.min", "maxvalue.bind", "instance.max", "datavalue.bind", "instance.value"]], template: function ProcessManagerComponent_Template(rf, ctx) { if (rf & 1) {
162
- i0.ɵɵtemplate(0, ProcessManagerComponent_Conditional_0_Template, 6, 1, "div", 1)(1, ProcessManagerComponent_ng_template_1_Template, 1, 0, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
162
+ ])], attrs: _c0, decls: 3, vars: 1, consts: [["progressTemplate", ""], [4, "ngIf"], [1, "modal-dialog", "app-dialog"], [1, "modal-content"], [1, "instance-list", "list-unstyled"], ["class", "instance-list-item", 4, "ngFor", "ngForOf"], ["class", "instance-list-item", 4, "ngIf"], [1, "instance-list-item"], [1, "row"], [1, "col-xs-8"], [1, "app-global-progress-bar-name", "h6"], [1, "col-xs-4", "app-global-progress-bar-progress-label-col"], [1, "app-global-progress-bar-progress-label", "h6"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "btn btn-secondary pull-right stop-btn", 3, "click", 4, "ngIf"], [2, "clear", "both"], [1, "btn", "btn-secondary", "pull-right", "stop-btn", 3, "click"], [1, "global-progress-bar-ui-primary-label", "h6"], ["wmProgressBar", "", "minvalue.bind", "instance.min", "maxvalue.bind", "instance.max", "datavalue.bind", "instance.value"]], template: function ProcessManagerComponent_Template(rf, ctx) { if (rf & 1) {
163
+ i0.ɵɵtemplate(0, ProcessManagerComponent_ng_container_0_Template, 6, 2, "ng-container", 1)(1, ProcessManagerComponent_ng_template_1_Template, 1, 0, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
163
164
  } if (rf & 2) {
164
- i0.ɵɵconditional(ctx.instances.length > 0 ? 0 : -1);
165
- } }, dependencies: [i1.NgTemplateOutlet, i2.ProgressBarComponent], encapsulation: 2 }); }
165
+ i0.ɵɵproperty("ngIf", ctx.instances.length > 0);
166
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i2.ProgressBarComponent], encapsulation: 2 }); }
166
167
  }
167
168
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProcessManagerComponent, [{
168
169
  type: Component,
169
170
  args: [{ selector: '[wmProcessManager]', providers: [
170
171
  provideAsWidgetRef(ProcessManagerComponent)
171
- ], template: "@if (instances.length > 0) {\n <div class=\"modal-dialog app-dialog\">\n <div class=\"modal-content\">\n <ul class=\"instance-list list-unstyled\">\n @for (instance of getVisibleInstances(instances); track instance; let i = $index) {\n <li class=\"instance-list-item\">\n <div class=\"row\">\n <div class=\"col-xs-8\">\n <label class=\"app-global-progress-bar-name h6\">{{instance.name}}</label>\n </div>\n <div class=\"col-xs-4 app-global-progress-bar-progress-label-col\">\n <label class=\"app-global-progress-bar-progress-label h6\">\n {{instance.progressLabel}}</label>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"progressTemplate\" [ngTemplateOutletContext]=\"{instance: instance}\"></ng-template>\n @if (instance.onStop) {\n <button class=\"btn btn-secondary pull-right stop-btn\" (click)=\"instance.onStop();\">\n {{instance.stopButtonLabel}}\n </button>\n }\n <div style=\"clear: both;\"></div>\n </li>\n }\n @if (queue.length > 0) {\n <li class=\"instance-list-item\">\n <label class=\"global-progress-bar-ui-primary-label h6\">\n ({{queue.length}}) queued\n </label>\n </li>\n }\n </ul>\n </div>\n </div>\n}\n<ng-template #progressTemplate let-instance=\"instance\">\n <div wmProgressBar minvalue.bind=\"instance.min\" maxvalue.bind=\"instance.max\" datavalue.bind=\"instance.value\"></div>\n</ng-template>" }]
172
+ ], template: "<ng-container *ngIf=\"instances.length > 0\">\n <div class=\"modal-dialog app-dialog\">\n <div class=\"modal-content\">\n <ul class=\"instance-list list-unstyled\">\n <li *ngFor=\"let instance of getVisibleInstances(instances); index as i\" class=\"instance-list-item\">\n <div class=\"row\">\n <div class=\"col-xs-8\">\n <label class=\"app-global-progress-bar-name h6\">{{instance.name}}</label>\n </div>\n <div class=\"col-xs-4 app-global-progress-bar-progress-label-col\">\n <label class=\"app-global-progress-bar-progress-label h6\">\n {{instance.progressLabel}}</label>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"progressTemplate\" [ngTemplateOutletContext]=\"{instance: instance}\"></ng-template>\n <button class=\"btn btn-secondary pull-right stop-btn\" *ngIf=\"instance.onStop\" (click)=\"instance.onStop();\">\n {{instance.stopButtonLabel}}\n </button>\n <div style=\"clear: both;\"></div>\n </li>\n <li class=\"instance-list-item\" *ngIf=\"queue.length > 0\">\n <label class=\"global-progress-bar-ui-primary-label h6\">\n ({{queue.length}}) queued\n </label>\n </li>\n </ul>\n </div>\n </div>\n</ng-container>\n<ng-template #progressTemplate let-instance=\"instance\">\n <div wmProgressBar minvalue.bind=\"instance.min\" maxvalue.bind=\"instance.max\" datavalue.bind=\"instance.value\"></div>\n</ng-template>" }]
172
173
  }], () => [{ type: i0.ElementRef }], null); })();
173
174
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProcessManagerComponent, { className: "ProcessManagerComponent", filePath: "process-manager/process-manager.component.ts", lineNumber: 33 }); })();
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1tYW5hZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vYmlsZS9jb21wb25lbnRzL2Jhc2ljL2RlZmF1bHQvc3JjL3Byb2Nlc3MtbWFuYWdlci9wcm9jZXNzLW1hbmFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9iaWxlL2NvbXBvbmVudHMvYmFzaWMvZGVmYXVsdC9zcmMvcHJvY2Vzcy1tYW5hZ2VyL3Byb2Nlc3MtbWFuYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFXLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7OztJQ2EvQixrQ0FBbUY7SUFBN0IsOE5BQVMsb0JBQWlCLEtBQUU7SUFDaEYsWUFDRjtJQUFBLGlCQUFTOzs7SUFEUCxjQUNGO0lBREUsNERBQ0Y7OztJQVhFLEFBREYsQUFERixBQURGLDZCQUErQixhQUNaLGFBQ08sZUFDMkI7SUFBQSxZQUFpQjtJQUNsRSxBQURrRSxpQkFBUSxFQUNwRTtJQUVKLEFBREYsOEJBQWlFLGVBQ047SUFDekQsWUFBMEI7SUFFOUIsQUFERSxBQUQ0QixpQkFBUSxFQUM5QixFQUNGO0lBRU4sQUFEQSw2R0FBb0csMkZBQzdFO0lBS3ZCLDJCQUFnQztJQUNsQyxpQkFBSzs7Ozs7SUFkZ0QsZUFBaUI7SUFBakIsc0NBQWlCO0lBSWhFLGVBQTBCO0lBQTFCLHlEQUEwQjtJQUdqQixjQUFxQztJQUFDLEFBQXRD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QUNqQyxhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUNqQyxDQUFDO1lBQ0QsUUFBUSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUM7WUFDL0IsUUFBUSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ2pFLENBQUM7YUFBTSxJQUFJLFlBQVksS0FBSyxRQUFRLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDaEUsUUFBUSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQ25CLGFBQWEsRUFBRSxDQUFDO2dCQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsQ0FBQyxDQUFDO1FBQ04sQ0FBQzthQUFNLENBQUM7WUFDSixRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsYUFBYSxDQUFDO1FBQzNDLENBQUM7UUFDRCxRQUFRLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUNsRCxDQUFDO3dIQTVGUSx1QkFBdUI7b0VBQXZCLHVCQUF1Qiw4RUFKckI7Z0JBQ1Asa0JBQWtCLENBQUMsdUJBQXVCLENBQUM7YUFDOUM7WUNLTCxBQW5DQSxnRkFBNEIsNEdBbUMyQjs7WUFuQ3ZELG1EQWtDQzs7O2lGREZZLHVCQUF1QjtjQVBuQyxTQUFTOzJCQUNJLG9CQUFvQixhQUVuQjtvQkFDUCxrQkFBa0IseUJBQXlCO2lCQUM5Qzs7a0ZBRVEsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEb0NoZWNrLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGFkZENsYXNzLCByZW1vdmVBdHRyLCBzZXRBdHRyIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZUFzV2lkZ2V0UmVmIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQge2lzRnVuY3Rpb24sIHJlbW92ZX0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2Nlc3Mge1xuICAgIG1heDogbnVtYmVyO1xuICAgIG1pbjogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBvblN0b3A6ICgpID0+IHZvaWQ7XG4gICAgcHJvZ3Jlc3NMYWJlbDogc3RyaW5nO1xuICAgIHNob3c6IGJvb2xlYW47XG4gICAgc3RvcEJ1dHRvbkxhYmVsOiBzdHJpbmc7XG4gICAgdmFsdWU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9jZXNzQXBpIHtcbiAgICBkZXN0cm95OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAgIGdldDogKHByb3BlcnR5TmFtZTogc3RyaW5nKSA9PiBzdHJpbmc7XG4gICAgc2V0OiAocHJvcGVydHlOYW1lOiBzdHJpbmcsIHByb3BlcnR5VmFsdWU6IGFueSkgPT4gdm9pZDtcbn1cblxuY29uc3QgTUFYX1BST0NFU1MgPSAzO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bVByb2Nlc3NNYW5hZ2VyXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2Nlc3MtbWFuYWdlci5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihQcm9jZXNzTWFuYWdlckNvbXBvbmVudClcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NNYW5hZ2VyQ29tcG9uZW50IGltcGxlbWVudHMgRG9DaGVjayB7XG5cbiAgICBwcml2YXRlIGlzVmlzaWJsZSA9IHRydWU7XG5cbiAgICBwdWJsaWMgaW5zdGFuY2VzOiBQcm9jZXNzW10gPSBbXTtcbiAgICBwdWJsaWMgcXVldWUgPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnYXBwLWdsb2JhbC1wcm9ncmVzcy1iYXIgbW9kYWwgZGVmYXVsdCcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGVJbnN0YW5jZShuYW1lOiBzdHJpbmcsIG1pbiA9IDAsIG1heCA9IDEwMCk6IFByb21pc2U8UHJvY2Vzc0FwaT4ge1xuICAgICAgICBjb25zdCBpbnN0YW5jZTogUHJvY2VzcyA9IHtcbiAgICAgICAgICAgIG1heDogbWF4LFxuICAgICAgICAgICAgbWluOiBtaW4sXG4gICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgb25TdG9wOiBudWxsLFxuICAgICAgICAgICAgcHJvZ3Jlc3NMYWJlbDogJycsXG4gICAgICAgICAgICBzaG93OiBtaW4gIT09IG1heCxcbiAgICAgICAgICAgIHN0b3BCdXR0b25MYWJlbCA6ICdDYW5jZWwnLFxuICAgICAgICAgICAgdmFsdWU6IDBcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgYXBpID0ge1xuICAgICAgICAgICAgZ2V0OiAocHJvcGVydHlOYW1lKSA9PiBpbnN0YW5jZVtwcm9wZXJ0eU5hbWVdLFxuICAgICAgICAgICAgc2V0OiAocHJvcGVydHlOYW1lLCBwcm9wZXJ0eVZhbHVlKSA9PiB0aGlzLnNldEluc3RhY2VQcm9wZXJ0eShpbnN0YW5jZSwgcHJvcGVydHlOYW1lLCBwcm9wZXJ0eVZhbHVlKSxcbiAgICAgICAgICAgIGRlc3Ryb3k6ICgpID0+IHRoaXMucmVtb3ZlSW5zdGFuY2UoaW5zdGFuY2UpXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiB0aGlzLmFkZFRvUXVldWUoaW5zdGFuY2UpLnRoZW4oKCkgPT4gYXBpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VmlzaWJsZUluc3RhbmNlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5zdGFuY2VzLmZpbHRlcihpID0+IGkuc2hvdyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nRG9DaGVjaygpIHtcbiAgICAgICAgY29uc3QgaGFzSW5zdGFuY2VzVG9TaG93ID0gISF0aGlzLmluc3RhbmNlcy5maW5kKGkgPT4gaS5zaG93KTtcbiAgICAgICAgaWYgKHRoaXMuaXNWaXNpYmxlICYmICFoYXNJbnN0YW5jZXNUb1Nob3cpIHtcbiAgICAgICAgICAgIHNldEF0dHIodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnaGlkZGVuJywgJ3RydWUnKTtcbiAgICAgICAgICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNWaXNpYmxlICYmIGhhc0luc3RhbmNlc1RvU2hvdykge1xuICAgICAgICAgICAgcmVtb3ZlQXR0cih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdoaWRkZW4nKTtcbiAgICAgICAgICAgIHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYWRkVG9RdWV1ZShpbnN0YW5jZSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoIHJlc29sdmUgPT4ge1xuICAgICAgICAgICAgdGhpcy5xdWV1ZS5wdXNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbnN0YW5jZXMubGVuZ3RoIDwgTUFYX1BST0NFU1MpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnN0YW5jZXMucHVzaChpbnN0YW5jZSk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoaW5zdGFuY2UpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuZmx1c2hRdWV1ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZsdXNoUXVldWUoKSB7XG4gICAgICAgIGlmICh0aGlzLnF1ZXVlLmxlbmd0aCA+IDAgJiYgdGhpcy5xdWV1ZVswXSgpICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy5xdWV1ZS5zaGlmdCgpO1xuICAgICAgICAgICAgdGhpcy5mbHVzaFF1ZXVlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUluc3RhbmNlKGluc3RhbmNlOiBQcm9jZXNzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSggcmVzb2x2ZSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICByZW1vdmUodGhpcy5pbnN0YW5jZXMsIGluc3RhbmNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZsdXNoUXVldWUoKTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9LCAxMDAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbnN0YWNlUHJvcGVydHkoaW5zdGFuY2U6IFByb2Nlc3MsIHByb3BlcnR5TmFtZTogc3RyaW5nLCBwcm9wZXJ0eVZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKHByb3BlcnR5TmFtZSA9PT0gJ3ZhbHVlJykge1xuICAgICAgICAgICAgaWYgKGluc3RhbmNlLnZhbHVlID49IGluc3RhbmNlLm1heCkge1xuICAgICAgICAgICAgICAgIHByb3BlcnR5VmFsdWUgPSBpbnN0YW5jZS5tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnN0YW5jZS52YWx1ZSA9IHByb3BlcnR5VmFsdWU7XG4gICAgICAgICAgICBpbnN0YW5jZS5wcm9ncmVzc0xhYmVsID0gaW5zdGFuY2UudmFsdWUgKyAnLycgKyBpbnN0YW5jZS5tYXg7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvcGVydHlOYW1lID09PSAnb25TdG9wJyAmJiBpc0Z1bmN0aW9uKHByb3BlcnR5VmFsdWUpKSB7XG4gICAgICAgICAgICBpbnN0YW5jZS5vblN0b3AgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcHJvcGVydHlWYWx1ZSgpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlbW92ZUluc3RhbmNlKGluc3RhbmNlKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpbnN0YW5jZVtwcm9wZXJ0eU5hbWVdID0gcHJvcGVydHlWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpbnN0YW5jZS5zaG93ID0gaW5zdGFuY2UubWluICE9PSBpbnN0YW5jZS5tYXg7XG4gICAgfVxufVxuIiwiQGlmIChpbnN0YW5jZXMubGVuZ3RoID4gMCkge1xuICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nIGFwcC1kaWFsb2dcIj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxuICAgICAgPHVsIGNsYXNzPVwiaW5zdGFuY2UtbGlzdCBsaXN0LXVuc3R5bGVkXCI+XG4gICAgICAgIEBmb3IgKGluc3RhbmNlIG9mIGdldFZpc2libGVJbnN0YW5jZXMoaW5zdGFuY2VzKTsgdHJhY2sgaW5zdGFuY2U7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgPGxpIGNsYXNzPVwiaW5zdGFuY2UtbGlzdC1pdGVtXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtOFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImFwcC1nbG9iYWwtcHJvZ3Jlc3MtYmFyLW5hbWUgaDZcIj57e2luc3RhbmNlLm5hbWV9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTQgYXBwLWdsb2JhbC1wcm9ncmVzcy1iYXItcHJvZ3Jlc3MtbGFiZWwtY29sXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYXBwLWdsb2JhbC1wcm9ncmVzcy1iYXItcHJvZ3Jlc3MtbGFiZWwgaDZcIj5cbiAgICAgICAgICAgICAgICB7e2luc3RhbmNlLnByb2dyZXNzTGFiZWx9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJvZ3Jlc3NUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aW5zdGFuY2U6IGluc3RhbmNlfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICBAaWYgKGluc3RhbmNlLm9uU3RvcCkge1xuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgcHVsbC1yaWdodCBzdG9wLWJ0blwiIChjbGljayk9XCJpbnN0YW5jZS5vblN0b3AoKTtcIj5cbiAgICAgICAgICAgICAgICB7e2luc3RhbmNlLnN0b3BCdXR0b25MYWJlbH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImNsZWFyOiBib3RoO1wiPjwvZGl2PlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChxdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgPGxpIGNsYXNzPVwiaW5zdGFuY2UtbGlzdC1pdGVtXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnbG9iYWwtcHJvZ3Jlc3MtYmFyLXVpLXByaW1hcnktbGFiZWwgaDZcIj5cbiAgICAgICAgICAgICAgKHt7cXVldWUubGVuZ3RofX0pIHF1ZXVlZFxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn1cbjxuZy10ZW1wbGF0ZSAjcHJvZ3Jlc3NUZW1wbGF0ZSBsZXQtaW5zdGFuY2U9XCJpbnN0YW5jZVwiPlxuICA8ZGl2IHdtUHJvZ3Jlc3NCYXIgbWludmFsdWUuYmluZD1cImluc3RhbmNlLm1pblwiIG1heHZhbHVlLmJpbmQ9XCJpbnN0YW5jZS5tYXhcIiBkYXRhdmFsdWUuYmluZD1cImluc3RhbmNlLnZhbHVlXCI+PC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1tYW5hZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vYmlsZS9jb21wb25lbnRzL2Jhc2ljL2RlZmF1bHQvc3JjL3Byb2Nlc3MtbWFuYWdlci9wcm9jZXNzLW1hbmFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9iaWxlL2NvbXBvbmVudHMvYmFzaWMvZGVmYXVsdC9zcmMvcHJvY2Vzcy1tYW5hZ2VyL3Byb2Nlc3MtbWFuYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFXLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7OztJQ1cxQixrQ0FBMkc7SUFBN0IseU5BQVMsb0JBQWlCLEtBQUU7SUFDdEcsWUFDSjtJQUFBLGlCQUFTOzs7SUFETCxjQUNKO0lBREksNERBQ0o7OztJQVZRLEFBREosQUFESixBQURKLDZCQUFtRyxhQUM5RSxhQUNTLGdCQUM2QjtJQUFBLFlBQWlCO0lBQ3BFLEFBRG9FLGlCQUFRLEVBQ3RFO0lBRUYsQUFESiwrQkFBaUUsZ0JBQ0o7SUFDakQsWUFBMEI7SUFFMUMsQUFESSxBQURzQyxpQkFBUSxFQUN4QyxFQUNKO0lBRU4sQUFEQSw2R0FBb0csc0ZBQ087SUFHM0csMkJBQWdDO0lBQ3BDLGlCQUFLOzs7OztJQVpzRCxlQUFpQjtJQUFqQixzQ0FBaUI7SUFJeEQsZUFBMEI7SUFBMUIseURBQTBCO0lBRzdCLGNBQXFDO0lBQUMsQUFB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QyxHQUFHLEVBQUUsQ0FBQztnQkFDakMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7WUFDakMsQ0FBQztZQUNELFFBQVEsQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO1lBQy9CLFFBQVEsQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUNqRSxDQUFDO2FBQU0sSUFBSSxZQUFZLEtBQUssUUFBUSxJQUFJLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ2hFLFFBQVEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO2dCQUNuQixhQUFhLEVBQUUsQ0FBQztnQkFDaEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQztRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ0osUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLGFBQWEsQ0FBQztRQUMzQyxDQUFDO1FBQ0QsUUFBUSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxLQUFLLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDbEQsQ0FBQzt3SEE1RlEsdUJBQXVCO29FQUF2Qix1QkFBdUIsOEVBSnJCO2dCQUNQLGtCQUFrQixDQUFDLHVCQUF1QixDQUFDO2FBQzlDO1lDREwsQUE3QkEsMEZBQTJDLDRHQTZCWTs7WUE3QnhDLCtDQUEwQjs7O2lGRGdDNUIsdUJBQXVCO2NBUG5DLFNBQVM7MkJBQ0ksb0JBQW9CLGFBRW5CO29CQUNQLGtCQUFrQix5QkFBeUI7aUJBQzlDOztrRkFFUSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERvQ2hlY2ssIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgYWRkQ2xhc3MsIHJlbW92ZUF0dHIsIHNldEF0dHIgfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBwcm92aWRlQXNXaWRnZXRSZWYgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7aXNGdW5jdGlvbiwgcmVtb3ZlfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2VzcyB7XG4gICAgbWF4OiBudW1iZXI7XG4gICAgbWluOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG9uU3RvcDogKCkgPT4gdm9pZDtcbiAgICBwcm9ncmVzc0xhYmVsOiBzdHJpbmc7XG4gICAgc2hvdzogYm9vbGVhbjtcbiAgICBzdG9wQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2Nlc3NBcGkge1xuICAgIGRlc3Ryb3k6ICgpID0+IFByb21pc2U8dm9pZD47XG4gICAgZ2V0OiAocHJvcGVydHlOYW1lOiBzdHJpbmcpID0+IHN0cmluZztcbiAgICBzZXQ6IChwcm9wZXJ0eU5hbWU6IHN0cmluZywgcHJvcGVydHlWYWx1ZTogYW55KSA9PiB2b2lkO1xufVxuXG5jb25zdCBNQVhfUFJPQ0VTUyA9IDM7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW3dtUHJvY2Vzc01hbmFnZXJdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvY2Vzcy1tYW5hZ2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKFByb2Nlc3NNYW5hZ2VyQ29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUHJvY2Vzc01hbmFnZXJDb21wb25lbnQgaW1wbGVtZW50cyBEb0NoZWNrIHtcblxuICAgIHByaXZhdGUgaXNWaXNpYmxlID0gdHJ1ZTtcblxuICAgIHB1YmxpYyBpbnN0YW5jZXM6IFByb2Nlc3NbXSA9IFtdO1xuICAgIHB1YmxpYyBxdWV1ZSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xuICAgICAgICBhZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdhcHAtZ2xvYmFsLXByb2dyZXNzLWJhciBtb2RhbCBkZWZhdWx0Jyk7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZUluc3RhbmNlKG5hbWU6IHN0cmluZywgbWluID0gMCwgbWF4ID0gMTAwKTogUHJvbWlzZTxQcm9jZXNzQXBpPiB7XG4gICAgICAgIGNvbnN0IGluc3RhbmNlOiBQcm9jZXNzID0ge1xuICAgICAgICAgICAgbWF4OiBtYXgsXG4gICAgICAgICAgICBtaW46IG1pbixcbiAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICBvblN0b3A6IG51bGwsXG4gICAgICAgICAgICBwcm9ncmVzc0xhYmVsOiAnJyxcbiAgICAgICAgICAgIHNob3c6IG1pbiAhPT0gbWF4LFxuICAgICAgICAgICAgc3RvcEJ1dHRvbkxhYmVsIDogJ0NhbmNlbCcsXG4gICAgICAgICAgICB2YWx1ZTogMFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBhcGkgPSB7XG4gICAgICAgICAgICBnZXQ6IChwcm9wZXJ0eU5hbWUpID0+IGluc3RhbmNlW3Byb3BlcnR5TmFtZV0sXG4gICAgICAgICAgICBzZXQ6IChwcm9wZXJ0eU5hbWUsIHByb3BlcnR5VmFsdWUpID0+IHRoaXMuc2V0SW5zdGFjZVByb3BlcnR5KGluc3RhbmNlLCBwcm9wZXJ0eU5hbWUsIHByb3BlcnR5VmFsdWUpLFxuICAgICAgICAgICAgZGVzdHJveTogKCkgPT4gdGhpcy5yZW1vdmVJbnN0YW5jZShpbnN0YW5jZSlcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkVG9RdWV1ZShpbnN0YW5jZSkudGhlbigoKSA9PiBhcGkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRWaXNpYmxlSW5zdGFuY2VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnN0YW5jZXMuZmlsdGVyKGkgPT4gaS5zaG93KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdEb0NoZWNrKCkge1xuICAgICAgICBjb25zdCBoYXNJbnN0YW5jZXNUb1Nob3cgPSAhIXRoaXMuaW5zdGFuY2VzLmZpbmQoaSA9PiBpLnNob3cpO1xuICAgICAgICBpZiAodGhpcy5pc1Zpc2libGUgJiYgIWhhc0luc3RhbmNlc1RvU2hvdykge1xuICAgICAgICAgICAgc2V0QXR0cih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdoaWRkZW4nLCAndHJ1ZScpO1xuICAgICAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5pc1Zpc2libGUgJiYgaGFzSW5zdGFuY2VzVG9TaG93KSB7XG4gICAgICAgICAgICByZW1vdmVBdHRyKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2hpZGRlbicpO1xuICAgICAgICAgICAgdGhpcy5pc1Zpc2libGUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUb1F1ZXVlKGluc3RhbmNlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSggcmVzb2x2ZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnF1ZXVlLnB1c2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmluc3RhbmNlcy5sZW5ndGggPCBNQVhfUFJPQ0VTUykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluc3RhbmNlcy5wdXNoKGluc3RhbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShpbnN0YW5jZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5mbHVzaFF1ZXVlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmx1c2hRdWV1ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMucXVldWUubGVuZ3RoID4gMCAmJiB0aGlzLnF1ZXVlWzBdKCkgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXVlLnNoaWZ0KCk7XG4gICAgICAgICAgICB0aGlzLmZsdXNoUXVldWUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlSW5zdGFuY2UoaW5zdGFuY2U6IFByb2Nlc3MpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKCByZXNvbHZlID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlbW92ZSh0aGlzLmluc3RhbmNlcywgaW5zdGFuY2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmx1c2hRdWV1ZSgpO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEluc3RhY2VQcm9wZXJ0eShpbnN0YW5jZTogUHJvY2VzcywgcHJvcGVydHlOYW1lOiBzdHJpbmcsIHByb3BlcnR5VmFsdWU6IGFueSkge1xuICAgICAgICBpZiAocHJvcGVydHlOYW1lID09PSAndmFsdWUnKSB7XG4gICAgICAgICAgICBpZiAoaW5zdGFuY2UudmFsdWUgPj0gaW5zdGFuY2UubWF4KSB7XG4gICAgICAgICAgICAgICAgcHJvcGVydHlWYWx1ZSA9IGluc3RhbmNlLm1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGluc3RhbmNlLnZhbHVlID0gcHJvcGVydHlWYWx1ZTtcbiAgICAgICAgICAgIGluc3RhbmNlLnByb2dyZXNzTGFiZWwgPSBpbnN0YW5jZS52YWx1ZSArICcvJyArIGluc3RhbmNlLm1heDtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eU5hbWUgPT09ICdvblN0b3AnICYmIGlzRnVuY3Rpb24ocHJvcGVydHlWYWx1ZSkpIHtcbiAgICAgICAgICAgIGluc3RhbmNlLm9uU3RvcCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0eVZhbHVlKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVtb3ZlSW5zdGFuY2UoaW5zdGFuY2UpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGluc3RhbmNlW3Byb3BlcnR5TmFtZV0gPSBwcm9wZXJ0eVZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGluc3RhbmNlLnNob3cgPSBpbnN0YW5jZS5taW4gIT09IGluc3RhbmNlLm1heDtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaW5zdGFuY2VzLmxlbmd0aCA+IDBcIj5cbiAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2cgYXBwLWRpYWxvZ1wiPlxuICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XG4gICAgICAgICAgIDx1bCBjbGFzcz1cImluc3RhbmNlLWxpc3QgbGlzdC11bnN0eWxlZFwiPlxuICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpbnN0YW5jZSBvZiBnZXRWaXNpYmxlSW5zdGFuY2VzKGluc3RhbmNlcyk7IGluZGV4IGFzIGlcIiBjbGFzcz1cImluc3RhbmNlLWxpc3QtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy04XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhcHAtZ2xvYmFsLXByb2dyZXNzLWJhci1uYW1lIGg2XCI+e3tpbnN0YW5jZS5uYW1lfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14cy00IGFwcC1nbG9iYWwtcHJvZ3Jlc3MtYmFyLXByb2dyZXNzLWxhYmVsLWNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYXBwLWdsb2JhbC1wcm9ncmVzcy1iYXItcHJvZ3Jlc3MtbGFiZWwgaDZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tpbnN0YW5jZS5wcm9ncmVzc0xhYmVsfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJvZ3Jlc3NUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aW5zdGFuY2U6IGluc3RhbmNlfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IHB1bGwtcmlnaHQgc3RvcC1idG5cIiAqbmdJZj1cImluc3RhbmNlLm9uU3RvcFwiIChjbGljayk9XCJpbnN0YW5jZS5vblN0b3AoKTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAge3tpbnN0YW5jZS5zdG9wQnV0dG9uTGFiZWx9fVxuICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJjbGVhcjogYm90aDtcIj48L2Rpdj5cbiAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJpbnN0YW5jZS1saXN0LWl0ZW1cIiAqbmdJZj1cInF1ZXVlLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnbG9iYWwtcHJvZ3Jlc3MtYmFyLXVpLXByaW1hcnktbGFiZWwgaDZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgKHt7cXVldWUubGVuZ3RofX0pIHF1ZXVlZFxuICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICA8L3VsPlxuICAgICAgIDwvZGl2PlxuICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjcHJvZ3Jlc3NUZW1wbGF0ZSBsZXQtaW5zdGFuY2U9XCJpbnN0YW5jZVwiPlxuICAgIDxkaXYgd21Qcm9ncmVzc0JhciBtaW52YWx1ZS5iaW5kPVwiaW5zdGFuY2UubWluXCIgbWF4dmFsdWUuYmluZD1cImluc3RhbmNlLm1heFwiIGRhdGF2YWx1ZS5iaW5kPVwiaW5zdGFuY2UudmFsdWVcIj48L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19