@ng-atomic/components 17.9.0 → 17.11.0

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 (170) hide show
  1. package/esm2022/atoms/icon/icon.atom.mjs +2 -2
  2. package/esm2022/components.module.mjs +3 -2
  3. package/esm2022/frames/app/app.frame.mjs +192 -16
  4. package/esm2022/frames/auto-layout/auto-layout.frame.mjs +2 -2
  5. package/esm2022/frames/columns/columns.frame.mjs +4 -4
  6. package/esm2022/frames/divider/divider.frame.mjs +2 -2
  7. package/esm2022/frames/drawer/drawer.frame.mjs +2 -2
  8. package/esm2022/frames/entrance/entrance.frame.mjs +2 -2
  9. package/esm2022/frames/fab/fab.frame.mjs +2 -2
  10. package/esm2022/frames/frames.module.mjs +2 -1
  11. package/esm2022/frames/line-up/line-up.frame.mjs +2 -2
  12. package/esm2022/frames/loading/loading.frame.mjs +2 -2
  13. package/esm2022/frames/router-outlet/router-outlet.frame.mjs +11 -4
  14. package/esm2022/frames/scroll/scroll.frame.mjs +2 -2
  15. package/esm2022/frames/scroll-v2/scroll.frame.mjs +2 -2
  16. package/esm2022/frames/side-nav/side-nav.frame.mjs +34 -28
  17. package/esm2022/frames/smart-menu/smart-menu.frame.mjs +2 -2
  18. package/esm2022/frames/vertical-hide/vertical-hide.frame.mjs +2 -2
  19. package/esm2022/molecules/checkbox-column/checkbox-column.molecule.mjs +48 -11
  20. package/esm2022/molecules/date-input-field/date-input-field.molecule.mjs +2 -2
  21. package/esm2022/molecules/date-range-input-field/date-range-input-field.molecule.mjs +2 -2
  22. package/esm2022/molecules/grid-item/grid-item.molecule.mjs +2 -2
  23. package/esm2022/molecules/loading-box/loading-box.molecule.mjs +2 -2
  24. package/esm2022/molecules/navigation-list-item/navigation-list-item.molecule.mjs +11 -8
  25. package/esm2022/molecules/select-input-field/select-input-field.molecule.mjs +2 -2
  26. package/esm2022/organisms/action-buttons-section/action-buttons-section.organism.mjs +2 -2
  27. package/esm2022/organisms/action-input-section/action-input-section.organism.mjs +2 -2
  28. package/esm2022/organisms/card-input-section/card-input-section.organism.mjs +2 -2
  29. package/esm2022/organisms/cvc-and-exp-input-section/cvc-and-exp-input-section.organism.mjs +2 -2
  30. package/esm2022/organisms/date-input-section/date-input-section.organism.mjs +2 -2
  31. package/esm2022/organisms/date-range-input-section/date-range-input-section.organism.mjs +2 -2
  32. package/esm2022/organisms/definition-list/definition-list.organism.mjs +2 -2
  33. package/esm2022/organisms/file-input-section/file-input-section.organism.mjs +2 -2
  34. package/esm2022/organisms/grid-cards-section/grid-cards-section.organism.mjs +2 -2
  35. package/esm2022/organisms/heading/heading.organism.mjs +2 -2
  36. package/esm2022/organisms/menu-footer/menu-footer.organism.mjs +2 -2
  37. package/esm2022/organisms/menu-header/menu-header.organism.mjs +4 -5
  38. package/esm2022/organisms/messages-section/messages-section.organism.mjs +2 -2
  39. package/esm2022/organisms/navigation-list/navigation-list.organism.mjs +51 -20
  40. package/esm2022/organisms/navigator/navigator.organism.mjs +3 -3
  41. package/esm2022/organisms/number-input-section/number-input-section.organism.mjs +2 -2
  42. package/esm2022/organisms/paginator/paginator.organism.mjs +2 -2
  43. package/esm2022/organisms/password-input-section/password-input-section.organism.mjs +2 -2
  44. package/esm2022/organisms/select-input-section/select-input-section.organism.mjs +2 -2
  45. package/esm2022/organisms/slider-input-section/slider-input-section.organism.mjs +4 -4
  46. package/esm2022/organisms/smart-list/smart-list.organism.mjs +11 -3
  47. package/esm2022/organisms/social-login-section/social-login-section.organism.mjs +2 -2
  48. package/esm2022/organisms/table/index.helpers.mjs +3 -1
  49. package/esm2022/organisms/table/table.organism.mjs +205 -101
  50. package/esm2022/organisms/text-input-section/text-input-section.organism.mjs +2 -2
  51. package/esm2022/organisms/textarea-section/textarea-section.organism.mjs +2 -2
  52. package/esm2022/organisms/thread-messages-section/thread-messages-section.organism.mjs +2 -2
  53. package/esm2022/pages/_index/index.page.mjs +242 -50
  54. package/esm2022/pages/form/form.page.mjs +71 -46
  55. package/esm2022/pages/pages.module.mjs +3 -4
  56. package/esm2022/templates/_index/index.template.mjs +66 -28
  57. package/esm2022/templates/background/background.template.mjs +2 -2
  58. package/esm2022/templates/entrance/entrance.template.mjs +2 -2
  59. package/esm2022/templates/form/form.builder.mjs +12 -2
  60. package/esm2022/templates/form/form.template.mjs +2 -2
  61. package/esm2022/templates/icon-button-menu/icon-button-menu.template.mjs +2 -2
  62. package/esm2022/templates/menu/menu.template.mjs +3 -3
  63. package/esm2022/templates/selection/selection.template.mjs +2 -2
  64. package/esm2022/templates/settings/settings.template.mjs +2 -2
  65. package/fesm2022/ng-atomic-components-atoms-icon.mjs +2 -2
  66. package/fesm2022/ng-atomic-components-frames-app.mjs +191 -15
  67. package/fesm2022/ng-atomic-components-frames-app.mjs.map +1 -1
  68. package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +2 -2
  69. package/fesm2022/ng-atomic-components-frames-columns.mjs +3 -3
  70. package/fesm2022/ng-atomic-components-frames-columns.mjs.map +1 -1
  71. package/fesm2022/ng-atomic-components-frames-divider.mjs +2 -2
  72. package/fesm2022/ng-atomic-components-frames-drawer.mjs +2 -2
  73. package/fesm2022/ng-atomic-components-frames-entrance.mjs +2 -2
  74. package/fesm2022/ng-atomic-components-frames-fab.mjs +2 -2
  75. package/fesm2022/ng-atomic-components-frames-line-up.mjs +2 -2
  76. package/fesm2022/ng-atomic-components-frames-loading.mjs +2 -2
  77. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +10 -3
  78. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs.map +1 -1
  79. package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs +2 -2
  80. package/fesm2022/ng-atomic-components-frames-scroll.mjs +2 -2
  81. package/fesm2022/ng-atomic-components-frames-side-nav.mjs +33 -27
  82. package/fesm2022/ng-atomic-components-frames-side-nav.mjs.map +1 -1
  83. package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +2 -2
  84. package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +2 -2
  85. package/fesm2022/ng-atomic-components-frames.mjs +1 -0
  86. package/fesm2022/ng-atomic-components-frames.mjs.map +1 -1
  87. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs +47 -10
  88. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs.map +1 -1
  89. package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +2 -2
  90. package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +2 -2
  91. package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +2 -2
  92. package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +2 -2
  93. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +10 -7
  94. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs.map +1 -1
  95. package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +2 -2
  96. package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +2 -2
  97. package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +2 -2
  98. package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +2 -2
  99. package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +2 -2
  100. package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +2 -2
  101. package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +2 -2
  102. package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +2 -2
  103. package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +2 -2
  104. package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +2 -2
  105. package/fesm2022/ng-atomic-components-organisms-heading.mjs +2 -2
  106. package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +2 -2
  107. package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +3 -4
  108. package/fesm2022/ng-atomic-components-organisms-menu-header.mjs.map +1 -1
  109. package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +2 -2
  110. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +50 -19
  111. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs.map +1 -1
  112. package/fesm2022/ng-atomic-components-organisms-navigator.mjs +2 -2
  113. package/fesm2022/ng-atomic-components-organisms-navigator.mjs.map +1 -1
  114. package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +2 -2
  115. package/fesm2022/ng-atomic-components-organisms-paginator.mjs +2 -2
  116. package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +2 -2
  117. package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +2 -2
  118. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +3 -3
  119. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs.map +1 -1
  120. package/fesm2022/ng-atomic-components-organisms-smart-list.mjs +10 -2
  121. package/fesm2022/ng-atomic-components-organisms-smart-list.mjs.map +1 -1
  122. package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +2 -2
  123. package/fesm2022/ng-atomic-components-organisms-table.mjs +206 -100
  124. package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -1
  125. package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +2 -2
  126. package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +2 -2
  127. package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +2 -2
  128. package/fesm2022/ng-atomic-components-pages-_index.mjs +242 -50
  129. package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
  130. package/fesm2022/ng-atomic-components-pages-form.mjs +71 -46
  131. package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
  132. package/fesm2022/ng-atomic-components-pages.mjs +2 -3
  133. package/fesm2022/ng-atomic-components-pages.mjs.map +1 -1
  134. package/fesm2022/ng-atomic-components-templates-_index.mjs +65 -27
  135. package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -1
  136. package/fesm2022/ng-atomic-components-templates-background.mjs +2 -2
  137. package/fesm2022/ng-atomic-components-templates-entrance.mjs +2 -2
  138. package/fesm2022/ng-atomic-components-templates-form.mjs +13 -3
  139. package/fesm2022/ng-atomic-components-templates-form.mjs.map +1 -1
  140. package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +2 -2
  141. package/fesm2022/ng-atomic-components-templates-menu.mjs +2 -2
  142. package/fesm2022/ng-atomic-components-templates-menu.mjs.map +1 -1
  143. package/fesm2022/ng-atomic-components-templates-selection.mjs +2 -2
  144. package/fesm2022/ng-atomic-components-templates-settings.mjs +2 -2
  145. package/fesm2022/ng-atomic-components.mjs +2 -1
  146. package/fesm2022/ng-atomic-components.mjs.map +1 -1
  147. package/frames/app/app.frame.d.ts +69 -52
  148. package/frames/columns/columns.frame.d.ts +3 -3
  149. package/frames/fab/fab.frame.d.ts +3 -3
  150. package/frames/router-outlet/router-outlet.frame.d.ts +4 -3
  151. package/frames/side-nav/side-nav.frame.d.ts +16 -12
  152. package/molecules/actions-column/actions-column.molecule.d.ts +3 -3
  153. package/molecules/checkbox-column/checkbox-column.molecule.d.ts +8 -2
  154. package/molecules/chips-input-field/chips-input-field.molecule.d.ts +3 -3
  155. package/molecules/loading-box/loading-box.molecule.d.ts +3 -3
  156. package/molecules/navigation-list-item/navigation-list-item.molecule.d.ts +3 -2
  157. package/organisms/menu-header/menu-header.organism.d.ts +10 -4
  158. package/organisms/navigation-list/navigation-list.organism.d.ts +2 -1
  159. package/organisms/navigator/navigator.organism.d.ts +3 -3
  160. package/organisms/slider-input-section/slider-input-section.organism.d.ts +3 -3
  161. package/organisms/smart-list/smart-list.organism.d.ts +14 -13
  162. package/organisms/stripe-input-section/stripe-input-section.organism.d.ts +3 -3
  163. package/organisms/table/index.helpers.d.ts +1 -0
  164. package/organisms/table/table.organism.d.ts +39 -9
  165. package/package.json +3 -3
  166. package/pages/_index/index.page.d.ts +123 -82
  167. package/pages/form/form.page.d.ts +69 -56
  168. package/pages/terms/terms.page.d.ts +3 -3
  169. package/templates/_index/index.template.d.ts +27 -15
  170. package/templates/form/form.template.d.ts +3 -3
@@ -1,6 +1,6 @@
1
1
  var IndexTemplateStore_1;
2
2
  import { __decorate, __metadata } from "tslib";
3
- import { ChangeDetectionStrategy, Component, Directive, PLATFORM_ID, computed, inject, input, viewChild } from '@angular/core';
3
+ import { ChangeDetectionStrategy, Component, Directive, PLATFORM_ID, inject, input, viewChild } from '@angular/core';
4
4
  import { isPlatformServer } from '@angular/common';
5
5
  import { AutoLayoutFrame } from '@ng-atomic/components/frames/auto-layout';
6
6
  import { ScrollFrame } from '@ng-atomic/components/frames/scroll';
@@ -27,15 +27,17 @@ import { DataAccessorPipe } from '@ng-atomic/common/pipes/data-accessor';
27
27
  import { computedRawValue } from '@ng-atomic/common/utils';
28
28
  import { toObservable } from '@angular/core/rxjs-interop';
29
29
  import { ChipsInputSectionOrganism } from '@ng-atomic/components/organisms/chips-input-section';
30
+ import { FlatTreeControl } from '@angular/cdk/tree';
30
31
  import * as i0 from "@angular/core";
31
32
  export var ActionId;
32
33
  (function (ActionId) {
33
34
  ActionId["BACK"] = "[@ng-atomic/components/templates/index] Back";
34
35
  ActionId["TABLE_HEADER_CLICK"] = "[@ng-atomic/components/templates/index] Table Header Click";
36
+ ActionId["TABLE_HEADER_CHECKBOX_CLICK"] = "[@ng-atomic/components/templates/index] Table Header Checkbox Click";
37
+ ActionId["TABLE_CHECKBOX_CLICK"] = "[@ng-atomic/components/templates/index] Table Checkbox Click";
35
38
  ActionId["ITEM_CLICK"] = "[@ng-atomic/components/templates/index] Item Click";
36
39
  ActionId["DETAIL"] = "[@ng-atomic/components/templates/index] Detail";
37
40
  ActionId["LIST_ITEM_BUTTON_CLICKED"] = "[@ng-atomic/components/templates/index] List Item Button Clicked";
38
- ActionId["CHECKBOX_CLICK"] = "[@ng-atomic/components/templates/index] Check Item";
39
41
  ActionId["TOGGLE_TYPE"] = "[@ng-atomic/components/templates/index] Toggle Type";
40
42
  })(ActionId || (ActionId = {}));
