@alfresco/adf-content-services 8.1.0-16500060130 → 8.1.0-16877609768

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 (425) hide show
  1. package/bundles/assets/adf-content-services/i18n/de.json +3 -1
  2. package/bundles/assets/adf-content-services/i18n/en.json +3 -1
  3. package/bundles/assets/adf-content-services/i18n/es.json +3 -1
  4. package/bundles/assets/adf-content-services/i18n/fr.json +3 -1
  5. package/bundles/assets/adf-content-services/i18n/it.json +3 -1
  6. package/bundles/assets/adf-content-services/i18n/pl.json +2 -2
  7. package/bundles/assets/adf-content-services/i18n/pt.json +3 -1
  8. package/fesm2022/adf-content-services.mjs +873 -830
  9. package/fesm2022/adf-content-services.mjs.map +1 -1
  10. package/lib/aspect-list/aspect-list.component.d.ts +4 -0
  11. package/lib/aspect-list/interfaces/custom-aspect-paging.interface.d.ts +21 -0
  12. package/lib/aspect-list/public-api.d.ts +1 -0
  13. package/lib/aspect-list/services/aspect-list.service.d.ts +6 -4
  14. package/lib/category/categories-management/categories-management.component.d.ts +4 -0
  15. package/lib/content.module.d.ts +2 -2
  16. package/lib/dialogs/dialog.module.d.ts +6 -5
  17. package/lib/dialogs/download-zip/download-zip.dialog.d.ts +1 -1
  18. package/lib/dialogs/download-zip/download-zip.dialog.module.d.ts +2 -6
  19. package/lib/new-version-uploader/new-version-uploader.dialog.scss +1 -1
  20. package/lib/upload/components/base-upload/upload-base.d.ts +1 -1
  21. package/lib/version-manager/version-list.component.scss +3 -2
  22. package/package.json +3 -5
  23. package/esm2022/adf-content-services.mjs +0 -5
  24. package/esm2022/lib/agent/index.mjs +0 -18
  25. package/esm2022/lib/agent/public-api.mjs +0 -18
  26. package/esm2022/lib/agent/services/agent.service.mjs +0 -60
  27. package/esm2022/lib/alfresco-icon/alfresco-icon.component.mjs +0 -27
  28. package/esm2022/lib/api-factories/alfresco-api-no-auth.service.mjs +0 -42
  29. package/esm2022/lib/api-factories/alfresco-api-v2-loader.service.mjs +0 -77
  30. package/esm2022/lib/api-factories/index.mjs +0 -18
  31. package/esm2022/lib/api-factories/public-api.mjs +0 -19
  32. package/esm2022/lib/aspect-list/aspect-list-dialog-data.interface.mjs +0 -18
  33. package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +0 -77
  34. package/esm2022/lib/aspect-list/aspect-list.component.mjs +0 -139
  35. package/esm2022/lib/aspect-list/aspect-list.module.mjs +0 -35
  36. package/esm2022/lib/aspect-list/index.mjs +0 -18
  37. package/esm2022/lib/aspect-list/public-api.mjs +0 -24
  38. package/esm2022/lib/aspect-list/services/aspect-list.service.mjs +0 -83
  39. package/esm2022/lib/aspect-list/services/dialog-aspect-list.service.mjs +0 -86
  40. package/esm2022/lib/aspect-list/services/node-aspect.service.mjs +0 -52
  41. package/esm2022/lib/auth-loader/content-auth-loader-factory.mjs +0 -26
  42. package/esm2022/lib/auth-loader/content-auth-loader.service.mjs +0 -42
  43. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -166
  44. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +0 -35
  45. package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +0 -65
  46. package/esm2022/lib/breadcrumb/index.mjs +0 -18
  47. package/esm2022/lib/breadcrumb/public-api.mjs +0 -20
  48. package/esm2022/lib/category/categories-management/categories-management-mode.mjs +0 -22
  49. package/esm2022/lib/category/categories-management/categories-management.component.mjs +0 -308
  50. package/esm2022/lib/category/category.module.mjs +0 -33
  51. package/esm2022/lib/category/index.mjs +0 -18
  52. package/esm2022/lib/category/models/category-node.interface.mjs +0 -18
  53. package/esm2022/lib/category/public-api.mjs +0 -23
  54. package/esm2022/lib/category/services/category-tree-datasource.service.mjs +0 -80
  55. package/esm2022/lib/category/services/category.service.mjs +0 -159
  56. package/esm2022/lib/common/events/file.event.mjs +0 -46
  57. package/esm2022/lib/common/index.mjs +0 -18
  58. package/esm2022/lib/common/interfaces/saved-search.interface.mjs +0 -18
  59. package/esm2022/lib/common/interfaces/search-configuration.interface.mjs +0 -18
  60. package/esm2022/lib/common/mocks/ecm-user.service.mock.mjs +0 -37
  61. package/esm2022/lib/common/models/allowable-operations.enum.mjs +0 -30
  62. package/esm2022/lib/common/models/ecm-company.model.mjs +0 -19
  63. package/esm2022/lib/common/models/ecm-user.model.mjs +0 -45
  64. package/esm2022/lib/common/models/file.model.mjs +0 -53
  65. package/esm2022/lib/common/models/node-metadata.model.mjs +0 -23
  66. package/esm2022/lib/common/models/permissions.enum.mjs +0 -32
  67. package/esm2022/lib/common/public-api.mjs +0 -37
  68. package/esm2022/lib/common/services/card-view-content-update.service.mjs +0 -55
  69. package/esm2022/lib/common/services/content.service.mjs +0 -180
  70. package/esm2022/lib/common/services/discovery-api.service.mjs +0 -79
  71. package/esm2022/lib/common/services/favorites-api.service.mjs +0 -84
  72. package/esm2022/lib/common/services/nodes-api.service.mjs +0 -251
  73. package/esm2022/lib/common/services/people-content.service.mjs +0 -138
  74. package/esm2022/lib/common/services/rendition.service.mjs +0 -270
  75. package/esm2022/lib/common/services/saved-searches.service.mjs +0 -206
  76. package/esm2022/lib/common/services/sites.service.mjs +0 -243
  77. package/esm2022/lib/common/services/upload.service.mjs +0 -391
  78. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +0 -54
  79. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +0 -490
  80. package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +0 -128
  81. package/esm2022/lib/content-metadata/content-metadata.module.mjs +0 -36
  82. package/esm2022/lib/content-metadata/index.mjs +0 -18
  83. package/esm2022/lib/content-metadata/interfaces/aspect-oriented-config.interface.mjs +0 -18
  84. package/esm2022/lib/content-metadata/interfaces/card-view-group.interface.mjs +0 -18
  85. package/esm2022/lib/content-metadata/interfaces/content-metadata-config.interface.mjs +0 -18
  86. package/esm2022/lib/content-metadata/interfaces/content-metadata-custom-panel.interface.mjs +0 -18
  87. package/esm2022/lib/content-metadata/interfaces/content-metadata-panel.interface.mjs +0 -18
  88. package/esm2022/lib/content-metadata/interfaces/content-metadata.interfaces.mjs +0 -28
  89. package/esm2022/lib/content-metadata/interfaces/indifferent-config.interface.mjs +0 -18
  90. package/esm2022/lib/content-metadata/interfaces/layout-oriented-config.interface.mjs +0 -18
  91. package/esm2022/lib/content-metadata/interfaces/organised-property-group.interface.mjs +0 -18
  92. package/esm2022/lib/content-metadata/interfaces/preset-config.interface.mjs +0 -18
  93. package/esm2022/lib/content-metadata/interfaces/property-group.interface.mjs +0 -18
  94. package/esm2022/lib/content-metadata/interfaces/property.interface.mjs +0 -18
  95. package/esm2022/lib/content-metadata/public-api.mjs +0 -31
  96. package/esm2022/lib/content-metadata/services/basic-properties.service.mjs +0 -107
  97. package/esm2022/lib/content-metadata/services/config/aspect-oriented-config.service.mjs +0 -106
  98. package/esm2022/lib/content-metadata/services/config/content-metadata-config.factory.mjs +0 -76
  99. package/esm2022/lib/content-metadata/services/config/indifferent-config.service.mjs +0 -40
  100. package/esm2022/lib/content-metadata/services/config/layout-oriented-config.service.mjs +0 -108
  101. package/esm2022/lib/content-metadata/services/config/property-group-reader.mjs +0 -33
  102. package/esm2022/lib/content-metadata/services/content-metadata.service.mjs +0 -99
  103. package/esm2022/lib/content-metadata/services/content-type-property.service.mjs +0 -134
  104. package/esm2022/lib/content-metadata/services/property-descriptors.service.mjs +0 -52
  105. package/esm2022/lib/content-metadata/services/property-groups-translator.service.mjs +0 -169
  106. package/esm2022/lib/content-node-selector/content-node-dialog.service.mjs +0 -256
  107. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +0 -617
  108. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.service.mjs +0 -66
  109. package/esm2022/lib/content-node-selector/content-node-selector.component-data.interface.mjs +0 -18
  110. package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +0 -205
  111. package/esm2022/lib/content-node-selector/content-node-selector.module.mjs +0 -50
  112. package/esm2022/lib/content-node-selector/index.mjs +0 -18
  113. package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs +0 -48
  114. package/esm2022/lib/content-node-selector/public-api.mjs +0 -25
  115. package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +0 -168
  116. package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +0 -287
  117. package/esm2022/lib/content-node-share/content-node-share.directive.mjs +0 -102
  118. package/esm2022/lib/content-node-share/content-node-share.module.mjs +0 -35
  119. package/esm2022/lib/content-node-share/content-node-share.settings.mjs +0 -18
  120. package/esm2022/lib/content-node-share/index.mjs +0 -18
  121. package/esm2022/lib/content-node-share/public-api.mjs +0 -22
  122. package/esm2022/lib/content-node-share/services/shared-links-api.service.mjs +0 -83
  123. package/esm2022/lib/content-type/content-type-dialog.component.mjs +0 -57
  124. package/esm2022/lib/content-type/content-type-metadata.interface.mjs +0 -18
  125. package/esm2022/lib/content-type/content-type.service.mjs +0 -52
  126. package/esm2022/lib/content-type/index.mjs +0 -20
  127. package/esm2022/lib/content.module.mjs +0 -277
  128. package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +0 -51
  129. package/esm2022/lib/dialogs/dialog.module.mjs +0 -52
  130. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.mjs +0 -111
  131. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.module.mjs +0 -38
  132. package/esm2022/lib/dialogs/download-zip/services/download-zip.service.mjs +0 -66
  133. package/esm2022/lib/dialogs/folder/folder-name.validators.mjs +0 -44
  134. package/esm2022/lib/dialogs/folder/folder.dialog.mjs +0 -146
  135. package/esm2022/lib/dialogs/index.mjs +0 -18
  136. package/esm2022/lib/dialogs/library/library.dialog.mjs +0 -224
  137. package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +0 -115
  138. package/esm2022/lib/dialogs/public-api.mjs +0 -25
  139. package/esm2022/lib/directives/auto-focus.directive.mjs +0 -38
  140. package/esm2022/lib/directives/check-allowable-operation.directive.mjs +0 -126
  141. package/esm2022/lib/directives/content-directive.module.mjs +0 -75
  142. package/esm2022/lib/directives/index.mjs +0 -18
  143. package/esm2022/lib/directives/library-favorite.directive.mjs +0 -119
  144. package/esm2022/lib/directives/library-membership.directive.mjs +0 -202
  145. package/esm2022/lib/directives/node-counter.directive.mjs +0 -59
  146. package/esm2022/lib/directives/node-delete.directive.mjs +0 -177
  147. package/esm2022/lib/directives/node-download.directive.mjs +0 -138
  148. package/esm2022/lib/directives/node-favorite.directive.mjs +0 -193
  149. package/esm2022/lib/directives/node-lock.directive.mjs +0 -57
  150. package/esm2022/lib/directives/node-restore.directive.mjs +0 -218
  151. package/esm2022/lib/directives/public-api.mjs +0 -28
  152. package/esm2022/lib/document-list/components/content-action/content-action-list.component.mjs +0 -60
  153. package/esm2022/lib/document-list/components/content-action/content-action.component.mjs +0 -196
  154. package/esm2022/lib/document-list/components/document-list.component.mjs +0 -965
  155. package/esm2022/lib/document-list/components/document-list.token.mjs +0 -21
  156. package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +0 -42
  157. package/esm2022/lib/document-list/components/filter-header/filter-header.component.mjs +0 -107
  158. package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +0 -131
  159. package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +0 -91
  160. package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +0 -86
  161. package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +0 -118
  162. package/esm2022/lib/document-list/components/node.event.mjs +0 -30
  163. package/esm2022/lib/document-list/components/trashcan-name-column/trashcan-name-column.component.mjs +0 -83
  164. package/esm2022/lib/document-list/data/image-resolver.model.mjs +0 -18
  165. package/esm2022/lib/document-list/data/row-filter.model.mjs +0 -18
  166. package/esm2022/lib/document-list/data/share-data-row.model.mjs +0 -102
  167. package/esm2022/lib/document-list/data/share-datatable-adapter.mjs +0 -258
  168. package/esm2022/lib/document-list/document-list.module.mjs +0 -75
  169. package/esm2022/lib/document-list/index.mjs +0 -18
  170. package/esm2022/lib/document-list/interfaces/document-list-loader.interface.mjs +0 -18
  171. package/esm2022/lib/document-list/models/content-action.model.mjs +0 -59
  172. package/esm2022/lib/document-list/models/document-folder.model.mjs +0 -23
  173. package/esm2022/lib/document-list/models/node-action.enum.mjs +0 -27
  174. package/esm2022/lib/document-list/models/permissions-style.model.mjs +0 -27
  175. package/esm2022/lib/document-list/models/permissions.model.mjs +0 -26
  176. package/esm2022/lib/document-list/models/preset.model.mjs +0 -257
  177. package/esm2022/lib/document-list/public-api.mjs +0 -47
  178. package/esm2022/lib/document-list/services/custom-resources.service.mjs +0 -378
  179. package/esm2022/lib/document-list/services/document-actions.service.mjs +0 -142
  180. package/esm2022/lib/document-list/services/document-list.service.mjs +0 -175
  181. package/esm2022/lib/document-list/services/folder-actions.service.mjs +0 -137
  182. package/esm2022/lib/document-list/services/lock.service.mjs +0 -72
  183. package/esm2022/lib/document-list/services/node-actions.service.mjs +0 -122
  184. package/esm2022/lib/group/index.mjs +0 -18
  185. package/esm2022/lib/group/public-api.mjs +0 -18
  186. package/esm2022/lib/group/services/group.service.mjs +0 -84
  187. package/esm2022/lib/infinite-scroll-datasource/index.mjs +0 -18
  188. package/esm2022/lib/infinite-scroll-datasource/infinite-scroll-datasource.mjs +0 -69
  189. package/esm2022/lib/infinite-scroll-datasource/public-api.mjs +0 -18
  190. package/esm2022/lib/interfaces/base-card-view-content-update.interface.mjs +0 -18
  191. package/esm2022/lib/interfaces/index.mjs +0 -18
  192. package/esm2022/lib/interfaces/library-entity.interface.mjs +0 -18
  193. package/esm2022/lib/interfaces/library-membership-error-event.interface.mjs +0 -18
  194. package/esm2022/lib/interfaces/library-membership-toggle-event.interface.mjs +0 -18
  195. package/esm2022/lib/interfaces/node-allowable-operation-subject.interface.mjs +0 -18
  196. package/esm2022/lib/interfaces/public-api.mjs +0 -23
  197. package/esm2022/lib/interfaces/restore-message-model.interface.mjs +0 -19
  198. package/esm2022/lib/legal-hold/index.mjs +0 -18
  199. package/esm2022/lib/legal-hold/public-api.mjs +0 -18
  200. package/esm2022/lib/legal-hold/services/legal-hold.service.mjs +0 -136
  201. package/esm2022/lib/material.module.mjs +0 -183
  202. package/esm2022/lib/mock/alfresco-api.service.mock.mjs +0 -43
  203. package/esm2022/lib/mock/date-range-search-filter.mock.mjs +0 -65
  204. package/esm2022/lib/mock/document-library.model.mock.mjs +0 -84
  205. package/esm2022/lib/mock/document-list.component.mock.mjs +0 -364
  206. package/esm2022/lib/mock/index.mjs +0 -18
  207. package/esm2022/lib/mock/new-version-uploader.service.mock.mjs +0 -161
  208. package/esm2022/lib/mock/public-api.mjs +0 -27
  209. package/esm2022/lib/mock/search-filter-mock.mjs +0 -637
  210. package/esm2022/lib/mock/search-query.mock.mjs +0 -40
  211. package/esm2022/lib/mock/search.component.mock.mjs +0 -165
  212. package/esm2022/lib/mock/search.service.mock.mjs +0 -61
  213. package/esm2022/lib/mock/sites-dropdown.component.mock.mjs +0 -281
  214. package/esm2022/lib/new-version-uploader/index.mjs +0 -18
  215. package/esm2022/lib/new-version-uploader/models/index.mjs +0 -18
  216. package/esm2022/lib/new-version-uploader/models/new-version-uploader.model.mjs +0 -24
  217. package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +0 -74
  218. package/esm2022/lib/new-version-uploader/new-version-uploader.module.mjs +0 -33
  219. package/esm2022/lib/new-version-uploader/new-version-uploader.service.mjs +0 -103
  220. package/esm2022/lib/new-version-uploader/public-api.mjs +0 -21
  221. package/esm2022/lib/node-comments/index.mjs +0 -18
  222. package/esm2022/lib/node-comments/node-comments.component.mjs +0 -50
  223. package/esm2022/lib/node-comments/node-comments.module.mjs +0 -33
  224. package/esm2022/lib/node-comments/public-api.mjs +0 -20
  225. package/esm2022/lib/node-comments/services/node-comments.service.mjs +0 -85
  226. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog-data.interface.mjs +0 -18
  227. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +0 -123
  228. package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +0 -102
  229. package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +0 -69
  230. package/esm2022/lib/permission-manager/components/add-permission/search-config-permission.service.mjs +0 -45
  231. package/esm2022/lib/permission-manager/components/inherited-button.directive.mjs +0 -67
  232. package/esm2022/lib/permission-manager/components/node-path-column/node-path-column.component.mjs +0 -56
  233. package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +0 -102
  234. package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +0 -87
  235. package/esm2022/lib/permission-manager/components/permission-list/permission-list.service.mjs +0 -219
  236. package/esm2022/lib/permission-manager/components/pop-over.directive.mjs +0 -134
  237. package/esm2022/lib/permission-manager/components/user-icon-column/user-icon-column.component.mjs +0 -88
  238. package/esm2022/lib/permission-manager/components/user-name-column/user-name-column.component.mjs +0 -82
  239. package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +0 -111
  240. package/esm2022/lib/permission-manager/index.mjs +0 -18
  241. package/esm2022/lib/permission-manager/models/member.model.mjs +0 -59
  242. package/esm2022/lib/permission-manager/models/permission.model.mjs +0 -29
  243. package/esm2022/lib/permission-manager/models/role.model.mjs +0 -18
  244. package/esm2022/lib/permission-manager/permission-manager.module.mjs +0 -84
  245. package/esm2022/lib/permission-manager/public-api.mjs +0 -36
  246. package/esm2022/lib/permission-manager/services/node-permission-dialog.service.mjs +0 -78
  247. package/esm2022/lib/permission-manager/services/node-permission.service.mjs +0 -299
  248. package/esm2022/lib/pipes/content-pipe.module.mjs +0 -37
  249. package/esm2022/lib/pipes/index.mjs +0 -18
  250. package/esm2022/lib/pipes/node-name-tooltip.pipe.mjs +0 -69
  251. package/esm2022/lib/pipes/public-api.mjs +0 -19
  252. package/esm2022/lib/prediction/index.mjs +0 -18
  253. package/esm2022/lib/prediction/public-api.mjs +0 -18
  254. package/esm2022/lib/prediction/services/index.mjs +0 -18
  255. package/esm2022/lib/prediction/services/prediction.service.mjs +0 -57
  256. package/esm2022/lib/search/components/empty-search-result.component.mjs +0 -27
  257. package/esm2022/lib/search/components/index.mjs +0 -43
  258. package/esm2022/lib/search/components/reset-search.directive.mjs +0 -41
  259. package/esm2022/lib/search/components/search-check-list/index.mjs +0 -18
  260. package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +0 -158
  261. package/esm2022/lib/search/components/search-chip-autocomplete-input/index.mjs +0 -18
  262. package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +0 -169
  263. package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +0 -46
  264. package/esm2022/lib/search/components/search-control.component.mjs +0 -180
  265. package/esm2022/lib/search/components/search-date-range-tabbed/index.mjs +0 -22
  266. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/date-range-type.mjs +0 -23
  267. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/in-last-date-type.mjs +0 -23
  268. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +0 -196
  269. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.mjs +0 -18
  270. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.mjs +0 -201
  271. package/esm2022/lib/search/components/search-datetime-range/index.mjs +0 -18
  272. package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +0 -223
  273. package/esm2022/lib/search/components/search-facet-field/index.mjs +0 -18
  274. package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +0 -132
  275. package/esm2022/lib/search/components/search-filter/index.mjs +0 -19
  276. package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +0 -45
  277. package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +0 -80
  278. package/esm2022/lib/search/components/search-filter-autocomplete-chips/index.mjs +0 -18
  279. package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +0 -154
  280. package/esm2022/lib/search/components/search-filter-chips/index.mjs +0 -23
  281. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +0 -104
  282. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +0 -109
  283. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-tabbed-content.component.mjs +0 -129
  284. package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +0 -63
  285. package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +0 -43
  286. package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +0 -109
  287. package/esm2022/lib/search/components/search-filter-container/index.mjs +0 -18
  288. package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +0 -122
  289. package/esm2022/lib/search/components/search-filter-tabbed/index.mjs +0 -19
  290. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tab.directive.mjs +0 -36
  291. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +0 -63
  292. package/esm2022/lib/search/components/search-form/index.mjs +0 -18
  293. package/esm2022/lib/search/components/search-form/search-form.component.mjs +0 -52
  294. package/esm2022/lib/search/components/search-input/index.mjs +0 -18
  295. package/esm2022/lib/search/components/search-input/search-input.component.mjs +0 -108
  296. package/esm2022/lib/search/components/search-logical-filter/index.mjs +0 -18
  297. package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +0 -163
  298. package/esm2022/lib/search/components/search-number-range/index.mjs +0 -18
  299. package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +0 -154
  300. package/esm2022/lib/search/components/search-panel/index.mjs +0 -18
  301. package/esm2022/lib/search/components/search-panel/search-panel.component.mjs +0 -44
  302. package/esm2022/lib/search/components/search-properties/file-size-condition.mjs +0 -18
  303. package/esm2022/lib/search/components/search-properties/file-size-operator.enum.mjs +0 -23
  304. package/esm2022/lib/search/components/search-properties/file-size-unit.enum.mjs +0 -26
  305. package/esm2022/lib/search/components/search-properties/index.mjs +0 -22
  306. package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +0 -244
  307. package/esm2022/lib/search/components/search-properties/search-properties.mjs +0 -18
  308. package/esm2022/lib/search/components/search-radio/index.mjs +0 -18
  309. package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +0 -145
  310. package/esm2022/lib/search/components/search-slider/index.mjs +0 -18
  311. package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +0 -119
  312. package/esm2022/lib/search/components/search-sorting-picker/index.mjs +0 -18
  313. package/esm2022/lib/search/components/search-sorting-picker/search-sorting-picker.component.mjs +0 -77
  314. package/esm2022/lib/search/components/search-text/index.mjs +0 -18
  315. package/esm2022/lib/search/components/search-text/search-text.component.mjs +0 -134
  316. package/esm2022/lib/search/components/search-widget-container/index.mjs +0 -18
  317. package/esm2022/lib/search/components/search-widget-container/search-widget-container.component.mjs +0 -113
  318. package/esm2022/lib/search/components/search.component.mjs +0 -152
  319. package/esm2022/lib/search/forms/index.mjs +0 -19
  320. package/esm2022/lib/search/forms/live-error-state-matcher.mjs +0 -23
  321. package/esm2022/lib/search/forms/search-term-validator.mjs +0 -26
  322. package/esm2022/lib/search/index.mjs +0 -18
  323. package/esm2022/lib/search/mocks/index.mjs +0 -18
  324. package/esm2022/lib/search/mocks/search.service.mock.mjs +0 -56
  325. package/esm2022/lib/search/models/autocomplete-option.interface.mjs +0 -22
  326. package/esm2022/lib/search/models/facet-field-bucket.interface.mjs +0 -18
  327. package/esm2022/lib/search/models/facet-field.interface.mjs +0 -29
  328. package/esm2022/lib/search/models/facet-query.interface.mjs +0 -18
  329. package/esm2022/lib/search/models/facet-widget.interface.mjs +0 -18
  330. package/esm2022/lib/search/models/filter-query.interface.mjs +0 -18
  331. package/esm2022/lib/search/models/filter-search.interface.mjs +0 -18
  332. package/esm2022/lib/search/models/index.mjs +0 -34
  333. package/esm2022/lib/search/models/response-facet-query-list.model.mjs +0 -31
  334. package/esm2022/lib/search/models/search-category.interface.mjs +0 -18
  335. package/esm2022/lib/search/models/search-configuration.interface.mjs +0 -18
  336. package/esm2022/lib/search/models/search-filter-list.model.mjs +0 -148
  337. package/esm2022/lib/search/models/search-form.interface.mjs +0 -18
  338. package/esm2022/lib/search/models/search-range.interface.mjs +0 -18
  339. package/esm2022/lib/search/models/search-sorting-definition.interface.mjs +0 -18
  340. package/esm2022/lib/search/models/search-widget-settings.interface.mjs +0 -18
  341. package/esm2022/lib/search/models/search-widget.interface.mjs +0 -18
  342. package/esm2022/lib/search/models/tabbed-facet-field.interface.mjs +0 -18
  343. package/esm2022/lib/search/public-api.mjs +0 -24
  344. package/esm2022/lib/search/search-configuration.token.mjs +0 -19
  345. package/esm2022/lib/search/search.module.mjs +0 -192
  346. package/esm2022/lib/search/services/base-query-builder.service.mjs +0 -509
  347. package/esm2022/lib/search/services/index.mjs +0 -24
  348. package/esm2022/lib/search/services/search-configuration.service.mjs +0 -50
  349. package/esm2022/lib/search/services/search-facet-filters.service.mjs +0 -374
  350. package/esm2022/lib/search/services/search-filter.service.mjs +0 -56
  351. package/esm2022/lib/search/services/search-header-query-builder.service.mjs +0 -136
  352. package/esm2022/lib/search/services/search-query-builder.service.mjs +0 -48
  353. package/esm2022/lib/search/services/search.service.mjs +0 -89
  354. package/esm2022/lib/search-ai/index.mjs +0 -18
  355. package/esm2022/lib/search-ai/models/search-ai-input-state.mjs +0 -18
  356. package/esm2022/lib/search-ai/public-api.mjs +0 -19
  357. package/esm2022/lib/search-ai/services/search-ai.service.mjs +0 -103
  358. package/esm2022/lib/security/index.mjs +0 -18
  359. package/esm2022/lib/security/public-api.mjs +0 -18
  360. package/esm2022/lib/security/services/models/security-controls-group-response.interface.mjs +0 -18
  361. package/esm2022/lib/security/services/models/security-controls-mark-response.interface.mjs +0 -18
  362. package/esm2022/lib/security/services/security-controls-groups-marks-security.service.mjs +0 -274
  363. package/esm2022/lib/security-options-loader/security-options-loader.service.mjs +0 -43
  364. package/esm2022/lib/services/alfresco-api.interface.mjs +0 -18
  365. package/esm2022/lib/services/alfresco-api.service.mjs +0 -120
  366. package/esm2022/lib/services/index.mjs +0 -18
  367. package/esm2022/lib/services/public-api.mjs +0 -18
  368. package/esm2022/lib/tag/index.mjs +0 -18
  369. package/esm2022/lib/tag/public-api.mjs +0 -24
  370. package/esm2022/lib/tag/services/tag.service.mjs +0 -171
  371. package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +0 -114
  372. package/esm2022/lib/tag/tag-list/tag-list.component.mjs +0 -98
  373. package/esm2022/lib/tag/tag-node-list/tag-node-list.component.mjs +0 -80
  374. package/esm2022/lib/tag/tag.module.mjs +0 -37
  375. package/esm2022/lib/tag/tags-creator/tags-creator-mode.mjs +0 -27
  376. package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +0 -370
  377. package/esm2022/lib/testing/content.testing.module.mjs +0 -56
  378. package/esm2022/lib/tree/components/tree.component.mjs +0 -312
  379. package/esm2022/lib/tree/index.mjs +0 -18
  380. package/esm2022/lib/tree/models/tree-context-menu-result.interface.mjs +0 -18
  381. package/esm2022/lib/tree/models/tree-node.interface.mjs +0 -22
  382. package/esm2022/lib/tree/models/tree-response.interface.mjs +0 -18
  383. package/esm2022/lib/tree/public-api.mjs +0 -23
  384. package/esm2022/lib/tree/services/tree.service.mjs +0 -134
  385. package/esm2022/lib/tree/tree.module.mjs +0 -33
  386. package/esm2022/lib/tree-view/components/tree-view.component.mjs +0 -75
  387. package/esm2022/lib/tree-view/data/tree-view-datasource.mjs +0 -99
  388. package/esm2022/lib/tree-view/index.mjs +0 -18
  389. package/esm2022/lib/tree-view/models/tree-view.model.mjs +0 -28
  390. package/esm2022/lib/tree-view/public-api.mjs +0 -22
  391. package/esm2022/lib/tree-view/services/tree-view.service.mjs +0 -38
  392. package/esm2022/lib/tree-view/tree-view.module.mjs +0 -33
  393. package/esm2022/lib/upload/components/base-upload/upload-base.mjs +0 -176
  394. package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +0 -190
  395. package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +0 -92
  396. package/esm2022/lib/upload/components/file-uploading-list.component.mjs +0 -124
  397. package/esm2022/lib/upload/components/upload-button.component.mjs +0 -133
  398. package/esm2022/lib/upload/components/upload-drag-area.component.mjs +0 -112
  399. package/esm2022/lib/upload/components/upload-files.event.mjs +0 -41
  400. package/esm2022/lib/upload/components/upload-version-button.component.mjs +0 -54
  401. package/esm2022/lib/upload/directives/file-draggable.directive.mjs +0 -154
  402. package/esm2022/lib/upload/directives/toggle-icon.directive.mjs +0 -75
  403. package/esm2022/lib/upload/index.mjs +0 -18
  404. package/esm2022/lib/upload/pipes/file-upload-error.pipe.mjs +0 -39
  405. package/esm2022/lib/upload/public-api.mjs +0 -29
  406. package/esm2022/lib/upload/upload.module.mjs +0 -72
  407. package/esm2022/lib/version-compatibility/index.mjs +0 -18
  408. package/esm2022/lib/version-compatibility/public-api.mjs +0 -20
  409. package/esm2022/lib/version-compatibility/version-compatibility-factory.mjs +0 -26
  410. package/esm2022/lib/version-compatibility/version-compatibility.directive.mjs +0 -53
  411. package/esm2022/lib/version-compatibility/version-compatibility.module.mjs +0 -33
  412. package/esm2022/lib/version-compatibility/version-compatibility.service.mjs +0 -76
  413. package/esm2022/lib/version-manager/content-version.service.mjs +0 -53
  414. package/esm2022/lib/version-manager/index.mjs +0 -18
  415. package/esm2022/lib/version-manager/public-api.mjs +0 -23
  416. package/esm2022/lib/version-manager/version-comparison.component.mjs +0 -42
  417. package/esm2022/lib/version-manager/version-list.component.mjs +0 -215
  418. package/esm2022/lib/version-manager/version-manager.component.mjs +0 -145
  419. package/esm2022/lib/version-manager/version-manager.module.mjs +0 -48
  420. package/esm2022/lib/version-manager/version-upload.component.mjs +0 -154
  421. package/esm2022/lib/viewer/alfresco-viewer.module.mjs +0 -33
  422. package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +0 -408
  423. package/esm2022/lib/viewer/index.mjs +0 -18
  424. package/esm2022/lib/viewer/public-api.mjs +0 -19
  425. package/esm2022/public-api.mjs +0 -56
