@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
@@ -9,22 +9,22 @@ const _c1 = [[["", 8, "caret"]]];
9
9
  const _c2 = [".caret"];
10
10
  const _c3 = (a0, a1, a2) => ({ width: a0, height: a1, margin: a2 });
11
11
  const _c4 = (a0, a1, a2, a3) => ({ width: a0, height: a1, margin: a2, fontSize: a3 });
12
- function ButtonComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
13
- i0.ɵɵelement(0, "img", 0);
12
+ function ButtonComponent_img_0_Template(rf, ctx) { if (rf & 1) {
13
+ i0.ɵɵelement(0, "img", 5);
14
14
  i0.ɵɵpipe(1, "image");
15
15
  } if (rf & 2) {
16
16
  const ctx_r0 = i0.ɵɵnextContext();
17
17
  i0.ɵɵproperty("src", i0.ɵɵpipeBind1(1, 2, ctx_r0.iconurl), i0.ɵɵsanitizeUrl)("ngStyle", i0.ɵɵpureFunction3(4, _c3, ctx_r0.iconwidth, ctx_r0.iconheight, ctx_r0.iconmargin));
18
18
  } }
19
- function ButtonComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
20
- i0.ɵɵelement(0, "i", 5);
19
+ function ButtonComponent_i_1_Template(rf, ctx) { if (rf & 1) {
20
+ i0.ɵɵelement(0, "i", 6);
21
21
  } if (rf & 2) {
22
22
  const ctx_r0 = i0.ɵɵnextContext();
23
23
  i0.ɵɵclassMapInterpolate1("app-icon ", ctx_r0.iconclass, "");
24
24
  i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction4(4, _c4, ctx_r0.iconwidth, ctx_r0.iconheight, ctx_r0.iconmargin, ctx_r0.iconwidth));
25
25
  } }
26
- function ButtonComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
27
- i0.ɵɵelementStart(0, "span", 2);
26
+ function ButtonComponent_span_2_Template(rf, ctx) { if (rf & 1) {
27
+ i0.ɵɵelementStart(0, "span", 7);
28
28
  i0.ɵɵtext(1);
29
29
  i0.ɵɵelementEnd();
30
30
  } if (rf & 2) {
@@ -32,8 +32,8 @@ function ButtonComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
32
32
  i0.ɵɵadvance();
33
33
  i0.ɵɵtextInterpolate2("", ctx_r0.caption, " ", ctx_r0.appLocale.LABEL_ICON, "");
34
34
  } }
35
- function ButtonComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
36
- i0.ɵɵelement(0, "span", 4);
35
+ function ButtonComponent_span_5_Template(rf, ctx) { if (rf & 1) {
36
+ i0.ɵɵelement(0, "span", 8);
37
37
  } if (rf & 2) {
38
38
  const ctx_r0 = i0.ɵɵnextContext();
39
39
  i0.ɵɵproperty("textContent", ctx_r0.badgevalue);
@@ -56,29 +56,29 @@ export class ButtonComponent extends StylableComponent {
56
56
  i0.ɵɵattribute("accesskey", ctx.shortcutkey)("icon-position", ctx.iconposition);
57
57
  } }, exportAs: ["wmButton"], features: [i0.ɵɵProvidersFeature([
58
58
  provideAsWidgetRef(ButtonComponent)
59
- ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, ngContentSelectors: _c2, decls: 6, vars: 5, consts: [["data-identifier", "img", "alt", "button image", 1, "button-image-icon", 3, "src", "ngStyle"], ["aria-hidden", "true", 3, "class", "ngStyle"], [1, "sr-only"], [1, "btn-caption", 3, "innerHTML"], [1, "badge", "pull-right", 3, "textContent"], ["aria-hidden", "true", 3, "ngStyle"]], template: function ButtonComponent_Template(rf, ctx) { if (rf & 1) {
59
+ ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, ngContentSelectors: _c2, decls: 6, vars: 5, consts: [["data-identifier", "img", "alt", "button image", "class", "button-image-icon", 3, "src", "ngStyle", 4, "ngIf"], ["aria-hidden", "true", 3, "class", "ngStyle", 4, "ngIf"], ["class", "sr-only", 4, "ngIf"], [1, "btn-caption", 3, "innerHTML"], ["class", "badge pull-right", 3, "textContent", 4, "ngIf"], ["data-identifier", "img", "alt", "button image", 1, "button-image-icon", 3, "src", "ngStyle"], ["aria-hidden", "true", 3, "ngStyle"], [1, "sr-only"], [1, "badge", "pull-right", 3, "textContent"]], template: function ButtonComponent_Template(rf, ctx) { if (rf & 1) {
60
60
  i0.ɵɵprojectionDef(_c1);
61
- i0.ɵɵtemplate(0, ButtonComponent_Conditional_0_Template, 2, 8, "img", 0)(1, ButtonComponent_Conditional_1_Template, 1, 9, "i", 1)(2, ButtonComponent_Conditional_2_Template, 2, 2, "span", 2);
61
+ i0.ɵɵtemplate(0, ButtonComponent_img_0_Template, 2, 8, "img", 0)(1, ButtonComponent_i_1_Template, 1, 9, "i", 1)(2, ButtonComponent_span_2_Template, 2, 2, "span", 2);
62
62
  i0.ɵɵelement(3, "span", 3);
63
63
  i0.ɵɵprojection(4);
64
- i0.ɵɵtemplate(5, ButtonComponent_Conditional_5_Template, 1, 1, "span", 4);
64
+ i0.ɵɵtemplate(5, ButtonComponent_span_5_Template, 1, 1, "span", 4);
65
65
  } if (rf & 2) {
66
- i0.ɵɵconditional(ctx.iconurl ? 0 : -1);
66
+ i0.ɵɵproperty("ngIf", ctx.iconurl);
67
67
  i0.ɵɵadvance();
68
- i0.ɵɵconditional(ctx.iconclass ? 1 : -1);
68
+ i0.ɵɵproperty("ngIf", ctx.iconclass);
69
69
  i0.ɵɵadvance();
70
- i0.ɵɵconditional(ctx.iconclass ? 2 : -1);
70
+ i0.ɵɵproperty("ngIf", ctx.iconclass);
71
71
  i0.ɵɵadvance();
72
72
  i0.ɵɵproperty("innerHTML", ctx.caption, i0.ɵɵsanitizeHtml);
73
73
  i0.ɵɵadvance(2);
74
- i0.ɵɵconditional(ctx.badgevalue ? 5 : -1);
75
- } }, dependencies: [i1.NgStyle, i2.TextContentDirective, i2.ImagePipe], encapsulation: 2 }); }
74
+ i0.ɵɵproperty("ngIf", ctx.badgevalue);
75
+ } }, dependencies: [i1.NgIf, i1.NgStyle, i2.TextContentDirective, i2.ImagePipe], encapsulation: 2 }); }
76
76
  }
77
77
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ButtonComponent, [{
78
78
  type: Component,
79
79
  args: [{ selector: 'button[wmButton]', providers: [
80
80
  provideAsWidgetRef(ButtonComponent)
81
- ], exportAs: 'wmButton', template: "@if (iconurl) {\n <img data-identifier=\"img\" alt=\"button image\" class=\"button-image-icon\" [src]=\"iconurl | image\" [ngStyle]=\"{width:iconwidth, height:iconheight, margin:iconmargin}\"/>\n}\n@if (iconclass) {\n <i class=\"app-icon {{iconclass}}\" aria-hidden=\"true\" [ngStyle]=\"{width:iconwidth, height:iconheight, margin:iconmargin, fontSize:iconwidth}\"></i>\n}\n@if (iconclass) {\n <span class=\"sr-only\">{{caption}} {{appLocale.LABEL_ICON}}</span>\n}\n<span class=\"btn-caption\" [innerHTML]=\"caption\"></span>\n<ng-content select=\".caret\"></ng-content>\n@if (badgevalue) {\n <span class=\"badge pull-right\" [textContent]=\"badgevalue\"></span>\n}\n" }]
81
+ ], exportAs: 'wmButton', template: "<img data-identifier=\"img\" alt=\"button image\" class=\"button-image-icon\" [src]=\"iconurl | image\" *ngIf=\"iconurl\" [ngStyle]=\"{width:iconwidth, height:iconheight, margin:iconmargin}\"/>\n<i class=\"app-icon {{iconclass}}\" aria-hidden=\"true\" [ngStyle]=\"{width:iconwidth, height:iconheight, margin:iconmargin, fontSize:iconwidth}\" *ngIf=\"iconclass\"></i>\n<span class=\"sr-only\" *ngIf=\"iconclass\">{{caption}} {{appLocale.LABEL_ICON}}</span>\n<span class=\"btn-caption\" [innerHTML]=\"caption\"></span>\n<ng-content select=\".caret\"></ng-content>\n<span *ngIf=\"badgevalue\" class=\"badge pull-right\" [textContent]=\"badgevalue\"></span>\n" }]
82
82
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
83
83
  type: Inject,
84
84
  args: ['EXPLICIT_CONTEXT']
@@ -101,4 +101,4 @@ export class ButtonComponent extends StylableComponent {
101
101
  args: ['attr.icon-position']
102
102
  }] }); })();