41
43
  export function getType(context) {
@@ -57,10 +59,13 @@ let IndexTemplateStore = class IndexTemplateStore extends InjectableComponent {
57
59
  this.gridToolbarActions = input(_computed(() => this.config().gridToolbarActions));
58
60
  this.toggleActions = input(_computed(() => this.config().toggleActions));
59
61
  this.tableChildrenKey = input(_computed(() => this.config().tableChildrenKey));
62
+ this.tableIsHidden = input(_computed(() => this.config().tableIsHidden));
63
+ this.tableTreeControl = input(_computed(() => this.config().tableTreeControl));
60
64
  this.itemActions = input(_computed(() => this.config().itemActions));
61
65
  this.title = input(_computed(() => this.config().title));
62
66
  this.description = input(_computed(() => this.config().description));
63
67
  this.items = input(_computed(() => this.config().items));
68
+ this.itemsLength = input(_computed(() => this.config().itemsLength));
64
69
  this.navStartActions = input(_computed(() => this.config().navStartActions));
65
70
  this.navEndActions = input(_computed(() => this.config().navEndActions));
66
71
  this.groupedBy = input(_computed(() => this.config().groupedBy));
@@ -72,12 +77,9 @@ let IndexTemplateStore = class IndexTemplateStore extends InjectableComponent {
72
77
  this.form$ = toObservable(computeFake(this.form));
73
78
  this.formValue = computedRawValue(() => call(this.form()));
74
79
  this.pipes = { index: inject(IndexPipe), indexLength: inject(IndexLengthPipe) };
75
- this.indexItems = computed(() => {
76
- return this.pipes.index.transform(this.items(), this.formValue());
77
- });
78
- this.indexItemsLength = computed(() => this.pipes.indexLength.transform(this.items(), this.formValue()));
79
80
  }
80
81
  static { IndexTemplateStore_1 = this; }
82
+ static { this.ActionId = ActionId; }
81
83
  static { this.Config = makeConfig(() => {
82
84
  const modelName = injectModelName();
83
85
  function getWidth(context) {
@@ -92,7 +94,7 @@ let IndexTemplateStore = class IndexTemplateStore extends InjectableComponent {
92
94
  }
93
95
  const form = injectIndexForm();
94
96
  const navStartActions = injectNavStartActions();
95
- return (_, context) => ({
97
+ return () => ({
96
98
  form,
97
99
  toggleActions: [
98
100
  { id: ActionId.TOGGLE_TYPE, icon: 'grid_view', payload: 'grid' },
@@ -101,23 +103,33 @@ let IndexTemplateStore = class IndexTemplateStore extends InjectableComponent {
101
103
  ],
102
104
  gridToolbarActions: [],
103
105
  tableChildrenKey: null,
106
+ tableIsHidden: (item) => false,
107
+ tableTreeControl: new FlatTreeControl(n => n.level, n => n.isExpandable),
104
108
  itemActions: (item) => [{ id: ActionId.DETAIL, icon: 'open_in_new', payload: item }],
105
109
  items: [],
110
+ itemsLength: 0,
106
111
  title: `${modelName()}一覧`,
107
112
  description: ``,
108
113
  navStartActions: navStartActions(),
109
114
  navEndActions: [],
110
115
  groupedBy: null,
111
116
  groupKeys: [],
112
- type: getType(context),
117
+ type: 'table',
113
118
  pageSizeOptions: [5, 10, 25, 100],
114
- width: getWidth(context),
115
119
  selection: new SelectionModel(true, []),
116
120
  highlight: new SelectionModel(true, []),
117
121
  });
118
122
  }, ['components', 'templates', 'index']); }
123
+ static provideTypeConfig() {
124
+ return IndexTemplateStore_1.Config.provide(() => {
125
+ return (config, context) => ({
126
+ ...config,
127
+ type: getType(context),
128
+ });
129
+ });
130
+ }
119
131
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: IndexTemplateStore, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
120
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.2.2", type: IndexTemplateStore, isStandalone: true, selector: "templates-index", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, gridToolbarActions: { classPropertyName: "gridToolbarActions", publicName: "gridToolbarActions", isSignal: true, isRequired: false, transformFunction: null }, toggleActions: { classPropertyName: "toggleActions", publicName: "toggleActions", isSignal: true, isRequired: false, transformFunction: null }, tableChildrenKey: { classPropertyName: "tableChildrenKey", publicName: "tableChildrenKey", isSignal: true, isRequired: false, transformFunction: null }, itemActions: { classPropertyName: "itemActions", publicName: "itemActions", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, navStartActions: { classPropertyName: "navStartActions", publicName: "navStartActions", isSignal: true, isRequired: false, transformFunction: null }, navEndActions: { classPropertyName: "navEndActions", publicName: "navEndActions", isSignal: true, isRequired: false, transformFunction: null }, groupedBy: { classPropertyName: "groupedBy", publicName: "groupedBy", isSignal: true, isRequired: false, transformFunction: null }, groupKeys: { classPropertyName: "groupKeys", publicName: "groupKeys", isSignal: true, isRequired: false, transformFunction: null }, pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
132
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.2.2", type: IndexTemplateStore, isStandalone: true, selector: "templates-index", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, gridToolbarActions: { classPropertyName: "gridToolbarActions", publicName: "gridToolbarActions", isSignal: true, isRequired: false, transformFunction: null }, toggleActions: { classPropertyName: "toggleActions", publicName: "toggleActions", isSignal: true, isRequired: false, transformFunction: null }, tableChildrenKey: { classPropertyName: "tableChildrenKey", publicName: "tableChildrenKey", isSignal: true, isRequired: false, transformFunction: null }, tableIsHidden: { classPropertyName: "tableIsHidden", publicName: "tableIsHidden", isSignal: true, isRequired: false, transformFunction: null }, tableTreeControl: { classPropertyName: "tableTreeControl", publicName: "tableTreeControl", isSignal: true, isRequired: false, transformFunction: null }, itemActions: { classPropertyName: "itemActions", publicName: "itemActions", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, itemsLength: { classPropertyName: "itemsLength", publicName: "itemsLength", isSignal: true, isRequired: false, transformFunction: null }, navStartActions: { classPropertyName: "navStartActions", publicName: "navStartActions", isSignal: true, isRequired: false, transformFunction: null }, navEndActions: { classPropertyName: "navEndActions", publicName: "navEndActions", isSignal: true, isRequired: false, transformFunction: null }, groupedBy: { classPropertyName: "groupedBy", publicName: "groupedBy", isSignal: true, isRequired: false, transformFunction: null }, groupKeys: { classPropertyName: "groupKeys", publicName: "groupKeys", isSignal: true, isRequired: false, transformFunction: null }, pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
121
133
  IndexPipe,
122
134
  IndexLengthPipe,
123
135
  ], usesInheritance: true, ngImport: i0 }); }
@@ -149,7 +161,8 @@ export class IndexTemplate extends NgAtomicComponent {
149
161
  this.dispatch({ id: ActionId.TABLE_HEADER_CLICK, payload: column });
150
162
  }
151
163
  onCheckboxClickItem(item) {
152
- this.dispatch({ id: ActionId.CHECKBOX_CLICK, payload: item });
164
+ console.debug('TEST!!!');
165
+ this.dispatch({ id: ActionId.TABLE_CHECKBOX_CLICK, payload: item });
153
166
  }
154
167
  onItemClicked(item) {
155
168
  this.dispatch({ id: ActionId.ITEM_CLICK, payload: item });
@@ -157,13 +170,16 @@ export class IndexTemplate extends NgAtomicComponent {
157
170
  onItemButtonClicked(item) {
158
171
  this.dispatch({ id: ActionId.LIST_ITEM_BUTTON_CLICKED, payload: item });
159
172
  }
173
+ onHeaderCheckboxClick() {
174
+ this.dispatch({ id: ActionId.TABLE_HEADER_CHECKBOX_CLICK });
175
+ }
160
176
  back() {
161
177
  this.dispatch({ id: ActionId.BACK });
162
178
  }
163
179
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: IndexTemplate, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
164
180
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: IndexTemplate, isStandalone: true, selector: "templates-index", host: { classAttribute: "template" }, providers: [
165
181
  QueryResolverService,
166
- ], viewQueries: [{ propertyName: "dividerFrame", first: true, predicate: DividerFrame, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: IndexTemplateStore, inputs: ["gridToolbarActions", "gridToolbarActions", "tableChildrenKey", "tableChildrenKey", "form", "form", "title", "title", "description", "description", "items", "items", "itemActions", "itemActions", "navStartActions", "navStartActions", "navEndActions", "navEndActions", "groupedBy", "groupedBy", "groupKeys", "groupKeys", "selection", "selection", "pageSizeOptions", "pageSizeOptions", "type", "type", "highlight", "highlight"] }], ngImport: i0, template: `
182
+ ], viewQueries: [{ propertyName: "dividerFrame", first: true, predicate: DividerFrame, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: IndexTemplateStore, inputs: ["gridToolbarActions", "gridToolbarActions", "tableChildrenKey", "tableChildrenKey", "tableIsHidden", "tableIsHidden", "tableTreeControl", "tableTreeControl", "form", "form", "title", "title", "description", "description", "items", "items", "itemsLength", "itemsLength", "itemActions", "itemActions", "navStartActions", "navStartActions", "navEndActions", "navEndActions", "groupedBy", "groupedBy", "groupKeys", "groupKeys", "selection", "selection", "pageSizeOptions", "pageSizeOptions", "type", "type", "highlight", "highlight"] }], ngImport: i0, template: `
167
183
  <frames-scroll>
168
184
  <organisms-navigator injectable
169
185
  [startActions]="store.navStartActions()"
@@ -177,7 +193,7 @@ export class IndexTemplate extends NgAtomicComponent {
177
193
  @switch(store.type()) {
178
194
  @case('list') {
179
195
  <organisms-smart-list
180
- [items]="store.indexItems()"
196
+ [items]="store.items()"
181
197
  [itemActions]="store.itemActions()"
182
198
  [groupedBy]="store.groupedBy()"
183
199
  [groupKeys]="store.groupKeys()"
@@ -187,7 +203,7 @@ export class IndexTemplate extends NgAtomicComponent {
187
203
  @case ('grid') {
188
204
  @defer {
189
205
  <organisms-grid-cards-section
190
- [items]="store.indexItems()"
206
+ [items]="store.items()"
191
207
  (action)="dispatch($event)"
192
208
  contents
193
209
  />
@@ -212,19 +228,21 @@ export class IndexTemplate extends NgAtomicComponent {
212
228
  />
213
229
  }
214
230
  <organisms-table injectable
215
- [items]="store.indexItems()"
231
+ [items]="store.items()"
216
232
  [itemActions]="store.itemActions()"
217
233
  [selection]="store.selection()"
218
234
  [form]="store.form()"
219
235
  [childrenKey]="store.tableChildrenKey()"
220
236
  [highlight]="store.highlight()"
237
+ [isHidden]="store.tableIsHidden()"
238
+ [treeControl]="store.tableTreeControl()"
221
239
  (action)="dispatch($event)"
222
240
  />
223
241
  @if (store.form().get(['page'])) {
224
242
  @defer {
225
243
  <organisms-paginator injectable
226
244
  [form]="store.form().get(['page'])"
227
- [itemLength]="store.indexItemsLength()"
245
+ [itemLength]="store.itemsLength()"
228
246
  [pageSizeOptions]="store.pageSizeOptions()"
229
247
  />
230
248
  }
@@ -236,7 +254,7 @@ export class IndexTemplate extends NgAtomicComponent {
236
254
  }
237
255
  </frames-auto-layout>
238
256
  </frames-scroll>
239
- `, isInline: true, styles: [":host{width:100%;height:100%;background:#fff;display:block;--navigator-height: 56px;--navigator-height-SCOPED-IN-index-HvSR: var(--navigator-height);--primary-color: #404040;--primary-color-SCOPED-IN-index-HvSR: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-index-HvSR: var(--on-primary-color);--secondary-color: #f0f0f0;--secondary-color-SCOPED-IN-index-HvSR: var(--secondary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-index-HvSR: var(--surface-color);--on-surface-color: #000;--on-surface-color-SCOPED-IN-index-HvSR: var(--on-surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-index-HvSR: var(--background-color);--on-background-color: #000;--on-background-color-SCOPED-IN-index-HvSR: var(--on-background-color);--first-content-height: 0px;--first-content-height-SCOPED-IN-index-HvSR: var(--first-content-height);--navigator-background-color: var(--primary-color-SCOPED-IN-index-HvSR);--navigator-background-color-SCOPED-IN-index-HvSR: var(--navigator-background-color);--navigator-on-background-color: var(--on-primary-color-SCOPED-IN-index-HvSR);--navigator-on-background-color-SCOPED-IN-index-HvSR: var(--navigator-on-background-color);--table-background-color: var(--background-color-SCOPED-IN-index-HvSR);--table-background-color-SCOPED-IN-index-HvSR: var(--table-background-color);--table-on-background-color: var(--on-background-color-SCOPED-IN-index-HvSR);--table-on-background-color-SCOPED-IN-index-HvSR: var(--table-on-background-color);--min-first-content-height: 0px;--min-first-content-height-SCOPED-IN-index-HvSR: var(--min-first-content-height);--max-first-content-height: calc(100% - 80px) ;--max-first-content-height-SCOPED-IN-index-HvSR: var(--max-first-content-height)}:host{background-color:var(--background-color-SCOPED-IN-index-HvSR);color:var(--on-background-color-SCOPED-IN-index-HvSR);transition:background-color .5s ease-in-out}:host frames-auto-layout{--gap: 0;--vertical-padding: 0}:host frames-divider{--first-content-height: var(--first-content-height-SCOPED-IN-index-HvSR);--min-first-content-height: var(--min-first-content-height-SCOPED-IN-index-HvSR)}:host organisms-table{--background-color: var(--table-background-color-SCOPED-IN-index-HvSR);--on-background-color: var(--table-on-background-color-SCOPED-IN-index-HvSR)}:host *{--primary-color: var(--primary-color-SCOPED-IN-index-HvSR);--on-primary-color: var(--on-primary-color-SCOPED-IN-index-HvSR);--surface-color: var(--surface-color-SCOPED-IN-index-HvSR);--on-surface-color: var(--on-surface-color-SCOPED-IN-index-HvSR);--background-color: var(--background-color-SCOPED-IN-index-HvSR);--on-background-color: var(--on-background-color-SCOPED-IN-index-HvSR)}:host organisms-navigator{--background-color: var(--navigator-background-color-SCOPED-IN-index-HvSR);--on-background-color: var(--navigator-on-background-color-SCOPED-IN-index-HvSR)}\n"], dependencies: [{ kind: "component", type: AutoLayoutFrame, selector: "frames-auto-layout" }, { kind: "component", type: ScrollFrame, selector: "frames-scroll" }, { kind: "component", type: SmartListOrganism, selector: "organisms-smart-list" }, { kind: "directive", type: NavigatorOrganismStore, selector: "organisms-navigator", inputs: ["startActions", "endActions", "title"] }, { kind: "directive", type: HeaderMoleculeStore, selector: "molecules-header", inputs: ["title", "description"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
257
+ `, isInline: true, styles: [":host{width:100%;height:100%;background:#fff;display:block;--navigator-height: 56px;--navigator-height-SCOPED-IN-index-oJo7: var(--navigator-height);--primary-color: #404040;--primary-color-SCOPED-IN-index-oJo7: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-index-oJo7: var(--on-primary-color);--secondary-color: #f0f0f0;--secondary-color-SCOPED-IN-index-oJo7: var(--secondary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-index-oJo7: var(--surface-color);--on-surface-color: #000;--on-surface-color-SCOPED-IN-index-oJo7: var(--on-surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-index-oJo7: var(--background-color);--on-background-color: #000;--on-background-color-SCOPED-IN-index-oJo7: var(--on-background-color);--first-content-height: 0px;--first-content-height-SCOPED-IN-index-oJo7: var(--first-content-height);--navigator-background-color: var(--primary-color-SCOPED-IN-index-oJo7);--navigator-background-color-SCOPED-IN-index-oJo7: var(--navigator-background-color);--navigator-on-background-color: var(--on-primary-color-SCOPED-IN-index-oJo7);--navigator-on-background-color-SCOPED-IN-index-oJo7: var(--navigator-on-background-color);--table-background-color: var(--background-color-SCOPED-IN-index-oJo7);--table-background-color-SCOPED-IN-index-oJo7: var(--table-background-color);--table-on-background-color: var(--on-background-color-SCOPED-IN-index-oJo7);--table-on-background-color-SCOPED-IN-index-oJo7: var(--table-on-background-color);--min-first-content-height: 0px;--min-first-content-height-SCOPED-IN-index-oJo7: var(--min-first-content-height);--max-first-content-height: calc(100% - 80px) ;--max-first-content-height-SCOPED-IN-index-oJo7: var(--max-first-content-height)}:host{background-color:var(--background-color-SCOPED-IN-index-oJo7);color:var(--on-background-color-SCOPED-IN-index-oJo7);transition:background-color .5s ease-in-out}:host frames-auto-layout{--gap: 0;--vertical-padding: 0}:host frames-divider{--first-content-height: var(--first-content-height-SCOPED-IN-index-oJo7);--min-first-content-height: var(--min-first-content-height-SCOPED-IN-index-oJo7)}:host organisms-table{--background-color: var(--table-background-color-SCOPED-IN-index-oJo7);--on-background-color: var(--table-on-background-color-SCOPED-IN-index-oJo7)}:host *{--primary-color: var(--primary-color-SCOPED-IN-index-oJo7);--on-primary-color: var(--on-primary-color-SCOPED-IN-index-oJo7);--surface-color: var(--surface-color-SCOPED-IN-index-oJo7);--on-surface-color: var(--on-surface-color-SCOPED-IN-index-oJo7);--background-color: var(--background-color-SCOPED-IN-index-oJo7);--on-background-color: var(--on-background-color-SCOPED-IN-index-oJo7)}:host organisms-navigator{--background-color: var(--navigator-background-color-SCOPED-IN-index-oJo7);--on-background-color: var(--navigator-on-background-color-SCOPED-IN-index-oJo7)}\n"], dependencies: [{ kind: "component", type: AutoLayoutFrame, selector: "frames-auto-layout" }, { kind: "component", type: ScrollFrame, selector: "frames-scroll" }, { kind: "component", type: SmartListOrganism, selector: "organisms-smart-list" }, { kind: "directive", type: NavigatorOrganismStore, selector: "organisms-navigator", inputs: ["startActions", "endActions", "title"] }, { kind: "directive", type: HeaderMoleculeStore, selector: "molecules-header", inputs: ["title", "description"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
240
258
  }
241
259
  __decorate([
242
260
  Effect(TableOrganism.ActionId.HEADER_CLICK),
@@ -264,6 +282,12 @@ __decorate([
264
282
  __metadata("design:paramtypes", [Object]),
265
283
  __metadata("design:returntype", void 0)
266
284
  ], IndexTemplate.prototype, "onItemButtonClicked", null);
285
+ __decorate([
286
+ Effect(TableOrganismStore.ActionId.HEADER_CHECKBOX_CLICK),
287
+ __metadata("design:type", Function),
288
+ __metadata("design:paramtypes", []),
289
+ __metadata("design:returntype", void 0)
290
+ ], IndexTemplate.prototype, "onHeaderCheckboxClick", null);
267
291
  __decorate([
268
292
  Effect(NavActionId.BACK),
269
293
  __metadata("design:type", Function),
@@ -302,7 +326,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
302
326
  @switch(store.type()) {
303
327
  @case('list') {
304
328
  <organisms-smart-list
305
- [items]="store.indexItems()"
329
+ [items]="store.items()"
306
330
  [itemActions]="store.itemActions()"
307
331
  [groupedBy]="store.groupedBy()"
308
332
  [groupKeys]="store.groupKeys()"
@@ -312,7 +336,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
312
336
  @case ('grid') {
313
337
  @defer {
314
338
  <organisms-grid-cards-section
315
- [items]="store.indexItems()"
339
+ [items]="store.items()"
316
340
  (action)="dispatch($event)"
317
341
  contents
318
342
  />
@@ -337,19 +361,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
337
361
  />
338
362
  }
339
363
  <organisms-table injectable
340
- [items]="store.indexItems()"
364
+ [items]="store.items()"
341
365
  [itemActions]="store.itemActions()"
342
366
  [selection]="store.selection()"
343
367
  [form]="store.form()"
344
368
  [childrenKey]="store.tableChildrenKey()"
345
369
  [highlight]="store.highlight()"
370
+ [isHidden]="store.tableIsHidden()"
371
+ [treeControl]="store.tableTreeControl()"
346
372
  (action)="dispatch($event)"
347
373
  />
348
374
  @if (store.form().get(['page'])) {
349
375
  @defer {
350
376
  <organisms-paginator injectable
351
377
  [form]="store.form().get(['page'])"
352
- [itemLength]="store.indexItemsLength()"
378
+ [itemLength]="store.itemsLength()"
353
379
  [pageSizeOptions]="store.pageSizeOptions()"
354
380
  />
355
381
  }
@@ -365,10 +391,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
365
391
  {
366
392
  directive: IndexTemplateStore,
367
393
  inputs: [
368
- 'gridToolbarActions', 'tableChildrenKey', 'form', 'title',
369
- 'description', 'items', 'itemActions', 'navStartActions',
370
- 'navEndActions', 'groupedBy', 'groupKeys',
371
- 'selection', 'pageSizeOptions',
394
+ 'gridToolbarActions',
395
+ 'tableChildrenKey',
396
+ 'tableIsHidden',
397
+ 'tableTreeControl',
398
+ 'form',
399
+ 'title',
400
+ 'description',
401
+ 'items',
402
+ 'itemsLength',
403
+ 'itemActions',
404
+ 'navStartActions',
405
+ 'navEndActions',
406
+ 'groupedBy',
407
+ 'groupKeys',
408
+ 'selection',
409
+ 'pageSizeOptions',
372
410
  'type',
373
411
  'highlight'
374
412
  ],
@@ -376,6 +414,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
376
414
  }
377
415
  ], providers: [
378
416
  QueryResolverService,
379
- ], styles: [":host{width:100%;height:100%;background:#fff;display:block;--navigator-height: 56px;--navigator-height-SCOPED-IN-index-HvSR: var(--navigator-height);--primary-color: #404040;--primary-color-SCOPED-IN-index-HvSR: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-index-HvSR: var(--on-primary-color);--secondary-color: #f0f0f0;--secondary-color-SCOPED-IN-index-HvSR: var(--secondary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-index-HvSR: var(--surface-color);--on-surface-color: #000;--on-surface-color-SCOPED-IN-index-HvSR: var(--on-surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-index-HvSR: var(--background-color);--on-background-color: #000;--on-background-color-SCOPED-IN-index-HvSR: var(--on-background-color);--first-content-height: 0px;--first-content-height-SCOPED-IN-index-HvSR: var(--first-content-height);--navigator-background-color: var(--primary-color-SCOPED-IN-index-HvSR);--navigator-background-color-SCOPED-IN-index-HvSR: var(--navigator-background-color);--navigator-on-background-color: var(--on-primary-color-SCOPED-IN-index-HvSR);--navigator-on-background-color-SCOPED-IN-index-HvSR: var(--navigator-on-background-color);--table-background-color: var(--background-color-SCOPED-IN-index-HvSR);--table-background-color-SCOPED-IN-index-HvSR: var(--table-background-color);--table-on-background-color: var(--on-background-color-SCOPED-IN-index-HvSR);--table-on-background-color-SCOPED-IN-index-HvSR: var(--table-on-background-color);--min-first-content-height: 0px;--min-first-content-height-SCOPED-IN-index-HvSR: var(--min-first-content-height);--max-first-content-height: calc(100% - 80px) ;--max-first-content-height-SCOPED-IN-index-HvSR: var(--max-first-content-height)}:host{background-color:var(--background-color-SCOPED-IN-index-HvSR);color:var(--on-background-color-SCOPED-IN-index-HvSR);transition:background-color .5s ease-in-out}:host frames-auto-layout{--gap: 0;--vertical-padding: 0}:host frames-divider{--first-content-height: var(--first-content-height-SCOPED-IN-index-HvSR);--min-first-content-height: var(--min-first-content-height-SCOPED-IN-index-HvSR)}:host organisms-table{--background-color: var(--table-background-color-SCOPED-IN-index-HvSR);--on-background-color: var(--table-on-background-color-SCOPED-IN-index-HvSR)}:host *{--primary-color: var(--primary-color-SCOPED-IN-index-HvSR);--on-primary-color: var(--on-primary-color-SCOPED-IN-index-HvSR);--surface-color: var(--surface-color-SCOPED-IN-index-HvSR);--on-surface-color: var(--on-surface-color-SCOPED-IN-index-HvSR);--background-color: var(--background-color-SCOPED-IN-index-HvSR);--on-background-color: var(--on-background-color-SCOPED-IN-index-HvSR)}:host organisms-navigator{--background-color: var(--navigator-background-color-SCOPED-IN-index-HvSR);--on-background-color: var(--navigator-on-background-color-SCOPED-IN-index-HvSR)}\n"] }]
380
- }], propDecorators: { onTableHeaderClick: [], onCheckboxClickItem: [], onItemClicked: [], onItemButtonClicked: [], back: [] } });
381
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi90ZW1wbGF0ZXMvX2luZGV4L2luZGV4LnRlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFtQixtQkFBbUIsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVB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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBEaXJlY3RpdmUsIFBMQVRGT1JNX0lELCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEF1dG9MYXlvdXRGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvYXV0by1sYXlvdXQnO1xuaW1wb3J0IHsgU2Nyb2xsRnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL3Njcm9sbCc7XG5pbXBvcnQgeyBIZWFkZXJNb2xlY3VsZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL21vbGVjdWxlcy9oZWFkZXInO1xuaW1wb3J0IHsgVGFibGVPcmdhbmlzbSwgVGFibGVPcmdhbmlzbVN0b3JlLCBpbmplY3RJbmRleEZvcm0gfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvb3JnYW5pc21zL3RhYmxlJztcbmltcG9ydCB7IFNtYXJ0TGlzdE9yZ2FuaXNtIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL29yZ2FuaXNtcy9zbWFydC1saXN0JztcbmltcG9ydCB7IE5hdmlnYXRvck9yZ2FuaXNtU3RvcmUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvb3JnYW5pc21zL25hdmlnYXRvcic7XG5pbXBvcnQgeyBQYWdpbmF0b3JPcmdhbmlzbVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL29yZ2FuaXNtcy9wYWdpbmF0b3InO1xuaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25zLCBJbmplY3RhYmxlQ29tcG9uZW50LCBUb2tlbml6ZWRUeXBlLCBfY29tcHV0ZWQsIGNvbXB1dGVGYWtlIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IEdyaWRUb29sYmFyT3JnYW5pc21TdG9yZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9vcmdhbmlzbXMvZ3JpZC10b29sYmFyJztcbmltcG9ydCB7IEZpbHRlcnNTZWN0aW9uT3JnYW5pc20gfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvb3JnYW5pc21zL2ZpbHRlcnMtc2VjdGlvbic7XG5pbXBvcnQgeyBEaXZpZGVyRnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL2RpdmlkZXInO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uTGlzdE9yZ2FuaXNtIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL29yZ2FuaXNtcy9zZWxlY3Rpb24tbGlzdCc7XG5pbXBvcnQgeyBFZmZlY3QsIE5nQXRvbWljQ29tcG9uZW50IH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IFF1ZXJ5UmVzb2x2ZXJTZXJ2aWNlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvcXVlcnktcmVzb2x2ZXInO1xuaW1wb3J0IHsgTmF2QWN0aW9uSWQsIFVJQ29udGV4dCwgY2FsbCwgaW5qZWN0TmF2U3RhcnRBY3Rpb25zLCBtYWtlQ29uZmlnIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvdWknO1xuaW1wb3J0IHsgSW5kZXhQaXBlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvaW5kZXgnO1xuaW1wb3J0IHsgSW5kZXhMZW5ndGhQaXBlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvaW5kZXgtbGVuZ3RoJztcbmltcG9ydCB7IFNvcnRCeVBpcGUgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9waXBlcy9zb3J0LWJ5JztcbmltcG9ydCB7IEdyaWRDYXJkc1NlY3Rpb25PcmdhbmlzbSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9vcmdhbmlzbXMvZ3JpZC1jYXJkcy1zZWN0aW9uJztcbmltcG9ydCB7IGluamVjdE1vZGVsTmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3BpcGVzL2RvbWFpbic7XG5pbXBvcnQgeyBEYXRhQWNjZXNzb3JQaXBlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvZGF0YS1hY2Nlc3Nvcic7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb21wdXRlZFJhd1ZhbHVlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vdXRpbHMnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQ2hpcHNJbnB1dFNlY3Rpb25PcmdhbmlzbSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9vcmdhbmlzbXMvY2hpcHMtaW5wdXQtc2VjdGlvbic7XG5cbmV4cG9ydCBlbnVtIEFjdGlvbklkIHtcbiAgQkFDSyA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9pbmRleF0gQmFjaycsXG4gIFRBQkxFX0hFQURFUl9DTElDSyA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9pbmRleF0gVGFibGUgSGVhZGVyIENsaWNrJyxcbiAgSVRFTV9DTElDSyA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9pbmRleF0gSXRlbSBDbGljaycsXG4gIERFVEFJTCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9pbmRleF0gRGV0YWlsJyxcbiAgTElTVF9JVEVNX0JVVFRPTl9DTElDS0VEID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL2luZGV4XSBMaXN0IEl0ZW0gQnV0dG9uIENsaWNrZWQnLFxuICBDSEVDS0JPWF9DTElDSyA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9pbmRleF0gQ2hlY2sgSXRlbScsXG4gIFRPR0dMRV9UWVBFID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL2luZGV4XSBUb2dnbGUgVHlwZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5kZXhUZW1wbGF0ZUNvbmZpZzxUIGV4dGVuZHMge2lkOiBzdHJpbmd9ID0gYW55PiB7XG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgZ3JpZFRvb2xiYXJBY3Rpb25zOiBBY3Rpb25bXTtcbiAgbmF2U3RhcnRBY3Rpb25zOiBBY3Rpb25zO1xuICBuYXZFbmRBY3Rpb25zOiBBY3Rpb25zO1xuICBpdGVtQWN0aW9uczogQWN0aW9ucztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgaXRlbXM6IFRbXVxuICB0YWJsZUNoaWxkcmVuS2V5OiBrZXlvZiBUO1xuICBncm91cGVkQnk6IGtleW9mIFQgfCBudWxsO1xuICBncm91cEtleXM6IHN0cmluZ1tdO1xuICB0eXBlOiAnbGlzdCcgfCAndGFibGUnIHwgJ2dyaWQnO1xuICB0b2dnbGVBY3Rpb25zOiBBY3Rpb25zO1xuICBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdO1xuICB3aWR0aDogc3RyaW5nO1xuICBzZWxlY3Rpb246IFNlbGVjdGlvbk1vZGVsPHN0cmluZz47XG4gIGhpZ2hsaWdodDogU2VsZWN0aW9uTW9kZWw8c3RyaW5nPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFR5cGUoY29udGV4dDogVUlDb250ZXh0KSB7XG4gIHN3aXRjaCAoY29udGV4dC5icmVha3BvaW50KSB7XG4gICAgY2FzZSAneFNtYWxsJzogcmV0dXJuICdsaXN0JztcbiAgICBjYXNlICdzbWFsbCc6IHJldHVybiAndGFibGUnO1xuICAgIGNhc2UgJ21lZGl1bSc6IHJldHVybiAndGFibGUnO1xuICAgIGNhc2UgJ2xhcmdlJzogcmV0dXJuICd0YWJsZSc7XG4gICAgY2FzZSAneExhcmdlJzogcmV0dXJuICd0YWJsZSc7XG4gICAgZGVmYXVsdDogcmV0dXJuICd0YWJsZSc7XG4gIH1cbn1cblxuQFRva2VuaXplZFR5cGUoKVxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndGVtcGxhdGVzLWluZGV4JyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgSW5kZXhQaXBlLFxuICAgIEluZGV4TGVuZ3RoUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5kZXhUZW1wbGF0ZVN0b3JlPFQgZXh0ZW5kcyB7aWQ6IHN0cmluZ30+IGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHN0YXRpYyByZWFkb25seSBDb25maWcgPSBtYWtlQ29uZmlnKCgpID0+IHtcbiAgICBjb25zdCBtb2RlbE5hbWUgPSBpbmplY3RNb2RlbE5hbWUoKTtcbiAgICBmdW5jdGlvbiBnZXRXaWR0aChjb250ZXh0OiBVSUNvbnRleHQpIHtcbiAgICAgIHN3aXRjaCAoY29udGV4dC5icmVha3BvaW50KSB7XG4gICAgICAgIGNhc2UgJ3hTbWFsbCc6IHJldHVybiAndmFyKC0tcGFnZS13aWR0aC1sdjEpJ1xuICAgICAgICBjYXNlICdzbWFsbCc6XG4gICAgICAgIGNhc2UgJ21lZGl1bSc6XG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcbiAgICAgICAgY2FzZSAneExhcmdlJzpcbiAgICAgICAgZGVmYXVsdDogcmV0dXJuICd2YXIoLS1wYWdlLXdpZHRoLWx2MiknO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBmb3JtID0gaW5qZWN0SW5kZXhGb3JtKCk7XG4gICAgY29uc3QgbmF2U3RhcnRBY3Rpb25zID0gaW5qZWN0TmF2U3RhcnRBY3Rpb25zKCk7XG4gIFxuICAgIHJldHVybiAoXywgY29udGV4dCkgPT4gKHtcbiAgICAgIGZvcm0sXG4gICAgICB0b2dnbGVBY3Rpb25zOiBbXG4gICAgICAgIHsgaWQ6IEFjdGlvbklkLlRPR0dMRV9UWVBFLCBpY29uOiAnZ3JpZF92aWV3JywgcGF5bG9hZDogJ2dyaWQnIH0sXG4gICAgICAgIHsgaWQ6IEFjdGlvbklkLlRPR0dMRV9UWVBFLCBpY29uOiAnbGlzdCcsIHBheWxvYWQ6ICdsaXN0JyB9LFxuICAgICAgICB7IGlkOiBBY3Rpb25JZC5UT0dHTEVfVFlQRSwgaWNvbjogJ3RhYmxlJywgcGF5bG9hZDogJ3RhYmxlJyB9LFxuICAgICAgXSBhcyBBY3Rpb25bXSxcbiAgICAgIGdyaWRUb29sYmFyQWN0aW9uczogW10gYXMgQWN0aW9uW10sXG4gICAgICB0YWJsZUNoaWxkcmVuS2V5OiBudWxsIGFzIHN0cmluZyxcbiAgICAgIGl0ZW1BY3Rpb25zOiAoaXRlbSkgPT4gW3tpZDogQWN0aW9uSWQuREVUQUlMLCBpY29uOiAnb3Blbl9pbl9uZXcnLCBwYXlsb2FkOiBpdGVtfV0sXG4gICAgICBpdGVtczogW10sXG4gICAgICB0aXRsZTogYCR7bW9kZWxOYW1lKCl95LiA6KanYCxcbiAgICAgIGRlc2NyaXB0aW9uOiBgYCxcbiAgICAgIG5hdlN0YXJ0QWN0aW9uczogbmF2U3RhcnRBY3Rpb25zKCksXG4gICAgICBuYXZFbmRBY3Rpb25zOiBbXSxcbiAgICAgIGdyb3VwZWRCeTogbnVsbCxcbiAgICAgIGdyb3VwS2V5czogW10sXG4gICAgICB0eXBlOiBnZXRUeXBlKGNvbnRleHQpLFxuICAgICAgcGFnZVNpemVPcHRpb25zOiBbNSwgMTAsIDI1LCAxMDBdLFxuICAgICAgd2lkdGg6IGdldFdpZHRoKGNvbnRleHQpLFxuICAgICAgc2VsZWN0aW9uOiBuZXcgU2VsZWN0aW9uTW9kZWw8c3RyaW5nPih0cnVlLCBbXSksXG4gICAgICBoaWdobGlnaHQ6IG5ldyBTZWxlY3Rpb25Nb2RlbDxzdHJpbmc+KHRydWUsIFtdKSxcbiAgICB9KTtcbiAgfSwgWydjb21wb25lbnRzJywgJ3RlbXBsYXRlcycsICdpbmRleCddKTtcblxuICByZWFkb25seSBjb25maWcgPSBJbmRleFRlbXBsYXRlU3RvcmUuQ29uZmlnLmluamVjdCgpO1xuICByZWFkb25seSBpc1BsYXRmb3JtU2VydmVyID0gaXNQbGF0Zm9ybVNlcnZlcihpbmplY3QoUExBVEZPUk1fSUQpKTtcbiAgcmVhZG9ubHkgZm9ybSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmZvcm0pKTtcbiAgcmVhZG9ubHkgZ3JpZFRvb2xiYXJBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZ3JpZFRvb2xiYXJBY3Rpb25zKSk7XG4gIHJlYWRvbmx5IHRvZ2dsZUFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS50b2dnbGVBY3Rpb25zKSk7XG4gIHJlYWRvbmx5IHRhYmxlQ2hpbGRyZW5LZXkgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS50YWJsZUNoaWxkcmVuS2V5KSk7XG4gIHJlYWRvbmx5IGl0ZW1BY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuaXRlbUFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS50aXRsZSkpO1xuICByZWFkb25seSBkZXNjcmlwdGlvbiA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmRlc2NyaXB0aW9uKSk7XG4gIHJlYWRvbmx5IGl0ZW1zID0gaW5wdXQ8VFtdPihfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5pdGVtcykpO1xuICByZWFkb25seSBuYXZTdGFydEFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5uYXZTdGFydEFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgbmF2RW5kQWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLm5hdkVuZEFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgZ3JvdXBlZEJ5ID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZ3JvdXBlZEJ5KSk7XG4gIHJlYWRvbmx5IGdyb3VwS2V5cyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmdyb3VwS2V5cykpO1xuICByZWFkb25seSBwYWdlU2l6ZU9wdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5wYWdlU2l6ZU9wdGlvbnMpKTtcbiAgcmVhZG9ubHkgdHlwZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnR5cGUpKTtcbiAgcmVhZG9ubHkgc2VsZWN0aW9uID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuc2VsZWN0aW9uKSk7XG4gIHJlYWRvbmx5IGhpZ2hsaWdodCA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmhpZ2hsaWdodCkpO1xuICByZWFkb25seSBmb3JtJCA9IHRvT2JzZXJ2YWJsZShjb21wdXRlRmFrZSh0aGlzLmZvcm0pKTtcbiAgcmVhZG9ubHkgZm9ybVZhbHVlID0gY29tcHV0ZWRSYXdWYWx1ZSgoKSA9PiBjYWxsKHRoaXMuZm9ybSgpKSk7XG4gIHJlYWRvbmx5IHBpcGVzID0geyBpbmRleDogaW5qZWN0KEluZGV4UGlwZSksIGluZGV4TGVuZ3RoOiBpbmplY3QoSW5kZXhMZW5ndGhQaXBlKX07XG4gIHJlYWRvbmx5IGluZGV4SXRlbXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZXMuaW5kZXgudHJhbnNmb3JtKHRoaXMuaXRlbXMoKSwgdGhpcy5mb3JtVmFsdWUoKSBhcyBhbnkpO1xuICB9KTtcbiAgcmVhZG9ubHkgaW5kZXhJdGVtc0xlbmd0aCA9IGNvbXB1dGVkKCgpID0+IHRoaXMucGlwZXMuaW5kZXhMZW5ndGgudHJhbnNmb3JtKHRoaXMuaXRlbXMoKSwgdGhpcy5mb3JtVmFsdWUoKSBhcyBhbnkpKTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBEYXRhQWNjZXNzb3JQaXBlLFxuICAgIEF1dG9MYXlvdXRGcmFtZSxcbiAgICBDaGlwc0lucHV0U2VjdGlvbk9yZ2FuaXNtLFxuICAgIFNjcm9sbEZyYW1lLFxuICAgIERpdmlkZXJGcmFtZSxcbiAgICBHcmlkVG9vbGJhck9yZ2FuaXNtU3RvcmUsXG4gICAgUGFnaW5hdG9yT3JnYW5pc21TdG9yZSxcbiAgICBUYWJsZU9yZ2FuaXNtU3RvcmUsXG4gICAgU21hcnRMaXN0T3JnYW5pc20sXG4gICAgR3JpZENhcmRzU2VjdGlvbk9yZ2FuaXNtLFxuICAgIFNlbGVjdGlvbkxpc3RPcmdhbmlzbSxcbiAgICBOYXZpZ2F0b3JPcmdhbmlzbVN0b3JlLFxuICAgIEZpbHRlcnNTZWN0aW9uT3JnYW5pc20sXG4gICAgSGVhZGVyTW9sZWN1bGVTdG9yZSxcbiAgICBTb3J0QnlQaXBlLFxuICBdLFxuICBzZWxlY3RvcjogJ3RlbXBsYXRlcy1pbmRleCcsXG4gIHRlbXBsYXRlOiBgXG4gIDxmcmFtZXMtc2Nyb2xsPlxuICAgIDxvcmdhbmlzbXMtbmF2aWdhdG9yIGluamVjdGFibGVcbiAgICAgIFtzdGFydEFjdGlvbnNdPVwic3RvcmUubmF2U3RhcnRBY3Rpb25zKClcIlxuICAgICAgW2VuZEFjdGlvbnNdPVwic3RvcmUubmF2RW5kQWN0aW9ucygpXCJcbiAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICBuYXZpZ2F0b3JcbiAgICA+XG4gICAgICA8bW9sZWN1bGVzLWhlYWRlciBpbmplY3RhYmxlIFt0aXRsZV09XCJzdG9yZS50aXRsZSgpXCIgW2Rlc2NyaXB0aW9uXT1cInN0b3JlLmRlc2NyaXB0aW9uKClcIi8+XG4gICAgPC9vcmdhbmlzbXMtbmF2aWdhdG9yPlxuICAgIDxmcmFtZXMtYXV0by1sYXlvdXQgdmVydGljYWwgY29udGVudHM+XG4gICAgICBAc3dpdGNoKHN0b3JlLnR5cGUoKSkge1xuICAgICAgICBAY2FzZSgnbGlzdCcpIHtcbiAgICAgICAgICA8b3JnYW5pc21zLXNtYXJ0LWxpc3RcbiAgICAgICAgICAgIFtpdGVtc109XCJzdG9yZS5pbmRleEl0ZW1zKClcIlxuICAgICAgICAgICAgW2l0ZW1BY3Rpb25zXT1cInN0b3JlLml0ZW1BY3Rpb25zKClcIlxuICAgICAgICAgICAgW2dyb3VwZWRCeV09XCJzdG9yZS5ncm91cGVkQnkoKVwiXG4gICAgICAgICAgICBbZ3JvdXBLZXlzXT1cInN0b3JlLmdyb3VwS2V5cygpXCJcbiAgICAgICAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoJ2dyaWQnKSB7XG4gICAgICAgICAgQGRlZmVyIHtcbiAgICAgICAgICAgIDxvcmdhbmlzbXMtZ3JpZC1jYXJkcy1zZWN0aW9uXG4gICAgICAgICAgICAgIFtpdGVtc109XCJzdG9yZS5pbmRleEl0ZW1zKClcIlxuICAgICAgICAgICAgICAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIlxuICAgICAgICAgICAgICBjb250ZW50c1xuICAgICAgICAgICAgLz5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGRlZmF1bHQge1xuICAgICAgICAgIEBkZWZlciB7XG4gICAgICAgICAgICA8ZnJhbWVzLWRpdmlkZXI+XG4gICAgICAgICAgICAgIDxuZy1jb250ZW50IGZpcnN0IHNlbGVjdD1cIltkYXNoYm9hcmRdXCIgLz5cbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XCIgc2Vjb25kPlxuICAgICAgICAgICAgICBAaWYgKHN0b3JlLmdyaWRUb29sYmFyQWN0aW9ucygpIHx8IHRydWUpIHtcbiAgICAgICAgICAgICAgICBAZGVmZXIge1xuICAgICAgICAgICAgICAgICAgPG9yZ2FuaXNtcy1ncmlkLXRvb2xiYXIgaW5qZWN0YWJsZVxuICAgICAgICAgICAgICAgICAgICBbYWN0aW9uc109XCJzdG9yZS5ncmlkVG9vbGJhckFjdGlvbnMoKVwiXG4gICAgICAgICAgICAgICAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaWYgKHN0b3JlLmZvcm0oKS5nZXQoWydxdWVyeSddKSkge1xuICAgICAgICAgICAgICAgIDxvcmdhbmlzbXMtY2hpcHMtaW5wdXQtc2VjdGlvblxuICAgICAgICAgICAgICAgICAgW2NvbnRyb2xdPVwic3RvcmUuZm9ybSgpLmdldChbJ3F1ZXJ5J10pXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPG9yZ2FuaXNtcy10YWJsZSBpbmplY3RhYmxlXG4gICAgICAgICAgICAgICAgICBbaXRlbXNdPVwic3RvcmUuaW5kZXhJdGVtcygpXCJcbiAgICAgICAgICAgICAgICAgIFtpdGVtQWN0aW9uc109XCJzdG9yZS5pdGVtQWN0aW9ucygpXCJcbiAgICAgICAgICAgICAgICAgIFtzZWxlY3Rpb25dPVwic3RvcmUuc2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwic3RvcmUuZm9ybSgpXCJcbiAgICAgICAgICAgICAgICAgIFtjaGlsZHJlbktleV09XCJzdG9yZS50YWJsZUNoaWxkcmVuS2V5KClcIlxuICAgICAgICAgICAgICAgICAgW2hpZ2hsaWdodF09XCJzdG9yZS5oaWdobGlnaHQoKVwiXG4gICAgICAgICAgICAgICAgICAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgQGlmIChzdG9yZS5mb3JtKCkuZ2V0KFsncGFnZSddKSkge1xuICAgICAgICAgICAgICAgICAgQGRlZmVyIHtcbiAgICAgICAgICAgICAgICAgICAgPG9yZ2FuaXNtcy1wYWdpbmF0b3IgaW5qZWN0YWJsZVxuICAgICAgICAgICAgICAgICAgICAgIFtmb3JtXT1cInN0b3JlLmZvcm0oKS5nZXQoWydwYWdlJ10pXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaXRlbUxlbmd0aF09XCJzdG9yZS5pbmRleEl0ZW1zTGVuZ3RoKClcIlxuICAgICAgICAgICAgICAgICAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwic3RvcmUucGFnZVNpemVPcHRpb25zKClcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2ZyYW1lcy1kaXZpZGVyPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvZnJhbWVzLWF1dG8tbGF5b3V0PlxuICA8L2ZyYW1lcy1zY3JvbGw+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2luZGV4LnRlbXBsYXRlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHsgY2xhc3M6ICd0ZW1wbGF0ZScgfSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IEluZGV4VGVtcGxhdGVTdG9yZSxcbiAgICAgIGlucHV0czogW1xuICAgICAgICAnZ3JpZFRvb2xiYXJBY3Rpb25zJywgJ3RhYmxlQ2hpbGRyZW5LZXknLCAnZm9ybScsICd0aXRsZScsXG4gICAgICAgICdkZXNjcmlwdGlvbicsICdpdGVtcycsICdpdGVtQWN0aW9ucycsICduYXZTdGFydEFjdGlvbnMnLFxuICAgICAgICAnbmF2RW5kQWN0aW9ucycsICdncm91cGVkQnknLCAnZ3JvdXBLZXlzJyxcbiAgICAgICAgJ3NlbGVjdGlvbicsICdwYWdlU2l6ZU9wdGlvbnMnLFxuICAgICAgICAndHlwZScsXG4gICAgICAgICdoaWdobGlnaHQnXG4gICAgICBdLFxuICAgICAgb3V0cHV0czogW10sXG4gICAgfVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBRdWVyeVJlc29sdmVyU2VydmljZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5kZXhUZW1wbGF0ZTxUPiBleHRlbmRzIE5nQXRvbWljQ29tcG9uZW50IHtcbiAgc3RhdGljIEFjdGlvbklkID0gQWN0aW9uSWQ7XG4gIHByb3RlY3RlZCBBY3Rpb25JZCA9IEFjdGlvbklkO1xuICBwcm90ZWN0ZWQgc3RvcmUgPSBpbmplY3QoSW5kZXhUZW1wbGF0ZVN0b3JlKTtcbiAgXG4gIHJlYWRvbmx5IGRpdmlkZXJGcmFtZSA9IHZpZXdDaGlsZChEaXZpZGVyRnJhbWUpO1xuXG4gIEBFZmZlY3QoVGFibGVPcmdhbmlzbS5BY3Rpb25JZC5IRUFERVJfQ0xJQ0spXG4gIHByb3RlY3RlZCBvblRhYmxlSGVhZGVyQ2xpY2soY29sdW1uOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRpc3BhdGNoKHtpZDogQWN0aW9uSWQuVEFCTEVfSEVBREVSX0NMSUNLLCBwYXlsb2FkOiBjb2x1bW59KTtcbiAgfVxuXG4gIEBFZmZlY3QoVGFibGVPcmdhbmlzbS5BY3Rpb25JZC5DSEVDS0JPWF9DTElDSylcbiAgcHJvdGVjdGVkIG9uQ2hlY2tib3hDbGlja0l0ZW0oaXRlbTogVCkge1xuICAgIHRoaXMuZGlzcGF0Y2goe2lkOiBBY3Rpb25JZC5DSEVDS0JPWF9DTElDSywgcGF5bG9hZDogaXRlbX0pO1xuICB9XG5cbiAgQEVmZmVjdChHcmlkQ2FyZHNTZWN0aW9uT3JnYW5pc20uQWN0aW9uSWQuSVRFTV9DTElDSylcbiAgQEVmZmVjdChTbWFydExpc3RPcmdhbmlzbS5BY3Rpb25JZC5DTElDS19JVEVNKVxuICBwcm90ZWN0ZWQgb25JdGVtQ2xpY2tlZChpdGVtOiBUKSB7XG4gICAgdGhpcy5kaXNwYXRjaCh7aWQ6IEFjdGlvbklkLklURU1fQ0xJQ0ssIHBheWxvYWQ6IGl0ZW19KTtcbiAgfVxuXG4gIEBFZmZlY3QoR3JpZENhcmRzU2VjdGlvbk9yZ2FuaXNtLkFjdGlvbklkLklURU1fTUVOVV9DTElDSylcbiAgQEVmZmVjdChTbWFydExpc3RPcmdhbmlzbS5BY3Rpb25JZC5JVEVNX0JVVFRPTl9DTElDSylcbiAgcHJvdGVjdGVkIG9uSXRlbUJ1dHRvbkNsaWNrZWQoaXRlbTogVCkge1xuICAgIHRoaXMuZGlzcGF0Y2goe2lkOiBBY3Rpb25JZC5MSVNUX0lURU1fQlVUVE9OX0NMSUNLRUQsIHBheWxvYWQ6IGl0ZW19KTtcbiAgfVxuXG4gIEBFZmZlY3QoTmF2QWN0aW9uSWQuQkFDSylcbiAgcHJvdGVjdGVkIGJhY2soKSB7XG4gICAgdGhpcy5kaXNwYXRjaCh7aWQ6IEFjdGlvbklkLkJBQ0t9KTtcbiAgfVxufVxuIl19
417
+ ], styles: [":host{width:100%;height:100%;background:#fff;display:block;--navigator-height: 56px;--navigator-height-SCOPED-IN-index-oJo7: var(--navigator-height);--primary-color: #404040;--primary-color-SCOPED-IN-index-oJo7: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-index-oJo7: var(--on-primary-color);--secondary-color: #f0f0f0;--secondary-color-SCOPED-IN-index-oJo7: var(--secondary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-index-oJo7: var(--surface-color);--on-surface-color: #000;--on-surface-color-SCOPED-IN-index-oJo7: var(--on-surface-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-index-oJo7: var(--background-color);--on-background-color: #000;--on-background-color-SCOPED-IN-index-oJo7: var(--on-background-color);--first-content-height: 0px;--first-content-height-SCOPED-IN-index-oJo7: var(--first-content-height);--navigator-background-color: var(--primary-color-SCOPED-IN-index-oJo7);--navigator-background-color-SCOPED-IN-index-oJo7: var(--navigator-background-color);--navigator-on-background-color: var(--on-primary-color-SCOPED-IN-index-oJo7);--navigator-on-background-color-SCOPED-IN-index-oJo7: var(--navigator-on-background-color);--table-background-color: var(--background-color-SCOPED-IN-index-oJo7);--table-background-color-SCOPED-IN-index-oJo7: var(--table-background-color);--table-on-background-color: var(--on-background-color-SCOPED-IN-index-oJo7);--table-on-background-color-SCOPED-IN-index-oJo7: var(--table-on-background-color);--min-first-content-height: 0px;--min-first-content-height-SCOPED-IN-index-oJo7: var(--min-first-content-height);--max-first-content-height: calc(100% - 80px) ;--max-first-content-height-SCOPED-IN-index-oJo7: var(--max-first-content-height)}:host{background-color:var(--background-color-SCOPED-IN-index-oJo7);color:var(--on-background-color-SCOPED-IN-index-oJo7);transition:background-color .5s ease-in-out}:host frames-auto-layout{--gap: 0;--vertical-padding: 0}:host frames-divider{--first-content-height: var(--first-content-height-SCOPED-IN-index-oJo7);--min-first-content-height: var(--min-first-content-height-SCOPED-IN-index-oJo7)}:host organisms-table{--background-color: var(--table-background-color-SCOPED-IN-index-oJo7);--on-background-color: var(--table-on-background-color-SCOPED-IN-index-oJo7)}:host *{--primary-color: var(--primary-color-SCOPED-IN-index-oJo7);--on-primary-color: var(--on-primary-color-SCOPED-IN-index-oJo7);--surface-color: var(--surface-color-SCOPED-IN-index-oJo7);--on-surface-color: var(--on-surface-color-SCOPED-IN-index-oJo7);--background-color: var(--background-color-SCOPED-IN-index-oJo7);--on-background-color: var(--on-background-color-SCOPED-IN-index-oJo7)}:host organisms-navigator{--background-color: var(--navigator-background-color-SCOPED-IN-index-oJo7);--on-background-color: var(--navigator-on-background-color-SCOPED-IN-index-oJo7)}\n"] }]
418
+ }], propDecorators: { onTableHeaderClick: [], onCheckboxClickItem: [], onItemClicked: [], onItemButtonClicked: [], onHeaderCheckboxClick: [], back: [] } });
419
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi90ZW1wbGF0ZXMvX2luZGV4L2luZGV4LnRlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQW1CLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDekYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVB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QkFDdEIsa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQixVQUFVO3FCQUNYLFlBQ1MsaUJBQWlCLFlBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyRVQsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLGtCQUNYO3dCQUNkOzRCQUNFLFNBQVMsRUFBRSxrQkFBa0I7NEJBQzdCLE1BQU0sRUFBRTtnQ0FDTixvQkFBb0I7Z0NBQ3BCLGtCQUFrQjtnQ0FDbEIsZUFBZTtnQ0FDZixrQkFBa0I7Z0NBQ2xCLE1BQU07Z0NBQ04sT0FBTztnQ0FDUCxhQUFhO2dDQUNiLE9BQU87Z0NBQ1AsYUFBYTtnQ0FDYixhQUFhO2dDQUNiLGlCQUFpQjtnQ0FDakIsZUFBZTtnQ0FDZixXQUFXO2dDQUNYLFdBQVc7Z0NBQ1gsV0FBVztnQ0FDWCxpQkFBaUI7Z0NBQ2pCLE1BQU07Z0NBQ04sV0FBVzs2QkFDWjs0QkFDRCxPQUFPLEVBQUUsRUFBRTt5QkFDWjtxQkFDRixhQUNVO3dCQUNULG9CQUFvQjtxQkFDckI7OEJBVVMsa0JBQWtCLE1BS2xCLG1CQUFtQixNQU9uQixhQUFhLE1BTWIsbUJBQW1CLE1BS25CLHFCQUFxQixNQUtyQixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGlyZWN0aXZlLCBQTEFURk9STV9JRCwgaW5qZWN0LCBpbnB1dCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEF1dG9MYXlvdXRGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvYXV0by1sYXlvdXQnO1xuaW1wb3J0IHsgU2Nyb2xsRnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL3Njcm9sbCc7XG5pbXBvcnQgeyBIZWFkZXJNb2xlY3VsZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL21vbGVjdWxlcy9oZWFkZXInO1xuaW1wb3J0IHsgVGFibGVPcmdhbmlzbSwgVGFibGVPcmdhbmlzbVN0b3JlLCBpbmplY3RJbmRleEZvcm0gfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvb3JnYW5pc21zL3RhYmxlJztcbmltcG9ydCB7IFNtYXJ0TGlzdE9yZ2FuaXNtIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL29yZ2FuaXNtcy9zbWFydC1saXN0JztcbmltcG9ydCB7IE5hdmlnYXRvck9yZ2FuaXNtU3RvcmUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvb3JnYW5pc21zL25hdmlnYXRvcic7XG5pbXBvcnQgeyBQYWdpbmF0b3JPcmdhbmlzbVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL29yZ2FuaXNtcy9wYWdpbmF0b3InO1xuaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25zLCBJbmplY3RhYmxlQ29tcG9uZW50LCBUb2tlbml6ZWRUeXBlLCBfY29tcHV0ZWQsIGNvbXB1dGVGYWtlIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IEdyaWRUb29sYmFyT3JnYW5pc21TdG9yZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9vcmdhbmlzbXMvZ3JpZC10b29sYmFyJztcbmltcG9ydCB7IEZpbHRlcnNTZWN0aW9uT3JnYW5pc20gfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvb3JnYW5pc21zL2ZpbHRlcnMtc2VjdGlvbic7XG5pbXBvcnQgeyBEaXZpZGVyRnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL2RpdmlkZXInO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uTGlzdE9yZ2FuaXNtIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL29yZ2FuaXNtcy9zZWxlY3Rpb24tbGlzdCc7XG5pbXBvcnQgeyBFZmZlY3QsIE5nQXRvbWljQ29tcG9uZW50IH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IFF1ZXJ5UmVzb2x2ZXJTZXJ2aWNlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvcXVlcnktcmVzb2x2ZXInO1xuaW1wb3J0IHsgTmF2QWN0aW9uSWQsIFVJQ29udGV4dCwgY2FsbCwgaW5qZWN0TmF2U3RhcnRBY3Rpb25zLCBtYWtlQ29uZmlnIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvdWknO1xuaW1wb3J0IHsgSW5kZXhQaXBlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvaW5kZXgnO1xuaW1wb3J0IHsgSW5kZXhMZW5ndGhQaXBlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvaW5kZXgtbGVuZ3RoJztcbmltcG9ydCB7IFNvcnRCeVBpcGUgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9waXBlcy9zb3J0LWJ5JztcbmltcG9ydCB7IEdyaWRDYXJkc1NlY3Rpb25PcmdhbmlzbSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9vcmdhbmlzbXMvZ3JpZC1jYXJkcy1zZWN0aW9uJztcbmltcG9ydCB7IGluamVjdE1vZGVsTmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3BpcGVzL2RvbWFpbic7XG5pbXBvcnQgeyBEYXRhQWNjZXNzb3JQaXBlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvZGF0YS1hY2Nlc3Nvcic7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb21wdXRlZFJhd1ZhbHVlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vdXRpbHMnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQ2hpcHNJbnB1dFNlY3Rpb25PcmdhbmlzbSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9vcmdhbmlzbXMvY2hpcHMtaW5wdXQtc2VjdGlvbic7XG5pbXBvcnQgeyBGbGF0VHJlZUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5cbmV4cG9ydCBlbnVtIEFjdGlvbklkIHtcbiAgQkFDSyA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9pbmRleF0gQmFjaycsXG4gIFRBQkxFX0hFQURFUl9DTElDSyA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9pbmRleF0gVGFibGUgSGVhZGVyIENsaWNrJyxcbiAgVEFCTEVfSEVBREVSX0NIRUNLQk9YX0NMSUNLID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL2luZGV4XSBUYWJsZSBIZWFkZXIgQ2hlY2tib3ggQ2xpY2snLFxuICBUQUJMRV9DSEVDS0JPWF9DTElDSyA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9pbmRleF0gVGFibGUgQ2hlY2tib3ggQ2xpY2snLFxuICBJVEVNX0NMSUNLID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL2luZGV4XSBJdGVtIENsaWNrJyxcbiAgREVUQUlMID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL2luZGV4XSBEZXRhaWwnLFxuICBMSVNUX0lURU1fQlVUVE9OX0NMSUNLRUQgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50cy90ZW1wbGF0ZXMvaW5kZXhdIExpc3QgSXRlbSBCdXR0b24gQ2xpY2tlZCcsXG4gIFRPR0dMRV9UWVBFID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL2luZGV4XSBUb2dnbGUgVHlwZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5kZXhUZW1wbGF0ZUNvbmZpZzxUIGV4dGVuZHMge2lkOiBzdHJpbmd9ID0gYW55PiB7XG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgZ3JpZFRvb2xiYXJBY3Rpb25zOiBBY3Rpb25bXTtcbiAgbmF2U3RhcnRBY3Rpb25zOiBBY3Rpb25zO1xuICBuYXZFbmRBY3Rpb25zOiBBY3Rpb25zO1xuICBpdGVtQWN0aW9uczogQWN0aW9ucztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgaXRlbXM6IFRbXVxuICB0YWJsZUNoaWxkcmVuS2V5OiBrZXlvZiBUO1xuICBncm91cGVkQnk6IGtleW9mIFQgfCBudWxsO1xuICBncm91cEtleXM6IHN0cmluZ1tdO1xuICB0eXBlOiAnbGlzdCcgfCAndGFibGUnIHwgJ2dyaWQnO1xuICB0b2dnbGVBY3Rpb25zOiBBY3Rpb25zO1xuICBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdO1xuICB3aWR0aDogc3RyaW5nO1xuICBzZWxlY3Rpb246IFNlbGVjdGlvbk1vZGVsPHN0cmluZz47XG4gIGhpZ2hsaWdodDogU2VsZWN0aW9uTW9kZWw8c3RyaW5nPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFR5cGUoY29udGV4dDogVUlDb250ZXh0KSB7XG4gIHN3aXRjaCAoY29udGV4dC5icmVha3BvaW50KSB7XG4gICAgY2FzZSAneFNtYWxsJzogcmV0dXJuICdsaXN0JztcbiAgICBjYXNlICdzbWFsbCc6IHJldHVybiAndGFibGUnO1xuICAgIGNhc2UgJ21lZGl1bSc6IHJldHVybiAndGFibGUnO1xuICAgIGNhc2UgJ2xhcmdlJzogcmV0dXJuICd0YWJsZSc7XG4gICAgY2FzZSAneExhcmdlJzogcmV0dXJuICd0YWJsZSc7XG4gICAgZGVmYXVsdDogcmV0dXJuICd0YWJsZSc7XG4gIH1cbn1cblxuQFRva2VuaXplZFR5cGUoKVxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndGVtcGxhdGVzLWluZGV4JyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgSW5kZXhQaXBlLFxuICAgIEluZGV4TGVuZ3RoUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5kZXhUZW1wbGF0ZVN0b3JlPFQgZXh0ZW5kcyB7aWQ6IHN0cmluZ30+IGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHN0YXRpYyByZWFkb25seSBBY3Rpb25JZCA9IEFjdGlvbklkO1xuICBzdGF0aWMgcmVhZG9ubHkgQ29uZmlnID0gbWFrZUNvbmZpZygoKSA9PiB7XG4gICAgY29uc3QgbW9kZWxOYW1lID0gaW5qZWN0TW9kZWxOYW1lKCk7XG4gICAgZnVuY3Rpb24gZ2V0V2lkdGgoY29udGV4dDogVUlDb250ZXh0KSB7XG4gICAgICBzd2l0Y2ggKGNvbnRleHQuYnJlYWtwb2ludCkge1xuICAgICAgICBjYXNlICd4U21hbGwnOiByZXR1cm4gJ3ZhcigtLXBhZ2Utd2lkdGgtbHYxKSdcbiAgICAgICAgY2FzZSAnc21hbGwnOlxuICAgICAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgICBjYXNlICdsYXJnZSc6XG4gICAgICAgIGNhc2UgJ3hMYXJnZSc6XG4gICAgICAgIGRlZmF1bHQ6IHJldHVybiAndmFyKC0tcGFnZS13aWR0aC1sdjIpJztcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgZm9ybSA9IGluamVjdEluZGV4Rm9ybSgpO1xuICAgIGNvbnN0IG5hdlN0YXJ0QWN0aW9ucyA9IGluamVjdE5hdlN0YXJ0QWN0aW9ucygpO1xuICBcbiAgICByZXR1cm4gKCkgPT4gKHtcbiAgICAgIGZvcm0sXG4gICAgICB0b2dnbGVBY3Rpb25zOiBbXG4gICAgICAgIHsgaWQ6IEFjdGlvbklkLlRPR0dMRV9UWVBFLCBpY29uOiAnZ3JpZF92aWV3JywgcGF5bG9hZDogJ2dyaWQnIH0sXG4gICAgICAgIHsgaWQ6IEFjdGlvbklkLlRPR0dMRV9UWVBFLCBpY29uOiAnbGlzdCcsIHBheWxvYWQ6ICdsaXN0JyB9LFxuICAgICAgICB7IGlkOiBBY3Rpb25JZC5UT0dHTEVfVFlQRSwgaWNvbjogJ3RhYmxlJywgcGF5bG9hZDogJ3RhYmxlJyB9LFxuICAgICAgXSBhcyBBY3Rpb25bXSxcbiAgICAgIGdyaWRUb29sYmFyQWN0aW9uczogW10gYXMgQWN0aW9uW10sXG4gICAgICB0YWJsZUNoaWxkcmVuS2V5OiBudWxsIGFzIHN0cmluZyxcbiAgICAgIHRhYmxlSXNIaWRkZW46IChpdGVtOiBhbnkpID0+IGZhbHNlLFxuICAgICAgdGFibGVUcmVlQ29udHJvbDogbmV3IEZsYXRUcmVlQ29udHJvbDxhbnk+KG4gPT4gbi5sZXZlbCwgbiA9PiBuLmlzRXhwYW5kYWJsZSksXG4gICAgICBpdGVtQWN0aW9uczogKGl0ZW0pID0+IFt7aWQ6IEFjdGlvbklkLkRFVEFJTCwgaWNvbjogJ29wZW5faW5fbmV3JywgcGF5bG9hZDogaXRlbX1dLFxuICAgICAgaXRlbXM6IFtdLFxuICAgICAgaXRlbXNMZW5ndGg6IDAsXG4gICAgICB0aXRsZTogYCR7bW9kZWxOYW1lKCl95LiA6KanYCxcbiAgICAgIGRlc2NyaXB0aW9uOiBgYCxcbiAgICAgIG5hdlN0YXJ0QWN0aW9uczogbmF2U3RhcnRBY3Rpb25zKCksXG4gICAgICBuYXZFbmRBY3Rpb25zOiBbXSxcbiAgICAgIGdyb3VwZWRCeTogbnVsbCxcbiAgICAgIGdyb3VwS2V5czogW10sXG4gICAgICB0eXBlOiA8J3RhYmxlJyB8ICdsaXN0JyB8ICdncmlkJz4ndGFibGUnLFxuICAgICAgcGFnZVNpemVPcHRpb25zOiBbNSwgMTAsIDI1LCAxMDBdLFxuICAgICAgc2VsZWN0aW9uOiBuZXcgU2VsZWN0aW9uTW9kZWw8c3RyaW5nPih0cnVlLCBbXSksXG4gICAgICBoaWdobGlnaHQ6IG5ldyBTZWxlY3Rpb25Nb2RlbDxzdHJpbmc+KHRydWUsIFtdKSxcbiAgICB9KTtcbiAgfSwgWydjb21wb25lbnRzJywgJ3RlbXBsYXRlcycsICdpbmRleCddKTtcbiAgc3RhdGljIHByb3ZpZGVUeXBlQ29uZmlnKCkge1xuICAgIHJldHVybiBJbmRleFRlbXBsYXRlU3RvcmUuQ29uZmlnLnByb3ZpZGUoKCkgPT4ge1xuICAgICAgcmV0dXJuIChjb25maWcsIGNvbnRleHQpID0+ICh7XG4gICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgdHlwZTogZ2V0VHlwZShjb250ZXh0KSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcmVhZG9ubHkgY29uZmlnID0gSW5kZXhUZW1wbGF0ZVN0b3JlLkNvbmZpZy5pbmplY3QoKTtcbiAgcmVhZG9ubHkgaXNQbGF0Zm9ybVNlcnZlciA9IGlzUGxhdGZvcm1TZXJ2ZXIoaW5qZWN0KFBMQVRGT1JNX0lEKSk7XG4gIHJlYWRvbmx5IGZvcm0gPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5mb3JtKSk7XG4gIHJlYWRvbmx5IGdyaWRUb29sYmFyQWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmdyaWRUb29sYmFyQWN0aW9ucykpO1xuICByZWFkb25seSB0b2dnbGVBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkudG9nZ2xlQWN0aW9ucykpO1xuICByZWFkb25seSB0YWJsZUNoaWxkcmVuS2V5ID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkudGFibGVDaGlsZHJlbktleSkpO1xuICByZWFkb25seSB0YWJsZUlzSGlkZGVuID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkudGFibGVJc0hpZGRlbikpO1xuICByZWFkb25seSB0YWJsZVRyZWVDb250cm9sID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkudGFibGVUcmVlQ29udHJvbCkpO1xuICByZWFkb25seSBpdGVtQWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLml0ZW1BY3Rpb25zKSk7XG4gIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkudGl0bGUpKTtcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24gPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5kZXNjcmlwdGlvbikpO1xuICByZWFkb25seSBpdGVtcyA9IGlucHV0PFRbXT4oX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuaXRlbXMpKTtcbiAgcmVhZG9ubHkgaXRlbXNMZW5ndGggPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5pdGVtc0xlbmd0aCkpO1xuICByZWFkb25seSBuYXZTdGFydEFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5uYXZTdGFydEFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgbmF2RW5kQWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLm5hdkVuZEFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgZ3JvdXBlZEJ5ID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZ3JvdXBlZEJ5KSk7XG4gIHJlYWRvbmx5IGdyb3VwS2V5cyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmdyb3VwS2V5cykpO1xuICByZWFkb25seSBwYWdlU2l6ZU9wdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5wYWdlU2l6ZU9wdGlvbnMpKTtcbiAgcmVhZG9ubHkgdHlwZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnR5cGUpKTtcbiAgcmVhZG9ubHkgc2VsZWN0aW9uID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuc2VsZWN0aW9uKSk7XG4gIHJlYWRvbmx5IGhpZ2hsaWdodCA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmhpZ2hsaWdodCkpO1xuICByZWFkb25seSBmb3JtJCA9IHRvT2JzZXJ2YWJsZShjb21wdXRlRmFrZSh0aGlzLmZvcm0pKTtcbiAgcmVhZG9ubHkgZm9ybVZhbHVlID0gY29tcHV0ZWRSYXdWYWx1ZSgoKSA9PiBjYWxsKHRoaXMuZm9ybSgpKSk7XG4gIHJlYWRvbmx5IHBpcGVzID0geyBpbmRleDogaW5qZWN0KEluZGV4UGlwZSksIGluZGV4TGVuZ3RoOiBpbmplY3QoSW5kZXhMZW5ndGhQaXBlKX07XG4gIC8vIHJlYWRvbmx5IGl0ZW1zU2l6ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMucGlwZXMuaW5kZXhMZW5ndGgudHJhbnNmb3JtKHRoaXMuaXRlbXMoKSwgdGhpcy5mb3JtVmFsdWUoKSBhcyBhbnkpKTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBEYXRhQWNjZXNzb3JQaXBlLFxuICAgIEF1dG9MYXlvdXRGcmFtZSxcbiAgICBDaGlwc0lucHV0U2VjdGlvbk9yZ2FuaXNtLFxuICAgIFNjcm9sbEZyYW1lLFxuICAgIERpdmlkZXJGcmFtZSxcbiAgICBHcmlkVG9vbGJhck9yZ2FuaXNtU3RvcmUsXG4gICAgUGFnaW5hdG9yT3JnYW5pc21TdG9yZSxcbiAgICBUYWJsZU9yZ2FuaXNtU3RvcmUsXG4gICAgU21hcnRMaXN0T3JnYW5pc20sXG4gICAgR3JpZENhcmRzU2VjdGlvbk9yZ2FuaXNtLFxuICAgIFNlbGVjdGlvbkxpc3RPcmdhbmlzbSxcbiAgICBOYXZpZ2F0b3JPcmdhbmlzbVN0b3JlLFxuICAgIEZpbHRlcnNTZWN0aW9uT3JnYW5pc20sXG4gICAgSGVhZGVyTW9sZWN1bGVTdG9yZSxcbiAgICBTb3J0QnlQaXBlLFxuICBdLFxuICBzZWxlY3RvcjogJ3RlbXBsYXRlcy1pbmRleCcsXG4gIHRlbXBsYXRlOiBgXG4gIDxmcmFtZXMtc2Nyb2xsPlxuICAgIDxvcmdhbmlzbXMtbmF2aWdhdG9yIGluamVjdGFibGVcbiAgICAgIFtzdGFydEFjdGlvbnNdPVwic3RvcmUubmF2U3RhcnRBY3Rpb25zKClcIlxuICAgICAgW2VuZEFjdGlvbnNdPVwic3RvcmUubmF2RW5kQWN0aW9ucygpXCJcbiAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICBuYXZpZ2F0b3JcbiAgICA+XG4gICAgICA8bW9sZWN1bGVzLWhlYWRlciBpbmplY3RhYmxlIFt0aXRsZV09XCJzdG9yZS50aXRsZSgpXCIgW2Rlc2NyaXB0aW9uXT1cInN0b3JlLmRlc2NyaXB0aW9uKClcIi8+XG4gICAgPC9vcmdhbmlzbXMtbmF2aWdhdG9yPlxuICAgIDxmcmFtZXMtYXV0by1sYXlvdXQgdmVydGljYWwgY29udGVudHM+XG4gICAgICBAc3dpdGNoKHN0b3JlLnR5cGUoKSkge1xuICAgICAgICBAY2FzZSgnbGlzdCcpIHtcbiAgICAgICAgICA8b3JnYW5pc21zLXNtYXJ0LWxpc3RcbiAgICAgICAgICAgIFtpdGVtc109XCJzdG9yZS5pdGVtcygpXCJcbiAgICAgICAgICAgIFtpdGVtQWN0aW9uc109XCJzdG9yZS5pdGVtQWN0aW9ucygpXCJcbiAgICAgICAgICAgIFtncm91cGVkQnldPVwic3RvcmUuZ3JvdXBlZEJ5KClcIlxuICAgICAgICAgICAgW2dyb3VwS2V5c109XCJzdG9yZS5ncm91cEtleXMoKVwiXG4gICAgICAgICAgICAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCdncmlkJykge1xuICAgICAgICAgIEBkZWZlciB7XG4gICAgICAgICAgICA8b3JnYW5pc21zLWdyaWQtY2FyZHMtc2VjdGlvblxuICAgICAgICAgICAgICBbaXRlbXNdPVwic3RvcmUuaXRlbXMoKVwiXG4gICAgICAgICAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICAgICAgICAgIGNvbnRlbnRzXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgQGRlZmVyIHtcbiAgICAgICAgICAgIDxmcmFtZXMtZGl2aWRlcj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgZmlyc3Qgc2VsZWN0PVwiW2Rhc2hib2FyZF1cIiAvPlxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcIiBzZWNvbmQ+XG4gICAgICAgICAgICAgIEBpZiAoc3RvcmUuZ3JpZFRvb2xiYXJBY3Rpb25zKCkgfHwgdHJ1ZSkge1xuICAgICAgICAgICAgICAgIEBkZWZlciB7XG4gICAgICAgICAgICAgICAgICA8b3JnYW5pc21zLWdyaWQtdG9vbGJhciBpbmplY3RhYmxlXG4gICAgICAgICAgICAgICAgICAgIFthY3Rpb25zXT1cInN0b3JlLmdyaWRUb29sYmFyQWN0aW9ucygpXCJcbiAgICAgICAgICAgICAgICAgICAgKGFjdGlvbik9XCJkaXNwYXRjaCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpZiAoc3RvcmUuZm9ybSgpLmdldChbJ3F1ZXJ5J10pKSB7XG4gICAgICAgICAgICAgICAgPG9yZ2FuaXNtcy1jaGlwcy1pbnB1dC1zZWN0aW9uXG4gICAgICAgICAgICAgICAgICBbY29udHJvbF09XCJzdG9yZS5mb3JtKCkuZ2V0KFsncXVlcnknXSlcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8b3JnYW5pc21zLXRhYmxlIGluamVjdGFibGVcbiAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJzdG9yZS5pdGVtcygpXCJcbiAgICAgICAgICAgICAgICAgIFtpdGVtQWN0aW9uc109XCJzdG9yZS5pdGVtQWN0aW9ucygpXCJcbiAgICAgICAgICAgICAgICAgIFtzZWxlY3Rpb25dPVwic3RvcmUuc2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwic3RvcmUuZm9ybSgpXCJcbiAgICAgICAgICAgICAgICAgIFtjaGlsZHJlbktleV09XCJzdG9yZS50YWJsZUNoaWxkcmVuS2V5KClcIlxuICAgICAgICAgICAgICAgICAgW2hpZ2hsaWdodF09XCJzdG9yZS5oaWdobGlnaHQoKVwiXG4gICAgICAgICAgICAgICAgICBbaXNIaWRkZW5dPVwic3RvcmUudGFibGVJc0hpZGRlbigpXCJcbiAgICAgICAgICAgICAgICAgIFt0cmVlQ29udHJvbF09XCJzdG9yZS50YWJsZVRyZWVDb250cm9sKClcIlxuICAgICAgICAgICAgICAgICAgKGFjdGlvbik9XCJkaXNwYXRjaCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIEBpZiAoc3RvcmUuZm9ybSgpLmdldChbJ3BhZ2UnXSkpIHtcbiAgICAgICAgICAgICAgICAgIEBkZWZlciB7XG4gICAgICAgICAgICAgICAgICAgIDxvcmdhbmlzbXMtcGFnaW5hdG9yIGluamVjdGFibGVcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybV09XCJzdG9yZS5mb3JtKCkuZ2V0KFsncGFnZSddKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2l0ZW1MZW5ndGhdPVwic3RvcmUuaXRlbXNMZW5ndGgoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3BhZ2VTaXplT3B0aW9uc109XCJzdG9yZS5wYWdlU2l6ZU9wdGlvbnMoKVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZnJhbWVzLWRpdmlkZXI+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC9mcmFtZXMtYXV0by1sYXlvdXQ+XG4gIDwvZnJhbWVzLXNjcm9sbD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vaW5kZXgudGVtcGxhdGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBjbGFzczogJ3RlbXBsYXRlJyB9LFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogSW5kZXhUZW1wbGF0ZVN0b3JlLFxuICAgICAgaW5wdXRzOiBbXG4gICAgICAgICdncmlkVG9vbGJhckFjdGlvbnMnLFxuICAgICAgICAndGFibGVDaGlsZHJlbktleScsXG4gICAgICAgICd0YWJsZUlzSGlkZGVuJyxcbiAgICAgICAgJ3RhYmxlVHJlZUNvbnRyb2wnLFxuICAgICAgICAnZm9ybScsXG4gICAgICAgICd0aXRsZScsXG4gICAgICAgICdkZXNjcmlwdGlvbicsXG4gICAgICAgICdpdGVtcycsXG4gICAgICAgICdpdGVtc0xlbmd0aCcsXG4gICAgICAgICdpdGVtQWN0aW9ucycsXG4gICAgICAgICduYXZTdGFydEFjdGlvbnMnLFxuICAgICAgICAnbmF2RW5kQWN0aW9ucycsXG4gICAgICAgICdncm91cGVkQnknLFxuICAgICAgICAnZ3JvdXBLZXlzJyxcbiAgICAgICAgJ3NlbGVjdGlvbicsXG4gICAgICAgICdwYWdlU2l6ZU9wdGlvbnMnLFxuICAgICAgICAndHlwZScsXG4gICAgICAgICdoaWdobGlnaHQnXG4gICAgICBdLFxuICAgICAgb3V0cHV0czogW10sXG4gICAgfVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBRdWVyeVJlc29sdmVyU2VydmljZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5kZXhUZW1wbGF0ZTxUPiBleHRlbmRzIE5nQXRvbWljQ29tcG9uZW50IHtcbiAgc3RhdGljIEFjdGlvbklkID0gQWN0aW9uSWQ7XG4gIHByb3RlY3RlZCBBY3Rpb25JZCA9IEFjdGlvbklkO1xuICBwcm90ZWN0ZWQgc3RvcmUgPSBpbmplY3QoSW5kZXhUZW1wbGF0ZVN0b3JlKTtcbiAgXG4gIHJlYWRvbmx5IGRpdmlkZXJGcmFtZSA9IHZpZXdDaGlsZChEaXZpZGVyRnJhbWUpO1xuXG4gIEBFZmZlY3QoVGFibGVPcmdhbmlzbS5BY3Rpb25JZC5IRUFERVJfQ0xJQ0spXG4gIHByb3RlY3RlZCBvblRhYmxlSGVhZGVyQ2xpY2soY29sdW1uOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRpc3BhdGNoKHtpZDogQWN0aW9uSWQuVEFCTEVfSEVBREVSX0NMSUNLLCBwYXlsb2FkOiBjb2x1bW59KTtcbiAgfVxuXG4gIEBFZmZlY3QoVGFibGVPcmdhbmlzbS5BY3Rpb25JZC5DSEVDS0JPWF9DTElDSylcbiAgcHJvdGVjdGVkIG9uQ2hlY2tib3hDbGlja0l0ZW0oaXRlbTogVCkge1xuICAgIGNvbnNvbGUuZGVidWcoJ1RFU1QhISEnKTtcbiAgICB0aGlzLmRpc3BhdGNoKHtpZDogQWN0aW9uSWQuVEFCTEVfQ0hFQ0tCT1hfQ0xJQ0ssIHBheWxvYWQ6IGl0ZW19KTtcbiAgfVxuXG4gIEBFZmZlY3QoR3JpZENhcmRzU2VjdGlvbk9yZ2FuaXNtLkFjdGlvbklkLklURU1fQ0xJQ0spXG4gIEBFZmZlY3QoU21hcnRMaXN0T3JnYW5pc20uQWN0aW9uSWQuQ0xJQ0tfSVRFTSlcbiAgcHJvdGVjdGVkIG9uSXRlbUNsaWNrZWQoaXRlbTogVCkge1xuICAgIHRoaXMuZGlzcGF0Y2goe2lkOiBBY3Rpb25JZC5JVEVNX0NMSUNLLCBwYXlsb2FkOiBpdGVtfSk7XG4gIH1cblxuICBARWZmZWN0KEdyaWRDYXJkc1NlY3Rpb25PcmdhbmlzbS5BY3Rpb25JZC5JVEVNX01FTlVfQ0xJQ0spXG4gIEBFZmZlY3QoU21hcnRMaXN0T3JnYW5pc20uQWN0aW9uSWQuSVRFTV9CVVRUT05fQ0xJQ0spXG4gIHByb3RlY3RlZCBvbkl0ZW1CdXR0b25DbGlja2VkKGl0ZW06IFQpIHtcbiAgICB0aGlzLmRpc3BhdGNoKHtpZDogQWN0aW9uSWQuTElTVF9JVEVNX0JVVFRPTl9DTElDS0VELCBwYXlsb2FkOiBpdGVtfSk7XG4gIH1cblxuICBARWZmZWN0KFRhYmxlT3JnYW5pc21TdG9yZS5BY3Rpb25JZC5IRUFERVJfQ0hFQ0tCT1hfQ0xJQ0spXG4gIHByb3RlY3RlZCBvbkhlYWRlckNoZWNrYm94Q2xpY2soKSB7XG4gICAgdGhpcy5kaXNwYXRjaCh7aWQ6IEFjdGlvbklkLlRBQkxFX0hFQURFUl9DSEVDS0JPWF9DTElDS30pO1xuICB9XG5cbiAgQEVmZmVjdChOYXZBY3Rpb25JZC5CQUNLKVxuICBwcm90ZWN0ZWQgYmFjaygpIHtcbiAgICB0aGlzLmRpc3BhdGNoKHtpZDogQWN0aW9uSWQuQkFDS30pO1xuICB9XG59XG4iXX0=
@@ -19,12 +19,12 @@ export class BackgroundTemplate {
19
19
  this.store = inject(BackgroundTemplateStore);
20
20
  }
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: BackgroundTemplate, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: BackgroundTemplate, isStandalone: true, selector: "templates-background", hostDirectives: [{ directive: BackgroundTemplateStore }], ngImport: i0, template: ``, isInline: true, styles: [":host{width:100%;height:100%;background:#fff;display:block;--background-color: #000000;--background-color-SCOPED-IN-background-KQTK: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-background-KQTK: var(--on-background-color)}:host{width:100%;height:100%;background-color:var(--background-color-SCOPED-IN-background-KQTK);color:var(--on-background-color-SCOPED-IN-background-KQTK)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: BackgroundTemplate, isStandalone: true, selector: "templates-background", hostDirectives: [{ directive: BackgroundTemplateStore }], ngImport: i0, template: ``, isInline: true, styles: [":host{width:100%;height:100%;background:#fff;display:block;--background-color: #000000;--background-color-SCOPED-IN-background-QdEk: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-background-QdEk: var(--on-background-color)}:host{width:100%;height:100%;background-color:var(--background-color-SCOPED-IN-background-QdEk);color:var(--on-background-color-SCOPED-IN-background-QdEk)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
23
  }
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: BackgroundTemplate, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'templates-background', standalone: true, imports: [], template: ``, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
27
27
  BackgroundTemplateStore,
28
- ], styles: [":host{width:100%;height:100%;background:#fff;display:block;--background-color: #000000;--background-color-SCOPED-IN-background-KQTK: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-background-KQTK: var(--on-background-color)}:host{width:100%;height:100%;background-color:var(--background-color-SCOPED-IN-background-KQTK);color:var(--on-background-color-SCOPED-IN-background-KQTK)}\n"] }]
28
+ ], styles: [":host{width:100%;height:100%;background:#fff;display:block;--background-color: #000000;--background-color-SCOPED-IN-background-QdEk: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-background-QdEk: var(--on-background-color)}:host{width:100%;height:100%;background-color:var(--background-color-SCOPED-IN-background-QdEk);color:var(--on-background-color-SCOPED-IN-background-QdEk)}\n"] }]
29
29
  }] });
