@eo-sdk/client 11.5.0-rc.3 → 11.7.0-beta.2

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 (427) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +35 -35
  3. package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
  4. package/app/eo-client/dashboard/dashboard.component.d.ts.map +1 -1
  5. package/app/eo-client/eo-client.module.d.ts +4 -5
  6. package/app/eo-client/eo-client.module.d.ts.map +1 -1
  7. package/app/eo-client/index.d.ts +3 -0
  8. package/app/eo-client/index.d.ts.map +1 -1
  9. package/app/eo-client/process-state/filter-label.d.ts +10 -0
  10. package/app/eo-client/process-state/filter-label.d.ts.map +1 -0
  11. package/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.d.ts.map +1 -1
  12. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +1 -1
  13. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
  14. package/app/eo-framework/form-elements/organization/organization.component.d.ts +1 -0
  15. package/app/eo-framework/form-elements/organization/organization.component.d.ts.map +1 -1
  16. package/app/eo-framework/grid/grid.component.d.ts +9 -1
  17. package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
  18. package/app/eo-framework/object-details/object-details.component.d.ts +1 -0
  19. package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
  20. package/app/eo-framework/object-details/object-history/object-history.component.d.ts +3 -2
  21. package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
  22. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +1 -0
  23. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
  24. package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
  25. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +50 -0
  26. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
  27. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.d.ts +10 -0
  28. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.d.ts.map +1 -0
  29. package/app/eo-framework/ui/ui.module.d.ts +10 -11
  30. package/app/eo-framework/ui/ui.module.d.ts.map +1 -1
  31. package/app/eo-framework-core/agent/agent.service.d.ts.map +1 -1
  32. package/app/eo-framework-core/eo-framework-core.module.d.ts +1 -2
  33. package/app/eo-framework-core/eo-framework-core.module.d.ts.map +1 -1
  34. package/app/eo-framework-core/error-handler/error-handler.service.d.ts.map +1 -1
  35. package/app/eo-framework-core/search/app-search.service.d.ts +12 -1
  36. package/app/eo-framework-core/search/app-search.service.d.ts.map +1 -1
  37. package/assets/_default/README.md +2 -2
  38. package/assets/_default/config/extend.json +6 -6
  39. package/assets/_default/config/main.json +44 -44
  40. package/assets/_default/fonts/roboto_bold_macroman/Roboto-Bold-webfont.svg +765 -765
  41. package/assets/_default/fonts/roboto_light_macroman/Roboto-Light-webfont.svg +818 -818
  42. package/assets/_default/fonts/roboto_medium_macroman/Roboto-Medium-webfont.svg +765 -765
  43. package/assets/_default/fonts/roboto_regular_macroman/Roboto-Regular-webfont.svg +795 -795
  44. package/assets/_default/i18n/de.json +1132 -1130
  45. package/assets/_default/i18n/de_after.json +1137 -0
  46. package/assets/_default/i18n/en.json +10 -8
  47. package/assets/_default/i18n/po/de.po +310 -310
  48. package/assets/_default/i18n/po/en.po +310 -310
  49. package/assets/_default/svg/ic_delete_sweep.svg +3 -3
  50. package/assets/_default/svg/ic_emoticon-cool.svg +1 -1
  51. package/assets/_default/svg/ic_kitt-loader.svg +1 -1
  52. package/assets/_default/svg/ic_link.svg +6 -6
  53. package/assets/_default/svg/ic_not_listed_location.svg +4 -4
  54. package/assets/_default/theme/theme.css +13 -13
  55. package/assets/dashboard.json +47 -47
  56. package/assets/i18n/temp.json +584 -584
  57. package/assets/i18n/temp.pot +1753 -1753
  58. package/esm2022/app/eo-client/about-state/about-state.component.mjs +7 -7
  59. package/esm2022/app/eo-client/dashboard/dashboard.component.mjs +5 -5
  60. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +5 -5
  61. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +5 -5
  62. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/icharts.mjs +1 -1
  63. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.mjs +5 -5
  64. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +5 -5
  65. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.mjs +1 -1
  66. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.mjs +1 -1
  67. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +5 -5
  68. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +5 -5
  69. package/esm2022/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +5 -5
  70. package/esm2022/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.mjs +8 -8
  71. package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +5 -5
  72. package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.mjs +5 -5
  73. package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox.model.mjs +1 -1
  74. package/esm2022/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +5 -5
  75. package/esm2022/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.mjs +5 -5
  76. package/esm2022/app/eo-client/dashboard/widgets/info-intray-widget/info-intray.model.mjs +1 -1
  77. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.mjs +5 -5
  78. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +5 -5
  79. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.mjs +1 -1
  80. package/esm2022/app/eo-client/dashboard/widgets/picture-widget/picture-widget-setup/picture-widget-setup.component.mjs +5 -5
  81. package/esm2022/app/eo-client/dashboard/widgets/picture-widget/picture-widget.component.mjs +5 -5
  82. package/esm2022/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +5 -5
  83. package/esm2022/app/eo-client/dashboard/widgets/todowidget/todo-setup/todo-setup.component.mjs +5 -5
  84. package/esm2022/app/eo-client/dashboard/widgets/todowidget/todo-widget.component.mjs +5 -5
  85. package/esm2022/app/eo-client/eo-client-routing.module.mjs +5 -5
  86. package/esm2022/app/eo-client/eo-client.module.mjs +26 -28
  87. package/esm2022/app/eo-client/favorite-state/favorite-state.component.mjs +16 -16
  88. package/esm2022/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +20 -20
  89. package/esm2022/app/eo-client/inbox-state/inbox-state/inbox.types.enum.mjs +1 -1
  90. package/esm2022/app/eo-client/inbox-state/inbox-state-routing.module.mjs +5 -5
  91. package/esm2022/app/eo-client/inbox-state/inbox-state.module.mjs +5 -5
  92. package/esm2022/app/eo-client/index.mjs +4 -1
  93. package/esm2022/app/eo-client/login/login.component.mjs +5 -5
  94. package/esm2022/app/eo-client/notifications-state/notifications-state.component.mjs +18 -18
  95. package/esm2022/app/eo-client/notifications-state/notifications-state.interface.mjs +1 -1
  96. package/esm2022/app/eo-client/object-state/object-state/object-state.component.mjs +5 -5
  97. package/esm2022/app/eo-client/object-state/object-state-routing.module.mjs +5 -5
  98. package/esm2022/app/eo-client/object-state/object-state-service/object-state.interface.mjs +1 -1
  99. package/esm2022/app/eo-client/object-state/object-state-service/object-state.service.mjs +4 -4
  100. package/esm2022/app/eo-client/object-state/object-state.module.mjs +5 -5
  101. package/esm2022/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +16 -16
  102. package/esm2022/app/eo-client/prepare-state/prepare-state-routing.module.mjs +5 -5
  103. package/esm2022/app/eo-client/prepare-state/prepare-state.module.mjs +5 -5
  104. package/esm2022/app/eo-client/process-state/filter-label.mjs +11 -0
  105. package/esm2022/app/eo-client/process-state/process-state.component.mjs +24 -24
  106. package/esm2022/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +18 -18
  107. package/esm2022/app/eo-client/result-state/result-state.component.mjs +5 -5
  108. package/esm2022/app/eo-client/settings/agent-lock-settings.enum.mjs +1 -1
  109. package/esm2022/app/eo-client/settings/settings.component.mjs +5 -5
  110. package/esm2022/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +16 -16
  111. package/esm2022/app/eo-client/version-state/version-state.component.mjs +18 -18
  112. package/esm2022/app/eo-framework/accordion/accordion.module.mjs +5 -5
  113. package/esm2022/app/eo-framework/accordion/index.mjs +1 -1
  114. package/esm2022/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +5 -5
  115. package/esm2022/app/eo-framework/actions/action-menu/action-component-anchor/action-component-anchor.directive.mjs +4 -4
  116. package/esm2022/app/eo-framework/actions/action-menu/action-menu.component.mjs +5 -5
  117. package/esm2022/app/eo-framework/actions/action-service/action.service.mjs +4 -4
  118. package/esm2022/app/eo-framework/actions/action-target.mjs +1 -1
  119. package/esm2022/app/eo-framework/actions/action.module.mjs +5 -5
  120. package/esm2022/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +5 -5
  121. package/esm2022/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission-action.mjs +4 -4
  122. package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +5 -5
  123. package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription-action.mjs +4 -4
  124. package/esm2022/app/eo-framework/actions/actions/cancel-signing-action/cancel-signing/cancel-signing.component.mjs +5 -5
  125. package/esm2022/app/eo-framework/actions/actions/cancel-signing-action/cancel-signing-action.mjs +4 -4
  126. package/esm2022/app/eo-framework/actions/actions/clipboard/clipboard-action.mjs +4 -4
  127. package/esm2022/app/eo-framework/actions/actions/clipboard/clipboard-object-action/clipboard-object-action.component.mjs +5 -5
  128. package/esm2022/app/eo-framework/actions/actions/copy-action/copy-action.mjs +4 -4
  129. package/esm2022/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +4 -4
  130. package/esm2022/app/eo-framework/actions/actions/cut-action/cut-action.mjs +4 -4
  131. package/esm2022/app/eo-framework/actions/actions/delete-action/delete/delete.component.mjs +5 -5
  132. package/esm2022/app/eo-framework/actions/actions/delete-action/delete-action.mjs +4 -4
  133. package/esm2022/app/eo-framework/actions/actions/delete-action/delete-prepared-action.mjs +4 -4
  134. package/esm2022/app/eo-framework/actions/actions/delete-content-action/delete-content/delete-content.component.mjs +5 -5
  135. package/esm2022/app/eo-framework/actions/actions/delete-content-action/delete-content-action.mjs +4 -4
  136. package/esm2022/app/eo-framework/actions/actions/download-action/download-action.mjs +4 -4
  137. package/esm2022/app/eo-framework/actions/actions/download-action/download-object-action/download-object-action.component.mjs +5 -5
  138. package/esm2022/app/eo-framework/actions/actions/email/email/email.component.mjs +5 -5
  139. package/esm2022/app/eo-framework/actions/actions/email/email-action.mjs +4 -4
  140. package/esm2022/app/eo-framework/actions/actions/favorite-action/favorite-action.mjs +4 -4
  141. package/esm2022/app/eo-framework/actions/actions/finalize/definalize-action.mjs +4 -4
  142. package/esm2022/app/eo-framework/actions/actions/finalize/finalize-action.mjs +5 -5
  143. package/esm2022/app/eo-framework/actions/actions/finalize/finalize-object-action/finalize-object-action.component.mjs +5 -5
  144. package/esm2022/app/eo-framework/actions/actions/open-context-action/open-context-action.mjs +4 -4
  145. package/esm2022/app/eo-framework/actions/actions/open-document-action/open-document-action.component.mjs +5 -5
  146. package/esm2022/app/eo-framework/actions/actions/open-document-action/open-document-action.mjs +4 -4
  147. package/esm2022/app/eo-framework/actions/actions/open-versions-action/open-versions-action.mjs +4 -4
  148. package/esm2022/app/eo-framework/actions/actions/remove-subscription-action/remove-subscription-action.mjs +4 -4
  149. package/esm2022/app/eo-framework/actions/actions/restore-version-action/restore-version-action.mjs +4 -4
  150. package/esm2022/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +5 -5
  151. package/esm2022/app/eo-framework/actions/actions/share-object-action/share-object-action.mjs +4 -4
  152. package/esm2022/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +6 -6
  153. package/esm2022/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.mjs +5 -5
  154. package/esm2022/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +5 -5
  155. package/esm2022/app/eo-framework/actions/actions/signature-action/signature-action.component.mjs +4 -4
  156. package/esm2022/app/eo-framework/actions/actions/signature-action/signature.model.mjs +1 -1
  157. package/esm2022/app/eo-framework/actions/actions/unlock-action/unlock-action.mjs +4 -4
  158. package/esm2022/app/eo-framework/actions/actions/update-resubmission-action/update-resubmission-action.mjs +4 -4
  159. package/esm2022/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.mjs +5 -5
  160. package/esm2022/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +5 -5
  161. package/esm2022/app/eo-framework/actions/actions/workflow-action/workflow-action.component.mjs +4 -4
  162. package/esm2022/app/eo-framework/actions/index.mjs +1 -1
  163. package/esm2022/app/eo-framework/actions/interfaces/action-component.interface.mjs +1 -1
  164. package/esm2022/app/eo-framework/actions/interfaces/action-list-entry.mjs +1 -1
  165. package/esm2022/app/eo-framework/actions/interfaces/action.interface.mjs +1 -1
  166. package/esm2022/app/eo-framework/actions/selection-range.enum.mjs +1 -1
  167. package/esm2022/app/eo-framework/animations/animations.mjs +1 -1
  168. package/esm2022/app/eo-framework/app-shell/app-bar/app-add/app-add-dialog/app-add-dialog.component.mjs +5 -5
  169. package/esm2022/app/eo-framework/app-shell/app-bar/app-add/app-add.component.mjs +5 -5
  170. package/esm2022/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +5 -5
  171. package/esm2022/app/eo-framework/app-shell/app-bar/app-process/app-process.component.mjs +5 -5
  172. package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +20 -6
  173. package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.interface.mjs +1 -1
  174. package/esm2022/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +5 -5
  175. package/esm2022/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.mjs +5 -5
  176. package/esm2022/app/eo-framework/app-shell/app-bar/user-avatar-overlay/user-avatar-overlay.component.mjs +5 -5
  177. package/esm2022/app/eo-framework/app-shell/app-shell-routing.module.mjs +5 -5
  178. package/esm2022/app/eo-framework/app-shell/app-shell.module.mjs +5 -5
  179. package/esm2022/app/eo-framework/app-shell/index.mjs +1 -1
  180. package/esm2022/app/eo-framework/app-shell/license-warning/license-warning.component.mjs +5 -5
  181. package/esm2022/app/eo-framework/cta/component/cta.component.mjs +5 -5
  182. package/esm2022/app/eo-framework/cta/cta.module.mjs +5 -5
  183. package/esm2022/app/eo-framework/cta/index.mjs +1 -1
  184. package/esm2022/app/eo-framework/eo-framework.module.mjs +5 -5
  185. package/esm2022/app/eo-framework/error/error.module.mjs +5 -5
  186. package/esm2022/app/eo-framework/error/error404/error404.component.mjs +5 -5
  187. package/esm2022/app/eo-framework/error/index.mjs +1 -1
  188. package/esm2022/app/eo-framework/error/not-found/not-found.component.mjs +4 -4
  189. package/esm2022/app/eo-framework/form-elements/checkbox/checkbox.component.mjs +6 -6
  190. package/esm2022/app/eo-framework/form-elements/codesystem/codesystem.component.mjs +6 -6
  191. package/esm2022/app/eo-framework/form-elements/date/date.component.mjs +6 -6
  192. package/esm2022/app/eo-framework/form-elements/date/year-range/year-range.directive.mjs +4 -4
  193. package/esm2022/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +6 -6
  194. package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +6 -6
  195. package/esm2022/app/eo-framework/form-elements/form-elements.module.mjs +5 -5
  196. package/esm2022/app/eo-framework/form-elements/form-input/form-input.component.mjs +5 -5
  197. package/esm2022/app/eo-framework/form-elements/form-input/input-focus/input-focus.directive.mjs +4 -4
  198. package/esm2022/app/eo-framework/form-elements/id-reference/animation/reference-finder.animation.mjs +1 -1
  199. package/esm2022/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +6 -6
  200. package/esm2022/app/eo-framework/form-elements/id-reference/interface/reference-finder.interface.mjs +1 -1
  201. package/esm2022/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +5 -5
  202. package/esm2022/app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component.mjs +5 -5
  203. package/esm2022/app/eo-framework/form-elements/id-reference/service/reference-finder.service.mjs +4 -4
  204. package/esm2022/app/eo-framework/form-elements/index.mjs +1 -1
  205. package/esm2022/app/eo-framework/form-elements/number/number.component.mjs +6 -6
  206. package/esm2022/app/eo-framework/form-elements/number-range/number-range.component.mjs +6 -6
  207. package/esm2022/app/eo-framework/form-elements/organization/organization.component.mjs +30 -21
  208. package/esm2022/app/eo-framework/form-elements/password/password.component.mjs +5 -5
  209. package/esm2022/app/eo-framework/form-elements/reference/reference.component.mjs +6 -6
  210. package/esm2022/app/eo-framework/form-elements/string/string.component.mjs +6 -6
  211. package/esm2022/app/eo-framework/frame/frame.component.mjs +5 -5
  212. package/esm2022/app/eo-framework/grid/column-configurator/column-configurator.component.mjs +5 -5
  213. package/esm2022/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.mjs +5 -5
  214. package/esm2022/app/eo-framework/grid/extensions/empty/empty.component.mjs +5 -5
  215. package/esm2022/app/eo-framework/grid/extensions/filter/abstract-filter.component.mjs +4 -4
  216. package/esm2022/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +5 -5
  217. package/esm2022/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.mjs +5 -5
  218. package/esm2022/app/eo-framework/grid/extensions/filter/setFilters/set-filters.interface.mjs +1 -1
  219. package/esm2022/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +5 -5
  220. package/esm2022/app/eo-framework/grid/extensions/pagination/pagination.component.mjs +5 -5
  221. package/esm2022/app/eo-framework/grid/extensions/quick-filter/quick-filter.component.mjs +23 -23
  222. package/esm2022/app/eo-framework/grid/extensions/reset-filter/reset-filter.component.mjs +5 -5
  223. package/esm2022/app/eo-framework/grid/extensions/services/list-settings.service.mjs +4 -4
  224. package/esm2022/app/eo-framework/grid/extensions/total-count/total-count.component.mjs +5 -5
  225. package/esm2022/app/eo-framework/grid/filters/codesystem-filter.component.mjs +5 -5
  226. package/esm2022/app/eo-framework/grid/filters/datetime-filter.component.mjs +5 -5
  227. package/esm2022/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +5 -5
  228. package/esm2022/app/eo-framework/grid/filters/filesize-filter.component.mjs +1 -1
  229. package/esm2022/app/eo-framework/grid/filters/list-filter.component.mjs +5 -5
  230. package/esm2022/app/eo-framework/grid/filters/organization-filter.component.mjs +5 -5
  231. package/esm2022/app/eo-framework/grid/grid-filter.model.mjs +1 -1
  232. package/esm2022/app/eo-framework/grid/grid.component.mjs +51 -21
  233. package/esm2022/app/eo-framework/grid/grid.module.mjs +5 -5
  234. package/esm2022/app/eo-framework/grid/index.mjs +1 -1
  235. package/esm2022/app/eo-framework/grid/loader.interface.mjs +1 -1
  236. package/esm2022/app/eo-framework/inbox-details/duetimeInfo/duetimeInfo.component.mjs +5 -5
  237. package/esm2022/app/eo-framework/inbox-details/inbox-details.component.mjs +5 -5
  238. package/esm2022/app/eo-framework/index.mjs +1 -1
  239. package/esm2022/app/eo-framework/list-container/index.mjs +1 -1
  240. package/esm2022/app/eo-framework/list-container/list-container.component.mjs +5 -5
  241. package/esm2022/app/eo-framework/list-container/list-container.module.mjs +5 -5
  242. package/esm2022/app/eo-framework/media/content-preview.service.mjs +4 -4
  243. package/esm2022/app/eo-framework/media/index.mjs +1 -1
  244. package/esm2022/app/eo-framework/media/media.component.mjs +5 -5
  245. package/esm2022/app/eo-framework/media/media.module.mjs +5 -5
  246. package/esm2022/app/eo-framework/object-details/edit-icon/edit-icon.component.mjs +5 -5
  247. package/esm2022/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +5 -5
  248. package/esm2022/app/eo-framework/object-details/index.mjs +1 -1
  249. package/esm2022/app/eo-framework/object-details/object-details.component.mjs +10 -8
  250. package/esm2022/app/eo-framework/object-details/object-details.module.mjs +5 -5
  251. package/esm2022/app/eo-framework/object-details/object-history/history-filter/history-filter-pipe/history-filter.pipe.mjs +4 -4
  252. package/esm2022/app/eo-framework/object-details/object-history/history-filter/history-filter.component.mjs +5 -5
  253. package/esm2022/app/eo-framework/object-details/object-history/history-filter/history-filter.mjs +1 -1
  254. package/esm2022/app/eo-framework/object-details/object-history/object-history.component.mjs +12 -7
  255. package/esm2022/app/eo-framework/object-details/object-links/object-links.component.mjs +5 -5
  256. package/esm2022/app/eo-framework/object-form/form-status-changed-event.interface.mjs +1 -1
  257. package/esm2022/app/eo-framework/object-form/index.mjs +1 -1
  258. package/esm2022/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.mjs +4 -4
  259. package/esm2022/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +5 -5
  260. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +30 -28
  261. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.mjs +1 -1
  262. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +5 -5
  263. package/esm2022/app/eo-framework/object-form/object-form/form-validation/form-validation.mjs +1 -1
  264. package/esm2022/app/eo-framework/object-form/object-form/object-form-control-wrapper.mjs +1 -1
  265. package/esm2022/app/eo-framework/object-form/object-form/object-form-control.mjs +1 -1
  266. package/esm2022/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +5 -5
  267. package/esm2022/app/eo-framework/object-form/object-form/object-form-group.model.mjs +1 -1
  268. package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-script.interface.mjs +1 -1
  269. package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +4 -4
  270. package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-scripting-scope.mjs +1 -1
  271. package/esm2022/app/eo-framework/object-form/object-form/object-form.component.mjs +5 -5
  272. package/esm2022/app/eo-framework/object-form/object-form/object-form.model.mjs +1 -1
  273. package/esm2022/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +5 -5
  274. package/esm2022/app/eo-framework/object-form/object-form-helper.service.mjs +4 -4
  275. package/esm2022/app/eo-framework/object-form/object-form-options.interface.mjs +1 -1
  276. package/esm2022/app/eo-framework/object-form/object-form.module.mjs +5 -5
  277. package/esm2022/app/eo-framework/object-state-details/object-state-details.component.mjs +5 -5
  278. package/esm2022/app/eo-framework/plugins/index.mjs +1 -1
  279. package/esm2022/app/eo-framework/plugins/plugin.component.mjs +22 -22
  280. package/esm2022/app/eo-framework/plugins/plugin.directive.mjs +4 -4
  281. package/esm2022/app/eo-framework/plugins/plugin.service.mjs +4 -4
  282. package/esm2022/app/eo-framework/plugins/plugins.module.mjs +5 -5
  283. package/esm2022/app/eo-framework/prepare-details/prepare-content-exists-info/prepare-content-exists-info.component.mjs +5 -5
  284. package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +12 -12
  285. package/esm2022/app/eo-framework/process/details/process-details.component.mjs +5 -5
  286. package/esm2022/app/eo-framework/process/history/process-history.component.mjs +5 -5
  287. package/esm2022/app/eo-framework/process/process-file/file-entry-permissions.interface.mjs +1 -1
  288. package/esm2022/app/eo-framework/process/process-file/process-file.component.mjs +5 -5
  289. package/esm2022/app/eo-framework/process-form/process-form.component.mjs +5 -5
  290. package/esm2022/app/eo-framework/process-form/process-form.module.mjs +5 -5
  291. package/esm2022/app/eo-framework/quick-search/index.mjs +1 -1
  292. package/esm2022/app/eo-framework/quick-search/quick-search/quick-search-result.interface.mjs +1 -1
  293. package/esm2022/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +5 -5
  294. package/esm2022/app/eo-framework/quick-search/quick-search.module.mjs +5 -5
  295. package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +5 -5
  296. package/esm2022/app/eo-framework/result-list/index.mjs +1 -1
  297. package/esm2022/app/eo-framework/result-list/result-list.component.mjs +11 -6
  298. package/esm2022/app/eo-framework/result-list/result-list.module.mjs +5 -5
  299. package/esm2022/app/eo-framework/settings/change-password/change-password-form/change-password-form.component.mjs +5 -5
  300. package/esm2022/app/eo-framework/settings/change-password/change-password.interface.mjs +1 -1
  301. package/esm2022/app/eo-framework/settings/index.mjs +1 -1
  302. package/esm2022/app/eo-framework/settings/permissions/permissions.component.mjs +5 -5
  303. package/esm2022/app/eo-framework/settings/settings.module.mjs +5 -5
  304. package/esm2022/app/eo-framework/shortcuts/global-shortcut-action.interface.mjs +1 -1
  305. package/esm2022/app/eo-framework/shortcuts/global-shortcut-component.interface.mjs +1 -1
  306. package/esm2022/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts-section/global-shortcuts-section.component.mjs +5 -5
  307. package/esm2022/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts.component.mjs +5 -5
  308. package/esm2022/app/eo-framework/shortcuts/index.mjs +1 -1
  309. package/esm2022/app/eo-framework/shortcuts/shortcut.interface.mjs +4 -4
  310. package/esm2022/app/eo-framework/shortcuts/shortcuts.directive.mjs +4 -4
  311. package/esm2022/app/eo-framework/shortcuts/shortcuts.module.mjs +5 -5
  312. package/esm2022/app/eo-framework/shortcuts/shortcuts.service.mjs +4 -4
  313. package/esm2022/app/eo-framework/stored-query/index.mjs +1 -1
  314. package/esm2022/app/eo-framework/stored-query/stored-query/stored-query.component.mjs +5 -5
  315. package/esm2022/app/eo-framework/stored-query/stored-query-details/dynamic-property-switch/dynamic-property-switch.component.mjs +5 -5
  316. package/esm2022/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +5 -5
  317. package/esm2022/app/eo-framework/stored-query/stored-query-type-filter.enum.mjs +1 -1
  318. package/esm2022/app/eo-framework/stored-query/stored-query.interface.mjs +1 -1
  319. package/esm2022/app/eo-framework/stored-query/stored-query.module.mjs +5 -5
  320. package/esm2022/app/eo-framework/tree/index.mjs +1 -1
  321. package/esm2022/app/eo-framework/tree/tree-node/tree-node.component.mjs +5 -5
  322. package/esm2022/app/eo-framework/tree/tree.component.interface.mjs +1 -1
  323. package/esm2022/app/eo-framework/tree/tree.component.mjs +6 -6
  324. package/esm2022/app/eo-framework/tree/tree.module.mjs +5 -5
  325. package/esm2022/app/eo-framework/ui/animations/panel-loading.animation.mjs +1 -1
  326. package/esm2022/app/eo-framework/ui/clipboard/clipboard.component.mjs +5 -5
  327. package/esm2022/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +5 -5
  328. package/esm2022/app/eo-framework/ui/eo-icon/eo-icon.component.mjs +4 -4
  329. package/esm2022/app/eo-framework/ui/error-message/error-message.component.mjs +5 -5
  330. package/esm2022/app/eo-framework/ui/index.mjs +1 -1
  331. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +5 -5
  332. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry.interface.mjs +1 -1
  333. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +142 -9
  334. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.mjs +2 -0
  335. package/esm2022/app/eo-framework/ui/loading-spinner/loading-spinner.component.mjs +9 -9
  336. package/esm2022/app/eo-framework/ui/outside-click/outside-click.directive.mjs +4 -4
  337. package/esm2022/app/eo-framework/ui/overlay/overlay.component.mjs +5 -5
  338. package/esm2022/app/eo-framework/ui/query-scope-select/query-scope-select.component.mjs +5 -5
  339. package/esm2022/app/eo-framework/ui/router-link/router-link.directive.mjs +4 -4
  340. package/esm2022/app/eo-framework/ui/rtl-aware/rtl-aware.directive.mjs +4 -4
  341. package/esm2022/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +5 -5
  342. package/esm2022/app/eo-framework/ui/ui.module.mjs +17 -28
  343. package/esm2022/app/eo-framework/ui/user-avatar/user-avatar.component.mjs +4 -4
  344. package/esm2022/app/eo-framework/upload-overlay/upload-overlay-guard.service.mjs +4 -4
  345. package/esm2022/app/eo-framework/upload-overlay/upload-overlay.component.mjs +5 -5
  346. package/esm2022/app/eo-framework/util/directive/prevent-double-click.directive.mjs +4 -4
  347. package/esm2022/app/eo-framework/util/directive/trap-focus.directive.mjs +4 -4
  348. package/esm2022/app/eo-framework/util/index.mjs +1 -1
  349. package/esm2022/app/eo-framework/util/services/utilities.service.mjs +4 -4
  350. package/esm2022/app/eo-framework/util/sortable/order-by.pipe.mjs +4 -4
  351. package/esm2022/app/eo-framework/util/util.module.mjs +5 -5
  352. package/esm2022/app/eo-framework-core/agent/agent.interface.mjs +1 -1
  353. package/esm2022/app/eo-framework-core/agent/agent.service.mjs +4 -4
  354. package/esm2022/app/eo-framework-core/api/grid.service.mjs +6 -6
  355. package/esm2022/app/eo-framework-core/api/model/dms-object.api.interface.mjs +1 -1
  356. package/esm2022/app/eo-framework-core/api/plugins.service.mjs +4 -4
  357. package/esm2022/app/eo-framework-core/empty-state/empty-state.interface.mjs +1 -1
  358. package/esm2022/app/eo-framework-core/empty-state/empty-state.service.mjs +4 -4
  359. package/esm2022/app/eo-framework-core/eo-framework-core.module.mjs +13 -19
  360. package/esm2022/app/eo-framework-core/error-handler/error-handler.service.mjs +4 -4
  361. package/esm2022/app/eo-framework-core/error-handler/error-keys.mjs +1 -1
  362. package/esm2022/app/eo-framework-core/index.mjs +1 -1
  363. package/esm2022/app/eo-framework-core/layout/layout.service.mjs +4 -4
  364. package/esm2022/app/eo-framework-core/location/location.service.mjs +4 -4
  365. package/esm2022/app/eo-framework-core/pending-changes/pending-changes-component.interface.mjs +1 -1
  366. package/esm2022/app/eo-framework-core/pending-changes/pending-changes-guard.service.mjs +4 -4
  367. package/esm2022/app/eo-framework-core/pending-changes/pending-changes.service.mjs +4 -4
  368. package/esm2022/app/eo-framework-core/pipes/filesize.pipe.mjs +4 -4
  369. package/esm2022/app/eo-framework-core/pipes/keys.pipe.mjs +4 -4
  370. package/esm2022/app/eo-framework-core/pipes/locale-date.pipe.mjs +4 -4
  371. package/esm2022/app/eo-framework-core/pipes/locale-number.pipe.mjs +13 -13
  372. package/esm2022/app/eo-framework-core/pipes/pipes.module.mjs +5 -5
  373. package/esm2022/app/eo-framework-core/pipes/safe-html.pipe.mjs +4 -4
  374. package/esm2022/app/eo-framework-core/references/reference.service.mjs +4 -4
  375. package/esm2022/app/eo-framework-core/route-guards/auth/auth-guard.service.mjs +4 -4
  376. package/esm2022/app/eo-framework-core/route-guards/capabilities/capabilities-guard.service.mjs +4 -4
  377. package/esm2022/app/eo-framework-core/search/app-search.service.mjs +27 -6
  378. package/esm2022/app/eo-framework-core/selection/selection.service.mjs +4 -4
  379. package/esm2022/app/eo-framework-core/title/page-title.service.mjs +4 -4
  380. package/esm2022/public_api.mjs +1 -1
  381. package/fesm2022/eo-sdk-client.mjs +1435 -1898
  382. package/fesm2022/eo-sdk-client.mjs.map +1 -1
  383. package/languages/ar.json +523 -523
  384. package/languages/es.json +523 -523
  385. package/languages/fr.json +523 -523
  386. package/languages/po/ar.po +457 -457
  387. package/languages/pt.json +523 -523
  388. package/languages/temp.pot +928 -928
  389. package/languages/zh.json +523 -523
  390. package/misc/client.properties +1 -1
  391. package/misc/doc-styles/style.css +175 -175
  392. package/misc/scripts/copy-client-assets.js +26 -26
  393. package/misc/scripts/copy-core-styles.js +3 -3
  394. package/misc/scripts/exclude-core-ng-package.js +11 -11
  395. package/misc/scripts/helper.js +64 -64
  396. package/misc/scripts/i18n-apply.js +46 -46
  397. package/misc/scripts/i18n-diff.js +100 -100
  398. package/misc/scripts/injectdocbase.js +7 -7
  399. package/misc/scripts/mvn-deploy.js +66 -66
  400. package/misc/scripts/prebuild-about-state.js +32 -32
  401. package/misc/scripts/preparedist.js +39 -39
  402. package/misc/scripts/zipdist.js +21 -21
  403. package/misc/template.yml +4 -4
  404. package/misc/tsscheme.xml +34 -34
  405. package/package.json +17 -17
  406. package/proxy.config.js +13 -0
  407. package/scss/_ag-grid.scss +59 -59
  408. package/scss/_animation.scss +55 -55
  409. package/scss/_eo-variables.scss +78 -78
  410. package/scss/_form.scss +660 -660
  411. package/scss/_main.scss +394 -394
  412. package/scss/_migrationTemp.scss +27 -27
  413. package/scss/_mixins.scss +201 -201
  414. package/scss/_theme-dark.scss +22 -22
  415. package/scss/_timeline.scss +98 -98
  416. package/scss/_yuuvis-components.scss +40 -40
  417. package/styles.scss +141 -141
  418. package/app/eo-framework/grid/row-grouping/batchRemover.d.ts +0 -13
  419. package/app/eo-framework/grid/row-grouping/batchRemover.d.ts.map +0 -1
  420. package/app/eo-framework/grid/row-grouping/group-stage.d.ts +0 -45
  421. package/app/eo-framework/grid/row-grouping/group-stage.d.ts.map +0 -1
  422. package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts +0 -8
  423. package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts.map +0 -1
  424. package/esm2022/app/eo-framework/grid/row-grouping/batchRemover.mjs +0 -50
  425. package/esm2022/app/eo-framework/grid/row-grouping/group-stage.mjs +0 -623
  426. package/esm2022/app/eo-framework/grid/row-grouping/row-grouping.module.mjs +0 -8
  427. package/proxy.config.json +0 -97