103
103
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ButtonComponent, { className: "ButtonComponent", filePath: "button/button.component.ts", lineNumber: 22 }); })();
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpGLE9BQU8sRUFBQyxZQUFZLEVBQWlCLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9HLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztJQ0gzQyx5QkFBcUs7Ozs7SUFBckUsQUFBeEIsNEVBQXVCLCtGQUFvRTs7O0lBR25LLHVCQUFpSjs7O0lBQTlJLDREQUE4QjtJQUFvQiw4SEFBdUY7OztJQUc1SSwrQkFBc0I7SUFBQSxZQUFvQztJQUFBLGlCQUFPOzs7SUFBM0MsY0FBb0M7SUFBcEMsK0VBQW9DOzs7SUFLMUQsMEJBQWlFOzs7SUFBbEMsK0NBQTBCOztBRE4zRCxNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUNyQyxNQUFNLGFBQWEsR0FBa0I7SUFDakMsVUFBVSxFQUFFLFdBQVc7SUFDdkIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsV0FBVyxFQUFFLFlBQVksQ0FBQyxZQUFZO0NBQ3pDLENBQUM7QUFVRixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxpQkFBaUI7YUFDM0Msb0JBQWUsR0FBRyxhQUFhLEVBQUUsQUFBbEIsQ0FBbUI7SUFhekMsWUFBWSxHQUFhLEVBQTBDLGVBQW9CO1FBQ25GLEtBQUssQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Z0hBakJRLGVBQWUsMERBY1csa0JBQWtCO29FQWQ1QyxlQUFlO1lBQWYsbUNBQWUsMEJBQUEsMEJBQUE7O3NFQUxiO2dCQUNQLGtCQUFrQixDQUFDLGVBQWUsQ0FBQzthQUN0Qzs7WUNaTCxBQUhBLEFBSEEsd0VBQWUseURBR0UsNERBR0E7WUFHakIsMEJBQXVEO1lBQ3ZELGtCQUF5QztZQUN6Qyx5RUFBa0I7O1lBWGxCLHNDQUVDO1lBQ0QsY0FFQztZQUZELHdDQUVDO1lBQ0QsY0FFQztZQUZELHdDQUVDO1lBQ3lCLGNBQXFCO1lBQXJCLDBEQUFxQjtZQUUvQyxlQUVDO1lBRkQseUNBRUM7OztpRkRRWSxlQUFlO2NBUjNCLFNBQVM7MkJBQ0ksa0JBQWtCLGFBRWpCO29CQUNQLGtCQUFrQixpQkFBaUI7aUJBQ3RDLFlBQ1MsVUFBVTs7c0JBZ0JRLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQU4zQyxJQUFJO2tCQUF4QixXQUFXO21CQUFDLE1BQU07WUFDTSxRQUFRO2tCQUFoQyxXQUFXO21CQUFDLFVBQVU7WUFDRSxRQUFRO2tCQUFoQyxXQUFXO21CQUFDLFVBQVU7WUFDUSxXQUFXO2tCQUF6QyxXQUFXO21CQUFDLGdCQUFnQjtZQUNNLFlBQVk7a0JBQTlDLFdBQVc7bUJBQUMsb0JBQW9COztrRkFaeEIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBJbmplY3RvciwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0RJU1BMQVlfVFlQRSwgSVdpZGdldENvbmZpZywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBTdHlsYWJsZUNvbXBvbmVudCwgc3R5bGVyfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcblxuaW1wb3J0IHtyZWdpc3RlclByb3BzfSBmcm9tICcuL2J1dHRvbi5wcm9wcyc7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2J0biBhcHAtYnV0dG9uJztcbmNvbnN0IFdJREdFVF9DT05GSUc6IElXaWRnZXRDb25maWcgPSB7XG4gICAgd2lkZ2V0VHlwZTogJ3dtLWJ1dHRvbicsXG4gICAgaG9zdENsYXNzOiBERUZBVUxUX0NMUyxcbiAgICBkaXNwbGF5VHlwZTogRElTUExBWV9UWVBFLklOTElORV9CTE9DS1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdidXR0b25bd21CdXR0b25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKEJ1dHRvbkNvbXBvbmVudClcbiAgICBdLFxuICAgIGV4cG9ydEFzOiAnd21CdXR0b24nXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIFN0eWxhYmxlQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIGljb251cmw6IHN0cmluZztcbiAgICBwdWJsaWMgaWNvbmNsYXNzOiBzdHJpbmc7XG4gICAgcHVibGljIGNhcHRpb246IHN0cmluZztcbiAgICBwdWJsaWMgYmFkZ2V2YWx1ZTogc3RyaW5nO1xuICAgIHB1YmxpYyBhcmlhbGFiZWw6IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ3R5cGUnKSB0eXBlOiBzdHJpbmc7XG4gICAgQEhvc3RCaW5kaW5nKCd0YWJJbmRleCcpIHRhYmluZGV4OiBudW1iZXI7XG4gICAgQEhvc3RCaW5kaW5nKCdkaXNhYmxlZCcpIGRpc2FibGVkOiBib29sZWFuO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hY2Nlc3NrZXknKSBzaG9ydGN1dGtleTogc3RyaW5nO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pY29uLXBvc2l0aW9uJykgaWNvbnBvc2l0aW9uOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzKTtcbiAgICB9XG59XG4iLCJAaWYgKGljb251cmwpIHtcbiAgPGltZyBkYXRhLWlkZW50aWZpZXI9XCJpbWdcIiBhbHQ9XCJidXR0b24gaW1hZ2VcIiBjbGFzcz1cImJ1dHRvbi1pbWFnZS1pY29uXCIgW3NyY109XCJpY29udXJsIHwgaW1hZ2VcIiBbbmdTdHlsZV09XCJ7d2lkdGg6aWNvbndpZHRoLCBoZWlnaHQ6aWNvbmhlaWdodCwgbWFyZ2luOmljb25tYXJnaW59XCIvPlxufVxuQGlmIChpY29uY2xhc3MpIHtcbiAgPGkgY2xhc3M9XCJhcHAtaWNvbiB7e2ljb25jbGFzc319XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgW25nU3R5bGVdPVwie3dpZHRoOmljb253aWR0aCwgaGVpZ2h0Omljb25oZWlnaHQsIG1hcmdpbjppY29ubWFyZ2luLCBmb250U2l6ZTppY29ud2lkdGh9XCI+PC9pPlxufVxuQGlmIChpY29uY2xhc3MpIHtcbiAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+e3tjYXB0aW9ufX0ge3thcHBMb2NhbGUuTEFCRUxfSUNPTn19PC9zcGFuPlxufVxuPHNwYW4gY2xhc3M9XCJidG4tY2FwdGlvblwiIFtpbm5lckhUTUxdPVwiY2FwdGlvblwiPjwvc3Bhbj5cbjxuZy1jb250ZW50IHNlbGVjdD1cIi5jYXJldFwiPjwvbmctY29udGVudD5cbkBpZiAoYmFkZ2V2YWx1ZSkge1xuICA8c3BhbiBjbGFzcz1cImJhZGdlIHB1bGwtcmlnaHRcIiBbdGV4dENvbnRlbnRdPVwiYmFkZ2V2YWx1ZVwiPjwvc3Bhbj5cbn1cbiJdfQ==
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpGLE9BQU8sRUFBQyxZQUFZLEVBQWlCLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9HLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztJQ0o3Qyx5QkFBcUw7Ozs7SUFBckUsQUFBeEMsNEVBQXVCLCtGQUFvRjs7O0lBQ25MLHVCQUFtSzs7O0lBQWhLLDREQUE4QjtJQUFvQiw4SEFBdUY7OztJQUM1SSwrQkFBd0M7SUFBQSxZQUFvQztJQUFBLGlCQUFPOzs7SUFBM0MsY0FBb0M7SUFBcEMsK0VBQW9DOzs7SUFHNUUsMEJBQW9GOzs7SUFBbEMsK0NBQTBCOztBREM1RSxNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUNyQyxNQUFNLGFBQWEsR0FBa0I7SUFDakMsVUFBVSxFQUFFLFdBQVc7SUFDdkIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsV0FBVyxFQUFFLFlBQVksQ0FBQyxZQUFZO0NBQ3pDLENBQUM7QUFVRixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxpQkFBaUI7YUFDM0Msb0JBQWUsR0FBRyxhQUFhLEVBQUUsQUFBbEIsQ0FBbUI7SUFhekMsWUFBWSxHQUFhLEVBQTBDLGVBQW9CO1FBQ25GLEtBQUssQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Z0hBakJRLGVBQWUsMERBY1csa0JBQWtCO29FQWQ1QyxlQUFlO1lBQWYsbUNBQWUsMEJBQUEsMEJBQUE7O3NFQUxiO2dCQUNQLGtCQUFrQixDQUFDLGVBQWUsQ0FBQzthQUN0Qzs7WUNoQkwsQUFEQSxBQURBLGdFQUFxTCwrQ0FDdEIscURBQ3ZIO1lBQ3hDLDBCQUF1RDtZQUN2RCxrQkFBeUM7WUFDekMsa0VBQTZFOztZQUxvQixrQ0FBYTtZQUNnQyxjQUFlO1lBQWYsb0NBQWU7WUFDdEksY0FBZTtZQUFmLG9DQUFlO1lBQ1osY0FBcUI7WUFBckIsMERBQXFCO1lBRXhDLGVBQWdCO1lBQWhCLHFDQUFnQjs7O2lGRGdCVixlQUFlO2NBUjNCLFNBQVM7MkJBQ0ksa0JBQWtCLGFBRWpCO29CQUNQLGtCQUFrQixpQkFBaUI7aUJBQ3RDLFlBQ1MsVUFBVTs7c0JBZ0JRLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQU4zQyxJQUFJO2tCQUF4QixXQUFXO21CQUFDLE1BQU07WUFDTSxRQUFRO2tCQUFoQyxXQUFXO21CQUFDLFVBQVU7WUFDRSxRQUFRO2tCQUFoQyxXQUFXO21CQUFDLFVBQVU7WUFDUSxXQUFXO2tCQUF6QyxXQUFXO21CQUFDLGdCQUFnQjtZQUNNLFlBQVk7a0JBQTlDLFdBQVc7bUJBQUMsb0JBQW9COztrRkFaeEIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBJbmplY3RvciwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0RJU1BMQVlfVFlQRSwgSVdpZGdldENvbmZpZywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBTdHlsYWJsZUNvbXBvbmVudCwgc3R5bGVyfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcblxuaW1wb3J0IHtyZWdpc3RlclByb3BzfSBmcm9tICcuL2J1dHRvbi5wcm9wcyc7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2J0biBhcHAtYnV0dG9uJztcbmNvbnN0IFdJREdFVF9DT05GSUc6IElXaWRnZXRDb25maWcgPSB7XG4gICAgd2lkZ2V0VHlwZTogJ3dtLWJ1dHRvbicsXG4gICAgaG9zdENsYXNzOiBERUZBVUxUX0NMUyxcbiAgICBkaXNwbGF5VHlwZTogRElTUExBWV9UWVBFLklOTElORV9CTE9DS1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdidXR0b25bd21CdXR0b25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKEJ1dHRvbkNvbXBvbmVudClcbiAgICBdLFxuICAgIGV4cG9ydEFzOiAnd21CdXR0b24nXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIFN0eWxhYmxlQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIGljb251cmw6IHN0cmluZztcbiAgICBwdWJsaWMgaWNvbmNsYXNzOiBzdHJpbmc7XG4gICAgcHVibGljIGNhcHRpb246IHN0cmluZztcbiAgICBwdWJsaWMgYmFkZ2V2YWx1ZTogc3RyaW5nO1xuICAgIHB1YmxpYyBhcmlhbGFiZWw6IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ3R5cGUnKSB0eXBlOiBzdHJpbmc7XG4gICAgQEhvc3RCaW5kaW5nKCd0YWJJbmRleCcpIHRhYmluZGV4OiBudW1iZXI7XG4gICAgQEhvc3RCaW5kaW5nKCdkaXNhYmxlZCcpIGRpc2FibGVkOiBib29sZWFuO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hY2Nlc3NrZXknKSBzaG9ydGN1dGtleTogc3RyaW5nO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pY29uLXBvc2l0aW9uJykgaWNvbnBvc2l0aW9uOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzKTtcbiAgICB9XG59XG4iLCI8aW1nIGRhdGEtaWRlbnRpZmllcj1cImltZ1wiIGFsdD1cImJ1dHRvbiBpbWFnZVwiIGNsYXNzPVwiYnV0dG9uLWltYWdlLWljb25cIiBbc3JjXT1cImljb251cmwgfCBpbWFnZVwiICpuZ0lmPVwiaWNvbnVybFwiIFtuZ1N0eWxlXT1cInt3aWR0aDppY29ud2lkdGgsIGhlaWdodDppY29uaGVpZ2h0LCBtYXJnaW46aWNvbm1hcmdpbn1cIi8+XG48aSBjbGFzcz1cImFwcC1pY29uIHt7aWNvbmNsYXNzfX1cIiBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmdTdHlsZV09XCJ7d2lkdGg6aWNvbndpZHRoLCBoZWlnaHQ6aWNvbmhlaWdodCwgbWFyZ2luOmljb25tYXJnaW4sIGZvbnRTaXplOmljb253aWR0aH1cIiAqbmdJZj1cImljb25jbGFzc1wiPjwvaT5cbjxzcGFuIGNsYXNzPVwic3Itb25seVwiICpuZ0lmPVwiaWNvbmNsYXNzXCI+e3tjYXB0aW9ufX0ge3thcHBMb2NhbGUuTEFCRUxfSUNPTn19PC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJidG4tY2FwdGlvblwiIFtpbm5lckhUTUxdPVwiY2FwdGlvblwiPjwvc3Bhbj5cbjxuZy1jb250ZW50IHNlbGVjdD1cIi5jYXJldFwiPjwvbmctY29udGVudD5cbjxzcGFuICpuZ0lmPVwiYmFkZ2V2YWx1ZVwiIGNsYXNzPVwiYmFkZ2UgcHVsbC1yaWdodFwiIFt0ZXh0Q29udGVudF09XCJiYWRnZXZhbHVlXCI+PC9zcGFuPlxuIl19
@@ -13,41 +13,41 @@ const _c1 = (a0, a1) => ["checkbox", "app-checkbox", a0, a1];
13
13
  const _c2 = a0 => ({ "disabled": a0 });