30
30
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC50ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL3RlbXBsYXRlcy9iYWNrZ3JvdW5kL2JhY2tncm91bmQudGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSTlELElBQU0sdUJBQXVCLEdBQTdCLE1BQU0sdUJBQXdCLFNBQVEsbUJBQW1COzhHQUFuRCx1QkFBdUI7a0dBQXZCLHVCQUF1Qjs7QUFBdkIsdUJBQXVCO0lBRm5DLGFBQWEsRUFBRTtHQUVILHVCQUF1QixDQUFnQzs7MkZBQXZELHVCQUF1QjtrQkFEbkMsU0FBUzttQkFBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFDOztBQWMvRCxNQUFNLE9BQU8sa0JBQWtCO0lBWC9CO1FBWVksVUFBSyxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0tBQ25EOzhHQUZZLGtCQUFrQjtrR0FBbEIsa0JBQWtCLHNGQWJsQix1QkFBdUIsNkJBTXhCLEVBQUU7OzJGQU9ELGtCQUFrQjtrQkFYOUIsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLEVBQUUsWUFDRCxFQUFFLG1CQUVLLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CO3dCQUNkLHVCQUF1QjtxQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZUNvbXBvbmVudCwgVG9rZW5pemVkVHlwZSB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5cbkBUb2tlbml6ZWRUeXBlKClcbkBEaXJlY3RpdmUoe3N0YW5kYWxvbmU6IHRydWUsIHNlbGVjdG9yOiAndGVtcGxhdGVzLWJhY2tncm91bmQnfSlcbmV4cG9ydCBjbGFzcyBCYWNrZ3JvdW5kVGVtcGxhdGVTdG9yZSBleHRlbmRzIEluamVjdGFibGVDb21wb25lbnQgeyB9XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RlbXBsYXRlcy1iYWNrZ3JvdW5kJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVVcmw6ICcuL2JhY2tncm91bmQudGVtcGxhdGUuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIEJhY2tncm91bmRUZW1wbGF0ZVN0b3JlLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJhY2tncm91bmRUZW1wbGF0ZSB7XG4gIHByb3RlY3RlZCBzdG9yZSA9IGluamVjdChCYWNrZ3JvdW5kVGVtcGxhdGVTdG9yZSk7XG59XG4iXX0=
@@ -78,7 +78,7 @@ export class EntranceTemplate extends NgAtomicComponent {
78
78
  }