@@ -1,27 +0,0 @@
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
- /**
18
- * Available modes for tags creator.
19
- * Create mode allows only for creating completely new tags.
20
- * Create and Assign mode allows for both - creation of new tags and selection of existing tags.
21
- */
22
- export var TagsCreatorMode;
23
- (function (TagsCreatorMode) {
24
- TagsCreatorMode[TagsCreatorMode["CREATE"] = 0] = "CREATE";
25
- TagsCreatorMode[TagsCreatorMode["CREATE_AND_ASSIGN"] = 1] = "CREATE_AND_ASSIGN";
26
- })(TagsCreatorMode || (TagsCreatorMode = {}));
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy1jcmVhdG9yLW1vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3RhZy90YWdzLWNyZWF0b3IvdGFncy1jcmVhdG9yLW1vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUg7Ozs7R0FJRztBQUNILE1BQU0sQ0FBTixJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDdkIseURBQU0sQ0FBQTtJQUNOLCtFQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyoqXG4gKiBBdmFpbGFibGUgbW9kZXMgZm9yIHRhZ3MgY3JlYXRvci5cbiAqIENyZWF0ZSBtb2RlIGFsbG93cyBvbmx5IGZvciBjcmVhdGluZyBjb21wbGV0ZWx5IG5ldyB0YWdzLlxuICogQ3JlYXRlIGFuZCBBc3NpZ24gbW9kZSBhbGxvd3MgZm9yIGJvdGggLSBjcmVhdGlvbiBvZiBuZXcgdGFncyBhbmQgc2VsZWN0aW9uIG9mIGV4aXN0aW5nIHRhZ3MuXG4gKi9cbmV4cG9ydCBlbnVtIFRhZ3NDcmVhdG9yTW9kZSB7XG4gICAgQ1JFQVRFLFxuICAgIENSRUFURV9BTkRfQVNTSUdOXG59XG4iXX0=
@@ -1,370 +0,0 @@
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 { DynamicChipListComponent, NotificationService } from '@alfresco/adf-core';
18
- import { Component, DestroyRef, ElementRef, EventEmitter, HostBinding, inject, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
19
- import { CommonModule } from '@angular/common';
20
- import { FormControl, ReactiveFormsModule } from '@angular/forms';
21
- import { MatButtonModule } from '@angular/material/button';
22
- import { MatChipsModule } from '@angular/material/chips';
23
- import { MatIconModule } from '@angular/material/icon';
24
- import { MatInputModule } from '@angular/material/input';
25
- import { MatListModule } from '@angular/material/list';
26
- import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
27
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
28
- import { TranslatePipe } from '@ngx-translate/core';
29
- import { EMPTY, forkJoin, Subject, timer } from 'rxjs';
30
- import { debounce, distinctUntilChanged, finalize, first, map, takeUntil, tap } from 'rxjs/operators';
31
- import { AutoFocusDirective } from '../../directives';
32
- import { TagService } from '../services/tag.service';
33
- import { TagsCreatorMode } from './tags-creator-mode';
34
- import * as i0 from "@angular/core";
35
- import * as i1 from "../services/tag.service";
36
- import * as i2 from "@alfresco/adf-core";
37
- import * as i3 from "@angular/common";
38
- import * as i4 from "@angular/material/input";
39
- import * as i5 from "@angular/material/form-field";
40
- import * as i6 from "@angular/forms";
41
- import * as i7 from "@angular/material/list";
42
- import * as i8 from "@angular/material/progress-spinner";
43
- const DEFAULT_TAGS_SORTING = {
44
- orderBy: 'tag',
45
- direction: 'asc'
46
- };
47
- /**
48
- * Allows to create multiple tags. That component contains input and two lists. Top list is all created tags, bottom list is searched tags based on input's value.
49
- */
50
- export class TagsCreatorComponent {
51
- /**
52
- * Default top list.
53
- *
54
- * @param tags tags which should be displayed as default tags for top list.
55
- */
56
- set tags(tags) {
57
- this._tags = [...tags];
58
- this.tagsToDisplay = this.tags.map((tag) => ({ id: tag, name: tag }));
59
- this._initialExistingTags = null;
60
- this._existingTags = null;
61
- this.loadTags(this.tagNameControl.value);
62
- this.tagNameControl.updateValueAndValidity();
63
- }
64
- get tags() {
65
- return this._tags;
66
- }
67
- /**
68
- * Decides if input for tags creation/searching should be visible. When input is hidden then panel of existing tags is hidden as well.
69
- *
70
- * @param tagNameControlVisible true if input should be visible, false otherwise.
71
- */
72
- set tagNameControlVisible(tagNameControlVisible) {
73
- this._tagNameControlVisible = tagNameControlVisible;
74
- if (tagNameControlVisible) {
75
- this._existingTagsPanelVisible = true;
76
- setTimeout(() => {
77
- this.tagNameInputElement?.nativeElement?.scrollIntoView();
78
- });
79
- }
80
- else {
81
- this._existingTagsPanelVisible = false;
82
- this.clearTagNameInput();
83
- }
84
- this.existingTagsPanelVisibilityChange.emit(this.existingTagsPanelVisible);
85
- }
86
- get tagNameControlVisible() {
87
- return this._tagNameControlVisible;
88
- }
89
- constructor(tagService, notificationService) {
90
- this.tagService = tagService;
91
- this.notificationService = notificationService;
92
- /**
93
- * False if tags can be removed from top list, true otherwise.
94
- */
95
- this.disabledTagsRemoving = false;
96
- /**
97
- * Emitted when bottom list is showing or hiding.
98
- */
99
- this.existingTagsPanelVisibilityChange = new EventEmitter();
100
- /**
101
- * Emitted when tags in top list are changed.
102
- */
103
- this.tagsChange = new EventEmitter();
104
- this.tagsToDisplay = [];
105
- this.nameErrorMessagesByErrors = new Map([
106
- ['duplicatedExistingTag', 'EXISTING_TAG'],
107
- ['duplicatedAddedTag', 'ALREADY_ADDED_TAG'],
108
- ['emptyTag', 'EMPTY_TAG'],
109
- ['specialCharacters', 'SPECIAL_CHARACTERS']
110
- ]);
111
- this.existingTagsListLimit = 15;
112
- this.exactTagSet$ = new Subject();
113
- this._tags = [];
114
- this._tagNameControl = new FormControl('', [this.validateIfNotAlreadyAdded.bind(this), this.validateEmptyTag, this.validateSpecialCharacters], this.validateIfNotExistingTag.bind(this));
115
- this._tagNameControlVisible = false;
116
- this._tagNameErrorMessageKey = '';
117
- this._spinnerVisible = false;
118
- this._typing = false;
119
- this._tagsListScrollbarVisible = false;
120
- this.cancelExistingTagsLoading$ = new Subject();
121
- this.destroyRef = inject(DestroyRef);
122
- }
123
- ngOnInit() {
124
- this.tagNameControl.valueChanges
125
- .pipe(map((name) => name.trim()), distinctUntilChanged((previous, current) => {
126
- const valueNotChanged = previous === current;
127
- if (valueNotChanged) {
128
- this.exactTagSet$.next();
129
- }
130
- return valueNotChanged;
131
- }), tap((name) => {
132
- this._typing = true;
133
- if (name) {
134
- this._spinnerVisible = true;
135
- this._existingTagsPanelVisible = true;
136
- }
137
- this.existingTagsPanelVisibilityChange.emit(this.existingTagsPanelVisible);
138
- this.cancelExistingTagsLoading$.next();
139
- this._initialExistingTags = null;
140
- this._existingTags = null;
141
- }), debounce((name) => (name ? timer(300) : EMPTY)), takeUntilDestroyed(this.destroyRef))
142
- .subscribe((name) => this.onTagNameControlValueChange(name));
143
- this.tagNameControl.statusChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.setTagNameControlErrorMessageKey());
144
- this.setTagNameControlErrorMessageKey();
145
- }
146
- ngOnDestroy() {
147
- this.cancelExistingTagsLoading$.next();
148
- this.cancelExistingTagsLoading$.complete();
149
- }
150
- get hostClass() {
151
- return this.existingTagsPanelVisible;
152
- }
153
- get tagNameControl() {
154
- return this._tagNameControl;
155
- }
156
- /*
157
- * Returns `true` if tags empty and non editable state, otherwise `false`
158
- */
159
- get showEmptyTagMessage() {
160
- return this.tags?.length === 0 && !this.tagNameControlVisible;
161
- }
162
- get existingTags() {
163
- return this._existingTags;
164
- }
165
- get tagNameErrorMessageKey() {
166
- return this._tagNameErrorMessageKey;
167
- }
168
- get spinnerVisible() {
169
- return this._spinnerVisible;
170
- }
171
- get typing() {
172
- return this._typing;
173
- }
174
- get tagsListScrollbarVisible() {
175
- return this._tagsListScrollbarVisible;
176
- }
177
- get existingTagsPanelVisible() {
178
- return this._existingTagsPanelVisible;
179
- }
180
- /**
181
- * Add tags to top list using value which is set in input. Adding tag is not allowed when value in input is invalid
182
- * or if user is still typing what means that validation for input is not called yet.
183
- */
184
- addTag() {
185
- if (!this._typing && !this.tagNameControl.invalid) {
186
- this.tags = [...this.tags, this.tagNameControl.value.trim()];
187
- this.clearTagNameInput();
188
- this.checkScrollbarVisibility();
189
- this.tagsChange.emit(this.tags);
190
- }
191
- }
192
- /**
193
- * Remove tag from top list. In case that tag was part of search result then that tag is moved to bottom list
194
- * (list of existing tags) after removing so user can reselect it again later.
195
- *
196
- * @param tag tag's name which should be removed from top list.
197
- */
198
- removeTag(tag) {
199
- this.removeTagFromArray(this.tags, tag);
200
- this.tags = [...this.tags];
201
- this.tagNameControl.updateValueAndValidity();
202
- this.updateExistingTagsListOnRemoveFromTagsToConfirm(tag);
203
- this.exactTagSet$.next();
204
- this.checkScrollbarVisibility();
205
- this.tagsChange.emit(this.tags);
206
- }
207
- /**
208
- * Called when user selects any tag from list of existing tags. It moves tag from existing tags list to top list.
209
- *
210
- * @param selectedTag changes
211
- */
212
- addExistingTagToTagsToAssign(selectedTag) {
213
- if (!this.isOnlyCreateMode()) {
214
- this.tags.push(selectedTag.entry.tag);
215
- this.removeTagFromArray(this.existingTags, selectedTag);
216
- this.tagNameControl.updateValueAndValidity();
217
- this.tags = [...this.tags];
218
- this.exactTagSet$.next();
219
- this.tagsChange.emit(this.tags);
220
- }
221
- }
222
- /**
223
- * Checks if component is in Create mode.
224
- *
225
- * @returns `true` if `Create` mode, `false` otherwise.
226
- */
227
- isOnlyCreateMode() {
228
- return this.mode === TagsCreatorMode.CREATE;
229
- }
230
- onTagNameControlValueChange(name) {
231
- this.tagNameControl.markAsTouched();
232
- this.loadTags(name);
233
- }
234
- loadTags(name) {
235
- if (name && !this.tagNameControl.hasError('specialCharacters')) {
236
- forkJoin({
237
- exactResult: this.tagService.findTagByName(name),
238
- searchedResult: this.tagService.searchTags(name, DEFAULT_TAGS_SORTING, false, 0, this.existingTagsListLimit)
239
- })
240
- .pipe(takeUntil(this.cancelExistingTagsLoading$), finalize(() => (this._typing = false)))
241
- .subscribe({
242
- next: ({ exactResult, searchedResult }) => {
243
- if (exactResult) {
244
- this.existingExactTag = exactResult;
245
- this.removeExactTagFromSearchedResult(searchedResult);
246
- searchedResult.list.entries.unshift(exactResult);
247
- }
248
- else {
249
- this.existingExactTag = null;
250
- }
251
- this._initialExistingTags = searchedResult.list.entries;
252
- this.excludeAlreadyAddedTags(this._initialExistingTags);
253
- this.exactTagSet$.next();
254
- this._spinnerVisible = false;
255
- },
256
- error: () => {
257
- this.notificationService.showError('TAG.TAGS_CREATOR.ERRORS.FETCH_TAGS');
258
- this._spinnerVisible = false;
259
- }
260
- });
261
- }
262
- else {
263
- this.existingExactTag = null;
264
- this._spinnerVisible = false;
265
- }
266
- }
267
- removeExactTagFromSearchedResult(searchedResult) {
268
- const exactTagIndex = searchedResult.list.entries.findIndex((row) => this.compareTags(row.entry.tag, this.existingExactTag.entry.tag));
269
- if (exactTagIndex > -1) {
270
- searchedResult.list.entries.splice(exactTagIndex, 1);
271
- }
272
- }
273
- validateIfNotExistingTag(tagNameControl) {
274
- return this.exactTagSet$.pipe(map(() => this.compareTags(tagNameControl.value, this.existingExactTag?.entry?.tag) ? { duplicatedExistingTag: true } : null), first());
275
- }
276
- validateIfNotAlreadyAdded(tagNameControl) {
277
- return this.tags.some((tag) => this.compareTags(tag, tagNameControl.value)) ? { duplicatedAddedTag: true } : null;
278
- }
279
- compareTags(tagName1, tagName2) {
280
- return tagName1?.trim().toUpperCase() === tagName2?.trim().toUpperCase();
281
- }
282
- validateEmptyTag(tagNameControl) {
283
- return tagNameControl.value.length && !tagNameControl.value.trim() ? { emptyTag: true } : null;
284
- }
285
- validateSpecialCharacters(tagNameControl) {
286
- const specialSymbolsRegex = /[{}()^':"\\|<>/?.*]/;
287
- return tagNameControl.value.length && specialSymbolsRegex.test(tagNameControl.value) ? { specialCharacters: true } : null;
288
- }
289
- setTagNameControlErrorMessageKey() {
290
- this._tagNameErrorMessageKey = this.tagNameControl.invalid
291
- ? `TAG.TAGS_CREATOR.ERRORS.${this.nameErrorMessagesByErrors.get(Object.keys(this.tagNameControl.errors)[0])}`
292
- : '';
293
- }
294
- checkScrollbarVisibility() {
295
- setTimeout(() => {
296
- this._tagsListScrollbarVisible = this.tagsListElement.nativeElement.scrollHeight > this.tagsListElement.nativeElement.clientHeight;
297
- });
298
- }
299
- removeTagFromArray(tags, tag) {
300
- tags.splice(tags.indexOf(tag), 1);
301
- }
302
- updateExistingTagsListOnRemoveFromTagsToConfirm(tag) {
303
- const entryForTagAddedToExistingTags = this._initialExistingTags?.find((tagEntry) => tagEntry.entry.tag === tag);
304
- if (entryForTagAddedToExistingTags) {
305
- this.existingTags.unshift(entryForTagAddedToExistingTags);
306
- if (this.existingExactTag) {
307
- if (tag !== this.existingExactTag.entry.tag) {
308
- this.removeTagFromArray(this.existingTags, this.existingExactTag);
309
- this.sortExistingTags();
310
- this.existingTags.unshift(this.existingExactTag);
311
- }
312
- }
313
- else {
314
- this.sortExistingTags();
315
- }
316
- this.exactTagSet$.next();
317
- }
318
- }
319
- sortExistingTags() {
320
- this.existingTags.sort((tagEntry1, tagEntry2) => tagEntry1.entry.tag.localeCompare(tagEntry2.entry.tag));
321
- }
322
- excludeAlreadyAddedTags(tags) {
323
- this._existingTags = tags.filter((tag) => !this.tags.includes(tag.entry.tag));
324
- }
325
- clearTagNameInput() {
326
- this.tagNameControl.setValue('');
327
- this.tagNameControl.markAsUntouched();
328
- }
329
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TagsCreatorComponent, deps: [{ token: i1.TagService }, { token: i2.NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
330
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TagsCreatorComponent, isStandalone: true, selector: "adf-tags-creator", inputs: { mode: "mode", disabledTagsRemoving: "disabledTagsRemoving", tags: "tags", tagNameControlVisible: "tagNameControlVisible" }, outputs: { existingTagsPanelVisibilityChange: "existingTagsPanelVisibilityChange", tagsChange: "tagsChange" }, host: { properties: { "class.adf-creator-with-existing-tags-panel": "this.hostClass" } }, viewQueries: [{ propertyName: "tagsListElement", first: true, predicate: ["tagsList"], descendants: true }, { propertyName: "tagNameInputElement", first: true, predicate: ["tagNameInput"], descendants: true }], ngImport: i0, template: "<div class=\"adf-tags-creation\">\n <div *ngIf=\"tagNameControlVisible\" class=\"adf-tag-name-field\">\n <input\n #tagNameInput\n class=\"adf-tag-search-field\"\n matInput\n autocomplete=\"off\"\n [formControl]=\"tagNameControl\"\n (keyup.enter)=\"addTag()\"\n adf-auto-focus\n placeholder=\"{{ 'TAG.TAGS_CREATOR.TAG_SEARCH_PLACEHOLDER' | translate }}\"\n />\n <mat-error *ngIf=\"tagNameControl.invalid && tagNameControl.touched\">\n {{ tagNameErrorMessageKey | translate }}\n </mat-error>\n </div>\n <p class=\"adf-no-tags-message\" *ngIf=\"showEmptyTagMessage\">\n {{ 'TAG.TAGS_CREATOR.NO_TAGS_CREATED' | translate }}\n </p>\n <div class=\"adf-tags-list\" [class.adf-tags-list-fixed]=\"!tagNameControlVisible\" #tagsList>\n <ng-container *ngIf=\"tags?.length > 0\">\n <adf-dynamic-chip-list\n class=\"adf-tags-chips-container\"\n [chips]=\"tagsToDisplay\"\n [disableDelete]=\"disabledTagsRemoving\"\n (removedChip)=\"removeTag($event)\" />\n </ng-container>\n </div>\n</div>\n<div class=\"adf-existing-tags-panel\" *ngIf=\"existingTagsPanelVisible\">\n <span\n *ngIf=\"!spinnerVisible || existingTags\"\n class=\"adf-create-tag-label\"\n (click)=\"addTag()\"\n role=\"button\"\n tabindex=\"0\"\n (keyup.enter)=\"addTag()\"\n [hidden]=\"!tagNameControl.value || tagNameControl.invalid || typing\"\n >\n {{ 'TAG.TAGS_CREATOR.CREATE_TAG' | translate : { tag: tagNameControl.value } }}\n </span>\n <p *ngIf=\"!spinnerVisible && existingTags\" class=\"adf-existing-tags-label\">\n {{ (isOnlyCreateMode() ? 'TAG.TAGS_CREATOR.EXISTING_TAGS' : 'TAG.TAGS_CREATOR.EXISTING_TAGS_SELECTION') | translate }}\n </p>\n <div class=\"adf-tags-list\">\n <mat-list *ngIf=\"!spinnerVisible && existingTags\" [disabled]=\"isOnlyCreateMode()\">\n <mat-list-item *ngFor=\"let tagRow of existingTags\" class=\"adf-tag\"\n (click)=\"addExistingTagToTagsToAssign(tagRow)\">\n {{ tagRow.entry.tag }}\n </mat-list-item>\n <p *ngIf=\"!existingTags?.length\">{{ 'TAG.TAGS_CREATOR.NO_EXISTING_TAGS' | translate }}</p>\n </mat-list>\n <mat-spinner\n *ngIf=\"spinnerVisible\"\n class=\"adf-tags-creator-spinner\"\n [diameter]=\"50\"\n [attr.aria-label]=\"'TAG.TAGS_CREATOR.TAGS_LOADING' | translate\"\n />\n </div>\n</div>\n", styles: ["adf-tags-creator{display:block}adf-tags-creator .adf-no-tags-message{margin-top:28.5px;margin-bottom:0;height:30px}adf-tags-creator .adf-tag-name-field,adf-tags-creator .adf-tag-name-field[hidden]{display:flex;flex-direction:column;margin-right:12px}adf-tags-creator .adf-tag-search-field{background:var(--adf-metadata-buttons-background-color);border-radius:12px;padding:5px 6px;border:none;outline:none;font:inherit;color:currentcolor;margin:0;vertical-align:bottom;text-align:inherit;box-sizing:content-box}adf-tags-creator .adf-create-tag-label{color:var(--theme-primary-color);cursor:pointer;margin-top:-1px;padding-left:12px;overflow-wrap:anywhere;display:inline-block;padding-right:12px;overflow:auto}adf-tags-creator .adf-tags-list{margin-top:8px}adf-tags-creator .adf-tags-chip{height:auto}adf-tags-creator .adf-existing-tags-panel{border-top-left-radius:6px;border-top-right-radius:6px;width:100%}adf-tags-creator .adf-existing-tags-panel .adf-existing-tags-label{font-size:10px;color:var(--theme-secondary-text-color);padding-left:12px;margin-bottom:2px}adf-tags-creator .adf-existing-tags-panel .adf-tags-list{padding-left:12px;margin-top:-2px;padding-right:0;display:flex;flex-direction:column}adf-tags-creator .adf-existing-tags-panel .adf-tags-list .adf-tag{margin:0;padding:4px;font-size:14px;height:auto;width:unset;background-color:inherit;color:inherit}adf-tags-creator .adf-existing-tags-panel .adf-tags-list .adf-tag:not(.mdc-list-item--disabled):hover{cursor:pointer;background:var(--adf-theme-mat-grey-color-a200)}adf-tags-creator .adf-existing-tags-panel .adf-tags-list .adf-tag span{padding:0}adf-tags-creator .adf-existing-tags-panel .adf-tags-list .adf-tags-creator-spinner{margin:auto;overflow:unset;min-height:62px}adf-tags-creator .adf-existing-tags-panel .adf-tags-list .mdc-list-item--disabled .mdc-list-item__primary-text{opacity:1}adf-tags-creator .mdc-evolution-chip-set .mat-mdc-standard-chip .mdc-evolution-chip__cell--primary,adf-tags-creator .mdc-evolution-chip-set .mat-mdc-standard-chip .mdc-evolution-chip__action--primary,adf-tags-creator .mdc-evolution-chip-set .mat-mdc-standard-chip .mat-mdc-chip-action-label{overflow:hidden;word-break:break-all}adf-tags-creator [hidden]{visibility:hidden;display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: AutoFocusDirective, selector: "[adf-auto-focus]" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i7.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i7.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: DynamicChipListComponent, selector: "adf-dynamic-chip-list", inputs: ["pagination", "chips", "showDelete", "disableDelete", "limitChipsDisplayed", "roundUpChips"], outputs: ["displayNext", "removedChip"] }], encapsulation: i0.ViewEncapsulation.None }); }
331
- }
332
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TagsCreatorComponent, decorators: [{
333
- type: Component,
334
- args: [{ selector: 'adf-tags-creator', standalone: true, imports: [
335
- CommonModule,
336
- MatInputModule,
337
- ReactiveFormsModule,
338
- AutoFocusDirective,
339
- TranslatePipe,
340
- MatChipsModule,
341
- MatButtonModule,
342
- MatIconModule,
343
- MatListModule,
344
- MatProgressSpinnerModule,
345
- DynamicChipListComponent
346
- ], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-tags-creation\">\n <div *ngIf=\"tagNameControlVisible\" class=\"adf-tag-name-field\">\n <input\n #tagNameInput\n class=\"adf-tag-search-field\"\n matInput\n autocomplete=\"off\"\n [formControl]=\"tagNameControl\"\n (keyup.enter)=\"addTag()\"\n adf-auto-focus\n placeholder=\"{{ 'TAG.TAGS_CREATOR.TAG_SEARCH_PLACEHOLDER' | translate }}\"\n />\n <mat-error *ngIf=\"tagNameControl.invalid && tagNameControl.touched\">\n {{ tagNameErrorMessageKey | translate }}\n </mat-error>\n </div>\n <p class=\"adf-no-tags-message\" *ngIf=\"showEmptyTagMessage\">\n {{ 'TAG.TAGS_CREATOR.NO_TAGS_CREATED' | translate }}\n </p>\n <div class=\"adf-tags-list\" [class.adf-tags-list-fixed]=\"!tagNameControlVisible\" #tagsList>\n <ng-container *ngIf=\"tags?.length > 0\">\n <adf-dynamic-chip-list\n class=\"adf-tags-chips-container\"\n [chips]=\"tagsToDisplay\"\n [disableDelete]=\"disabledTagsRemoving\"\n (removedChip)=\"removeTag($event)\" />\n </ng-container>\n </div>\n</div>\n<div class=\"adf-existing-tags-panel\" *ngIf=\"existingTagsPanelVisible\">\n <span\n *ngIf=\"!spinnerVisible || existingTags\"\n class=\"adf-create-tag-label\"\n (click)=\"addTag()\"\n role=\"button\"\n tabindex=\"0\"\n (keyup.enter)=\"addTag()\"\n [hidden]=\"!tagNameControl.value || tagNameControl.invalid || typing\"\n >\n {{ 'TAG.TAGS_CREATOR.CREATE_TAG' | translate : { tag: tagNameControl.value } }}\n </span>\n <p *ngIf=\"!spinnerVisible && existingTags\" class=\"adf-existing-tags-label\">\n {{ (isOnlyCreateMode() ? 'TAG.TAGS_CREATOR.EXISTING_TAGS' : 'TAG.TAGS_CREATOR.EXISTING_TAGS_SELECTION') | translate }}\n </p>\n <div class=\"adf-tags-list\">\n <mat-list *ngIf=\"!spinnerVisible && existingTags\" [disabled]=\"isOnlyCreateMode()\">\n <mat-list-item *ngFor=\"let tagRow of existingTags\" class=\"adf-tag\"\n (click)=\"addExistingTagToTagsToAssign(tagRow)\">\n {{ tagRow.entry.tag }}\n </mat-list-item>\n <p *ngIf=\"!existingTags?.length\">{{ 'TAG.TAGS_CREATOR.NO_EXISTING_TAGS' | translate }}</p>\n </mat-list>\n <mat-spinner\n *ngIf=\"spinnerVisible\"\n class=\"adf-tags-creator-spinner\"\n [diameter]=\"50\"\n [attr.aria-label]=\"'TAG.TAGS_CREATOR.TAGS_LOADING' | translate\"\n />\n </div>\n</div>\n", styles: ["adf-tags-creator{display:block}adf-tags-creator .adf-no-tags-message{margin-top:28.5px;margin-bottom:0;height:30px}adf-tags-creator .adf-tag-name-field,adf-tags-creator .adf-tag-name-field[hidden]{display:flex;flex-direction:column;margin-right:12px}adf-tags-creator .adf-tag-search-field{background:var(--adf-metadata-buttons-background-color);border-radius:12px;padding:5px 6px;border:none;outline:none;font:inherit;color:currentcolor;margin:0;vertical-align:bottom;text-align:inherit;box-sizing:content-box}adf-tags-creator .adf-create-tag-label{color:var(--theme-primary-color);cursor:pointer;margin-top:-1px;padding-left:12px;overflow-wrap:anywhere;display:inline-block;padding-right:12px;overflow:auto}adf-tags-creator .adf-tags-list{margin-top:8px}adf-tags-creator .adf-tags-chip{height:auto}adf-tags-creator .adf-existing-tags-panel{border-top-left-radius:6px;border-top-right-radius:6px;width:100%}adf-tags-creator .adf-existing-tags-panel .adf-existing-tags-label{font-size:10px;color:var(--theme-secondary-text-color);padding-left:12px;margin-bottom:2px}adf-tags-creator .adf-existing-tags-panel .adf-tags-list{padding-left:12px;margin-top:-2px;padding-right:0;display:flex;flex-direction:column}adf-tags-creator .adf-existing-tags-panel .adf-tags-list .adf-tag{margin:0;padding:4px;font-size:14px;height:auto;width:unset;background-color:inherit;color:inherit}adf-tags-creator .adf-existing-tags-panel .adf-tags-list .adf-tag:not(.mdc-list-item--disabled):hover{cursor:pointer;background:var(--adf-theme-mat-grey-color-a200)}adf-tags-creator .adf-existing-tags-panel .adf-tags-list .adf-tag span{padding:0}adf-tags-creator .adf-existing-tags-panel .adf-tags-list .adf-tags-creator-spinner{margin:auto;overflow:unset;min-height:62px}adf-tags-creator .adf-existing-tags-panel .adf-tags-list .mdc-list-item--disabled .mdc-list-item__primary-text{opacity:1}adf-tags-creator .mdc-evolution-chip-set .mat-mdc-standard-chip .mdc-evolution-chip__cell--primary,adf-tags-creator .mdc-evolution-chip-set .mat-mdc-standard-chip .mdc-evolution-chip__action--primary,adf-tags-creator .mdc-evolution-chip-set .mat-mdc-standard-chip .mat-mdc-chip-action-label{overflow:hidden;word-break:break-all}adf-tags-creator [hidden]{visibility:hidden;display:none}\n"] }]
347
- }], ctorParameters: () => [{ type: i1.TagService }, { type: i2.NotificationService }], propDecorators: { mode: [{
348
- type: Input,
349
- args: [{ required: true }]
350
- }], disabledTagsRemoving: [{
351
- type: Input
352
- }], tags: [{
353
- type: Input
354
- }], tagNameControlVisible: [{
355
- type: Input
356
- }], existingTagsPanelVisibilityChange: [{
357
- type: Output
358
- }], tagsChange: [{
359
- type: Output
360
- }], tagsListElement: [{
361
- type: ViewChild,
362
- args: ['tagsList']
363
- }], tagNameInputElement: [{
364
- type: ViewChild,
365
- args: ['tagNameInput']
366
- }], hostClass: [{
367
- type: HostBinding,
368
- args: ['class.adf-creator-with-existing-tags-panel']
369
- }] } });
370
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy1jcmVhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvdGFnL3RhZ3MtY3JlYXRvci90YWdzLWNyZWF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi90YWcvdGFncy1jcmVhdG9yL3RhZ3MtY3JlYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQVEsd0JBQXdCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RixPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFB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QkFBa0Isd0RBQ2xCLGFBQWEsaURBQ2IsY0FBYyw4QkFDZCxlQUFlLDhCQUNmLGFBQWEsOEJBQ2IsYUFBYSx1UkFDYix3QkFBd0IsbU9BQ3hCLHdCQUF3Qjs7NEZBTW5CLG9CQUFvQjtrQkFwQmhDLFNBQVM7K0JBQ0ksa0JBQWtCLGNBQ2hCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLHdCQUF3QjtxQkFDM0IsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTtpSEFTckMsSUFBSTtzQkFESCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFPekIsb0JBQW9CO3NCQURuQixLQUFLO2dCQVNGLElBQUk7c0JBRFAsS0FBSztnQkFvQkYscUJBQXFCO3NCQUR4QixLQUFLO2dCQXVCTixpQ0FBaUM7c0JBRGhDLE1BQU07Z0JBTVAsVUFBVTtzQkFEVCxNQUFNO2dCQWlDQyxlQUFlO3NCQUR0QixTQUFTO3VCQUFDLFVBQVU7Z0JBR2IsbUJBQW1CO3NCQUQxQixTQUFTO3VCQUFDLGNBQWM7Z0JBNkNyQixTQUFTO3NCQURaLFdBQVc7dUJBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDaGlwLCBEeW5hbWljQ2hpcExpc3RDb21wb25lbnQsIE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgVGFnRW50cnksIFRhZ1BhZ2luZyB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEVNUFRZLCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmluYWxpemUsIGZpcnN0LCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXV0b0ZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBUYWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGFnLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFnc0NyZWF0b3JNb2RlIH0gZnJvbSAnLi90YWdzLWNyZWF0b3ItbW9kZSc7XG5cbmludGVyZmFjZSBUYWdOYW1lQ29udHJvbEVycm9ycyB7XG4gICAgZHVwbGljYXRlZEV4aXN0aW5nVGFnPzogYm9vbGVhbjtcbiAgICBkdXBsaWNhdGVkQWRkZWRUYWc/OiBib29sZWFuO1xuICAgIGVtcHR5VGFnPzogYm9vbGVhbjtcbiAgICBzcGVjaWFsQ2hhcmFjdGVycz86IGJvb2xlYW47XG59XG5cbmNvbnN0IERFRkFVTFRfVEFHU19TT1JUSU5HID0ge1xuICAgIG9yZGVyQnk6ICd0YWcnLFxuICAgIGRpcmVjdGlvbjogJ2FzYydcbn07XG5cbi8qKlxuICogQWxsb3dzIHRvIGNyZWF0ZSBtdWx0aXBsZSB0YWdzLiBUaGF0IGNvbXBvbmVudCBjb250YWlucyBpbnB1dCBhbmQgdHdvIGxpc3RzLiBUb3AgbGlzdCBpcyBhbGwgY3JlYXRlZCB0YWdzLCBib3R0b20gbGlzdCBpcyBzZWFyY2hlZCB0YWdzIGJhc2VkIG9uIGlucHV0J3MgdmFsdWUuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLXRhZ3MtY3JlYXRvcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIEF1dG9Gb2N1c0RpcmVjdGl2ZSxcbiAgICAgICAgVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgTWF0Q2hpcHNNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgICAgICBEeW5hbWljQ2hpcExpc3RDb21wb25lbnRcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWdzLWNyZWF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhZ3MtY3JlYXRvci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgVGFnc0NyZWF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogTW9kZSBmb3IgY29tcG9uZW50LlxuICAgICAqIEluIENyZWF0ZSBtb2RlIHdlIGNhbid0IHNlbGVjdCBleGlzdGluZyB0YWdzLCB3ZSBjYW4gb25seSBjcmVhdGUgdGhlbS5cbiAgICAgKiBJbiBDcmVhdGUgYW5kIEFzc2lnbiBtb2RlIHdlIGNhbiBib3RoIC0gY3JlYXRlIHRhZ3MgYW5kIHNlbGVjdCBleGlzdGluZyB0YWdzLlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgbW9kZTogVGFnc0NyZWF0b3JNb2RlO1xuXG4gICAgLyoqXG4gICAgICogRmFsc2UgaWYgdGFncyBjYW4gYmUgcmVtb3ZlZCBmcm9tIHRvcCBsaXN0LCB0cnVlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkVGFnc1JlbW92aW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IHRvcCBsaXN0LlxuICAgICAqXG4gICAgICogQHBhcmFtIHRhZ3MgdGFncyB3aGljaCBzaG91bGQgYmUgZGlzcGxheWVkIGFzIGRlZmF1bHQgdGFncyBmb3IgdG9wIGxpc3QuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGFncyh0YWdzOiBzdHJpbmdbXSkge1xuICAgICAgICB0aGlzLl90YWdzID0gWy4uLnRhZ3NdO1xuICAgICAgICB0aGlzLnRhZ3NUb0Rpc3BsYXkgPSB0aGlzLnRhZ3MubWFwKCh0YWcpID0+ICh7IGlkOiB0YWcsIG5hbWU6IHRhZyB9KSk7XG4gICAgICAgIHRoaXMuX2luaXRpYWxFeGlzdGluZ1RhZ3MgPSBudWxsO1xuICAgICAgICB0aGlzLl9leGlzdGluZ1RhZ3MgPSBudWxsO1xuICAgICAgICB0aGlzLmxvYWRUYWdzKHRoaXMudGFnTmFtZUNvbnRyb2wudmFsdWUpO1xuICAgICAgICB0aGlzLnRhZ05hbWVDb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG5cbiAgICBnZXQgdGFncygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWdzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlY2lkZXMgaWYgaW5wdXQgZm9yIHRhZ3MgY3JlYXRpb24vc2VhcmNoaW5nIHNob3VsZCBiZSB2aXNpYmxlLiBXaGVuIGlucHV0IGlzIGhpZGRlbiB0aGVuIHBhbmVsIG9mIGV4aXN0aW5nIHRhZ3MgaXMgaGlkZGVuIGFzIHdlbGwuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGFnTmFtZUNvbnRyb2xWaXNpYmxlIHRydWUgaWYgaW5wdXQgc2hvdWxkIGJlIHZpc2libGUsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0YWdOYW1lQ29udHJvbFZpc2libGUodGFnTmFtZUNvbnRyb2xWaXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3RhZ05hbWVDb250cm9sVmlzaWJsZSA9IHRhZ05hbWVDb250cm9sVmlzaWJsZTtcbiAgICAgICAgaWYgKHRhZ05hbWVDb250cm9sVmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5fZXhpc3RpbmdUYWdzUGFuZWxWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGFnTmFtZUlucHV0RWxlbWVudD8ubmF0aXZlRWxlbWVudD8uc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZXhpc3RpbmdUYWdzUGFuZWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmNsZWFyVGFnTmFtZUlucHV0KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5leGlzdGluZ1RhZ3NQYW5lbFZpc2liaWxpdHlDaGFuZ2UuZW1pdCh0aGlzLmV4aXN0aW5nVGFnc1BhbmVsVmlzaWJsZSk7XG4gICAgfVxuXG4gICAgZ2V0IHRhZ05hbWVDb250cm9sVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhZ05hbWVDb250cm9sVmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbWl0dGVkIHdoZW4gYm90dG9tIGxpc3QgaXMgc2hvd2luZyBvciBoaWRpbmcuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgZXhpc3RpbmdUYWdzUGFuZWxWaXNpYmlsaXR5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiB0YWdzIGluIHRvcCBsaXN0IGFyZSBjaGFuZ2VkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHRhZ3NDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gICAgdGFnc1RvRGlzcGxheTogQ2hpcFtdID0gW107XG5cbiAgICByZWFkb25seSBuYW1lRXJyb3JNZXNzYWdlc0J5RXJyb3JzID0gbmV3IE1hcDxrZXlvZiBUYWdOYW1lQ29udHJvbEVycm9ycywgc3RyaW5nPihbXG4gICAgICAgIFsnZHVwbGljYXRlZEV4aXN0aW5nVGFnJywgJ0VYSVNUSU5HX1RBRyddLFxuICAgICAgICBbJ2R1cGxpY2F0ZWRBZGRlZFRhZycsICdBTFJFQURZX0FEREVEX1RBRyddLFxuICAgICAgICBbJ2VtcHR5VGFnJywgJ0VNUFRZX1RBRyddLFxuICAgICAgICBbJ3NwZWNpYWxDaGFyYWN0ZXJzJywgJ1NQRUNJQUxfQ0hBUkFDVEVSUyddXG4gICAgXSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGV4aXN0aW5nVGFnc0xpc3RMaW1pdCA9IDE1O1xuXG4gICAgcHJpdmF0ZSBleGFjdFRhZ1NldCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgX3RhZ3M6IHN0cmluZ1tdID0gW107XG4gICAgcHJpdmF0ZSBfdGFnTmFtZUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPihcbiAgICAgICAgJycsXG4gICAgICAgIFt0aGlzLnZhbGlkYXRlSWZOb3RBbHJlYWR5QWRkZWQuYmluZCh0aGlzKSwgdGhpcy52YWxpZGF0ZUVtcHR5VGFnLCB0aGlzLnZhbGlkYXRlU3BlY2lhbENoYXJhY3RlcnNdLFxuICAgICAgICB0aGlzLnZhbGlkYXRlSWZOb3RFeGlzdGluZ1RhZy5iaW5kKHRoaXMpXG4gICAgKTtcbiAgICBwcml2YXRlIF90YWdOYW1lQ29udHJvbFZpc2libGUgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9leGlzdGluZ1RhZ3M6IFRhZ0VudHJ5W107XG4gICAgcHJpdmF0ZSBfaW5pdGlhbEV4aXN0aW5nVGFnczogVGFnRW50cnlbXTtcbiAgICBwcml2YXRlIF90YWdOYW1lRXJyb3JNZXNzYWdlS2V5ID0gJyc7XG4gICAgcHJpdmF0ZSBfc3Bpbm5lclZpc2libGUgPSBmYWxzZTtcbiAgICBwcml2YXRlIF90eXBpbmcgPSBmYWxzZTtcbiAgICBwcml2YXRlIF90YWdzTGlzdFNjcm9sbGJhclZpc2libGUgPSBmYWxzZTtcbiAgICBwcml2YXRlIGNhbmNlbEV4aXN0aW5nVGFnc0xvYWRpbmckID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIGV4aXN0aW5nRXhhY3RUYWc6IFRhZ0VudHJ5O1xuICAgIHByaXZhdGUgX2V4aXN0aW5nVGFnc1BhbmVsVmlzaWJsZTogYm9vbGVhbjtcblxuICAgIEBWaWV3Q2hpbGQoJ3RhZ3NMaXN0JylcbiAgICBwcml2YXRlIHRhZ3NMaXN0RWxlbWVudDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCd0YWdOYW1lSW5wdXQnKVxuICAgIHByaXZhdGUgdGFnTmFtZUlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGFnU2VydmljZTogVGFnU2VydmljZSwgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFnTmFtZUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKG5hbWU6IHN0cmluZykgPT4gbmFtZS50cmltKCkpLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2aW91cywgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZU5vdENoYW5nZWQgPSBwcmV2aW91cyA9PT0gY3VycmVudDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlTm90Q2hhbmdlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5leGFjdFRhZ1NldCQubmV4dCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZU5vdENoYW5nZWQ7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFwKChuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHlwaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NwaW5uZXJWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2V4aXN0aW5nVGFnc1BhbmVsVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5leGlzdGluZ1RhZ3NQYW5lbFZpc2liaWxpdHlDaGFuZ2UuZW1pdCh0aGlzLmV4aXN0aW5nVGFnc1BhbmVsVmlzaWJsZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FuY2VsRXhpc3RpbmdUYWdzTG9hZGluZyQubmV4dCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbml0aWFsRXhpc3RpbmdUYWdzID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZXhpc3RpbmdUYWdzID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBkZWJvdW5jZSgobmFtZTogc3RyaW5nKSA9PiAobmFtZSA/IHRpbWVyKDMwMCkgOiBFTVBUWSkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChuYW1lOiBzdHJpbmcpID0+IHRoaXMub25UYWdOYW1lQ29udHJvbFZhbHVlQ2hhbmdlKG5hbWUpKTtcblxuICAgICAgICB0aGlzLnRhZ05hbWVDb250cm9sLnN0YXR1c0NoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0VGFnTmFtZUNvbnRyb2xFcnJvck1lc3NhZ2VLZXkoKSk7XG5cbiAgICAgICAgdGhpcy5zZXRUYWdOYW1lQ29udHJvbEVycm9yTWVzc2FnZUtleSgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhbmNlbEV4aXN0aW5nVGFnc0xvYWRpbmckLm5leHQoKTtcbiAgICAgICAgdGhpcy5jYW5jZWxFeGlzdGluZ1RhZ3NMb2FkaW5nJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuYWRmLWNyZWF0b3Itd2l0aC1leGlzdGluZy10YWdzLXBhbmVsJylcbiAgICBnZXQgaG9zdENsYXNzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5leGlzdGluZ1RhZ3NQYW5lbFZpc2libGU7XG4gICAgfVxuXG4gICAgZ2V0IHRhZ05hbWVDb250cm9sKCk6IEZvcm1Db250cm9sPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFnTmFtZUNvbnRyb2w7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBSZXR1cm5zIGB0cnVlYCBpZiB0YWdzIGVtcHR5IGFuZCBub24gZWRpdGFibGUgc3RhdGUsIG90aGVyd2lzZSBgZmFsc2VgXG4gICAgICovXG4gICAgZ2V0IHNob3dFbXB0eVRhZ01lc3NhZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhZ3M/Lmxlbmd0aCA9PT0gMCAmJiAhdGhpcy50YWdOYW1lQ29udHJvbFZpc2libGU7XG4gICAgfVxuXG4gICAgZ2V0IGV4aXN0aW5nVGFncygpOiBUYWdFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4aXN0aW5nVGFncztcbiAgICB9XG5cbiAgICBnZXQgdGFnTmFtZUVycm9yTWVzc2FnZUtleSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFnTmFtZUVycm9yTWVzc2FnZUtleTtcbiAgICB9XG5cbiAgICBnZXQgc3Bpbm5lclZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zcGlubmVyVmlzaWJsZTtcbiAgICB9XG5cbiAgICBnZXQgdHlwaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwaW5nO1xuICAgIH1cblxuICAgIGdldCB0YWdzTGlzdFNjcm9sbGJhclZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWdzTGlzdFNjcm9sbGJhclZpc2libGU7XG4gICAgfVxuXG4gICAgZ2V0IGV4aXN0aW5nVGFnc1BhbmVsVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4aXN0aW5nVGFnc1BhbmVsVmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGFncyB0byB0b3AgbGlzdCB1c2luZyB2YWx1ZSB3aGljaCBpcyBzZXQgaW4gaW5wdXQuIEFkZGluZyB0YWcgaXMgbm90IGFsbG93ZWQgd2hlbiB2YWx1ZSBpbiBpbnB1dCBpcyBpbnZhbGlkXG4gICAgICogb3IgaWYgdXNlciBpcyBzdGlsbCB0eXBpbmcgd2hhdCBtZWFucyB0aGF0IHZhbGlkYXRpb24gZm9yIGlucHV0IGlzIG5vdCBjYWxsZWQgeWV0LlxuICAgICAqL1xuICAgIGFkZFRhZygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl90eXBpbmcgJiYgIXRoaXMudGFnTmFtZUNvbnRyb2wuaW52YWxpZCkge1xuICAgICAgICAgICAgdGhpcy50YWdzID0gWy4uLnRoaXMudGFncywgdGhpcy50YWdOYW1lQ29udHJvbC52YWx1ZS50cmltKCldO1xuICAgICAgICAgICAgdGhpcy5jbGVhclRhZ05hbWVJbnB1dCgpO1xuICAgICAgICAgICAgdGhpcy5jaGVja1Njcm9sbGJhclZpc2liaWxpdHkoKTtcbiAgICAgICAgICAgIHRoaXMudGFnc0NoYW5nZS5lbWl0KHRoaXMudGFncyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGFnIGZyb20gdG9wIGxpc3QuIEluIGNhc2UgdGhhdCB0YWcgd2FzIHBhcnQgb2Ygc2VhcmNoIHJlc3VsdCB0aGVuIHRoYXQgdGFnIGlzIG1vdmVkIHRvIGJvdHRvbSBsaXN0XG4gICAgICogKGxpc3Qgb2YgZXhpc3RpbmcgdGFncykgYWZ0ZXIgcmVtb3Zpbmcgc28gdXNlciBjYW4gcmVzZWxlY3QgaXQgYWdhaW4gbGF0ZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGFnIHRhZydzIG5hbWUgd2hpY2ggc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSB0b3AgbGlzdC5cbiAgICAgKi9cbiAgICByZW1vdmVUYWcodGFnOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVUYWdGcm9tQXJyYXkodGhpcy50YWdzLCB0YWcpO1xuICAgICAgICB0aGlzLnRhZ3MgPSBbLi4udGhpcy50YWdzXTtcbiAgICAgICAgdGhpcy50YWdOYW1lQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIHRoaXMudXBkYXRlRXhpc3RpbmdUYWdzTGlzdE9uUmVtb3ZlRnJvbVRhZ3NUb0NvbmZpcm0odGFnKTtcbiAgICAgICAgdGhpcy5leGFjdFRhZ1NldCQubmV4dCgpO1xuICAgICAgICB0aGlzLmNoZWNrU2Nyb2xsYmFyVmlzaWJpbGl0eSgpO1xuICAgICAgICB0aGlzLnRhZ3NDaGFuZ2UuZW1pdCh0aGlzLnRhZ3MpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGxlZCB3aGVuIHVzZXIgc2VsZWN0cyBhbnkgdGFnIGZyb20gbGlzdCBvZiBleGlzdGluZyB0YWdzLiBJdCBtb3ZlcyB0YWcgZnJvbSBleGlzdGluZyB0YWdzIGxpc3QgdG8gdG9wIGxpc3QuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2VsZWN0ZWRUYWcgY2hhbmdlc1xuICAgICAqL1xuICAgIGFkZEV4aXN0aW5nVGFnVG9UYWdzVG9Bc3NpZ24oc2VsZWN0ZWRUYWc6IFRhZ0VudHJ5KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc09ubHlDcmVhdGVNb2RlKCkpIHtcbiAgICAgICAgICAgIHRoaXMudGFncy5wdXNoKHNlbGVjdGVkVGFnLmVudHJ5LnRhZyk7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVRhZ0Zyb21BcnJheSh0aGlzLmV4aXN0aW5nVGFncywgc2VsZWN0ZWRUYWcpO1xuICAgICAgICAgICAgdGhpcy50YWdOYW1lQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgICAgICB0aGlzLnRhZ3MgPSBbLi4udGhpcy50YWdzXTtcbiAgICAgICAgICAgIHRoaXMuZXhhY3RUYWdTZXQkLm5leHQoKTtcbiAgICAgICAgICAgIHRoaXMudGFnc0NoYW5nZS5lbWl0KHRoaXMudGFncyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgY29tcG9uZW50IGlzIGluIENyZWF0ZSBtb2RlLlxuICAgICAqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIGBDcmVhdGVgIG1vZGUsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIGlzT25seUNyZWF0ZU1vZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGUgPT09IFRhZ3NDcmVhdG9yTW9kZS5DUkVBVEU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblRhZ05hbWVDb250cm9sVmFsdWVDaGFuZ2UobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFnTmFtZUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmxvYWRUYWdzKG5hbWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFRhZ3MobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmIChuYW1lICYmICF0aGlzLnRhZ05hbWVDb250cm9sLmhhc0Vycm9yKCdzcGVjaWFsQ2hhcmFjdGVycycpKSB7XG4gICAgICAgICAgICBmb3JrSm9pbih7XG4gICAgICAgICAgICAgICAgZXhhY3RSZXN1bHQ6IHRoaXMudGFnU2VydmljZS5maW5kVGFnQnlOYW1lKG5hbWUpLFxuICAgICAgICAgICAgICAgIHNlYXJjaGVkUmVzdWx0OiB0aGlzLnRhZ1NlcnZpY2Uuc2VhcmNoVGFncyhuYW1lLCBERUZBVUxUX1RBR1NfU09SVElORywgZmFsc2UsIDAsIHRoaXMuZXhpc3RpbmdUYWdzTGlzdExpbWl0KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuY2FuY2VsRXhpc3RpbmdUYWdzTG9hZGluZyQpLFxuICAgICAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5fdHlwaW5nID0gZmFsc2UpKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICAgICAgbmV4dDogKHsgZXhhY3RSZXN1bHQsIHNlYXJjaGVkUmVzdWx0IH06IHsgZXhhY3RSZXN1bHQ6IFRhZ0VudHJ5OyBzZWFyY2hlZFJlc3VsdDogVGFnUGFnaW5nIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChleGFjdFJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhpc3RpbmdFeGFjdFRhZyA9IGV4YWN0UmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlRXhhY3RUYWdGcm9tU2VhcmNoZWRSZXN1bHQoc2VhcmNoZWRSZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaGVkUmVzdWx0Lmxpc3QuZW50cmllcy51bnNoaWZ0KGV4YWN0UmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5leGlzdGluZ0V4YWN0VGFnID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5faW5pdGlhbEV4aXN0aW5nVGFncyA9IHNlYXJjaGVkUmVzdWx0Lmxpc3QuZW50cmllcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhjbHVkZUFscmVhZHlBZGRlZFRhZ3ModGhpcy5faW5pdGlhbEV4aXN0aW5nVGFncyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV4YWN0VGFnU2V0JC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zcGlubmVyVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnNob3dFcnJvcignVEFHLlRBR1NfQ1JFQVRPUi5FUlJPUlMuRkVUQ0hfVEFHUycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3Bpbm5lclZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5leGlzdGluZ0V4YWN0VGFnID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuX3NwaW5uZXJWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUV4YWN0VGFnRnJvbVNlYXJjaGVkUmVzdWx0KHNlYXJjaGVkUmVzdWx0OiBUYWdQYWdpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXhhY3RUYWdJbmRleCA9IHNlYXJjaGVkUmVzdWx0Lmxpc3QuZW50cmllcy5maW5kSW5kZXgoKHJvdykgPT4gdGhpcy5jb21wYXJlVGFncyhyb3cuZW50cnkudGFnLCB0aGlzLmV4aXN0aW5nRXhhY3RUYWcuZW50cnkudGFnKSk7XG5cbiAgICAgICAgaWYgKGV4YWN0VGFnSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgc2VhcmNoZWRSZXN1bHQubGlzdC5lbnRyaWVzLnNwbGljZShleGFjdFRhZ0luZGV4LCAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVJZk5vdEV4aXN0aW5nVGFnKHRhZ05hbWVDb250cm9sOiBGb3JtQ29udHJvbDxzdHJpbmc+KTogT2JzZXJ2YWJsZTxUYWdOYW1lQ29udHJvbEVycm9ycyB8IG51bGw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhhY3RUYWdTZXQkLnBpcGUoXG4gICAgICAgICAgICBtYXA8dm9pZCwgVGFnTmFtZUNvbnRyb2xFcnJvcnMgfCBudWxsPigoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuY29tcGFyZVRhZ3ModGFnTmFtZUNvbnRyb2wudmFsdWUsIHRoaXMuZXhpc3RpbmdFeGFjdFRhZz8uZW50cnk/LnRhZykgPyB7IGR1cGxpY2F0ZWRFeGlzdGluZ1RhZzogdHJ1ZSB9IDogbnVsbFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGZpcnN0KClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlSWZOb3RBbHJlYWR5QWRkZWQodGFnTmFtZUNvbnRyb2w6IEZvcm1Db250cm9sPHN0cmluZz4pOiBUYWdOYW1lQ29udHJvbEVycm9ycyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy50YWdzLnNvbWUoKHRhZykgPT4gdGhpcy5jb21wYXJlVGFncyh0YWcsIHRhZ05hbWVDb250cm9sLnZhbHVlKSkgPyB7IGR1cGxpY2F0ZWRBZGRlZFRhZzogdHJ1ZSB9IDogbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXBhcmVUYWdzKHRhZ05hbWUxPzogc3RyaW5nLCB0YWdOYW1lMj86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGFnTmFtZTE/LnRyaW0oKS50b1VwcGVyQ2FzZSgpID09PSB0YWdOYW1lMj8udHJpbSgpLnRvVXBwZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUVtcHR5VGFnKHRhZ05hbWVDb250cm9sOiBGb3JtQ29udHJvbDxzdHJpbmc+KTogVGFnTmFtZUNvbnRyb2xFcnJvcnMgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRhZ05hbWVDb250cm9sLnZhbHVlLmxlbmd0aCAmJiAhdGFnTmFtZUNvbnRyb2wudmFsdWUudHJpbSgpID8geyBlbXB0eVRhZzogdHJ1ZSB9IDogbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlU3BlY2lhbENoYXJhY3RlcnModGFnTmFtZUNvbnRyb2w6IEZvcm1Db250cm9sPHN0cmluZz4pOiBUYWdOYW1lQ29udHJvbEVycm9ycyB8IG51bGwge1xuICAgICAgICBjb25zdCBzcGVjaWFsU3ltYm9sc1JlZ2V4ID0gL1t7fSgpXic6XCJcXFxcfDw+Lz8uKl0vO1xuICAgICAgICByZXR1cm4gdGFnTmFtZUNvbnRyb2wudmFsdWUubGVuZ3RoICYmIHNwZWNpYWxTeW1ib2xzUmVnZXgudGVzdCh0YWdOYW1lQ29udHJvbC52YWx1ZSkgPyB7IHNwZWNpYWxDaGFyYWN0ZXJzOiB0cnVlIH0gOiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VGFnTmFtZUNvbnRyb2xFcnJvck1lc3NhZ2VLZXkoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhZ05hbWVFcnJvck1lc3NhZ2VLZXkgPSB0aGlzLnRhZ05hbWVDb250cm9sLmludmFsaWRcbiAgICAgICAgICAgID8gYFRBRy5UQUdTX0NSRUFUT1IuRVJST1JTLiR7dGhpcy5uYW1lRXJyb3JNZXNzYWdlc0J5RXJyb3JzLmdldChcbiAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMudGFnTmFtZUNvbnRyb2wuZXJyb3JzKVswXSBhcyBrZXlvZiBUYWdOYW1lQ29udHJvbEVycm9yc1xuICAgICAgICAgICAgICApfWBcbiAgICAgICAgICAgIDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja1Njcm9sbGJhclZpc2liaWxpdHkoKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdGFnc0xpc3RTY3JvbGxiYXJWaXNpYmxlID0gdGhpcy50YWdzTGlzdEVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgPiB0aGlzLnRhZ3NMaXN0RWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVUYWdGcm9tQXJyYXk8VD4odGFnczogVFtdLCB0YWc6IFQpIHtcbiAgICAgICAgdGFncy5zcGxpY2UodGFncy5pbmRleE9mKHRhZyksIDEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRXhpc3RpbmdUYWdzTGlzdE9uUmVtb3ZlRnJvbVRhZ3NUb0NvbmZpcm0odGFnOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZW50cnlGb3JUYWdBZGRlZFRvRXhpc3RpbmdUYWdzID0gdGhpcy5faW5pdGlhbEV4aXN0aW5nVGFncz8uZmluZCgodGFnRW50cnkpID0+IHRhZ0VudHJ5LmVudHJ5LnRhZyA9PT0gdGFnKTtcbiAgICAgICAgaWYgKGVudHJ5Rm9yVGFnQWRkZWRUb0V4aXN0aW5nVGFncykge1xuICAgICAgICAgICAgdGhpcy5leGlzdGluZ1RhZ3MudW5zaGlmdChlbnRyeUZvclRhZ0FkZGVkVG9FeGlzdGluZ1RhZ3MpO1xuICAgICAgICAgICAgaWYgKHRoaXMuZXhpc3RpbmdFeGFjdFRhZykge1xuICAgICAgICAgICAgICAgIGlmICh0YWcgIT09IHRoaXMuZXhpc3RpbmdFeGFjdFRhZy5lbnRyeS50YWcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVUYWdGcm9tQXJyYXkodGhpcy5leGlzdGluZ1RhZ3MsIHRoaXMuZXhpc3RpbmdFeGFjdFRhZyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc29ydEV4aXN0aW5nVGFncygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmV4aXN0aW5nVGFncy51bnNoaWZ0KHRoaXMuZXhpc3RpbmdFeGFjdFRhZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNvcnRFeGlzdGluZ1RhZ3MoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZXhhY3RUYWdTZXQkLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc29ydEV4aXN0aW5nVGFncygpIHtcbiAgICAgICAgdGhpcy5leGlzdGluZ1RhZ3Muc29ydCgodGFnRW50cnkxLCB0YWdFbnRyeTIpID0+IHRhZ0VudHJ5MS5lbnRyeS50YWcubG9jYWxlQ29tcGFyZSh0YWdFbnRyeTIuZW50cnkudGFnKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleGNsdWRlQWxyZWFkeUFkZGVkVGFncyh0YWdzOiBUYWdFbnRyeVtdKSB7XG4gICAgICAgIHRoaXMuX2V4aXN0aW5nVGFncyA9IHRhZ3MuZmlsdGVyKCh0YWcpID0+ICF0aGlzLnRhZ3MuaW5jbHVkZXModGFnLmVudHJ5LnRhZykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJUYWdOYW1lSW5wdXQoKSB7XG4gICAgICAgIHRoaXMudGFnTmFtZUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgICAgICB0aGlzLnRhZ05hbWVDb250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGYtdGFncy1jcmVhdGlvblwiPlxuICAgIDxkaXYgKm5nSWY9XCJ0YWdOYW1lQ29udHJvbFZpc2libGVcIiBjbGFzcz1cImFkZi10YWctbmFtZS1maWVsZFwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICN0YWdOYW1lSW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLXRhZy1zZWFyY2gtZmllbGRcIlxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwidGFnTmFtZUNvbnRyb2xcIlxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImFkZFRhZygpXCJcbiAgICAgICAgICAgIGFkZi1hdXRvLWZvY3VzXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdUQUcuVEFHU19DUkVBVE9SLlRBR19TRUFSQ0hfUExBQ0VIT0xERVInIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cInRhZ05hbWVDb250cm9sLmludmFsaWQgJiYgdGFnTmFtZUNvbnRyb2wudG91Y2hlZFwiPlxuICAgICAgICAgICAge3sgdGFnTmFtZUVycm9yTWVzc2FnZUtleSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICA8L2Rpdj5cbiAgICA8cCBjbGFzcz1cImFkZi1uby10YWdzLW1lc3NhZ2VcIiAqbmdJZj1cInNob3dFbXB0eVRhZ01lc3NhZ2VcIj5cbiAgICAgICAge3sgJ1RBRy5UQUdTX0NSRUFUT1IuTk9fVEFHU19DUkVBVEVEJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvcD5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLXRhZ3MtbGlzdFwiIFtjbGFzcy5hZGYtdGFncy1saXN0LWZpeGVkXT1cIiF0YWdOYW1lQ29udHJvbFZpc2libGVcIiAjdGFnc0xpc3Q+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWdzPy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8YWRmLWR5bmFtaWMtY2hpcC1saXN0XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtdGFncy1jaGlwcy1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgIFtjaGlwc109XCJ0YWdzVG9EaXNwbGF5XCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZURlbGV0ZV09XCJkaXNhYmxlZFRhZ3NSZW1vdmluZ1wiXG4gICAgICAgICAgICAgICAgKHJlbW92ZWRDaGlwKT1cInJlbW92ZVRhZygkZXZlbnQpXCIgLz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJhZGYtZXhpc3RpbmctdGFncy1wYW5lbFwiICpuZ0lmPVwiZXhpc3RpbmdUYWdzUGFuZWxWaXNpYmxlXCI+XG4gICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCIhc3Bpbm5lclZpc2libGUgfHwgZXhpc3RpbmdUYWdzXCJcbiAgICAgICAgY2xhc3M9XCJhZGYtY3JlYXRlLXRhZy1sYWJlbFwiXG4gICAgICAgIChjbGljayk9XCJhZGRUYWcoKVwiXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwiYWRkVGFnKClcIlxuICAgICAgICBbaGlkZGVuXT1cIiF0YWdOYW1lQ29udHJvbC52YWx1ZSB8fCB0YWdOYW1lQ29udHJvbC5pbnZhbGlkIHx8IHR5cGluZ1wiXG4gICAgPlxuICAgICAgICB7eyAnVEFHLlRBR1NfQ1JFQVRPUi5DUkVBVEVfVEFHJyB8IHRyYW5zbGF0ZSA6IHsgdGFnOiB0YWdOYW1lQ29udHJvbC52YWx1ZSB9IH19XG4gICAgPC9zcGFuPlxuICAgIDxwICpuZ0lmPVwiIXNwaW5uZXJWaXNpYmxlICYmIGV4aXN0aW5nVGFnc1wiIGNsYXNzPVwiYWRmLWV4aXN0aW5nLXRhZ3MtbGFiZWxcIj5cbiAgICAgICAge3sgKGlzT25seUNyZWF0ZU1vZGUoKSA/ICdUQUcuVEFHU19DUkVBVE9SLkVYSVNUSU5HX1RBR1MnIDogJ1RBRy5UQUdTX0NSRUFUT1IuRVhJU1RJTkdfVEFHU19TRUxFQ1RJT04nKSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvcD5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLXRhZ3MtbGlzdFwiPlxuICAgICAgICA8bWF0LWxpc3QgKm5nSWY9XCIhc3Bpbm5lclZpc2libGUgJiYgZXhpc3RpbmdUYWdzXCIgW2Rpc2FibGVkXT1cImlzT25seUNyZWF0ZU1vZGUoKVwiPlxuICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IHRhZ1JvdyBvZiBleGlzdGluZ1RhZ3NcIiBjbGFzcz1cImFkZi10YWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZEV4aXN0aW5nVGFnVG9UYWdzVG9Bc3NpZ24odGFnUm93KVwiPlxuICAgICAgICAgICAgICAgIHt7IHRhZ1Jvdy5lbnRyeS50YWcgfX1cbiAgICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgICAgIDxwICpuZ0lmPVwiIWV4aXN0aW5nVGFncz8ubGVuZ3RoXCI+e3sgJ1RBRy5UQUdTX0NSRUFUT1IuTk9fRVhJU1RJTkdfVEFHUycgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgIDwvbWF0LWxpc3Q+XG4gICAgICAgIDxtYXQtc3Bpbm5lclxuICAgICAgICAgICAgKm5nSWY9XCJzcGlubmVyVmlzaWJsZVwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi10YWdzLWNyZWF0b3Itc3Bpbm5lclwiXG4gICAgICAgICAgICBbZGlhbWV0ZXJdPVwiNTBcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInVEFHLlRBR1NfQ1JFQVRPUi5UQUdTX0xPQURJTkcnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgLz5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,56 +0,0 @@
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 { NgModule, APP_INITIALIZER } from '@angular/core';
18
- import { NoopAnimationsModule } from '@angular/platform-browser/animations';
19
- import { CoreModule, NoopTranslateModule, NoopAuthModule } from '@alfresco/adf-core';
20
- import { ContentModule } from '../content.module';
21
- import { versionCompatibilityFactory } from '../version-compatibility/version-compatibility-factory';
22
- import { AlfrescoApiService } from '../services/alfresco-api.service';
23
- import { VersionCompatibilityService } from '../version-compatibility/version-compatibility.service';
24
- import { MatIconTestingModule } from '@angular/material/icon/testing';
25
- import { AlfrescoApiServiceMock } from '../mock';
26
- import * as i0 from "@angular/core";
27
- export class ContentTestingModule {
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
29
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ContentTestingModule, imports: [NoopAnimationsModule, CoreModule, NoopAuthModule, NoopTranslateModule, ContentModule, MatIconTestingModule], exports: [NoopAnimationsModule, CoreModule, ContentModule] }); }
30
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentTestingModule, providers: [
31
- { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock },
32
- {
33
- provide: APP_INITIALIZER,
34
- useFactory: versionCompatibilityFactory,
35
- deps: [VersionCompatibilityService],
36
- multi: true
37
- }
38
- ], imports: [NoopAnimationsModule, CoreModule, NoopAuthModule, NoopTranslateModule, ContentModule, MatIconTestingModule, NoopAnimationsModule, CoreModule, ContentModule] }); }
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentTestingModule, decorators: [{
41
- type: NgModule,
42
- args: [{
43
- imports: [NoopAnimationsModule, CoreModule, NoopAuthModule, NoopTranslateModule, ContentModule, MatIconTestingModule],
44
- providers: [
45
- { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock },
46
- {
47
- provide: APP_INITIALIZER,
48
- useFactory: versionCompatibilityFactory,
49
- deps: [VersionCompatibilityService],
50
- multi: true
51
- }
52
- ],
53
- exports: [NoopAnimationsModule, CoreModule, ContentModule]
54
- }]
55
- }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC50ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvdGVzdGluZy9jb250ZW50LnRlc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFlakQsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0IsWUFabkIsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLGFBVTFHLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxhQUFhO2dIQUVoRCxvQkFBb0IsYUFYbEI7WUFDUCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUU7WUFDakU7Z0JBQ0ksT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFVBQVUsRUFBRSwyQkFBMkI7Z0JBQ3ZDLElBQUksRUFBRSxDQUFDLDJCQUEyQixDQUFDO2dCQUNuQyxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osWUFUUyxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFVMUcsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLGFBQWE7OzRGQUVoRCxvQkFBb0I7a0JBYmhDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLENBQUM7b0JBQ3JILFNBQVMsRUFBRTt3QkFDUCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUU7d0JBQ2pFOzRCQUNJLE9BQU8sRUFBRSxlQUFlOzRCQUN4QixVQUFVLEVBQUUsMkJBQTJCOzRCQUN2QyxJQUFJLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQzs0QkFDbkMsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7b0JBQ0QsT0FBTyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQztpQkFDN0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlLCBBUFBfSU5JVElBTElaRVIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vb3BBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvcmVNb2R1bGUsIE5vb3BUcmFuc2xhdGVNb2R1bGUsIE5vb3BBdXRoTW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IENvbnRlbnRNb2R1bGUgfSBmcm9tICcuLi9jb250ZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyB2ZXJzaW9uQ29tcGF0aWJpbGl0eUZhY3RvcnkgfSBmcm9tICcuLi92ZXJzaW9uLWNvbXBhdGliaWxpdHkvdmVyc2lvbi1jb21wYXRpYmlsaXR5LWZhY3RvcnknO1xuaW1wb3J0IHsgQWxmcmVzY29BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYWxmcmVzY28tYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmVyc2lvbkNvbXBhdGliaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vdmVyc2lvbi1jb21wYXRpYmlsaXR5L3ZlcnNpb24tY29tcGF0aWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdEljb25UZXN0aW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbi90ZXN0aW5nJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZU1vY2sgfSBmcm9tICcuLi9tb2NrJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbTm9vcEFuaW1hdGlvbnNNb2R1bGUsIENvcmVNb2R1bGUsIE5vb3BBdXRoTW9kdWxlLCBOb29wVHJhbnNsYXRlTW9kdWxlLCBDb250ZW50TW9kdWxlLCBNYXRJY29uVGVzdGluZ01vZHVsZV0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQWxmcmVzY29BcGlTZXJ2aWNlLCB1c2VDbGFzczogQWxmcmVzY29BcGlTZXJ2aWNlTW9jayB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiB2ZXJzaW9uQ29tcGF0aWJpbGl0eUZhY3RvcnksXG4gICAgICAgICAgICBkZXBzOiBbVmVyc2lvbkNvbXBhdGliaWxpdHlTZXJ2aWNlXSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGV4cG9ydHM6IFtOb29wQW5pbWF0aW9uc01vZHVsZSwgQ29yZU1vZHVsZSwgQ29udGVudE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudFRlc3RpbmdNb2R1bGUge31cbiJdfQ==