@@ -2,7 +2,6 @@ import { __decorate } from "tslib";
2
2
  import { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';
3
3
  import { Component, EventEmitter, HostListener, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
4
4
  import { debounceTime } from 'rxjs/operators';
5
- import { RowGroupingModule } from './row-grouping/row-grouping.module';
6
5
  import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
7
6
  import { Subject } from 'rxjs';
8
7
  import { CodesystemFilterComponent } from './filters/codesystem-filter.component';
@@ -10,6 +9,7 @@ import { DatetimeFilterComponent } from './filters/datetime-filter.component';
10
9
  import { DynamicListFilterComponent } from './filters/dynamic-list-filter.component';
11
10
  import { ListFilterComponent } from './filters/list-filter.component';
12
11
  import { OrganizationFilterComponent } from './filters/organization-filter.component';
12
+ import { delay } from 'rxjs/operators';
13
13
  import * as i0 from "@angular/core";
14
14
  import * as i1 from "@eo-sdk/core";
15
15
  import * as i2 from "../../eo-framework-core/api/grid.service";
@@ -49,7 +49,8 @@ let GridComponent = class GridComponent {
49
49
  this.gridApi = gridApi;
50
50
  this.router = router;
51
51
  this.pendingChanges = pendingChanges;
52
- this.modules = [ClientSideRowModelModule, RowGroupingModule];
52
+ this.modules = [ClientSideRowModelModule];
53
+ this.scrollPosition = 0;
53
54
  this.components = {
54
55
  agDateInput: DatetimeFilterComponent,
55
56
  OrganizationFilterComponent: OrganizationFilterComponent,
@@ -110,13 +111,22 @@ let GridComponent = class GridComponent {
110
111
  let value = translate.instant(gridKey, variableValues);
111
112
  return ~value.indexOf(gridKey) ? defaultValue : value;
112
113
  },
113
- components: this.components
114
+ components: this.components,
115
+ /**
116
+ * Triggers horizontal scroll reset after sorting with a delay.
117
+ */
118
+ postSortRows: () => {
119
+ this.calculateDebouncer.pipe(delay(750))
120
+ .subscribe(() => {
121
+ this.setHorizontalScrollPosition();
122
+ });
123
+ }
114
124
  };
115
125
  this.loadingMessage();
116
126
  this.getUser();
117
127
  this.pendingChanges.tasks$
118
128
  .pipe(untilDestroyed(this))
119
- .subscribe((tasks) => this.api?.setGridOption('suppressCellFocus', !!tasks.length));
129
+ .subscribe((tasks) => this.api?.updateGridOptions({ suppressRowClickSelection: !!tasks.length, suppressCellFocus: !!tasks.length }));
120
130
  this.colResizeDebouncer.pipe(debounceTime(1000))
121
131
  .subscribe(col => this.eoGridColumnResized.emit(col));
122
132
  this.calculateDebouncer.pipe(debounceTime(100))
@@ -192,19 +202,10 @@ let GridComponent = class GridComponent {
192
202
  }
193
203
  }
194
204
  onMouseDown($event) {
195
- if (this.api?.getGridOption('suppressCellFocus')) {
205
+ if (this.api?.getGridOption('suppressRowClickSelection')) {
196
206
  if (!this.pendingChanges.check()) {
197
- this.api?.setGridOption('suppressCellFocus', false);
198
- let rowIndex = this.gridApi.getRowIndex($event.target, 'ag-body');
199
- if (rowIndex !== null) {
200
- //select row only on left click
201
- this.selectRow(rowIndex, $event.button === 0 ? null : [], !$event.ctrlKey);
202
- if ($event.button === 2) {
203
- //open context menu on right click
204
- let node = this.api.getModel().getRow(rowIndex);
205
- this.onContextMenuClicked({ rowIndex, node, data: node.data });
206
- }
207
- }
207
+ this.api?.updateGridOptions({ suppressRowClickSelection: false, suppressCellFocus: false });
208
+ this.selectEvent($event);
208
209
  }
209
210
  else {
210
211
  $event.preventDefault();
@@ -212,6 +213,19 @@ let GridComponent = class GridComponent {
212
213
  }
213
214
  }
214
215
  }
216
+ selectEvent($event) {
217
+ const colId = $event.composedPath?.().find((el) => el?.getAttribute('col-id'))?.getAttribute('col-id');
218
+ const rowId = $event.composedPath?.().find((el) => el?.getAttribute('row-id'))?.getAttribute('row-id');
219
+ if (colId) {
220
+ const row = this.api?.getRowNode(rowId);
221
+ //select row only on left click
222
+ this.selectRow(row.rowIndex, $event.button === 0 ? null : [], !$event.ctrlKey);
223
+ if ($event.button === 2) {
224
+ //open context menu on right click
225
+ this.onContextMenuClicked({ rowIndex: row.rowIndex, node: row, data: row.data });
226
+ }
227
+ }
228
+ }
215
229
  onCellFocused($event) {
216
230
  if (this.api.getGridOption('suppressCellFocus')) {
217
231
  return this.updateFocus();
@@ -257,6 +271,22 @@ let GridComponent = class GridComponent {
257
271
  this.api.sizeColumnsToFit();
258
272
  }
259
273
  }
274
+ /*
275
+ * This method is called when the grid is sorted.
276
+ */
277
+ onSortChanged(event) {
278
+ this.scrollPosition = event.api.getHorizontalPixelRange().left;
279
+ }
280
+ /**
281
+ * Scrolls the grid horizontally to a predefined initial position.
282
+ * This method is called when the grid is sorted.
283
+ */
284
+ setHorizontalScrollPosition() {
285
+ const gridBody = document.querySelector('.ag-body-horizontal-scroll-viewport');
286
+ if (gridBody) {
287
+ gridBody.scrollLeft = this.scrollPosition;
288
+ }
289
+ }
260
290
  onQuickFilterChanged($event) {
261
291
  this.api.setQuickFilter($event.target.value);
262
292
  }
@@ -363,16 +393,16 @@ let GridComponent = class GridComponent {
363
393
  get isEmptyRows() {
364
394
  return !this._gridCount.rowCount;
365
395
  }
366
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: GridComponent, deps: [{ token: i1.TranslateService }, { token: i1.UserService }, { token: i2.GridService }, { token: i3.Router }, { token: i4.PendingChangesService }], target: i0.ɵɵFactoryTarget.Component }); }
367
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: GridComponent, selector: "eo-grid", inputs: { selectFirst: "selectFirst", selectionLimit: "selectionLimit", sizeToFit: "sizeToFit", fullWidth: "fullWidth", showHeader: "showHeader", showFooter: "showFooter", loaderContent: "loaderContent", options: "options", gridOptions: "gridOptions" }, outputs: { eoGridCountChanged: "eoGridCountChanged", eoGridSelectionChanged: "eoGridSelectionChanged", eoGridFocusChanged: "eoGridFocusChanged", eoGridCellClick: "eoGridCellClick", eoGridDoubleClick: "eoGridDoubleClick", eoGridContextMenuClick: "eoGridContextMenuClick", eoGridColumnResized: "eoGridColumnResized" }, host: { listeners: { "keydown.control.alt.shift.c": "copyCellHandler($event)", "keydown.control.shift.c": "copyCellHandler($event)", "keydown.control.alt.c": "copyCellHandler($event)", "keydown.control.c": "copyCellHandler($event)" } }, viewQueries: [{ propertyName: "agGrid", first: true, predicate: ["agGrid"], descendants: true }], ngImport: i0, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\n <ng-content select=\".empty\"></ng-content>\n</div>\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\n <ng-content select=\".header\"></ng-content>\n</div>\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\n [hidden]=\"isEmpty\"\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\n [gridOptions]=\"gridOptions\"\n (modelUpdated)=\"onModelUpdated()\"\n (cellFocused)=\"onCellFocused($event)\"\n (cellContextMenu)=\"onContextMenuClicked($event)\"\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\n (mousedown)=\"onMouseDown($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (gridReady)=\"onReady()\">\n</ag-grid-angular>\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}eo-grid ag-grid-angular.ag-theme-balham #center{overflow-x:hidden}eo-grid ag-grid-angular.ag-theme-balham.enable-footer{bottom:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width{top:var(--header-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-container{width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell>span{width:100%}eo-grid ag-grid-angular.ag-theme-balham.hide-header .ag-header{display:none;height:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell-menu-button .ag-icon-menu{height:30px}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell{line-height:30px;padding-left:var(--app-pane-padding);padding-right:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell:after{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;border-bottom:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-tab-header .ag-tab.ag-tab-selected{border-bottom:2px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-menu-button{float:left}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell{border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell .ag-column-drag{margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-cell[col-id=__selectionField]{border:0!important;padding:0!important;width:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-range-selected{background:var(--list-item-selected-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{border:1px solid;border-color:#0000!important;border-bottom-color:var(--list-item-border-color)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus[col-id=__custom]{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-cell{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell svg{pointer-events:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.ag-cell-value{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link{color:var(--text-color-body)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link:hover{color:var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a:hover{text-decoration:underline}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{justify-content:center}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-number{justify-content:flex-end}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type{opacity:.5;height:24px;width:24px;vertical-align:bottom}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type-label{padding:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-select[ref=eOptions2],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-select[ref=eOptions2]{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled eo-icon,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled eo-icon{height:var(--app-pane-padding);width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input:focus{border-bottom-color:var(--color-accent)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22%3E%3Cpath d%3D%22M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z%22%2F%3E%3C%2Fsvg%3E\") no-repeat;background-position-x:right;background-position-y:center;background-size:var(--app-pane-padding)}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:right;none:left}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{none:right;background-position-x:left}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select:focus{border-bottom:1px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-list-filter,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-list-filter{display:block;padding-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom{display:block;margin:0 calc(var(--app-pane-padding) / 4)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization{margin-top:calc(var(--app-pane-padding) / 4);position:relative}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{position:absolute;top:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{right:0}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{left:0}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization .ui-autocomplete-panel{position:relative;top:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{margin:2px calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{padding:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{left:8px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-group-cell>svg.checkbox{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-label{text-align:right}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell.contextfolder .ag-header-cell-text:before{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-right:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-group-value{vertical-align:middle}eo-grid .multiCell span{display:flex;flex-direction:row}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }], encapsulation: i0.ViewEncapsulation.None }); }
396
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: GridComponent, deps: [{ token: i1.TranslateService }, { token: i1.UserService }, { token: i2.GridService }, { token: i3.Router }, { token: i4.PendingChangesService }], target: i0.ɵɵFactoryTarget.Component }); }
397
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: GridComponent, selector: "eo-grid", inputs: { selectFirst: "selectFirst", selectionLimit: "selectionLimit", sizeToFit: "sizeToFit", fullWidth: "fullWidth", showHeader: "showHeader", showFooter: "showFooter", loaderContent: "loaderContent", options: "options", gridOptions: "gridOptions" }, outputs: { eoGridCountChanged: "eoGridCountChanged", eoGridSelectionChanged: "eoGridSelectionChanged", eoGridFocusChanged: "eoGridFocusChanged", eoGridCellClick: "eoGridCellClick", eoGridDoubleClick: "eoGridDoubleClick", eoGridContextMenuClick: "eoGridContextMenuClick", eoGridColumnResized: "eoGridColumnResized" }, host: { listeners: { "keydown.control.alt.shift.c": "copyCellHandler($event)", "keydown.control.shift.c": "copyCellHandler($event)", "keydown.control.alt.c": "copyCellHandler($event)", "keydown.control.c": "copyCellHandler($event)" } }, viewQueries: [{ propertyName: "agGrid", first: true, predicate: ["agGrid"], descendants: true }], ngImport: i0, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\r\n <ng-content select=\".empty\"></ng-content>\r\n</div>\r\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\r\n <ng-content select=\".header\"></ng-content>\r\n</div>\r\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\r\n [hidden]=\"isEmpty\"\r\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\r\n [gridOptions]=\"gridOptions\"\r\n (modelUpdated)=\"onModelUpdated()\"\r\n (cellFocused)=\"onCellFocused($event)\"\r\n (cellContextMenu)=\"onContextMenuClicked($event)\"\r\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (cellClicked)=\"onCellClicked($event)\"\r\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\r\n (selectionChanged)=\"onSelectionChanged($event)\"\r\n (columnResized)=\"onColumnResized($event)\"\r\n (gridReady)=\"onReady()\"\r\n (sortChanged)=\"onSortChanged($event)\">\r\n</ag-grid-angular>\r\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\r\n <ng-content select=\".footer\"></ng-content>\r\n</div>\r\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}eo-grid ag-grid-angular.ag-theme-balham #center{overflow-x:hidden}eo-grid ag-grid-angular.ag-theme-balham.enable-footer{bottom:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width{top:var(--header-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-container{width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell>span{width:100%}eo-grid ag-grid-angular.ag-theme-balham.hide-header .ag-header{display:none;height:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell-menu-button .ag-icon-menu{height:30px}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell{line-height:30px;padding-left:var(--app-pane-padding);padding-right:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell:after{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;border-bottom:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-tab-header .ag-tab.ag-tab-selected{border-bottom:2px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-menu-button{float:left}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell{border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell .ag-column-drag{margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-cell[col-id=__selectionField]{border:0!important;padding:0!important;width:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-range-selected{background:var(--list-item-selected-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{border:1px solid;border-color:#0000!important;border-bottom-color:var(--list-item-border-color)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus[col-id=__custom]{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-cell{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell svg{pointer-events:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.ag-cell-value{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link{color:var(--text-color-body)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link:hover{color:var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a:hover{text-decoration:underline}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{justify-content:center}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-number{justify-content:flex-end}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type{opacity:.5;height:24px;width:24px;vertical-align:bottom}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type-label{padding:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-select[ref=eOptions2],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-select[ref=eOptions2]{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled eo-icon,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled eo-icon{height:var(--app-pane-padding);width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input:focus{border-bottom-color:var(--color-accent)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22%3E%3Cpath d%3D%22M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z%22%2F%3E%3C%2Fsvg%3E\") no-repeat;background-position-x:right;background-position-y:center;background-size:var(--app-pane-padding)}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:right;none:left}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{none:right;background-position-x:left}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select:focus{border-bottom:1px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-list-filter,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-list-filter{display:block;padding-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom{display:block;margin:0 calc(var(--app-pane-padding) / 4)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization{margin-top:calc(var(--app-pane-padding) / 4);position:relative}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{position:absolute;top:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{right:0}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{left:0}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization .ui-autocomplete-panel{position:relative;top:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{margin:2px calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{padding:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{left:8px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-group-cell>svg.checkbox{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-label{text-align:right}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell.contextfolder .ag-header-cell-text:before{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-right:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-group-value{vertical-align:middle}eo-grid .multiCell span{display:flex;flex-direction:row}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }], encapsulation: i0.ViewEncapsulation.None }); }
368
398
  };
