@alfresco/adf-core 8.1.0-16295066092 → 8.1.0-16320806191

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 (599) hide show
  1. package/bundles/assets/adf-core/i18n/de.json +1 -1
  2. package/bundles/assets/adf-core/i18n/es.json +1 -1
  3. package/bundles/assets/adf-core/i18n/fr.json +1 -1
  4. package/bundles/assets/adf-core/i18n/it.json +1 -1
  5. package/bundles/assets/adf-core/i18n/pl.json +1 -1
  6. package/bundles/assets/adf-core/i18n/pt.json +1 -1
  7. package/esm2022/adf-core.mjs +5 -0
  8. package/esm2022/api/alfresco-adf-core-api.mjs +5 -0
  9. package/esm2022/api/index.mjs +20 -0
  10. package/esm2022/api/lib/adf-http-client.service.mjs +311 -0
  11. package/esm2022/api/lib/alfresco-api/alfresco-api.param-encoder.mjs +33 -0
  12. package/esm2022/api/lib/alfresco-api/alfresco-api.response-error.mjs +25 -0
  13. package/esm2022/api/lib/alfresco-api/alfresco-api.utils.mjs +80 -0
  14. package/esm2022/api/lib/interfaces.mjs +18 -0
  15. package/esm2022/api/lib/types.mjs +18 -0
  16. package/esm2022/auth/alfresco-adf-core-auth.mjs +5 -0
  17. package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +56 -0
  18. package/esm2022/auth/authentication.mjs +19 -0
  19. package/esm2022/auth/index.mjs +19 -0
  20. package/esm2022/breadcrumbs/alfresco-adf-core-breadcrumbs.mjs +5 -0
  21. package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +82 -0
  22. package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +42 -0
  23. package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +44 -0
  24. package/esm2022/breadcrumbs/index.mjs +19 -0
  25. package/esm2022/feature-flags/alfresco-adf-core-feature-flags.mjs +5 -0
  26. package/esm2022/feature-flags/index.mjs +29 -0
  27. package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +36 -0
  28. package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +56 -0
  29. package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +129 -0
  30. package/esm2022/feature-flags/lib/directives/features.directive.mjs +63 -0
  31. package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +63 -0
  32. package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +38 -0
  33. package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +38 -0
  34. package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +40 -0
  35. package/esm2022/feature-flags/lib/interfaces/features.interface.mjs +24 -0
  36. package/esm2022/feature-flags/lib/mocks/features-service-mock.factory.mjs +62 -0
  37. package/esm2022/feature-flags/lib/providers/debug-feature-flags.provider.mjs +51 -0
  38. package/esm2022/feature-flags/lib/providers/dummy-feature-flags.provider.mjs +36 -0
  39. package/esm2022/feature-flags/lib/services/debug-features.service.mjs +94 -0
  40. package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +40 -0
  41. package/esm2022/feature-flags/lib/services/flagset.parser.mjs +38 -0
  42. package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +62 -0
  43. package/esm2022/feature-flags/lib/services/storage-features.service.mjs +126 -0
  44. package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +51 -0
  45. package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +51 -0
  46. package/esm2022/lib/about/about-module-list/module-list.component.mjs +51 -0
  47. package/esm2022/lib/about/about-package/package-list.component.mjs +65 -0
  48. package/esm2022/lib/about/about-panel.directive.mjs +37 -0
  49. package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +59 -0
  50. package/esm2022/lib/about/about-repository-info/repository-info.interface.mjs +18 -0
  51. package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +42 -0
  52. package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +51 -0
  53. package/esm2022/lib/about/about.component.mjs +35 -0
  54. package/esm2022/lib/about/about.module.mjs +75 -0
  55. package/esm2022/lib/about/index.mjs +18 -0
  56. package/esm2022/lib/about/interfaces.mjs +18 -0
  57. package/esm2022/lib/about/public-api.mjs +28 -0
  58. package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +51 -0
  59. package/esm2022/lib/app-config/app-config.loader.mjs +41 -0
  60. package/esm2022/lib/app-config/app-config.module.mjs +33 -0
  61. package/esm2022/lib/app-config/app-config.pipe.mjs +38 -0
  62. package/esm2022/lib/app-config/app-config.service.mjs +243 -0
  63. package/esm2022/lib/app-config/debug-app-config.service.mjs +44 -0
  64. package/esm2022/lib/app-config/index.mjs +18 -0
  65. package/esm2022/lib/app-config/public-api.mjs +22 -0
  66. package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +67 -0
  67. package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +356 -0
  68. package/esm2022/lib/auth/basic-auth/content-auth.mjs +189 -0
  69. package/esm2022/lib/auth/basic-auth/process-auth.mjs +193 -0
  70. package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +31 -0
  71. package/esm2022/lib/auth/guard/auth-guard-ecm.service.mjs +31 -0
  72. package/esm2022/lib/auth/guard/auth-guard-sso-role.service.mjs +57 -0
  73. package/esm2022/lib/auth/guard/auth-guard.mjs +53 -0
  74. package/esm2022/lib/auth/guard/auth-guard.service.mjs +113 -0
  75. package/esm2022/lib/auth/index.mjs +18 -0
  76. package/esm2022/lib/auth/interfaces/authentication-service.interface.mjs +18 -0
  77. package/esm2022/lib/auth/interfaces/authentication.interface.mjs +18 -0
  78. package/esm2022/lib/auth/interfaces/identity-group.interface.mjs +18 -0
  79. package/esm2022/lib/auth/interfaces/identity-user.service.interface.mjs +18 -0
  80. package/esm2022/lib/auth/interfaces/openid-configuration.interface.mjs +18 -0
  81. package/esm2022/lib/auth/models/application-access.model.mjs +18 -0
  82. package/esm2022/lib/auth/models/identity-group.model.mjs +18 -0
  83. package/esm2022/lib/auth/models/identity-role.model.mjs +30 -0
  84. package/esm2022/lib/auth/models/identity-user.model.mjs +18 -0
  85. package/esm2022/lib/auth/models/oauth-config.model.mjs +18 -0
  86. package/esm2022/lib/auth/models/redirection.model.mjs +28 -0
  87. package/esm2022/lib/auth/models/user-access.model.mjs +18 -0
  88. package/esm2022/lib/auth/oidc/auth-config.mjs +19 -0
  89. package/esm2022/lib/auth/oidc/auth-config.service.mjs +110 -0
  90. package/esm2022/lib/auth/oidc/auth-routing.module.mjs +34 -0
  91. package/esm2022/lib/auth/oidc/auth.module.mjs +112 -0
  92. package/esm2022/lib/auth/oidc/auth.service.mjs +22 -0
  93. package/esm2022/lib/auth/oidc/oidc-auth.guard.mjs +37 -0
  94. package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +202 -0
  95. package/esm2022/lib/auth/oidc/public-api.mjs +24 -0
  96. package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +267 -0
  97. package/esm2022/lib/auth/oidc/retry-login.service.mjs +66 -0
  98. package/esm2022/lib/auth/oidc/token.interceptor.mjs +62 -0
  99. package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +31 -0
  100. package/esm2022/lib/auth/public-api.mjs +44 -0
  101. package/esm2022/lib/auth/services/authentication.service.mjs +190 -0
  102. package/esm2022/lib/auth/services/base-authentication.service.mjs +99 -0
  103. package/esm2022/lib/auth/services/identity-group.service.mjs +269 -0
  104. package/esm2022/lib/auth/services/identity-role.service.mjs +99 -0
  105. package/esm2022/lib/auth/services/identity-user.service.mjs +443 -0
  106. package/esm2022/lib/auth/services/jwt-helper.service.mjs +205 -0
  107. package/esm2022/lib/auth/services/oauth2.service.mjs +69 -0
  108. package/esm2022/lib/auth/services/time-sync.service.mjs +83 -0
  109. package/esm2022/lib/auth/services/user-access.service.mjs +110 -0
  110. package/esm2022/lib/avatar/avatar.component.mjs +51 -0
  111. package/esm2022/lib/blank-page/blank-page.component.mjs +31 -0
  112. package/esm2022/lib/blank-page/blank-page.module.mjs +33 -0
  113. package/esm2022/lib/blank-page/index.mjs +18 -0
  114. package/esm2022/lib/blank-page/public-api.mjs +19 -0
  115. package/esm2022/lib/button/button.component.mjs +61 -0
  116. package/esm2022/lib/card-view/card-view.module.mjs +80 -0
  117. package/esm2022/lib/card-view/components/base-card-view.mjs +51 -0
  118. package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +66 -0
  119. package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +55 -0
  120. package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +39 -0
  121. package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +182 -0
  122. package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +108 -0
  123. package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +64 -0
  124. package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +46 -0
  125. package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +137 -0
  126. package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +113 -0
  127. package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +239 -0
  128. package/esm2022/lib/card-view/components/card-view.components.mjs +28 -0
  129. package/esm2022/lib/card-view/index.mjs +18 -0
  130. package/esm2022/lib/card-view/interfaces/base-card-view-update.interface.mjs +18 -0
  131. package/esm2022/lib/card-view/interfaces/card-view-arrayitem-properties.interface.mjs +18 -0
  132. package/esm2022/lib/card-view/interfaces/card-view-boolitem-properties.interface.mjs +18 -0
  133. package/esm2022/lib/card-view/interfaces/card-view-dateitem-properties.interface.mjs +18 -0
  134. package/esm2022/lib/card-view/interfaces/card-view-item-properties.interface.mjs +18 -0
  135. package/esm2022/lib/card-view/interfaces/card-view-item-validator.interface.mjs +18 -0
  136. package/esm2022/lib/card-view/interfaces/card-view-item.interface.mjs +18 -0
  137. package/esm2022/lib/card-view/interfaces/card-view-keyvaluepairsitem-properties.interface.mjs +18 -0
  138. package/esm2022/lib/card-view/interfaces/card-view-selectitem-properties.interface.mjs +18 -0
  139. package/esm2022/lib/card-view/interfaces/card-view-textitem-pipe-property.interface.mjs +18 -0
  140. package/esm2022/lib/card-view/interfaces/card-view-textitem-properties.interface.mjs +18 -0
  141. package/esm2022/lib/card-view/interfaces/card-view.interfaces.mjs +29 -0
  142. package/esm2022/lib/card-view/interfaces/click-notification.interface.mjs +18 -0
  143. package/esm2022/lib/card-view/interfaces/update-notification.interface.mjs +18 -0
  144. package/esm2022/lib/card-view/models/card-view-arrayitem.model.mjs +28 -0
  145. package/esm2022/lib/card-view/models/card-view-baseitem.model.mjs +64 -0
  146. package/esm2022/lib/card-view/models/card-view-boolitem.model.mjs +36 -0
  147. package/esm2022/lib/card-view/models/card-view-dateitem.model.mjs +58 -0
  148. package/esm2022/lib/card-view/models/card-view-datetimeitem.model.mjs +28 -0
  149. package/esm2022/lib/card-view/models/card-view-floatitem.model.mjs +33 -0
  150. package/esm2022/lib/card-view/models/card-view-intitem.model.mjs +36 -0
  151. package/esm2022/lib/card-view/models/card-view-keyvaluepairs.model.mjs +27 -0
  152. package/esm2022/lib/card-view/models/card-view-longitem.model.mjs +36 -0
  153. package/esm2022/lib/card-view/models/card-view-mapitem.model.mjs +32 -0
  154. package/esm2022/lib/card-view/models/card-view-selectitem.model.mjs +41 -0
  155. package/esm2022/lib/card-view/models/card-view-textitem.model.mjs +40 -0
  156. package/esm2022/lib/card-view/models/card-view.models.mjs +29 -0
  157. package/esm2022/lib/card-view/public-api.mjs +25 -0
  158. package/esm2022/lib/card-view/services/card-item-types.service.mjs +54 -0
  159. package/esm2022/lib/card-view/services/card-view-update.service.mjs +59 -0
  160. package/esm2022/lib/card-view/services/card-view.services.mjs +19 -0
  161. package/esm2022/lib/card-view/validators/card-view-item-float.validator.mjs +31 -0
  162. package/esm2022/lib/card-view/validators/card-view-item-int.validator.mjs +35 -0
  163. package/esm2022/lib/card-view/validators/card-view-item-length.validator.mjs +34 -0
  164. package/esm2022/lib/card-view/validators/card-view-item-long.validator.mjs +35 -0
  165. package/esm2022/lib/card-view/validators/card-view-item-match.validator.mjs +35 -0
  166. package/esm2022/lib/card-view/validators/card-view-item-minmax.validator.mjs +35 -0
  167. package/esm2022/lib/card-view/validators/card-view-item-only-positive-int.validator.mjs +32 -0
  168. package/esm2022/lib/card-view/validators/card-view-item-only-positive-long.validator.mjs +31 -0
  169. package/esm2022/lib/card-view/validators/card-view.validators.mjs +26 -0
  170. package/esm2022/lib/card-view/validators/validators.map.mjs +26 -0
  171. package/esm2022/lib/clipboard/clipboard.directive.mjs +98 -0
  172. package/esm2022/lib/clipboard/clipboard.module.mjs +34 -0
  173. package/esm2022/lib/clipboard/clipboard.service.mjs +103 -0
  174. package/esm2022/lib/clipboard/index.mjs +18 -0
  175. package/esm2022/lib/clipboard/public-api.mjs +21 -0
  176. package/esm2022/lib/comments/comment-list/comment-list.component.mjs +52 -0
  177. package/esm2022/lib/comments/comment-list/comment-list.module.mjs +33 -0
  178. package/esm2022/lib/comments/comment-list/index.mjs +18 -0
  179. package/esm2022/lib/comments/comment-list/public-api.mjs +19 -0
  180. package/esm2022/lib/comments/comments.component.mjs +132 -0
  181. package/esm2022/lib/comments/comments.module.mjs +33 -0
  182. package/esm2022/lib/comments/index.mjs +18 -0
  183. package/esm2022/lib/comments/interfaces/comments-service.interface.mjs +18 -0
  184. package/esm2022/lib/comments/interfaces/comments.token.mjs +19 -0
  185. package/esm2022/lib/comments/public-api.mjs +22 -0
  186. package/esm2022/lib/common/index.mjs +35 -0
  187. package/esm2022/lib/common/interface/search-component.interface.mjs +18 -0
  188. package/esm2022/lib/common/mock/app-config.service.mock.mjs +47 -0
  189. package/esm2022/lib/common/models/default-languages.model.mjs +36 -0
  190. package/esm2022/lib/common/models/log-levels.model.mjs +33 -0
  191. package/esm2022/lib/common/models/user-info-mode.enum.mjs +25 -0
  192. package/esm2022/lib/common/services/cookie.service.mjs +82 -0
  193. package/esm2022/lib/common/services/download.service.mjs +102 -0
  194. package/esm2022/lib/common/services/dynamic-component-mapper.service.mjs +89 -0
  195. package/esm2022/lib/common/services/highlight-transform.service.mjs +61 -0
  196. package/esm2022/lib/common/services/language-item.interface.mjs +18 -0
  197. package/esm2022/lib/common/services/log.service.mjs +171 -0
  198. package/esm2022/lib/common/services/page-title.service.mjs +63 -0
  199. package/esm2022/lib/common/services/sort-by-category.service.mjs +81 -0
  200. package/esm2022/lib/common/services/storage.service.mjs +143 -0
  201. package/esm2022/lib/common/services/thumbnail.service.mjs +194 -0
  202. package/esm2022/lib/common/services/url.service.mjs +45 -0
  203. package/esm2022/lib/common/services/user-preferences.service.mjs +238 -0
  204. package/esm2022/lib/common/utils/date-fns-adapter.mjs +115 -0
  205. package/esm2022/lib/common/utils/date-fns-utils.mjs +222 -0
  206. package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +134 -0
  207. package/esm2022/lib/common/utils/file-utils.mjs +65 -0
  208. package/esm2022/lib/common/utils/index.mjs +18 -0
  209. package/esm2022/lib/common/utils/moment-date-adapter.mjs +202 -0
  210. package/esm2022/lib/common/utils/moment-date-formats.model.mjs +32 -0
  211. package/esm2022/lib/common/utils/object-utils.mjs +107 -0
  212. package/esm2022/lib/common/utils/public-api.mjs +25 -0
  213. package/esm2022/lib/common/utils/string-utils.mjs +45 -0
  214. package/esm2022/lib/context-menu/animations.mjs +33 -0
  215. package/esm2022/lib/context-menu/context-menu-list.component.mjs +91 -0
  216. package/esm2022/lib/context-menu/context-menu-overlay.mjs +25 -0
  217. package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +109 -0
  218. package/esm2022/lib/context-menu/context-menu.directive.mjs +63 -0
  219. package/esm2022/lib/context-menu/context-menu.module.mjs +35 -0
  220. package/esm2022/lib/context-menu/context-menu.tokens.mjs +19 -0
  221. package/esm2022/lib/context-menu/index.mjs +18 -0
  222. package/esm2022/lib/context-menu/interfaces.mjs +18 -0
  223. package/esm2022/lib/context-menu/public-api.mjs +21 -0
  224. package/esm2022/lib/core.module.mjs +314 -0
  225. package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +45 -0
  226. package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +65 -0
  227. package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +55 -0
  228. package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +113 -0
  229. package/esm2022/lib/datatable/components/data-cell.event.mjs +31 -0
  230. package/esm2022/lib/datatable/components/data-row-action.event.mjs +34 -0
  231. package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +914 -0
  232. package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +126 -0
  233. package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +98 -0
  234. package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +78 -0
  235. package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +60 -0
  236. package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +49 -0
  237. package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +67 -0
  238. package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +86 -0
  239. package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +69 -0
  240. package/esm2022/lib/datatable/components/mocks/datatable.mock.mjs +153 -0
  241. package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +42 -0
  242. package/esm2022/lib/datatable/data/data-column.model.mjs +18 -0
  243. package/esm2022/lib/datatable/data/data-row-event.model.mjs +26 -0
  244. package/esm2022/lib/datatable/data/data-row-update.model.mjs +18 -0
  245. package/esm2022/lib/datatable/data/data-row.model.mjs +18 -0
  246. package/esm2022/lib/datatable/data/data-sorting.model.mjs +24 -0
  247. package/esm2022/lib/datatable/data/data-table.schema.mjs +132 -0
  248. package/esm2022/lib/datatable/data/datatable-adapter.mjs +18 -0
  249. package/esm2022/lib/datatable/data/object-datacolumn.model.mjs +46 -0
  250. package/esm2022/lib/datatable/data/object-datarow.model.mjs +41 -0
  251. package/esm2022/lib/datatable/data/object-datatable-adapter.mjs +134 -0
  252. package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +45 -0
  253. package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +36 -0
  254. package/esm2022/lib/datatable/data-column/data-column.component.mjs +114 -0
  255. package/esm2022/lib/datatable/data-column/index.mjs +18 -0
  256. package/esm2022/lib/datatable/data-column/public-api.mjs +20 -0
  257. package/esm2022/lib/datatable/datatable.module.mjs +161 -0
  258. package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +35 -0
  259. package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +30 -0
  260. package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +35 -0
  261. package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +89 -0
  262. package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +43 -0
  263. package/esm2022/lib/datatable/directives/loading-template.directive.mjs +46 -0
  264. package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +43 -0
  265. package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +46 -0
  266. package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +46 -0
  267. package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +173 -0
  268. package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +72 -0
  269. package/esm2022/lib/datatable/directives/resizable/types.mjs +18 -0
  270. package/esm2022/lib/datatable/index.mjs +18 -0
  271. package/esm2022/lib/datatable/public-api.mjs +55 -0
  272. package/esm2022/lib/datatable/services/datatable.service.mjs +33 -0
  273. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +50 -0
  274. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +38 -0
  275. package/esm2022/lib/dialogs/dialog/dialog-data.interface.mjs +18 -0
  276. package/esm2022/lib/dialogs/dialog/dialog.component.mjs +70 -0
  277. package/esm2022/lib/dialogs/dialog/dialog.model.mjs +22 -0
  278. package/esm2022/lib/dialogs/dialog/index.mjs +20 -0
  279. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +52 -0
  280. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +34 -0
  281. package/esm2022/lib/dialogs/index.mjs +18 -0
  282. package/esm2022/lib/dialogs/public-api.mjs +25 -0
  283. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +73 -0
  284. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.model.mjs +18 -0
  285. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +33 -0
  286. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +64 -0
  287. package/esm2022/lib/directives/directive.module.mjs +56 -0
  288. package/esm2022/lib/directives/highlight.directive.mjs +67 -0
  289. package/esm2022/lib/directives/index.mjs +18 -0
  290. package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +67 -0
  291. package/esm2022/lib/directives/logout.directive.mjs +72 -0
  292. package/esm2022/lib/directives/public-api.mjs +24 -0
  293. package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +60 -0
  294. package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +104 -0
  295. package/esm2022/lib/directives/upload.directive.mjs +241 -0
  296. package/esm2022/lib/dynamic-chip-list/chip.mjs +18 -0
  297. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +204 -0
  298. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +33 -0
  299. package/esm2022/lib/dynamic-chip-list/index.mjs +18 -0
  300. package/esm2022/lib/dynamic-chip-list/public-api.mjs +20 -0
  301. package/esm2022/lib/events/base-ui.event.mjs +21 -0
  302. package/esm2022/lib/events/base.event.mjs +29 -0
  303. package/esm2022/lib/events/index.mjs +18 -0
  304. package/esm2022/lib/events/public-api.mjs +19 -0
  305. package/esm2022/lib/form/components/form-base.component.mjs +212 -0
  306. package/esm2022/lib/form/components/form-custom-button.directive.mjs +30 -0
  307. package/esm2022/lib/form/components/form-field/form-field.component.mjs +142 -0
  308. package/esm2022/lib/form/components/form-renderer.component.mjs +161 -0
  309. package/esm2022/lib/form/components/form-section/form-section.component.mjs +46 -0
  310. package/esm2022/lib/form/components/helpers/buttons-visibility.mjs +37 -0
  311. package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +37 -0
  312. package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +48 -0
  313. package/esm2022/lib/form/components/middlewares/middleware.mjs +19 -0
  314. package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +77 -0
  315. package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +59 -0
  316. package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +52 -0
  317. package/esm2022/lib/form/components/widgets/core/container-column.model.mjs +28 -0
  318. package/esm2022/lib/form/components/widgets/core/container.model.mjs +50 -0
  319. package/esm2022/lib/form/components/widgets/core/content-link.model.mjs +52 -0
  320. package/esm2022/lib/form/components/widgets/core/displayable-cm-properties.model.mjs +18 -0
  321. package/esm2022/lib/form/components/widgets/core/error-message.model.mjs +38 -0
  322. package/esm2022/lib/form/components/widgets/core/external-content-link.mjs +18 -0
  323. package/esm2022/lib/form/components/widgets/core/external-content.mjs +18 -0
  324. package/esm2022/lib/form/components/widgets/core/form-field-file-source.mjs +18 -0
  325. package/esm2022/lib/form/components/widgets/core/form-field-metadata.mjs +18 -0
  326. package/esm2022/lib/form/components/widgets/core/form-field-option.mjs +18 -0
  327. package/esm2022/lib/form/components/widgets/core/form-field-rule.mjs +18 -0
  328. package/esm2022/lib/form/components/widgets/core/form-field-selected-folder.mjs +18 -0
  329. package/esm2022/lib/form/components/widgets/core/form-field-templates.mjs +18 -0
  330. package/esm2022/lib/form/components/widgets/core/form-field-types.mjs +74 -0
  331. package/esm2022/lib/form/components/widgets/core/form-field-utils.mjs +23 -0
  332. package/esm2022/lib/form/components/widgets/core/form-field-validator.mjs +268 -0
  333. package/esm2022/lib/form/components/widgets/core/form-field-variable-options.mjs +18 -0
  334. package/esm2022/lib/form/components/widgets/core/form-field.model.mjs +490 -0
  335. package/esm2022/lib/form/components/widgets/core/form-outcome-event.model.mjs +32 -0
  336. package/esm2022/lib/form/components/widgets/core/form-outcome.model.mjs +38 -0
  337. package/esm2022/lib/form/components/widgets/core/form-values.mjs +18 -0
  338. package/esm2022/lib/form/components/widgets/core/form-variable.model.mjs +18 -0
  339. package/esm2022/lib/form/components/widgets/core/form-widget.model.mjs +33 -0
  340. package/esm2022/lib/form/components/widgets/core/form.model.mjs +387 -0
  341. package/esm2022/lib/form/components/widgets/core/group.model.mjs +18 -0
  342. package/esm2022/lib/form/components/widgets/core/index.mjs +49 -0
  343. package/esm2022/lib/form/components/widgets/core/predefined-theme.mjs +115 -0
  344. package/esm2022/lib/form/components/widgets/core/process-form-model.interface.mjs +18 -0
  345. package/esm2022/lib/form/components/widgets/core/process-variable.model.mjs +18 -0
  346. package/esm2022/lib/form/components/widgets/core/tab.model.mjs +34 -0
  347. package/esm2022/lib/form/components/widgets/core/theme.model.mjs +18 -0
  348. package/esm2022/lib/form/components/widgets/core/upload-widget-content-link.model.mjs +27 -0
  349. package/esm2022/lib/form/components/widgets/core/widget-schema.model.mjs +18 -0
  350. package/esm2022/lib/form/components/widgets/date/date.widget.mjs +162 -0
  351. package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +153 -0
  352. package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +53 -0
  353. package/esm2022/lib/form/components/widgets/display-text/display-text.schema.mjs +86 -0
  354. package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +46 -0
  355. package/esm2022/lib/form/components/widgets/display-text/index.mjs +19 -0
  356. package/esm2022/lib/form/components/widgets/error/error.component.mjs +92 -0
  357. package/esm2022/lib/form/components/widgets/header/header.schema.mjs +86 -0
  358. package/esm2022/lib/form/components/widgets/header/header.widget.mjs +42 -0
  359. package/esm2022/lib/form/components/widgets/header/index.mjs +19 -0
  360. package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +69 -0
  361. package/esm2022/lib/form/components/widgets/index.mjs +71 -0
  362. package/esm2022/lib/form/components/widgets/json/json.widget.mjs +66 -0
  363. package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +55 -0
  364. package/esm2022/lib/form/components/widgets/number/number.widget.mjs +71 -0
  365. package/esm2022/lib/form/components/widgets/reactive-widget.interface.mjs +18 -0
  366. package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +215 -0
  367. package/esm2022/lib/form/components/widgets/text/text.widget.mjs +65 -0
  368. package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +63 -0
  369. package/esm2022/lib/form/components/widgets/widget.component.mjs +110 -0
  370. package/esm2022/lib/form/events/form-error.event.mjs +24 -0
  371. package/esm2022/lib/form/events/form-field.event.mjs +24 -0
  372. package/esm2022/lib/form/events/form-rules.event.mjs +25 -0
  373. package/esm2022/lib/form/events/form-spinner.event.mjs +23 -0
  374. package/esm2022/lib/form/events/form.event.mjs +29 -0
  375. package/esm2022/lib/form/events/index.mjs +24 -0
  376. package/esm2022/lib/form/events/validate-form-field.event.mjs +24 -0
  377. package/esm2022/lib/form/events/validate-form.event.mjs +25 -0
  378. package/esm2022/lib/form/form-base.module.mjs +90 -0
  379. package/esm2022/lib/form/index.mjs +18 -0
  380. package/esm2022/lib/form/models/form-rules.model.mjs +77 -0
  381. package/esm2022/lib/form/models/task-process-variable.model.mjs +19 -0
  382. package/esm2022/lib/form/models/widget-visibility.model.mjs +104 -0
  383. package/esm2022/lib/form/pipes/field-style.pipe.mjs +45 -0
  384. package/esm2022/lib/form/pipes/index.mjs +18 -0
  385. package/esm2022/lib/form/public-api.mjs +35 -0
  386. package/esm2022/lib/form/services/form-rendering.service.mjs +53 -0
  387. package/esm2022/lib/form/services/form-validation-service.interface.mjs +18 -0
  388. package/esm2022/lib/form/services/form.service.mjs +86 -0
  389. package/esm2022/lib/form/services/widget-visibility.service.mjs +294 -0
  390. package/esm2022/lib/header/header.component.mjs +73 -0
  391. package/esm2022/lib/header/index.mjs +18 -0
  392. package/esm2022/lib/header/navbar/navbar-item.component.mjs +37 -0
  393. package/esm2022/lib/header/navbar/navbar.component.mjs +36 -0
  394. package/esm2022/lib/header/public-api.mjs +20 -0
  395. package/esm2022/lib/icon/icon.component.mjs +51 -0
  396. package/esm2022/lib/icon/icon.module.mjs +36 -0
  397. package/esm2022/lib/icon/index.mjs +18 -0
  398. package/esm2022/lib/icon/public-api.mjs +19 -0
  399. package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +86 -0
  400. package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +33 -0
  401. package/esm2022/lib/identity-user-info/index.mjs +18 -0
  402. package/esm2022/lib/identity-user-info/public-api.mjs +19 -0
  403. package/esm2022/lib/info-drawer/index.mjs +18 -0
  404. package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +71 -0
  405. package/esm2022/lib/info-drawer/info-drawer.component.mjs +113 -0
  406. package/esm2022/lib/info-drawer/info-drawer.module.mjs +53 -0
  407. package/esm2022/lib/info-drawer/public-api.mjs +20 -0
  408. package/esm2022/lib/interface/index.mjs +18 -0
  409. package/esm2022/lib/interface/injection.tokens.mjs +19 -0
  410. package/esm2022/lib/interface/public-api.mjs +18 -0
  411. package/esm2022/lib/language-menu/index.mjs +18 -0
  412. package/esm2022/lib/language-menu/language-menu.component.mjs +61 -0
  413. package/esm2022/lib/language-menu/language-menu.module.mjs +35 -0
  414. package/esm2022/lib/language-menu/language-picker.component.mjs +77 -0
  415. package/esm2022/lib/language-menu/public-api.mjs +21 -0
  416. package/esm2022/lib/language-menu/service/language.service.interface.mjs +18 -0
  417. package/esm2022/lib/language-menu/service/language.service.mjs +34 -0
  418. package/esm2022/lib/layout/components/header/header.component.mjs +99 -0
  419. package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +180 -0
  420. package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +82 -0
  421. package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +145 -0
  422. package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +33 -0
  423. package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +33 -0
  424. package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +33 -0
  425. package/esm2022/lib/layout/index.mjs +18 -0
  426. package/esm2022/lib/layout/layout.module.mjs +72 -0
  427. package/esm2022/lib/layout/public-api.mjs +25 -0
  428. package/esm2022/lib/login/components/login/login.component.mjs +367 -0
  429. package/esm2022/lib/login/components/login-dialog/login-dialog-component-data.interface.mjs +18 -0
  430. package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +57 -0
  431. package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +48 -0
  432. package/esm2022/lib/login/directives/login-footer.directive.mjs +41 -0
  433. package/esm2022/lib/login/directives/login-header.directive.mjs +41 -0
  434. package/esm2022/lib/login/index.mjs +18 -0
  435. package/esm2022/lib/login/login.module.mjs +54 -0
  436. package/esm2022/lib/login/models/login-error.event.mjs +22 -0
  437. package/esm2022/lib/login/models/login-submit.event.mjs +32 -0
  438. package/esm2022/lib/login/models/login-success.event.mjs +24 -0
  439. package/esm2022/lib/login/public-api.mjs +27 -0
  440. package/esm2022/lib/material.module.mjs +254 -0
  441. package/esm2022/lib/mock/cookie.service.mock.mjs +43 -0
  442. package/esm2022/lib/mock/data-column.mock.mjs +73 -0
  443. package/esm2022/lib/mock/event.mock.mjs +39 -0
  444. package/esm2022/lib/mock/form/form-definition-readonly.mock.mjs +225 -0
  445. package/esm2022/lib/mock/form/form-definition-visibility.mock.mjs +347 -0
  446. package/esm2022/lib/mock/form/form-definition.mock.mjs +403 -0
  447. package/esm2022/lib/mock/form/form.component.mock.mjs +275 -0
  448. package/esm2022/lib/mock/form/form.service.mock.mjs +248 -0
  449. package/esm2022/lib/mock/form/widget-visibility.service.mock.mjs +1835 -0
  450. package/esm2022/lib/mock/index.mjs +18 -0
  451. package/esm2022/lib/mock/public-api.mjs +27 -0
  452. package/esm2022/lib/mock/translation.service.mock.mjs +44 -0
  453. package/esm2022/lib/models/comment.model.mjs +51 -0
  454. package/esm2022/lib/models/component.model.mjs +24 -0
  455. package/esm2022/lib/models/decimal-number.model.mjs +26 -0
  456. package/esm2022/lib/models/general-user.model.mjs +24 -0
  457. package/esm2022/lib/models/index.mjs +18 -0
  458. package/esm2022/lib/models/pagination.model.mjs +29 -0
  459. package/esm2022/lib/models/path.model.mjs +24 -0
  460. package/esm2022/lib/models/product-version.model.mjs +28 -0
  461. package/esm2022/lib/models/public-api.mjs +24 -0
  462. package/esm2022/lib/models/request-pagination.model.mjs +25 -0
  463. package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +44 -0
  464. package/esm2022/lib/notifications/components/notification-history.component.mjs +138 -0
  465. package/esm2022/lib/notifications/helpers/notification.factory.mjs +43 -0
  466. package/esm2022/lib/notifications/index.mjs +18 -0
  467. package/esm2022/lib/notifications/models/notification.model.mjs +25 -0
  468. package/esm2022/lib/notifications/notification-history.module.mjs +35 -0
  469. package/esm2022/lib/notifications/public-api.mjs +23 -0
  470. package/esm2022/lib/notifications/services/notification.service.mjs +166 -0
  471. package/esm2022/lib/pagination/index.mjs +18 -0
  472. package/esm2022/lib/pagination/infinite-pagination.component.mjs +111 -0
  473. package/esm2022/lib/pagination/paginated-component.interface.mjs +18 -0
  474. package/esm2022/lib/pagination/pagination-component.interface.mjs +18 -0
  475. package/esm2022/lib/pagination/pagination.component.mjs +263 -0
  476. package/esm2022/lib/pagination/pagination.module.mjs +35 -0
  477. package/esm2022/lib/pagination/public-api.mjs +22 -0
  478. package/esm2022/lib/pipes/date-time.pipe.mjs +46 -0
  479. package/esm2022/lib/pipes/decimal-number.pipe.mjs +78 -0
  480. package/esm2022/lib/pipes/file-size.pipe.mjs +54 -0
  481. package/esm2022/lib/pipes/file-type.pipe.mjs +40 -0
  482. package/esm2022/lib/pipes/format-space.pipe.mjs +39 -0
  483. package/esm2022/lib/pipes/full-name.pipe.mjs +43 -0
  484. package/esm2022/lib/pipes/index.mjs +18 -0
  485. package/esm2022/lib/pipes/localized-date.pipe.mjs +70 -0
  486. package/esm2022/lib/pipes/multi-value.pipe.mjs +37 -0
  487. package/esm2022/lib/pipes/pipe.module.mjs +83 -0
  488. package/esm2022/lib/pipes/public-api.mjs +30 -0
  489. package/esm2022/lib/pipes/text-highlight.pipe.mjs +39 -0
  490. package/esm2022/lib/pipes/time-ago.pipe.mjs +65 -0
  491. package/esm2022/lib/pipes/truncate.pipe.mjs +33 -0
  492. package/esm2022/lib/pipes/user-initial.pipe.mjs +52 -0
  493. package/esm2022/lib/pipes/user-like.interface.mjs +18 -0
  494. package/esm2022/lib/progress/progress.component.mjs +90 -0
  495. package/esm2022/lib/search-text/animations.mjs +32 -0
  496. package/esm2022/lib/search-text/index.mjs +18 -0
  497. package/esm2022/lib/search-text/models/search-text-input.model.mjs +23 -0
  498. package/esm2022/lib/search-text/public-api.mjs +22 -0
  499. package/esm2022/lib/search-text/search-text-input.component.mjs +283 -0
  500. package/esm2022/lib/search-text/search-text-input.module.mjs +35 -0
  501. package/esm2022/lib/search-text/search-trigger.directive.mjs +181 -0
  502. package/esm2022/lib/snackbar-content/index.mjs +18 -0
  503. package/esm2022/lib/snackbar-content/public-api.mjs +20 -0
  504. package/esm2022/lib/snackbar-content/snack-bar-data.mjs +18 -0
  505. package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +49 -0
  506. package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +33 -0
  507. package/esm2022/lib/sorting-picker/index.mjs +18 -0
  508. package/esm2022/lib/sorting-picker/public-api.mjs +18 -0
  509. package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +67 -0
  510. package/esm2022/lib/templates/empty-content/empty-content.component.mjs +43 -0
  511. package/esm2022/lib/templates/error-content/error-content.component.mjs +61 -0
  512. package/esm2022/lib/templates/index.mjs +18 -0
  513. package/esm2022/lib/templates/public-api.mjs +20 -0
  514. package/esm2022/lib/templates/template.module.mjs +38 -0
  515. package/esm2022/lib/testing/core.story.module.mjs +39 -0
  516. package/esm2022/lib/testing/core.testing.module.mjs +35 -0
  517. package/esm2022/lib/testing/index.mjs +22 -0
  518. package/esm2022/lib/testing/noop-auth.module.mjs +80 -0
  519. package/esm2022/lib/testing/noop-translate.module.mjs +61 -0
  520. package/esm2022/lib/testing/unit-testing-utils.mjs +364 -0
  521. package/esm2022/lib/toolbar/index.mjs +18 -0
  522. package/esm2022/lib/toolbar/public-api.mjs +21 -0
  523. package/esm2022/lib/toolbar/toolbar-divider.component.mjs +27 -0
  524. package/esm2022/lib/toolbar/toolbar-title.component.mjs +32 -0
  525. package/esm2022/lib/toolbar/toolbar.component.mjs +39 -0
  526. package/esm2022/lib/toolbar/toolbar.module.mjs +36 -0
  527. package/esm2022/lib/translation/index.mjs +18 -0
  528. package/esm2022/lib/translation/public-api.mjs +19 -0
  529. package/esm2022/lib/translation/translate-loader.service.mjs +148 -0
  530. package/esm2022/lib/translation/translation.service.mjs +148 -0
  531. package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +36 -0
  532. package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +220 -0
  533. package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +64 -0
  534. package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +550 -0
  535. package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +60 -0
  536. package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +48 -0
  537. package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +198 -0
  538. package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +85 -0
  539. package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +32 -0
  540. package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +34 -0
  541. package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +34 -0
  542. package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +216 -0
  543. package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +46 -0
  544. package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +34 -0
  545. package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +34 -0
  546. package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +34 -0
  547. package/esm2022/lib/viewer/components/viewer.component.mjs +486 -0
  548. package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +67 -0
  549. package/esm2022/lib/viewer/index.mjs +18 -0
  550. package/esm2022/lib/viewer/models/download-prompt.actions.mjs +23 -0
  551. package/esm2022/lib/viewer/models/viewer.model.mjs +22 -0
  552. package/esm2022/lib/viewer/public-api.mjs +40 -0
  553. package/esm2022/lib/viewer/services/rendering-queue.services.mjs +179 -0
  554. package/esm2022/lib/viewer/services/view-util.service.mjs +149 -0
  555. package/esm2022/lib/viewer/viewer.module.mjs +110 -0
  556. package/esm2022/public-api.mjs +60 -0
  557. package/esm2022/shell/alfresco-adf-core-shell.mjs +5 -0
  558. package/esm2022/shell/index.mjs +20 -0
  559. package/esm2022/shell/lib/components/shell/shell.component.mjs +122 -0
  560. package/esm2022/shell/lib/services/shell-app.service.mjs +22 -0
  561. package/esm2022/shell/lib/shell.module.mjs +79 -0
  562. package/esm2022/shell/lib/shell.routes.mjs +25 -0
  563. package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +35 -4
  564. package/fesm2022/adf-core.mjs +1177 -1166
  565. package/fesm2022/adf-core.mjs.map +1 -1
  566. package/fesm2022/alfresco-adf-core-api.mjs +4 -4
  567. package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
  568. package/fesm2022/alfresco-adf-core-auth.mjs +3 -3
  569. package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
  570. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +11 -11
  571. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
  572. package/fesm2022/alfresco-adf-core-feature-flags.mjs +59 -52
  573. package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
  574. package/fesm2022/alfresco-adf-core-shell.mjs +21 -96
  575. package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
  576. package/lib/app-config/app-config.module.d.ts +0 -1
  577. package/lib/app-config/public-api.d.ts +0 -1
  578. package/lib/auth/oidc/auth.module.d.ts +4 -4
  579. package/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.d.ts +1 -1
  580. package/lib/card-view/components/base-card-view.d.ts +1 -1
  581. package/lib/card-view/components/card-view/card-view.component.scss +9 -12
  582. package/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.scss +2 -1
  583. package/lib/card-view/components/card-view-textitem/card-view-textitem.component.scss +5 -2
  584. package/lib/core.module.d.ts +128 -124
  585. package/lib/datatable/data/data-table.schema.d.ts +1 -1
  586. package/lib/dialogs/confirm-dialog/confirm.dialog.d.ts +1 -1
  587. package/lib/dialogs/confirm-dialog/confirm.dialog.module.d.ts +6 -2
  588. package/lib/form/form-base.module.d.ts +0 -1
  589. package/lib/testing/core.testing.module.d.ts +0 -1
  590. package/lib/testing/noop-translate.module.d.ts +2 -1
  591. package/lib/translation/public-api.d.ts +0 -1
  592. package/package.json +15 -3
  593. package/shell/README.md +6 -20
  594. package/shell/index.d.ts +0 -2
  595. package/shell/lib/shell.module.d.ts +7 -4
  596. package/shell/lib/shell.routes.d.ts +1 -13
  597. package/lib/app-config/provide-app-config.d.ts +0 -23
  598. package/lib/translation/provide-i18n.d.ts +0 -39
  599. package/shell/lib/providers.d.ts +0 -36
