@smartbit4all/ng-client 6.0.51 → 6.0.52

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 (504) hide show
  1. package/README.md +386 -386
  2. package/esm2022/lib/component-factory-service/component-factory-service.module.mjs +1 -1
  3. package/esm2022/lib/component-factory-service/component-factory-service.service.mjs +1 -1
  4. package/esm2022/lib/component-factory-service/projects.mjs +1 -1
  5. package/esm2022/lib/session/api/api/api.mjs +1 -1
  6. package/esm2022/lib/session/api/api/session.service.mjs +1 -1
  7. package/esm2022/lib/session/api/configuration.mjs +1 -1
  8. package/esm2022/lib/session/api/encoder.mjs +1 -1
  9. package/esm2022/lib/session/api/index.mjs +1 -1
  10. package/esm2022/lib/session/api/model/accountInfo.mjs +1 -1
  11. package/esm2022/lib/session/api/model/apiError.mjs +1 -1
  12. package/esm2022/lib/session/api/model/authenticationProviderData.mjs +1 -1
  13. package/esm2022/lib/session/api/model/getAuthenticationProvidersResponse.mjs +1 -1
  14. package/esm2022/lib/session/api/model/models.mjs +1 -1
  15. package/esm2022/lib/session/api/model/refreshSessionRequest.mjs +1 -1
  16. package/esm2022/lib/session/api/model/session.mjs +1 -1
  17. package/esm2022/lib/session/api/model/sessionInfoData.mjs +1 -1
  18. package/esm2022/lib/session/api/model/userActivityLog.mjs +1 -1
  19. package/esm2022/lib/session/api/param.mjs +1 -1
  20. package/esm2022/lib/session/api/variables.mjs +1 -1
  21. package/esm2022/lib/session/cookie-service/smart-cookie.service.mjs +1 -1
  22. package/esm2022/lib/session/projects.mjs +1 -1
  23. package/esm2022/lib/session/smart-backend-bootstrap.config.mjs +1 -1
  24. package/esm2022/lib/session/smart-backend-bootstrap.service.mjs +1 -1
  25. package/esm2022/lib/session/smart-default-error-ui.service.mjs +1 -1
  26. package/esm2022/lib/session/smart-error-catching.interceptor.mjs +1 -1
  27. package/esm2022/lib/session/smart-header-maintainer.interceptor.mjs +1 -1
  28. package/esm2022/lib/session/smart-session-handler.service.mjs +1 -1
  29. package/esm2022/lib/session/smart-session.module.mjs +1 -1
  30. package/esm2022/lib/session/smart-session.service.mjs +1 -1
  31. package/esm2022/lib/session/smart-timer/smart-session-timer.component.mjs +3 -3
  32. package/esm2022/lib/shared/projects.mjs +1 -1
  33. package/esm2022/lib/shared/shared.module.mjs +1 -1
  34. package/esm2022/lib/shared/smart-tooltip.directive.mjs +1 -1
  35. package/esm2022/lib/shared/smarttable.date-pipe.mjs +1 -1
  36. package/esm2022/lib/smart-client/projects.mjs +1 -1
  37. package/esm2022/lib/smart-client/smart-component-api-client.mjs +1 -1
  38. package/esm2022/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +3 -3
  39. package/esm2022/lib/smart-client/smart.component.mjs +1 -1
  40. package/esm2022/lib/smart-client/smart.service.mjs +1 -1
  41. package/esm2022/lib/smart-component-layout/api/api/api.mjs +1 -1
  42. package/esm2022/lib/smart-component-layout/api/api/default.service.mjs +1 -1
  43. package/esm2022/lib/smart-component-layout/api/api.module.mjs +1 -1
  44. package/esm2022/lib/smart-component-layout/api/configuration.mjs +1 -1
  45. package/esm2022/lib/smart-component-layout/api/encoder.mjs +1 -1
  46. package/esm2022/lib/smart-component-layout/api/index.mjs +1 -1
  47. package/esm2022/lib/smart-component-layout/api/model/componentType.mjs +1 -1
  48. package/esm2022/lib/smart-component-layout/api/model/componentWidgetType.mjs +1 -1
  49. package/esm2022/lib/smart-component-layout/api/model/layoutDefinitionDescriptor.mjs +1 -1
  50. package/esm2022/lib/smart-component-layout/api/model/layoutDirection.mjs +1 -1
  51. package/esm2022/lib/smart-component-layout/api/model/models.mjs +1 -1
  52. package/esm2022/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.mjs +1 -1
  53. package/esm2022/lib/smart-component-layout/api/model/smartComponentWidgetDefinition.mjs +1 -1
  54. package/esm2022/lib/smart-component-layout/api/model/toolbarAlignment.mjs +1 -1
  55. package/esm2022/lib/smart-component-layout/api/model/toolbarDirection.mjs +1 -1
  56. package/esm2022/lib/smart-component-layout/api/model/toolbarProperties.mjs +1 -1
  57. package/esm2022/lib/smart-component-layout/api/param.mjs +1 -1
  58. package/esm2022/lib/smart-component-layout/api/variables.mjs +1 -1
  59. package/esm2022/lib/smart-component-layout/projects.mjs +1 -1
  60. package/esm2022/lib/smart-component-layout/smart-component-layout-utility.mjs +1 -1
  61. package/esm2022/lib/smart-component-layout/smart-component-layout.component.mjs +3 -3
  62. package/esm2022/lib/smart-component-layout/smart-component-layout.module.mjs +1 -1
  63. package/esm2022/lib/smart-diagram/api/api/api.mjs +1 -1
  64. package/esm2022/lib/smart-diagram/api/api/diagramService.service.mjs +1 -1
  65. package/esm2022/lib/smart-diagram/api/api.module.mjs +1 -1
  66. package/esm2022/lib/smart-diagram/api/configuration.mjs +1 -1
  67. package/esm2022/lib/smart-diagram/api/encoder.mjs +1 -1
  68. package/esm2022/lib/smart-diagram/api/index.mjs +1 -1
  69. package/esm2022/lib/smart-diagram/api/model/diagramColor.mjs +1 -1
  70. package/esm2022/lib/smart-diagram/api/model/diagramDataContainer.mjs +1 -1
  71. package/esm2022/lib/smart-diagram/api/model/diagramDataItem.mjs +1 -1
  72. package/esm2022/lib/smart-diagram/api/model/diagramDataSet.mjs +1 -1
  73. package/esm2022/lib/smart-diagram/api/model/diagramDescriptor.mjs +1 -1
  74. package/esm2022/lib/smart-diagram/api/model/diagramModel.mjs +1 -1
  75. package/esm2022/lib/smart-diagram/api/model/diagramShape.mjs +1 -1
  76. package/esm2022/lib/smart-diagram/api/model/drawTime.mjs +1 -1
  77. package/esm2022/lib/smart-diagram/api/model/labelText.mjs +1 -1
  78. package/esm2022/lib/smart-diagram/api/model/models.mjs +1 -1
  79. package/esm2022/lib/smart-diagram/api/param.mjs +1 -1
  80. package/esm2022/lib/smart-diagram/api/variables.mjs +1 -1
  81. package/esm2022/lib/smart-diagram/component/default-smart-diagram-options.provider.mjs +1 -1
  82. package/esm2022/lib/smart-diagram/component/smart-diagram.component.mjs +22 -22
  83. package/esm2022/lib/smart-diagram/component/smart-diagram.module.mjs +1 -1
  84. package/esm2022/lib/smart-diagram/component/smart-diagram.util.mjs +1 -1
  85. package/esm2022/lib/smart-diagram/projects.mjs +1 -1
  86. package/esm2022/lib/smart-dialog/projects.mjs +1 -1
  87. package/esm2022/lib/smart-dialog/smartdialog.component.mjs +3 -3
  88. package/esm2022/lib/smart-dialog/smartdialog.model.mjs +1 -1
  89. package/esm2022/lib/smart-dialog/smartdialog.module.mjs +1 -1
  90. package/esm2022/lib/smart-dialog/smartdialog.service.mjs +1 -1
  91. package/esm2022/lib/smart-expandable-section/expandable-section.component.mjs +3 -3
  92. package/esm2022/lib/smart-expandable-section/expandable-section.model.mjs +1 -1
  93. package/esm2022/lib/smart-expandable-section/projects.mjs +1 -1
  94. package/esm2022/lib/smart-expandable-section/smart-expandable-section.module.mjs +1 -1
  95. package/esm2022/lib/smart-expandable-section/smart-expandable-section.service.mjs +1 -1
  96. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.mjs +1 -1
  97. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderField.mjs +1 -1
  98. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.mjs +1 -1
  99. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.mjs +1 -1
  100. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionData.mjs +1 -1
  101. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionDataType.mjs +1 -1
  102. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionField.mjs +1 -1
  103. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldList.mjs +1 -1
  104. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.mjs +1 -1
  105. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionList.mjs +1 -1
  106. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperandData.mjs +1 -1
  107. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperation.mjs +1 -1
  108. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOrderBy.mjs +1 -1
  109. package/esm2022/lib/smart-filter/api/filter/model/model.mjs +1 -1
  110. package/esm2022/lib/smart-filter/api/filter/model/searchIndexObjectDefinitionData.mjs +1 -1
  111. package/esm2022/lib/smart-filter/api/filter/model/searchIndexPropertyDefinitionData.mjs +1 -1
  112. package/esm2022/lib/smart-filter/api/value/model/value.mjs +1 -1
  113. package/esm2022/lib/smart-filter/projects.mjs +1 -1
  114. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-expression-field/smart-filter-expression-field.component.mjs +1 -1
  115. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.mjs +3 -3
  116. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/smart-filter-simple.component.mjs +3 -3
  117. package/esm2022/lib/smart-filter/smart-filter/smart-filter.component.mjs +3 -3
  118. package/esm2022/lib/smart-filter/smart-filter/smart-filter.service.mjs +1 -1
  119. package/esm2022/lib/smart-filter/smart-filter.model.mjs +1 -1
  120. package/esm2022/lib/smart-filter/smart-filter.module.mjs +1 -1
  121. package/esm2022/lib/smart-filter-editor/api/api/api.mjs +1 -1
  122. package/esm2022/lib/smart-filter-editor/api/api/filter.service.mjs +1 -1
  123. package/esm2022/lib/smart-filter-editor/api/api.module.mjs +1 -1
  124. package/esm2022/lib/smart-filter-editor/api/configuration.mjs +1 -1
  125. package/esm2022/lib/smart-filter-editor/api/encoder.mjs +1 -1
  126. package/esm2022/lib/smart-filter-editor/api/index.mjs +1 -1
  127. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +1 -1
  128. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilder.mjs +1 -1
  129. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.mjs +1 -1
  130. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +1 -1
  131. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +1 -1
  132. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.mjs +1 -1
  133. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +1 -1
  134. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionData.mjs +1 -1
  135. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionDataType.mjs +1 -1
  136. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionField.mjs +1 -1
  137. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +1 -1
  138. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +1 -1
  139. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.mjs +1 -1
  140. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionList.mjs +1 -1
  141. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +1 -1
  142. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperation.mjs +1 -1
  143. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOrderBy.mjs +1 -1
  144. package/esm2022/lib/smart-filter-editor/api/model/models.mjs +1 -1
  145. package/esm2022/lib/smart-filter-editor/api/model/searchPageConfig.mjs +1 -1
  146. package/esm2022/lib/smart-filter-editor/api/model/smartFilterType.mjs +1 -1
  147. package/esm2022/lib/smart-filter-editor/api/param.mjs +1 -1
  148. package/esm2022/lib/smart-filter-editor/api/variables.mjs +1 -1
  149. package/esm2022/lib/smart-filter-editor/filter-utils.mjs +1 -1
  150. package/esm2022/lib/smart-filter-editor/filterExpressionBuilderApiActions.mjs +1 -1
  151. package/esm2022/lib/smart-filter-editor/project.mjs +1 -1
  152. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/advanced/advanced-relation-button/advanced-relation-button.component.mjs +3 -3
  153. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/advanced/advanced-smart-filter-expression-item/advanced-smart-filter-expression-item.component.mjs +3 -3
  154. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/advanced/expression-editor-dialog/expression-editor-dialog.component.mjs +3 -3
  155. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/advanced/expression-editor-dialog/expression-editor-dialog.service.mjs +1 -1
  156. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.mjs +3 -3
  157. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.mjs +3 -3
  158. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +3 -3
  159. package/esm2022/lib/smart-filter-editor/smart-filter-editor.model.mjs +1 -1
  160. package/esm2022/lib/smart-filter-editor/smart-filter-editor.module.mjs +1 -1
  161. package/esm2022/lib/smart-filter-editor/smart-filter-editor.service.mjs +1 -1
  162. package/esm2022/lib/smart-filter-editor/smart-filter-params/components/smart-filter-param/smart-filter-param.component.mjs +3 -3
  163. package/esm2022/lib/smart-filter-editor/smart-filter-params/smart-filter-params.component.mjs +3 -3
  164. package/esm2022/lib/smart-form/api/api/api.mjs +1 -1
  165. package/esm2022/lib/smart-form/api/api/default.service.mjs +1 -1
  166. package/esm2022/lib/smart-form/api/api.module.mjs +1 -1
  167. package/esm2022/lib/smart-form/api/configuration.mjs +1 -1
  168. package/esm2022/lib/smart-form/api/encoder.mjs +1 -1
  169. package/esm2022/lib/smart-form/api/index.mjs +1 -1
  170. package/esm2022/lib/smart-form/api/model/dateFieldProperties.mjs +1 -1
  171. package/esm2022/lib/smart-form/api/model/divProperties.mjs +1 -1
  172. package/esm2022/lib/smart-form/api/model/fileUploaderProperties.mjs +1 -1
  173. package/esm2022/lib/smart-form/api/model/imageProperties.mjs +1 -1
  174. package/esm2022/lib/smart-form/api/model/models.mjs +1 -1
  175. package/esm2022/lib/smart-form/api/model/multiFileUploaderProperties.mjs +1 -1
  176. package/esm2022/lib/smart-form/api/model/propertyMapping.mjs +1 -1
  177. package/esm2022/lib/smart-form/api/model/recordingUploaderProperties.mjs +1 -1
  178. package/esm2022/lib/smart-form/api/model/selectionDefinition.mjs +1 -1
  179. package/esm2022/lib/smart-form/api/model/smartFormInputMode.mjs +1 -1
  180. package/esm2022/lib/smart-form/api/model/smartFormWidgetDirection.mjs +1 -1
  181. package/esm2022/lib/smart-form/api/model/smartFormWidgetType.mjs +1 -1
  182. package/esm2022/lib/smart-form/api/model/smartLayoutDefinition.mjs +1 -1
  183. package/esm2022/lib/smart-form/api/model/smartMatrixModel.mjs +1 -1
  184. package/esm2022/lib/smart-form/api/model/smartWidgetDefinition.mjs +1 -1
  185. package/esm2022/lib/smart-form/api/model/smartWidgetHint.mjs +1 -1
  186. package/esm2022/lib/smart-form/api/model/sortDefinition.mjs +1 -1
  187. package/esm2022/lib/smart-form/api/model/textBoxProperties.mjs +1 -1
  188. package/esm2022/lib/smart-form/api/model/textFieldProperties.mjs +1 -1
  189. package/esm2022/lib/smart-form/api/model/valueChangeMode.mjs +1 -1
  190. package/esm2022/lib/smart-form/api/param.mjs +1 -1
  191. package/esm2022/lib/smart-form/api/variables.mjs +1 -1
  192. package/esm2022/lib/smart-form/highlightMacthingString-pipe.mjs +1 -1
  193. package/esm2022/lib/smart-form/projects.mjs +1 -1
  194. package/esm2022/lib/smart-form/services/smartform.layout-definition.service.mjs +1 -1
  195. package/esm2022/lib/smart-form/services/smartform.service.mjs +1 -1
  196. package/esm2022/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.mjs +3 -3
  197. package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.component.mjs +3 -3
  198. package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.model.mjs +1 -1
  199. package/esm2022/lib/smart-form/smartform.component.mjs +3 -3
  200. package/esm2022/lib/smart-form/smartform.form-model.mjs +1 -1
  201. package/esm2022/lib/smart-form/smartform.model.mjs +1 -1
  202. package/esm2022/lib/smart-form/widgets/components/smart-file-editor/smart-file-editor.component.mjs +3 -3
  203. package/esm2022/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.mjs +3 -3
  204. package/esm2022/lib/smart-form/widgets/components/smart-multi-file-editor/smart-multi-file-editor.component.mjs +3 -3
  205. package/esm2022/lib/smart-form/widgets/components/smart-voice-recorder/smart-voice-recorder.component.mjs +3 -3
  206. package/esm2022/lib/smart-form/widgets/directives/comparable-dropdown.directive.mjs +1 -1
  207. package/esm2022/lib/smart-form/widgets/directives/comparable-multiselect.directive.mjs +1 -1
  208. package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +3 -3
  209. package/esm2022/lib/smart-form/widgets/smartformwidget/sortable-widget/sortable-widget.component.mjs +3 -3
  210. package/esm2022/lib/smart-form/widgets/smartformwidget/trackCaps.directive.mjs +1 -1
  211. package/esm2022/lib/smart-generic-pages/acl-editing-view/acl-editing-view.component.mjs +3 -3
  212. package/esm2022/lib/smart-generic-pages/api/platform/acl/model/aCL.mjs +1 -1
  213. package/esm2022/lib/smart-generic-pages/api/platform/acl/model/aCLEntry.mjs +1 -1
  214. package/esm2022/lib/smart-generic-pages/api/platform/acl/model/objectValidationSeverity.mjs +1 -1
  215. package/esm2022/lib/smart-generic-pages/api/platform/acl/model/subject.mjs +1 -1
  216. package/esm2022/lib/smart-generic-pages/api/platform/api-default/objectHistoryRangeData.mjs +1 -1
  217. package/esm2022/lib/smart-generic-pages/api/platform/searchpage/model/searchPageModel.mjs +1 -1
  218. package/esm2022/lib/smart-generic-pages/api/platform/subjectselector/model/subjectSelectorPageModel.mjs +1 -1
  219. package/esm2022/lib/smart-generic-pages/api/platform/validation/model/validationItem.mjs +1 -1
  220. package/esm2022/lib/smart-generic-pages/api/platform/validation/model/validationResultPageModel.mjs +1 -1
  221. package/esm2022/lib/smart-generic-pages/generic-page/generic-page.component.mjs +3 -3
  222. package/esm2022/lib/smart-generic-pages/invalid-smartlink/invalid-smartlink.component.mjs +3 -3
  223. package/esm2022/lib/smart-generic-pages/no-permission-page/no-permission-page.component.mjs +3 -3
  224. package/esm2022/lib/smart-generic-pages/projects.mjs +1 -1
  225. package/esm2022/lib/smart-generic-pages/search-page/search-page.component.mjs +3 -3
  226. package/esm2022/lib/smart-generic-pages/smart-generic-pages.module.mjs +1 -1
  227. package/esm2022/lib/smart-generic-pages/subject-selector/subject-selector.component.mjs +3 -3
  228. package/esm2022/lib/smart-generic-pages/validation-result-page/validation-result-page.component.mjs +3 -3
  229. package/esm2022/lib/smart-grid/api/grid-api/api/api.mjs +1 -1
  230. package/esm2022/lib/smart-grid/api/grid-api/api/grid.service.mjs +1 -1
  231. package/esm2022/lib/smart-grid/api/grid-api/api.module.mjs +1 -1
  232. package/esm2022/lib/smart-grid/api/grid-api/configuration.mjs +1 -1
  233. package/esm2022/lib/smart-grid/api/grid-api/encoder.mjs +1 -1
  234. package/esm2022/lib/smart-grid/api/grid-api/index.mjs +1 -1
  235. package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +1 -1
  236. package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +1 -1
  237. package/esm2022/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +1 -1
  238. package/esm2022/lib/smart-grid/api/grid-api/model/gridExportDescriptor.mjs +1 -1
  239. package/esm2022/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
  240. package/esm2022/lib/smart-grid/api/grid-api/model/gridPage.mjs +1 -1
  241. package/esm2022/lib/smart-grid/api/grid-api/model/gridRow.mjs +1 -1
  242. package/esm2022/lib/smart-grid/api/grid-api/model/gridRowLayoutDescriptor.mjs +1 -1
  243. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionChange.mjs +1 -1
  244. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +1 -1
  245. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +1 -1
  246. package/esm2022/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +1 -1
  247. package/esm2022/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +1 -1
  248. package/esm2022/lib/smart-grid/api/grid-api/model/gridView.mjs +1 -1
  249. package/esm2022/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +1 -1
  250. package/esm2022/lib/smart-grid/api/grid-api/model/models.mjs +1 -1
  251. package/esm2022/lib/smart-grid/api/grid-api/param.mjs +1 -1
  252. package/esm2022/lib/smart-grid/api/grid-api/variables.mjs +1 -1
  253. package/esm2022/lib/smart-grid/components/expandable-grid/expandable-grid.component.mjs +3 -3
  254. package/esm2022/lib/smart-grid/components/generic-component/expanded-row-renderer.component.mjs +3 -3
  255. package/esm2022/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.mjs +3 -3
  256. package/esm2022/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs +3 -3
  257. package/esm2022/lib/smart-grid/models/model.mjs +1 -1
  258. package/esm2022/lib/smart-grid/projects.mjs +1 -1
  259. package/esm2022/lib/smart-grid/smart-grid-toolbar-util.mjs +1 -1
  260. package/esm2022/lib/smart-grid/smart-grid.component.mjs +3 -3
  261. package/esm2022/lib/smart-grid/smart-grid.module.mjs +1 -1
  262. package/esm2022/lib/smart-grid/smart-grid.service.mjs +1 -1
  263. package/esm2022/lib/smart-icon/projects.mjs +1 -1
  264. package/esm2022/lib/smart-icon/smart-icon/smart-icon.component.mjs +3 -3
  265. package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.component.mjs +3 -3
  266. package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.directive.mjs +1 -1
  267. package/esm2022/lib/smart-icon/smart-icon.module.mjs +1 -1
  268. package/esm2022/lib/smart-icon/smart-icon.service.mjs +1 -1
  269. package/esm2022/lib/smart-map/abstract-map.mjs +1 -1
  270. package/esm2022/lib/smart-map/api/api/api.mjs +1 -1
  271. package/esm2022/lib/smart-map/api/api/geoMap.service.mjs +1 -1
  272. package/esm2022/lib/smart-map/api/api.module.mjs +1 -1
  273. package/esm2022/lib/smart-map/api/configuration.mjs +1 -1
  274. package/esm2022/lib/smart-map/api/encoder.mjs +1 -1
  275. package/esm2022/lib/smart-map/api/index.mjs +1 -1
  276. package/esm2022/lib/smart-map/api/model/gPSPosition.mjs +1 -1
  277. package/esm2022/lib/smart-map/api/model/gPSRoute.mjs +1 -1
  278. package/esm2022/lib/smart-map/api/model/geoMapChange.mjs +1 -1
  279. package/esm2022/lib/smart-map/api/model/geoMapDataLoadingMode.mjs +1 -1
  280. package/esm2022/lib/smart-map/api/model/geoMapDataSourceDescriptor.mjs +1 -1
  281. package/esm2022/lib/smart-map/api/model/geoMapDataSourceType.mjs +1 -1
  282. package/esm2022/lib/smart-map/api/model/geoMapEditingSession.mjs +1 -1
  283. package/esm2022/lib/smart-map/api/model/geoMapInteraction.mjs +1 -1
  284. package/esm2022/lib/smart-map/api/model/geoMapItem.mjs +1 -1
  285. package/esm2022/lib/smart-map/api/model/geoMapItemKind.mjs +1 -1
  286. package/esm2022/lib/smart-map/api/model/geoMapLayer.mjs +1 -1
  287. package/esm2022/lib/smart-map/api/model/geoMapLayerChange.mjs +1 -1
  288. package/esm2022/lib/smart-map/api/model/geoMapLayerDescriptor.mjs +1 -1
  289. package/esm2022/lib/smart-map/api/model/geoMapModel.mjs +1 -1
  290. package/esm2022/lib/smart-map/api/model/geoMapOperationMode.mjs +1 -1
  291. package/esm2022/lib/smart-map/api/model/geoMapSelectionMode.mjs +1 -1
  292. package/esm2022/lib/smart-map/api/model/geoMapServerModel.mjs +1 -1
  293. package/esm2022/lib/smart-map/api/model/geoMapTextType.mjs +1 -1
  294. package/esm2022/lib/smart-map/api/model/geoMapViewState.mjs +1 -1
  295. package/esm2022/lib/smart-map/api/model/geoMapViewport.mjs +1 -1
  296. package/esm2022/lib/smart-map/api/model/models.mjs +1 -1
  297. package/esm2022/lib/smart-map/api/param.mjs +1 -1
  298. package/esm2022/lib/smart-map/api/variables.mjs +1 -1
  299. package/esm2022/lib/smart-map/api-default/api-default.mjs +1 -1
  300. package/esm2022/lib/smart-map/impl/google-map.mjs +1 -1
  301. package/esm2022/lib/smart-map/impl/leaflet-map.mjs +1 -1
  302. package/esm2022/lib/smart-map/projects.mjs +1 -1
  303. package/esm2022/lib/smart-map/smart-map.component.mjs +3 -3
  304. package/esm2022/lib/smart-map/smart-map.module.mjs +1 -1
  305. package/esm2022/lib/smart-map/smart-map.types.mjs +1 -1
  306. package/esm2022/lib/smart-navbar/projects.mjs +1 -1
  307. package/esm2022/lib/smart-navbar/smart-navbar.component.mjs +3 -3
  308. package/esm2022/lib/smart-navbar/smart-navbar.model.mjs +1 -1
  309. package/esm2022/lib/smart-navbar/smart-navbar.module.mjs +1 -1
  310. package/esm2022/lib/smart-navbar/smart-navbar.service.mjs +1 -1
  311. package/esm2022/lib/smart-navigation/projects.mjs +1 -1
  312. package/esm2022/lib/smart-navigation/smart-navigation.interface.mjs +1 -1
  313. package/esm2022/lib/smart-navigation/smart-navigation.module.mjs +1 -1
  314. package/esm2022/lib/smart-navigation/smart-navigation.service.mjs +1 -1
  315. package/esm2022/lib/smart-ng-client.module.mjs +1 -1
  316. package/esm2022/lib/smart-ng-client.service.mjs +1 -1
  317. package/esm2022/lib/smart-subject/projects.mjs +1 -1
  318. package/esm2022/lib/smart-subject/smart-subject.mjs +1 -1
  319. package/esm2022/lib/smart-tab-group/projects.mjs +1 -1
  320. package/esm2022/lib/smart-tab-group/smart-tab-group.module.mjs +1 -1
  321. package/esm2022/lib/smart-table/components/default-actions-popup/default-actions-popup.component.mjs +3 -3
  322. package/esm2022/lib/smart-table/components/loading/loading.component.mjs +3 -3
  323. package/esm2022/lib/smart-table/directives/mat-context-menu-trigger-for.directive.mjs +1 -1
  324. package/esm2022/lib/smart-table/projects.mjs +1 -1
  325. package/esm2022/lib/smart-table/smarttable.component.mjs +3 -3
  326. package/esm2022/lib/smart-table/smarttable.model.mjs +1 -1
  327. package/esm2022/lib/smart-table/smarttable.module.mjs +1 -1
  328. package/esm2022/lib/smart-table/smarttable.service.mjs +1 -1
  329. package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +3 -3
  330. package/esm2022/lib/smart-table/tables/mobile-table/mobile-table.component.mjs +3 -3
  331. package/esm2022/lib/smart-table/tables/table.mjs +1 -1
  332. package/esm2022/lib/smart-tree/projects.mjs +1 -1
  333. package/esm2022/lib/smart-tree/smarttree-generic.service.mjs +1 -1
  334. package/esm2022/lib/smart-tree/smarttree.component.mjs +3 -3
  335. package/esm2022/lib/smart-tree/smarttree.model.mjs +1 -1
  336. package/esm2022/lib/smart-tree/smarttree.module.mjs +1 -1
  337. package/esm2022/lib/smart-tree/smarttree.node.model.mjs +1 -1
  338. package/esm2022/lib/smart-tree/smarttree.service.interface.mjs +1 -1
  339. package/esm2022/lib/smart-tree/smarttree.service.mjs +1 -1
  340. package/esm2022/lib/smart-tree/tree-api/api/tree.service.mjs +1 -1
  341. package/esm2022/lib/smart-tree/tree-api/configuration.mjs +1 -1
  342. package/esm2022/lib/smart-tree/tree-api/encoder.mjs +1 -1
  343. package/esm2022/lib/smart-tree/tree-api/param.mjs +1 -1
  344. package/esm2022/lib/smart-tree/tree-api/variables.mjs +1 -1
  345. package/esm2022/lib/smart-validation/named-validator.service.mjs +1 -1
  346. package/esm2022/lib/smart-validation/projects.mjs +1 -1
  347. package/esm2022/lib/smart-validation/smart-validation.module.mjs +1 -1
  348. package/esm2022/lib/smart-validation/smart-validation.types.mjs +1 -1
  349. package/esm2022/lib/theme/theme.service.mjs +1 -1
  350. package/esm2022/lib/view-context/api/api/api.mjs +1 -1
  351. package/esm2022/lib/view-context/api/api/view.service.mjs +1 -1
  352. package/esm2022/lib/view-context/api/api-default/binaryContentData.mjs +1 -1
  353. package/esm2022/lib/view-context/api/api-default/binaryData.mjs +1 -1
  354. package/esm2022/lib/view-context/api/api-default/invocationError.mjs +1 -1
  355. package/esm2022/lib/view-context/api/api-default/invocationRequest.mjs +1 -1
  356. package/esm2022/lib/view-context/api/api-default/invocationRun.mjs +1 -1
  357. package/esm2022/lib/view-context/api/api.module.mjs +1 -1
  358. package/esm2022/lib/view-context/api/configuration.mjs +1 -1
  359. package/esm2022/lib/view-context/api/encoder.mjs +1 -1
  360. package/esm2022/lib/view-context/api/index.mjs +1 -1
  361. package/esm2022/lib/view-context/api/model/backgroundProcessInfo.mjs +1 -1
  362. package/esm2022/lib/view-context/api/model/badgeDescriptor.mjs +1 -1
  363. package/esm2022/lib/view-context/api/model/clipboardData.mjs +1 -1
  364. package/esm2022/lib/view-context/api/model/closeResult.mjs +1 -1
  365. package/esm2022/lib/view-context/api/model/componentConstraint.mjs +1 -1
  366. package/esm2022/lib/view-context/api/model/componentModel.mjs +1 -1
  367. package/esm2022/lib/view-context/api/model/componentModelChange.mjs +1 -1
  368. package/esm2022/lib/view-context/api/model/dataChange.mjs +1 -1
  369. package/esm2022/lib/view-context/api/model/dataChangeEvent.mjs +1 -1
  370. package/esm2022/lib/view-context/api/model/dataChangeKind.mjs +1 -1
  371. package/esm2022/lib/view-context/api/model/deviceInfo.mjs +1 -1
  372. package/esm2022/lib/view-context/api/model/downloadedFile.mjs +1 -1
  373. package/esm2022/lib/view-context/api/model/iconPosition.mjs +1 -1
  374. package/esm2022/lib/view-context/api/model/imageResource.mjs +1 -1
  375. package/esm2022/lib/view-context/api/model/link.mjs +1 -1
  376. package/esm2022/lib/view-context/api/model/menuDescriptor.mjs +1 -1
  377. package/esm2022/lib/view-context/api/model/menuOpenDirection.mjs +1 -1
  378. package/esm2022/lib/view-context/api/model/menuTriggerType.mjs +1 -1
  379. package/esm2022/lib/view-context/api/model/messageData.mjs +1 -1
  380. package/esm2022/lib/view-context/api/model/messageOption.mjs +1 -1
  381. package/esm2022/lib/view-context/api/model/messageOptionType.mjs +1 -1
  382. package/esm2022/lib/view-context/api/model/messageResult.mjs +1 -1
  383. package/esm2022/lib/view-context/api/model/messageTextType.mjs +1 -1
  384. package/esm2022/lib/view-context/api/model/messageType.mjs +1 -1
  385. package/esm2022/lib/view-context/api/model/models.mjs +1 -1
  386. package/esm2022/lib/view-context/api/model/multiComboBoxElement.mjs +1 -1
  387. package/esm2022/lib/view-context/api/model/multiComboBoxModel.mjs +1 -1
  388. package/esm2022/lib/view-context/api/model/namedValidator.mjs +1 -1
  389. package/esm2022/lib/view-context/api/model/openPendingData.mjs +1 -1
  390. package/esm2022/lib/view-context/api/model/publishedViewData.mjs +1 -1
  391. package/esm2022/lib/view-context/api/model/serverRequestExecutionStat.mjs +1 -1
  392. package/esm2022/lib/view-context/api/model/serverRequestTrack.mjs +1 -1
  393. package/esm2022/lib/view-context/api/model/serverRequestType.mjs +1 -1
  394. package/esm2022/lib/view-context/api/model/shellProperty.mjs +1 -1
  395. package/esm2022/lib/view-context/api/model/smartLinkData.mjs +1 -1
  396. package/esm2022/lib/view-context/api/model/smartLinkMigrationStatus.mjs +1 -1
  397. package/esm2022/lib/view-context/api/model/statisticRecord.mjs +1 -1
  398. package/esm2022/lib/view-context/api/model/style.mjs +1 -1
  399. package/esm2022/lib/view-context/api/model/themeDefinition.mjs +1 -1
  400. package/esm2022/lib/view-context/api/model/themeDescriptor.mjs +1 -1
  401. package/esm2022/lib/view-context/api/model/themeShellDescriptor.mjs +1 -1
  402. package/esm2022/lib/view-context/api/model/uiAction.mjs +1 -1
  403. package/esm2022/lib/view-context/api/model/uiActionButtonDescriptor.mjs +1 -1
  404. package/esm2022/lib/view-context/api/model/uiActionButtonType.mjs +1 -1
  405. package/esm2022/lib/view-context/api/model/uiActionConstraint.mjs +1 -1
  406. package/esm2022/lib/view-context/api/model/uiActionDefinition.mjs +1 -1
  407. package/esm2022/lib/view-context/api/model/uiActionDefinitionEntry.mjs +1 -1
  408. package/esm2022/lib/view-context/api/model/uiActionDescriptor.mjs +1 -1
  409. package/esm2022/lib/view-context/api/model/uiActionDialogDescriptor.mjs +1 -1
  410. package/esm2022/lib/view-context/api/model/uiActionFeedbackType.mjs +1 -1
  411. package/esm2022/lib/view-context/api/model/uiActionInputType.mjs +1 -1
  412. package/esm2022/lib/view-context/api/model/uiActionRequest.mjs +1 -1
  413. package/esm2022/lib/view-context/api/model/uiActionSchedule.mjs +1 -1
  414. package/esm2022/lib/view-context/api/model/uiActionTooltip.mjs +1 -1
  415. package/esm2022/lib/view-context/api/model/uiActionUploadDescriptor.mjs +1 -1
  416. package/esm2022/lib/view-context/api/model/uploadWidgetType.mjs +1 -1
  417. package/esm2022/lib/view-context/api/model/uploadedFile.mjs +1 -1
  418. package/esm2022/lib/view-context/api/model/valueSet.mjs +1 -1
  419. package/esm2022/lib/view-context/api/model/view.mjs +1 -1
  420. package/esm2022/lib/view-context/api/model/viewApiError.mjs +1 -1
  421. package/esm2022/lib/view-context/api/model/viewConstraint.mjs +1 -1
  422. package/esm2022/lib/view-context/api/model/viewContext.mjs +1 -1
  423. package/esm2022/lib/view-context/api/model/viewContextChange.mjs +1 -1
  424. package/esm2022/lib/view-context/api/model/viewContextData.mjs +1 -1
  425. package/esm2022/lib/view-context/api/model/viewContextUpdate.mjs +1 -1
  426. package/esm2022/lib/view-context/api/model/viewData.mjs +1 -1
  427. package/esm2022/lib/view-context/api/model/viewEventHandler.mjs +1 -1
  428. package/esm2022/lib/view-context/api/model/viewPlaceholder.mjs +1 -1
  429. package/esm2022/lib/view-context/api/model/viewState.mjs +1 -1
  430. package/esm2022/lib/view-context/api/model/viewStateUpdate.mjs +1 -1
  431. package/esm2022/lib/view-context/api/model/viewType.mjs +1 -1
  432. package/esm2022/lib/view-context/api/param.mjs +1 -1
  433. package/esm2022/lib/view-context/api/variables.mjs +1 -1
  434. package/esm2022/lib/view-context/default-view-components.token.mjs +1 -1
  435. package/esm2022/lib/view-context/invalid-fields-snack-bar/invalid-fields-snack-bar.component.mjs +3 -3
  436. package/esm2022/lib/view-context/message-dialog/message-dialog.component.mjs +3 -3
  437. package/esm2022/lib/view-context/projects.mjs +1 -1
  438. package/esm2022/lib/view-context/property-definition-data.mjs +1 -1
  439. package/esm2022/lib/view-context/reuse-router-slot.token.mjs +1 -1
  440. package/esm2022/lib/view-context/smart-embedded-slot.directive.mjs +1 -1
  441. package/esm2022/lib/view-context/smart-ui-action/components/menu/click/menu.component.mjs +3 -3
  442. package/esm2022/lib/view-context/smart-ui-action/components/menu/hover/hover-menu.component.mjs +3 -3
  443. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.constants.mjs +1 -1
  444. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.service.mjs +1 -1
  445. package/esm2022/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +3 -3
  446. package/esm2022/lib/view-context/smart-ui-action/components/theme-selector/theme-selector.component.mjs +3 -3
  447. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/photo-capture-widget/photo-capture-widget.component.mjs +3 -3
  448. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/prime-file-uploader/prime-file-uploader.component.mjs +3 -3
  449. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.component.mjs +3 -3
  450. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.utils.mjs +1 -1
  451. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/voice-record-widget/voice-record-widget.component.mjs +3 -3
  452. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +3 -3
  453. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +1 -1
  454. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-dialog-button/ui-action-dialog-button.component.mjs +3 -3
  455. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +3 -3
  456. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.mjs +1 -1
  457. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +3 -3
  458. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +1 -1
  459. package/esm2022/lib/view-context/smart-ui-action/file-editor-toolbar/file-editor-toolbar.component.mjs +3 -3
  460. package/esm2022/lib/view-context/smart-ui-action/ui-action-button/button-icon-placeholder.mjs +1 -1
  461. package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +3 -3
  462. package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +3 -3
  463. package/esm2022/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +1 -1
  464. package/esm2022/lib/view-context/smart-ui-action/ui-action.model.mjs +1 -1
  465. package/esm2022/lib/view-context/smart-ui-action/ui-action.service.mjs +1 -1
  466. package/esm2022/lib/view-context/smart-view-context-dialog.service.mjs +1 -1
  467. package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +3 -3
  468. package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +1 -1
  469. package/esm2022/lib/view-context/smart-view-context.interceptor.mjs +1 -1
  470. package/esm2022/lib/view-context/smart-view-context.model.mjs +1 -1
  471. package/esm2022/lib/view-context/smart-view-context.module.mjs +1 -1
  472. package/esm2022/lib/view-context/smart-view-context.service.mjs +1 -1
  473. package/esm2022/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +1 -1
  474. package/esm2022/lib/view-context/utility/componentLibrary.mjs +1 -1
  475. package/esm2022/lib/view-context/utility/smart-object-utility.mjs +1 -1
  476. package/esm2022/lib/view-context/utility/smart-style-utility.mjs +1 -1
  477. package/esm2022/lib/view-context/value-api/api/api.mjs +1 -1
  478. package/esm2022/lib/view-context/value-api/api/value.service.mjs +1 -1
  479. package/esm2022/lib/view-context/value-api/api.module.mjs +1 -1
  480. package/esm2022/lib/view-context/value-api/configuration.mjs +1 -1
  481. package/esm2022/lib/view-context/value-api/encoder.mjs +1 -1
  482. package/esm2022/lib/view-context/value-api/index.mjs +1 -1
  483. package/esm2022/lib/view-context/value-api/model/genericValue.mjs +1 -1
  484. package/esm2022/lib/view-context/value-api/model/models.mjs +1 -1
  485. package/esm2022/lib/view-context/value-api/model/value.mjs +1 -1
  486. package/esm2022/lib/view-context/value-api/model/valueSetData.mjs +1 -1
  487. package/esm2022/lib/view-context/value-api/model/valueSetDefinition.mjs +1 -1
  488. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionData.mjs +1 -1
  489. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +1 -1
  490. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionKind.mjs +1 -1
  491. package/esm2022/lib/view-context/value-api/model/valueSetExpression.mjs +1 -1
  492. package/esm2022/lib/view-context/value-api/model/valueSetOperand.mjs +1 -1
  493. package/esm2022/lib/view-context/value-api/model/valueSetOperation.mjs +1 -1
  494. package/esm2022/lib/view-context/value-api/param.mjs +1 -1
  495. package/esm2022/lib/view-context/value-api/variables.mjs +1 -1
  496. package/esm2022/lib/view-context/view-handler-resolution.mjs +1 -1
  497. package/esm2022/lib/view-context/view-op.mjs +1 -1
  498. package/esm2022/lib/view-context/view-slot-resolution.mjs +1 -1
  499. package/esm2022/projects.mjs +1 -1
  500. package/fesm2022/smartbit4all-ng-client.mjs +151 -151
  501. package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
  502. package/package.json +1 -1
  503. package/smartbit4all-ng-client-6.0.52.tgz +0 -0
  504. package/smartbit4all-ng-client-6.0.51.tgz +0 -0