14
14
  const _c3 = a0 => ({ "collapsible-content": a0 });
15
15
  const _c4 = (a0, a1) => ["checkbox", "app-checkbox", "group-list-item", a0, a1];
16
- function CheckboxsetComponent_Conditional_0_For_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
17
- i0.ɵɵelementStart(0, "label", 4);
18
- i0.ɵɵelement(1, "input", 6)(2, "span", 7);
16
+ function CheckboxsetComponent_ng_template_0_li_0_label_1_Template(rf, ctx) { if (rf & 1) {
17
+ i0.ɵɵelementStart(0, "label", 8);
18
+ i0.ɵɵelement(1, "input", 9)(2, "span", 10);
19
19
  i0.ɵɵelementEnd();
20
20
  } if (rf & 2) {
21
21
  const ctx_r3 = i0.ɵɵnextContext();
22
22
  const item_r2 = ctx_r3.$implicit;
23
- const ɵ$index_2_r5 = ctx_r3.$index;
23
+ const i_r5 = ctx_r3.index;
24
24
  const ctx_r2 = i0.ɵɵnextContext(2);
25
25
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c2, ctx_r2.disabled || ctx_r2.readonly))("title", item_r2.label);
26
26
  i0.ɵɵadvance();
27
27
  i0.ɵɵproperty("name", "checkboxset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("disabled", ctx_r2.disabled || ctx_r2.readonly)("value", item_r2.key)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
28
- i0.ɵɵattribute("data-attr-index", ɵ$index_2_r5);
28
+ i0.ɵɵattribute("data-attr-index", i_r5);
29
29
  i0.ɵɵadvance();
30
30
  i0.ɵɵproperty("textContent", item_r2.label);
31
31
  } }
32
- function CheckboxsetComponent_Conditional_0_For_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
33
- i0.ɵɵelementStart(0, "label", 5);
34
- i0.ɵɵelement(1, "input", 6)(2, "span", 8);
32
+ function CheckboxsetComponent_ng_template_0_li_0_label_2_Template(rf, ctx) { if (rf & 1) {
33
+ i0.ɵɵelementStart(0, "label", 11);
34
+ i0.ɵɵelement(1, "input", 9)(2, "span", 12);
35
35
  i0.ɵɵelementEnd();
36
36
  } if (rf & 2) {
37
37
  const ctx_r3 = i0.ɵɵnextContext();
38
38
  const item_r2 = ctx_r3.$implicit;
39
- const ɵ$index_2_r5 = ctx_r3.$index;
39
+ const i_r5 = ctx_r3.index;
40
40
  const ctx_r2 = i0.ɵɵnextContext(2);
41
41
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2, ctx_r2.disabled || ctx_r2.readonly));
42
42
  i0.ɵɵadvance();
43
43
  i0.ɵɵproperty("name", "checkboxset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("disabled", ctx_r2.disabled || ctx_r2.readonly)("value", item_r2.key)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
44
- i0.ɵɵattribute("data-attr-index", ɵ$index_2_r5);
44
+ i0.ɵɵattribute("data-attr-index", i_r5);
45
45
  } }
46
- function CheckboxsetComponent_Conditional_0_For_1_Template(rf, ctx) { if (rf & 1) {
46
+ function CheckboxsetComponent_ng_template_0_li_0_Template(rf, ctx) { if (rf & 1) {
47
47
  const _r1 = i0.ɵɵgetCurrentView();
48
- i0.ɵɵelementStart(0, "li", 3);
49
- i0.ɵɵlistener("click", function CheckboxsetComponent_Conditional_0_For_1_Template_li_click_0_listener($event) { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCheckboxLabelClick($event, item_r2.key)); });
50
- i0.ɵɵtemplate(1, CheckboxsetComponent_Conditional_0_For_1_Conditional_1_Template, 3, 12, "label", 4)(2, CheckboxsetComponent_Conditional_0_For_1_Conditional_2_Template, 3, 10, "label", 5);
48
+ i0.ɵɵelementStart(0, "li", 5);
49
+ i0.ɵɵlistener("click", function CheckboxsetComponent_ng_template_0_li_0_Template_li_click_0_listener($event) { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCheckboxLabelClick($event, item_r2.key)); });
50
+ i0.ɵɵtemplate(1, CheckboxsetComponent_ng_template_0_li_0_label_1_Template, 3, 12, "label", 6)(2, CheckboxsetComponent_ng_template_0_li_0_label_2_Template, 3, 10, "label", 7);
51
51
  i0.ɵɵelementEnd();
52
52
  } if (rf & 2) {
53
53
  const item_r2 = ctx.$implicit;
@@ -55,63 +55,66 @@ function CheckboxsetComponent_Conditional_0_For_1_Template(rf, ctx) { if (rf & 1
55
55
  i0.ɵɵclassProp("active", item_r2.selected);
56
56
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(7, _c1, ctx_r2.itemclass, ctx_r2.itemsPerRowClass))("wmItemTemplate", ctx_r2.content)("userComponentParams", item_r2);
57
57
  i0.ɵɵadvance();
58
- i0.ɵɵconditional(!ctx_r2.content ? 1 : -1);
58
+ i0.ɵɵproperty("ngIf", !ctx_r2.content);
59
59
  i0.ɵɵadvance();
60
- i0.ɵɵconditional(ctx_r2.content ? 2 : -1);
60
+ i0.ɵɵproperty("ngIf", ctx_r2.content);
61
61
  } }
62
- function CheckboxsetComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
63
- i0.ɵɵrepeaterCreate(0, CheckboxsetComponent_Conditional_0_For_1_Template, 3, 10, "li", 2, i0.ɵɵrepeaterTrackByIdentity);
62
+ function CheckboxsetComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {
63
+ i0.ɵɵtemplate(0, CheckboxsetComponent_ng_template_0_li_0_Template, 3, 10, "li", 4);
64
64
  } if (rf & 2) {
65
65
  const ctx_r2 = i0.ɵɵnextContext();
66
- i0.ɵɵrepeater(ctx_r2.datasetItems);
66
+ i0.ɵɵproperty("ngForOf", ctx_r2.datasetItems);
67
67
  } }