369
399
  GridComponent = __decorate([
370
400
  UntilDestroy()
371
401
  ], GridComponent);
372
402
  export { GridComponent };
373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: GridComponent, decorators: [{
403
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: GridComponent, decorators: [{
374
404
  type: Component,
375
- args: [{ selector: 'eo-grid', encapsulation: ViewEncapsulation.None, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\n <ng-content select=\".empty\"></ng-content>\n</div>\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\n <ng-content select=\".header\"></ng-content>\n</div>\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\n [hidden]=\"isEmpty\"\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\n [gridOptions]=\"gridOptions\"\n (modelUpdated)=\"onModelUpdated()\"\n (cellFocused)=\"onCellFocused($event)\"\n (cellContextMenu)=\"onContextMenuClicked($event)\"\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\n (mousedown)=\"onMouseDown($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (gridReady)=\"onReady()\">\n</ag-grid-angular>\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}eo-grid ag-grid-angular.ag-theme-balham #center{overflow-x:hidden}eo-grid ag-grid-angular.ag-theme-balham.enable-footer{bottom:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width{top:var(--header-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-container{width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell>span{width:100%}eo-grid ag-grid-angular.ag-theme-balham.hide-header .ag-header{display:none;height:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell-menu-button .ag-icon-menu{height:30px}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell{line-height:30px;padding-left:var(--app-pane-padding);padding-right:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell:after{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;border-bottom:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-tab-header .ag-tab.ag-tab-selected{border-bottom:2px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-menu-button{float:left}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell{border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell .ag-column-drag{margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-cell[col-id=__selectionField]{border:0!important;padding:0!important;width:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-range-selected{background:var(--list-item-selected-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{border:1px solid;border-color:#0000!important;border-bottom-color:var(--list-item-border-color)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus[col-id=__custom]{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-cell{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell svg{pointer-events:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.ag-cell-value{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link{color:var(--text-color-body)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link:hover{color:var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a:hover{text-decoration:underline}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{justify-content:center}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-number{justify-content:flex-end}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type{opacity:.5;height:24px;width:24px;vertical-align:bottom}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type-label{padding:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-select[ref=eOptions2],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-select[ref=eOptions2]{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled eo-icon,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled eo-icon{height:var(--app-pane-padding);width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input:focus{border-bottom-color:var(--color-accent)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22%3E%3Cpath d%3D%22M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z%22%2F%3E%3C%2Fsvg%3E\") no-repeat;background-position-x:right;background-position-y:center;background-size:var(--app-pane-padding)}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:right;none:left}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{none:right;background-position-x:left}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select:focus{border-bottom:1px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-list-filter,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-list-filter{display:block;padding-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom{display:block;margin:0 calc(var(--app-pane-padding) / 4)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization{margin-top:calc(var(--app-pane-padding) / 4);position:relative}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{position:absolute;top:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{right:0}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{left:0}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization .ui-autocomplete-panel{position:relative;top:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{margin:2px calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{padding:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{left:8px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-group-cell>svg.checkbox{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-label{text-align:right}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell.contextfolder .ag-header-cell-text:before{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-right:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-group-value{vertical-align:middle}eo-grid .multiCell span{display:flex;flex-direction:row}\n"] }]
405
+ args: [{ selector: 'eo-grid', encapsulation: ViewEncapsulation.None, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\r\n <ng-content select=\".empty\"></ng-content>\r\n</div>\r\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\r\n <ng-content select=\".header\"></ng-content>\r\n</div>\r\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\r\n [hidden]=\"isEmpty\"\r\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\r\n [gridOptions]=\"gridOptions\"\r\n (modelUpdated)=\"onModelUpdated()\"\r\n (cellFocused)=\"onCellFocused($event)\"\r\n (cellContextMenu)=\"onContextMenuClicked($event)\"\r\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (cellClicked)=\"onCellClicked($event)\"\r\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\r\n (selectionChanged)=\"onSelectionChanged($event)\"\r\n (columnResized)=\"onColumnResized($event)\"\r\n (gridReady)=\"onReady()\"\r\n (sortChanged)=\"onSortChanged($event)\">\r\n</ag-grid-angular>\r\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\r\n <ng-content select=\".footer\"></ng-content>\r\n</div>\r\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}eo-grid ag-grid-angular.ag-theme-balham #center{overflow-x:hidden}eo-grid ag-grid-angular.ag-theme-balham.enable-footer{bottom:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width{top:var(--header-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-container{width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell>span{width:100%}eo-grid ag-grid-angular.ag-theme-balham.hide-header .ag-header{display:none;height:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell-menu-button .ag-icon-menu{height:30px}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell{line-height:30px;padding-left:var(--app-pane-padding);padding-right:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell:after{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;border-bottom:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-tab-header .ag-tab.ag-tab-selected{border-bottom:2px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-menu-button{float:left}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell{border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell .ag-column-drag{margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-cell[col-id=__selectionField]{border:0!important;padding:0!important;width:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-range-selected{background:var(--list-item-selected-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{border:1px solid;border-color:#0000!important;border-bottom-color:var(--list-item-border-color)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus[col-id=__custom]{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-cell{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell svg{pointer-events:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.ag-cell-value{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link{color:var(--text-color-body)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link:hover{color:var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a:hover{text-decoration:underline}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{justify-content:center}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-number{justify-content:flex-end}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type{opacity:.5;height:24px;width:24px;vertical-align:bottom}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type-label{padding:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-select[ref=eOptions2],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-select[ref=eOptions2]{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled eo-icon,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled eo-icon{height:var(--app-pane-padding);width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input:focus{border-bottom-color:var(--color-accent)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22%3E%3Cpath d%3D%22M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z%22%2F%3E%3C%2Fsvg%3E\") no-repeat;background-position-x:right;background-position-y:center;background-size:var(--app-pane-padding)}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:right;none:left}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{none:right;background-position-x:left}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select:focus{border-bottom:1px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-list-filter,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-list-filter{display:block;padding-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom{display:block;margin:0 calc(var(--app-pane-padding) / 4)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization{margin-top:calc(var(--app-pane-padding) / 4);position:relative}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{position:absolute;top:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{right:0}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{left:0}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization .ui-autocomplete-panel{position:relative;top:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{margin:2px calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{padding:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{left:8px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-group-cell>svg.checkbox{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-label{text-align:right}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell.contextfolder .ag-header-cell-text:before{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-right:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-group-value{vertical-align:middle}eo-grid .multiCell span{display:flex;flex-direction:row}\n"] }]
376
406
  }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i1.UserService }, { type: i2.GridService }, { type: i3.Router }, { type: i4.PendingChangesService }], propDecorators: { agGrid: [{
377
407
  type: ViewChild,
378
408
  args: ['agGrid']
@@ -421,4 +451,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
421
451
  type: HostListener,
422
452
  args: ['keydown.control.c', ['$event']]
423
453
  }] } });