79
79
  </frames-auto-layout>
80
80
  </frames-card>
81
- `, isInline: true, styles: [":host{--horizontal-padding: 64px;--horizontal-padding-SCOPED-IN-entrance-8A4f: var(--horizontal-padding);--background-color: #eee;--background-color-SCOPED-IN-entrance-8A4f: var(--background-color);--on-background-color: #333;--on-background-color-SCOPED-IN-entrance-8A4f: var(--on-background-color);--page-width-lv1-SCOPED-IN-entrance-8A4f: var(--page-width-lv1)}:host{display:flex;justify-content:center;align-items:center;background-color:var(--background-color-SCOPED-IN-entrance-8A4f);color:var(--on-background-color-SCOPED-IN-entrance-8A4f);width:100%;height:100%}:host frames-card{display:flex;flex-direction:column;width:600px;max-width:calc(100% - 32px);height:-moz-fit-content;height:fit-content}:host frames-card *{max-width:calc(100% - 32px);--horizontal-padding: var(--horizontal-padding-SCOPED-IN-entrance-8A4f)}:host frames-card ng-atomic-form-section-builder{max-width:calc(100% - 32px);--horizontal-padding: var(--horizontal-padding-SCOPED-IN-entrance-8A4f)}\n"], dependencies: [{ kind: "component", type: AutoLayoutFrame, selector: "frames-auto-layout" }, { kind: "component", type: CardFrame, selector: "frames-card" }, { kind: "component", type: HeadingOrganism, selector: "organisms-heading", inputs: ["level"] }, { kind: "component", type: NgAtomicFormSectionBuilder, selector: "ng-atomic-form-section-builder", inputs: ["form", "formFlatExcludes", "fieldMap"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
+ `, isInline: true, styles: [":host{--horizontal-padding: 64px;--horizontal-padding-SCOPED-IN-entrance-ezvT: var(--horizontal-padding);--background-color: #eee;--background-color-SCOPED-IN-entrance-ezvT: var(--background-color);--on-background-color: #333;--on-background-color-SCOPED-IN-entrance-ezvT: var(--on-background-color);--page-width-lv1-SCOPED-IN-entrance-ezvT: var(--page-width-lv1)}:host{display:flex;justify-content:center;align-items:center;background-color:var(--background-color-SCOPED-IN-entrance-ezvT);color:var(--on-background-color-SCOPED-IN-entrance-ezvT);width:100%;height:100%}:host frames-card{display:flex;flex-direction:column;width:600px;max-width:calc(100% - 32px);height:-moz-fit-content;height:fit-content}:host frames-card *{max-width:calc(100% - 32px);--horizontal-padding: var(--horizontal-padding-SCOPED-IN-entrance-ezvT)}:host frames-card ng-atomic-form-section-builder{max-width:calc(100% - 32px);--horizontal-padding: var(--horizontal-padding-SCOPED-IN-entrance-ezvT)}\n"], dependencies: [{ kind: "component", type: AutoLayoutFrame, selector: "frames-auto-layout" }, { kind: "component", type: CardFrame, selector: "frames-card" }, { kind: "component", type: HeadingOrganism, selector: "organisms-heading", inputs: ["level"] }, { kind: "component", type: NgAtomicFormSectionBuilder, selector: "ng-atomic-form-section-builder", inputs: ["form", "formFlatExcludes", "fieldMap"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
82
82
  }
83
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: EntranceTemplate, decorators: [{
84
84
  type: Component,
@@ -116,6 +116,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
116
116
  directive: EntranceTemplateStore,
117
117
  inputs: ['form', 'actions', 'title'],
118
118
  },
119
- ], styles: [":host{--horizontal-padding: 64px;--horizontal-padding-SCOPED-IN-entrance-8A4f: var(--horizontal-padding);--background-color: #eee;--background-color-SCOPED-IN-entrance-8A4f: var(--background-color);--on-background-color: #333;--on-background-color-SCOPED-IN-entrance-8A4f: var(--on-background-color);--page-width-lv1-SCOPED-IN-entrance-8A4f: var(--page-width-lv1)}:host{display:flex;justify-content:center;align-items:center;background-color:var(--background-color-SCOPED-IN-entrance-8A4f);color:var(--on-background-color-SCOPED-IN-entrance-8A4f);width:100%;height:100%}:host frames-card{display:flex;flex-direction:column;width:600px;max-width:calc(100% - 32px);height:-moz-fit-content;height:fit-content}:host frames-card *{max-width:calc(100% - 32px);--horizontal-padding: var(--horizontal-padding-SCOPED-IN-entrance-8A4f)}:host frames-card ng-atomic-form-section-builder{max-width:calc(100% - 32px);--horizontal-padding: var(--horizontal-padding-SCOPED-IN-entrance-8A4f)}\n"] }]
119
+ ], styles: [":host{--horizontal-padding: 64px;--horizontal-padding-SCOPED-IN-entrance-ezvT: var(--horizontal-padding);--background-color: #eee;--background-color-SCOPED-IN-entrance-ezvT: var(--background-color);--on-background-color: #333;--on-background-color-SCOPED-IN-entrance-ezvT: var(--on-background-color);--page-width-lv1-SCOPED-IN-entrance-ezvT: var(--page-width-lv1)}:host{display:flex;justify-content:center;align-items:center;background-color:var(--background-color-SCOPED-IN-entrance-ezvT);color:var(--on-background-color-SCOPED-IN-entrance-ezvT);width:100%;height:100%}:host frames-card{display:flex;flex-direction:column;width:600px;max-width:calc(100% - 32px);height:-moz-fit-content;height:fit-content}:host frames-card *{max-width:calc(100% - 32px);--horizontal-padding: var(--horizontal-padding-SCOPED-IN-entrance-ezvT)}:host frames-card ng-atomic-form-section-builder{max-width:calc(100% - 32px);--horizontal-padding: var(--horizontal-padding-SCOPED-IN-entrance-ezvT)}\n"] }]
120
120
  }] });