68
- function CheckboxsetComponent_Conditional_1_For_1_Conditional_6_Template(rf, ctx) { if (rf & 1) {
69
- i0.ɵɵelement(0, "i", 14);
68
+ function CheckboxsetComponent_div_2_Template(rf, ctx) { if (rf & 1) {
69
+ i0.ɵɵelement(0, "div", 13);
70
+ } }
71
+ function CheckboxsetComponent_ng_template_3_li_0_i_6_Template(rf, ctx) { if (rf & 1) {
72
+ i0.ɵɵelement(0, "i", 23);
70
73
  } if (rf & 2) {
71
74
  const ctx_r2 = i0.ɵɵnextContext(3);
72
75
  i0.ɵɵpropertyInterpolate2("title", "", ctx_r2.appLocale.LABEL_COLLAPSE, "/", ctx_r2.appLocale.LABEL_EXPAND, "");
73
76
  } }
74
- function CheckboxsetComponent_Conditional_1_For_1_Conditional_7_Template(rf, ctx) { if (rf & 1) {
75
- i0.ɵɵelement(0, "span", 15);
77
+ function CheckboxsetComponent_ng_template_3_li_0_span_7_Template(rf, ctx) { if (rf & 1) {
78
+ i0.ɵɵelement(0, "span", 24);
76
79
  } if (rf & 2) {
77
80
  const groupObj_r7 = i0.ɵɵnextContext().$implicit;
78
81
  i0.ɵɵproperty("textContent", groupObj_r7.data.length);
79
82
  } }
80
- function CheckboxsetComponent_Conditional_1_For_1_For_9_Conditional_1_Template(rf, ctx) { if (rf & 1) {
81
- i0.ɵɵelementStart(0, "label", 4);
82
- i0.ɵɵelement(1, "input", 6)(2, "span", 7);
83
+ function CheckboxsetComponent_ng_template_3_li_0_li_8_label_1_Template(rf, ctx) { if (rf & 1) {
84
+ i0.ɵɵelementStart(0, "label", 8);
85
+ i0.ɵɵelement(1, "input", 9)(2, "span", 10);
83
86
  i0.ɵɵelementEnd();
84
87
  } if (rf & 2) {
85
88
  const ctx_r9 = i0.ɵɵnextContext();
86
89
  const item_r9 = ctx_r9.$implicit;
87
- const ɵ$index_38_r11 = ctx_r9.$index;
90
+ const i_r11 = ctx_r9.index;
88
91
  const ctx_r2 = i0.ɵɵnextContext(3);
89
92
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c2, ctx_r2.disabled || ctx_r2.readonly))("title", item_r9.label);
90
93
  i0.ɵɵadvance();
91
94
  i0.ɵɵproperty("name", "checkboxset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("disabled", ctx_r2.disabled || ctx_r2.readonly)("value", item_r9.key)("tabindex", ctx_r2.tabindex)("checked", item_r9.selected);
92
- i0.ɵɵattribute("data-attr-index", ɵ$index_38_r11);
95
+ i0.ɵɵattribute("data-attr-index", i_r11);
93
96
  i0.ɵɵadvance();
94
97
  i0.ɵɵproperty("textContent", item_r9.label);
95
98
  } }
96
- function CheckboxsetComponent_Conditional_1_For_1_For_9_Conditional_2_Template(rf, ctx) { if (rf & 1) {
97
- i0.ɵɵelementStart(0, "label", 5);
98
- i0.ɵɵelement(1, "input", 6)(2, "span", 18);
99
+ function CheckboxsetComponent_ng_template_3_li_0_li_8_label_2_Template(rf, ctx) { if (rf & 1) {
100
+ i0.ɵɵelementStart(0, "label", 11);
101
+ i0.ɵɵelement(1, "input", 9)(2, "span", 26);
99
102
  i0.ɵɵelementEnd();
100
103
  } if (rf & 2) {
101
104
  const ctx_r9 = i0.ɵɵnextContext();
102
105
  const item_r9 = ctx_r9.$implicit;
103
- const ɵ$index_38_r11 = ctx_r9.$index;
106
+ const i_r11 = ctx_r9.index;
104
107
  const ctx_r2 = i0.ɵɵnextContext(3);
105
108
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2, ctx_r2.disabled || ctx_r2.readonly));
106
109
  i0.ɵɵadvance();
107
110
  i0.ɵɵproperty("name", "checkboxset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("disabled", ctx_r2.disabled || ctx_r2.readonly)("value", item_r9.key)("tabindex", ctx_r2.tabindex)("checked", item_r9.selected);
108
- i0.ɵɵattribute("data-attr-index", ɵ$index_38_r11);
111
+ i0.ɵɵattribute("data-attr-index", i_r11);
109
112
  } }
110
- function CheckboxsetComponent_Conditional_1_For_1_For_9_Template(rf, ctx) { if (rf & 1) {
113
+ function CheckboxsetComponent_ng_template_3_li_0_li_8_Template(rf, ctx) { if (rf & 1) {
111
114
  const _r8 = i0.ɵɵgetCurrentView();
112
- i0.ɵɵelementStart(0, "li", 17);
113
- i0.ɵɵlistener("click", function CheckboxsetComponent_Conditional_1_For_1_For_9_Template_li_click_0_listener($event) { const item_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onCheckboxLabelClick($event, item_r9)); });
114
- i0.ɵɵtemplate(1, CheckboxsetComponent_Conditional_1_For_1_For_9_Conditional_1_Template, 3, 12, "label", 4)(2, CheckboxsetComponent_Conditional_1_For_1_For_9_Conditional_2_Template, 3, 10, "label", 5);
115
+ i0.ɵɵelementStart(0, "li", 25);
116
+ i0.ɵɵlistener("click", function CheckboxsetComponent_ng_template_3_li_0_li_8_Template_li_click_0_listener($event) { const item_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onCheckboxLabelClick($event, item_r9)); });
117
+ i0.ɵɵtemplate(1, CheckboxsetComponent_ng_template_3_li_0_li_8_label_1_Template, 3, 12, "label", 6)(2, CheckboxsetComponent_ng_template_3_li_0_li_8_label_2_Template, 3, 10, "label", 7);
115
118
  i0.ɵɵelementEnd();
116
119
  } if (rf & 2) {
117
120
  const item_r9 = ctx.$implicit;
@@ -119,48 +122,45 @@ function CheckboxsetComponent_Conditional_1_For_1_For_9_Template(rf, ctx) { if (
119
122
  i0.ɵɵclassProp("active", item_r9.selected);
120
123
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(7, _c4, ctx_r2.itemclass, ctx_r2.itemsPerRowClass))("wmItemTemplate", ctx_r2.content)("userComponentParams", item_r9);
121
124
  i0.ɵɵadvance();
122
- i0.ɵɵconditional(!ctx_r2.content ? 1 : -1);
125
+ i0.ɵɵproperty("ngIf", !ctx_r2.content);
123
126
  i0.ɵɵadvance();
124
- i0.ɵɵconditional(ctx_r2.content ? 2 : -1);
127
+ i0.ɵɵproperty("ngIf", ctx_r2.content);
125
128
  } }
126
- function CheckboxsetComponent_Conditional_1_For_1_Template(rf, ctx) { if (rf & 1) {
129
+ function CheckboxsetComponent_ng_template_3_li_0_Template(rf, ctx) { if (rf & 1) {
127
130
  const _r6 = i0.ɵɵgetCurrentView();
128
- i0.ɵɵelementStart(0, "li", 9)(1, "ul", 10)(2, "li", 11);
129
- i0.ɵɵlistener("click", function CheckboxsetComponent_Conditional_1_For_1_Template_li_click_2_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.handleHeaderClick($event)); });
130
- i0.ɵɵelementStart(3, "h4", 12);
131
+ i0.ɵɵelementStart(0, "li", 15)(1, "ul", 16)(2, "li", 17);
132
+ i0.ɵɵlistener("click", function CheckboxsetComponent_ng_template_3_li_0_Template_li_click_2_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.handleHeaderClick($event)); });
133
+ i0.ɵɵelementStart(3, "h4", 18);
131
134
  i0.ɵɵtext(4);
132
- i0.ɵɵelementStart(5, "div", 13);
133
- i0.ɵɵtemplate(6, CheckboxsetComponent_Conditional_1_For_1_Conditional_6_Template, 1, 3, "i", 14)(7, CheckboxsetComponent_Conditional_1_For_1_Conditional_7_Template, 1, 1, "span", 15);
135
+ i0.ɵɵelementStart(5, "div", 19);
136
+ i0.ɵɵtemplate(6, CheckboxsetComponent_ng_template_3_li_0_i_6_Template, 1, 3, "i", 20)(7, CheckboxsetComponent_ng_template_3_li_0_span_7_Template, 1, 1, "span", 21);
134
137
  i0.ɵɵelementEnd()()();
135
- i0.ɵɵrepeaterCreate(8, CheckboxsetComponent_Conditional_1_For_1_For_9_Template, 3, 10, "li", 16, i0.ɵɵrepeaterTrackByIdentity);
138
+ i0.ɵɵtemplate(8, CheckboxsetComponent_ng_template_3_li_0_li_8_Template, 3, 10, "li", 22);
136
139
  i0.ɵɵelementEnd()();
137
140
  } if (rf & 2) {
138
141
  const groupObj_r7 = ctx.$implicit;
139
- const ɵ$index_20_r12 = ctx.$index;
142
+ const groupindex_r12 = ctx.index;
140
143
  const ctx_r2 = i0.ɵɵnextContext(2);
141
144
  i0.ɵɵadvance();
142
- i0.ɵɵattribute("aria-labelledby", "group_" + ctx_r2.widgetId + "_" + ɵ$index_20_r12);
145
+ i0.ɵɵattribute("aria-labelledby", "group_" + ctx_r2.widgetId + "_" + groupindex_r12);
143
146
  i0.ɵɵadvance();
144
- i0.ɵɵproperty("id", "group_" + ctx_r2.widgetId + "_" + ɵ$index_20_r12)("title", groupObj_r7.key)("ngClass", i0.ɵɵpureFunction1(8, _c3, ctx_r2.collapsible));
147
+ i0.ɵɵproperty("id", "group_" + ctx_r2.widgetId + "_" + groupindex_r12)("title", groupObj_r7.key)("ngClass", i0.ɵɵpureFunction1(9, _c3, ctx_r2.collapsible));
145
148
  i0.ɵɵadvance();
146
149
  i0.ɵɵattribute("aria-label", "Group " + groupObj_r7.key);
147
150
  i0.ɵɵadvance();
148
151
  i0.ɵɵtextInterpolate1("", groupObj_r7.key, " ");
149
152
  i0.ɵɵadvance(2);
150
- i0.ɵɵconditional(ctx_r2.collapsible ? 6 : -1);
153
+ i0.ɵɵproperty("ngIf", ctx_r2.collapsible);
151
154
  i0.ɵɵadvance();
152
- i0.ɵɵconditional(ctx_r2.showcount ? 7 : -1);
155
+ i0.ɵɵproperty("ngIf", ctx_r2.showcount);
153
156
  i0.ɵɵadvance();
154
- i0.ɵɵrepeater(groupObj_r7.data);
157
+ i0.ɵɵproperty("ngForOf", groupObj_r7.data);
155
158
  } }
156
- function CheckboxsetComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
157
- i0.ɵɵrepeaterCreate(0, CheckboxsetComponent_Conditional_1_For_1_Template, 10, 10, "li", 9, i0.ɵɵrepeaterTrackByIdentity);
159
+ function CheckboxsetComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
160
+ i0.ɵɵtemplate(0, CheckboxsetComponent_ng_template_3_li_0_Template, 9, 11, "li", 14);
158
161
  } if (rf & 2) {
159
162
  const ctx_r2 = i0.ɵɵnextContext();
160
- i0.ɵɵrepeater(ctx_r2.groupedData);
161
- } }
162
- function CheckboxsetComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
163
- i0.ɵɵelement(0, "div", 1);
163
+ i0.ɵɵproperty("ngForOf", ctx_r2.groupedData);
164
164
  } }
165
165
  const DEFAULT_CLS = 'app-checkboxset list-group inline';
166
166
  const WIDGET_CONFIG = { widgetType: 'wm-checkboxset', hostClass: DEFAULT_CLS };
@@ -234,17 +234,18 @@ export class CheckboxsetComponent extends DatasetAwareFormComponent {
234
234
  provideAs(CheckboxsetComponent, NG_VALUE_ACCESSOR, true),
235
235
  provideAs(CheckboxsetComponent, NG_VALIDATORS, true),
236
236
  provideAsWidgetRef(CheckboxsetComponent)
237
- ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 4, vars: 3, consts: [["hidden", "", 1, "model-holder", 3, "disabled"], [1, "readonly-wrapper"], ["partialContainer", "", "role", "presentation", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams"], ["partialContainer", "", "role", "presentation", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], [1, "app-checkboxset-label", 3, "ngClass", "title"], [1, "app-checkboxset-label", 3, "ngClass"], ["type", "checkbox", 3, "name", "tabindex", "disabled", "value", "checked"], [1, "caption", 3, "textContent"], ["partial-container-target", "", 1, "caption", "customTemplate"], ["role", "presentation", 1, "app-list-item-group"], [1, "item-group"], ["aria-hidden", "true", 1, "list-group-header", 3, "click", "id", "title", "ngClass"], [1, "group-title"], [1, "header-action"], [1, "app-icon", "wi", "action", "wi-chevron-up", 3, "title"], [1, "label", "label-default", 3, "textContent"], ["partialContainer", "", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams"], ["partialContainer", "", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["partial-container-target", "", 1, "caption"]], template: function CheckboxsetComponent_Template(rf, ctx) { if (rf & 1) {
238
- i0.ɵɵtemplate(0, CheckboxsetComponent_Conditional_0_Template, 2, 0)(1, CheckboxsetComponent_Conditional_1_Template, 2, 0);
239
- i0.ɵɵelement(2, "input", 0);
240
- i0.ɵɵtemplate(3, CheckboxsetComponent_Conditional_3_Template, 1, 0, "div", 1);
237
+ ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 5, vars: 4, consts: [["groupedListTemplate", ""], [3, "ngIf", "ngIfElse"], ["hidden", "", 1, "model-holder", 3, "disabled"], ["class", "readonly-wrapper", 4, "ngIf"], ["partialContainer", "", "role", "presentation", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], ["partialContainer", "", "role", "presentation", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["class", "app-checkboxset-label", 3, "ngClass", "title", 4, "ngIf"], ["class", "app-checkboxset-label", 3, "ngClass", 4, "ngIf"], [1, "app-checkboxset-label", 3, "ngClass", "title"], ["type", "checkbox", 3, "name", "tabindex", "disabled", "value", "checked"], [1, "caption", 3, "textContent"], [1, "app-checkboxset-label", 3, "ngClass"], ["partial-container-target", "", 1, "caption", "customTemplate"], [1, "readonly-wrapper"], ["class", "app-list-item-group", "role", "presentation", 4, "ngFor", "ngForOf"], ["role", "presentation", 1, "app-list-item-group"], [1, "item-group"], ["aria-hidden", "true", 1, "list-group-header", 3, "click", "id", "title", "ngClass"], [1, "group-title"], [1, "header-action"], ["class", "app-icon wi action wi-chevron-up", 3, "title", 4, "ngIf"], ["class", "label label-default", 3, "textContent", 4, "ngIf"], ["partialContainer", "", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], [1, "app-icon", "wi", "action", "wi-chevron-up", 3, "title"], [1, "label", "label-default", 3, "textContent"], ["partialContainer", "", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["partial-container-target", "", 1, "caption"]], template: function CheckboxsetComponent_Template(rf, ctx) { if (rf & 1) {
238
+ i0.ɵɵtemplate(0, CheckboxsetComponent_ng_template_0_Template, 1, 1, "ng-template", 1);
239
+ i0.ɵɵelement(1, "input", 2);
240
+ i0.ɵɵtemplate(2, CheckboxsetComponent_div_2_Template, 1, 0, "div", 3)(3, CheckboxsetComponent_ng_template_3_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
241
241
  } if (rf & 2) {
242
- i0.ɵɵconditional(!ctx.groupby ? 0 : 1);
243
- i0.ɵɵadvance(2);
242
+ const groupedListTemplate_r13 = i0.ɵɵreference(4);
243
+ i0.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse", groupedListTemplate_r13);
244
+ i0.ɵɵadvance();
244
245
  i0.ɵɵproperty("disabled", ctx.disabled || ctx.readonly);
245
246
  i0.ɵɵadvance();
246
- i0.ɵɵconditional(ctx.readonly || ctx.disabled ? 3 : -1);
247
- } }, dependencies: [i1.NgClass, i2.ItemTemplateDirective, i2.PartialParamHandlerDirective, i2.PartialContainerDirective, i2.TextContentDirective], encapsulation: 2 }); }
247
+ i0.ɵɵproperty("ngIf", ctx.readonly || ctx.disabled);
248
+ } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.ItemTemplateDirective, i2.PartialParamHandlerDirective, i2.PartialContainerDirective, i2.TextContentDirective], encapsulation: 2 }); }
248
249
  }