424
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2dyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZ3JpZC9ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRixPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBSXJFLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUc3QixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7QUFVN0UsSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtJQXNEeEIsSUFDSSxPQUFPLENBQUMsT0FBWTtRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQs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TUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUVULGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBTUUsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFRixPQUFPO3NCQURWLEtBQUs7Z0JBVUYsV0FBVztzQkFEZCxLQUFLO2dCQXlCTixlQUFlO3NCQUpkLFlBQVk7dUJBQUMsNkJBQTZCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUN0RCxZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDbEQsWUFBWTt1QkFBQyx1QkFBdUIsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ2hELFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsaWVudFNpZGVSb3dNb2RlbE1vZHVsZX0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NsaWVudC1zaWRlLXJvdy1tb2RlbCc7XG5pbXBvcnQge0NlbGxQb3NpdGlvbiwgQ29sRGVmLCBDb2x1bW4sIEdyaWRBcGksIEdyaWRPcHRpb25zLCBNb2R1bGV9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2RlYm91bmNlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtSb3dHcm91cGluZ01vZHVsZX0gZnJvbSAnLi9yb3ctZ3JvdXBpbmcvcm93LWdyb3VwaW5nLm1vZHVsZSc7XG5cbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtFb1VzZXIsIFRyYW5zbGF0ZVNlcnZpY2UsIFVzZXJTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7R3JpZFNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2FwaS9ncmlkLnNlcnZpY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQge0NvZGVzeXN0ZW1GaWx0ZXJDb21wb25lbnR9IGZyb20gJy4vZmlsdGVycy9jb2Rlc3lzdGVtLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtEYXRldGltZUZpbHRlckNvbXBvbmVudH0gZnJvbSAnLi9maWx0ZXJzL2RhdGV0aW1lLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtEeW5hbWljTGlzdEZpbHRlckNvbXBvbmVudH0gZnJvbSAnLi9maWx0ZXJzL2R5bmFtaWMtbGlzdC1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7TGlzdEZpbHRlckNvbXBvbmVudH0gZnJvbSAnLi9maWx0ZXJzL2xpc3QtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge09yZ2FuaXphdGlvbkZpbHRlckNvbXBvbmVudH0gZnJvbSAnLi9maWx0ZXJzL29yZ2FuaXphdGlvbi1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7SUxvYWRlcn0gZnJvbSAnLi9sb2FkZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7QWdHcmlkQW5ndWxhcn0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2FuZ3VsYXInO1xuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyaWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgR3JpZENvbXBvbmVudCB7XG5cbiAgcHVibGljIG1vZHVsZXM6IE1vZHVsZVtdID0gW0NsaWVudFNpZGVSb3dNb2RlbE1vZHVsZSwgUm93R3JvdXBpbmdNb2R1bGVdO1xuXG4gIG92ZXJsYXlMb2FkaW5nVGVtcGxhdGU6IHN0cmluZztcbiAgcHJpdmF0ZSBjb21wb25lbnRzID0ge1xuICAgIGFnRGF0ZUlucHV0OiBEYXRldGltZUZpbHRlckNvbXBvbmVudCxcbiAgICBPcmdhbml6YXRpb25GaWx0ZXJDb21wb25lbnQ6IE9yZ2FuaXphdGlvbkZpbHRlckNvbXBvbmVudCxcbiAgICBDb2Rlc3lzdGVtRmlsdGVyQ29tcG9uZW50OiBDb2Rlc3lzdGVtRmlsdGVyQ29tcG9uZW50LFxuICAgIER5bmFtaWNMaXN0RmlsdGVyQ29tcG9uZW50OiBEeW5hbWljTGlzdEZpbHRlckNvbXBvbmVudCxcbiAgICBMaXN0RmlsdGVyQ29tcG9uZW50OiBMaXN0RmlsdGVyQ29tcG9uZW50XG4gIH07XG5cbiAgcHJpdmF0ZSBfZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zO1xuICBwcml2YXRlIF9vcHRpb25zOiBhbnkgPSB7fTtcbiAgcHJpdmF0ZSBfZ3JpZENvdW50OiBhbnkgPSB7fTtcbiAgcHJpdmF0ZSBwaW5uZWRDb2x1bW46IENvbERlZiA9IHtcbiAgICBoZWFkZXJOYW1lOiAnJyxcbiAgICBmaWx0ZXI6IGZhbHNlLFxuICAgIHNvcnRhYmxlOiBmYWxzZSxcbiAgICByZXNpemFibGU6IGZhbHNlLFxuICAgIHN1cHByZXNzTWVudTogdHJ1ZSxcbiAgICBzdXBwcmVzc01vdmFibGU6IHRydWUsXG4gICAgc3VwcHJlc3NOYXZpZ2FibGU6IHRydWUsXG4gICAgc3VwcHJlc3NQYXN0ZTogdHJ1ZSxcbiAgICBzdXBwcmVzc1NpemVUb0ZpdDogdHJ1ZSxcbiAgICBwaW5uZWQ6ICdsZWZ0JyxcbiAgICB3aWR0aDogMyxcbiAgICBtYXhXaWR0aDogMyxcbiAgICBmaWVsZDogJ19fc2VsZWN0aW9uRmllbGQnLFxuICAgIHZhbHVlR2V0dGVyOiAoKSA9PiAnJ1xuICB9O1xuXG4gIEBWaWV3Q2hpbGQoJ2FnR3JpZCcpIGFnR3JpZCE6IEFnR3JpZEFuZ3VsYXI7XG5cbiAgQE91dHB1dCgpIGVvR3JpZENvdW50Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZW9HcmlkU2VsZWN0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZW9HcmlkRm9jdXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBlb0dyaWRDZWxsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGVvR3JpZERvdWJsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBlb0dyaWRDb250ZXh0TWVudUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBlb0dyaWRDb2x1bW5SZXNpemVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHJpdmF0ZSBjb2xSZXNpemVEZWJvdW5jZXIgPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIGNhbGN1bGF0ZURlYm91bmNlciA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgZm9jdXNlZFJvd0lEID0gJyc7XG5cbiAgQElucHV0KCkgc2VsZWN0Rmlyc3QgPSB0cnVlO1xuICBASW5wdXQoKSBzZWxlY3Rpb25MaW1pdDogbnVtYmVyO1xuICBASW5wdXQoKSBzaXplVG9GaXQgPSBmYWxzZTtcbiAgQElucHV0KCkgZnVsbFdpZHRoID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dIZWFkZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd0Zvb3RlciA9IGZhbHNlO1xuICBASW5wdXQoKSBsb2FkZXJDb250ZW50OiBJTG9hZGVyID0ge3Nob3c6IGZhbHNlLCBpbWFnZTogbnVsbCwgdGV4dDogbnVsbH07XG4gIEBJbnB1dCgpXG4gIHNldCBvcHRpb25zKG9wdGlvbnM6IGFueSkge1xuICAgIHRoaXMuX29wdGlvbnMgPSBvcHRpb25zO1xuICB9XG5cbiAgZ2V0IG9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZ3JpZE9wdGlvbnMoZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zIHwgYW55KSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGdyaWRPcHRpb25zPy5fZ3JpZE9wdGlvbnMgfHwgZ3JpZE9wdGlvbnM7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLl9ncmlkT3B0aW9ucywgb3B0aW9ucywge1xuICAgICAgY29udGV4dDogT2JqZWN0LmFzc2lnbih0aGlzLl9ncmlkT3B0aW9ucy5jb250ZXh0LCBvcHRpb25zLmNvbnRleHQpLFxuICAgICAgY29sdW1uRGVmczogb3B0aW9ucy5jb2x1bW5EZWZzID8gW3RoaXMucGlubmVkQ29sdW1uXS5jb25jYXQob3B0aW9ucy5jb2x1bW5EZWZzKSA6IG51bGxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBncmlkT3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fZ3JpZE9wdGlvbnM7XG4gIH1cblxuICBnZXQgY29udGV4dENvdW50KCkge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LmNvdW50ID09PSAnbnVtYmVyJyA/IHRoaXMuZ3JpZE9wdGlvbnMuY29udGV4dC5jb3VudCA6IHRoaXMuZ3JpZE9wdGlvbnMuY29udGV4dC5jb3VudC52YWx1ZTtcbiAgfVxuXG4gIGdldCBjb250ZXh0UmVsYXRpb24oKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPT09ICdudW1iZXInID8gJ2VxJyA6IHRoaXMuZ3JpZE9wdGlvbnMuY29udGV4dC5jb3VudC5yZWxhdGlvbjtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uY29udHJvbC5hbHQuc2hpZnQuYycsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uY29udHJvbC5zaGlmdC5jJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5jb250cm9sLmFsdC5jJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5jb250cm9sLmMnLCBbJyRldmVudCddKVxuICBjb3B5Q2VsbEhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLmdyaWRBcGkuY29weVRvQ2xpcGJvYXJkKGV2ZW50LCB0aGlzLmFnR3JpZCwgdGhpcy5ncmlkT3B0aW9ucyk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwdWJsaWMgZ3JpZEFwaTogR3JpZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHBlbmRpbmdDaGFuZ2VzOiBQZW5kaW5nQ2hhbmdlc1NlcnZpY2VcbiAgKSB7XG5cbiAgICB0aGlzLl9ncmlkT3B0aW9ucyA9IHtcbiAgICAgIGNvbnRleHQ6IGdyaWRBcGkuZ2V0Q29udGV4dCgpLFxuICAgICAgYW5pbWF0ZVJvd3M6IHRydWUsXG4gICAgICBoZWFkZXJIZWlnaHQ6IDMwLFxuICAgICAgcm93SGVpZ2h0OiA0OCxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICByb3dTZWxlY3Rpb246ICdtdWx0aXBsZScsXG4gICAgICBtdWx0aVNvcnRLZXk6ICdjdHJsJyxcbiAgICAgIGFjY2VudGVkU29ydDogdHJ1ZSxcbiAgICAgIHN1cHByZXNzQ29udGV4dE1lbnU6IHRydWUsXG4gICAgICBzdXBwcmVzc05vUm93c092ZXJsYXk6IHRydWUsXG4gICAgICBvdmVybGF5TG9hZGluZ1RlbXBsYXRlOiAnICcsXG4gICAgICBvdmVybGF5Tm9Sb3dzVGVtcGxhdGU6ICcgJyxcbiAgICAgIGdldFJvd0lkOiAocm93KSA9PiByb3c/LmRhdGE/LmlkIHx8IHJvdyB8fCBudWxsLFxuICAgICAgZ2V0TG9jYWxlVGV4dDogKHtrZXksIGRlZmF1bHRWYWx1ZSwgdmFyaWFibGVWYWx1ZXN9KSA9PiB7XG4gICAgICAgIGxldCBncmlkS2V5ID0gJ2VvLnJlc3VsdGxpc3QuZ3JpZC4nICsga2V5O1xuICAgICAgICBsZXQgdmFsdWUgPSB0cmFuc2xhdGUuaW5zdGFudChncmlkS2V5LCB2YXJpYWJsZVZhbHVlcyk7XG4gICAgICAgIHJldHVybiB+dmFsdWUuaW5kZXhPZihncmlkS2V5KSA/IGRlZmF1bHRWYWx1ZSA6IHZhbHVlO1xuICAgICAgfSxcbiAgICAgIGNvbXBvbmVudHM6IHRoaXMuY29tcG9uZW50c1xuICAgIH07XG5cbiAgICB0aGlzLmxvYWRpbmdNZXNzYWdlKCk7XG4gICAgdGhpcy5nZXRVc2VyKCk7XG5cbiAgICB0aGlzLnBlbmRpbmdDaGFuZ2VzLnRhc2tzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh0YXNrczogYW55W10pID0+IHRoaXMuYXBpPy5zZXRHcmlkT3B0aW9uKCdzdXBwcmVzc0NlbGxGb2N1cycsICEhdGFza3MubGVuZ3RoKSk7XG5cbiAgICB0aGlzLmNvbFJlc2l6ZURlYm91bmNlci5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDEwMDApKVxuICAgICAgLnN1YnNjcmliZShjb2wgPT4gdGhpcy5lb0dyaWRDb2x1bW5SZXNpemVkLmVtaXQoY29sKSk7XG5cbiAgICB0aGlzLmNhbGN1bGF0ZURlYm91bmNlci5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDEwMCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2FsY3VsYXRlUm93Q291bnQoKSk7XG4gIH1cblxuICBsb2FkaW5nTWVzc2FnZSgpIHtcbiAgICBsZXQgbG9hZGVyQ29udGVudCA9ICcnO1xuXG4gICAgaWYgKHRoaXMubG9hZGVyQ29udGVudC5zaG93KSB7XG4gICAgICBpZiAodGhpcy5sb2FkZXJDb250ZW50LmltYWdlKSB7XG4gICAgICAgIGxvYWRlckNvbnRlbnQgPSBgPHNwYW4gY2xhc3M9XCJhZy1vdmVybGF5LWxvYWRpbmctY2VudGVyXCI+PGltZyBbc3JjXT1cIiR7dGhpcy5sb2FkZXJDb250ZW50LmltYWdlfVwiIGFsdD1cImxvYWRlciBpbWFnZVwiPjwvc3Bhbj5gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9hZGVyQ29udGVudCA9IGA8c3BhbiBjbGFzcz1cImFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXJcIj4ke3RoaXMudHJhbnNsYXRlLmluc3RhbnQodGhpcy5sb2FkZXJDb250ZW50LnRleHQpfTwvc3Bhbj5gO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm92ZXJsYXlMb2FkaW5nVGVtcGxhdGUgPSBsb2FkZXJDb250ZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRVc2VyKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2UudXNlciQuc3Vic2NyaWJlKCh1c2VyOiBFb1VzZXIpID0+IHtcbiAgICAgICh0aGlzLmdyaWRPcHRpb25zIHx8IHRoaXMuX2dyaWRPcHRpb25zKS5lbmFibGVSdGwgPSAodXNlci51aURpcmVjdGlvbiA9PT0gJ3J0bCcpO1xuICAgICAgdGhpcy5waW5uZWRDb2x1bW4ucGlubmVkID0gKHVzZXIudWlEaXJlY3Rpb24gPT09ICdydGwnKSA/ICdyaWdodCcgOiAnbGVmdCc7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZVJvd0NvdW50KCkge1xuICAgIGxldCByb3dDb3VudCA9IDA7XG4gICAgbGV0IHRvdGFsQ291bnQgPSB0aGlzLmNvbnRleHRDb3VudDtcbiAgICBsZXQgcm93SW5kZXggPSB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQucm93SW5kZXg7XG4gICAgbGV0IHNlbGVjdGlvbiA9IHRoaXMuZ3JpZE9wdGlvbnMuY29udGV4dC5zZWxlY3Rpb247XG5cbiAgICBpZiAoIXRoaXMuYXBpPy5pc0Rlc3Ryb3llZCgpICYmIHRoaXMuYXBpPy5nZXRHcmlkT3B0aW9uKCdyb3dEYXRhJykpIHtcbiAgICAgIHRoaXMuYXBpLmZvckVhY2hOb2RlQWZ0ZXJGaWx0ZXIobiA9PiBuLmdyb3VwIHx8IHJvd0NvdW50KyspO1xuICAgIH0gZWxzZSB7XG4gICAgICByb3dDb3VudCA9IHRoaXMuZ3JpZE9wdGlvbnMuY29udGV4dC5yb3dDb3VudCB8fCAwO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3RGaXJzdCAmJiAhdGhpcy5hcGk/LmlzRGVzdHJveWVkKCkgJiYgIXRoaXMuYXBpLmdldEZvY3VzZWRDZWxsKCkgJiYgKHJvd0luZGV4ICE9PSBudWxsIHx8ICF0aGlzLmZvY3VzZWRSb3dJRCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZWxlY3RSb3cocm93SW5kZXggfHwgMCwgc2VsZWN0aW9uKSwgMjAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVGb2N1cygpO1xuICAgIH1cbiAgICB0aGlzLl9ncmlkQ291bnQgPSB7dG90YWxDb3VudCwgcm93Q291bnQsIHJlbGF0aW9uOiB0aGlzLmNvbnRleHRSZWxhdGlvbn07XG4gICAgdGhpcy5lb0dyaWRDb3VudENoYW5nZWQuZW1pdCh0aGlzLl9ncmlkQ291bnQpO1xuICB9XG5cbiAgdXBkYXRlRm9jdXMoaWQgPSB0aGlzLmZvY3VzZWRSb3dJRCkge1xuICAgIGlmICghdGhpcy5hcGk/LmlzRGVzdHJveWVkKCkpIHtcbiAgICAgIGNvbnN0IGNlbGwgPSB0aGlzLmFwaS5nZXRGb2N1c2VkQ2VsbCgpO1xuICAgICAgY29uc3Qgcm93ID0gdGhpcy5hcGkuZ2V0Um93Tm9kZShpZCk7XG4gICAgICBpZiAoIXRoaXMub3B0aW9ucy5maWx0ZXJBY3RpdmUgJiYgKGNlbGwgJiYgY2VsbC5yb3dJbmRleCkgIT09IChyb3cgJiYgcm93LnJvd0luZGV4KSkge1xuICAgICAgICBpZiAocm93KSB7XG4gICAgICAgICAgdGhpcy5hcGkuc2V0Rm9jdXNlZENlbGwocm93LnJvd0luZGV4LCAodGhpcy5ncmlkT3B0aW9ucy5jb2x1bW5EZWZzWzFdIGFzIENvbERlZikuZmllbGQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYXBpLmNsZWFyRm9jdXNlZENlbGwoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uQ2VsbENsaWNrZWQoJGV2ZW50KSB7XG5cbiAgICBpZiAoJGV2ZW50LnJvd0luZGV4ICE9PSBudWxsKSB7XG4gICAgICBpZiAoISRldmVudC5ub2RlLmdyb3VwICYmICRldmVudC5kYXRhKSB7XG4gICAgICAgIGlmICgkZXZlbnQuY29sRGVmLmNlbGxDbGFzcyA9PT0gJ3JvdXRlci1saW5rLWNlbGwnKSB7XG4gICAgICAgICAgdGhpcy5ncmlkQXBpLm9wZW5Sb3V0ZXJMaW5rKCRldmVudC5ldmVudCwgJ2FnLXJvdycpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lb0dyaWRDZWxsQ2xpY2suZW1pdCgkZXZlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uQ2VsbERvdWJsZUNsaWNrZWQoJGV2ZW50KSB7XG5cbiAgICBpZiAoJGV2ZW50LnJvd0luZGV4ICE9PSBudWxsKSB7XG4gICAgICBpZiAoISRldmVudC5ub2RlLmdyb3VwICYmICRldmVudC5kYXRhKSB7XG4gICAgICAgIHRoaXMuZW9HcmlkRG91YmxlQ2xpY2suZW1pdCgkZXZlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uTW91c2VEb3duKCRldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMuYXBpPy5nZXRHcmlkT3B0aW9uKCdzdXBwcmVzc0NlbGxGb2N1cycpKSB7XG4gICAgICBpZiAoIXRoaXMucGVuZGluZ0NoYW5nZXMuY2hlY2soKSkge1xuICAgICAgICB0aGlzLmFwaT8uc2V0R3JpZE9wdGlvbignc3VwcHJlc3NDZWxsRm9jdXMnLCBmYWxzZSk7XG4gICAgICAgIGxldCByb3dJbmRleCA9IHRoaXMuZ3JpZEFwaS5nZXRSb3dJbmRleCgkZXZlbnQudGFyZ2V0LCAnYWctYm9keScpO1xuICAgICAgICBpZiAocm93SW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgICAvL3NlbGVjdCByb3cgb25seSBvbiBsZWZ0IGNsaWNrXG4gICAgICAgICAgdGhpcy5zZWxlY3RSb3cocm93SW5kZXgsICRldmVudC5idXR0b24gPT09IDAgPyBudWxsIDogW10sICEkZXZlbnQuY3RybEtleSk7XG4gICAgICAgICAgaWYgKCRldmVudC5idXR0b24gPT09IDIpIHtcbiAgICAgICAgICAgIC8vb3BlbiBjb250ZXh0IG1lbnUgb24gcmlnaHQgY2xpY2tcbiAgICAgICAgICAgIGxldCBub2RlID0gdGhpcy5hcGkuZ2V0TW9kZWwoKS5nZXRSb3cocm93SW5kZXgpO1xuICAgICAgICAgICAgdGhpcy5vbkNvbnRleHRNZW51Q2xpY2tlZCh7cm93SW5kZXgsIG5vZGUsIGRhdGE6IG5vZGUuZGF0YX0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkNlbGxGb2N1c2VkKCRldmVudCkge1xuICAgIGlmICh0aGlzLmFwaS5nZXRHcmlkT3B0aW9uKCdzdXBwcmVzc0NlbGxGb2N1cycpKSB7XG4gICAgICByZXR1cm4gdGhpcy51cGRhdGVGb2N1cygpO1xuICAgIH1cbiAgICBpZiAoJGV2ZW50LnJvd0luZGV4ICE9PSBudWxsKSB7XG4gICAgICAkZXZlbnQuZm9jdXNlZE5vZGUgPSB0aGlzLmFwaS5nZXRNb2RlbCgpLmdldFJvdygkZXZlbnQucm93SW5kZXgpO1xuICAgICAgaWYgKCRldmVudC5mb2N1c2VkTm9kZSAmJiAhJGV2ZW50LmZvY3VzZWROb2RlLmdyb3VwICYmICRldmVudC5mb2N1c2VkTm9kZS5kYXRhKSB7XG4gICAgICAgIHRoaXMuZm9jdXNlZFJvd0lEID0gJGV2ZW50LmZvY3VzZWROb2RlLmlkO1xuICAgICAgICB0aGlzLmVvR3JpZEZvY3VzQ2hhbmdlZC5lbWl0KCRldmVudC5mb2N1c2VkTm9kZS5kYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkNvbnRleHRNZW51Q2xpY2tlZCgkZXZlbnQpIHtcbiAgICBpZiAoJGV2ZW50LnJvd0luZGV4ICE9PSBudWxsICYmICEkZXZlbnQubm9kZS5ncm91cCAmJiAkZXZlbnQuZGF0YSkge1xuICAgICAgbGV0IHNlbGVjdGVkTm9kZXMgPSB0aGlzLmFwaS5nZXRTZWxlY3RlZE5vZGVzKCkubWFwKG4gPT4gbi5kYXRhKS5maWx0ZXIoZCA9PiBkKTtcbiAgICAgIGlmIChzZWxlY3RlZE5vZGVzLmxlbmd0aCAmJiBzZWxlY3RlZE5vZGVzLnNvbWUobiA9PiBuLmlkID09PSAkZXZlbnQuZGF0YS5pZCkpIHtcbiAgICAgICAgdGhpcy5lb0dyaWRDb250ZXh0TWVudUNsaWNrLmVtaXQoc2VsZWN0ZWROb2Rlcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmVvR3JpZENvbnRleHRNZW51Q2xpY2suZW1pdChbJGV2ZW50LmRhdGFdKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KSB7XG4gICAgbGV0IHNlbGVjdGVkTm9kZXMgPSB0aGlzLmFwaS5nZXRTZWxlY3RlZE5vZGVzKCkubWFwKG4gPT4gbi5kYXRhKS5maWx0ZXIoZCA9PiBkKTtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb25MaW1pdCAmJiBzZWxlY3RlZE5vZGVzLmxlbmd0aCA+IHRoaXMuc2VsZWN0aW9uTGltaXQpIHtcbiAgICAgIHRoaXMuc2VsZWN0Um93KHRoaXMuYXBpLmdldEZvY3VzZWRDZWxsKCkucm93SW5kZXgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVvR3JpZFNlbGVjdGlvbkNoYW5nZWQuZW1pdChzZWxlY3RlZE5vZGVzKTtcbiAgICB9XG4gIH1cblxuICBvbkNvbHVtblJlc2l6ZWQoJGV2ZW50KSB7XG4gICAgaWYgKCRldmVudC5jb2x1bW4pIHtcbiAgICAgIHRoaXMuY29sUmVzaXplRGVib3VuY2VyLm5leHQoJGV2ZW50LmNvbHVtbik7XG4gICAgfVxuICB9XG5cbiAgb25Nb2RlbFVwZGF0ZWQoKSB7XG4gICAgdGhpcy5jYWxjdWxhdGVEZWJvdW5jZXIubmV4dCh7fSk7XG4gIH1cblxuICBvblJlYWR5KCkge1xuICAgIGlmICh0aGlzLnNpemVUb0ZpdCkge1xuICAgICAgdGhpcy5hcGkuc2l6ZUNvbHVtbnNUb0ZpdCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uUXVpY2tGaWx0ZXJDaGFuZ2VkKCRldmVudCkge1xuICAgIHRoaXMuYXBpLnNldFF1aWNrRmlsdGVyKCRldmVudC50YXJnZXQudmFsdWUpO1xuICB9XG5cbiAgc2VsZWN0Um93KHJvdzogbnVtYmVyIHwgc3RyaW5nLCBzZWxlY3Rpb24/OiBudW1iZXJbXSwgY2xlYXJTZWxlY3Rpb24gPSB0cnVlLCBwb3NpdGlvbiA9IG51bGwpIHtcbiAgICBpZiAoIXRoaXMuYXBpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgcm93Tm9kZSA9IHR5cGVvZiByb3cgPT09ICdudW1iZXInID8gIXRoaXMuYXBpPy5pc0Rlc3Ryb3llZCgpICYmIHRoaXMuYXBpLmdldE1vZGVsKCk/LmdldFJvdyhyb3cpIDogdGhpcy5hcGkuZ2V0Um93Tm9kZShyb3cpO1xuICAgIGxldCBpbmRleCA9IHJvd05vZGUgPyByb3dOb2RlLnJvd0luZGV4IDogMDtcblxuICAgIGlmIChyb3dOb2RlICYmIHJvd05vZGUuZGF0YSkge1xuICAgICAgaWYgKHNlbGVjdGlvbikge1xuICAgICAgICBzZWxlY3Rpb24uZm9yRWFjaCgocm93SW5kZXgsIGkpID0+IHtcbiAgICAgICAgICB0aGlzLmFwaS5nZXRNb2RlbCgpLmdldFJvdyhyb3dJbmRleCkuc2V0U2VsZWN0ZWQodHJ1ZSwgaSA9PT0gMCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuc2VsZWN0aW9uID0gbnVsbDsgLy9yZXNldCBpbml0aWFsIHNlbGVjdGlvblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcm93Tm9kZS5zZXRTZWxlY3RlZCh0cnVlLCBjbGVhclNlbGVjdGlvbik7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYXBpLnNldEZvY3VzZWRDZWxsKGluZGV4LCAodGhpcy5ncmlkT3B0aW9ucy5jb2x1bW5EZWZzWzFdIGFzIENvbERlZikuZmllbGQpO1xuICAgICAgdGhpcy5zY3JvbGxUb1JvdyhpbmRleCwgcG9zaXRpb24pO1xuICAgICAgdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LnJvd0luZGV4ID0gbnVsbDsgLy9yZXNldCBpbml0aWFsIHJvd0luZGV4XG4gICAgfSBlbHNlIGlmIChpbmRleCA+IDAgJiYgdGhpcy5jb250ZXh0Q291bnQpIHtcbiAgICAgIHRoaXMuc2VsZWN0Um93KC0taW5kZXgsIHNlbGVjdGlvbiwgY2xlYXJTZWxlY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXRoaXMuYXBpPy5pc0Rlc3Ryb3llZCgpKSB7XG4gICAgICAgIHRoaXMuYXBpLmNsZWFyRm9jdXNlZENlbGwoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZW9HcmlkRm9jdXNDaGFuZ2VkLmVtaXQobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsVG9Sb3coaW5kZXg/OiBudW1iZXIsIHBvc2l0aW9uID0gbnVsbCkge1xuICAgIHRoaXMuYXBpLmVuc3VyZUluZGV4VmlzaWJsZShpbmRleCA9PT0gdW5kZWZpbmVkID8gKHRoaXMuYXBpLmdldEZvY3VzZWRDZWxsKCkgPyB0aGlzLmFwaS5nZXRGb2N1c2VkQ2VsbCgpLnJvd0luZGV4IDogMCkgOiBpbmRleCwgcG9zaXRpb24pO1xuICB9XG5cbiAgc2VsZWN0Um93QnlJZChpZCwgcG9zaXRpb24gPSAnJykge1xuICAgIGNvbnN0IHJvd05vZGUgPSBpZCAmJiB0aGlzLmFwaS5nZXRSb3dOb2RlKGlkKTtcbiAgICBpZiAocm93Tm9kZSkge1xuICAgICAgcm93Tm9kZS5zZXRTZWxlY3RlZCh0cnVlKTtcbiAgICAgIHRoaXMuc2VsZWN0Um93KHJvd05vZGUucm93SW5kZXgsIFtdLCB0cnVlLCBwb3NpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgc2V0Q29sdW1uRGVmcyhjb2x1bW5EZWZzOiBDb2xEZWZbXSkge1xuICAgIHRoaXMuYXBpLnNldEdyaWRPcHRpb24oJ2NvbHVtbkRlZnMnLCBjb2x1bW5EZWZzID8gW3RoaXMucGlubmVkQ29sdW1uXS5jb25jYXQoY29sdW1uRGVmcykgOiBudWxsKTtcbiAgfVxuXG4gIHNldFJvd0RhdGEoZGF0YTogYW55W10gPSBbXSwgcm93PzogYW55KSB7XG4gICAgdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LmNvdW50ID0gZGF0YS5sZW5ndGg7XG4gICAgdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LnJvd0luZGV4ID0gcm93O1xuICAgIHRoaXMuYXBpLmNsZWFyRm9jdXNlZENlbGwoKTtcbiAgICB0aGlzLmFwaS5zZXRHcmlkT3B0aW9uKCdyb3dEYXRhJywgZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NTb2Z0RGF0YShkYXRhOiBhbnlbXSA9IFtdKSB7XG4gICAgbGV0IHJlbW92ZSA9IGRhdGEuZmlsdGVyKGkgPT4gaS5fX3JlbW92ZWQpLm1hcChpID0+IHtcbiAgICAgIGRlbGV0ZSBpLl9fcmVtb3ZlZDtcbiAgICAgIHJldHVybiBpO1xuICAgIH0pO1xuXG4gICAgbGV0IHVwZGF0ZSA9IGRhdGEuZmlsdGVyKGkgPT4gaS5fX3VwZGF0ZWQpLm1hcChpID0+IHtcbiAgICAgIGRlbGV0ZSBpLl9fdXBkYXRlZDtcbiAgICAgIHJldHVybiBpO1xuICAgIH0pO1xuXG4gICAgLy8gZmluYWxseSByZW1vdmUgaXRlbXMgZnJvbSBhcnJheVxuICAgIHJlbW92ZS5mb3JFYWNoKGkgPT4gZGF0YS5zcGxpY2UoZGF0YS5pbmRleE9mKGkpLCAxKSk7XG5cbiAgICBsZXQgYXBwbHlVcGRhdGUgPSByZW1vdmUubGVuZ3RoIHx8IHVwZGF0ZS5sZW5ndGg7XG5cbiAgICByZXR1cm4ge2FwcGx5VXBkYXRlLCByZW1vdmUsIHVwZGF0ZX07XG4gIH1cblxuICB1cGRhdGVSb3dEYXRhKGRhdGE6IGFueVtdID0gW10sIHJvdz86IGFueSwgc2VsZWN0aW9uPzogbnVtYmVyW10pIHtcblxuICAgIGxldCB7YXBwbHlVcGRhdGUsIHJlbW92ZSwgdXBkYXRlfSA9IHRoaXMucHJvY2Vzc1NvZnREYXRhKGRhdGEpO1xuICAgIGlmICghYXBwbHlVcGRhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnNldFJvd0RhdGEoZGF0YSwgcm93KTtcbiAgICB9XG5cbiAgICB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPSBkYXRhLmxlbmd0aDtcbiAgICBsZXQgbGFzdEZvY3VzZWRDZWxsOiBDZWxsUG9zaXRpb24gPSB0aGlzLmFwaS5nZXRGb2N1c2VkQ2VsbCgpO1xuICAgIHRoaXMuYXBpLmFwcGx5VHJhbnNhY3Rpb24oe3JlbW92ZSwgdXBkYXRlfSk7XG4gICAgdGhpcy5hcGkucmVkcmF3Um93cygpO1xuICAgIHNldFRpbWVvdXQoXyA9PiB7XG4gICAgICB0aGlzLnNlbGVjdFJvdyhsYXN0Rm9jdXNlZENlbGwgPyBsYXN0Rm9jdXNlZENlbGwucm93SW5kZXggOiAocm93IHx8IDApLCBzZWxlY3Rpb24pO1xuICAgIH0sIHRoaXMuY29udGV4dENvdW50ID8gNTAwIDogMCk7XG4gIH1cblxuICB1cGRhdGVSb3dzKGRhdGE6IGFueVtdID0gW10pIHtcblxuICAgIGxldCB7YXBwbHlVcGRhdGUsIHJlbW92ZSwgdXBkYXRlfSA9IHRoaXMucHJvY2Vzc1NvZnREYXRhKGRhdGEpO1xuICAgIGlmICghYXBwbHlVcGRhdGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPSB0aGlzLmNvbnRleHRDb3VudCAtIHJlbW92ZS5sZW5ndGg7XG4gICAgbGV0IGxhc3RGb2N1c2VkSW5kZXggPSB0aGlzLmFwaS5nZXRGb2N1c2VkQ2VsbCgpID8gdGhpcy5hcGkuZ2V0Rm9jdXNlZENlbGwoKS5yb3dJbmRleCA6IDA7XG5cbiAgICB0aGlzLmFwaS5hcHBseVRyYW5zYWN0aW9uKHtyZW1vdmUsIHVwZGF0ZX0pO1xuXG4gICAgc2V0VGltZW91dChfID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0Um93KGxhc3RGb2N1c2VkSW5kZXgpO1xuICAgIH0sIHRoaXMuY29udGV4dENvdW50ID8gNTAwIDogMCk7XG4gIH1cblxuICBnZXQgY29sdW1ucygpOiBDb2x1bW5bXSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpLmdldENvbHVtbnMoKS5maWx0ZXIoYyA9PiBjLmdldENvbElkKCkgIT09IHRoaXMucGlubmVkQ29sdW1uLmZpZWxkKTtcbiAgfVxuXG4gIGdldCBhcGkoKTogR3JpZEFwaSB7XG4gICAgcmV0dXJuIHRoaXMuYWdHcmlkPy5hcGk7XG4gIH1cblxuICBnZXQgaXNSZWFkeSgpIHtcbiAgICByZXR1cm4gISF0aGlzLmFwaTtcbiAgfVxuXG4gIGdldCBpc0VtcHR5KCkge1xuICAgIHJldHVybiAhdGhpcy5fZ3JpZENvdW50LnRvdGFsQ291bnQgJiYgKCF0aGlzLmFwaSB8fCAhT2JqZWN0LmtleXModGhpcy5hcGkuZ2V0RmlsdGVyTW9kZWwoKSkubGVuZ3RoKTtcbiAgfVxuXG4gIGdldCBpc0VtcHR5Um93cygpIHtcbiAgICByZXR1cm4gIXRoaXMuX2dyaWRDb3VudC5yb3dDb3VudDtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZW8tZ3JpZC1lbXB0eVwiIFtoaWRkZW5dPVwiIShpc0VtcHR5IHx8IGlzRW1wdHlSb3dzKVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCIuZW1wdHlcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJlby1ncmlkLWhlYWRlclwiICpuZ0lmPVwic2hvd0hlYWRlclwiIFtoaWRkZW5dPVwiaXNFbXB0eVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCIuaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48YWctZ3JpZC1hbmd1bGFyICNhZ0dyaWQgY2xhc3M9XCJhZy10aGVtZS1iYWxoYW1cIiBbbW9kdWxlc109XCJtb2R1bGVzXCJcbiAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJpc0VtcHR5XCJcbiAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydoaWRlLWhlYWRlcic6IHNob3dIZWFkZXIsICdlbmFibGUtZm9vdGVyJzogc2hvd0Zvb3RlciwgJ2Z1bGwtd2lkdGgnOiBmdWxsV2lkdGh9XCJcbiAgICAgICAgICAgICAgICAgW2dyaWRPcHRpb25zXT1cImdyaWRPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgKG1vZGVsVXBkYXRlZCk9XCJvbk1vZGVsVXBkYXRlZCgpXCJcbiAgICAgICAgICAgICAgICAgKGNlbGxGb2N1c2VkKT1cIm9uQ2VsbEZvY3VzZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIChjZWxsQ29udGV4dE1lbnUpPVwib25Db250ZXh0TWVudUNsaWNrZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIChjb250ZXh0bWVudSk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7JGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAoY2VsbENsaWNrZWQpPVwib25DZWxsQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGNlbGxEb3VibGVDbGlja2VkKT1cIm9uQ2VsbERvdWJsZUNsaWNrZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2VkKT1cIm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGNvbHVtblJlc2l6ZWQpPVwib25Db2x1bW5SZXNpemVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAoZ3JpZFJlYWR5KT1cIm9uUmVhZHkoKVwiPlxuPC9hZy1ncmlkLWFuZ3VsYXI+XG48ZGl2IGNsYXNzPVwiZW8tZ3JpZC1mb290ZXJcIiAqbmdJZj1cInNob3dGb290ZXJcIiBbaGlkZGVuXT1cImlzRW1wdHlcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLmZvb3RlclwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
454
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2dyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZ3JpZC9ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRixPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRzVDLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUc3QixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUdwRixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBUTlCLElBQU0sYUFBYSxHQUFuQixNQUFNLGFBQWE7SUF1RHhCLElBQ0ksT0FBTyxDQUFDLE9BQVk7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELElB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QyxRQUFRO2dCQUVULGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBTUUsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFRixPQUFPO3NCQURWLEtBQUs7Z0JBVUYsV0FBVztzQkFEZCxLQUFLO2dCQXlCTixlQUFlO3NCQUpkLFlBQVk7dUJBQUMsNkJBQTZCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUN0RCxZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDbEQsWUFBWTt1QkFBQyx1QkFBdUIsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ2hELFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsaWVudFNpZGVSb3dNb2RlbE1vZHVsZX0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NsaWVudC1zaWRlLXJvdy1tb2RlbCc7XHJcbmltcG9ydCB7Q2VsbFBvc2l0aW9uLCBDb2xEZWYsIENvbHVtbiwgR3JpZEFwaSwgR3JpZE9wdGlvbnMsIE1vZHVsZX0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xyXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2RlYm91bmNlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtFb1VzZXIsIFRyYW5zbGF0ZVNlcnZpY2UsIFVzZXJTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xyXG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XHJcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7R3JpZFNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2FwaS9ncmlkLnNlcnZpY2UnO1xyXG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy5zZXJ2aWNlJztcclxuaW1wb3J0IHtDb2Rlc3lzdGVtRmlsdGVyQ29tcG9uZW50fSBmcm9tICcuL2ZpbHRlcnMvY29kZXN5c3RlbS1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtEYXRldGltZUZpbHRlckNvbXBvbmVudH0gZnJvbSAnLi9maWx0ZXJzL2RhdGV0aW1lLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge0R5bmFtaWNMaXN0RmlsdGVyQ29tcG9uZW50fSBmcm9tICcuL2ZpbHRlcnMvZHluYW1pYy1saXN0LWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge0xpc3RGaWx0ZXJDb21wb25lbnR9IGZyb20gJy4vZmlsdGVycy9saXN0LWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge09yZ2FuaXphdGlvbkZpbHRlckNvbXBvbmVudH0gZnJvbSAnLi9maWx0ZXJzL29yZ2FuaXphdGlvbi1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtJTG9hZGVyfSBmcm9tICcuL2xvYWRlci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0FnR3JpZEFuZ3VsYXJ9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyJztcclxuaW1wb3J0IHtkZWxheX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5AVW50aWxEZXN0cm95KClcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlby1ncmlkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEdyaWRDb21wb25lbnQge1xyXG5cclxuICBwdWJsaWMgbW9kdWxlczogTW9kdWxlW10gPSBbQ2xpZW50U2lkZVJvd01vZGVsTW9kdWxlXTtcclxuICBzY3JvbGxQb3NpdGlvbiA9IDA7XHJcblxyXG4gIG92ZXJsYXlMb2FkaW5nVGVtcGxhdGU6IHN0cmluZztcclxuICBwcml2YXRlIGNvbXBvbmVudHMgPSB7XHJcbiAgICBhZ0RhdGVJbnB1dDogRGF0ZXRpbWVGaWx0ZXJDb21wb25lbnQsXHJcbiAgICBPcmdhbml6YXRpb25GaWx0ZXJDb21wb25lbnQ6IE9yZ2FuaXphdGlvbkZpbHRlckNvbXBvbmVudCxcclxuICAgIENvZGVzeXN0ZW1GaWx0ZXJDb21wb25lbnQ6IENvZGVzeXN0ZW1GaWx0ZXJDb21wb25lbnQsXHJcbiAgICBEeW5hbWljTGlzdEZpbHRlckNvbXBvbmVudDogRHluYW1pY0xpc3RGaWx0ZXJDb21wb25lbnQsXHJcbiAgICBMaXN0RmlsdGVyQ29tcG9uZW50OiBMaXN0RmlsdGVyQ29tcG9uZW50XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBfZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zO1xyXG4gIHByaXZhdGUgX29wdGlvbnM6IGFueSA9IHt9O1xyXG4gIHByaXZhdGUgX2dyaWRDb3VudDogYW55ID0ge307XHJcbiAgcHJpdmF0ZSBwaW5uZWRDb2x1bW46IENvbERlZiA9IHtcclxuICAgIGhlYWRlck5hbWU6ICcnLFxyXG4gICAgZmlsdGVyOiBmYWxzZSxcclxuICAgIHNvcnRhYmxlOiBmYWxzZSxcclxuICAgIHJlc2l6YWJsZTogZmFsc2UsXHJcbiAgICBzdXBwcmVzc01lbnU6IHRydWUsXHJcbiAgICBzdXBwcmVzc01vdmFibGU6IHRydWUsXHJcbiAgICBzdXBwcmVzc05hdmlnYWJsZTogdHJ1ZSxcclxuICAgIHN1cHByZXNzUGFzdGU6IHRydWUsXHJcbiAgICBzdXBwcmVzc1NpemVUb0ZpdDogdHJ1ZSxcclxuICAgIHBpbm5lZDogJ2xlZnQnLFxyXG4gICAgd2lkdGg6IDMsXHJcbiAgICBtYXhXaWR0aDogMyxcclxuICAgIGZpZWxkOiAnX19zZWxlY3Rpb25GaWVsZCcsXHJcbiAgICB2YWx1ZUdldHRlcjogKCkgPT4gJydcclxuICB9O1xyXG5cclxuICBAVmlld0NoaWxkKCdhZ0dyaWQnKSBhZ0dyaWQhOiBBZ0dyaWRBbmd1bGFyO1xyXG5cclxuICBAT3V0cHV0KCkgZW9HcmlkQ291bnRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGVvR3JpZFNlbGVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgZW9HcmlkRm9jdXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGVvR3JpZENlbGxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBlb0dyaWREb3VibGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBlb0dyaWRDb250ZXh0TWVudUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGVvR3JpZENvbHVtblJlc2l6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBjb2xSZXNpemVEZWJvdW5jZXIgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHByaXZhdGUgY2FsY3VsYXRlRGVib3VuY2VyID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIGZvY3VzZWRSb3dJRCA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBzZWxlY3RGaXJzdCA9IHRydWU7XHJcbiAgQElucHV0KCkgc2VsZWN0aW9uTGltaXQ6IG51bWJlcjtcclxuICBASW5wdXQoKSBzaXplVG9GaXQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93SGVhZGVyID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd0Zvb3RlciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGxvYWRlckNvbnRlbnQ6IElMb2FkZXIgPSB7c2hvdzogZmFsc2UsIGltYWdlOiBudWxsLCB0ZXh0OiBudWxsfTtcclxuICBASW5wdXQoKVxyXG4gIHNldCBvcHRpb25zKG9wdGlvbnM6IGFueSkge1xyXG4gICAgdGhpcy5fb3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBnZXQgb3B0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgZ3JpZE9wdGlvbnMoZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zIHwgYW55KSB7XHJcbiAgICBjb25zdCBvcHRpb25zID0gZ3JpZE9wdGlvbnM/Ll9ncmlkT3B0aW9ucyB8fCBncmlkT3B0aW9ucztcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcy5fZ3JpZE9wdGlvbnMsIG9wdGlvbnMsIHtcclxuICAgICAgY29udGV4dDogT2JqZWN0LmFzc2lnbih0aGlzLl9ncmlkT3B0aW9ucy5jb250ZXh0LCBvcHRpb25zLmNvbnRleHQpLFxyXG4gICAgICBjb2x1bW5EZWZzOiBvcHRpb25zLmNvbHVtbkRlZnMgPyBbdGhpcy5waW5uZWRDb2x1bW5dLmNvbmNhdChvcHRpb25zLmNvbHVtbkRlZnMpIDogbnVsbFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXQgZ3JpZE9wdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ3JpZE9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBnZXQgY29udGV4dENvdW50KCkge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPT09ICdudW1iZXInID8gdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LmNvdW50IDogdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LmNvdW50LnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbnRleHRSZWxhdGlvbigpIHtcclxuICAgIHJldHVybiB0eXBlb2YgdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LmNvdW50ID09PSAnbnVtYmVyJyA/ICdlcScgOiB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQucmVsYXRpb247XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmNvbnRyb2wuYWx0LnNoaWZ0LmMnLCBbJyRldmVudCddKVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uY29udHJvbC5zaGlmdC5jJywgWyckZXZlbnQnXSlcclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmNvbnRyb2wuYWx0LmMnLCBbJyRldmVudCddKVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uY29udHJvbC5jJywgWyckZXZlbnQnXSlcclxuICBjb3B5Q2VsbEhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIHRoaXMuZ3JpZEFwaS5jb3B5VG9DbGlwYm9hcmQoZXZlbnQsIHRoaXMuYWdHcmlkLCB0aGlzLmdyaWRPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZ3JpZEFwaTogR3JpZFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlXHJcbiAgKSB7XHJcblxyXG4gICAgdGhpcy5fZ3JpZE9wdGlvbnMgPSB7XHJcbiAgICAgIGNvbnRleHQ6IGdyaWRBcGkuZ2V0Q29udGV4dCgpLFxyXG4gICAgICBhbmltYXRlUm93czogdHJ1ZSxcclxuICAgICAgaGVhZGVySGVpZ2h0OiAzMCxcclxuICAgICAgcm93SGVpZ2h0OiA0OCxcclxuICAgICAgcm93QnVmZmVyOiAyMCxcclxuICAgICAgcm93U2VsZWN0aW9uOiAnbXVsdGlwbGUnLFxyXG4gICAgICBtdWx0aVNvcnRLZXk6ICdjdHJsJyxcclxuICAgICAgYWNjZW50ZWRTb3J0OiB0cnVlLFxyXG4gICAgICBzdXBwcmVzc0NvbnRleHRNZW51OiB0cnVlLFxyXG4gICAgICBzdXBwcmVzc05vUm93c092ZXJsYXk6IHRydWUsXHJcbiAgICAgIG92ZXJsYXlMb2FkaW5nVGVtcGxhdGU6ICcgJyxcclxuICAgICAgb3ZlcmxheU5vUm93c1RlbXBsYXRlOiAnICcsXHJcbiAgICAgIGdldFJvd0lkOiAocm93KSA9PiByb3c/LmRhdGE/LmlkIHx8IHJvdyB8fCBudWxsLFxyXG4gICAgICBnZXRMb2NhbGVUZXh0OiAoe2tleSwgZGVmYXVsdFZhbHVlLCB2YXJpYWJsZVZhbHVlc30pID0+IHtcclxuICAgICAgICBsZXQgZ3JpZEtleSA9ICdlby5yZXN1bHRsaXN0LmdyaWQuJyArIGtleTtcclxuICAgICAgICBsZXQgdmFsdWUgPSB0cmFuc2xhdGUuaW5zdGFudChncmlkS2V5LCB2YXJpYWJsZVZhbHVlcyk7XHJcbiAgICAgICAgcmV0dXJuIH52YWx1ZS5pbmRleE9mKGdyaWRLZXkpID8gZGVmYXVsdFZhbHVlIDogdmFsdWU7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBvbmVudHM6IHRoaXMuY29tcG9uZW50cyxcclxuICAgICAgLyoqXHJcbiAgICAgICAqIFRyaWdnZXJzIGhvcml6b250YWwgc2Nyb2xsIHJlc2V0IGFmdGVyIHNvcnRpbmcgd2l0aCBhIGRlbGF5LlxyXG4gICAgICAgKi9cclxuICAgICAgcG9zdFNvcnRSb3dzOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVEZWJvdW5jZXIucGlwZShcclxuICAgICAgICAgIGRlbGF5KDc1MCkpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZXRIb3Jpem9udGFsU2Nyb2xsUG9zaXRpb24oKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMubG9hZGluZ01lc3NhZ2UoKTtcclxuICAgIHRoaXMuZ2V0VXNlcigpO1xyXG5cclxuICAgIHRoaXMucGVuZGluZ0NoYW5nZXMudGFza3MkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgodGFza3MpID0+IHRoaXMuYXBpPy51cGRhdGVHcmlkT3B0aW9ucyh7IHN1cHByZXNzUm93Q2xpY2tTZWxlY3Rpb246ICEhdGFza3MubGVuZ3RoLCBzdXBwcmVzc0NlbGxGb2N1czogISF0YXNrcy5sZW5ndGggfSkpO1xyXG5cclxuICAgIHRoaXMuY29sUmVzaXplRGVib3VuY2VyLnBpcGUoXHJcbiAgICAgIGRlYm91bmNlVGltZSgxMDAwKSlcclxuICAgICAgLnN1YnNjcmliZShjb2wgPT4gdGhpcy5lb0dyaWRDb2x1bW5SZXNpemVkLmVtaXQoY29sKSk7XHJcblxyXG4gICAgdGhpcy5jYWxjdWxhdGVEZWJvdW5jZXIucGlwZShcclxuICAgICAgZGVib3VuY2VUaW1lKDEwMCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jYWxjdWxhdGVSb3dDb3VudCgpKTtcclxuICB9XHJcblxyXG4gIGxvYWRpbmdNZXNzYWdlKCkge1xyXG4gICAgbGV0IGxvYWRlckNvbnRlbnQgPSAnJztcclxuXHJcbiAgICBpZiAodGhpcy5sb2FkZXJDb250ZW50LnNob3cpIHtcclxuICAgICAgaWYgKHRoaXMubG9hZGVyQ29udGVudC5pbWFnZSkge1xyXG4gICAgICAgIGxvYWRlckNvbnRlbnQgPSBgPHNwYW4gY2xhc3M9XCJhZy1vdmVybGF5LWxvYWRpbmctY2VudGVyXCI+PGltZyBbc3JjXT1cIiR7dGhpcy5sb2FkZXJDb250ZW50LmltYWdlfVwiIGFsdD1cImxvYWRlciBpbWFnZVwiPjwvc3Bhbj5gO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxvYWRlckNvbnRlbnQgPSBgPHNwYW4gY2xhc3M9XCJhZy1vdmVybGF5LWxvYWRpbmctY2VudGVyXCI+JHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRoaXMubG9hZGVyQ29udGVudC50ZXh0KX08L3NwYW4+YDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5vdmVybGF5TG9hZGluZ1RlbXBsYXRlID0gbG9hZGVyQ29udGVudDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VXNlcigpIHtcclxuICAgIHRoaXMudXNlclNlcnZpY2UudXNlciQuc3Vic2NyaWJlKCh1c2VyOiBFb1VzZXIpID0+IHtcclxuICAgICAgKHRoaXMuZ3JpZE9wdGlvbnMgfHwgdGhpcy5fZ3JpZE9wdGlvbnMpLmVuYWJsZVJ0bCA9ICh1c2VyLnVpRGlyZWN0aW9uID09PSAncnRsJyk7XHJcbiAgICAgIHRoaXMucGlubmVkQ29sdW1uLnBpbm5lZCA9ICh1c2VyLnVpRGlyZWN0aW9uID09PSAncnRsJykgPyAncmlnaHQnIDogJ2xlZnQnO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhbGN1bGF0ZVJvd0NvdW50KCkge1xyXG4gICAgbGV0IHJvd0NvdW50ID0gMDtcclxuICAgIGxldCB0b3RhbENvdW50ID0gdGhpcy5jb250ZXh0Q291bnQ7XHJcbiAgICBsZXQgcm93SW5kZXggPSB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQucm93SW5kZXg7XHJcbiAgICBsZXQgc2VsZWN0aW9uID0gdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LnNlbGVjdGlvbjtcclxuXHJcbiAgICBpZiAoIXRoaXMuYXBpPy5pc0Rlc3Ryb3llZCgpICYmIHRoaXMuYXBpPy5nZXRHcmlkT3B0aW9uKCdyb3dEYXRhJykpIHtcclxuICAgICAgdGhpcy5hcGkuZm9yRWFjaE5vZGVBZnRlckZpbHRlcihuID0+IG4uZ3JvdXAgfHwgcm93Q291bnQrKyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByb3dDb3VudCA9IHRoaXMuZ3JpZE9wdGlvbnMuY29udGV4dC5yb3dDb3VudCB8fCAwO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VsZWN0Rmlyc3QgJiYgIXRoaXMuYXBpPy5pc0Rlc3Ryb3llZCgpICYmICF0aGlzLmFwaS5nZXRGb2N1c2VkQ2VsbCgpICYmIChyb3dJbmRleCAhPT0gbnVsbCB8fCAhdGhpcy5mb2N1c2VkUm93SUQpKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZWxlY3RSb3cocm93SW5kZXggfHwgMCwgc2VsZWN0aW9uKSwgMjAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudXBkYXRlRm9jdXMoKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2dyaWRDb3VudCA9IHt0b3RhbENvdW50LCByb3dDb3VudCwgcmVsYXRpb246IHRoaXMuY29udGV4dFJlbGF0aW9ufTtcclxuICAgIHRoaXMuZW9HcmlkQ291bnRDaGFuZ2VkLmVtaXQodGhpcy5fZ3JpZENvdW50KTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUZvY3VzKGlkID0gdGhpcy5mb2N1c2VkUm93SUQpIHtcclxuICAgIGlmICghdGhpcy5hcGk/LmlzRGVzdHJveWVkKCkpIHtcclxuICAgICAgY29uc3QgY2VsbCA9IHRoaXMuYXBpLmdldEZvY3VzZWRDZWxsKCk7XHJcbiAgICAgIGNvbnN0IHJvdyA9IHRoaXMuYXBpLmdldFJvd05vZGUoaWQpO1xyXG4gICAgICBpZiAoIXRoaXMub3B0aW9ucy5maWx0ZXJBY3RpdmUgJiYgKGNlbGwgJiYgY2VsbC5yb3dJbmRleCkgIT09IChyb3cgJiYgcm93LnJvd0luZGV4KSkge1xyXG4gICAgICAgIGlmIChyb3cpIHtcclxuICAgICAgICAgIHRoaXMuYXBpLnNldEZvY3VzZWRDZWxsKHJvdy5yb3dJbmRleCwgKHRoaXMuZ3JpZE9wdGlvbnMuY29sdW1uRGVmc1sxXSBhcyBDb2xEZWYpLmZpZWxkKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5hcGkuY2xlYXJGb2N1c2VkQ2VsbCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DZWxsQ2xpY2tlZCgkZXZlbnQpIHtcclxuXHJcbiAgICBpZiAoJGV2ZW50LnJvd0luZGV4ICE9PSBudWxsKSB7XHJcbiAgICAgIGlmICghJGV2ZW50Lm5vZGUuZ3JvdXAgJiYgJGV2ZW50LmRhdGEpIHtcclxuICAgICAgICBpZiAoJGV2ZW50LmNvbERlZi5jZWxsQ2xhc3MgPT09ICdyb3V0ZXItbGluay1jZWxsJykge1xyXG4gICAgICAgICAgdGhpcy5ncmlkQXBpLm9wZW5Sb3V0ZXJMaW5rKCRldmVudC5ldmVudCwgJ2FnLXJvdycpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5lb0dyaWRDZWxsQ2xpY2suZW1pdCgkZXZlbnQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNlbGxEb3VibGVDbGlja2VkKCRldmVudCkge1xyXG5cclxuICAgIGlmICgkZXZlbnQucm93SW5kZXggIT09IG51bGwpIHtcclxuICAgICAgaWYgKCEkZXZlbnQubm9kZS5ncm91cCAmJiAkZXZlbnQuZGF0YSkge1xyXG4gICAgICAgIHRoaXMuZW9HcmlkRG91YmxlQ2xpY2suZW1pdCgkZXZlbnQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbk1vdXNlRG93bigkZXZlbnQ6IE1vdXNlRXZlbnQgfCBhbnkpIHtcclxuICAgIGlmICh0aGlzLmFwaT8uZ2V0R3JpZE9wdGlvbignc3VwcHJlc3NSb3dDbGlja1NlbGVjdGlvbicpKSB7XHJcbiAgICAgIGlmICghdGhpcy5wZW5kaW5nQ2hhbmdlcy5jaGVjaygpKSB7XHJcbiAgICAgICAgdGhpcy5hcGk/LnVwZGF0ZUdyaWRPcHRpb25zKHsgc3VwcHJlc3NSb3dDbGlja1NlbGVjdGlvbjogZmFsc2UsIHN1cHByZXNzQ2VsbEZvY3VzOiBmYWxzZSB9KTtcclxuICAgICAgICB0aGlzLnNlbGVjdEV2ZW50KCRldmVudCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgJGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbGVjdEV2ZW50KCRldmVudDogTW91c2VFdmVudCB8IGFueSkge1xyXG4gICAgY29uc3QgY29sSWQgPSAkZXZlbnQuY29tcG9zZWRQYXRoPy4oKS5maW5kKChlbCkgPT4gZWw/LmdldEF0dHJpYnV0ZSgnY29sLWlkJykpPy5nZXRBdHRyaWJ1dGUoJ2NvbC1pZCcpO1xyXG4gICAgY29uc3Qgcm93SWQgPSAkZXZlbnQuY29tcG9zZWRQYXRoPy4oKS5maW5kKChlbCkgPT4gZWw/LmdldEF0dHJpYnV0ZSgncm93LWlkJykpPy5nZXRBdHRyaWJ1dGUoJ3Jvdy1pZCcpO1xyXG4gICAgaWYgKGNvbElkKSB7XHJcbiAgICAgIGNvbnN0IHJvdyA9IHRoaXMuYXBpPy5nZXRSb3dOb2RlKHJvd0lkKTtcclxuICAgICAgLy9zZWxlY3Qgcm93IG9ubHkgb24gbGVmdCBjbGlja1xyXG4gICAgICB0aGlzLnNlbGVjdFJvdyhyb3cucm93SW5kZXgsICRldmVudC5idXR0b24gPT09IDAgPyBudWxsIDogW10sICEkZXZlbnQuY3RybEtleSk7XHJcbiAgICAgIGlmICgkZXZlbnQuYnV0dG9uID09PSAyKSB7XHJcbiAgICAgICAgLy9vcGVuIGNvbnRleHQgbWVudSBvbiByaWdodCBjbGlja1xyXG4gICAgICAgIHRoaXMub25Db250ZXh0TWVudUNsaWNrZWQoeyByb3dJbmRleDogcm93LnJvd0luZGV4LCBub2RlOiByb3csIGRhdGE6IHJvdy5kYXRhIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNlbGxGb2N1c2VkKCRldmVudCkge1xyXG4gICAgaWYgKHRoaXMuYXBpLmdldEdyaWRPcHRpb24oJ3N1cHByZXNzQ2VsbEZvY3VzJykpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudXBkYXRlRm9jdXMoKTtcclxuICAgIH1cclxuICAgIGlmICgkZXZlbnQucm93SW5kZXggIT09IG51bGwpIHtcclxuICAgICAgJGV2ZW50LmZvY3VzZWROb2RlID0gdGhpcy5hcGkuZ2V0TW9kZWwoKS5nZXRSb3coJGV2ZW50LnJvd0luZGV4KTtcclxuICAgICAgaWYgKCRldmVudC5mb2N1c2VkTm9kZSAmJiAhJGV2ZW50LmZvY3VzZWROb2RlLmdyb3VwICYmICRldmVudC5mb2N1c2VkTm9kZS5kYXRhKSB7XHJcbiAgICAgICAgdGhpcy5mb2N1c2VkUm93SUQgPSAkZXZlbnQuZm9jdXNlZE5vZGUuaWQ7XHJcbiAgICAgICAgdGhpcy5lb0dyaWRGb2N1c0NoYW5nZWQuZW1pdCgkZXZlbnQuZm9jdXNlZE5vZGUuZGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ29udGV4dE1lbnVDbGlja2VkKCRldmVudCkge1xyXG4gICAgaWYgKCRldmVudC5yb3dJbmRleCAhPT0gbnVsbCAmJiAhJGV2ZW50Lm5vZGUuZ3JvdXAgJiYgJGV2ZW50LmRhdGEpIHtcclxuICAgICAgbGV0IHNlbGVjdGVkTm9kZXMgPSB0aGlzLmFwaS5nZXRTZWxlY3RlZE5vZGVzKCkubWFwKG4gPT4gbi5kYXRhKS5maWx0ZXIoZCA9PiBkKTtcclxuICAgICAgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoICYmIHNlbGVjdGVkTm9kZXMuc29tZShuID0+IG4uaWQgPT09ICRldmVudC5kYXRhLmlkKSkge1xyXG4gICAgICAgIHRoaXMuZW9HcmlkQ29udGV4dE1lbnVDbGljay5lbWl0KHNlbGVjdGVkTm9kZXMpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZW9HcmlkQ29udGV4dE1lbnVDbGljay5lbWl0KFskZXZlbnQuZGF0YV0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KSB7XHJcbiAgICBsZXQgc2VsZWN0ZWROb2RlcyA9IHRoaXMuYXBpLmdldFNlbGVjdGVkTm9kZXMoKS5tYXAobiA9PiBuLmRhdGEpLmZpbHRlcihkID0+IGQpO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uTGltaXQgJiYgc2VsZWN0ZWROb2Rlcy5sZW5ndGggPiB0aGlzLnNlbGVjdGlvbkxpbWl0KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0Um93KHRoaXMuYXBpLmdldEZvY3VzZWRDZWxsKCkucm93SW5kZXgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lb0dyaWRTZWxlY3Rpb25DaGFuZ2VkLmVtaXQoc2VsZWN0ZWROb2Rlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNvbHVtblJlc2l6ZWQoJGV2ZW50KSB7XHJcbiAgICBpZiAoJGV2ZW50LmNvbHVtbikge1xyXG4gICAgICB0aGlzLmNvbFJlc2l6ZURlYm91bmNlci5uZXh0KCRldmVudC5jb2x1bW4pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Nb2RlbFVwZGF0ZWQoKSB7XHJcbiAgICB0aGlzLmNhbGN1bGF0ZURlYm91bmNlci5uZXh0KHt9KTtcclxuICB9XHJcblxyXG4gIG9uUmVhZHkoKSB7XHJcbiAgICBpZiAodGhpcy5zaXplVG9GaXQpIHtcclxuICAgICAgdGhpcy5hcGkuc2l6ZUNvbHVtbnNUb0ZpdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLypcclxuICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIHRoZSBncmlkIGlzIHNvcnRlZC5cclxuICAqL1xyXG4gIG9uU29ydENoYW5nZWQoZXZlbnQpIHtcclxuICAgIHRoaXMuc2Nyb2xsUG9zaXRpb24gPSBldmVudC5hcGkuZ2V0SG9yaXpvbnRhbFBpeGVsUmFuZ2UoKS5sZWZ0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2Nyb2xscyB0aGUgZ3JpZCBob3Jpem9udGFsbHkgdG8gYSBwcmVkZWZpbmVkIGluaXRpYWwgcG9zaXRpb24uXHJcbiAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW4gdGhlIGdyaWQgaXMgc29ydGVkLlxyXG4gICAqL1xyXG4gIHNldEhvcml6b250YWxTY3JvbGxQb3NpdGlvbigpIHtcclxuICAgIGNvbnN0IGdyaWRCb2R5ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtdmlld3BvcnQnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmIChncmlkQm9keSkge1xyXG4gICAgICBncmlkQm9keS5zY3JvbGxMZWZ0ID0gdGhpcy5zY3JvbGxQb3NpdGlvbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uUXVpY2tGaWx0ZXJDaGFuZ2VkKCRldmVudCkge1xyXG4gICAgdGhpcy5hcGkuc2V0UXVpY2tGaWx0ZXIoJGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RSb3cocm93OiBudW1iZXIgfCBzdHJpbmcsIHNlbGVjdGlvbj86IG51bWJlcltdLCBjbGVhclNlbGVjdGlvbiA9IHRydWUsIHBvc2l0aW9uID0gbnVsbCkge1xyXG4gICAgaWYgKCF0aGlzLmFwaSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgcm93Tm9kZSA9IHR5cGVvZiByb3cgPT09ICdudW1iZXInID8gIXRoaXMuYXBpPy5pc0Rlc3Ryb3llZCgpICYmIHRoaXMuYXBpLmdldE1vZGVsKCk/LmdldFJvdyhyb3cpIDogdGhpcy5hcGkuZ2V0Um93Tm9kZShyb3cpO1xyXG4gICAgbGV0IGluZGV4ID0gcm93Tm9kZSA/IHJvd05vZGUucm93SW5kZXggOiAwO1xyXG5cclxuICAgIGlmIChyb3dOb2RlICYmIHJvd05vZGUuZGF0YSkge1xyXG4gICAgICBpZiAoc2VsZWN0aW9uKSB7XHJcbiAgICAgICAgc2VsZWN0aW9uLmZvckVhY2goKHJvd0luZGV4LCBpKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFwaS5nZXRNb2RlbCgpLmdldFJvdyhyb3dJbmRleCkuc2V0U2VsZWN0ZWQodHJ1ZSwgaSA9PT0gMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LnNlbGVjdGlvbiA9IG51bGw7IC8vcmVzZXQgaW5pdGlhbCBzZWxlY3Rpb25cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByb3dOb2RlLnNldFNlbGVjdGVkKHRydWUsIGNsZWFyU2VsZWN0aW9uKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5hcGkuc2V0Rm9jdXNlZENlbGwoaW5kZXgsICh0aGlzLmdyaWRPcHRpb25zLmNvbHVtbkRlZnNbMV0gYXMgQ29sRGVmKS5maWVsZCk7XHJcbiAgICAgIHRoaXMuc2Nyb2xsVG9Sb3coaW5kZXgsIHBvc2l0aW9uKTtcclxuICAgICAgdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LnJvd0luZGV4ID0gbnVsbDsgLy9yZXNldCBpbml0aWFsIHJvd0luZGV4XHJcbiAgICB9IGVsc2UgaWYgKGluZGV4ID4gMCAmJiB0aGlzLmNvbnRleHRDb3VudCkge1xyXG4gICAgICB0aGlzLnNlbGVjdFJvdygtLWluZGV4LCBzZWxlY3Rpb24sIGNsZWFyU2VsZWN0aW9uKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICghdGhpcy5hcGk/LmlzRGVzdHJveWVkKCkpIHtcclxuICAgICAgICB0aGlzLmFwaS5jbGVhckZvY3VzZWRDZWxsKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5lb0dyaWRGb2N1c0NoYW5nZWQuZW1pdChudWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNjcm9sbFRvUm93KGluZGV4PzogbnVtYmVyLCBwb3NpdGlvbiA9IG51bGwpIHtcclxuICAgIHRoaXMuYXBpLmVuc3VyZUluZGV4VmlzaWJsZShpbmRleCA9PT0gdW5kZWZpbmVkID8gKHRoaXMuYXBpLmdldEZvY3VzZWRDZWxsKCkgPyB0aGlzLmFwaS5nZXRGb2N1c2VkQ2VsbCgpLnJvd0luZGV4IDogMCkgOiBpbmRleCwgcG9zaXRpb24pO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0Um93QnlJZChpZCwgcG9zaXRpb24gPSAnJykge1xyXG4gICAgY29uc3Qgcm93Tm9kZSA9IGlkICYmIHRoaXMuYXBpLmdldFJvd05vZGUoaWQpO1xyXG4gICAgaWYgKHJvd05vZGUpIHtcclxuICAgICAgcm93Tm9kZS5zZXRTZWxlY3RlZCh0cnVlKTtcclxuICAgICAgdGhpcy5zZWxlY3RSb3cocm93Tm9kZS5yb3dJbmRleCwgW10sIHRydWUsIHBvc2l0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldENvbHVtbkRlZnMoY29sdW1uRGVmczogQ29sRGVmW10pIHtcclxuICAgIHRoaXMuYXBpLnNldEdyaWRPcHRpb24oJ2NvbHVtbkRlZnMnLCBjb2x1bW5EZWZzID8gW3RoaXMucGlubmVkQ29sdW1uXS5jb25jYXQoY29sdW1uRGVmcykgOiBudWxsKTtcclxuICB9XHJcblxyXG4gIHNldFJvd0RhdGEoZGF0YTogYW55W10gPSBbXSwgcm93PzogYW55KSB7XHJcbiAgICB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPSBkYXRhLmxlbmd0aDtcclxuICAgIHRoaXMuZ3JpZE9wdGlvbnMuY29udGV4dC5yb3dJbmRleCA9IHJvdztcclxuICAgIHRoaXMuYXBpLmNsZWFyRm9jdXNlZENlbGwoKTtcclxuICAgIHRoaXMuYXBpLnNldEdyaWRPcHRpb24oJ3Jvd0RhdGEnLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJvY2Vzc1NvZnREYXRhKGRhdGE6IGFueVtdID0gW10pIHtcclxuICAgIGxldCByZW1vdmUgPSBkYXRhLmZpbHRlcihpID0+IGkuX19yZW1vdmVkKS5tYXAoaSA9PiB7XHJcbiAgICAgIGRlbGV0ZSBpLl9fcmVtb3ZlZDtcclxuICAgICAgcmV0dXJuIGk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBsZXQgdXBkYXRlID0gZGF0YS5maWx0ZXIoaSA9PiBpLl9fdXBkYXRlZCkubWFwKGkgPT4ge1xyXG4gICAgICBkZWxldGUgaS5fX3VwZGF0ZWQ7XHJcbiAgICAgIHJldHVybiBpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gZmluYWxseSByZW1vdmUgaXRlbXMgZnJvbSBhcnJheVxyXG4gICAgcmVtb3ZlLmZvckVhY2goaSA9PiBkYXRhLnNwbGljZShkYXRhLmluZGV4T2YoaSksIDEpKTtcclxuXHJcbiAgICBsZXQgYXBwbHlVcGRhdGUgPSByZW1vdmUubGVuZ3RoIHx8IHVwZGF0ZS5sZW5ndGg7XHJcblxyXG4gICAgcmV0dXJuIHthcHBseVVwZGF0ZSwgcmVtb3ZlLCB1cGRhdGV9O1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUm93RGF0YShkYXRhOiBhbnlbXSA9IFtdLCByb3c/OiBhbnksIHNlbGVjdGlvbj86IG51bWJlcltdKSB7XHJcblxyXG4gICAgbGV0IHthcHBseVVwZGF0ZSwgcmVtb3ZlLCB1cGRhdGV9ID0gdGhpcy5wcm9jZXNzU29mdERhdGEoZGF0YSk7XHJcbiAgICBpZiAoIWFwcGx5VXBkYXRlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNldFJvd0RhdGEoZGF0YSwgcm93KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPSBkYXRhLmxlbmd0aDtcclxuICAgIGxldCBsYXN0Rm9jdXNlZENlbGw6IENlbGxQb3NpdGlvbiA9IHRoaXMuYXBpLmdldEZvY3VzZWRDZWxsKCk7XHJcbiAgICB0aGlzLmFwaS5hcHBseVRyYW5zYWN0aW9uKHtyZW1vdmUsIHVwZGF0ZX0pO1xyXG4gICAgdGhpcy5hcGkucmVkcmF3Um93cygpO1xyXG4gICAgc2V0VGltZW91dChfID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RSb3cobGFzdEZvY3VzZWRDZWxsID8gbGFzdEZvY3VzZWRDZWxsLnJvd0luZGV4IDogKHJvdyB8fCAwKSwgc2VsZWN0aW9uKTtcclxuICAgIH0sIHRoaXMuY29udGV4dENvdW50ID8gNTAwIDogMCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVSb3dzKGRhdGE6IGFueVtdID0gW10pIHtcclxuXHJcbiAgICBsZXQge2FwcGx5VXBkYXRlLCByZW1vdmUsIHVwZGF0ZX0gPSB0aGlzLnByb2Nlc3NTb2Z0RGF0YShkYXRhKTtcclxuICAgIGlmICghYXBwbHlVcGRhdGUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZ3JpZE9wdGlvbnMuY29udGV4dC5jb3VudCA9IHRoaXMuY29udGV4dENvdW50IC0gcmVtb3ZlLmxlbmd0aDtcclxuICAgIGxldCBsYXN0Rm9jdXNlZEluZGV4ID0gdGhpcy5hcGkuZ2V0Rm9jdXNlZENlbGwoKSA/IHRoaXMuYXBpLmdldEZvY3VzZWRDZWxsKCkucm93SW5kZXggOiAwO1xyXG5cclxuICAgIHRoaXMuYXBpLmFwcGx5VHJhbnNhY3Rpb24oe3JlbW92ZSwgdXBkYXRlfSk7XHJcblxyXG4gICAgc2V0VGltZW91dChfID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RSb3cobGFzdEZvY3VzZWRJbmRleCk7XHJcbiAgICB9LCB0aGlzLmNvbnRleHRDb3VudCA/IDUwMCA6IDApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbHVtbnMoKTogQ29sdW1uW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpLmdldENvbHVtbnMoKS5maWx0ZXIoYyA9PiBjLmdldENvbElkKCkgIT09IHRoaXMucGlubmVkQ29sdW1uLmZpZWxkKTtcclxuICB9XHJcblxyXG4gIGdldCBhcGkoKTogR3JpZEFwaSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZ0dyaWQ/LmFwaTtcclxuICB9XHJcblxyXG4gIGdldCBpc1JlYWR5KCkge1xyXG4gICAgcmV0dXJuICEhdGhpcy5hcGk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNFbXB0eSgpIHtcclxuICAgIHJldHVybiAhdGhpcy5fZ3JpZENvdW50LnRvdGFsQ291bnQgJiYgKCF0aGlzLmFwaSB8fCAhT2JqZWN0LmtleXModGhpcy5hcGkuZ2V0RmlsdGVyTW9kZWwoKSkubGVuZ3RoKTtcclxuICB9XHJcblxyXG4gIGdldCBpc0VtcHR5Um93cygpIHtcclxuICAgIHJldHVybiAhdGhpcy5fZ3JpZENvdW50LnJvd0NvdW50O1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImVvLWdyaWQtZW1wdHlcIiBbaGlkZGVuXT1cIiEoaXNFbXB0eSB8fCBpc0VtcHR5Um93cylcIj5cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCIuZW1wdHlcIj48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiZW8tZ3JpZC1oZWFkZXJcIiAqbmdJZj1cInNob3dIZWFkZXJcIiBbaGlkZGVuXT1cImlzRW1wdHlcIj5cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCIuaGVhZGVyXCI+PC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuPGFnLWdyaWQtYW5ndWxhciAjYWdHcmlkIGNsYXNzPVwiYWctdGhlbWUtYmFsaGFtXCIgW21vZHVsZXNdPVwibW9kdWxlc1wiXHJcbiAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJpc0VtcHR5XCJcclxuICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2hpZGUtaGVhZGVyJzogc2hvd0hlYWRlciwgJ2VuYWJsZS1mb290ZXInOiBzaG93Rm9vdGVyLCAnZnVsbC13aWR0aCc6IGZ1bGxXaWR0aH1cIlxyXG4gICAgICAgICAgICAgICAgIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgKG1vZGVsVXBkYXRlZCk9XCJvbk1vZGVsVXBkYXRlZCgpXCJcclxuICAgICAgICAgICAgICAgICAoY2VsbEZvY3VzZWQpPVwib25DZWxsRm9jdXNlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAoY2VsbENvbnRleHRNZW51KT1cIm9uQ29udGV4dE1lbnVDbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgIChjb250ZXh0bWVudSk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7JGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxyXG4gICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25Nb3VzZURvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgKGNlbGxDbGlja2VkKT1cIm9uQ2VsbENsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgKGNlbGxEb3VibGVDbGlja2VkKT1cIm9uQ2VsbERvdWJsZUNsaWNrZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZWQpPVwib25TZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgIChjb2x1bW5SZXNpemVkKT1cIm9uQ29sdW1uUmVzaXplZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAoZ3JpZFJlYWR5KT1cIm9uUmVhZHkoKVwiXHJcbiAgICAgICAgICAgICAgICAgKHNvcnRDaGFuZ2VkKT1cIm9uU29ydENoYW5nZWQoJGV2ZW50KVwiPlxyXG48L2FnLWdyaWQtYW5ndWxhcj5cclxuPGRpdiBjbGFzcz1cImVvLWdyaWQtZm9vdGVyXCIgKm5nSWY9XCJzaG93Rm9vdGVyXCIgW2hpZGRlbl09XCJpc0VtcHR5XCI+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLmZvb3RlclwiPjwvbmctY29udGVudD5cclxuPC9kaXY+XHJcbiJdfQ==