@@ -0,0 +1,38 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /* eslint-disable @angular-eslint/component-selector */
18
+ import { FormWidgetModel } from './form-widget.model';
19
+ import { WidgetVisibilityModel } from '../../../models/widget-visibility.model';
20
+ export class FormOutcomeModel extends FormWidgetModel {
21
+ static { this.SAVE_ACTION = 'SAVE'; } // Activiti 'Save' action name
22
+ static { this.COMPLETE_ACTION = 'COMPLETE'; } // Activiti 'Complete' action name
23
+ static { this.START_PROCESS_ACTION = 'START PROCESS'; } // Activiti 'Start Process' action name
24
+ constructor(form, json) {
25
+ super(form, json);
26
+ this.isSystem = false;
27
+ this.isSelected = false;
28
+ this.isVisible = true;
29
+ this.skipValidation = false;
30
+ if (json) {
31
+ this.isSystem = json.isSystem ? true : false;
32
+ this.skipValidation = json.skipValidation ?? false;
33
+ this.isSelected = form && json.name === form.selectedOutcome ? true : false;
34
+ this.visibilityCondition = new WidgetVisibilityModel(json.visibilityCondition);
35
+ }
36
+ }
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vdXRjb21lLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9jb3JlL2Zvcm0tb3V0Y29tZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRWhGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFlO2FBQzFDLGdCQUFXLEdBQVcsTUFBTSxBQUFqQixDQUFrQixHQUFDLDhCQUE4QjthQUM1RCxvQkFBZSxHQUFXLFVBQVUsQUFBckIsQ0FBc0IsR0FBQyxrQ0FBa0M7YUFDeEUseUJBQW9CLEdBQVcsZUFBZSxBQUExQixDQUEyQixHQUFDLHVDQUF1QztJQVE5RixZQUFZLElBQVMsRUFBRSxJQUFVO1FBQzdCLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFQdEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFNNUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDN0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLEtBQUssQ0FBQztZQUNuRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzVFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ25GLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IEZvcm1XaWRnZXRNb2RlbCB9IGZyb20gJy4vZm9ybS13aWRnZXQubW9kZWwnO1xuaW1wb3J0IHsgV2lkZ2V0VmlzaWJpbGl0eU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3dpZGdldC12aXNpYmlsaXR5Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEZvcm1PdXRjb21lTW9kZWwgZXh0ZW5kcyBGb3JtV2lkZ2V0TW9kZWwge1xuICAgIHN0YXRpYyBTQVZFX0FDVElPTjogc3RyaW5nID0gJ1NBVkUnOyAvLyBBY3Rpdml0aSAnU2F2ZScgYWN0aW9uIG5hbWVcbiAgICBzdGF0aWMgQ09NUExFVEVfQUNUSU9OOiBzdHJpbmcgPSAnQ09NUExFVEUnOyAvLyBBY3Rpdml0aSAnQ29tcGxldGUnIGFjdGlvbiBuYW1lXG4gICAgc3RhdGljIFNUQVJUX1BST0NFU1NfQUNUSU9OOiBzdHJpbmcgPSAnU1RBUlQgUFJPQ0VTUyc7IC8vIEFjdGl2aXRpICdTdGFydCBQcm9jZXNzJyBhY3Rpb24gbmFtZVxuXG4gICAgaXNTeXN0ZW06IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgaXNWaXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgICBza2lwVmFsaWRhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHZpc2liaWxpdHlDb25kaXRpb246IFdpZGdldFZpc2liaWxpdHlNb2RlbDtcblxuICAgIGNvbnN0cnVjdG9yKGZvcm06IGFueSwganNvbj86IGFueSkge1xuICAgICAgICBzdXBlcihmb3JtLCBqc29uKTtcblxuICAgICAgICBpZiAoanNvbikge1xuICAgICAgICAgICAgdGhpcy5pc1N5c3RlbSA9IGpzb24uaXNTeXN0ZW0gPyB0cnVlIDogZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNraXBWYWxpZGF0aW9uID0ganNvbi5za2lwVmFsaWRhdGlvbiA/PyBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IGZvcm0gJiYganNvbi5uYW1lID09PSBmb3JtLnNlbGVjdGVkT3V0Y29tZSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudmlzaWJpbGl0eUNvbmRpdGlvbiA9IG5ldyBXaWRnZXRWaXNpYmlsaXR5TW9kZWwoanNvbi52aXNpYmlsaXR5Q29uZGl0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export {};
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWx1ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZm9ybS12YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4gLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IHsgRm9ybUZpZWxkTWV0YWRhdGEgfSBmcm9tICcuL2Zvcm0tZmllbGQtbWV0YWRhdGEnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1WYWx1ZXMgZXh0ZW5kcyBGb3JtRmllbGRNZXRhZGF0YSB7XG59XG4iXX0=
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export {};
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YXJpYWJsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvY29yZS9mb3JtLXZhcmlhYmxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtVmFyaWFibGVNb2RlbCB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIHZhbHVlPzogYW55O1xufVxuIl19
@@ -0,0 +1,33 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /* eslint-disable @angular-eslint/component-selector */
18
+ export class FormWidgetModel {
19
+ constructor(form, json) {
20
+ this.form = form;
21
+ this.json = json;
22
+ if (json) {
23
+ this.fieldType = json.fieldType;
24
+ this.id = json.id;
25
+ this.name = json.name;
26
+ this.type = json.type;
27
+ this.tab = json.tab;
28
+ this.field = json.field;
29
+ this.style = json.style;
30
+ }
31
+ }
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS13aWRnZXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZm9ybS13aWRnZXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsdURBQXVEO0FBRXZELE1BQU0sT0FBZ0IsZUFBZTtJQVlqQyxZQUFzQixJQUFTLEVBQUUsSUFBUztRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUVqQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZvcm1XaWRnZXRNb2RlbCB7XG4gICAgcmVhZG9ubHkgZmllbGRUeXBlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHRhYjogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHN0eWxlPzogc3RyaW5nO1xuXG4gICAgcmVhZG9ubHkgZm9ybTogYW55O1xuICAgIHJlYWRvbmx5IGpzb246IGFueTtcbiAgICByZWFkb25seSBmaWVsZDogYW55O1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGZvcm06IGFueSwganNvbjogYW55KSB7XG4gICAgICAgIHRoaXMuZm9ybSA9IGZvcm07XG4gICAgICAgIHRoaXMuanNvbiA9IGpzb247XG5cbiAgICAgICAgaWYgKGpzb24pIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGRUeXBlID0ganNvbi5maWVsZFR5cGU7XG4gICAgICAgICAgICB0aGlzLmlkID0ganNvbi5pZDtcbiAgICAgICAgICAgIHRoaXMubmFtZSA9IGpzb24ubmFtZTtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9IGpzb24udHlwZTtcbiAgICAgICAgICAgIHRoaXMudGFiID0ganNvbi50YWI7XG4gICAgICAgICAgICB0aGlzLmZpZWxkID0ganNvbi5maWVsZDtcbiAgICAgICAgICAgIHRoaXMuc3R5bGUgPSBqc29uLnN0eWxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1XaWRnZXRNb2RlbENhY2hlPFQgZXh0ZW5kcyBGb3JtV2lkZ2V0TW9kZWw+IHtcbiAgICBba2V5OiBzdHJpbmddOiBUO1xufVxuIl19
@@ -0,0 +1,387 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { FormFieldEvent } from '../../../events/form-field.event';
18
+ import { ValidateFormFieldEvent } from '../../../events/validate-form-field.event';
19
+ import { ValidateFormEvent } from '../../../events/validate-form.event';
20
+ import { ContainerModel } from './container.model';
21
+ import { FormFieldTypes } from './form-field-types';
22
+ import { FormFieldModel } from './form-field.model';
23
+ import { TabModel } from './tab.model';
24
+ import { FormOutcomeModel } from './form-outcome.model';
25
+ import { FORM_FIELD_VALIDATORS } from './form-field-validator';
26
+ import { WidgetTypeEnum, WidgetVisibilityModel } from '../../../models/widget-visibility.model';
27
+ export class FormModel {
28
+ static { this.UNSET_TASK_NAME = 'Nameless task'; }
29
+ static { this.SAVE_OUTCOME = '$save'; }
30
+ static { this.COMPLETE_OUTCOME = '$complete'; }
31
+ static { this.START_PROCESS_OUTCOME = '$startProcess'; }
32
+ constructor(json, formValues, readOnly = false, formService, enableFixedSpace, injectedFieldValidators) {
33
+ this.formService = formService;
34
+ this.taskName = FormModel.UNSET_TASK_NAME;
35
+ this.fieldsCache = [];
36
+ this.values = {};
37
+ this.tabs = [];
38
+ this.fields = [];
39
+ this.outcomes = [];
40
+ this.fieldValidators = [];
41
+ this.customFieldTemplates = {};
42
+ this.readOnly = false;
43
+ this.isValid = true;
44
+ this.processVariables = [];
45
+ this.variables = [];
46
+ this.readOnly = readOnly;
47
+ this.json = json;
48
+ if (json) {
49
+ this.id = json.id;
50
+ this.name = json.name;
51
+ this.taskId = json.taskId;
52
+ this.taskName = json.taskName || json.name || FormModel.UNSET_TASK_NAME;
53
+ this.processDefinitionId = json.processDefinitionId;
54
+ this.customFieldTemplates = json.customFieldTemplates || {};
55
+ this.selectedOutcome = json.selectedOutcome;
56
+ this.className = json.className || '';
57
+ this.variables = json.variables || json.formDefinition?.variables || [];
58
+ this.processVariables = json.processVariables || [];
59
+ this.enableFixedSpace = enableFixedSpace;
60
+ this.confirmMessage = json.confirmMessage || {};
61
+ this.displayMode = json.displayMode;
62
+ this.theme = json.theme || json.formDefinition?.theme;
63
+ this.tabs = (json.tabs || []).map((tabJson) => new TabModel(this, tabJson));
64
+ this.fields = this.parseRootFields(json);
65
+ this.fieldsCache = this.getFormFields();
66
+ if (formValues) {
67
+ this.loadData(formValues);
68
+ }
69
+ this.parseOutcomes();
70
+ }
71
+ this.loadInjectedFieldValidators(injectedFieldValidators);
72
+ this.validateForm();
73
+ }
74
+ onFormFieldChanged(field) {
75
+ this.validateField(field);
76
+ if (this.formService) {
77
+ this.formService.formFieldValueChanged.next(new FormFieldEvent(this, field));
78
+ }
79
+ }
80
+ /**
81
+ * Validates entire form and all form fields.
82
+ */
83
+ validateForm() {
84
+ const validateFormEvent = new ValidateFormEvent(this);
85
+ const errorsField = this.fieldsCache.filter((field) => {
86
+ if (!FormFieldTypes.isReactiveType(field.type)) {
87
+ return !field.validate();
88
+ }
89
+ else {
90
+ return field.validationSummary.isActive();
91
+ }
92
+ });
93
+ this.isValid = errorsField.length <= 0;
94
+ if (this.formService) {
95
+ validateFormEvent.isValid = this.isValid;
96
+ validateFormEvent.errorsField = errorsField;
97
+ this.formService.validateForm.next(validateFormEvent);
98
+ }
99
+ }
100
+ /**
101
+ * Validates a specific form field, triggers form validation.
102
+ *
103
+ * @param field Form field to validate.
104
+ */
105
+ validateField(field) {
106
+ if (!field) {
107
+ return;
108
+ }
109
+ const validateFieldEvent = new ValidateFormFieldEvent(this, field);
110
+ if (this.formService) {
111
+ this.formService.validateFormField.next(validateFieldEvent);
112
+ }
113
+ if (!validateFieldEvent.isValid) {
114
+ this.markAsInvalid();
115
+ return;
116
+ }
117
+ if (validateFieldEvent.defaultPrevented) {
118
+ return;
119
+ }
120
+ if (!FormFieldTypes.isReactiveType(field.type) && !field.validate()) {
121
+ this.markAsInvalid();
122
+ }
123
+ this.validateForm();
124
+ }
125
+ // Activiti supports 3 types of root fields: container|group|dynamic-table
126
+ parseRootFields(json) {
127
+ let fields = [];
128
+ if (json.fields) {
129
+ fields = json.fields;
130
+ }
131
+ else if (json.formDefinition?.fields) {
132
+ fields = json.formDefinition.fields;
133
+ }
134
+ const rootElements = [];
135
+ let currentRootElement;
136
+ for (const field of fields) {
137
+ if (field?.type === FormFieldTypes.DYNAMIC_TABLE) {
138
+ currentRootElement = new FormFieldModel(this, field);
139
+ }
140
+ else {
141
+ currentRootElement = new ContainerModel(new FormFieldModel(this, field));
142
+ }
143
+ if (field.tab) {
144
+ const tab = this.tabs.find((currentTab) => field.tab === currentTab.id);
145
+ if (tab) {
146
+ tab.fields.push(currentRootElement);
147
+ }
148
+ }
149
+ rootElements.push(currentRootElement);
150
+ }
151
+ return rootElements;
152
+ }
153
+ // Loads external data and overrides field values
154
+ // Typically used when form definition and form data coming from different sources
155
+ loadData(formValues) {
156
+ for (const field of this.fieldsCache) {
157
+ const variableId = `variables.${field.name}`;
158
+ if (this.canOverrideFieldValueWithProcessValue(field, variableId, formValues)) {
159
+ field.json.value = formValues[variableId] || formValues[field.id];
160
+ field.value = field.parseValue(field.json);
161
+ }
162
+ }
163
+ }
164
+ canOverrideFieldValueWithProcessValue(field, variableId, formValues) {
165
+ return !FormFieldTypes.isConstantValueType(field.type) && (this.isDefined(formValues[variableId]) || this.isDefined(formValues[field.id]));
166
+ }
167
+ isDefined(value) {
168
+ return value !== undefined && value !== null;
169
+ }
170
+ /**
171
+ * Returns a form variable that matches the identifier.
172
+ *
173
+ * @param identifier The `name` or `id` value.
174
+ * @returns form variable model
175
+ */
176
+ getFormVariable(identifier) {
177
+ if (identifier) {
178
+ return this.variables.find((variable) => variable.name === identifier || variable.id === identifier);
179
+ }
180
+ return undefined;
181
+ }
182
+ /**
183
+ * Returns a value of the form variable that matches the identifier.
184
+ * Provides additional conversion of types (date, boolean).
185
+ *
186
+ * @param identifier The `name` or `id` value
187
+ * @returns form variable value
188
+ */
189
+ getDefaultFormVariableValue(identifier) {
190
+ const variable = this.getFormVariable(identifier);
191
+ if (variable && Object.prototype.hasOwnProperty.call(variable, 'value')) {
192
+ return this.parseValue(variable.type, variable.value);
193
+ }
194
+ return undefined;
195
+ }
196
+ /**
197
+ * Returns a process variable value.
198
+ * When mapping a process variable with a form variable the mapping
199
+ * is already resolved by the rest API with the name of variables.formVariableName
200
+ *
201
+ * @param name Variable name
202
+ * @returns process variable value
203
+ */
204
+ getProcessVariableValue(name) {
205
+ let value;
206
+ if (this.processVariables?.length) {
207
+ const names = [`variables.${name}`, name];
208
+ const processVariable = this.processVariables.find((entry) => names.includes(entry.name));
209
+ if (processVariable) {
210
+ value = this.parseValue(processVariable.type, processVariable.value);
211
+ }
212
+ }
213
+ if (!value) {
214
+ value = this.getDefaultFormVariableValue(name);
215
+ }
216
+ return value;
217
+ }
218
+ parseValue(type, value) {
219
+ if (type && value) {
220
+ switch (type) {
221
+ case 'date':
222
+ return value.toString().includes('T') ? value : `${value}T00:00:00.000Z`;
223
+ case 'boolean':
224
+ return typeof value === 'string' ? JSON.parse(value) : value;
225
+ default:
226
+ return value;
227
+ }
228
+ }
229
+ return value;
230
+ }
231
+ hasTabs() {
232
+ return this.tabs && this.tabs.length > 0;
233
+ }
234
+ hasFields() {
235
+ return this.fields && this.fields.length > 0;
236
+ }
237
+ hasOutcomes() {
238
+ return this.outcomes && this.outcomes.length > 0;
239
+ }
240
+ getFieldById(fieldId) {
241
+ return this.fieldsCache.find((field) => field.id === fieldId);
242
+ }
243
+ getFormFields(filterTypes) {
244
+ if (this.fieldsCache?.length) {
245
+ return this.filterFieldsByType(this.fieldsCache, filterTypes);
246
+ }
247
+ const formFieldModel = [];
248
+ this.processFields(this.fields, formFieldModel);
249
+ return this.filterFieldsByType(formFieldModel, filterTypes);
250
+ }
251
+ processFields(fields, formFieldModel) {
252
+ fields.forEach((field) => {
253
+ if (this.isSectionField(field)) {
254
+ this.handleSectionField(field, formFieldModel);
255
+ }
256
+ else if (this.isContainerField(field)) {
257
+ this.handleContainerField(field, formFieldModel);
258
+ }
259
+ else if (this.isFormField(field)) {
260
+ this.handleSingleField(field, formFieldModel);
261
+ }
262
+ });
263
+ }
264
+ isContainerField(field) {
265
+ return field instanceof ContainerModel;
266
+ }
267
+ isFormField(field) {
268
+ return field instanceof FormFieldModel;
269
+ }
270
+ isSectionField(field) {
271
+ return field.type === FormFieldTypes.SECTION;
272
+ }
273
+ handleSectionField(section, formFieldModel) {
274
+ formFieldModel.push(section);
275
+ section.columns.forEach((column) => {
276
+ this.processFields(column.fields, formFieldModel);
277
+ });
278
+ }
279
+ handleContainerField(container, formFieldModel) {
280
+ formFieldModel.push(container.field);
281
+ container.field.columns.forEach((column) => {
282
+ this.processFields(column.fields, formFieldModel);
283
+ });
284
+ }
285
+ handleSingleField(field, formFieldModel) {
286
+ formFieldModel.push(field);
287
+ if (field.fields) {
288
+ this.processFields(Object.values(field.fields), formFieldModel);
289
+ }
290
+ }
291
+ filterFieldsByType(fields, types) {
292
+ if (!types?.length) {
293
+ return fields;
294
+ }
295
+ return fields.filter((field) => types.includes(field?.type));
296
+ }
297
+ markAsInvalid() {
298
+ this.isValid = false;
299
+ }
300
+ parseOutcomes() {
301
+ if (this.json.fields) {
302
+ const saveOutcome = new FormOutcomeModel(this, {
303
+ id: FormModel.SAVE_OUTCOME,
304
+ name: 'SAVE',
305
+ isSystem: true
306
+ });
307
+ const completeOutcome = new FormOutcomeModel(this, {
308
+ id: FormModel.COMPLETE_OUTCOME,
309
+ name: 'COMPLETE',
310
+ isSystem: true
311
+ });
312
+ const startProcessOutcome = new FormOutcomeModel(this, {
313
+ id: FormModel.START_PROCESS_OUTCOME,
314
+ name: 'START PROCESS',
315
+ isSystem: true
316
+ });
317
+ const customOutcomes = (this.json.outcomes || []).map((obj) => new FormOutcomeModel(this, obj));
318
+ this.outcomes = [saveOutcome].concat(customOutcomes.length > 0 ? customOutcomes : [completeOutcome, startProcessOutcome]);
319
+ }
320
+ }
321
+ addValuesNotPresent(valuesToSetIfNotPresent) {
322
+ this.fieldsCache.forEach((field) => {
323
+ if (valuesToSetIfNotPresent[field.id] && (!this.values[field.id] || this.isValidDropDown(field.id))) {
324
+ this.values[field.id] = valuesToSetIfNotPresent[field.id];
325
+ field.json.value = this.values[field.id];
326
+ field.value = field.parseValue(field.json);
327
+ }
328
+ });
329
+ }
330
+ isValidDropDown(key) {
331
+ const field = this.getFieldById(key);
332
+ if (field.type === FormFieldTypes.DROPDOWN) {
333
+ if (field.hasMultipleValues) {
334
+ return Array.isArray(this.values[key]);
335
+ }
336
+ return typeof this.values[key] === 'string' ? this.values[key] === 'empty' : Object.keys(this.values[key]).length === 0;
337
+ }
338
+ return false;
339
+ }
340
+ setNodeIdValueForViewersLinkedToUploadWidget(linkedUploadWidgetContentSelected) {
341
+ const linkedWidgetType = linkedUploadWidgetContentSelected?.options?.linkedWidgetType ?? 'uploadWidget';
342
+ const subscribedViewers = this.fieldsCache.filter((field) => linkedUploadWidgetContentSelected.uploadWidgetId === field.params[linkedWidgetType]);
343
+ subscribedViewers.forEach((viewer) => {
344
+ this.values[viewer.id] = linkedUploadWidgetContentSelected.id;
345
+ viewer.json.value = this.values[viewer.id];
346
+ viewer.value = viewer.parseValue(viewer.json);
347
+ });
348
+ }
349
+ changeFieldVisibility(fieldId, visibility) {
350
+ const visibilityRule = new WidgetVisibilityModel();
351
+ const field = this.getFieldById(fieldId);
352
+ if (field) {
353
+ visibilityRule.operator = visibility ? 'empty' : '!empty';
354
+ visibilityRule.leftType = WidgetTypeEnum.field;
355
+ field.visibilityCondition = visibilityRule;
356
+ field.isVisible = visibility;
357
+ }
358
+ }
359
+ changeFieldDisabled(fieldId, disabled) {
360
+ const field = this.getFieldById(fieldId);
361
+ if (field) {
362
+ field.readOnly = this.readOnly || disabled;
363
+ }
364
+ }
365
+ changeFieldRequired(fieldId, required) {
366
+ const field = this.getFieldById(fieldId);
367
+ if (field) {
368
+ field.required = required;
369
+ }
370
+ }
371
+ changeFieldValue(fieldId, value) {
372
+ const field = this.getFieldById(fieldId);
373
+ if (field) {
374
+ field.value = value;
375
+ }
376
+ }
377
+ changeVariableValue(variableId, value) {
378
+ const variable = this.getFormVariable(variableId);
379
+ if (variable) {
380
+ variable.value = value;
381
+ }
382
+ }
383
+ loadInjectedFieldValidators(injectedFieldValidators) {
384
+ this.fieldValidators = injectedFieldValidators ? [...FORM_FIELD_VALIDATORS, ...injectedFieldValidators] : [...FORM_FIELD_VALIDATORS];
385
+ }
386
+ }
387
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvY29yZS9mb3JtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSXZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBc0IscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUtuRixPQUFPLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUE2QmhHLE1BQU0sT0FBTyxTQUFTO2FBQ1gsb0JBQWUsR0FBVyxlQUFlLEFBQTFCLENBQTJCO2FBQzFDLGlCQUFZLEdBQVcsT0FBTyxBQUFsQixDQUFtQjthQUMvQixxQkFBZ0IsR0FBVyxXQUFXLEFBQXRCLENBQXVCO2FBQ3ZDLDBCQUFxQixHQUFXLGVBQWUsQUFBMUIsQ0FBMkI7SUE4QnZELFlBQ0ksSUFBVSxFQUNWLFVBQXVCLEVBQ3ZCLFdBQW9CLEtBQUssRUFDZixXQUFtQyxFQUM3QyxnQkFBMEIsRUFDMUIsdUJBQThDO1FBRnBDLGdCQUFX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USxHQUFHLFFBQVEsQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQWUsRUFBRSxLQUFVO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsVUFBa0IsRUFBRSxLQUFVO1FBQzlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEQsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNYLFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBRU8sMkJBQTJCLENBQUMsdUJBQTZDO1FBQzdFLElBQUksQ0FBQyxlQUFlLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxxQkFBcUIsRUFBRSxHQUFHLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3pJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEZvcm1GaWVsZEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vZXZlbnRzL2Zvcm0tZmllbGQuZXZlbnQnO1xuaW1wb3J0IHsgVmFsaWRhdGVGb3JtRmllbGRFdmVudCB9IGZyb20gJy4uLy4uLy4uL2V2ZW50cy92YWxpZGF0ZS1mb3JtLWZpZWxkLmV2ZW50JztcbmltcG9ydCB7IFZhbGlkYXRlRm9ybUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vZXZlbnRzL3ZhbGlkYXRlLWZvcm0uZXZlbnQnO1xuaW1wb3J0IHsgQ29udGFpbmVyTW9kZWwgfSBmcm9tICcuL2NvbnRhaW5lci5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtRmllbGRUeXBlcyB9IGZyb20gJy4vZm9ybS1maWVsZC10eXBlcyc7XG5pbXBvcnQgeyBGb3JtRmllbGRNb2RlbCB9IGZyb20gJy4vZm9ybS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtVmFsdWVzIH0gZnJvbSAnLi9mb3JtLXZhbHVlcyc7XG5pbXBvcnQgeyBUYWJNb2RlbCB9IGZyb20gJy4vdGFiLm1vZGVsJztcblxuaW1wb3J0IHsgRm9ybVZhcmlhYmxlTW9kZWwgfSBmcm9tICcuL2Zvcm0tdmFyaWFibGUubW9kZWwnO1xuaW1wb3J0IHsgUHJvY2Vzc1ZhcmlhYmxlTW9kZWwgfSBmcm9tICcuL3Byb2Nlc3MtdmFyaWFibGUubW9kZWwnO1xuaW1wb3J0IHsgRm9ybU91dGNvbWVNb2RlbCB9IGZyb20gJy4vZm9ybS1vdXRjb21lLm1vZGVsJztcbmltcG9ydCB7IEZvcm1GaWVsZFZhbGlkYXRvciwgRk9STV9GSUVMRF9WQUxJREFUT1JTIH0gZnJvbSAnLi9mb3JtLWZpZWxkLXZhbGlkYXRvcic7XG5pbXBvcnQgeyBGb3JtRmllbGRUZW1wbGF0ZXMgfSBmcm9tICcuL2Zvcm0tZmllbGQtdGVtcGxhdGVzJztcbmltcG9ydCB7IFVwbG9hZFdpZGdldENvbnRlbnRMaW5rTW9kZWwgfSBmcm9tICcuL3VwbG9hZC13aWRnZXQtY29udGVudC1saW5rLm1vZGVsJztcbmltcG9ydCB7IEZvcm1WYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Zvcm0tdmFsaWRhdGlvbi1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQcm9jZXNzRm9ybU1vZGVsIH0gZnJvbSAnLi9wcm9jZXNzLWZvcm0tbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdpZGdldFR5cGVFbnVtLCBXaWRnZXRWaXNpYmlsaXR5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvd2lkZ2V0LXZpc2liaWxpdHkubW9kZWwnO1xuaW1wb3J0IHsgVGhlbWVNb2RlbCB9IGZyb20gJy4vdGhlbWUubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1NZXNzYWdlIHtcbiAgICBzaG93OiBib29sZWFuO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVJlcHJlc2VudGF0aW9uTW9kZWwge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcblxuICAgIGlkPzogc3RyaW5nIHwgbnVtYmVyO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgdGFza0lkPzogc3RyaW5nO1xuICAgIHRhc2tOYW1lPzogc3RyaW5nO1xuICAgIHByb2Nlc3NEZWZpbml0aW9uSWQ/OiBzdHJpbmc7XG4gICAgY3VzdG9tRmllbGRUZW1wbGF0ZXM/OiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgICB9O1xuICAgIHNlbGVjdGVkT3V0Y29tZT86IHN0cmluZztcbiAgICBmaWVsZHM/OiBhbnlbXTtcbiAgICB0YWJzPzogYW55W107XG4gICAgb3V0Y29tZXM/OiBhbnlbXTtcbiAgICBmb3JtRGVmaW5pdGlvbj86IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICBmaWVsZHM/OiBhbnlbXTtcbiAgICB9O1xuICAgIGRpc3BsYXlNb2RlOiBzdHJpbmc7XG4gICAgdGhlbWU/OiBUaGVtZU1vZGVsO1xufVxuZXhwb3J0IGNsYXNzIEZvcm1Nb2RlbCBpbXBsZW1lbnRzIFByb2Nlc3NGb3JtTW9kZWwge1xuICAgIHN0YXRpYyBVTlNFVF9UQVNLX05BTUU6IHN0cmluZyA9ICdOYW1lbGVzcyB0YXNrJztcbiAgICBzdGF0aWMgU0FWRV9PVVRDT01FOiBzdHJpbmcgPSAnJHNhdmUnO1xuICAgIHN0YXRpYyBDT01QTEVURV9PVVRDT01FOiBzdHJpbmcgPSAnJGNvbXBsZXRlJztcbiAgICBzdGF0aWMgU1RBUlRfUFJPQ0VTU19PVVRDT01FOiBzdHJpbmcgPSAnJHN0YXJ0UHJvY2Vzcyc7XG5cbiAgICByZWFkb25seSBpZDogc3RyaW5nIHwgbnVtYmVyO1xuICAgIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgICByZWFkb25seSB0YXNrSWQ6IHN0cmluZztcbiAgICByZWFkb25seSBjb25maXJtTWVzc2FnZTogQ29uZmlybU1lc3NhZ2U7XG4gICAgcmVhZG9ubHkgdGFza05hbWUgPSBGb3JtTW9kZWwuVU5TRVRfVEFTS19OQU1FO1xuICAgIHJlYWRvbmx5IHByb2Nlc3NEZWZpbml0aW9uSWQ6IHN0cmluZztcbiAgICByZWFkb25seSBzZWxlY3RlZE91dGNvbWU6IHN0cmluZztcbiAgICByZWFkb25seSBlbmFibGVGaXhlZFNwYWNlOiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGRpc3BsYXlNb2RlOiBhbnk7XG5cbiAgICBmaWVsZHNDYWNoZTogRm9ybUZpZWxkTW9kZWxbXSA9IFtdO1xuXG4gICAganNvbjogYW55O1xuICAgIG5vZGVJZDogc3RyaW5nO1xuICAgIHZhbHVlczogRm9ybVZhbHVlcyA9IHt9O1xuICAgIHRhYnM6IFRhYk1vZGVsW10gPSBbXTtcbiAgICBmaWVsZHM6IChDb250YWluZXJNb2RlbCB8IEZvcm1GaWVsZE1vZGVsKVtdID0gW107XG4gICAgb3V0Y29tZXM6IEZvcm1PdXRjb21lTW9kZWxbXSA9IFtdO1xuICAgIGZpZWxkVmFsaWRhdG9yczogRm9ybUZpZWxkVmFsaWRhdG9yW10gPSBbXTtcbiAgICBjdXN0b21GaWVsZFRlbXBsYXRlczogRm9ybUZpZWxkVGVtcGxhdGVzID0ge307XG4gICAgdGhlbWU/OiBUaGVtZU1vZGVsO1xuXG4gICAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgcmVhZE9ubHkgPSBmYWxzZTtcbiAgICBpc1ZhbGlkID0gdHJ1ZTtcbiAgICBwcm9jZXNzVmFyaWFibGVzOiBQcm9jZXNzVmFyaWFibGVNb2RlbFtdID0gW107XG4gICAgdmFyaWFibGVzOiBGb3JtVmFyaWFibGVNb2RlbFtdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAganNvbj86IGFueSxcbiAgICAgICAgZm9ybVZhbHVlcz86IEZvcm1WYWx1ZXMsXG4gICAgICAgIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2UsXG4gICAgICAgIHByb3RlY3RlZCBmb3JtU2VydmljZT86IEZvcm1WYWxpZGF0aW9uU2VydmljZSxcbiAgICAgICAgZW5hYmxlRml4ZWRTcGFjZT86IGJvb2xlYW4sXG4gICAgICAgIGluamVjdGVkRmllbGRWYWxpZGF0b3JzPzogRm9ybUZpZWxkVmFsaWRhdG9yW11cbiAgICApIHtcbiAgICAgICAgdGhpcy5yZWFkT25seSA9IHJlYWRPbmx5O1xuICAgICAgICB0aGlzLmpzb24gPSBqc29uO1xuXG4gICAgICAgIGlmIChqc29uKSB7XG4gICAgICAgICAgICB0aGlzLmlkID0ganNvbi5pZDtcbiAgICAgICAgICAgIHRoaXMubmFtZSA9IGpzb24ubmFtZTtcbiAgICAgICAgICAgIHRoaXMudGFza0lkID0ganNvbi50YXNrSWQ7XG4gICAgICAgICAgICB0aGlzLnRhc2tOYW1lID0ganNvbi50YXNrTmFtZSB8fCBqc29uLm5hbWUgfHwgRm9ybU1vZGVsLlVOU0VUX1RBU0tfTkFNRTtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25JZCA9IGpzb24ucHJvY2Vzc0RlZmluaXRpb25JZDtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tRmllbGRUZW1wbGF0ZXMgPSBqc29uLmN1c3RvbUZpZWxkVGVtcGxhdGVzIHx8IHt9O1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE91dGNvbWUgPSBqc29uLnNlbGVjdGVkT3V0Y29tZTtcbiAgICAgICAgICAgIHRoaXMuY2xhc3NOYW1lID0ganNvbi5jbGFzc05hbWUgfHwgJyc7XG4gICAgICAgICAgICB0aGlzLnZhcmlhYmxlcyA9IGpzb24udmFyaWFibGVzIHx8IGpzb24uZm9ybURlZmluaXRpb24/LnZhcmlhYmxlcyB8fCBbXTtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc1ZhcmlhYmxlcyA9IGpzb24ucHJvY2Vzc1ZhcmlhYmxlcyB8fCBbXTtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlRml4ZWRTcGFjZSA9IGVuYWJsZUZpeGVkU3BhY2U7XG4gICAgICAgICAgICB0aGlzLmNvbmZpcm1NZXNzYWdlID0ganNvbi5jb25maXJtTWVzc2FnZSB8fCB7fTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheU1vZGUgPSBqc29uLmRpc3BsYXlNb2RlO1xuICAgICAgICAgICAgdGhpcy50aGVtZSA9IGpzb24udGhlbWUgfHwganNvbi5mb3JtRGVmaW5pdGlvbj8udGhlbWU7XG5cbiAgICAgICAgICAgIHRoaXMudGFicyA9IChqc29uLnRhYnMgfHwgW10pLm1hcCgodGFiSnNvbikgPT4gbmV3IFRhYk1vZGVsKHRoaXMsIHRhYkpzb24pKTtcblxuICAgICAgICAgICAgdGhpcy5maWVsZHMgPSB0aGlzLnBhcnNlUm9vdEZpZWxkcyhqc29uKTtcbiAgICAgICAgICAgIHRoaXMuZmllbGRzQ2FjaGUgPSB0aGlzLmdldEZvcm1GaWVsZHMoKTtcblxuICAgICAgICAgICAgaWYgKGZvcm1WYWx1ZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWREYXRhKGZvcm1WYWx1ZXMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnBhcnNlT3V0Y29tZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubG9hZEluamVjdGVkRmllbGRWYWxpZGF0b3JzKGluamVjdGVkRmllbGRWYWxpZGF0b3JzKTtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUZvcm0oKTtcbiAgICB9XG5cbiAgICBvbkZvcm1GaWVsZENoYW5nZWQoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVGaWVsZChmaWVsZCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybVNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVNlcnZpY2UuZm9ybUZpZWxkVmFsdWVDaGFuZ2VkLm5leHQobmV3IEZvcm1GaWVsZEV2ZW50KHRoaXMsIGZpZWxkKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0ZXMgZW50aXJlIGZvcm0gYW5kIGFsbCBmb3JtIGZpZWxkcy5cbiAgICAgKi9cbiAgICB2YWxpZGF0ZUZvcm0oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRlRm9ybUV2ZW50OiBhbnkgPSBuZXcgVmFsaWRhdGVGb3JtRXZlbnQodGhpcyk7XG5cbiAgICAgICAgY29uc3QgZXJyb3JzRmllbGQ6IEZvcm1GaWVsZE1vZGVsW10gPSB0aGlzLmZpZWxkc0NhY2hlLmZpbHRlcigoZmllbGQpID0+IHtcbiAgICAgICAgICAgIGlmICghRm9ybUZpZWxkVHlwZXMuaXNSZWFjdGl2ZVR5cGUoZmllbGQudHlwZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWZpZWxkLnZhbGlkYXRlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBmaWVsZC52YWxpZGF0aW9uU3VtbWFyeS5pc0FjdGl2ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmlzVmFsaWQgPSBlcnJvcnNGaWVsZC5sZW5ndGggPD0gMDtcblxuICAgICAgICBpZiAodGhpcy5mb3JtU2VydmljZSkge1xuICAgICAgICAgICAgdmFsaWRhdGVGb3JtRXZlbnQuaXNWYWxpZCA9IHRoaXMuaXNWYWxpZDtcbiAgICAgICAgICAgIHZhbGlkYXRlRm9ybUV2ZW50LmVycm9yc0ZpZWxkID0gZXJyb3JzRmllbGQ7XG4gICAgICAgICAgICB0aGlzLmZvcm1TZXJ2aWNlLnZhbGlkYXRlRm9ybS5uZXh0KHZhbGlkYXRlRm9ybUV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRlcyBhIHNwZWNpZmljIGZvcm0gZmllbGQsIHRyaWdnZXJzIGZvcm0gdmFsaWRhdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWVsZCBGb3JtIGZpZWxkIHRvIHZhbGlkYXRlLlxuICAgICAqL1xuICAgIHZhbGlkYXRlRmllbGQoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKTogdm9pZCB7XG4gICAgICAgIGlmICghZmllbGQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbGlkYXRlRmllbGRFdmVudCA9IG5ldyBWYWxpZGF0ZUZvcm1GaWVsZEV2ZW50KHRoaXMsIGZpZWxkKTtcblxuICAgICAgICBpZiAodGhpcy5mb3JtU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtU2VydmljZS52YWxpZGF0ZUZvcm1GaWVsZC5uZXh0KHZhbGlkYXRlRmllbGRFdmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbGlkYXRlRmllbGRFdmVudC5pc1ZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLm1hcmtBc0ludmFsaWQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWxpZGF0ZUZpZWxkRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFGb3JtRmllbGRUeXBlcy5pc1JlYWN0aXZlVHlwZShmaWVsZC50eXBlKSAmJiAhZmllbGQudmFsaWRhdGUoKSkge1xuICAgICAgICAgICAgdGhpcy5tYXJrQXNJbnZhbGlkKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbGlkYXRlRm9ybSgpO1xuICAgIH1cblxuICAgIC8vIEFjdGl2aXRpIHN1cHBvcnRzIDMgdHlwZXMgb2Ygcm9vdCBmaWVsZHM6IGNvbnRhaW5lcnxncm91cHxkeW5hbWljLXRhYmxlXG4gICAgcHJpdmF0ZSBwYXJzZVJvb3RGaWVsZHMoanNvbjogYW55KTogKENvbnRhaW5lck1vZGVsIHwgRm9ybUZpZWxkTW9kZWwpW10ge1xuICAgICAgICBsZXQgZmllbGRzID0gW107XG5cbiAgICAgICAgaWYgKGpzb24uZmllbGRzKSB7XG4gICAgICAgICAgICBmaWVsZHMgPSBqc29uLmZpZWxkcztcbiAgICAgICAgfSBlbHNlIGlmIChqc29uLmZvcm1EZWZpbml0aW9uPy5maWVsZHMpIHtcbiAgICAgICAgICAgIGZpZWxkcyA9IGpzb24uZm9ybURlZmluaXRpb24uZmllbGRzO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgcm9vdEVsZW1lbnRzOiAoQ29udGFpbmVyTW9kZWwgfCBGb3JtRmllbGRNb2RlbClbXSA9IFtdO1xuICAgICAgICBsZXQgY3VycmVudFJvb3RFbGVtZW50O1xuICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGZpZWxkcykge1xuICAgICAgICAgICAgaWYgKGZpZWxkPy50eXBlID09PSBGb3JtRmllbGRUeXBlcy5EWU5BTUlDX1RBQkxFKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudFJvb3RFbGVtZW50ID0gbmV3IEZvcm1GaWVsZE1vZGVsKHRoaXMsIGZpZWxkKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY3VycmVudFJvb3RFbGVtZW50ID0gbmV3IENvbnRhaW5lck1vZGVsKG5ldyBGb3JtRmllbGRNb2RlbCh0aGlzLCBmaWVsZCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQudGFiKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFiID0gdGhpcy50YWJzLmZpbmQoKGN1cnJlbnRUYWIpID0+IGZpZWxkLnRhYiA9PT0gY3VycmVudFRhYi5pZCk7XG4gICAgICAgICAgICAgICAgaWYgKHRhYikge1xuICAgICAgICAgICAgICAgICAgICB0YWIuZmllbGRzLnB1c2goY3VycmVudFJvb3RFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJvb3RFbGVtZW50cy5wdXNoKGN1cnJlbnRSb290RWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcm9vdEVsZW1lbnRzO1xuICAgIH1cblxuICAgIC8vIExvYWRzIGV4dGVybmFsIGRhdGEgYW5kIG92ZXJyaWRlcyBmaWVsZCB2YWx1ZXNcbiAgICAvLyBUeXBpY2FsbHkgdXNlZCB3aGVuIGZvcm0gZGVmaW5pdGlvbiBhbmQgZm9ybSBkYXRhIGNvbWluZyBmcm9tIGRpZmZlcmVudCBzb3VyY2VzXG4gICAgcHJpdmF0ZSBsb2FkRGF0YShmb3JtVmFsdWVzOiBGb3JtVmFsdWVzKSB7XG4gICAgICAgIGZvciAoY29uc3QgZmllbGQgb2YgdGhpcy5maWVsZHNDYWNoZSkge1xuICAgICAgICAgICAgY29uc3QgdmFyaWFibGVJZCA9IGB2YXJpYWJsZXMuJHtmaWVsZC5uYW1lfWA7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmNhbk92ZXJyaWRlRmllbGRWYWx1ZVdpdGhQcm9jZXNzVmFsdWUoZmllbGQsIHZhcmlhYmxlSWQsIGZvcm1WYWx1ZXMpKSB7XG4gICAgICAgICAgICAgICAgZmllbGQuanNvbi52YWx1ZSA9IGZvcm1WYWx1ZXNbdmFyaWFibGVJZF0gfHwgZm9ybVZhbHVlc1tmaWVsZC5pZF07XG4gICAgICAgICAgICAgICAgZmllbGQudmFsdWUgPSBmaWVsZC5wYXJzZVZhbHVlKGZpZWxkLmpzb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYW5PdmVycmlkZUZpZWxkVmFsdWVXaXRoUHJvY2Vzc1ZhbHVlKGZpZWxkOiBGb3JtRmllbGRNb2RlbCwgdmFyaWFibGVJZDogc3RyaW5nLCBmb3JtVmFsdWVzOiBGb3JtVmFsdWVzKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhRm9ybUZpZWxkVHlwZXMuaXNDb25zdGFudFZhbHVlVHlwZShmaWVsZC50eXBlKSAmJiAodGhpcy5pc0RlZmluZWQoZm9ybVZhbHVlc1t2YXJpYWJsZUlkXSkgfHwgdGhpcy5pc0RlZmluZWQoZm9ybVZhbHVlc1tmaWVsZC5pZF0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRGVmaW5lZCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBmb3JtIHZhcmlhYmxlIHRoYXQgbWF0Y2hlcyB0aGUgaWRlbnRpZmllci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZGVudGlmaWVyIFRoZSBgbmFtZWAgb3IgYGlkYCB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyBmb3JtIHZhcmlhYmxlIG1vZGVsXG4gICAgICovXG4gICAgZ2V0Rm9ybVZhcmlhYmxlKGlkZW50aWZpZXI6IHN0cmluZyk6IEZvcm1WYXJpYWJsZU1vZGVsIHtcbiAgICAgICAgaWYgKGlkZW50aWZpZXIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhcmlhYmxlcy5maW5kKCh2YXJpYWJsZSkgPT4gdmFyaWFibGUubmFtZSA9PT0gaWRlbnRpZmllciB8fCB2YXJpYWJsZS5pZCA9PT0gaWRlbnRpZmllcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgdmFsdWUgb2YgdGhlIGZvcm0gdmFyaWFibGUgdGhhdCBtYXRjaGVzIHRoZSBpZGVudGlmaWVyLlxuICAgICAqIFByb3ZpZGVzIGFkZGl0aW9uYWwgY29udmVyc2lvbiBvZiB0eXBlcyAoZGF0ZSwgYm9vbGVhbikuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWRlbnRpZmllciBUaGUgYG5hbWVgIG9yIGBpZGAgdmFsdWVcbiAgICAgKiBAcmV0dXJucyBmb3JtIHZhcmlhYmxlIHZhbHVlXG4gICAgICovXG4gICAgZ2V0RGVmYXVsdEZvcm1WYXJpYWJsZVZhbHVlKGlkZW50aWZpZXI6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIGNvbnN0IHZhcmlhYmxlID0gdGhpcy5nZXRGb3JtVmFyaWFibGUoaWRlbnRpZmllcik7XG5cbiAgICAgICAgaWYgKHZhcmlhYmxlICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YXJpYWJsZSwgJ3ZhbHVlJykpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBhcnNlVmFsdWUodmFyaWFibGUudHlwZSwgdmFyaWFibGUudmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgcHJvY2VzcyB2YXJpYWJsZSB2YWx1ZS5cbiAgICAgKiBXaGVuIG1hcHBpbmcgYSBwcm9jZXNzIHZhcmlhYmxlIHdpdGggYSBmb3JtIHZhcmlhYmxlIHRoZSBtYXBwaW5nXG4gICAgICogaXMgYWxyZWFkeSByZXNvbHZlZCBieSB0aGUgcmVzdCBBUEkgd2l0aCB0aGUgbmFtZSBvZiB2YXJpYWJsZXMuZm9ybVZhcmlhYmxlTmFtZVxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVmFyaWFibGUgbmFtZVxuICAgICAqIEByZXR1cm5zIHByb2Nlc3MgdmFyaWFibGUgdmFsdWVcbiAgICAgKi9cbiAgICBnZXRQcm9jZXNzVmFyaWFibGVWYWx1ZShuYW1lOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBsZXQgdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLnByb2Nlc3NWYXJpYWJsZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgbmFtZXMgPSBbYHZhcmlhYmxlcy4ke25hbWV9YCwgbmFtZV07XG5cbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NWYXJpYWJsZSA9IHRoaXMucHJvY2Vzc1ZhcmlhYmxlcy5maW5kKChlbnRyeSkgPT4gbmFtZXMuaW5jbHVkZXMoZW50cnkubmFtZSkpO1xuXG4gICAgICAgICAgICBpZiAocHJvY2Vzc1ZhcmlhYmxlKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLnBhcnNlVmFsdWUocHJvY2Vzc1ZhcmlhYmxlLnR5cGUsIHByb2Nlc3NWYXJpYWJsZS52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHRoaXMuZ2V0RGVmYXVsdEZvcm1WYXJpYWJsZVZhbHVlKG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBwYXJzZVZhbHVlKHR5cGU6IHN0cmluZywgdmFsdWU6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh0eXBlICYmIHZhbHVlKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ1QnKSA/IHZhbHVlIDogYCR7dmFsdWV9VDAwOjAwOjAwLjAwMFpgO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IEpTT04ucGFyc2UodmFsdWUpIDogdmFsdWU7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGhhc1RhYnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYnMgJiYgdGhpcy50YWJzLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgaGFzRmllbGRzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZHMgJiYgdGhpcy5maWVsZHMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBoYXNPdXRjb21lcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3V0Y29tZXMgJiYgdGhpcy5vdXRjb21lcy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGdldEZpZWxkQnlJZChmaWVsZElkOiBzdHJpbmcpOiBGb3JtRmllbGRNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkc0NhY2hlLmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5pZCA9PT0gZmllbGRJZCk7XG4gICAgfVxuXG4gICAgZ2V0Rm9ybUZpZWxkcyhmaWx0ZXJUeXBlcz86IHN0cmluZ1tdKTogRm9ybUZpZWxkTW9kZWxbXSB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkc0NhY2hlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbHRlckZpZWxkc0J5VHlwZSh0aGlzLmZpZWxkc0NhY2hlLCBmaWx0ZXJUeXBlcyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmb3JtRmllbGRNb2RlbDogRm9ybUZpZWxkTW9kZWxbXSA9IFtdO1xuICAgICAgICB0aGlzLnByb2Nlc3NGaWVsZHModGhpcy5maWVsZHMsIGZvcm1GaWVsZE1vZGVsKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyRmllbGRzQnlUeXBlKGZvcm1GaWVsZE1vZGVsLCBmaWx0ZXJUeXBlcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzRmllbGRzKGZpZWxkczogKENvbnRhaW5lck1vZGVsIHwgRm9ybUZpZWxkTW9kZWwpW10sIGZvcm1GaWVsZE1vZGVsOiBGb3JtRmllbGRNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNTZWN0aW9uRmllbGQoZmllbGQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTZWN0aW9uRmllbGQoZmllbGQsIGZvcm1GaWVsZE1vZGVsKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0NvbnRhaW5lckZpZWxkKGZpZWxkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ29udGFpbmVyRmllbGQoZmllbGQsIGZvcm1GaWVsZE1vZGVsKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0Zvcm1GaWVsZChmaWVsZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNpbmdsZUZpZWxkKGZpZWxkLCBmb3JtRmllbGRNb2RlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNDb250YWluZXJGaWVsZChmaWVsZDogQ29udGFpbmVyTW9kZWwgfCBGb3JtRmllbGRNb2RlbCk6IGZpZWxkIGlzIENvbnRhaW5lck1vZGVsIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkIGluc3RhbmNlb2YgQ29udGFpbmVyTW9kZWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0Zvcm1GaWVsZChmaWVsZDogQ29udGFpbmVyTW9kZWwgfCBGb3JtRmllbGRNb2RlbCk6IGZpZWxkIGlzIEZvcm1GaWVsZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkIGluc3RhbmNlb2YgRm9ybUZpZWxkTW9kZWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1NlY3Rpb25GaWVsZChmaWVsZDogQ29udGFpbmVyTW9kZWwgfCBGb3JtRmllbGRNb2RlbCk6IGZpZWxkIGlzIEZvcm1GaWVsZE1vZGVsIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkLnR5cGUgPT09IEZvcm1GaWVsZFR5cGVzLlNFQ1RJT047XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVTZWN0aW9uRmllbGQoc2VjdGlvbjogRm9ybUZpZWxkTW9kZWwsIGZvcm1GaWVsZE1vZGVsOiBGb3JtRmllbGRNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIGZvcm1GaWVsZE1vZGVsLnB1c2goc2VjdGlvbik7XG4gICAgICAgIHNlY3Rpb24uY29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0ZpZWxkcyhjb2x1bW4uZmllbGRzLCBmb3JtRmllbGRNb2RlbCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQ29udGFpbmVyRmllbGQoY29udGFpbmVyOiBDb250YWluZXJNb2RlbCwgZm9ybUZpZWxkTW9kZWw6IEZvcm1GaWVsZE1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgZm9ybUZpZWxkTW9kZWwucHVzaChjb250YWluZXIuZmllbGQpO1xuICAgICAgICBjb250YWluZXIuZmllbGQuY29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0ZpZWxkcyhjb2x1bW4uZmllbGRzLCBmb3JtRmllbGRNb2RlbCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlU2luZ2xlRmllbGQoZmllbGQ6IEZvcm1GaWVsZE1vZGVsLCBmb3JtRmllbGRNb2RlbDogRm9ybUZpZWxkTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBmb3JtRmllbGRNb2RlbC5wdXNoKGZpZWxkKTtcbiAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRmllbGRzKE9iamVjdC52YWx1ZXMoZmllbGQuZmllbGRzKSwgZm9ybUZpZWxkTW9kZWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJGaWVsZHNCeVR5cGUoZmllbGRzOiBGb3JtRmllbGRNb2RlbFtdLCB0eXBlcz86IHN0cmluZ1tdKTogRm9ybUZpZWxkTW9kZWxbXSB7XG4gICAgICAgIGlmICghdHlwZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGZpZWxkcztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWVsZHMuZmlsdGVyKChmaWVsZCkgPT4gdHlwZXMuaW5jbHVkZXMoZmllbGQ/LnR5cGUpKTtcbiAgICB9XG5cbiAgICBtYXJrQXNJbnZhbGlkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzVmFsaWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcGFyc2VPdXRjb21lcygpIHtcbiAgICAgICAgaWYgKHRoaXMuanNvbi5maWVsZHMpIHtcbiAgICAgICAgICAgIGNvbnN0IHNhdmVPdXRjb21lID0gbmV3IEZvcm1PdXRjb21lTW9kZWwodGhpcywge1xuICAgICAgICAgICAgICAgIGlkOiBGb3JtTW9kZWwuU0FWRV9PVVRDT01FLFxuICAgICAgICAgICAgICAgIG5hbWU6ICdTQVZFJyxcbiAgICAgICAgICAgICAgICBpc1N5c3RlbTogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBjb21wbGV0ZU91dGNvbWUgPSBuZXcgRm9ybU91dGNvbWVNb2RlbCh0aGlzLCB7XG4gICAgICAgICAgICAgICAgaWQ6IEZvcm1Nb2RlbC5DT01QTEVURV9PVVRDT01FLFxuICAgICAgICAgICAgICAgIG5hbWU6ICdDT01QTEVURScsXG4gICAgICAgICAgICAgICAgaXNTeXN0ZW06IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3Qgc3RhcnRQcm9jZXNzT3V0Y29tZSA9IG5ldyBGb3JtT3V0Y29tZU1vZGVsKHRoaXMsIHtcbiAgICAgICAgICAgICAgICBpZDogRm9ybU1vZGVsLlNUQVJUX1BST0NFU1NfT1VUQ09NRSxcbiAgICAgICAgICAgICAgICBuYW1lOiAnU1RBUlQgUFJPQ0VTUycsXG4gICAgICAgICAgICAgICAgaXNTeXN0ZW06IHRydWVcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBjdXN0b21PdXRjb21lcyA9ICh0aGlzLmpzb24ub3V0Y29tZXMgfHwgW10pLm1hcCgob2JqKSA9PiBuZXcgRm9ybU91dGNvbWVNb2RlbCh0aGlzLCBvYmopKTtcblxuICAgICAgICAgICAgdGhpcy5vdXRjb21lcyA9IFtzYXZlT3V0Y29tZV0uY29uY2F0KGN1c3RvbU91dGNvbWVzLmxlbmd0aCA+IDAgPyBjdXN0b21PdXRjb21lcyA6IFtjb21wbGV0ZU91dGNvbWUsIHN0YXJ0UHJvY2Vzc091dGNvbWVdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFkZFZhbHVlc05vdFByZXNlbnQodmFsdWVzVG9TZXRJZk5vdFByZXNlbnQ6IEZvcm1WYWx1ZXMpIHtcbiAgICAgICAgdGhpcy5maWVsZHNDYWNoZS5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlc1RvU2V0SWZOb3RQcmVzZW50W2ZpZWxkLmlkXSAmJiAoIXRoaXMudmFsdWVzW2ZpZWxkLmlkXSB8fCB0aGlzLmlzVmFsaWREcm9wRG93bihmaWVsZC5pZCkpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbZmllbGQuaWRdID0gdmFsdWVzVG9TZXRJZk5vdFByZXNlbnRbZmllbGQuaWRdO1xuICAgICAgICAgICAgICAgIGZpZWxkLmpzb24udmFsdWUgPSB0aGlzLnZhbHVlc1tmaWVsZC5pZF07XG4gICAgICAgICAgICAgICAgZmllbGQudmFsdWUgPSBmaWVsZC5wYXJzZVZhbHVlKGZpZWxkLmpzb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWREcm9wRG93bihrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZ2V0RmllbGRCeUlkKGtleSk7XG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSBGb3JtRmllbGRUeXBlcy5EUk9QRE9XTikge1xuICAgICAgICAgICAgaWYgKGZpZWxkLmhhc011bHRpcGxlVmFsdWVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZXNba2V5XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMudmFsdWVzW2tleV0gPT09ICdzdHJpbmcnID8gdGhpcy52YWx1ZXNba2V5XSA9PT0gJ2VtcHR5JyA6IE9iamVjdC5rZXlzKHRoaXMudmFsdWVzW2tleV0pLmxlbmd0aCA9PT0gMDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgc2V0Tm9kZUlkVmFsdWVGb3JWaWV3ZXJzTGlua2VkVG9VcGxvYWRXaWRnZXQobGlua2VkVXBsb2FkV2lkZ2V0Q29udGVudFNlbGVjdGVkOiBVcGxvYWRXaWRnZXRDb250ZW50TGlua01vZGVsKSB7XG4gICAgICAgIGNvbnN0IGxpbmtlZFdpZGdldFR5cGUgPSBsaW5rZWRVcGxvYWRXaWRnZXRDb250ZW50U2VsZWN0ZWQ/Lm9wdGlvbnM/LmxpbmtlZFdpZGdldFR5cGUgPz8gJ3VwbG9hZFdpZGdldCc7XG5cbiAgICAgICAgY29uc3Qgc3Vic2NyaWJlZFZpZXdlcnMgPSB0aGlzLmZpZWxkc0NhY2hlLmZpbHRlcihcbiAgICAgICAgICAgIChmaWVsZCkgPT4gbGlua2VkVXBsb2FkV2lkZ2V0Q29udGVudFNlbGVjdGVkLnVwbG9hZFdpZGdldElkID09PSBmaWVsZC5wYXJhbXNbbGlua2VkV2lkZ2V0VHlwZV1cbiAgICAgICAgKTtcblxuICAgICAgICBzdWJzY3JpYmVkVmlld2Vycy5mb3JFYWNoKCh2aWV3ZXIpID0+IHtcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW3ZpZXdlci5pZF0gPSBsaW5rZWRVcGxvYWRXaWRnZXRDb250ZW50U2VsZWN0ZWQuaWQ7XG4gICAgICAgICAgICB2aWV3ZXIuanNvbi52YWx1ZSA9IHRoaXMudmFsdWVzW3ZpZXdlci5pZF07XG4gICAgICAgICAgICB2aWV3ZXIudmFsdWUgPSB2aWV3ZXIucGFyc2VWYWx1ZSh2aWV3ZXIuanNvbik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNoYW5nZUZpZWxkVmlzaWJpbGl0eShmaWVsZElkOiBzdHJpbmcsIHZpc2liaWxpdHk6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmlzaWJpbGl0eVJ1bGU6IFdpZGdldFZpc2liaWxpdHlNb2RlbCA9IG5ldyBXaWRnZXRWaXNpYmlsaXR5TW9kZWwoKTtcblxuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZ2V0RmllbGRCeUlkKGZpZWxkSWQpO1xuICAgICAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHlSdWxlLm9wZXJhdG9yID0gdmlzaWJpbGl0eSA/ICdlbXB0eScgOiAnIWVtcHR5JztcbiAgICAgICAgICAgIHZpc2liaWxpdHlSdWxlLmxlZnRUeXBlID0gV2lkZ2V0VHlwZUVudW0uZmllbGQ7XG4gICAgICAgICAgICBmaWVsZC52aXNpYmlsaXR5Q29uZGl0aW9uID0gdmlzaWJpbGl0eVJ1bGU7XG4gICAgICAgICAgICBmaWVsZC5pc1Zpc2libGUgPSB2aXNpYmlsaXR5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hhbmdlRmllbGREaXNhYmxlZChmaWVsZElkOiBzdHJpbmcsIGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy5nZXRGaWVsZEJ5SWQoZmllbGRJZCk7XG4gICAgICAgIGlmIChmaWVsZCkge1xuICAgICAgICAgICAgZmllbGQucmVhZE9ubHkgPSB0aGlzLnJlYWRPbmx5IHx8IGRpc2FibGVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hhbmdlRmllbGRSZXF1aXJlZChmaWVsZElkOiBzdHJpbmcsIHJlcXVpcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy5nZXRGaWVsZEJ5SWQoZmllbGRJZCk7XG4gICAgICAgIGlmIChmaWVsZCkge1xuICAgICAgICAgICAgZmllbGQucmVxdWlyZWQgPSByZXF1aXJlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoYW5nZUZpZWxkVmFsdWUoZmllbGRJZDogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy5nZXRGaWVsZEJ5SWQoZmllbGRJZCk7XG4gICAgICAgIGlmIChmaWVsZCkge1xuICAgICAgICAgICAgZmllbGQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoYW5nZVZhcmlhYmxlVmFsdWUodmFyaWFibGVJZDogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhcmlhYmxlID0gdGhpcy5nZXRGb3JtVmFyaWFibGUodmFyaWFibGVJZCk7XG4gICAgICAgIGlmICh2YXJpYWJsZSkge1xuICAgICAgICAgICAgdmFyaWFibGUudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZEluamVjdGVkRmllbGRWYWxpZGF0b3JzKGluamVjdGVkRmllbGRWYWxpZGF0b3JzOiBGb3JtRmllbGRWYWxpZGF0b3JbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpZWxkVmFsaWRhdG9ycyA9IGluamVjdGVkRmllbGRWYWxpZGF0b3JzID8gWy4uLkZPUk1fRklFTERfVkFMSURBVE9SUywgLi4uaW5qZWN0ZWRGaWVsZFZhbGlkYXRvcnNdIDogWy4uLkZPUk1fRklFTERfVkFMSURBVE9SU107XG4gICAgfVxufVxuIl19
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export {};
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2NvcmUvZ3JvdXAubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwTW9kZWwge1xuICAgIGV4dGVybmFsSWQ/OiBzdHJpbmc7XG4gICAgZ3JvdXBzPzogYW55O1xuICAgIGlkPzogc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgc3RhdHVzPzogc3RyaW5nO1xufVxuIl19