249
250
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CheckboxsetComponent, [{
250
251
  type: Component,
@@ -252,7 +253,7 @@ export class CheckboxsetComponent extends DatasetAwareFormComponent {
252
253
  provideAs(CheckboxsetComponent, NG_VALUE_ACCESSOR, true),
253
254
  provideAs(CheckboxsetComponent, NG_VALIDATORS, true),
254
255
  provideAsWidgetRef(CheckboxsetComponent)
255
- ], template: "@if (!groupby) {\n @for (item of datasetItems; track item; let i = $index) {\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n} @else {\n @for (groupObj of groupedData; track groupObj; let groupindex = $index) {\n <li class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n }\n </div>\n </h4>\n </li>\n @for (item of groupObj.data; track item; let i = $index) {\n <li\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n }\n </li>\n }\n </ul>\n </li>\n }\n}\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n@if (readonly || disabled) {\n <div class=\"readonly-wrapper\"></div>\n}\n\n<!-- This template will be displayed when groupby is specified. -->\n" }]
256
+ ], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems; let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData; let groupindex = index;\" class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n" }]
256
257
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
257
258
  type: Inject,
258
259
  args: ['EXPLICIT_CONTEXT']
@@ -263,4 +264,4 @@ export class CheckboxsetComponent extends DatasetAwareFormComponent {
263
264
  args: ['keydown.enter', ['$event', '"ENTER"']]
264
265
  }] }); })();