@@ -114,11 +114,11 @@ export class UiActionInputDialogComponent {
114
114
  return UiActionButtonType;
115
115
  }
116
116
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionInputDialogComponent, deps: [{ token: 'textFieldDialogService' }, { token: COMPONENT_LIBRARY }, { token: i1.UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component }); }
117
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionInputDialogComponent, selector: "smart-ui-action-input-dialog", viewQueries: [{ propertyName: "folderFormChild", first: true, predicate: ["form"], descendants: true }], ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n <smartform #form [smartForm]=\"folderForm\"></smartform>\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <ui-action-dialog-button\r\n [descriptor]=\"getCancelButton()\"\r\n (click)=\"cancel()\"\r\n ></ui-action-dialog-button>\r\n <ui-action-dialog-button\r\n [descriptor]=\"getActionButton()\"\r\n [buttonType]=\"UiActionButtonType().RAISED\"\r\n (click)=\"save()\"\r\n ></ui-action-dialog-button>\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"], dependencies: [{ kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i4.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i5.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { kind: "component", type: i6.UiActionDialogButtonComponent, selector: "ui-action-dialog-button", inputs: ["descriptor", "buttonType"], outputs: ["click"] }] }); }
117
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionInputDialogComponent, selector: "smart-ui-action-input-dialog", viewQueries: [{ propertyName: "folderFormChild", first: true, predicate: ["form"], descendants: true }], ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\n <div class=\"headerContainer\">\n <h3 class=\"color-accent-700\">\n {{ getTitle() }}\n </h3>\n @if(compLib === componentLibrary.MATERIAL) {\n <button mat-icon-button (click)=\"cancel()\">\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\n </button>\n }@else {\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" (click)=\"cancel()\" />\n }\n </div>\n <p>\n {{ getText() }}\n </p>\n <smartform #form [smartForm]=\"folderForm\"></smartform>\n <div class=\"folderNameDialogButtonsContainer\">\n <ui-action-dialog-button\n [descriptor]=\"getCancelButton()\"\n (click)=\"cancel()\"\n ></ui-action-dialog-button>\n <ui-action-dialog-button\n [descriptor]=\"getActionButton()\"\n [buttonType]=\"UiActionButtonType().RAISED\"\n (click)=\"save()\"\n ></ui-action-dialog-button>\n </div>\n</div>\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"], dependencies: [{ kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i4.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i5.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { kind: "component", type: i6.UiActionDialogButtonComponent, selector: "ui-action-dialog-button", inputs: ["descriptor", "buttonType"], outputs: ["click"] }] }); }
118
118
  }