121
121
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cmFuY2UudGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbXBvbmVudHMvc3JjL2xpYi90ZW1wbGF0ZXMvZW50cmFuY2UvZW50cmFuY2UudGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDbkcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBR2xGLElBQUssUUFJSjtBQUpELFdBQUssUUFBUTtJQUNYLHVEQUEyQyxDQUFBO0lBQzNDLCtFQUFtRSxDQUFBO0lBQ25FLGlGQUFxRSxDQUFBO0FBQ3ZFLENBQUMsRUFKSSxRQUFRLEtBQVIsUUFBUSxRQUlaO0FBT00sSUFBTSxxQkFBcUIsR0FBM0IsTUFBTSxxQkFBc0IsU0FBUSxtQkFBbUI7SUFBdkQ7O1FBRUksU0FBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLFNBQVMsQ0FBQztZQUNsQyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzFCLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUM7U0FDOUIsQ0FBQyxDQUFDLENBQUM7UUFDSyxZQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ3hELEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNqRixFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7U0FDckYsQ0FBQyxDQUFDO1FBRU0sYUFBUSxHQUFHLEtBQUssQ0FBZTtZQUN0QyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3ZCLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7U0FDL0IsQ0FBQyxDQUFDO1FBRU0sVUFBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNoQzthQWpCaUIsYUFBUSxHQUFHLFFBQVEsQUFBWCxDQUFZOzhHQUR6QixxQkFBcUI7a0dBQXJCLHFCQUFxQjs7QUFBckIscUJBQXFCO0lBTGpDLGFBQWEsRUFBRTtHQUtILHFCQUFxQixDQWtCakM7OzJGQWxCWSxxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQWtFRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsaUJBQWlCO0lBN0N2RDs7UUErQ1ksYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUNwQixVQUFLLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7S0FDakQ7YUFIUSxhQUFRLEdBQUcsUUFBUSxBQUFYLENBQVk7OEdBRGhCLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGlKQWpFaEIscUJBQXFCLCtGQWlDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVCwyaENBOUJDLGVBQWUsK0RBQ2YsU0FBUyx3REFFVCxlQUFlLGlGQUdmLDBCQUEwQjs7MkZBbUNqQixnQkFBZ0I7a0JBN0M1QixTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZixTQUFTO3dCQUNULDRCQUE0Qjt3QkFDNUIsZUFBZTt3QkFDZiwwQkFBMEI7d0JBQzFCLDZCQUE2Qjt3QkFDN0IsMEJBQTBCO3FCQUUzQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQsUUFFSyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUMsbUJBQ1IsdUJBQXVCLENBQUMsTUFBTSxrQkFDL0I7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLHFCQUFxQjs0QkFDaEMsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUM7eUJBQ3JDO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGlyZWN0aXZlLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlQ29tcG9uZW50LCBOZ0F0b21pY0NvbXBvbmVudCwgVG9rZW5pemVkVHlwZSB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBdXRvTGF5b3V0RnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL2F1dG8tbGF5b3V0JztcbmltcG9ydCB7IENhcmRGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvY2FyZCc7XG5pbXBvcnQgeyBBY3Rpb25CdXR0b25zU2VjdGlvbk9yZ2FuaXNtIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL29yZ2FuaXNtcy9hY3Rpb24tYnV0dG9ucy1zZWN0aW9uJztcbmltcG9ydCB7IEhlYWRpbmdPcmdhbmlzbSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9vcmdhbmlzbXMvaGVhZGluZyc7XG5pbXBvcnQgeyBTb2NpYWxMb2dpblNlY3Rpb25PcmdhbmlzbSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9vcmdhbmlzbXMvc29jaWFsLWxvZ2luLXNlY3Rpb24nO1xuaW1wb3J0IHsgVGV4dElucHV0U2VjdGlvbk9yZ2FuaXNtU3RvcmUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvb3JnYW5pc21zL3RleHQtaW5wdXQtc2VjdGlvbic7XG5pbXBvcnQgeyBOZ0F0b21pY0Zvcm1TZWN0aW9uQnVpbGRlciB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy90ZW1wbGF0ZXMvZm9ybSc7XG5pbXBvcnQgeyBGb3JtRmllbGRNYXAgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9waXBlcy9zbWFydC1maWVsZCc7XG5cbmVudW0gQWN0aW9uSWQge1xuICBTSUdOX0lOID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHNdIFNpZ24gSW4nLFxuICBTSUdOX0lOX1dJVEhfR09PR0xFID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHNdIFNpZ24gSW4gV2l0aCBHb29nbGUnLFxuICBTSUdOX0lOX1dJVEhfVFdJVFRFUiA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzXSBTaWduIEluIFdpdGggVHdpdHRlcicsXG59XG5cbkBUb2tlbml6ZWRUeXBlKClcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3RlbXBsYXRlcy1lbnRyYW5jZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEVudHJhbmNlVGVtcGxhdGVTdG9yZSBleHRlbmRzIEluamVjdGFibGVDb21wb25lbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgQWN0aW9uSWQgPSBBY3Rpb25JZDtcbiAgcmVhZG9ubHkgZm9ybSA9IGlucHV0KG5ldyBGb3JtR3JvdXAoe1xuICAgIGVtYWlsOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICAgIHBhc3N3b3JkOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICB9KSk7XG4gIHJlYWRvbmx5IGFjdGlvbnMgPSBpbnB1dChbXG4gICAgeyBpZDogQWN0aW9uSWQuU0lHTl9JTiwgbmFtZTogJ1NpZ24gSW4nLCBpY29uOiAnbG9naW4nIH0sXG4gICAgeyBpZDogQWN0aW9uSWQuU0lHTl9JTl9XSVRIX0dPT0dMRSwgbmFtZTogJ1NpZ24gSW4gV2l0aCBHb29nbGUnLCBpY29uOiAnZ29vZ2xlJyB9LFxuICAgIHsgaWQ6IEFjdGlvbklkLlNJR05fSU5fV0lUSF9UV0lUVEVSLCBuYW1lOiAnU2lnbiBJbiBXaXRoIFR3aXR0ZXInLCBpY29uOiAndHdpdHRlcicgfSxcbiAgXSk7XG5cbiAgcmVhZG9ubHkgZmllbGRNYXAgPSBpbnB1dDxGb3JtRmllbGRNYXA+KHtcbiAgICBlbWFpbDogeyB0eXBlOiAndGV4dCcgfSxcbiAgICBwYXNzd29yZDogeyB0eXBlOiAncGFzc3dvcmQnIH0sXG4gIH0pO1xuXG4gIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQoJ+ODreOCsOOCpOODsycpO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZW1wbGF0ZXMtZW50cmFuY2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQXV0b0xheW91dEZyYW1lLFxuICAgIENhcmRGcmFtZSxcbiAgICBBY3Rpb25CdXR0b25zU2VjdGlvbk9yZ2FuaXNtLFxuICAgIEhlYWRpbmdPcmdhbmlzbSxcbiAgICBTb2NpYWxMb2dpblNlY3Rpb25PcmdhbmlzbSxcbiAgICBUZXh0SW5wdXRTZWN0aW9uT3JnYW5pc21TdG9yZSxcbiAgICBOZ0F0b21pY0Zvcm1TZWN0aW9uQnVpbGRlcixcbiAgICBcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgPGZyYW1lcy1jYXJkPlxuICAgIDxmcmFtZXMtYXV0by1sYXlvdXQgdmVydGljYWw+XG4gICAgICA8b3JnYW5pc21zLWhlYWRpbmc+e3sgc3RvcmUudGl0bGUoKSB9fTwvb3JnYW5pc21zLWhlYWRpbmc+XG4gICAgICBAaWYgKHN0b3JlLmZvcm0oKSkge1xuICAgICAgICA8bmctYXRvbWljLWZvcm0tc2VjdGlvbi1idWlsZGVyXG4gICAgICAgICAgW2Zvcm1dPVwic3RvcmUuZm9ybSgpXCJcbiAgICAgICAgICBbZm9ybUZsYXRFeGNsdWRlc109XCJbXVwiXG4gICAgICAgICAgW2ZpZWxkTWFwXT1cInN0b3JlLmZpZWxkTWFwKClcIlxuICAgICAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICAgIEBmb3IgKGFjdGlvbiBvZiBzdG9yZS5hY3Rpb25zKCk7IHRyYWNrIGFjdGlvbi5pZDspIHtcbiAgICAgICAgICBAZGVmZXIge1xuICAgICAgICAgICAgPG9yZ2FuaXNtcy1hY3Rpb24tYnV0dG9ucy1zZWN0aW9uXG4gICAgICAgICAgICAgIFthY3Rpb25zXT1cIlthY3Rpb25dXCJcbiAgICAgICAgICAgICAgKGFjdGlvbik9XCJkaXNwYXRjaCgkZXZlbnQpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfSBAZXJyb3IgeyBlcnJvciB9IH1cbiAgICAgIH1cbiAgICA8L2ZyYW1lcy1hdXRvLWxheW91dD5cbiAgPC9mcmFtZXMtY2FyZD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vZW50cmFuY2UudGVtcGxhdGUuc2NzcyddLFxuICBob3N0OiB7Y2xhc3M6ICd0ZW1wbGF0ZSd9LFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IEVudHJhbmNlVGVtcGxhdGVTdG9yZSxcbiAgICAgIGlucHV0czogWydmb3JtJywgJ2FjdGlvbnMnLCAndGl0bGUnXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFbnRyYW5jZVRlbXBsYXRlIGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQge1xuICBzdGF0aWMgQWN0aW9uSWQgPSBBY3Rpb25JZDtcbiAgcHJvdGVjdGVkIEFjdGlvbklkID0gQWN0aW9uSWQ7XG4gIHByb3RlY3RlZCBzdG9yZSA9IGluamVjdChFbnRyYW5jZVRlbXBsYXRlU3RvcmUpO1xufVxuIl19