265
266
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CheckboxsetComponent, { className: "CheckboxsetComponent", filePath: "checkboxset/checkboxset.component.ts", lineNumber: 27 }); })();
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hzZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2RlZmF1bHQvc3JjL2NoZWNrYm94c2V0L2NoZWNrYm94c2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9jaGVja2JveHNldC9jaGVja2JveHNldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFvQixZQUFZLEVBQWMsTUFBTSxVQUFVLENBQUM7QUFDdEUsT0FBTyxFQUFvRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFvQixNQUFNLHFCQUFxQixDQUFDO0FBQ2hLLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7OztJQ0FwQyxnQ0FBd0c7SUFLdEcsQUFKQSwyQkFHc0UsY0FDZDtJQUMxRCxpQkFBUTs7Ozs7O0lBTjJFLEFBQTlDLHlGQUE2Qyx3QkFBcUI7SUFDOUYsY0FBa0M7SUFHRSxBQUF0QixBQUFuQixBQURBLEFBRndDLEFBQW5DLHVEQUFrQyw2QkFBc0IsZ0RBRTVCLHNCQUNmLDZCQUFzQiw2QkFBMEI7O0lBQzlDLGNBQTBCO0lBQTFCLDJDQUEwQjs7O0lBS2xELGdD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QVMsQ0FBQyxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUM7Z0JBQ3hELFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDO2dCQUNwRCxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQzthQUMzQztZQ0tILEFBNUJGLG1FQUFnQixzREE0QlA7WUFnRFQsMkJBQXFFO1lBQ3JFLDZFQUE0Qjs7WUE3RTVCLHNDQTJFQztZQUNNLGVBQWlDO1lBQWpDLHVEQUFpQztZQUN4QyxjQUVDO1lBRkQsdURBRUM7OztpRkRyRFksb0JBQW9CO2NBWGhDLFNBQVM7MkJBQ0ksaUJBQWlCLFlBQ2pCLGVBQWUsYUFFZDtvQkFDUCxTQUFTLHVCQUF1QixpQkFBaUIsRUFBRSxJQUFJLENBQUM7b0JBQ3hELFNBQVMsdUJBQXVCLGFBQWEsRUFBRSxJQUFJLENBQUM7b0JBQ3BELGtCQUFrQixzQkFBc0I7aUJBQzNDOztzQkFnQjJCLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQXFEaEUsU0FBUztrQkFEUixZQUFZO21CQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7O2tGQWpFM0Msb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBdHRyaWJ1dGUsIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgTkdfVkFMSURBVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtBcHBEZWZhdWx0cywgbm9vcCwgc2V0TGlzdENsYXNzLCBzd2l0Y2hDbGFzc30gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgY29udmVydERhdGFUb09iamVjdCwgSVdpZGdldENvbmZpZywgZ3JvdXBEYXRhLCBoYW5kbGVIZWFkZXJDbGljaywgcHJvdmlkZUFzLCBwcm92aWRlQXNXaWRnZXRSZWYsIHN0eWxlciwgdG9nZ2xlQWxsSGVhZGVycyB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2RhdGFzZXQtYXdhcmUtZm9ybS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi4vY2hlY2tib3hzZXQvY2hlY2tib3hzZXQucHJvcHMnO1xuaW1wb3J0IHtmb3JFYWNoLCBpbmNsdWRlc30gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5kZWNsYXJlIGNvbnN0ICQ7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2FwcC1jaGVja2JveHNldCBsaXN0LWdyb3VwIGlubGluZSc7XG5jb25zdCBXSURHRVRfQ09ORklHOiBJV2lkZ2V0Q29uZmlnID0ge3dpZGdldFR5cGU6ICd3bS1jaGVja2JveHNldCcsIGhvc3RDbGFzczogREVGQVVMVF9DTFN9O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bUNoZWNrYm94c2V0XScsXG4gICAgZXhwb3J0QXM6ICd3bUNoZWNrYm94c2V0JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NoZWNrYm94c2V0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzKENoZWNrYm94c2V0Q29tcG9uZW50LCBOR19WQUxVRV9BQ0NFU1NPUiwgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBcyhDaGVja2JveHNldENvbXBvbmVudCwgTkdfVkFMSURBVE9SUywgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihDaGVja2JveHNldENvbXBvbmVudClcbiAgICBdXG59KVxuXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hzZXRDb21wb25lbnQgZXh0ZW5kcyBEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIGxheW91dCA9ICcnO1xuICAgIHB1YmxpYyBjb2xsYXBzaWJsZTogYm9vbGVhbjtcblxuICAgIHByb3RlY3RlZCBtYXRjaDogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBkYXRlZm9ybWF0OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIGl0ZW1zcGVycm93OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBpdGVtc1BlclJvd0NsYXNzOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzKTtcbiAgICAgICAgdGhpcy5tdWx0aXBsZSA9IHRydWU7XG4gICAgfVxuXG4gICAgdHJpZ2dlckludm9rZU9uQ2hhbmdlKGtleXMsICRldmVudCkge1xuICAgICAgICB0aGlzLm1vZGVsQnlLZXkgPSBrZXlzO1xuXG4gICAgICAgIGlmKHRoaXMudmlld1BhcmVudC5jb250YWluZXJXaWRnZXQgJiYgdGhpcy52aWV3UGFyZW50LmNvbnRhaW5lcldpZGdldC51cGRhdGVEYXRhVmFsdWUpXG4gICAgICAgICAgICB0aGlzLnZpZXdQYXJlbnQuY29udGFpbmVyV2lkZ2V0LnVwZGF0ZURhdGFWYWx1ZSh0aGlzLmRhdGF2YWx1ZSk7XG5cbiAgICAgICAgdGhpcy5pbnZva2VPblRvdWNoZWQoKTtcbiAgICAgICAgLy8gaW52b2tlIG9uIGRhdGF2YWx1ZSBjaGFuZ2UuXG4gICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsICRldmVudCB8fCB7fSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgb25DaGVja2JveExhYmVsQ2xpY2soJGV2ZW50LCBrZXkpIHtcbiAgICAgICAgaWYgKCEkKCRldmVudC50YXJnZXQpLmlzKCdpbnB1dCcpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb25zdHJ1Y3QgdGhlIF9tb2RlbCBmcm9tIHRoZSBjaGVja2VkIGVsZW1lbnRzLlxuICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnRzID0gdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0OmNoZWNrZWQnKTtcbiAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xuICAgICAgICBmb3JFYWNoKGlucHV0RWxlbWVudHMsICgkZWwpID0+IHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGtleXMucHVzaCgkZWwudmFsdWUpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnRyaWdnZXJJbnZva2VPbkNoYW5nZShrZXlzLCAkZXZlbnQpO1xuICAgIH1cblxuICAgIC8vIGNoYW5nZSBhbmQgYmx1ciBldmVudHMgYXJlIGFkZGVkIGZyb20gdGhlIHRlbXBsYXRlXG4gICAgcHJvdGVjdGVkIGhhbmRsZUV2ZW50KG5vZGU6IEhUTUxFbGVtZW50LCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uLCBsb2NhbHM6IGFueSkge1xuICAgICAgICBpZiAoZXZlbnROYW1lID09PSAnY2xpY2snKSB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICAgZXZlbnROYW1lLFxuICAgICAgICAgICAgICAgIGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoISQoZS50YXJnZXQpLmlzKCdpbnB1dCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbG9jYWxzLiRldmVudCA9IGU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAoIWluY2x1ZGVzKFsnY2hhbmdlJ10sIGV2ZW50TmFtZSkpIHtcbiAgICAgICAgICAgIHN1cGVyLmhhbmRsZUV2ZW50KG5vZGUsIGV2ZW50TmFtZSwgY2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnLCAnXCJFTlRFUlwiJ10pXG4gICAgb25LZXlEb3duKCRldmVudCkge1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgJGV2ZW50LnRhcmdldC5jbGljaygpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3Y/KSB7XG5cbiAgICAgICAgaWYgKGtleSA9PT0gJ3RhYmluZGV4Jykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChrZXkgPT09ICdyZXF1aXJlZCcpIHtcbiAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoa2V5ID09PSAnaXRlbXNwZXJyb3cnKSB7XG4gICAgICAgICAgICBzZXRMaXN0Q2xhc3ModGhpcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpZiAoIWdyb3VwYnkpIHtcbiAgQGZvciAoaXRlbSBvZiBkYXRhc2V0SXRlbXM7IHRyYWNrIGl0ZW07IGxldCBpID0gJGluZGV4KSB7XG4gICAgPGxpIFtuZ0NsYXNzXT1cIlsnY2hlY2tib3gnLCAnYXBwLWNoZWNrYm94JywgaXRlbWNsYXNzLCBpdGVtc1BlclJvd0NsYXNzXVwiXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgW3dtSXRlbVRlbXBsYXRlXT1cImNvbnRlbnRcIiBbdXNlckNvbXBvbmVudFBhcmFtc109XCJpdGVtXCIgcGFydGlhbENvbnRhaW5lclxuICAgICAgKGNsaWNrKT1cIm9uQ2hlY2tib3hMYWJlbENsaWNrKCRldmVudCwgaXRlbS5rZXkpXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgPCEtLSBEZWZhdWx0IGl0ZW0gdGVtcGxhdGUgLS0+XG4gICAgICBAaWYgKCFjb250ZW50KSB7XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImFwcC1jaGVja2JveHNldC1sYWJlbFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOmRpc2FibGVkIHx8IHJlYWRvbmx5fVwiIFt0aXRsZV09XCJpdGVtLmxhYmVsXCI+XG4gICAgICAgICAgPGlucHV0IFtuYW1lXT1cIidjaGVja2JveHNldF8nICsgd2lkZ2V0SWRcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIFthdHRyLmRhdGEtYXR0ci1pbmRleF09XCJpXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIi8+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCIgW3RleHRDb250ZW50XT1cIml0ZW0ubGFiZWxcIj48L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICB9XG4gICAgICA8IS0tIEN1c3RvbSBwYXJ0aWFsIHRlbXBsYXRlIC0tPlxuICAgICAgQGlmIChjb250ZW50KSB7XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImFwcC1jaGVja2JveHNldC1sYWJlbFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOmRpc2FibGVkIHx8IHJlYWRvbmx5fVwiID5cbiAgICAgICAgICA8aW5wdXQgW25hbWVdPVwiJ2NoZWNrYm94c2V0XycgKyB3aWRnZXRJZFwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgW2F0dHIuZGF0YS1hdHRyLWluZGV4XT1cImlcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ua2V5XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW2NoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiLz5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb24gY3VzdG9tVGVtcGxhdGVcIiBwYXJ0aWFsLWNvbnRhaW5lci10YXJnZXQ+PC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgfVxuICAgIDwvbGk+XG4gIH1cbn0gQGVsc2Uge1xuICBAZm9yIChncm91cE9iaiBvZiBncm91cGVkRGF0YTsgdHJhY2sgZ3JvdXBPYmo7IGxldCBncm91cGluZGV4ID0gJGluZGV4KSB7XG4gICAgPGxpIGNsYXNzPVwiYXBwLWxpc3QtaXRlbS1ncm91cFwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgIDx1bCBjbGFzcz1cIml0ZW0tZ3JvdXBcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2dyb3VwXycgKyB3aWRnZXRJZCArICdfJyArIGdyb3VwaW5kZXhcIj5cbiAgICAgICAgPGxpIFtpZF09XCInZ3JvdXBfJyArIHdpZGdldElkICsgJ18nICsgZ3JvdXBpbmRleFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwibGlzdC1ncm91cC1oZWFkZXJcIiAoY2xpY2spPVwiaGFuZGxlSGVhZGVyQ2xpY2soJGV2ZW50KVwiIFt0aXRsZV09XCJncm91cE9iai5rZXlcIiBbbmdDbGFzc109XCJ7J2NvbGxhcHNpYmxlLWNvbnRlbnQnOiBjb2xsYXBzaWJsZX1cIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJncm91cC10aXRsZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0dyb3VwICcrZ3JvdXBPYmoua2V5XCI+e3tncm91cE9iai5rZXl9fVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1hY3Rpb25cIj5cbiAgICAgICAgICAgICAgQGlmIChjb2xsYXBzaWJsZSkge1xuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYXBwLWljb24gd2kgYWN0aW9uIHdpLWNoZXZyb24tdXBcIiB0aXRsZT1cInt7YXBwTG9jYWxlLkxBQkVMX0NPTExBUFNFfX0ve3thcHBMb2NhbGUuTEFCRUxfRVhQQU5EfX1cIj48L2k+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChzaG93Y291bnQpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsIGxhYmVsLWRlZmF1bHRcIiBbdGV4dENvbnRlbnRdPVwiZ3JvdXBPYmouZGF0YS5sZW5ndGhcIj48L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvaDQ+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgZ3JvdXBPYmouZGF0YTsgdHJhY2sgaXRlbTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlsnY2hlY2tib3gnLCAnYXBwLWNoZWNrYm94JywgJ2dyb3VwLWxpc3QtaXRlbScsIGl0ZW1jbGFzcywgaXRlbXNQZXJSb3dDbGFzc11cIlxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgIFt3bUl0ZW1UZW1wbGF0ZV09XCJjb250ZW50XCIgW3VzZXJDb21wb25lbnRQYXJhbXNdPVwiaXRlbVwiIHBhcnRpYWxDb250YWluZXJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNoZWNrYm94TGFiZWxDbGljaygkZXZlbnQsIGl0ZW0pXCI+XG4gICAgICAgICAgICA8IS0tIERlZmF1bHQgaXRlbSB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgICAgIEBpZiAoIWNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYXBwLWNoZWNrYm94c2V0LWxhYmVsXCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ZGlzYWJsZWQgfHwgcmVhZG9ubHl9XCIgW3RpdGxlXT1cIml0ZW0ubGFiZWxcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgW25hbWVdPVwiJ2NoZWNrYm94c2V0XycgKyB3aWRnZXRJZFwiIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgW2F0dHIuZGF0YS1hdHRyLWluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ua2V5XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW2NoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiLz5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiaXRlbS5sYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwhLS0gQ3VzdG9tIHBhcnRpYWwgdGVtcGxhdGUgLS0+XG4gICAgICAgICAgICBAaWYgKGNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYXBwLWNoZWNrYm94c2V0LWxhYmVsXCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ZGlzYWJsZWQgfHwgcmVhZG9ubHl9XCIgPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBbbmFtZV09XCInY2hlY2tib3hzZXRfJyArIHdpZGdldElkXCIgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbYXR0ci5kYXRhLWF0dHItaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCIvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvblwiIHBhcnRpYWwtY29udGFpbmVyLXRhcmdldD48L3NwYW4+XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgfVxuICAgICAgPC91bD5cbiAgICA8L2xpPlxuICB9XG59XG48aW5wdXQgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgaGlkZGVuIGNsYXNzPVwibW9kZWwtaG9sZGVyXCI+XG5AaWYgKHJlYWRvbmx5IHx8IGRpc2FibGVkKSB7XG4gIDxkaXYgY2xhc3M9XCJyZWFkb25seS13cmFwcGVyXCI+PC9kaXY+XG59XG5cbjwhLS0gVGhpcyB0ZW1wbGF0ZSB3aWxsIGJlIGRpc3BsYXllZCB3aGVuIGdyb3VwYnkgaXMgc3BlY2lmaWVkLiAtLT5cbiJdfQ==
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hzZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2RlZmF1bHQvc3JjL2NoZWNrYm94c2V0L2NoZWNrYm94c2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9jaGVja2JveHNldC9jaGVja2JveHNldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFvQixZQUFZLEVBQWMsTUFBTSxVQUFVLENBQUM7QUFDdEUsT0FBTyxFQUFvRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFvQixNQUFNLHFCQUFxQixDQUFDO0FBQ2hLLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7OztJQ0RwQyxnQ0FBeUg7SUFLckgsQUFKQSwyQkFHMkUsZUFDbkI7SUFDNUQsaUJBQVE7Ozs7OztJQU40RixBQUE5Qyx5RkFBNkMsd0JBQXFCO0lBQzdHLGNBQWtDO0lBR08sQUFBdEIsQUFBbkIsQUFEQSxBQUZtQyxBQUFuQyx1REFBa0MsNkJBQXNCLGdEQUV2QixzQkFDZiw2QkFBc0IsNkJBQTBCOztJQUNuRCxjQUEwQjtJQUExQiwyQ0FBMEI7OztJQUdwRCxpQ0FBb0c7SUFLaEcsQUFKQSwyQkFHMkUsZUFDTjtJQUN6RSxpQkFBUTs7Ozs7O0lBTjZDLHdGQUE2QztJQUN2RixjQUFrQztJQUdPLEFBQXRCLEFBQW5CLEFBREEsQUFGbUMsQUFBbkMsdURBQWtDLDZCQUFzQixnREFFdkIsc0JBQ2YsNkJBQXNCLDZCQUEwQjs7Ozs7SUFsQmpGLDZCQUl5RTtJQUFyRSwwTkFBUyxnREFBc0MsS0FBQztJQVVoRCxBQVJBLDZGQUF5SCxnRkFRckI7SUFPeEcsaUJBQUs7Ozs7SUFwQkQsMENBQThCO0lBRUgsQUFBM0IsQUFIQSwrRkFBcUUsa0NBRzNDLGdDQUE2QjtJQUcvQyxjQUFjO0lBQWQsc0NBQWM7SUFRZCxjQUFhO0lBQWIscUNBQWE7OztJQWR6QixrRkFJeUU7OztJQUZwRCw2Q0FBaUI7OztJQXNCMUMsMEJBQWlFOzs7SUFTekMsd0JBQW9JOzs7SUFBcEUsK0dBQStEOzs7SUFDL0gsMkJBQWdHOzs7SUFBNUMscURBQW9DOzs7SUFVaEcsZ0NBQXlIO0lBS3JILEFBSkEsMkJBRzJFLGVBQ25CO0lBQzVELGlCQUFROzs7Ozs7SUFONEYsQUFBOUMseUZBQTZDLHdCQUFxQjtJQUM3RyxjQUFrQztJQUdPLEFBQXRCLEFBQW5CLEFBREEsQUFEQSxBQURBLHVEQUFrQyw2QkFDYixnREFDWSxzQkFDZiw2QkFBc0IsNkJBQTBCOztJQUNuRCxjQUEwQjtJQUExQiwyQ0FBMEI7OztJQUdwRCxpQ0FBb0c7SUFLaEcsQUFKQSwyQkFHMkUsZUFDckI7SUFDMUQsaUJBQVE7Ozs7OztJQU42Qyx3RkFBNkM7SUFDdkYsY0FBa0M7SUFHTyxBQUF0QixBQUFuQixBQURBLEFBREEsQUFEQSx1REFBa0MsNkJBQ2IsZ0RBQ1ksc0JBQ2YsNkJBQXNCLDZCQUEwQjs7Ozs7SUFsQmpGLDhCQUlpRDtJQUE3QywrTkFBUyw0Q0FBa0MsS0FBQztJQVU1QyxBQVJBLGtHQUF5SCxxRkFRckI7SUFPeEcsaUJBQUs7Ozs7SUFuQkQsMENBQThCO0lBQ0gsQUFBM0IsQUFGQSwrRkFBd0Ysa0NBRTlELGdDQUE2QjtJQUcvQyxjQUFjO0lBQWQsc0NBQWM7SUFRZCxjQUFhO0lBQWIscUNBQWE7Ozs7SUF0QnpCLEFBREosQUFESiw4QkFBa0gsYUFDdkIsYUFDd0g7SUFBNUcsZ01BQVMsZ0NBQXlCLEtBQUM7SUFDOUgsOEJBQWtFO0lBQUEsWUFDOUQ7SUFBQSwrQkFBMkI7SUFFdkIsQUFEQSxxRkFBZ0ksOEVBQ3ZDO0lBR3JHLEFBREksQUFESSxpQkFBTSxFQUNMLEVBQ0o7SUFDTCx3RkFJaUQ7SUFtQnpELEFBREksaUJBQUssRUFDSjs7Ozs7SUFoQ3NCLGNBQStEOztJQUM5RSxjQUE2QztJQUF5RyxBQUF2QixBQUEvSCxzRUFBNkMsMEJBQXdHLDJEQUFpRDtJQUM5SyxjQUF5Qzs7SUFBQyxjQUM5RDtJQUQ4RCwrQ0FDOUQ7SUFDaUQsZUFBaUI7SUFBakIseUNBQWlCO0lBQ3ZELGNBQWU7SUFBZix1Q0FBZTtJQUliLGNBQWtCO0lBQWxCLDBDQUFrQjs7O0lBVi9DLG1GQUFrSDs7O0lBQXpGLDRDQUFnQjs7QURqQjdDLE1BQU0sV0FBVyxHQUFHLG1DQUFtQyxDQUFDO0FBQ3hELE1BQU0sYUFBYSxHQUFrQixFQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFDLENBQUM7QUFhNUYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHlCQUF5QjthQUN4RCxvQkFBZSxHQUFHLGFBQWEsRUFBRSxBQUFsQixDQUFtQjtJQVl6QyxZQUFZLEdBQWEsRUFBMEMsZUFBb0I7UUFDbkYsS0FBSyxDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFYeEMsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQVlmLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsTUFBTTtRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUV2QixJQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLGVBQWU7WUFDakYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsR0FBRztRQUM1QixJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPO1FBQ1gsQ0FBQztRQUVELGtEQUFrRDtRQUNsRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoQixPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDM0IsYUFBYTtZQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQscURBQXFEO0lBQzNDLFdBQVcsQ0FBQyxJQUFpQixFQUFFLFNBQWlCLEVBQUUsUUFBa0IsRUFBRSxNQUFXO1FBQ3ZGLElBQUksU0FBUyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQzlCLElBQUksRUFDSixTQUFTLEVBQ1QsQ0FBQyxDQUFDLEVBQUU7Z0JBQ0EsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQzNCLE9BQU87Z0JBQ1gsQ0FBQztnQkFDRCxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDbEIsT0FBTyxRQUFRLEVBQUUsQ0FBQztZQUN0QixDQUFDLENBQ0osQ0FBQztRQUNOLENBQUM7YUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDTCxDQUFDO0lBR0QsU0FBUyxDQUFDLE1BQU07UUFDWixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFHO1FBRXpCLElBQUksR0FBRyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxHQUFHLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0IsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLEdBQUcsS0FBSyxhQUFhLEVBQUUsQ0FBQztZQUN4QixZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsQ0FBQzthQUFNLENBQUM7WUFDSixLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0wsQ0FBQztxSEFyRlEsb0JBQW9CLDBEQWFNLGtCQUFrQjtvRUFiNUMsb0JBQW9CO1lBQXBCLCtHQUFBLHNCQUFpQixPQUFPLENBQUMsSUFBTDsyRUFQbEI7Z0JBQ1AsU0FBUyxDQUFDLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQztnQkFDeEQsU0FBUyxDQUFDLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUM7Z0JBQ3BELGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO2FBQzNDO1lDdkJMLHFGQUFnRTtZQXdCaEUsMkJBQXFFO1lBSXJFLEFBSEEscUVBQTJELHlHQUd6Qjs7O1lBNUJILEFBQWxCLG1DQUFpQixxQ0FBaUM7WUF3QnhELGNBQWlDO1lBQWpDLHVEQUFpQztZQUNsQyxjQUEwQjtZQUExQixtREFBMEI7OztpRkRDbkIsb0JBQW9CO2NBWGhDLFNBQVM7MkJBQ0ksaUJBQWlCLFlBQ2pCLGVBQWUsYUFFZDtvQkFDUCxTQUFTLHVCQUF1QixpQkFBaUIsRUFBRSxJQUFJLENBQUM7b0JBQ3hELFNBQVMsdUJBQXVCLGFBQWEsRUFBRSxJQUFJLENBQUM7b0JBQ3BELGtCQUFrQixzQkFBc0I7aUJBQzNDOztzQkFnQjJCLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQXFEaEUsU0FBUztrQkFEUixZQUFZO21CQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7O2tGQWpFM0Msb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBdHRyaWJ1dGUsIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgTkdfVkFMSURBVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtBcHBEZWZhdWx0cywgbm9vcCwgc2V0TGlzdENsYXNzLCBzd2l0Y2hDbGFzc30gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgY29udmVydERhdGFUb09iamVjdCwgSVdpZGdldENvbmZpZywgZ3JvdXBEYXRhLCBoYW5kbGVIZWFkZXJDbGljaywgcHJvdmlkZUFzLCBwcm92aWRlQXNXaWRnZXRSZWYsIHN0eWxlciwgdG9nZ2xlQWxsSGVhZGVycyB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2RhdGFzZXQtYXdhcmUtZm9ybS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi4vY2hlY2tib3hzZXQvY2hlY2tib3hzZXQucHJvcHMnO1xuaW1wb3J0IHtmb3JFYWNoLCBpbmNsdWRlc30gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5kZWNsYXJlIGNvbnN0ICQ7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2FwcC1jaGVja2JveHNldCBsaXN0LWdyb3VwIGlubGluZSc7XG5jb25zdCBXSURHRVRfQ09ORklHOiBJV2lkZ2V0Q29uZmlnID0ge3dpZGdldFR5cGU6ICd3bS1jaGVja2JveHNldCcsIGhvc3RDbGFzczogREVGQVVMVF9DTFN9O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bUNoZWNrYm94c2V0XScsXG4gICAgZXhwb3J0QXM6ICd3bUNoZWNrYm94c2V0JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NoZWNrYm94c2V0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzKENoZWNrYm94c2V0Q29tcG9uZW50LCBOR19WQUxVRV9BQ0NFU1NPUiwgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBcyhDaGVja2JveHNldENvbXBvbmVudCwgTkdfVkFMSURBVE9SUywgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihDaGVja2JveHNldENvbXBvbmVudClcbiAgICBdXG59KVxuXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hzZXRDb21wb25lbnQgZXh0ZW5kcyBEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIGxheW91dCA9ICcnO1xuICAgIHB1YmxpYyBjb2xsYXBzaWJsZTogYm9vbGVhbjtcblxuICAgIHByb3RlY3RlZCBtYXRjaDogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBkYXRlZm9ybWF0OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIGl0ZW1zcGVycm93OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBpdGVtc1BlclJvd0NsYXNzOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzKTtcbiAgICAgICAgdGhpcy5tdWx0aXBsZSA9IHRydWU7XG4gICAgfVxuXG4gICAgdHJpZ2dlckludm9rZU9uQ2hhbmdlKGtleXMsICRldmVudCkge1xuICAgICAgICB0aGlzLm1vZGVsQnlLZXkgPSBrZXlzO1xuXG4gICAgICAgIGlmKHRoaXMudmlld1BhcmVudC5jb250YWluZXJXaWRnZXQgJiYgdGhpcy52aWV3UGFyZW50LmNvbnRhaW5lcldpZGdldC51cGRhdGVEYXRhVmFsdWUpXG4gICAgICAgICAgICB0aGlzLnZpZXdQYXJlbnQuY29udGFpbmVyV2lkZ2V0LnVwZGF0ZURhdGFWYWx1ZSh0aGlzLmRhdGF2YWx1ZSk7XG5cbiAgICAgICAgdGhpcy5pbnZva2VPblRvdWNoZWQoKTtcbiAgICAgICAgLy8gaW52b2tlIG9uIGRhdGF2YWx1ZSBjaGFuZ2UuXG4gICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsICRldmVudCB8fCB7fSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgb25DaGVja2JveExhYmVsQ2xpY2soJGV2ZW50LCBrZXkpIHtcbiAgICAgICAgaWYgKCEkKCRldmVudC50YXJnZXQpLmlzKCdpbnB1dCcpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb25zdHJ1Y3QgdGhlIF9tb2RlbCBmcm9tIHRoZSBjaGVja2VkIGVsZW1lbnRzLlxuICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnRzID0gdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0OmNoZWNrZWQnKTtcbiAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xuICAgICAgICBmb3JFYWNoKGlucHV0RWxlbWVudHMsICgkZWwpID0+IHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGtleXMucHVzaCgkZWwudmFsdWUpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnRyaWdnZXJJbnZva2VPbkNoYW5nZShrZXlzLCAkZXZlbnQpO1xuICAgIH1cblxuICAgIC8vIGNoYW5nZSBhbmQgYmx1ciBldmVudHMgYXJlIGFkZGVkIGZyb20gdGhlIHRlbXBsYXRlXG4gICAgcHJvdGVjdGVkIGhhbmRsZUV2ZW50KG5vZGU6IEhUTUxFbGVtZW50LCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uLCBsb2NhbHM6IGFueSkge1xuICAgICAgICBpZiAoZXZlbnROYW1lID09PSAnY2xpY2snKSB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICAgZXZlbnROYW1lLFxuICAgICAgICAgICAgICAgIGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoISQoZS50YXJnZXQpLmlzKCdpbnB1dCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbG9jYWxzLiRldmVudCA9IGU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAoIWluY2x1ZGVzKFsnY2hhbmdlJ10sIGV2ZW50TmFtZSkpIHtcbiAgICAgICAgICAgIHN1cGVyLmhhbmRsZUV2ZW50KG5vZGUsIGV2ZW50TmFtZSwgY2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnLCAnXCJFTlRFUlwiJ10pXG4gICAgb25LZXlEb3duKCRldmVudCkge1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgJGV2ZW50LnRhcmdldC5jbGljaygpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3Y/KSB7XG5cbiAgICAgICAgaWYgKGtleSA9PT0gJ3RhYmluZGV4Jykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChrZXkgPT09ICdyZXF1aXJlZCcpIHtcbiAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoa2V5ID09PSAnaXRlbXNwZXJyb3cnKSB7XG4gICAgICAgICAgICBzZXRMaXN0Q2xhc3ModGhpcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSBbbmdJZl09XCIhZ3JvdXBieVwiIFtuZ0lmRWxzZV09XCJncm91cGVkTGlzdFRlbXBsYXRlXCI+XG4gICAgPGxpIFtuZ0NsYXNzXT1cIlsnY2hlY2tib3gnLCAnYXBwLWNoZWNrYm94JywgaXRlbWNsYXNzLCBpdGVtc1BlclJvd0NsYXNzXVwiXG4gICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFzZXRJdGVtczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIFt3bUl0ZW1UZW1wbGF0ZV09XCJjb250ZW50XCIgW3VzZXJDb21wb25lbnRQYXJhbXNdPVwiaXRlbVwiIHBhcnRpYWxDb250YWluZXJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2hlY2tib3hMYWJlbENsaWNrKCRldmVudCwgaXRlbS5rZXkpXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICA8IS0tIERlZmF1bHQgaXRlbSB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgPGxhYmVsICpuZ0lmPVwiIWNvbnRlbnRcIiBjbGFzcz1cImFwcC1jaGVja2JveHNldC1sYWJlbFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOmRpc2FibGVkIHx8IHJlYWRvbmx5fVwiIFt0aXRsZV09XCJpdGVtLmxhYmVsXCI+XG4gICAgICAgICAgICA8aW5wdXQgW25hbWVdPVwiJ2NoZWNrYm94c2V0XycgKyB3aWRnZXRJZFwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbYXR0ci5kYXRhLWF0dHItaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ua2V5XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW2NoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvblwiIFt0ZXh0Q29udGVudF09XCJpdGVtLmxhYmVsXCI+PC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8IS0tIEN1c3RvbSBwYXJ0aWFsIHRlbXBsYXRlIC0tPlxuICAgICAgICA8bGFiZWwgKm5nSWY9XCJjb250ZW50XCIgY2xhc3M9XCJhcHAtY2hlY2tib3hzZXQtbGFiZWxcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzpkaXNhYmxlZCB8fCByZWFkb25seX1cIiA+XG4gICAgICAgICAgICA8aW5wdXQgW25hbWVdPVwiJ2NoZWNrYm94c2V0XycgKyB3aWRnZXRJZFwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbYXR0ci5kYXRhLWF0dHItaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ua2V5XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW2NoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvbiBjdXN0b21UZW1wbGF0ZVwiIHBhcnRpYWwtY29udGFpbmVyLXRhcmdldD48L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgPC9saT5cbjwvbmctdGVtcGxhdGU+XG48aW5wdXQgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgaGlkZGVuIGNsYXNzPVwibW9kZWwtaG9sZGVyXCI+XG48ZGl2ICpuZ0lmPVwicmVhZG9ubHkgfHwgZGlzYWJsZWRcIiBjbGFzcz1cInJlYWRvbmx5LXdyYXBwZXJcIj48L2Rpdj5cblxuPCEtLSBUaGlzIHRlbXBsYXRlIHdpbGwgYmUgZGlzcGxheWVkIHdoZW4gZ3JvdXBieSBpcyBzcGVjaWZpZWQuIC0tPlxuPG5nLXRlbXBsYXRlICNncm91cGVkTGlzdFRlbXBsYXRlPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgZ3JvdXBPYmogb2YgZ3JvdXBlZERhdGE7IGxldCBncm91cGluZGV4ID0gaW5kZXg7XCIgY2xhc3M9XCJhcHAtbGlzdC1pdGVtLWdyb3VwXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJpdGVtLWdyb3VwXCIgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIidncm91cF8nICsgd2lkZ2V0SWQgKyAnXycgKyBncm91cGluZGV4XCI+XG4gICAgICAgICAgICA8bGkgW2lkXT1cIidncm91cF8nICsgd2lkZ2V0SWQgKyAnXycgKyBncm91cGluZGV4XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJsaXN0LWdyb3VwLWhlYWRlclwiIChjbGljayk9XCJoYW5kbGVIZWFkZXJDbGljaygkZXZlbnQpXCIgW3RpdGxlXT1cImdyb3VwT2JqLmtleVwiIFtuZ0NsYXNzXT1cInsnY29sbGFwc2libGUtY29udGVudCc6IGNvbGxhcHNpYmxlfVwiPlxuICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cImdyb3VwLXRpdGxlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInR3JvdXAgJytncm91cE9iai5rZXlcIj57e2dyb3VwT2JqLmtleX19XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItYWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImFwcC1pY29uIHdpIGFjdGlvbiB3aS1jaGV2cm9uLXVwXCIgKm5nSWY9XCJjb2xsYXBzaWJsZVwiIHRpdGxlPVwie3thcHBMb2NhbGUuTEFCRUxfQ09MTEFQU0V9fS97e2FwcExvY2FsZS5MQUJFTF9FWFBBTkR9fVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2hvd2NvdW50XCIgY2xhc3M9XCJsYWJlbCBsYWJlbC1kZWZhdWx0XCIgW3RleHRDb250ZW50XT1cImdyb3VwT2JqLmRhdGEubGVuZ3RoXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2g0PlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cE9iai5kYXRhOyBsZXQgaSA9IGluZGV4O1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiWydjaGVja2JveCcsICdhcHAtY2hlY2tib3gnLCAnZ3JvdXAtbGlzdC1pdGVtJywgaXRlbWNsYXNzLCBpdGVtc1BlclJvd0NsYXNzXVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbd21JdGVtVGVtcGxhdGVdPVwiY29udGVudFwiIFt1c2VyQ29tcG9uZW50UGFyYW1zXT1cIml0ZW1cIiBwYXJ0aWFsQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hlY2tib3hMYWJlbENsaWNrKCRldmVudCwgaXRlbSlcIj5cbiAgICAgICAgICAgICAgICA8IS0tIERlZmF1bHQgaXRlbSB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgICAgICAgICA8bGFiZWwgKm5nSWY9XCIhY29udGVudFwiIGNsYXNzPVwiYXBwLWNoZWNrYm94c2V0LWxhYmVsXCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ZGlzYWJsZWQgfHwgcmVhZG9ubHl9XCIgW3RpdGxlXT1cIml0ZW0ubGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtuYW1lXT1cIidjaGVja2JveHNldF8nICsgd2lkZ2V0SWRcIiB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIFthdHRyLmRhdGEtYXR0ci1pbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvblwiIFt0ZXh0Q29udGVudF09XCJpdGVtLmxhYmVsXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPCEtLSBDdXN0b20gcGFydGlhbCB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgICAgICAgICA8bGFiZWwgKm5nSWY9XCJjb250ZW50XCIgY2xhc3M9XCJhcHAtY2hlY2tib3hzZXQtbGFiZWxcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzpkaXNhYmxlZCB8fCByZWFkb25seX1cIiA+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbbmFtZV09XCInY2hlY2tib3hzZXRfJyArIHdpZGdldElkXCIgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbYXR0ci5kYXRhLWF0dHItaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCIvPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBwYXJ0aWFsLWNvbnRhaW5lci10YXJnZXQ+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvbGk+XG48L25nLXRlbXBsYXRlPlxuIl19