119
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionInputDialogComponent, decorators: [{
120
120
  type: Component,
121
- args: [{ selector: 'smart-ui-action-input-dialog', template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n <smartform #form [smartForm]=\"folderForm\"></smartform>\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <ui-action-dialog-button\r\n [descriptor]=\"getCancelButton()\"\r\n (click)=\"cancel()\"\r\n ></ui-action-dialog-button>\r\n <ui-action-dialog-button\r\n [descriptor]=\"getActionButton()\"\r\n [buttonType]=\"UiActionButtonType().RAISED\"\r\n (click)=\"save()\"\r\n ></ui-action-dialog-button>\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"] }]
121
+ args: [{ selector: 'smart-ui-action-input-dialog', template: "<div class=\"folderNameDialogContainer\">\n <div class=\"headerContainer\">\n <h3 class=\"color-accent-700\">\n {{ getTitle() }}\n </h3>\n @if(compLib === componentLibrary.MATERIAL) {\n <button mat-icon-button (click)=\"cancel()\">\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\n </button>\n }@else {\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" (click)=\"cancel()\" />\n }\n </div>\n <p>\n {{ getText() }}\n </p>\n <smartform #form [smartForm]=\"folderForm\"></smartform>\n <div class=\"folderNameDialogButtonsContainer\">\n <ui-action-dialog-button\n [descriptor]=\"getCancelButton()\"\n (click)=\"cancel()\"\n ></ui-action-dialog-button>\n <ui-action-dialog-button\n [descriptor]=\"getActionButton()\"\n [buttonType]=\"UiActionButtonType().RAISED\"\n (click)=\"save()\"\n ></ui-action-dialog-button>\n </div>\n</div>\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"] }]
122
122
  }], ctorParameters: () => [{ type: i7.UiActionInputDialogService, decorators: [{
123
123
  type: Inject,
124
124
  args: ['textFieldDialogService']
@@ -129,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
129
129
  type: ViewChild,
130
130
  args: ['form']
131
131
  }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWlucHV0LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL2RpYWxvZ3MvdWktYWN0aW9uLWlucHV0LWRpYWxvZy91aS1hY3Rpb24taW5wdXQtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24taW5wdXQtZGlhbG9nL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBRUwsa0JBQWtCLEVBRWxCLGlCQUFpQixHQUNsQixNQUFNLGNBQWMsQ0FBQztBQUt0QixrRkFBa0Y7QUFDbEYsT0FBTyxFQUFhLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDckcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7QUFPeEUsTUFBTSxPQUFPLDRCQUE0QjtJQVN2QyxZQUM0QyxPQUFtQyxFQUMzQyxPQUF5QixFQUNuRCxPQUFrQztRQUZBLFlBQU8sR0FBUCxPQUFPLENBQTRCO1FBQzNDLFlBQU8sR0FB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QU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQzsrR0F2SFUsNEJBQTRCLGtCQVU3Qix3QkFBd0IsYUFDeEIsaUJBQWlCO21HQVhoQiw0QkFBNEIsNktDekJ6Qyw0K0JBNkJBOzs0RkRKYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsOEJBQThCOzswQkFjckMsTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMvQixNQUFNOzJCQUFDLGlCQUFpQjtpRkFWUixlQUFlO3NCQUFqQyxTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7XHJcbiAgVWlBY3Rpb25CdXR0b25EZXNjcmlwdG9yLFxyXG4gIFVpQWN0aW9uQnV0dG9uVHlwZSxcclxuICBVaUFjdGlvbkRlc2NyaXB0b3IsXHJcbiAgVWlBY3Rpb25JbnB1dFR5cGUsXHJcbn0gZnJvbSAnLi4vLi4vLi4vYXBpJztcclxuXHJcbmltcG9ydCB7IFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi91aS1hY3Rpb24uZGVzY3JpcHRvci5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IFVpQWN0aW9uSW5wdXREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi91aS1hY3Rpb24taW5wdXQtZGlhbG9nLnNlcnZpY2UnO1xyXG4vL2ltcG9ydCB7IFNtYXJ0Zm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NtYXJ0LWZvcm0vc21hcnRmb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybSwgU21hcnRWYWxpZGF0b3JOYW1lIH0gZnJvbSAnLi4vLi4vLi4vLi4vc21hcnQtZm9ybS9zbWFydGZvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydEZvcm1XaWRnZXRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc21hcnQtZm9ybS9hcGkvbW9kZWwvc21hcnRGb3JtV2lkZ2V0VHlwZSc7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybVdpZGdldCB9IGZyb20gJy4uLy4uLy4uLy4uL3NtYXJ0LWZvcm0vc21hcnRmb3JtLmZvcm0tbW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zbWFydC1mb3JtL2FwaS9tb2RlbC9zbWFydEZvcm1XaWRnZXREaXJlY3Rpb24nO1xyXG5pbXBvcnQgeyBDT01QT05FTlRfTElCUkFSWSwgQ29tcG9uZW50TGlicmFyeSB9IGZyb20gJy4uLy4uLy4uL3Byb2plY3RzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc21hcnQtdWktYWN0aW9uLWlucHV0LWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25JbnB1dERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgnZm9ybScpIGZvbGRlckZvcm1DaGlsZCE6IGFueTtcclxuICBjb2RlITogc3RyaW5nO1xyXG4gIGZvbGRlckZvcm0hOiBTbWFydEZvcm07XHJcbiAgY29tcG9uZW50TGlicmFyeSA9IENvbXBvbmVudExpYnJhcnk7XHJcbiAgZGlhbG9nVHlwZSE6ICdkaWFsb2cnIHwgJ2lucHV0RGlhbG9nJyB8ICdpbnB1dDJEaWFsb2cnO1xyXG5cclxuICBkZXNjcmlwdG9yPzogVWlBY3Rpb25EZXNjcmlwdG9yO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoJ3RleHRGaWVsZERpYWxvZ1NlcnZpY2UnKSBwcml2YXRlIHNlcnZpY2U6IFVpQWN0aW9uSW5wdXREaWFsb2dTZXJ2aWNlLFxyXG4gICAgQEluamVjdChDT01QT05FTlRfTElCUkFSWSkgcHVibGljIGNvbXBMaWI6IENvbXBvbmVudExpYnJhcnksXHJcbiAgICBwcml2YXRlIG1hbmFnZXI6IFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuY29kZSA9IHRoaXMuc2VydmljZS5hY3Rpb24uY29kZSE7XHJcbiAgICB0aGlzLnNldFVwKCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLmNhbmNlbCgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2V0VXAoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmRlc2NyaXB0b3IgPSBhd2FpdCB0aGlzLm1hbmFnZXIuZ2V0QWN0aW9uRGVzY3JpcHRvcih0aGlzLnNlcnZpY2UuYWN0aW9uKTtcclxuXHJcbiAgICBpZiAodGhpcy5kZXNjcmlwdG9yW3RoaXMuc2VydmljZS5pbnB1dFR5cGVOYW1lXSkge1xyXG4gICAgICB0aGlzLmRpYWxvZ1R5cGUgPSB0aGlzLnNlcnZpY2UuaW5wdXRUeXBlTmFtZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nVHlwZSA9IHRoaXMuZGVzY3JpcHRvci5pbnB1dERpYWxvZyA/ICdpbnB1dERpYWxvZycgOiAnZGlhbG9nJztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbnN0cnVjdEZvcm0oKTtcclxuICB9XHJcblxyXG4gIGdldFRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9yIVt0aGlzLmRpYWxvZ1R5cGVdIS50aXRsZTtcclxuICB9XHJcbiAgZ2V0VGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVzY3JpcHRvciFbdGhpcy5kaWFsb2dUeXBlXSEudGV4dCA/PyAnJztcclxuICB9XHJcblxyXG4gIGdldEFjdGlvbkJ1dHRvbigpOiBVaUFjdGlvbkJ1dHRvbkRlc2NyaXB0b3Ige1xyXG4gICAgcmV0dXJuIHRoaXMuZGVzY3JpcHRvciFbdGhpcy5kaWFsb2dUeXBlXSEuYWN0aW9uQnV0dG9uO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2FuY2VsQnV0dG9uKCk6IFVpQWN0aW9uQnV0dG9uRGVzY3JpcHRvciB7XHJcbiAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9yIVt0aGlzLmRpYWxvZ1R5cGVdIS5jYW5jZWxCdXR0b247XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RGb3JtKCk6IHZvaWQge1xyXG4gICAgbGV0IG1vZGVsOiBhbnkgPSB7fTtcclxuICAgIGxldCBpbnB1dE5hbWU6ICdpbnB1dCcgfCAnaW5wdXQyJztcclxuXHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlLmlucHV0VHlwZU5hbWUgPT09ICdpbnB1dERpYWxvZycpIHtcclxuICAgICAgaW5wdXROYW1lID0gJ2lucHV0JztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlucHV0TmFtZSA9ICdpbnB1dDInO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnNlcnZpY2Uubm9kZU5hbWUpIHtcclxuICAgICAgbW9kZWxbaW5wdXROYW1lXSA9IHRoaXMuc2VydmljZS5ub2RlTmFtZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG1vZGVsW2lucHV0TmFtZV0gPSAnJztcclxuICAgIH1cclxuICAgIGxldCB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlO1xyXG4gICAgbGV0IGlucHV0VHlwZTogJ2lucHV0VHlwZScgfCAnaW5wdXQyVHlwZScgPSBgJHtpbnB1dE5hbWV9VHlwZWA7XHJcblxyXG4gICAgaWYgKHRoaXMuc2VydmljZS5hY3Rpb25baW5wdXRUeXBlXSA9PT0gVWlBY3Rpb25JbnB1dFR5cGUuVEVYVEZJRUxEKSB7XHJcbiAgICAgIHR5cGUgPSBTbWFydEZvcm1XaWRnZXRUeXBlLlRFWFRfRklFTEQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0eXBlID0gU21hcnRGb3JtV2lkZ2V0VHlwZS5URVhUX0JPWDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgd2lkZ2V0czogU21hcnRGb3JtV2lkZ2V0PGFueT5bXSA9IFtcclxuICAgICAge1xyXG4gICAgICAgIGtleTogaW5wdXROYW1lLFxyXG4gICAgICAgIGxhYmVsOiAnJyxcclxuICAgICAgICB0eXBlLFxyXG4gICAgICAgIHZhbHVlOiAnJyxcclxuICAgICAgICB2YWxpZGF0b3JzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZhbGlkYXRvcjogVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgbmFtZTogU21hcnRWYWxpZGF0b3JOYW1lLnJlcXVpcmVkLFxyXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2U6ICdFeiBhIG1lesWRIGvDtnRlbGV6xZEnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLmRlc2NyaXB0b3IhW3RoaXMuZGlhbG9nVHlwZV0hLnBsYWNlaG9sZGVyID8/ICcnLFxyXG4gICAgICAgIHNob3dMYWJlbDogdHJ1ZSxcclxuICAgICAgfSxcclxuICAgIF07XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB3aWRnZXRzWzBdLnR5cGUgPT09IFNtYXJ0Rm9ybVdpZGdldFR5cGUuVEVYVF9GSUVMRCAmJlxyXG4gICAgICB0aGlzLmRlc2NyaXB0b3IhW3RoaXMuZGlhbG9nVHlwZV0/Lm1hc2tcclxuICAgICkge1xyXG4gICAgICB3aWRnZXRzWzBdLm1hc2sgPSB0aGlzLmRlc2NyaXB0b3IhW3RoaXMuZGlhbG9nVHlwZV0/Lm1hc2s7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5mb2xkZXJGb3JtID0ge1xyXG4gICAgICBkaXJlY3Rpb246IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbi5DT0wsXHJcbiAgICAgIGNvbXBvbmVudE1vZGVsOiB7IGRhdGE6IG1vZGVsIH0sXHJcbiAgICAgIHdpZGdldHMsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpOiB2b2lkIHtcclxuICAgIGxldCBmb3JtID0gdGhpcy5mb2xkZXJGb3JtQ2hpbGQuc3VibWl0Rm9ybSgpO1xyXG4gICAgaWYgKChmb3JtIGFzIFNtYXJ0Rm9ybSkuaW52YWxpZEZpZWxkcykge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBmb3JtIGlzIGludmFsaWQhJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlcnZpY2Uub25TYXZlKChmb3JtIGFzIFNtYXJ0Rm9ybSkuY29tcG9uZW50TW9kZWw/LmRhdGEpO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmNhbmNlbCgpO1xyXG4gIH1cclxuXHJcbiAgVWlBY3Rpb25CdXR0b25UeXBlKCk6IHR5cGVvZiBVaUFjdGlvbkJ1dHRvblR5cGUge1xyXG4gICAgcmV0dXJuIFVpQWN0aW9uQnV0dG9uVHlwZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZvbGRlck5hbWVEaWFsb2dDb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwiaGVhZGVyQ29udGFpbmVyXCI+XHJcbiAgICA8aDMgY2xhc3M9XCJjb2xvci1hY2NlbnQtNzAwXCI+XHJcbiAgICAgIHt7IGdldFRpdGxlKCkgfX1cclxuICAgIDwvaDM+XHJcbiAgICBAaWYoY29tcExpYiA9PT0gY29tcG9uZW50TGlicmFyeS5NQVRFUklBTCkge1xyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNhbmNlbCgpXCI+XHJcbiAgICAgIDxzbWFydC1pY29uIFtjb2xvcl09XCIncHJpbWFyeSdcIiBbaWNvbl09XCInWCdcIj48L3NtYXJ0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIH1AZWxzZSB7XHJcbiAgICA8cC1idXR0b24gaWNvbj1cInBpIHBpLXRpbWVzXCIgW3JvdW5kZWRdPVwidHJ1ZVwiIFt0ZXh0XT1cInRydWVcIiAoY2xpY2spPVwiY2FuY2VsKClcIiAvPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIDxwPlxyXG4gICAge3sgZ2V0VGV4dCgpIH19XHJcbiAgPC9wPlxyXG4gIDxzbWFydGZvcm0gI2Zvcm0gW3NtYXJ0Rm9ybV09XCJmb2xkZXJGb3JtXCI+PC9zbWFydGZvcm0+XHJcbiAgPGRpdiBjbGFzcz1cImZvbGRlck5hbWVEaWFsb2dCdXR0b25zQ29udGFpbmVyXCI+XHJcbiAgICA8dWktYWN0aW9uLWRpYWxvZy1idXR0b25cclxuICAgICAgW2Rlc2NyaXB0b3JdPVwiZ2V0Q2FuY2VsQnV0dG9uKClcIlxyXG4gICAgICAoY2xpY2spPVwiY2FuY2VsKClcIlxyXG4gICAgPjwvdWktYWN0aW9uLWRpYWxvZy1idXR0b24+XHJcbiAgICA8dWktYWN0aW9uLWRpYWxvZy1idXR0b25cclxuICAgICAgW2Rlc2NyaXB0b3JdPVwiZ2V0QWN0aW9uQnV0dG9uKClcIlxyXG4gICAgICBbYnV0dG9uVHlwZV09XCJVaUFjdGlvbkJ1dHRvblR5cGUoKS5SQUlTRURcIlxyXG4gICAgICAoY2xpY2spPVwic2F2ZSgpXCJcclxuICAgID48L3VpLWFjdGlvbi1kaWFsb2ctYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWlucHV0LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL2RpYWxvZ3MvdWktYWN0aW9uLWlucHV0LWRpYWxvZy91aS1hY3Rpb24taW5wdXQtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24taW5wdXQtZGlhbG9nL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBRUwsa0JBQWtCLEVBRWxCLGlCQUFpQixHQUNsQixNQUFNLGNBQWMsQ0FBQztBQUt0QixrRkFBa0Y7QUFDbEYsT0FBTyxFQUFhLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDckcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7QUFPeEUsTUFBTSxPQUFPLDRCQUE0QjtJQVN2QyxZQUM0QyxPQUFtQyxFQUMzQyxPQUF5QixFQUNuRCxPQUFrQztRQUZBLFlBQU8sR0FBUCxPQUFPLENBQTRCO1FBQzNDLFlBQU8sR0FB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QU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQzsrR0F2SFUsNEJBQTRCLGtCQVU3Qix3QkFBd0IsYUFDeEIsaUJBQWlCO21HQVhoQiw0QkFBNEIsNktDekJ6QyxrN0JBNkJBOzs0RkRKYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsOEJBQThCOzswQkFjckMsTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMvQixNQUFNOzJCQUFDLGlCQUFpQjtpRkFWUixlQUFlO3NCQUFqQyxTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7XG4gIFVpQWN0aW9uQnV0dG9uRGVzY3JpcHRvcixcbiAgVWlBY3Rpb25CdXR0b25UeXBlLFxuICBVaUFjdGlvbkRlc2NyaXB0b3IsXG4gIFVpQWN0aW9uSW5wdXRUeXBlLFxufSBmcm9tICcuLi8uLi8uLi9hcGknO1xuXG5pbXBvcnQgeyBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZSc7XG5cbmltcG9ydCB7IFVpQWN0aW9uSW5wdXREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi91aS1hY3Rpb24taW5wdXQtZGlhbG9nLnNlcnZpY2UnO1xuLy9pbXBvcnQgeyBTbWFydGZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU21hcnRGb3JtLCBTbWFydFZhbGlkYXRvck5hbWUgfSBmcm9tICcuLi8uLi8uLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5tb2RlbCc7XG5pbXBvcnQgeyBTbWFydEZvcm1XaWRnZXRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc21hcnQtZm9ybS9hcGkvbW9kZWwvc21hcnRGb3JtV2lkZ2V0VHlwZSc7XG5pbXBvcnQgeyBTbWFydEZvcm1XaWRnZXQgfSBmcm9tICcuLi8uLi8uLi8uLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5mb3JtLW1vZGVsJztcbmltcG9ydCB7IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3NtYXJ0LWZvcm0vYXBpL21vZGVsL3NtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbic7XG5pbXBvcnQgeyBDT01QT05FTlRfTElCUkFSWSwgQ29tcG9uZW50TGlicmFyeSB9IGZyb20gJy4uLy4uLy4uL3Byb2plY3RzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtdWktYWN0aW9uLWlucHV0LWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi91aS1hY3Rpb24taW5wdXQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdWktYWN0aW9uLWlucHV0LWRpYWxvZy5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uSW5wdXREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdmb3JtJykgZm9sZGVyRm9ybUNoaWxkITogYW55O1xuICBjb2RlITogc3RyaW5nO1xuICBmb2xkZXJGb3JtITogU21hcnRGb3JtO1xuICBjb21wb25lbnRMaWJyYXJ5ID0gQ29tcG9uZW50TGlicmFyeTtcbiAgZGlhbG9nVHlwZSE6ICdkaWFsb2cnIHwgJ2lucHV0RGlhbG9nJyB8ICdpbnB1dDJEaWFsb2cnO1xuXG4gIGRlc2NyaXB0b3I/OiBVaUFjdGlvbkRlc2NyaXB0b3I7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgndGV4dEZpZWxkRGlhbG9nU2VydmljZScpIHByaXZhdGUgc2VydmljZTogVWlBY3Rpb25JbnB1dERpYWxvZ1NlcnZpY2UsXG4gICAgQEluamVjdChDT01QT05FTlRfTElCUkFSWSkgcHVibGljIGNvbXBMaWI6IENvbXBvbmVudExpYnJhcnksXG4gICAgcHJpdmF0ZSBtYW5hZ2VyOiBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuY29kZSA9IHRoaXMuc2VydmljZS5hY3Rpb24uY29kZSE7XG4gICAgdGhpcy5zZXRVcCgpO1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2VydmljZS5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuY2FuY2VsKCk7XG4gIH1cblxuICBhc3luYyBzZXRVcCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmRlc2NyaXB0b3IgPSBhd2FpdCB0aGlzLm1hbmFnZXIuZ2V0QWN0aW9uRGVzY3JpcHRvcih0aGlzLnNlcnZpY2UuYWN0aW9uKTtcblxuICAgIGlmICh0aGlzLmRlc2NyaXB0b3JbdGhpcy5zZXJ2aWNlLmlucHV0VHlwZU5hbWVdKSB7XG4gICAgICB0aGlzLmRpYWxvZ1R5cGUgPSB0aGlzLnNlcnZpY2UuaW5wdXRUeXBlTmFtZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaWFsb2dUeXBlID0gdGhpcy5kZXNjcmlwdG9yLmlucHV0RGlhbG9nID8gJ2lucHV0RGlhbG9nJyA6ICdkaWFsb2cnO1xuICAgIH1cblxuICAgIHRoaXMuY29uc3RydWN0Rm9ybSgpO1xuICB9XG5cbiAgZ2V0VGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9yIVt0aGlzLmRpYWxvZ1R5cGVdIS50aXRsZTtcbiAgfVxuICBnZXRUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGVzY3JpcHRvciFbdGhpcy5kaWFsb2dUeXBlXSEudGV4dCA/PyAnJztcbiAgfVxuXG4gIGdldEFjdGlvbkJ1dHRvbigpOiBVaUFjdGlvbkJ1dHRvbkRlc2NyaXB0b3Ige1xuICAgIHJldHVybiB0aGlzLmRlc2NyaXB0b3IhW3RoaXMuZGlhbG9nVHlwZV0hLmFjdGlvbkJ1dHRvbjtcbiAgfVxuXG4gIGdldENhbmNlbEJ1dHRvbigpOiBVaUFjdGlvbkJ1dHRvbkRlc2NyaXB0b3Ige1xuICAgIHJldHVybiB0aGlzLmRlc2NyaXB0b3IhW3RoaXMuZGlhbG9nVHlwZV0hLmNhbmNlbEJ1dHRvbjtcbiAgfVxuXG4gIGNvbnN0cnVjdEZvcm0oKTogdm9pZCB7XG4gICAgbGV0IG1vZGVsOiBhbnkgPSB7fTtcbiAgICBsZXQgaW5wdXROYW1lOiAnaW5wdXQnIHwgJ2lucHV0Mic7XG5cbiAgICBpZiAodGhpcy5zZXJ2aWNlLmlucHV0VHlwZU5hbWUgPT09ICdpbnB1dERpYWxvZycpIHtcbiAgICAgIGlucHV0TmFtZSA9ICdpbnB1dCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlucHV0TmFtZSA9ICdpbnB1dDInO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNlcnZpY2Uubm9kZU5hbWUpIHtcbiAgICAgIG1vZGVsW2lucHV0TmFtZV0gPSB0aGlzLnNlcnZpY2Uubm9kZU5hbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1vZGVsW2lucHV0TmFtZV0gPSAnJztcbiAgICB9XG4gICAgbGV0IHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGU7XG4gICAgbGV0IGlucHV0VHlwZTogJ2lucHV0VHlwZScgfCAnaW5wdXQyVHlwZScgPSBgJHtpbnB1dE5hbWV9VHlwZWA7XG5cbiAgICBpZiAodGhpcy5zZXJ2aWNlLmFjdGlvbltpbnB1dFR5cGVdID09PSBVaUFjdGlvbklucHV0VHlwZS5URVhURklFTEQpIHtcbiAgICAgIHR5cGUgPSBTbWFydEZvcm1XaWRnZXRUeXBlLlRFWFRfRklFTEQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHR5cGUgPSBTbWFydEZvcm1XaWRnZXRUeXBlLlRFWFRfQk9YO1xuICAgIH1cblxuICAgIGxldCB3aWRnZXRzOiBTbWFydEZvcm1XaWRnZXQ8YW55PltdID0gW1xuICAgICAge1xuICAgICAgICBrZXk6IGlucHV0TmFtZSxcbiAgICAgICAgbGFiZWw6ICcnLFxuICAgICAgICB0eXBlLFxuICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgIHZhbGlkYXRvcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgICBuYW1lOiBTbWFydFZhbGlkYXRvck5hbWUucmVxdWlyZWQsXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2U6ICdFeiBhIG1lesWRIGvDtnRlbGV6xZEnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLmRlc2NyaXB0b3IhW3RoaXMuZGlhbG9nVHlwZV0hLnBsYWNlaG9sZGVyID8/ICcnLFxuICAgICAgICBzaG93TGFiZWw6IHRydWUsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBpZiAoXG4gICAgICB3aWRnZXRzWzBdLnR5cGUgPT09IFNtYXJ0Rm9ybVdpZGdldFR5cGUuVEVYVF9GSUVMRCAmJlxuICAgICAgdGhpcy5kZXNjcmlwdG9yIVt0aGlzLmRpYWxvZ1R5cGVdPy5tYXNrXG4gICAgKSB7XG4gICAgICB3aWRnZXRzWzBdLm1hc2sgPSB0aGlzLmRlc2NyaXB0b3IhW3RoaXMuZGlhbG9nVHlwZV0/Lm1hc2s7XG4gICAgfVxuXG4gICAgdGhpcy5mb2xkZXJGb3JtID0ge1xuICAgICAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uQ09MLFxuICAgICAgY29tcG9uZW50TW9kZWw6IHsgZGF0YTogbW9kZWwgfSxcbiAgICAgIHdpZGdldHMsXG4gICAgfTtcbiAgfVxuXG4gIHNhdmUoKTogdm9pZCB7XG4gICAgbGV0IGZvcm0gPSB0aGlzLmZvbGRlckZvcm1DaGlsZC5zdWJtaXRGb3JtKCk7XG4gICAgaWYgKChmb3JtIGFzIFNtYXJ0Rm9ybSkuaW52YWxpZEZpZWxkcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgZm9ybSBpcyBpbnZhbGlkIScpO1xuICAgIH1cbiAgICB0aGlzLnNlcnZpY2Uub25TYXZlKChmb3JtIGFzIFNtYXJ0Rm9ybSkuY29tcG9uZW50TW9kZWw/LmRhdGEpO1xuICB9XG5cbiAgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuc2VydmljZS5jYW5jZWwoKTtcbiAgfVxuXG4gIFVpQWN0aW9uQnV0dG9uVHlwZSgpOiB0eXBlb2YgVWlBY3Rpb25CdXR0b25UeXBlIHtcbiAgICByZXR1cm4gVWlBY3Rpb25CdXR0b25UeXBlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9sZGVyTmFtZURpYWxvZ0NvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwiaGVhZGVyQ29udGFpbmVyXCI+XG4gICAgPGgzIGNsYXNzPVwiY29sb3ItYWNjZW50LTcwMFwiPlxuICAgICAge3sgZ2V0VGl0bGUoKSB9fVxuICAgIDwvaDM+XG4gICAgQGlmKGNvbXBMaWIgPT09IGNvbXBvbmVudExpYnJhcnkuTUFURVJJQUwpIHtcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsKClcIj5cbiAgICAgIDxzbWFydC1pY29uIFtjb2xvcl09XCIncHJpbWFyeSdcIiBbaWNvbl09XCInWCdcIj48L3NtYXJ0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgfUBlbHNlIHtcbiAgICA8cC1idXR0b24gaWNvbj1cInBpIHBpLXRpbWVzXCIgW3JvdW5kZWRdPVwidHJ1ZVwiIFt0ZXh0XT1cInRydWVcIiAoY2xpY2spPVwiY2FuY2VsKClcIiAvPlxuICAgIH1cbiAgPC9kaXY+XG4gIDxwPlxuICAgIHt7IGdldFRleHQoKSB9fVxuICA8L3A+XG4gIDxzbWFydGZvcm0gI2Zvcm0gW3NtYXJ0Rm9ybV09XCJmb2xkZXJGb3JtXCI+PC9zbWFydGZvcm0+XG4gIDxkaXYgY2xhc3M9XCJmb2xkZXJOYW1lRGlhbG9nQnV0dG9uc0NvbnRhaW5lclwiPlxuICAgIDx1aS1hY3Rpb24tZGlhbG9nLWJ1dHRvblxuICAgICAgW2Rlc2NyaXB0b3JdPVwiZ2V0Q2FuY2VsQnV0dG9uKClcIlxuICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICA+PC91aS1hY3Rpb24tZGlhbG9nLWJ1dHRvbj5cbiAgICA8dWktYWN0aW9uLWRpYWxvZy1idXR0b25cbiAgICAgIFtkZXNjcmlwdG9yXT1cImdldEFjdGlvbkJ1dHRvbigpXCJcbiAgICAgIFtidXR0b25UeXBlXT1cIlVpQWN0aW9uQnV0dG9uVHlwZSgpLlJBSVNFRFwiXG4gICAgICAoY2xpY2spPVwic2F2ZSgpXCJcbiAgICA+PC91aS1hY3Rpb24tZGlhbG9nLWJ1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
55
55
  type: Inject,
56
56
  args: [COMPONENT_LIBRARY]
57
57
  }] }, { type: i3.UiActionDescriptorService }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWlucHV0LWRpYWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cvdWktYWN0aW9uLWlucHV0LWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBR2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBK0MsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7QUFLbkcsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGtCQUFrQjtJQVVoRSxZQUNFLE1BQWlCLEVBQ2pCLGFBQTRCLEVBQzVCLE1BQWdCLEVBQ1csT0FBeUIsRUFDNUMsT0FBa0M7UUFFMUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRnRDLFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBZDVDLGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQU16QyxhQUFRLEdBQThCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQVd2RSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsTUFBZ0IsRUFBRSxRQUFpQjtRQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVRLFVBQVU7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsTUFBTSxVQUFVLEdBQW9CO1lBQ2xDLE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsRUFBRTthQUNWO1lBQ0QsSUFBSSxFQUFFLEVBQUU7WUFDUixlQUFlLEVBQUUsNEJBQTRCO1NBQzlDLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQVc7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuRCxDQUFDOytHQWxEVSwwQkFBMEIsZ0dBYzNCLGlCQUFpQjttSEFkaEIsMEJBQTBCLGNBRnpCLE1BQU07OzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQWVJLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTbWFydFN1YmplY3QgfSBmcm9tICcuLi8uLi8uLi8uLi9zbWFydC1zdWJqZWN0L3Byb2plY3RzJztcclxuXHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVWlBY3Rpb24sIFVpQWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2FwaSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uSW5wdXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRkaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc21hcnQtZGlhbG9nL3NtYXJ0ZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydERpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi9zbWFydC1kaWFsb2cvc21hcnRkaWFsb2cubW9kZWwnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnksIFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm9qZWN0cyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25JbnB1dERpYWxvZ1NlcnZpY2UgZXh0ZW5kcyBTbWFydGRpYWxvZ1NlcnZpY2Uge1xyXG4gIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGlucHV0VHlwZU5hbWUhOiAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZyc7XHJcbiAgYWN0aW9uITogVWlBY3Rpb247XHJcbiAgbm9kZU5hbWU/OiBzdHJpbmc7XHJcblxyXG4gIG9uQWN0aW9uOiBTdWJqZWN0PEVkaXRGb2xkZXJBY3Rpb24+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XHJcbiAgcGFyYW1zPzogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgIGluamVjdDogSW5qZWN0b3IsXHJcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBjb21wTGliOiBDb21wb25lbnRMaWJyYXJ5LFxyXG4gICAgcHJpdmF0ZSBtYW5hZ2VyOiBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihkaWFsb2csIGRpYWxvZ1NlcnZpY2UsIGluamVjdCwgY29tcExpYik7XHJcbiAgfVxyXG5cclxuICBzZXREYXRhQW5kT3BlbkRpYWxvZyhhY3Rpb246IFVpQWN0aW9uLCBub2RlTmFtZT86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3Rpb24gPSBhY3Rpb247XHJcbiAgICB0aGlzLm5vZGVOYW1lID0gbm9kZU5hbWU7XHJcbiAgICB0aGlzLm9wZW5EaWFsb2coKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG9wZW5EaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhcmFtcyA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMub25BY3Rpb24gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuICAgIGNvbnN0IGRpYWxvZ0RhdGE6IFNtYXJ0RGlhbG9nRGF0YSA9IHtcclxuICAgICAgY29udGVudDoge1xyXG4gICAgICAgIHRpdGxlOiAnJyxcclxuICAgICAgfSxcclxuICAgICAgc2l6ZToge30sXHJcbiAgICAgIGN1c3RvbUNvbXBvbmVudDogVWlBY3Rpb25JbnB1dERpYWxvZ0NvbXBvbmVudCxcclxuICAgIH07XHJcbiAgICB0aGlzLmNyZWF0ZURpYWxvZyhkaWFsb2dEYXRhLCBVaUFjdGlvbklucHV0RGlhbG9nQ29tcG9uZW50KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG9uU2F2ZShwYXJhbXM6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XHJcbiAgICB0aGlzLm9uQWN0aW9uLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLmNsb3NlRGlhbG9nKCk7XHJcbiAgICB0aGlzLm9uQWN0aW9uID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQWN0aW9uLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLmNsb3NlRGlhbG9nKCk7XHJcbiAgICB0aGlzLm9uQWN0aW9uID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRGb2xkZXJBY3Rpb24ge1xyXG4gIG5vZGVJZDogc3RyaW5nO1xyXG4gIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0O1xyXG59XHJcbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWlucHV0LWRpYWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cvdWktYWN0aW9uLWlucHV0LWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBR2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBK0MsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7QUFLbkcsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGtCQUFrQjtJQVVoRSxZQUNFLE1BQWlCLEVBQ2pCLGFBQTRCLEVBQzVCLE1BQWdCLEVBQ1csT0FBeUIsRUFDNUMsT0FBa0M7UUFFMUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRnRDLFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBZDVDLGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQU16QyxhQUFRLEdBQThCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQVd2RSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsTUFBZ0IsRUFBRSxRQUFpQjtRQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVRLFVBQVU7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsTUFBTSxVQUFVLEdBQW9CO1lBQ2xDLE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsRUFBRTthQUNWO1lBQ0QsSUFBSSxFQUFFLEVBQUU7WUFDUixlQUFlLEVBQUUsNEJBQTRCO1NBQzlDLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQVc7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuRCxDQUFDOytHQWxEVSwwQkFBMEIsZ0dBYzNCLGlCQUFpQjttSEFkaEIsMEJBQTBCLGNBRnpCLE1BQU07OzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQWVJLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFNtYXJ0U3ViamVjdCB9IGZyb20gJy4uLy4uLy4uLy4uL3NtYXJ0LXN1YmplY3QvcHJvamVjdHMnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVaUFjdGlvbiwgVWlBY3Rpb25SZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vYXBpJztcbmltcG9ydCB7IFVpQWN0aW9uSW5wdXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFNtYXJ0ZGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NtYXJ0LWRpYWxvZy9zbWFydGRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFNtYXJ0RGlhbG9nRGF0YSB9IGZyb20gJy4uLy4uLy4uLy4uL3NtYXJ0LWRpYWxvZy9zbWFydGRpYWxvZy5tb2RlbCc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5LCBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvamVjdHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25JbnB1dERpYWxvZ1NlcnZpY2UgZXh0ZW5kcyBTbWFydGRpYWxvZ1NlcnZpY2Uge1xuICBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIGlucHV0VHlwZU5hbWUhOiAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZyc7XG4gIGFjdGlvbiE6IFVpQWN0aW9uO1xuICBub2RlTmFtZT86IHN0cmluZztcblxuICBvbkFjdGlvbjogU3ViamVjdDxFZGl0Rm9sZGVyQWN0aW9uPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuICBwYXJhbXM/OiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgICBpbmplY3Q6IEluamVjdG9yLFxuICAgIEBJbmplY3QoQ09NUE9ORU5UX0xJQlJBUlkpIGNvbXBMaWI6IENvbXBvbmVudExpYnJhcnksXG4gICAgcHJpdmF0ZSBtYW5hZ2VyOiBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGRpYWxvZywgZGlhbG9nU2VydmljZSwgaW5qZWN0LCBjb21wTGliKTtcbiAgfVxuXG4gIHNldERhdGFBbmRPcGVuRGlhbG9nKGFjdGlvbjogVWlBY3Rpb24sIG5vZGVOYW1lPzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5hY3Rpb24gPSBhY3Rpb247XG4gICAgdGhpcy5ub2RlTmFtZSA9IG5vZGVOYW1lO1xuICAgIHRoaXMub3BlbkRpYWxvZygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb3BlbkRpYWxvZygpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmFtcyA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLm9uQWN0aW9uID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG4gICAgY29uc3QgZGlhbG9nRGF0YTogU21hcnREaWFsb2dEYXRhID0ge1xuICAgICAgY29udGVudDoge1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICB9LFxuICAgICAgc2l6ZToge30sXG4gICAgICBjdXN0b21Db21wb25lbnQ6IFVpQWN0aW9uSW5wdXREaWFsb2dDb21wb25lbnQsXG4gICAgfTtcbiAgICB0aGlzLmNyZWF0ZURpYWxvZyhkaWFsb2dEYXRhLCBVaUFjdGlvbklucHV0RGlhbG9nQ29tcG9uZW50KTtcbiAgfVxuXG4gIGFzeW5jIG9uU2F2ZShwYXJhbXM6IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuICAgIHRoaXMub25BY3Rpb24uY29tcGxldGUoKTtcbiAgICB0aGlzLmNsb3NlRGlhbG9nKCk7XG4gICAgdGhpcy5vbkFjdGlvbiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuICB9XG5cbiAgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMub25BY3Rpb24uY29tcGxldGUoKTtcbiAgICB0aGlzLmNsb3NlRGlhbG9nKCk7XG4gICAgdGhpcy5vbkFjdGlvbiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdEZvbGRlckFjdGlvbiB7XG4gIG5vZGVJZDogc3RyaW5nO1xuICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdDtcbn1cbiJdfQ==
@@ -22,14 +22,14 @@ export class FileEditorToolbarComponent extends UiActionToolbarComponent {
22
22
  await super.fireAction(uiActionModel);
23
23
  }
24
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FileEditorToolbarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: FileEditorToolbarComponent, selector: "file-editor-toolbar", inputs: { dataUri: "dataUri" }, outputs: { actionEvent: "actionEvent" }, usesInheritance: true, ngImport: i0, template: "@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonLeft\"\r\n (actionClick)=\"scrollLeft()\"\r\n (mousedown)=\"scrollStart('left')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('left')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<div\r\n #container\r\n class=\"uiActionButtonsContainer\"\r\n (click)=\"$event.stopPropagation()\"\r\n [ngClass]=\"{\r\n scrollableContent: scrollOnWrap,\r\n verticalToolbar: isVertical,\r\n horizontalToolbar: isHorizontal,\r\n alignedStart: isAlignedStart,\r\n alignedEnd: isAlignedEnd,\r\n }\"\r\n>\r\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\r\n @if (uiActionModel.uiAction.code === 'themeSelector') {\r\n <theme-selector [model]=\"uiActionModel\"></theme-selector>\r\n } @else if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\r\n <ng-container\r\n *ngTemplateOutlet=\"menuTypes; context: { uiActionModel: uiActionModel }\"\r\n ></ng-container>\r\n } @else {\r\n <ui-action-button\r\n (mouseenter)=\"onHover()\"\r\n [descriptor]=\"uiActionModel.descriptor!\"\r\n [code]=\"uiActionModel.uiAction.code\"\r\n [identifier]=\"uiActionModel.uiAction.identifier\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n [addedCssClass]=\"uiActionModel.cssClass\"\r\n [viewActivated]=\"uiActionModel.uiAction.viewActivated\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n </ui-action-button>\r\n }\r\n </ng-container>\r\n</div>\r\n\r\n@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonRight\"\r\n (actionClick)=\"scrollRight()\"\r\n (mousedown)=\"scrollStart('right')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('right')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<ng-template #menuTypes let-uiActionModel=\"uiActionModel\">\r\n @switch (uiActionModel?.uiAction?.descriptor?.menu?.triggerType) {\r\n @case (triggerType.HOVER) {\r\n <ui-hover-menu\r\n #menu\r\n [toolbarId]=\"id\"\r\n (mouseenter)=\"onHover()\"\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-hover-menu>\r\n }\r\n @case (triggerType.CLICK) {\r\n <ui-tiered-menu\r\n #menu\r\n (mouseenter)=\"onHover()\"\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n }\r\n @default {\r\n <ui-tiered-menu\r\n #menu\r\n (mouseenter)=\"onHover()\"\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n }\r\n }\r\n</ng-template>\r\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}:host:has(.verticalToolbar){height:100%}:host:has(.horizontalToolbar.alignedEnd){width:100%}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column;height:100%}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%}.alignedStart{justify-content:flex-start}.alignedEnd{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "identifier", "viewActivated", "addedCssClass", "addBasicClasses", "iconPlaceholder"], outputs: ["actionClick", "actionDoubleClick"] }, { kind: "component", type: i3.ClickMenuComponent, selector: "ui-tiered-menu", inputs: ["triggerAction", "isSubmenu", "menuOpenDirection"], outputs: ["actionClick", "submenuOpened"] }, { kind: "component", type: i4.HoverMenuComponent, selector: "ui-hover-menu", inputs: ["triggerAction", "isSubmenu", "menuOpenDirection", "toolbarId"], outputs: ["actionClick", "submenuOpened"] }, { kind: "component", type: i5.ThemeSelectorComponent, selector: "theme-selector", inputs: ["model"] }] }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: FileEditorToolbarComponent, selector: "file-editor-toolbar", inputs: { dataUri: "dataUri" }, outputs: { actionEvent: "actionEvent" }, usesInheritance: true, ngImport: i0, template: "@if (isScrollable && scrollOnWrap) {\n <ui-action-button\n [disabled]=\"!isScrollable\"\n [descriptor]=\"buttonLeft\"\n (actionClick)=\"scrollLeft()\"\n (mousedown)=\"scrollStart('left')\"\n (mouseup)=\"stopScroll()\"\n (mouseleave)=\"stopScroll()\"\n (touchstart)=\"scrollStart('left')\"\n (touchend)=\"stopScroll()\"\n />\n}\n\n<div\n #container\n class=\"uiActionButtonsContainer\"\n (click)=\"$event.stopPropagation()\"\n [ngClass]=\"{\n scrollableContent: scrollOnWrap,\n verticalToolbar: isVertical,\n horizontalToolbar: isHorizontal,\n alignedStart: isAlignedStart,\n alignedEnd: isAlignedEnd,\n }\"\n>\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\n @if (uiActionModel.uiAction.code === 'themeSelector') {\n <theme-selector [model]=\"uiActionModel\"></theme-selector>\n } @else if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\n <ng-container\n *ngTemplateOutlet=\"menuTypes; context: { uiActionModel: uiActionModel }\"\n ></ng-container>\n } @else {\n <ui-action-button\n (mouseenter)=\"onHover()\"\n [descriptor]=\"uiActionModel.descriptor!\"\n [code]=\"uiActionModel.uiAction.code\"\n [identifier]=\"uiActionModel.uiAction.identifier\"\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\n [addedCssClass]=\"uiActionModel.cssClass\"\n [viewActivated]=\"uiActionModel.uiAction.viewActivated\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\n >\n </ui-action-button>\n }\n </ng-container>\n</div>\n\n@if (isScrollable && scrollOnWrap) {\n <ui-action-button\n [disabled]=\"!isScrollable\"\n [descriptor]=\"buttonRight\"\n (actionClick)=\"scrollRight()\"\n (mousedown)=\"scrollStart('right')\"\n (mouseup)=\"stopScroll()\"\n (mouseleave)=\"stopScroll()\"\n (touchstart)=\"scrollStart('right')\"\n (touchend)=\"stopScroll()\"\n />\n}\n\n<ng-template #menuTypes let-uiActionModel=\"uiActionModel\">\n @switch (uiActionModel?.uiAction?.descriptor?.menu?.triggerType) {\n @case (triggerType.HOVER) {\n <ui-hover-menu\n #menu\n [toolbarId]=\"id\"\n (mouseenter)=\"onHover()\"\n [triggerAction]=\"uiActionModel.uiAction\"\n [subActions]=\"uiActionModel.uiAction.subActions!\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n ></ui-hover-menu>\n }\n @case (triggerType.CLICK) {\n <ui-tiered-menu\n #menu\n (mouseenter)=\"onHover()\"\n [triggerAction]=\"uiActionModel.uiAction\"\n [subActions]=\"uiActionModel.uiAction.subActions!\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n ></ui-tiered-menu>\n }\n @default {\n <ui-tiered-menu\n #menu\n (mouseenter)=\"onHover()\"\n [triggerAction]=\"uiActionModel.uiAction\"\n [subActions]=\"uiActionModel.uiAction.subActions!\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n ></ui-tiered-menu>\n }\n }\n</ng-template>\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}:host:has(.verticalToolbar){height:100%}:host:has(.horizontalToolbar.alignedEnd){width:100%}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column;height:100%}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%}.alignedStart{justify-content:flex-start}.alignedEnd{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "identifier", "viewActivated", "addedCssClass", "addBasicClasses", "iconPlaceholder"], outputs: ["actionClick", "actionDoubleClick"] }, { kind: "component", type: i3.ClickMenuComponent, selector: "ui-tiered-menu", inputs: ["triggerAction", "isSubmenu", "menuOpenDirection"], outputs: ["actionClick", "submenuOpened"] }, { kind: "component", type: i4.HoverMenuComponent, selector: "ui-hover-menu", inputs: ["triggerAction", "isSubmenu", "menuOpenDirection", "toolbarId"], outputs: ["actionClick", "submenuOpened"] }, { kind: "component", type: i5.ThemeSelectorComponent, selector: "theme-selector", inputs: ["model"] }] }); }
26
26
  }
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FileEditorToolbarComponent, decorators: [{
28
28
  type: Component,
29
- args: [{ selector: 'file-editor-toolbar', template: "@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonLeft\"\r\n (actionClick)=\"scrollLeft()\"\r\n (mousedown)=\"scrollStart('left')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('left')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<div\r\n #container\r\n class=\"uiActionButtonsContainer\"\r\n (click)=\"$event.stopPropagation()\"\r\n [ngClass]=\"{\r\n scrollableContent: scrollOnWrap,\r\n verticalToolbar: isVertical,\r\n horizontalToolbar: isHorizontal,\r\n alignedStart: isAlignedStart,\r\n alignedEnd: isAlignedEnd,\r\n }\"\r\n>\r\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\r\n @if (uiActionModel.uiAction.code === 'themeSelector') {\r\n <theme-selector [model]=\"uiActionModel\"></theme-selector>\r\n } @else if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\r\n <ng-container\r\n *ngTemplateOutlet=\"menuTypes; context: { uiActionModel: uiActionModel }\"\r\n ></ng-container>\r\n } @else {\r\n <ui-action-button\r\n (mouseenter)=\"onHover()\"\r\n [descriptor]=\"uiActionModel.descriptor!\"\r\n [code]=\"uiActionModel.uiAction.code\"\r\n [identifier]=\"uiActionModel.uiAction.identifier\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n [addedCssClass]=\"uiActionModel.cssClass\"\r\n [viewActivated]=\"uiActionModel.uiAction.viewActivated\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n </ui-action-button>\r\n }\r\n </ng-container>\r\n</div>\r\n\r\n@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonRight\"\r\n (actionClick)=\"scrollRight()\"\r\n (mousedown)=\"scrollStart('right')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('right')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<ng-template #menuTypes let-uiActionModel=\"uiActionModel\">\r\n @switch (uiActionModel?.uiAction?.descriptor?.menu?.triggerType) {\r\n @case (triggerType.HOVER) {\r\n <ui-hover-menu\r\n #menu\r\n [toolbarId]=\"id\"\r\n (mouseenter)=\"onHover()\"\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-hover-menu>\r\n }\r\n @case (triggerType.CLICK) {\r\n <ui-tiered-menu\r\n #menu\r\n (mouseenter)=\"onHover()\"\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n }\r\n @default {\r\n <ui-tiered-menu\r\n #menu\r\n (mouseenter)=\"onHover()\"\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n }\r\n }\r\n</ng-template>\r\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}:host:has(.verticalToolbar){height:100%}:host:has(.horizontalToolbar.alignedEnd){width:100%}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column;height:100%}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%}.alignedStart{justify-content:flex-start}.alignedEnd{justify-content:flex-end}\n"] }]
29
+ args: [{ selector: 'file-editor-toolbar', template: "@if (isScrollable && scrollOnWrap) {\n <ui-action-button\n [disabled]=\"!isScrollable\"\n [descriptor]=\"buttonLeft\"\n (actionClick)=\"scrollLeft()\"\n (mousedown)=\"scrollStart('left')\"\n (mouseup)=\"stopScroll()\"\n (mouseleave)=\"stopScroll()\"\n (touchstart)=\"scrollStart('left')\"\n (touchend)=\"stopScroll()\"\n />\n}\n\n<div\n #container\n class=\"uiActionButtonsContainer\"\n (click)=\"$event.stopPropagation()\"\n [ngClass]=\"{\n scrollableContent: scrollOnWrap,\n verticalToolbar: isVertical,\n horizontalToolbar: isHorizontal,\n alignedStart: isAlignedStart,\n alignedEnd: isAlignedEnd,\n }\"\n>\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\n @if (uiActionModel.uiAction.code === 'themeSelector') {\n <theme-selector [model]=\"uiActionModel\"></theme-selector>\n } @else if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\n <ng-container\n *ngTemplateOutlet=\"menuTypes; context: { uiActionModel: uiActionModel }\"\n ></ng-container>\n } @else {\n <ui-action-button\n (mouseenter)=\"onHover()\"\n [descriptor]=\"uiActionModel.descriptor!\"\n [code]=\"uiActionModel.uiAction.code\"\n [identifier]=\"uiActionModel.uiAction.identifier\"\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\n [addedCssClass]=\"uiActionModel.cssClass\"\n [viewActivated]=\"uiActionModel.uiAction.viewActivated\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\n >\n </ui-action-button>\n }\n </ng-container>\n</div>\n\n@if (isScrollable && scrollOnWrap) {\n <ui-action-button\n [disabled]=\"!isScrollable\"\n [descriptor]=\"buttonRight\"\n (actionClick)=\"scrollRight()\"\n (mousedown)=\"scrollStart('right')\"\n (mouseup)=\"stopScroll()\"\n (mouseleave)=\"stopScroll()\"\n (touchstart)=\"scrollStart('right')\"\n (touchend)=\"stopScroll()\"\n />\n}\n\n<ng-template #menuTypes let-uiActionModel=\"uiActionModel\">\n @switch (uiActionModel?.uiAction?.descriptor?.menu?.triggerType) {\n @case (triggerType.HOVER) {\n <ui-hover-menu\n #menu\n [toolbarId]=\"id\"\n (mouseenter)=\"onHover()\"\n [triggerAction]=\"uiActionModel.uiAction\"\n [subActions]=\"uiActionModel.uiAction.subActions!\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n ></ui-hover-menu>\n }\n @case (triggerType.CLICK) {\n <ui-tiered-menu\n #menu\n (mouseenter)=\"onHover()\"\n [triggerAction]=\"uiActionModel.uiAction\"\n [subActions]=\"uiActionModel.uiAction.subActions!\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n ></ui-tiered-menu>\n }\n @default {\n <ui-tiered-menu\n #menu\n (mouseenter)=\"onHover()\"\n [triggerAction]=\"uiActionModel.uiAction\"\n [subActions]=\"uiActionModel.uiAction.subActions!\"\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\n ></ui-tiered-menu>\n }\n }\n</ng-template>\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}:host:has(.verticalToolbar){height:100%}:host:has(.horizontalToolbar.alignedEnd){width:100%}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column;height:100%}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%}.alignedStart{justify-content:flex-start}.alignedEnd{justify-content:flex-end}\n"] }]
30
30
  }], propDecorators: { dataUri: [{
31
31
  type: Input
32
32
  }], actionEvent: [{
33
33
  type: Output
34
34
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1lZGl0b3ItdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL2ZpbGUtZWRpdG9yLXRvb2xiYXIvZmlsZS1lZGl0b3ItdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7QUFRMUUsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHdCQUF3QjtJQUx4RTs7UUFRWSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUVwQyxDQUFDO0tBWU47SUFWVSxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQTRCO1FBQ3BELGFBQWEsQ0FBQyxRQUFRLEdBQUc7WUFDdkIsR0FBRyxhQUFhLENBQUMsUUFBUTtZQUN6QixNQUFNLEVBQUU7Z0JBQ04sR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU07Z0JBQ2hDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTzthQUN2QjtTQUNGLENBQUM7UUFDRixNQUFNLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEMsQ0FBQzsrR0FoQlUsMEJBQTBCO21HQUExQiwwQkFBMEIsMkpDVHZDLHMxR0E4RkE7OzRGRHJGYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UscUJBQXFCOzhCQUt0QixPQUFPO3NCQUFmLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uTW9kZWwgfSBmcm9tICcuLi91aS1hY3Rpb24ubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdmaWxlLWVkaXRvci10b29sYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5jc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZUVkaXRvclRvb2xiYXJDb21wb25lbnQgZXh0ZW5kcyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGRhdGFVcmkhOiBzdHJpbmc7XHJcblxyXG4gIEBPdXRwdXQoKSBhY3Rpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgdWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbDtcclxuICB9PigpO1xyXG5cclxuICBvdmVycmlkZSBhc3luYyBmaXJlQWN0aW9uKHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHVpQWN0aW9uTW9kZWwudWlBY3Rpb24gPSB7XHJcbiAgICAgIC4uLnVpQWN0aW9uTW9kZWwudWlBY3Rpb24sXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIC4uLnVpQWN0aW9uTW9kZWwudWlBY3Rpb24ucGFyYW1zLFxyXG4gICAgICAgIF9kYXRhVXJpOiB0aGlzLmRhdGFVcmksXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgYXdhaXQgc3VwZXIuZmlyZUFjdGlvbih1aUFjdGlvbk1vZGVsKTtcclxuICB9XHJcbn1cclxuIiwiQGlmIChpc1Njcm9sbGFibGUgJiYgc2Nyb2xsT25XcmFwKSB7XHJcbiAgPHVpLWFjdGlvbi1idXR0b25cclxuICAgIFtkaXNhYmxlZF09XCIhaXNTY3JvbGxhYmxlXCJcclxuICAgIFtkZXNjcmlwdG9yXT1cImJ1dHRvbkxlZnRcIlxyXG4gICAgKGFjdGlvbkNsaWNrKT1cInNjcm9sbExlZnQoKVwiXHJcbiAgICAobW91c2Vkb3duKT1cInNjcm9sbFN0YXJ0KCdsZWZ0JylcIlxyXG4gICAgKG1vdXNldXApPVwic3RvcFNjcm9sbCgpXCJcclxuICAgIChtb3VzZWxlYXZlKT1cInN0b3BTY3JvbGwoKVwiXHJcbiAgICAodG91Y2hzdGFydCk9XCJzY3JvbGxTdGFydCgnbGVmdCcpXCJcclxuICAgICh0b3VjaGVuZCk9XCJzdG9wU2Nyb2xsKClcIlxyXG4gIC8+XHJcbn1cclxuXHJcbjxkaXZcclxuICAjY29udGFpbmVyXHJcbiAgY2xhc3M9XCJ1aUFjdGlvbkJ1dHRvbnNDb250YWluZXJcIlxyXG4gIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gIFtuZ0NsYXNzXT1cIntcclxuICAgIHNjcm9sbGFibGVDb250ZW50OiBzY3JvbGxPbldyYXAsXHJcbiAgICB2ZXJ0aWNhbFRvb2xiYXI6IGlzVmVydGljYWwsXHJcbiAgICBob3Jpem9udGFsVG9vbGJhcjogaXNIb3Jpem9udGFsLFxyXG4gICAgYWxpZ25lZFN0YXJ0OiBpc0FsaWduZWRTdGFydCxcclxuICAgIGFsaWduZWRFbmQ6IGlzQWxpZ25lZEVuZCxcclxuICB9XCJcclxuPlxyXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHVpQWN0aW9uTW9kZWwgb2YgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cclxuICAgIEBpZiAodWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5jb2RlID09PSAndGhlbWVTZWxlY3RvcicpIHtcclxuICAgICAgPHRoZW1lLXNlbGVjdG9yIFttb2RlbF09XCJ1aUFjdGlvbk1vZGVsXCI+PC90aGVtZS1zZWxlY3Rvcj5cclxuICAgIH0gQGVsc2UgaWYgKHVpQWN0aW9uTW9kZWwudWlBY3Rpb24uc3ViQWN0aW9ucyAmJiB1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLnN1YkFjdGlvbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51VHlwZXM7IGNvbnRleHQ6IHsgdWlBY3Rpb25Nb2RlbDogdWlBY3Rpb25Nb2RlbCB9XCJcclxuICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIDx1aS1hY3Rpb24tYnV0dG9uXHJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwib25Ib3ZlcigpXCJcclxuICAgICAgICBbZGVzY3JpcHRvcl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3IhXCJcclxuICAgICAgICBbY29kZV09XCJ1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmNvZGVcIlxyXG4gICAgICAgIFtpZGVudGlmaWVyXT1cInVpQWN0aW9uTW9kZWwudWlBY3Rpb24uaWRlbnRpZmllclwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiEhdWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5kaXNhYmxlZFwiXHJcbiAgICAgICAgW2FkZGVkQ3NzQ2xhc3NdPVwidWlBY3Rpb25Nb2RlbC5jc3NDbGFzc1wiXHJcbiAgICAgICAgW3ZpZXdBY3RpdmF0ZWRdPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvbi52aWV3QWN0aXZhdGVkXCJcclxuICAgICAgICAoYWN0aW9uQ2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxyXG4gICAgICAgIChhY3Rpb25Eb3VibGVDbGljayk9XCJvbkFjdGlvbkRvdWJsZUNsaWNrZWQoJGV2ZW50LCB1aUFjdGlvbk1vZGVsKVwiXHJcbiAgICAgID5cclxuICAgICAgPC91aS1hY3Rpb24tYnV0dG9uPlxyXG4gICAgfVxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbkBpZiAoaXNTY3JvbGxhYmxlICYmIHNjcm9sbE9uV3JhcCkge1xyXG4gIDx1aS1hY3Rpb24tYnV0dG9uXHJcbiAgICBbZGlzYWJsZWRdPVwiIWlzU2Nyb2xsYWJsZVwiXHJcbiAgICBbZGVzY3JpcHRvcl09XCJidXR0b25SaWdodFwiXHJcbiAgICAoYWN0aW9uQ2xpY2spPVwic2Nyb2xsUmlnaHQoKVwiXHJcbiAgICAobW91c2Vkb3duKT1cInNjcm9sbFN0YXJ0KCdyaWdodCcpXCJcclxuICAgIChtb3VzZXVwKT1cInN0b3BTY3JvbGwoKVwiXHJcbiAgICAobW91c2VsZWF2ZSk9XCJzdG9wU2Nyb2xsKClcIlxyXG4gICAgKHRvdWNoc3RhcnQpPVwic2Nyb2xsU3RhcnQoJ3JpZ2h0JylcIlxyXG4gICAgKHRvdWNoZW5kKT1cInN0b3BTY3JvbGwoKVwiXHJcbiAgLz5cclxufVxyXG5cclxuPG5nLXRlbXBsYXRlICNtZW51VHlwZXMgbGV0LXVpQWN0aW9uTW9kZWw9XCJ1aUFjdGlvbk1vZGVsXCI+XHJcbiAgQHN3aXRjaCAodWlBY3Rpb25Nb2RlbD8udWlBY3Rpb24/LmRlc2NyaXB0b3I/Lm1lbnU/LnRyaWdnZXJUeXBlKSB7XHJcbiAgICBAY2FzZSAodHJpZ2dlclR5cGUuSE9WRVIpIHtcclxuICAgICAgPHVpLWhvdmVyLW1lbnVcclxuICAgICAgICAjbWVudVxyXG4gICAgICAgIFt0b29sYmFySWRdPVwiaWRcIlxyXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9uSG92ZXIoKVwiXHJcbiAgICAgICAgW3RyaWdnZXJBY3Rpb25dPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvblwiXHJcbiAgICAgICAgW3N1YkFjdGlvbnNdPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5zdWJBY3Rpb25zIVwiXHJcbiAgICAgICAgKGFjdGlvbkNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tlZCgkZXZlbnQsIHVpQWN0aW9uTW9kZWwpXCJcclxuICAgICAgPjwvdWktaG92ZXItbWVudT5cclxuICAgIH1cclxuICAgIEBjYXNlICh0cmlnZ2VyVHlwZS5DTElDSykge1xyXG4gICAgICA8dWktdGllcmVkLW1lbnVcclxuICAgICAgICAjbWVudVxyXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9uSG92ZXIoKVwiXHJcbiAgICAgICAgW3RyaWdnZXJBY3Rpb25dPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvblwiXHJcbiAgICAgICAgW3N1YkFjdGlvbnNdPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5zdWJBY3Rpb25zIVwiXHJcbiAgICAgICAgKGFjdGlvbkNsaWNrKT1cIm9uQWN0aW9uQ2xpY2tlZCgkZXZlbnQsIHVpQWN0aW9uTW9kZWwpXCJcclxuICAgICAgPjwvdWktdGllcmVkLW1lbnU+XHJcbiAgICB9XHJcbiAgICBAZGVmYXVsdCB7XHJcbiAgICAgIDx1aS10aWVyZWQtbWVudVxyXG4gICAgICAgICNtZW51XHJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwib25Ib3ZlcigpXCJcclxuICAgICAgICBbdHJpZ2dlckFjdGlvbl09XCJ1aUFjdGlvbk1vZGVsLnVpQWN0aW9uXCJcclxuICAgICAgICBbc3ViQWN0aW9uc109XCJ1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLnN1YkFjdGlvbnMhXCJcclxuICAgICAgICAoYWN0aW9uQ2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxyXG4gICAgICA+PC91aS10aWVyZWQtbWVudT5cclxuICAgIH1cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1lZGl0b3ItdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL2ZpbGUtZWRpdG9yLXRvb2xiYXIvZmlsZS1lZGl0b3ItdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7QUFRMUUsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHdCQUF3QjtJQUx4RTs7UUFRWSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUVwQyxDQUFDO0tBWU47SUFWVSxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQTRCO1FBQ3BELGFBQWEsQ0FBQyxRQUFRLEdBQUc7WUFDdkIsR0FBRyxhQUFhLENBQUMsUUFBUTtZQUN6QixNQUFNLEVBQUU7Z0JBQ04sR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU07Z0JBQ2hDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTzthQUN2QjtTQUNGLENBQUM7UUFDRixNQUFNLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEMsQ0FBQzsrR0FoQlUsMEJBQTBCO21HQUExQiwwQkFBMEIsMkpDVHZDLDBwR0E4RkE7OzRGRHJGYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UscUJBQXFCOzhCQUt0QixPQUFPO3NCQUFmLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuLi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4uL3VpLWFjdGlvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpbGUtZWRpdG9yLXRvb2xiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuLi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRmlsZUVkaXRvclRvb2xiYXJDb21wb25lbnQgZXh0ZW5kcyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhVXJpITogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBhY3Rpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgIHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWw7XG4gIH0+KCk7XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZmlyZUFjdGlvbih1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdWlBY3Rpb25Nb2RlbC51aUFjdGlvbiA9IHtcbiAgICAgIC4uLnVpQWN0aW9uTW9kZWwudWlBY3Rpb24sXG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgLi4udWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5wYXJhbXMsXG4gICAgICAgIF9kYXRhVXJpOiB0aGlzLmRhdGFVcmksXG4gICAgICB9LFxuICAgIH07XG4gICAgYXdhaXQgc3VwZXIuZmlyZUFjdGlvbih1aUFjdGlvbk1vZGVsKTtcbiAgfVxufVxuIiwiQGlmIChpc1Njcm9sbGFibGUgJiYgc2Nyb2xsT25XcmFwKSB7XG4gIDx1aS1hY3Rpb24tYnV0dG9uXG4gICAgW2Rpc2FibGVkXT1cIiFpc1Njcm9sbGFibGVcIlxuICAgIFtkZXNjcmlwdG9yXT1cImJ1dHRvbkxlZnRcIlxuICAgIChhY3Rpb25DbGljayk9XCJzY3JvbGxMZWZ0KClcIlxuICAgIChtb3VzZWRvd24pPVwic2Nyb2xsU3RhcnQoJ2xlZnQnKVwiXG4gICAgKG1vdXNldXApPVwic3RvcFNjcm9sbCgpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJzdG9wU2Nyb2xsKClcIlxuICAgICh0b3VjaHN0YXJ0KT1cInNjcm9sbFN0YXJ0KCdsZWZ0JylcIlxuICAgICh0b3VjaGVuZCk9XCJzdG9wU2Nyb2xsKClcIlxuICAvPlxufVxuXG48ZGl2XG4gICNjb250YWluZXJcbiAgY2xhc3M9XCJ1aUFjdGlvbkJ1dHRvbnNDb250YWluZXJcIlxuICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgIHNjcm9sbGFibGVDb250ZW50OiBzY3JvbGxPbldyYXAsXG4gICAgdmVydGljYWxUb29sYmFyOiBpc1ZlcnRpY2FsLFxuICAgIGhvcml6b250YWxUb29sYmFyOiBpc0hvcml6b250YWwsXG4gICAgYWxpZ25lZFN0YXJ0OiBpc0FsaWduZWRTdGFydCxcbiAgICBhbGlnbmVkRW5kOiBpc0FsaWduZWRFbmQsXG4gIH1cIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB1aUFjdGlvbk1vZGVsIG9mIHVpQWN0aW9uTW9kZWxzV2l0aERlc2NyaXB0aW9uczsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgQGlmICh1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmNvZGUgPT09ICd0aGVtZVNlbGVjdG9yJykge1xuICAgICAgPHRoZW1lLXNlbGVjdG9yIFttb2RlbF09XCJ1aUFjdGlvbk1vZGVsXCI+PC90aGVtZS1zZWxlY3Rvcj5cbiAgICB9IEBlbHNlIGlmICh1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLnN1YkFjdGlvbnMgJiYgdWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5zdWJBY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51VHlwZXM7IGNvbnRleHQ6IHsgdWlBY3Rpb25Nb2RlbDogdWlBY3Rpb25Nb2RlbCB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDx1aS1hY3Rpb24tYnV0dG9uXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9uSG92ZXIoKVwiXG4gICAgICAgIFtkZXNjcmlwdG9yXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvciFcIlxuICAgICAgICBbY29kZV09XCJ1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmNvZGVcIlxuICAgICAgICBbaWRlbnRpZmllcl09XCJ1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmlkZW50aWZpZXJcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiISF1aUFjdGlvbk1vZGVsLnVpQWN0aW9uLmRpc2FibGVkXCJcbiAgICAgICAgW2FkZGVkQ3NzQ2xhc3NdPVwidWlBY3Rpb25Nb2RlbC5jc3NDbGFzc1wiXG4gICAgICAgIFt2aWV3QWN0aXZhdGVkXT1cInVpQWN0aW9uTW9kZWwudWlBY3Rpb24udmlld0FjdGl2YXRlZFwiXG4gICAgICAgIChhY3Rpb25DbGljayk9XCJvbkFjdGlvbkNsaWNrZWQoJGV2ZW50LCB1aUFjdGlvbk1vZGVsKVwiXG4gICAgICAgIChhY3Rpb25Eb3VibGVDbGljayk9XCJvbkFjdGlvbkRvdWJsZUNsaWNrZWQoJGV2ZW50LCB1aUFjdGlvbk1vZGVsKVwiXG4gICAgICA+XG4gICAgICA8L3VpLWFjdGlvbi1idXR0b24+XG4gICAgfVxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG5AaWYgKGlzU2Nyb2xsYWJsZSAmJiBzY3JvbGxPbldyYXApIHtcbiAgPHVpLWFjdGlvbi1idXR0b25cbiAgICBbZGlzYWJsZWRdPVwiIWlzU2Nyb2xsYWJsZVwiXG4gICAgW2Rlc2NyaXB0b3JdPVwiYnV0dG9uUmlnaHRcIlxuICAgIChhY3Rpb25DbGljayk9XCJzY3JvbGxSaWdodCgpXCJcbiAgICAobW91c2Vkb3duKT1cInNjcm9sbFN0YXJ0KCdyaWdodCcpXCJcbiAgICAobW91c2V1cCk9XCJzdG9wU2Nyb2xsKClcIlxuICAgIChtb3VzZWxlYXZlKT1cInN0b3BTY3JvbGwoKVwiXG4gICAgKHRvdWNoc3RhcnQpPVwic2Nyb2xsU3RhcnQoJ3JpZ2h0JylcIlxuICAgICh0b3VjaGVuZCk9XCJzdG9wU2Nyb2xsKClcIlxuICAvPlxufVxuXG48bmctdGVtcGxhdGUgI21lbnVUeXBlcyBsZXQtdWlBY3Rpb25Nb2RlbD1cInVpQWN0aW9uTW9kZWxcIj5cbiAgQHN3aXRjaCAodWlBY3Rpb25Nb2RlbD8udWlBY3Rpb24/LmRlc2NyaXB0b3I/Lm1lbnU/LnRyaWdnZXJUeXBlKSB7XG4gICAgQGNhc2UgKHRyaWdnZXJUeXBlLkhPVkVSKSB7XG4gICAgICA8dWktaG92ZXItbWVudVxuICAgICAgICAjbWVudVxuICAgICAgICBbdG9vbGJhcklkXT1cImlkXCJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwib25Ib3ZlcigpXCJcbiAgICAgICAgW3RyaWdnZXJBY3Rpb25dPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvblwiXG4gICAgICAgIFtzdWJBY3Rpb25zXT1cInVpQWN0aW9uTW9kZWwudWlBY3Rpb24uc3ViQWN0aW9ucyFcIlxuICAgICAgICAoYWN0aW9uQ2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxuICAgICAgPjwvdWktaG92ZXItbWVudT5cbiAgICB9XG4gICAgQGNhc2UgKHRyaWdnZXJUeXBlLkNMSUNLKSB7XG4gICAgICA8dWktdGllcmVkLW1lbnVcbiAgICAgICAgI21lbnVcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwib25Ib3ZlcigpXCJcbiAgICAgICAgW3RyaWdnZXJBY3Rpb25dPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvblwiXG4gICAgICAgIFtzdWJBY3Rpb25zXT1cInVpQWN0aW9uTW9kZWwudWlBY3Rpb24uc3ViQWN0aW9ucyFcIlxuICAgICAgICAoYWN0aW9uQ2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxuICAgICAgPjwvdWktdGllcmVkLW1lbnU+XG4gICAgfVxuICAgIEBkZWZhdWx0IHtcbiAgICAgIDx1aS10aWVyZWQtbWVudVxuICAgICAgICAjbWVudVxuICAgICAgICAobW91c2VlbnRlcik9XCJvbkhvdmVyKClcIlxuICAgICAgICBbdHJpZ2dlckFjdGlvbl09XCJ1aUFjdGlvbk1vZGVsLnVpQWN0aW9uXCJcbiAgICAgICAgW3N1YkFjdGlvbnNdPVwidWlBY3Rpb25Nb2RlbC51aUFjdGlvbi5zdWJBY3Rpb25zIVwiXG4gICAgICAgIChhY3Rpb25DbGljayk9XCJvbkFjdGlvbkNsaWNrZWQoJGV2ZW50LCB1aUFjdGlvbk1vZGVsKVwiXG4gICAgICA+PC91aS10aWVyZWQtbWVudT5cbiAgICB9XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -4,4 +4,4 @@ export var ButtonIconPlaceholder;
4
4
  ButtonIconPlaceholder["POST"] = "POST";
5
5
  ButtonIconPlaceholder["BOTH"] = "BOTH";
6
6
  })(ButtonIconPlaceholder || (ButtonIconPlaceholder = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWljb24tcGxhY2Vob2xkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vYnV0dG9uLWljb24tcGxhY2Vob2xkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVkscUJBSVg7QUFKRCxXQUFZLHFCQUFxQjtJQUMvQixvQ0FBVyxDQUFBO0lBQ1gsc0NBQWEsQ0FBQTtJQUNiLHNDQUFhLENBQUE7QUFDZixDQUFDLEVBSlcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUloQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEJ1dHRvbkljb25QbGFjZWhvbGRlciB7XHJcbiAgUFJFID0gJ1BSRScsXHJcbiAgUE9TVCA9ICdQT1NUJyxcclxuICBCT1RIID0gJ0JPVEgnLFxyXG59XHJcbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWljb24tcGxhY2Vob2xkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vYnV0dG9uLWljb24tcGxhY2Vob2xkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVkscUJBSVg7QUFKRCxXQUFZLHFCQUFxQjtJQUMvQixvQ0FBVyxDQUFBO0lBQ1gsc0NBQWEsQ0FBQTtJQUNiLHNDQUFhLENBQUE7QUFDZixDQUFDLEVBSlcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUloQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEJ1dHRvbkljb25QbGFjZWhvbGRlciB7XG4gIFBSRSA9ICdQUkUnLFxuICBQT1NUID0gJ1BPU1QnLFxuICBCT1RIID0gJ0JPVEgnLFxufVxuIl19
@@ -250,11 +250,11 @@ export class UiActionButtonComponent {
250
250
  return null;
251
251
  }
252
252
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: COMPONENT_LIBRARY, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
253
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionButtonComponent, selector: "ui-action-button", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, descriptor: { classPropertyName: "descriptor", publicName: "descriptor", isSignal: true, isRequired: true, transformFunction: null }, code: { classPropertyName: "code", publicName: "code", isSignal: true, isRequired: false, transformFunction: null }, identifier: { classPropertyName: "identifier", publicName: "identifier", isSignal: true, isRequired: false, transformFunction: null }, viewActivated: { classPropertyName: "viewActivated", publicName: "viewActivated", isSignal: true, isRequired: false, transformFunction: null }, addedCssClass: { classPropertyName: "addedCssClass", publicName: "addedCssClass", isSignal: true, isRequired: false, transformFunction: null }, addBasicClasses: { classPropertyName: "addBasicClasses", publicName: "addBasicClasses", isSignal: true, isRequired: false, transformFunction: null }, iconPlaceholder: { classPropertyName: "iconPlaceholder", publicName: "iconPlaceholder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionClick: "actionClick", actionDoubleClick: "actionDoubleClick" }, ngImport: i0, template: "@if (effectiveDescriptor().type === 'SEPARATOR') {\r\n <div class=\"separator\">\r\n @if (effectiveDescriptor().title) {\r\n <span class=\"separator-label\" [style.color]=\"getSeparatorColor()\">\r\n {{ effectiveDescriptor().title }}\r\n </span>\r\n }\r\n <hr class=\"separator-line\" [style.border-top-color]=\"getSeparatorColor()\" />\r\n </div>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"buttonWithBadge\"></ng-container>\r\n}\r\n\r\n<ng-template #buttonWithBadge>\r\n @if (effectiveDescriptor() && effectiveDescriptor().badge) {\r\n <ui-badge [descriptor]=\"effectiveDescriptor().badge\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </ui-badge>\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #buttonTemplate>\r\n @if (compLib === componentLibrary.PRIMENG) {\r\n <button\r\n pButton\r\n pRipple\r\n [smartTooltip]=\"effectiveDescriptor().tooltip\"\r\n [disabled]=\"!!disabled()\"\r\n (click)=\"onActionClicked($event, mainActionModel())\"\r\n (dblclick)=\"onActionDoubleClicked($event)\"\r\n [autofocus]=\"false\"\r\n [ngStyle]=\"calcStyle(effectiveDescriptor().style)\"\r\n [ngClass]=\"getCombinedClasses()\"\r\n [style.justify-content]=\"getJustifyContent()\"\r\n class=\"{{ getbtnClass() }} {{ addedCssClass() }}\"\r\n type=\"button\"\r\n [attr.data-testid]=\"getDataTestId()\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\r\n </button>\r\n } @else {\r\n <button\r\n mat-button\r\n [smartTooltip]=\"effectiveDescriptor().tooltip\"\r\n [color]=\"effectiveDescriptor().color\"\r\n [disabled]=\"!!disabled()\"\r\n (click)=\"onActionClicked($event, mainActionModel())\"\r\n (dblclick)=\"onActionDoubleClicked($event)\"\r\n [ngStyle]=\"calcStyle(effectiveDescriptor().style)\"\r\n [ngClass]=\"getCombinedClasses()\"\r\n [style.justify-content]=\"getJustifyContent()\"\r\n class=\"{{ getbtnClass() }} {{ addedCssClass() }}\"\r\n type=\"button\"\r\n [attr.data-testid]=\"getDataTestId()\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\r\n </button>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #text>\r\n @if (renderPre() || renderPlaceholderPre()) {\r\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\r\n }\r\n {{ effectiveDescriptor().title }}\r\n @if (renderPost() || renderPlaceholderPost()) {\r\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #buttonIcon>\r\n @if (renderPlaceholderPre() || renderPlaceholderPost()) {\r\n <smart-icon></smart-icon>\r\n } @else if (effectiveDescriptor().iconResource) {\r\n <smart-icon\r\n [imageResource]=\"effectiveDescriptor().iconResource\"\r\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\r\n ></smart-icon>\r\n } @else {\r\n <smart-icon\r\n [icon]=\"effectiveDescriptor().icon\"\r\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\r\n ></smart-icon>\r\n }\r\n</ng-template>\r\n", styles: [":host{--text-color: black}:host ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center;line-height:1;padding:.75rem 1rem}:host{height:fit-content;width:fit-content;padding:unset;margin:unset}:host ::ng-deep .mdc-button__label{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:center}:host ::ng-deep .mdc-button{height:fit-content;min-height:var(--mdc-text-button-container-height)}:host ::ng-deep .mat-mdc-icon-button ::ng-deep img{width:unset;height:unset}.separator{display:flex;flex-direction:column;padding:0 .5rem;width:100%}.separator-label{font-size:.7rem;color:#888;padding-bottom:.15rem}.separator-line{border:none;border-top:1px solid #e2e5e9;margin:0}:host ::ng-deep button.sb4-view-activated{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2));border-color:var(--sb4-view-activated-border-color, transparent);font-weight:var(--sb4-view-activated-font-weight, 600)}:host ::ng-deep button.sb4-view-activated,:host ::ng-deep button.sb4-view-activated *{color:var(--sb4-view-activated-color, var(--primary-color-text, #ffffff))!important}:host ::ng-deep button.sb4-view-activated:hover{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2))!important;box-shadow:var( --sb4-view-activated-hover-shadow, 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12) )}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i4.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i5.UiBadgeComponent, selector: "ui-badge", inputs: ["descriptor", "inputValue"] }, { kind: "directive", type: i6.SmartTooltipDirective, selector: "[smartTooltip]", inputs: ["smartTooltip"] }] }); }
253
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionButtonComponent, selector: "ui-action-button", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, descriptor: { classPropertyName: "descriptor", publicName: "descriptor", isSignal: true, isRequired: true, transformFunction: null }, code: { classPropertyName: "code", publicName: "code", isSignal: true, isRequired: false, transformFunction: null }, identifier: { classPropertyName: "identifier", publicName: "identifier", isSignal: true, isRequired: false, transformFunction: null }, viewActivated: { classPropertyName: "viewActivated", publicName: "viewActivated", isSignal: true, isRequired: false, transformFunction: null }, addedCssClass: { classPropertyName: "addedCssClass", publicName: "addedCssClass", isSignal: true, isRequired: false, transformFunction: null }, addBasicClasses: { classPropertyName: "addBasicClasses", publicName: "addBasicClasses", isSignal: true, isRequired: false, transformFunction: null }, iconPlaceholder: { classPropertyName: "iconPlaceholder", publicName: "iconPlaceholder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionClick: "actionClick", actionDoubleClick: "actionDoubleClick" }, ngImport: i0, template: "@if (effectiveDescriptor().type === 'SEPARATOR') {\n <div class=\"separator\">\n @if (effectiveDescriptor().title) {\n <span class=\"separator-label\" [style.color]=\"getSeparatorColor()\">\n {{ effectiveDescriptor().title }}\n </span>\n }\n <hr class=\"separator-line\" [style.border-top-color]=\"getSeparatorColor()\" />\n </div>\n} @else {\n <ng-container *ngTemplateOutlet=\"buttonWithBadge\"></ng-container>\n}\n\n<ng-template #buttonWithBadge>\n @if (effectiveDescriptor() && effectiveDescriptor().badge) {\n <ui-badge [descriptor]=\"effectiveDescriptor().badge\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n </ui-badge>\n } @else {\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n }\n</ng-template>\n\n<ng-template #buttonTemplate>\n @if (compLib === componentLibrary.PRIMENG) {\n <button\n pButton\n pRipple\n [smartTooltip]=\"effectiveDescriptor().tooltip\"\n [disabled]=\"!!disabled()\"\n (click)=\"onActionClicked($event, mainActionModel())\"\n (dblclick)=\"onActionDoubleClicked($event)\"\n [autofocus]=\"false\"\n [ngStyle]=\"calcStyle(effectiveDescriptor().style)\"\n [ngClass]=\"getCombinedClasses()\"\n [style.justify-content]=\"getJustifyContent()\"\n class=\"{{ getbtnClass() }} {{ addedCssClass() }}\"\n type=\"button\"\n [attr.data-testid]=\"code() ?? null\"\n [attr.data-testid2]=\"getDataTestId()\"\n >\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\n </button>\n } @else {\n <button\n mat-button\n [smartTooltip]=\"effectiveDescriptor().tooltip\"\n [color]=\"effectiveDescriptor().color\"\n [disabled]=\"!!disabled()\"\n (click)=\"onActionClicked($event, mainActionModel())\"\n (dblclick)=\"onActionDoubleClicked($event)\"\n [ngStyle]=\"calcStyle(effectiveDescriptor().style)\"\n [ngClass]=\"getCombinedClasses()\"\n [style.justify-content]=\"getJustifyContent()\"\n class=\"{{ getbtnClass() }} {{ addedCssClass() }}\"\n type=\"button\"\n [attr.data-testid]=\"code() ?? null\"\n [attr.data-testid2]=\"getDataTestId()\"\n >\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\n </button>\n }\n</ng-template>\n\n<ng-template #text>\n @if (renderPre() || renderPlaceholderPre()) {\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n {{ effectiveDescriptor().title }}\n @if (renderPost() || renderPlaceholderPost()) {\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n</ng-template>\n\n<ng-template #buttonIcon>\n @if (renderPlaceholderPre() || renderPlaceholderPost()) {\n <smart-icon></smart-icon>\n } @else if (effectiveDescriptor().iconResource) {\n <smart-icon\n [imageResource]=\"effectiveDescriptor().iconResource\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n } @else {\n <smart-icon\n [icon]=\"effectiveDescriptor().icon\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n }\n</ng-template>\n", styles: [":host{--text-color: black}:host ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center;line-height:1;padding:.75rem 1rem}:host{height:fit-content;width:fit-content;padding:unset;margin:unset}:host ::ng-deep .mdc-button__label{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:center}:host ::ng-deep .mdc-button{height:fit-content;min-height:var(--mdc-text-button-container-height)}:host ::ng-deep .mat-mdc-icon-button ::ng-deep img{width:unset;height:unset}.separator{display:flex;flex-direction:column;padding:0 .5rem;width:100%}.separator-label{font-size:.7rem;color:#888;padding-bottom:.15rem}.separator-line{border:none;border-top:1px solid #e2e5e9;margin:0}:host ::ng-deep button.sb4-view-activated{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2));border-color:var(--sb4-view-activated-border-color, transparent);font-weight:var(--sb4-view-activated-font-weight, 600)}:host ::ng-deep button.sb4-view-activated,:host ::ng-deep button.sb4-view-activated *{color:var(--sb4-view-activated-color, var(--primary-color-text, #ffffff))!important}:host ::ng-deep button.sb4-view-activated:hover{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2))!important;box-shadow:var( --sb4-view-activated-hover-shadow, 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12) )}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i4.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i5.UiBadgeComponent, selector: "ui-badge", inputs: ["descriptor", "inputValue"] }, { kind: "directive", type: i6.SmartTooltipDirective, selector: "[smartTooltip]", inputs: ["smartTooltip"] }] }); }
254
254
  }
255
255
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionButtonComponent, decorators: [{
256
256
  type: Component,
257
- args: [{ selector: 'ui-action-button', template: "@if (effectiveDescriptor().type === 'SEPARATOR') {\r\n <div class=\"separator\">\r\n @if (effectiveDescriptor().title) {\r\n <span class=\"separator-label\" [style.color]=\"getSeparatorColor()\">\r\n {{ effectiveDescriptor().title }}\r\n </span>\r\n }\r\n <hr class=\"separator-line\" [style.border-top-color]=\"getSeparatorColor()\" />\r\n </div>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"buttonWithBadge\"></ng-container>\r\n}\r\n\r\n<ng-template #buttonWithBadge>\r\n @if (effectiveDescriptor() && effectiveDescriptor().badge) {\r\n <ui-badge [descriptor]=\"effectiveDescriptor().badge\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </ui-badge>\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #buttonTemplate>\r\n @if (compLib === componentLibrary.PRIMENG) {\r\n <button\r\n pButton\r\n pRipple\r\n [smartTooltip]=\"effectiveDescriptor().tooltip\"\r\n [disabled]=\"!!disabled()\"\r\n (click)=\"onActionClicked($event, mainActionModel())\"\r\n (dblclick)=\"onActionDoubleClicked($event)\"\r\n [autofocus]=\"false\"\r\n [ngStyle]=\"calcStyle(effectiveDescriptor().style)\"\r\n [ngClass]=\"getCombinedClasses()\"\r\n [style.justify-content]=\"getJustifyContent()\"\r\n class=\"{{ getbtnClass() }} {{ addedCssClass() }}\"\r\n type=\"button\"\r\n [attr.data-testid]=\"getDataTestId()\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\r\n </button>\r\n } @else {\r\n <button\r\n mat-button\r\n [smartTooltip]=\"effectiveDescriptor().tooltip\"\r\n [color]=\"effectiveDescriptor().color\"\r\n [disabled]=\"!!disabled()\"\r\n (click)=\"onActionClicked($event, mainActionModel())\"\r\n (dblclick)=\"onActionDoubleClicked($event)\"\r\n [ngStyle]=\"calcStyle(effectiveDescriptor().style)\"\r\n [ngClass]=\"getCombinedClasses()\"\r\n [style.justify-content]=\"getJustifyContent()\"\r\n class=\"{{ getbtnClass() }} {{ addedCssClass() }}\"\r\n type=\"button\"\r\n [attr.data-testid]=\"getDataTestId()\"\r\n >\r\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\r\n </button>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #text>\r\n @if (renderPre() || renderPlaceholderPre()) {\r\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\r\n }\r\n {{ effectiveDescriptor().title }}\r\n @if (renderPost() || renderPlaceholderPost()) {\r\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #buttonIcon>\r\n @if (renderPlaceholderPre() || renderPlaceholderPost()) {\r\n <smart-icon></smart-icon>\r\n } @else if (effectiveDescriptor().iconResource) {\r\n <smart-icon\r\n [imageResource]=\"effectiveDescriptor().iconResource\"\r\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\r\n ></smart-icon>\r\n } @else {\r\n <smart-icon\r\n [icon]=\"effectiveDescriptor().icon\"\r\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\r\n ></smart-icon>\r\n }\r\n</ng-template>\r\n", styles: [":host{--text-color: black}:host ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center;line-height:1;padding:.75rem 1rem}:host{height:fit-content;width:fit-content;padding:unset;margin:unset}:host ::ng-deep .mdc-button__label{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:center}:host ::ng-deep .mdc-button{height:fit-content;min-height:var(--mdc-text-button-container-height)}:host ::ng-deep .mat-mdc-icon-button ::ng-deep img{width:unset;height:unset}.separator{display:flex;flex-direction:column;padding:0 .5rem;width:100%}.separator-label{font-size:.7rem;color:#888;padding-bottom:.15rem}.separator-line{border:none;border-top:1px solid #e2e5e9;margin:0}:host ::ng-deep button.sb4-view-activated{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2));border-color:var(--sb4-view-activated-border-color, transparent);font-weight:var(--sb4-view-activated-font-weight, 600)}:host ::ng-deep button.sb4-view-activated,:host ::ng-deep button.sb4-view-activated *{color:var(--sb4-view-activated-color, var(--primary-color-text, #ffffff))!important}:host ::ng-deep button.sb4-view-activated:hover{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2))!important;box-shadow:var( --sb4-view-activated-hover-shadow, 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12) )}\n"] }]
257
+ args: [{ selector: 'ui-action-button', template: "@if (effectiveDescriptor().type === 'SEPARATOR') {\n <div class=\"separator\">\n @if (effectiveDescriptor().title) {\n <span class=\"separator-label\" [style.color]=\"getSeparatorColor()\">\n {{ effectiveDescriptor().title }}\n </span>\n }\n <hr class=\"separator-line\" [style.border-top-color]=\"getSeparatorColor()\" />\n </div>\n} @else {\n <ng-container *ngTemplateOutlet=\"buttonWithBadge\"></ng-container>\n}\n\n<ng-template #buttonWithBadge>\n @if (effectiveDescriptor() && effectiveDescriptor().badge) {\n <ui-badge [descriptor]=\"effectiveDescriptor().badge\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n </ui-badge>\n } @else {\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n }\n</ng-template>\n\n<ng-template #buttonTemplate>\n @if (compLib === componentLibrary.PRIMENG) {\n <button\n pButton\n pRipple\n [smartTooltip]=\"effectiveDescriptor().tooltip\"\n [disabled]=\"!!disabled()\"\n (click)=\"onActionClicked($event, mainActionModel())\"\n (dblclick)=\"onActionDoubleClicked($event)\"\n [autofocus]=\"false\"\n [ngStyle]=\"calcStyle(effectiveDescriptor().style)\"\n [ngClass]=\"getCombinedClasses()\"\n [style.justify-content]=\"getJustifyContent()\"\n class=\"{{ getbtnClass() }} {{ addedCssClass() }}\"\n type=\"button\"\n [attr.data-testid]=\"code() ?? null\"\n [attr.data-testid2]=\"getDataTestId()\"\n >\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\n </button>\n } @else {\n <button\n mat-button\n [smartTooltip]=\"effectiveDescriptor().tooltip\"\n [color]=\"effectiveDescriptor().color\"\n [disabled]=\"!!disabled()\"\n (click)=\"onActionClicked($event, mainActionModel())\"\n (dblclick)=\"onActionDoubleClicked($event)\"\n [ngStyle]=\"calcStyle(effectiveDescriptor().style)\"\n [ngClass]=\"getCombinedClasses()\"\n [style.justify-content]=\"getJustifyContent()\"\n class=\"{{ getbtnClass() }} {{ addedCssClass() }}\"\n type=\"button\"\n [attr.data-testid]=\"code() ?? null\"\n [attr.data-testid2]=\"getDataTestId()\"\n >\n <div *ngIf=\"isOnlyIcon(); then buttonIcon; else text\"></div>\n </button>\n }\n</ng-template>\n\n<ng-template #text>\n @if (renderPre() || renderPlaceholderPre()) {\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n {{ effectiveDescriptor().title }}\n @if (renderPost() || renderPlaceholderPost()) {\n <ng-container *ngTemplateOutlet=\"buttonIcon\" />\n }\n</ng-template>\n\n<ng-template #buttonIcon>\n @if (renderPlaceholderPre() || renderPlaceholderPost()) {\n <smart-icon></smart-icon>\n } @else if (effectiveDescriptor().iconResource) {\n <smart-icon\n [imageResource]=\"effectiveDescriptor().iconResource\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n } @else {\n <smart-icon\n [icon]=\"effectiveDescriptor().icon\"\n [color]=\"effectiveDescriptor().iconColor || effectiveDescriptor().color\"\n ></smart-icon>\n }\n</ng-template>\n", styles: [":host{--text-color: black}:host ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center;line-height:1;padding:.75rem 1rem}:host{height:fit-content;width:fit-content;padding:unset;margin:unset}:host ::ng-deep .mdc-button__label{display:flex;flex-direction:row;gap:1rem;align-items:center;justify-content:center}:host ::ng-deep .mdc-button{height:fit-content;min-height:var(--mdc-text-button-container-height)}:host ::ng-deep .mat-mdc-icon-button ::ng-deep img{width:unset;height:unset}.separator{display:flex;flex-direction:column;padding:0 .5rem;width:100%}.separator-label{font-size:.7rem;color:#888;padding-bottom:.15rem}.separator-line{border:none;border-top:1px solid #e2e5e9;margin:0}:host ::ng-deep button.sb4-view-activated{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2));border-color:var(--sb4-view-activated-border-color, transparent);font-weight:var(--sb4-view-activated-font-weight, 600)}:host ::ng-deep button.sb4-view-activated,:host ::ng-deep button.sb4-view-activated *{color:var(--sb4-view-activated-color, var(--primary-color-text, #ffffff))!important}:host ::ng-deep button.sb4-view-activated:hover{background:var(--sb4-view-activated-bg, var(--primary-color, #1976d2))!important;box-shadow:var( --sb4-view-activated-hover-shadow, 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12) )}\n"] }]
258
258
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i7.ComponentLibrary, decorators: [{
259
259
  type: Inject,
260
260
  args: [COMPONENT_LIBRARY]
@@ -265,4 +265,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
265
265
  }], actionDoubleClick: [{
266
266
  type: Output
267
267
  }] } });
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBRU4sUUFBUSxFQUNSLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7QUFPbEUsTUFBTSxPQUFPLHVCQUF1QjtJQTZEbEMsWUFDUyxjQUFpQyxFQUNELE9BQTBCO1FBRDFELG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQTdEbEMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRWpELGFBQVEsR0FBRyxLQUFLLEVBQVcsQ0FB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QUF1QixtREErRHhCLGlCQUFpQjttR0EvRGhCLHVCQUF1QixvdUNDekJwQyx3ckdBdUZBOzs0RkQ5RGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLGtCQUFrQjs7MEJBbUV6QixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQUcsUUFBUTt5Q0FuRDVCLFdBQVc7c0JBQXBCLE1BQU07Z0JBTUcsaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIGNvbXB1dGVkLFxyXG4gIGlucHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbk1vZGVsIH0gZnJvbSAnLi4vdWktYWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDT01QT05FTlRfTElCUkFSWSwgQ29tcG9uZW50TGlicmFyeSB9IGZyb20gJy4uLy4uL3V0aWxpdHkvY29tcG9uZW50TGlicmFyeSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uQnV0dG9uVHlwZSB9IGZyb20gJy4uLy4uL2FwaS9tb2RlbC91aUFjdGlvbkJ1dHRvblR5cGUnO1xyXG5pbXBvcnQgeyBJY29uUG9zaXRpb24gfSBmcm9tICcuLi8uLi9hcGkvbW9kZWwvaWNvblBvc2l0aW9uJztcclxuaW1wb3J0IHsgU3R5bGUsIFVpQWN0aW9uLCBVaUFjdGlvbkRlc2NyaXB0b3IgfSBmcm9tICcuLi8uLi9hcGknO1xyXG5pbXBvcnQgeyBTbWFydFN0eWxlVXRpbGl0eSB9IGZyb20gJy4uLy4uL3V0aWxpdHkvc21hcnQtc3R5bGUtdXRpbGl0eSc7XHJcbmltcG9ydCB7IEJ1dHRvbkljb25QbGFjZWhvbGRlciB9IGZyb20gJy4vYnV0dG9uLWljb24tcGxhY2Vob2xkZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1hY3Rpb24tYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3VpLWFjdGlvbi1idXR0b24uY29tcG9uZW50LmNzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaUFjdGlvbkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KCk7XHJcbiAgZGVzY3JpcHRvciA9IGlucHV0LnJlcXVpcmVkPFVpQWN0aW9uRGVzY3JpcHRvcj4oKTtcclxuICBjb2RlID0gaW5wdXQ8c3RyaW5nPigpO1xyXG4gIGlkZW50aWZpZXIgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgdmlld0FjdGl2YXRlZCA9IGlucHV0PGJvb2xlYW4gfCBudWxsPigpO1xyXG4gIGFkZGVkQ3NzQ2xhc3MgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgYWRkQmFzaWNDbGFzc2VzID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgaWNvblBsYWNlaG9sZGVyID0gaW5wdXQ8QnV0dG9uSWNvblBsYWNlaG9sZGVyPigpO1xyXG5cclxuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIGV2ZW50OiBNb3VzZUV2ZW50O1xyXG4gICAgZGVzY3JpcHRvcj86IFVpQWN0aW9uRGVzY3JpcHRvcjtcclxuICAgIGNvZGU/OiBzdHJpbmc7XHJcbiAgICB1aUFjdGlvbj86IFVpQWN0aW9uO1xyXG4gIH0+KCk7XHJcbiAgQE91dHB1dCgpIGFjdGlvbkRvdWJsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBldmVudDogYW55O1xyXG4gICAgZGVzY3JpcHRvcj86IFVpQWN0aW9uRGVzY3JpcHRvcjtcclxuICAgIGNvZGU/OiBzdHJpbmc7XHJcbiAgfT4oKTtcclxuXHJcbiAgY29tcG9uZW50TGlicmFyeSA9IENvbXBvbmVudExpYnJhcnk7XHJcbiAgY29tcExpYjogQ29tcG9uZW50TGlicmFyeTtcclxuXHJcbiAgcHJlc3NlZEJ1dHRvbkFjdGl2ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgbWVudU9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBlZmZlY3RpdmVEZXNjcmlwdG9yID0gY29tcHV0ZWQ8VWlBY3Rpb25EZXNjcmlwdG9yPigoKSA9PiB7XHJcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gdGhpcy5kZXNjcmlwdG9yKCk7XHJcbiAgICBjb25zdCBjb2RlID0gdGhpcy5jb2RlKCk7XHJcblxyXG4gICAgY29uc3QgZGVmYXVsdHM6IFBhcnRpYWw8VWlBY3Rpb25EZXNjcmlwdG9yPiA9IHtcclxuICAgICAgdGl0bGU6ICcnLFxyXG4gICAgICBjb2xvcjogJ3ByaW1hcnknLFxyXG4gICAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMLFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi5kZWZhdWx0cyxcclxuICAgICAgLi4uZGVzY3JpcHRvcixcclxuICAgICAgdGl0bGU6IGRlc2NyaXB0b3I/LnRpdGxlID8/IGRlZmF1bHRzLnRpdGxlLFxyXG4gICAgICBjb2xvcjogZGVzY3JpcHRvcj8uY29sb3IgPz8gZGVmYXVsdHMuY29sb3IsXHJcbiAgICAgIHR5cGU6IGRlc2NyaXB0b3I/LnR5cGUgPz8gZGVmYXVsdHMudHlwZSxcclxuICAgIH0gYXMgVWlBY3Rpb25EZXNjcmlwdG9yO1xyXG4gIH0pO1xyXG5cclxuICBtYWluQWN0aW9uTW9kZWwgPSBjb21wdXRlZDxVaUFjdGlvbk1vZGVsPihcclxuICAgICgpID0+XHJcbiAgICAgICh7XHJcbiAgICAgICAgZGVzY3JpcHRvcjogdGhpcy5lZmZlY3RpdmVEZXNjcmlwdG9yKCksXHJcbiAgICAgICAgdWlBY3Rpb246IHtcclxuICAgICAgICAgIGRlc2NyaXB0b3I6IHRoaXMuZWZmZWN0aXZlRGVzY3JpcHRvcigpLFxyXG4gICAgICAgICAgY29kZTogdGhpcy5jb2RlKCksXHJcbiAgICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCgpID8/IGZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pIGFzIFVpQWN0aW9uTW9kZWxcclxuICApO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBAT3B0aW9uYWwoKSBjb21wTGliPzogQ29tcG9uZW50TGlicmFyeVxyXG4gICkge1xyXG4gICAgdGhpcy5jb21wTGliID0gY29tcExpYiA/PyBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkc7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBvbkFjdGlvbkNsaWNrZWQoZXZlbnQ6IE1vdXNlRXZlbnQsIG1vZGVsOiBVaUFjdGlvbk1vZGVsKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoe1xyXG4gICAgICBldmVudCxcclxuICAgICAgY29kZTogbW9kZWwudWlBY3Rpb24uY29kZSxcclxuICAgICAgZGVzY3JpcHRvcjogbW9kZWwuZGVzY3JpcHRvciEsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQWN0aW9uRG91YmxlQ2xpY2tlZChldmVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGlvbkRvdWJsZUNsaWNrLmVtaXQoe1xyXG4gICAgICBldmVudCxcclxuICAgICAgY29kZTogdGhpcy5jb2RlKCksXHJcbiAgICAgIGRlc2NyaXB0b3I6IHRoaXMuZWZmZWN0aXZlRGVzY3JpcHRvcigpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpY29uUG9zaXRpb24oKTogdHlwZW9mIEljb25Qb3NpdGlvbiB7XHJcbiAgICByZXR1cm4gSWNvblBvc2l0aW9uO1xyXG4gIH1cclxuXHJcbiAgaXNPbmx5SWNvbigpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHR5cGUgPSB0aGlzLmVmZmVjdGl2ZURlc2NyaXB0b3IoKT8udHlwZTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5JQ09OIHx8XHJcbiAgICAgIHR5cGUgPT09IFVpQWN0aW9uQnV0dG9uVHlwZS5NSU5JX0ZBQiB8fFxyXG4gICAgICB0eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuRkFCXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0YnRuQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5hZGRCYXNpY0NsYXNzZXMoKSkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY29sb3IgPSB0aGlzLmVmZmVjdGl2ZURlc2NyaXB0b3IoKS5jb2xvcjtcclxuICAgIGlmIChjb2xvcikge1xyXG4gICAgICByZXR1cm4gJ3AtYnV0dG9uLScgKyBjb2xvciArICcgc2I0LScgKyBjb2xvcjtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGdldFR5cGUoKTogYW55IHtcclxuICAgIGlmICghdGhpcy5hZGRCYXNpY0NsYXNzZXMoKSkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY29tcExpYiA9PT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XHJcbiAgICAgIHN3aXRjaCAodGhpcy5lZmZlY3RpdmVEZXNjcmlwdG9yKCkudHlwZSkge1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk5PUk1BTDpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtbm9ybWFsJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZMQVQ6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LWZsYXQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5SQUlTRUQ6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LXJhaXNlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlNUUk9LRUQ6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LXN0cm9rZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tb3V0bGluZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk1JTklfRkFCOlxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ3NiNC1taW5pZmFiJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GQUI6XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAnc2I0LWZhYic6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTjpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtaWNvbic6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcclxuICAgICAgICAgICAgJ3AtYnV0dG9uLXRleHQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdzYjQtYmFzaWMnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxyXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXHJcbiAgICAgICAgICAgICdwLWJ1dHRvbi1vdXRsaW5lZCc6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMuZWZmZWN0aXZlRGVzY3JpcHRvcigpLnR5cGUpIHtcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5OT1JNQUw6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtYnV0dG9uIHNiNC1ub3JtYWwnO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZMQVQ6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtZmxhdC1idXR0b24gc2I0LWZsYXQnO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRDpcclxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1yYWlzZWQtYnV0dG9uIHNiNC1yYWlzZWQnO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlNUUk9LRUQ6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtc3Ryb2tlZC1idXR0b24gc2I0LXN0cm9rZWQnO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLklDT046XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtaWNvbi1idXR0b24gc2I0LWljb24nO1xyXG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk1JTklfRkFCOlxyXG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLW1pbmktZmFiIHNiNC1taW5pZmFiJztcclxuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GQUI6XHJcbiAgICAgICAgICByZXR1cm4gJ21hdC1tZGMtZmFiIHNiNC1mYWInO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICByZXR1cm4gYG1hdC1idXR0b24gc2I0LWJhc2ljYDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FsY1N0eWxlKHN0eWxlPzogU3R5bGUpOiBhbnkge1xyXG4gICAgcmV0dXJuIFNtYXJ0U3R5bGVVdGlsaXR5LmdldE5nU3R5bGVzKHN0eWxlKTtcclxuICB9XHJcbiAgY2FsY0NsYXNzZXMoc3R5bGU/OiBTdHlsZSk6IGFueSB7XHJcbiAgICByZXR1cm4gU21hcnRTdHlsZVV0aWxpdHkuZ2V0TmdDbGFzc2VzKHN0eWxlKTtcclxuICB9XHJcblxyXG4gIGdldENvbWJpbmVkQ2xhc3NlcygpOiBhbnkge1xyXG4gICAgY29uc3QgdHlwZUNsYXNzZXMgPSB0aGlzLmdldFR5cGUoKTtcclxuICAgIGNvbnN0IHN0eWxlQ2xhc3NlcyA9IHRoaXMuY2FsY0NsYXNzZXModGhpcy5lZmZlY3RpdmVEZXNjcmlwdG9yKCkuc3R5bGUpO1xyXG5cclxuICAgIC8vIE5vcm1hbGl6ZSB0eXBlQ2xhc3NlcyB0byBvYmplY3RcclxuICAgIGNvbnN0IHR5cGVPYmogPVxyXG4gICAgICB0eXBlb2YgdHlwZUNsYXNzZXMgPT09ICdzdHJpbmcnXHJcbiAgICAgICAgPyB0eXBlQ2xhc3Nlcy5zcGxpdCgnICcpLnJlZHVjZSgoYWNjLCBjbHMpID0+ICh7IC4uLmFjYywgW2Nsc106IHRydWUgfSksIHt9KVxyXG4gICAgICAgIDogdHlwZUNsYXNzZXM7XHJcblxyXG4gICAgLy8gVmlldy1hY3RpdmF0aW9uIGNsYXNzZXMsIG9ydGhvZ29uYWwgdG8gdGhlIGRlc2NyaXB0b3IudHlwZSBsb29rIGNsYXNzZXMgYWJvdmUuXHJcbiAgICBjb25zdCB2aWV3QWN0aXZhdGVkID0gdGhpcy52aWV3QWN0aXZhdGVkKCk7XHJcbiAgICBjb25zdCBpc09wZW5lciA9IHZpZXdBY3RpdmF0ZWQgIT09IG51bGwgJiYgdmlld0FjdGl2YXRlZCAhPT0gdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgYWN0aXZhdGlvbkNsYXNzZXMgPSB7XHJcbiAgICAgICdzYjQtdmlldy1vcGVuZXInOiBpc09wZW5lcixcclxuICAgICAgJ3NiNC12aWV3LWFjdGl2YXRlZCc6IHZpZXdBY3RpdmF0ZWQgPT09IHRydWUsXHJcbiAgICAgICdzYjQtdmlldy1ub3QtYWN0aXZhdGVkJzogdmlld0FjdGl2YXRlZCA9PT0gZmFsc2UsXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB7IC4uLnR5cGVPYmosIC4uLnN0eWxlQ2xhc3NlcywgLi4uYWN0aXZhdGlvbkNsYXNzZXMgfTtcclxuICB9XHJcblxyXG4gIHJlbmRlclByZSgpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSB0aGlzLmVmZmVjdGl2ZURlc2NyaXB0b3IoKTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGRlc2NyaXB0b3IuaWNvblBvc2l0aW9uID09PSBJY29uUG9zaXRpb24uUFJFICYmXHJcbiAgICAgIChkZXNjcmlwdG9yLmljb24gIT0gbnVsbCB8fCBkZXNjcmlwdG9yLmljb25SZXNvdXJjZSAhPSBudWxsKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlbmRlclBvc3QoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gdGhpcy5lZmZlY3RpdmVEZXNjcmlwdG9yKCk7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBkZXNjcmlwdG9yLmljb25Qb3NpdGlvbiA9PT0gSWNvblBvc2l0aW9uLlBPU1QgJiZcclxuICAgICAgKGRlc2NyaXB0b3IuaWNvbiAhPSBudWxsIHx8IGRlc2NyaXB0b3IuaWNvblJlc291cmNlICE9IG51bGwpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29sb3IoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVmZmVjdGl2ZURlc2NyaXB0b3IoKT8uY29sb3IgfHwgJ3RleHQnO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyUGxhY2Vob2xkZXJQcmUoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBpY29uUGxhY2Vob2xkZXIgPSB0aGlzLmljb25QbGFjZWhvbGRlcigpO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgaWNvblBsYWNlaG9sZGVyID09PSBCdXR0b25JY29uUGxhY2Vob2xkZXIuUFJFIHx8XHJcbiAgICAgIGljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLkJPVEhcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICByZW5kZXJQbGFjZWhvbGRlclBvc3QoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBpY29uUGxhY2Vob2xkZXIgPSB0aGlzLmljb25QbGFjZWhvbGRlcigpO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgaWNvblBsYWNlaG9sZGVyID09PSBCdXR0b25JY29uUGxhY2Vob2xkZXIuUE9TVCB8fFxyXG4gICAgICBpY29uUGxhY2Vob2xkZXIgPT09IEJ1dHRvbkljb25QbGFjZWhvbGRlci5CT1RIXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0SnVzdGlmeUNvbnRlbnQoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBjb25zdCBpY29uUGxhY2Vob2xkZXIgPSB0aGlzLmljb25QbGFjZWhvbGRlcigpO1xyXG4gICAgaWYgKCFpY29uUGxhY2Vob2xkZXIpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAoaWNvblBsYWNlaG9sZGVyID09PSBCdXR0b25JY29uUGxhY2Vob2xkZXIuQk9USCkge1xyXG4gICAgICByZXR1cm4gJ2NlbnRlcic7XHJcbiAgICB9XHJcbiAgICBpZiAoaWNvblBsYWNlaG9sZGVyID09PSBCdXR0b25JY29uUGxhY2Vob2xkZXIuUFJFKSB7XHJcbiAgICAgIHJldHVybiAnZmxleC1zdGFydCc7XHJcbiAgICB9XHJcbiAgICBpZiAoaWNvblBsYWNlaG9sZGVyID09PSBCdXR0b25JY29uUGxhY2Vob2xkZXIuUE9TVCkge1xyXG4gICAgICByZXR1cm4gJ2ZsZXgtZW5kJztcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VwYXJhdG9yQ29sb3IoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAncmdiKGZyb20gdmFyKC0tJyArIHRoaXMuZ2V0Q29sb3IoKSArICctY29sb3IpIHIgZyBiIC8gMC44KSc7XHJcbiAgfVxyXG5cclxuICBnZXREYXRhVGVzdElkKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgaWYgKHRoaXMuY29kZSgpKSB7XHJcbiAgICAgIGlmICh0aGlzLmlkZW50aWZpZXIoKSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvZGUoKSEgKyAnXycgKyB0aGlzLmlkZW50aWZpZXIoKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5jb2RlKCkhO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcbiIsIkBpZiAoZWZmZWN0aXZlRGVzY3JpcHRvcigpLnR5cGUgPT09ICdTRVBBUkFUT1InKSB7XHJcbiAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPlxyXG4gICAgQGlmIChlZmZlY3RpdmVEZXNjcmlwdG9yKCkudGl0bGUpIHtcclxuICAgICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3ItbGFiZWxcIiBbc3R5bGUuY29sb3JdPVwiZ2V0U2VwYXJhdG9yQ29sb3IoKVwiPlxyXG4gICAgICAgIHt7IGVmZmVjdGl2ZURlc2NyaXB0b3IoKS50aXRsZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICB9XHJcbiAgICA8aHIgY2xhc3M9XCJzZXBhcmF0b3ItbGluZVwiIFtzdHlsZS5ib3JkZXItdG9wLWNvbG9yXT1cImdldFNlcGFyYXRvckNvbG9yKClcIiAvPlxyXG4gIDwvZGl2PlxyXG59IEBlbHNlIHtcclxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uV2l0aEJhZGdlXCI+PC9uZy1jb250YWluZXI+XHJcbn1cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYnV0dG9uV2l0aEJhZGdlPlxyXG4gIEBpZiAoZWZmZWN0aXZlRGVzY3JpcHRvcigpICYmIGVmZmVjdGl2ZURlc2NyaXB0b3IoKS5iYWRnZSkge1xyXG4gICAgPHVpLWJhZGdlIFtkZXNjcmlwdG9yXT1cImVmZmVjdGl2ZURlc2NyaXB0b3IoKS5iYWRnZVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvdWktYmFkZ2U+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2J1dHRvblRlbXBsYXRlPlxyXG4gIEBpZiAoY29tcExpYiA9PT0gY29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIHBCdXR0b25cclxuICAgICAgcFJpcHBsZVxyXG4gICAgICBbc21hcnRUb29sdGlwXT1cImVmZmVjdGl2ZURlc2NyaXB0b3IoKS50b29sdGlwXCJcclxuICAgICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWQoKVwiXHJcbiAgICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrZWQoJGV2ZW50LCBtYWluQWN0aW9uTW9kZWwoKSlcIlxyXG4gICAgICAoZGJsY2xpY2spPVwib25BY3Rpb25Eb3VibGVDbGlja2VkKCRldmVudClcIlxyXG4gICAgICBbYXV0b2ZvY3VzXT1cImZhbHNlXCJcclxuICAgICAgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGVmZmVjdGl2ZURlc2NyaXB0b3IoKS5zdHlsZSlcIlxyXG4gICAgICBbbmdDbGFzc109XCJnZXRDb21iaW5lZENsYXNzZXMoKVwiXHJcbiAgICAgIFtzdHlsZS5qdXN0aWZ5LWNvbnRlbnRdPVwiZ2V0SnVzdGlmeUNvbnRlbnQoKVwiXHJcbiAgICAgIGNsYXNzPVwie3sgZ2V0YnRuQ2xhc3MoKSB9fSB7eyBhZGRlZENzc0NsYXNzKCkgfX1cIlxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiZ2V0RGF0YVRlc3RJZCgpXCJcclxuICAgID5cclxuICAgICAgPGRpdiAqbmdJZj1cImlzT25seUljb24oKTsgdGhlbiBidXR0b25JY29uOyBlbHNlIHRleHRcIj48L2Rpdj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICBtYXQtYnV0dG9uXHJcbiAgICAgIFtzbWFydFRvb2x0aXBdPVwiZWZmZWN0aXZlRGVzY3JpcHRvcigpLnRvb2x0aXBcIlxyXG4gICAgICBbY29sb3JdPVwiZWZmZWN0aXZlRGVzY3JpcHRvcigpLmNvbG9yXCJcclxuICAgICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWQoKVwiXHJcbiAgICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrZWQoJGV2ZW50LCBtYWluQWN0aW9uTW9kZWwoKSlcIlxyXG4gICAgICAoZGJsY2xpY2spPVwib25BY3Rpb25Eb3VibGVDbGlja2VkKCRldmVudClcIlxyXG4gICAgICBbbmdTdHlsZV09XCJjYWxjU3R5bGUoZWZmZWN0aXZlRGVzY3JpcHRvcigpLnN0eWxlKVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cImdldENvbWJpbmVkQ2xhc3NlcygpXCJcclxuICAgICAgW3N0eWxlLmp1c3RpZnktY29udGVudF09XCJnZXRKdXN0aWZ5Q29udGVudCgpXCJcclxuICAgICAgY2xhc3M9XCJ7eyBnZXRidG5DbGFzcygpIH19IHt7IGFkZGVkQ3NzQ2xhc3MoKSB9fVwiXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJnZXREYXRhVGVzdElkKClcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNPbmx5SWNvbigpOyB0aGVuIGJ1dHRvbkljb247IGVsc2UgdGV4dFwiPjwvZGl2PlxyXG4gICAgPC9idXR0b24+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICN0ZXh0PlxyXG4gIEBpZiAocmVuZGVyUHJlKCkgfHwgcmVuZGVyUGxhY2Vob2xkZXJQcmUoKSkge1xyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbkljb25cIiAvPlxyXG4gIH1cclxuICB7eyBlZmZlY3RpdmVEZXNjcmlwdG9yKCkudGl0bGUgfX1cclxuICBAaWYgKHJlbmRlclBvc3QoKSB8fCByZW5kZXJQbGFjZWhvbGRlclBvc3QoKSkge1xyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbkljb25cIiAvPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYnV0dG9uSWNvbj5cclxuICBAaWYgKHJlbmRlclBsYWNlaG9sZGVyUHJlKCkgfHwgcmVuZGVyUGxhY2Vob2xkZXJQb3N0KCkpIHtcclxuICAgIDxzbWFydC1pY29uPjwvc21hcnQtaWNvbj5cclxuICB9IEBlbHNlIGlmIChlZmZlY3RpdmVEZXNjcmlwdG9yKCkuaWNvblJlc291cmNlKSB7XHJcbiAgICA8c21hcnQtaWNvblxyXG4gICAgICBbaW1hZ2VSZXNvdXJjZV09XCJlZmZlY3RpdmVEZXNjcmlwdG9yKCkuaWNvblJlc291cmNlXCJcclxuICAgICAgW2NvbG9yXT1cImVmZmVjdGl2ZURlc2NyaXB0b3IoKS5pY29uQ29sb3IgfHwgZWZmZWN0aXZlRGVzY3JpcHRvcigpLmNvbG9yXCJcclxuICAgID48L3NtYXJ0LWljb24+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8c21hcnQtaWNvblxyXG4gICAgICBbaWNvbl09XCJlZmZlY3RpdmVEZXNjcmlwdG9yKCkuaWNvblwiXHJcbiAgICAgIFtjb2xvcl09XCJlZmZlY3RpdmVEZXNjcmlwdG9yKCkuaWNvbkNvbG9yIHx8IGVmZmVjdGl2ZURlc2NyaXB0b3IoKS5jb2xvclwiXHJcbiAgICA+PC9zbWFydC1pY29uPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi1idXR0b24vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBRU4sUUFBUSxFQUNSLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7QUFPbEUsTUFBTSxPQUFPLHVCQUF1QjtJQTZEbEMsWUFDUyxjQUFpQyxFQUNELE9BQTBCO1FBRDFELG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQTdEbEMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRWpELGFBQVEsR0FBRyxLQUFLLEVBQVcsQ0FB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QUF1QixtREErRHhCLGlCQUFpQjttR0EvRGhCLHVCQUF1QixvdUNDekJwQyxzbUdBeUZBOzs0RkRoRWEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLGtCQUFrQjs7MEJBbUV6QixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQUcsUUFBUTt5Q0FuRDVCLFdBQVc7c0JBQXBCLE1BQU07Z0JBTUcsaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgY29tcHV0ZWQsXG4gIGlucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVpQWN0aW9uTW9kZWwgfSBmcm9tICcuLi91aS1hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuLi8uLi91dGlsaXR5L2NvbXBvbmVudExpYnJhcnknO1xuaW1wb3J0IHsgVWlBY3Rpb25CdXR0b25UeXBlIH0gZnJvbSAnLi4vLi4vYXBpL21vZGVsL3VpQWN0aW9uQnV0dG9uVHlwZSc7XG5pbXBvcnQgeyBJY29uUG9zaXRpb24gfSBmcm9tICcuLi8uLi9hcGkvbW9kZWwvaWNvblBvc2l0aW9uJztcbmltcG9ydCB7IFN0eWxlLCBVaUFjdGlvbiwgVWlBY3Rpb25EZXNjcmlwdG9yIH0gZnJvbSAnLi4vLi4vYXBpJztcbmltcG9ydCB7IFNtYXJ0U3R5bGVVdGlsaXR5IH0gZnJvbSAnLi4vLi4vdXRpbGl0eS9zbWFydC1zdHlsZS11dGlsaXR5JztcbmltcG9ydCB7IEJ1dHRvbkljb25QbGFjZWhvbGRlciB9IGZyb20gJy4vYnV0dG9uLWljb24tcGxhY2Vob2xkZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1hY3Rpb24tYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VpLWFjdGlvbi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdWktYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPigpO1xuICBkZXNjcmlwdG9yID0gaW5wdXQucmVxdWlyZWQ8VWlBY3Rpb25EZXNjcmlwdG9yPigpO1xuICBjb2RlID0gaW5wdXQ8c3RyaW5nPigpO1xuICBpZGVudGlmaWVyID0gaW5wdXQ8c3RyaW5nPigpO1xuICB2aWV3QWN0aXZhdGVkID0gaW5wdXQ8Ym9vbGVhbiB8IG51bGw+KCk7XG4gIGFkZGVkQ3NzQ2xhc3MgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIGFkZEJhc2ljQ2xhc3NlcyA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICBpY29uUGxhY2Vob2xkZXIgPSBpbnB1dDxCdXR0b25JY29uUGxhY2Vob2xkZXI+KCk7XG5cbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgZXZlbnQ6IE1vdXNlRXZlbnQ7XG4gICAgZGVzY3JpcHRvcj86IFVpQWN0aW9uRGVzY3JpcHRvcjtcbiAgICBjb2RlPzogc3RyaW5nO1xuICAgIHVpQWN0aW9uPzogVWlBY3Rpb247XG4gIH0+KCk7XG4gIEBPdXRwdXQoKSBhY3Rpb25Eb3VibGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgIGV2ZW50OiBhbnk7XG4gICAgZGVzY3JpcHRvcj86IFVpQWN0aW9uRGVzY3JpcHRvcjtcbiAgICBjb2RlPzogc3RyaW5nO1xuICB9PigpO1xuXG4gIGNvbXBvbmVudExpYnJhcnkgPSBDb21wb25lbnRMaWJyYXJ5O1xuICBjb21wTGliOiBDb21wb25lbnRMaWJyYXJ5O1xuXG4gIHByZXNzZWRCdXR0b25BY3RpdmU6IGJvb2xlYW4gPSB0cnVlO1xuICBtZW51T3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZWZmZWN0aXZlRGVzY3JpcHRvciA9IGNvbXB1dGVkPFVpQWN0aW9uRGVzY3JpcHRvcj4oKCkgPT4ge1xuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSB0aGlzLmRlc2NyaXB0b3IoKTtcbiAgICBjb25zdCBjb2RlID0gdGhpcy5jb2RlKCk7XG5cbiAgICBjb25zdCBkZWZhdWx0czogUGFydGlhbDxVaUFjdGlvbkRlc2NyaXB0b3I+ID0ge1xuICAgICAgdGl0bGU6ICcnLFxuICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgIHR5cGU6IFVpQWN0aW9uQnV0dG9uVHlwZS5OT1JNQUwsXG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5kZWZhdWx0cyxcbiAgICAgIC4uLmRlc2NyaXB0b3IsXG4gICAgICB0aXRsZTogZGVzY3JpcHRvcj8udGl0bGUgPz8gZGVmYXVsdHMudGl0bGUsXG4gICAgICBjb2xvcjogZGVzY3JpcHRvcj8uY29sb3IgPz8gZGVmYXVsdHMuY29sb3IsXG4gICAgICB0eXBlOiBkZXNjcmlwdG9yPy50eXBlID8/IGRlZmF1bHRzLnR5cGUsXG4gICAgfSBhcyBVaUFjdGlvbkRlc2NyaXB0b3I7XG4gIH0pO1xuXG4gIG1haW5BY3Rpb25Nb2RlbCA9IGNvbXB1dGVkPFVpQWN0aW9uTW9kZWw+KFxuICAgICgpID0+XG4gICAgICAoe1xuICAgICAgICBkZXNjcmlwdG9yOiB0aGlzLmVmZmVjdGl2ZURlc2NyaXB0b3IoKSxcbiAgICAgICAgdWlBY3Rpb246IHtcbiAgICAgICAgICBkZXNjcmlwdG9yOiB0aGlzLmVmZmVjdGl2ZURlc2NyaXB0b3IoKSxcbiAgICAgICAgICBjb2RlOiB0aGlzLmNvZGUoKSxcbiAgICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCgpID8/IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSkgYXMgVWlBY3Rpb25Nb2RlbFxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEluamVjdChDT01QT05FTlRfTElCUkFSWSkgQE9wdGlvbmFsKCkgY29tcExpYj86IENvbXBvbmVudExpYnJhcnlcbiAgKSB7XG4gICAgdGhpcy5jb21wTGliID0gY29tcExpYiA/PyBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkc7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGFzeW5jIG9uQWN0aW9uQ2xpY2tlZChldmVudDogTW91c2VFdmVudCwgbW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoe1xuICAgICAgZXZlbnQsXG4gICAgICBjb2RlOiBtb2RlbC51aUFjdGlvbi5jb2RlLFxuICAgICAgZGVzY3JpcHRvcjogbW9kZWwuZGVzY3JpcHRvciEsXG4gICAgfSk7XG4gIH1cblxuICBvbkFjdGlvbkRvdWJsZUNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uRG91YmxlQ2xpY2suZW1pdCh7XG4gICAgICBldmVudCxcbiAgICAgIGNvZGU6IHRoaXMuY29kZSgpLFxuICAgICAgZGVzY3JpcHRvcjogdGhpcy5lZmZlY3RpdmVEZXNjcmlwdG9yKCksXG4gICAgfSk7XG4gIH1cblxuICBpY29uUG9zaXRpb24oKTogdHlwZW9mIEljb25Qb3NpdGlvbiB7XG4gICAgcmV0dXJuIEljb25Qb3NpdGlvbjtcbiAgfVxuXG4gIGlzT25seUljb24oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdHlwZSA9IHRoaXMuZWZmZWN0aXZlRGVzY3JpcHRvcigpPy50eXBlO1xuICAgIHJldHVybiAoXG4gICAgICB0eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTiB8fFxuICAgICAgdHlwZSA9PT0gVWlBY3Rpb25CdXR0b25UeXBlLk1JTklfRkFCIHx8XG4gICAgICB0eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuRkFCXG4gICAgKTtcbiAgfVxuXG4gIGdldGJ0bkNsYXNzKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmFkZEJhc2ljQ2xhc3NlcygpKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgY29sb3IgPSB0aGlzLmVmZmVjdGl2ZURlc2NyaXB0b3IoKS5jb2xvcjtcbiAgICBpZiAoY29sb3IpIHtcbiAgICAgIHJldHVybiAncC1idXR0b24tJyArIGNvbG9yICsgJyBzYjQtJyArIGNvbG9yO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXRUeXBlKCk6IGFueSB7XG4gICAgaWYgKCF0aGlzLmFkZEJhc2ljQ2xhc3NlcygpKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29tcExpYiA9PT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuZWZmZWN0aXZlRGVzY3JpcHRvcigpLnR5cGUpIHtcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMOlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnc2I0LW5vcm1hbCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkxBVDpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJ3NiNC1mbGF0JzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxuICAgICAgICAgIH07XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLlJBSVNFRDpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJ3NiNC1yYWlzZWQnOiB0cnVlLFxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJhaXNlZCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuU1RST0tFRDpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJ3NiNC1zdHJva2VkJzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJ1dHRvbi1vdXRsaW5lZCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTUlOSV9GQUI6XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdzYjQtbWluaWZhYic6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcbiAgICAgICAgICB9O1xuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GQUI6XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdzYjQtZmFiJzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yb3VuZGVkJzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxuICAgICAgICAgIH07XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLklDT046XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdzYjQtaWNvbic6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tcm91bmRlZCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tdGV4dCc6IHRydWUsXG4gICAgICAgICAgICAncC1idXR0b24tcmFpc2VkJzogdHJ1ZSxcbiAgICAgICAgICB9O1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnc2I0LWJhc2ljJzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJ1dHRvbi10ZXh0JzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJ1dHRvbi1yYWlzZWQnOiB0cnVlLFxuICAgICAgICAgICAgJ3AtYnV0dG9uLXJvdW5kZWQnOiB0cnVlLFxuICAgICAgICAgICAgJ3AtYnV0dG9uLW91dGxpbmVkJzogdHJ1ZSxcbiAgICAgICAgICB9O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuZWZmZWN0aXZlRGVzY3JpcHRvcigpLnR5cGUpIHtcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTk9STUFMOlxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1idXR0b24gc2I0LW5vcm1hbCc7XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLkZMQVQ6XG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWZsYXQtYnV0dG9uIHNiNC1mbGF0JztcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VEOlxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1yYWlzZWQtYnV0dG9uIHNiNC1yYWlzZWQnO1xuICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5TVFJPS0VEOlxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1zdHJva2VkLWJ1dHRvbiBzYjQtc3Ryb2tlZCc7XG4gICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLklDT046XG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLWljb24tYnV0dG9uIHNiNC1pY29uJztcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTUlOSV9GQUI6XG4gICAgICAgICAgcmV0dXJuICdtYXQtbWRjLW1pbmktZmFiIHNiNC1taW5pZmFiJztcbiAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRkFCOlxuICAgICAgICAgIHJldHVybiAnbWF0LW1kYy1mYWIgc2I0LWZhYic7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIGBtYXQtYnV0dG9uIHNiNC1iYXNpY2A7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2FsY1N0eWxlKHN0eWxlPzogU3R5bGUpOiBhbnkge1xuICAgIHJldHVybiBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ1N0eWxlcyhzdHlsZSk7XG4gIH1cbiAgY2FsY0NsYXNzZXMoc3R5bGU/OiBTdHlsZSk6IGFueSB7XG4gICAgcmV0dXJuIFNtYXJ0U3R5bGVVdGlsaXR5LmdldE5nQ2xhc3NlcyhzdHlsZSk7XG4gIH1cblxuICBnZXRDb21iaW5lZENsYXNzZXMoKTogYW55IHtcbiAgICBjb25zdCB0eXBlQ2xhc3NlcyA9IHRoaXMuZ2V0VHlwZSgpO1xuICAgIGNvbnN0IHN0eWxlQ2xhc3NlcyA9IHRoaXMuY2FsY0NsYXNzZXModGhpcy5lZmZlY3RpdmVEZXNjcmlwdG9yKCkuc3R5bGUpO1xuXG4gICAgLy8gTm9ybWFsaXplIHR5cGVDbGFzc2VzIHRvIG9iamVjdFxuICAgIGNvbnN0IHR5cGVPYmogPVxuICAgICAgdHlwZW9mIHR5cGVDbGFzc2VzID09PSAnc3RyaW5nJ1xuICAgICAgICA/IHR5cGVDbGFzc2VzLnNwbGl0KCcgJykucmVkdWNlKChhY2MsIGNscykgPT4gKHsgLi4uYWNjLCBbY2xzXTogdHJ1ZSB9KSwge30pXG4gICAgICAgIDogdHlwZUNsYXNzZXM7XG5cbiAgICAvLyBWaWV3LWFjdGl2YXRpb24gY2xhc3Nlcywgb3J0aG9nb25hbCB0byB0aGUgZGVzY3JpcHRvci50eXBlIGxvb2sgY2xhc3NlcyBhYm92ZS5cbiAgICBjb25zdCB2aWV3QWN0aXZhdGVkID0gdGhpcy52aWV3QWN0aXZhdGVkKCk7XG4gICAgY29uc3QgaXNPcGVuZXIgPSB2aWV3QWN0aXZhdGVkICE9PSBudWxsICYmIHZpZXdBY3RpdmF0ZWQgIT09IHVuZGVmaW5lZDtcbiAgICBjb25zdCBhY3RpdmF0aW9uQ2xhc3NlcyA9IHtcbiAgICAgICdzYjQtdmlldy1vcGVuZXInOiBpc09wZW5lcixcbiAgICAgICdzYjQtdmlldy1hY3RpdmF0ZWQnOiB2aWV3QWN0aXZhdGVkID09PSB0cnVlLFxuICAgICAgJ3NiNC12aWV3LW5vdC1hY3RpdmF0ZWQnOiB2aWV3QWN0aXZhdGVkID09PSBmYWxzZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHsgLi4udHlwZU9iaiwgLi4uc3R5bGVDbGFzc2VzLCAuLi5hY3RpdmF0aW9uQ2xhc3NlcyB9O1xuICB9XG5cbiAgcmVuZGVyUHJlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSB0aGlzLmVmZmVjdGl2ZURlc2NyaXB0b3IoKTtcbiAgICByZXR1cm4gKFxuICAgICAgZGVzY3JpcHRvci5pY29uUG9zaXRpb24gPT09IEljb25Qb3NpdGlvbi5QUkUgJiZcbiAgICAgIChkZXNjcmlwdG9yLmljb24gIT0gbnVsbCB8fCBkZXNjcmlwdG9yLmljb25SZXNvdXJjZSAhPSBudWxsKVxuICAgICk7XG4gIH1cblxuICByZW5kZXJQb3N0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSB0aGlzLmVmZmVjdGl2ZURlc2NyaXB0b3IoKTtcbiAgICByZXR1cm4gKFxuICAgICAgZGVzY3JpcHRvci5pY29uUG9zaXRpb24gPT09IEljb25Qb3NpdGlvbi5QT1NUICYmXG4gICAgICAoZGVzY3JpcHRvci5pY29uICE9IG51bGwgfHwgZGVzY3JpcHRvci5pY29uUmVzb3VyY2UgIT0gbnVsbClcbiAgICApO1xuICB9XG5cbiAgZ2V0Q29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lZmZlY3RpdmVEZXNjcmlwdG9yKCk/LmNvbG9yIHx8ICd0ZXh0JztcbiAgfVxuXG4gIHJlbmRlclBsYWNlaG9sZGVyUHJlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGljb25QbGFjZWhvbGRlciA9IHRoaXMuaWNvblBsYWNlaG9sZGVyKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIGljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLlBSRSB8fFxuICAgICAgaWNvblBsYWNlaG9sZGVyID09PSBCdXR0b25JY29uUGxhY2Vob2xkZXIuQk9USFxuICAgICk7XG4gIH1cblxuICByZW5kZXJQbGFjZWhvbGRlclBvc3QoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaWNvblBsYWNlaG9sZGVyID0gdGhpcy5pY29uUGxhY2Vob2xkZXIoKTtcbiAgICByZXR1cm4gKFxuICAgICAgaWNvblBsYWNlaG9sZGVyID09PSBCdXR0b25JY29uUGxhY2Vob2xkZXIuUE9TVCB8fFxuICAgICAgaWNvblBsYWNlaG9sZGVyID09PSBCdXR0b25JY29uUGxhY2Vob2xkZXIuQk9USFxuICAgICk7XG4gIH1cblxuICBnZXRKdXN0aWZ5Q29udGVudCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBpY29uUGxhY2Vob2xkZXIgPSB0aGlzLmljb25QbGFjZWhvbGRlcigpO1xuICAgIGlmICghaWNvblBsYWNlaG9sZGVyKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKGljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLkJPVEgpIHtcbiAgICAgIHJldHVybiAnY2VudGVyJztcbiAgICB9XG4gICAgaWYgKGljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLlBSRSkge1xuICAgICAgcmV0dXJuICdmbGV4LXN0YXJ0JztcbiAgICB9XG4gICAgaWYgKGljb25QbGFjZWhvbGRlciA9PT0gQnV0dG9uSWNvblBsYWNlaG9sZGVyLlBPU1QpIHtcbiAgICAgIHJldHVybiAnZmxleC1lbmQnO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldFNlcGFyYXRvckNvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdyZ2IoZnJvbSB2YXIoLS0nICsgdGhpcy5nZXRDb2xvcigpICsgJy1jb2xvcikgciBnIGIgLyAwLjgpJztcbiAgfVxuXG4gIGdldERhdGFUZXN0SWQoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuY29kZSgpKSB7XG4gICAgICBpZiAodGhpcy5pZGVudGlmaWVyKCkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29kZSgpISArICdfJyArIHRoaXMuaWRlbnRpZmllcigpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuY29kZSgpITtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiIsIkBpZiAoZWZmZWN0aXZlRGVzY3JpcHRvcigpLnR5cGUgPT09ICdTRVBBUkFUT1InKSB7XG4gIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj5cbiAgICBAaWYgKGVmZmVjdGl2ZURlc2NyaXB0b3IoKS50aXRsZSkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3ItbGFiZWxcIiBbc3R5bGUuY29sb3JdPVwiZ2V0U2VwYXJhdG9yQ29sb3IoKVwiPlxuICAgICAgICB7eyBlZmZlY3RpdmVEZXNjcmlwdG9yKCkudGl0bGUgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICB9XG4gICAgPGhyIGNsYXNzPVwic2VwYXJhdG9yLWxpbmVcIiBbc3R5bGUuYm9yZGVyLXRvcC1jb2xvcl09XCJnZXRTZXBhcmF0b3JDb2xvcigpXCIgLz5cbiAgPC9kaXY+XG59IEBlbHNlIHtcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbldpdGhCYWRnZVwiPjwvbmctY29udGFpbmVyPlxufVxuXG48bmctdGVtcGxhdGUgI2J1dHRvbldpdGhCYWRnZT5cbiAgQGlmIChlZmZlY3RpdmVEZXNjcmlwdG9yKCkgJiYgZWZmZWN0aXZlRGVzY3JpcHRvcigpLmJhZGdlKSB7XG4gICAgPHVpLWJhZGdlIFtkZXNjcmlwdG9yXT1cImVmZmVjdGl2ZURlc2NyaXB0b3IoKS5iYWRnZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC91aS1iYWRnZT5cbiAgfSBAZWxzZSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9uVGVtcGxhdGU+XG4gIEBpZiAoY29tcExpYiA9PT0gY29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XG4gICAgPGJ1dHRvblxuICAgICAgcEJ1dHRvblxuICAgICAgcFJpcHBsZVxuICAgICAgW3NtYXJ0VG9vbHRpcF09XCJlZmZlY3RpdmVEZXNjcmlwdG9yKCkudG9vbHRpcFwiXG4gICAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZCgpXCJcbiAgICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrZWQoJGV2ZW50LCBtYWluQWN0aW9uTW9kZWwoKSlcIlxuICAgICAgKGRibGNsaWNrKT1cIm9uQWN0aW9uRG91YmxlQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgIFthdXRvZm9jdXNdPVwiZmFsc2VcIlxuICAgICAgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGVmZmVjdGl2ZURlc2NyaXB0b3IoKS5zdHlsZSlcIlxuICAgICAgW25nQ2xhc3NdPVwiZ2V0Q29tYmluZWRDbGFzc2VzKClcIlxuICAgICAgW3N0eWxlLmp1c3RpZnktY29udGVudF09XCJnZXRKdXN0aWZ5Q29udGVudCgpXCJcbiAgICAgIGNsYXNzPVwie3sgZ2V0YnRuQ2xhc3MoKSB9fSB7eyBhZGRlZENzc0NsYXNzKCkgfX1cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJjb2RlKCkgPz8gbnVsbFwiXG4gICAgICBbYXR0ci5kYXRhLXRlc3RpZDJdPVwiZ2V0RGF0YVRlc3RJZCgpXCJcbiAgICA+XG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNPbmx5SWNvbigpOyB0aGVuIGJ1dHRvbkljb247IGVsc2UgdGV4dFwiPjwvZGl2PlxuICAgIDwvYnV0dG9uPlxuICB9IEBlbHNlIHtcbiAgICA8YnV0dG9uXG4gICAgICBtYXQtYnV0dG9uXG4gICAgICBbc21hcnRUb29sdGlwXT1cImVmZmVjdGl2ZURlc2NyaXB0b3IoKS50b29sdGlwXCJcbiAgICAgIFtjb2xvcl09XCJlZmZlY3RpdmVEZXNjcmlwdG9yKCkuY29sb3JcIlxuICAgICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWQoKVwiXG4gICAgICAoY2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgbWFpbkFjdGlvbk1vZGVsKCkpXCJcbiAgICAgIChkYmxjbGljayk9XCJvbkFjdGlvbkRvdWJsZUNsaWNrZWQoJGV2ZW50KVwiXG4gICAgICBbbmdTdHlsZV09XCJjYWxjU3R5bGUoZWZmZWN0aXZlRGVzY3JpcHRvcigpLnN0eWxlKVwiXG4gICAgICBbbmdDbGFzc109XCJnZXRDb21iaW5lZENsYXNzZXMoKVwiXG4gICAgICBbc3R5bGUuanVzdGlmeS1jb250ZW50XT1cImdldEp1c3RpZnlDb250ZW50KClcIlxuICAgICAgY2xhc3M9XCJ7eyBnZXRidG5DbGFzcygpIH19IHt7IGFkZGVkQ3NzQ2xhc3MoKSB9fVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cImNvZGUoKSA/PyBudWxsXCJcbiAgICAgIFthdHRyLmRhdGEtdGVzdGlkMl09XCJnZXREYXRhVGVzdElkKClcIlxuICAgID5cbiAgICAgIDxkaXYgKm5nSWY9XCJpc09ubHlJY29uKCk7IHRoZW4gYnV0dG9uSWNvbjsgZWxzZSB0ZXh0XCI+PC9kaXY+XG4gICAgPC9idXR0b24+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGV4dD5cbiAgQGlmIChyZW5kZXJQcmUoKSB8fCByZW5kZXJQbGFjZWhvbGRlclByZSgpKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbkljb25cIiAvPlxuICB9XG4gIHt7IGVmZmVjdGl2ZURlc2NyaXB0b3IoKS50aXRsZSB9fVxuICBAaWYgKHJlbmRlclBvc3QoKSB8fCByZW5kZXJQbGFjZWhvbGRlclBvc3QoKSkge1xuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25JY29uXCIgLz5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNidXR0b25JY29uPlxuICBAaWYgKHJlbmRlclBsYWNlaG9sZGVyUHJlKCkgfHwgcmVuZGVyUGxhY2Vob2xkZXJQb3N0KCkpIHtcbiAgICA8c21hcnQtaWNvbj48L3NtYXJ0LWljb24+XG4gIH0gQGVsc2UgaWYgKGVmZmVjdGl2ZURlc2NyaXB0b3IoKS5pY29uUmVzb3VyY2UpIHtcbiAgICA8c21hcnQtaWNvblxuICAgICAgW2ltYWdlUmVzb3VyY2VdPVwiZWZmZWN0aXZlRGVzY3JpcHRvcigpLmljb25SZXNvdXJjZVwiXG4gICAgICBbY29sb3JdPVwiZWZmZWN0aXZlRGVzY3JpcHRvcigpLmljb25Db2xvciB8fCBlZmZlY3RpdmVEZXNjcmlwdG9yKCkuY29sb3JcIlxuICAgID48L3NtYXJ0LWljb24+XG4gIH0gQGVsc2Uge1xuICAgIDxzbWFydC1pY29uXG4gICAgICBbaWNvbl09XCJlZmZlY3RpdmVEZXNjcmlwdG9yKCkuaWNvblwiXG4gICAgICBbY29sb3JdPVwiZWZmZWN0aXZlRGVzY3JpcHRvcigpLmljb25Db2xvciB8fCBlZmZlY3RpdmVEZXNjcmlwdG9yKCkuY29sb3JcIlxuICAgID48L3NtYXJ0LWljb24+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=