@alfresco/adf-content-services 8.1.0-16116688508 → 8.1.0-16117584844

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 (414) hide show
  1. package/bundles/assets/adf-content-services/i18n/en.json +1 -3
  2. package/esm2022/adf-content-services.mjs +5 -0
  3. package/esm2022/lib/agent/index.mjs +18 -0
  4. package/esm2022/lib/agent/public-api.mjs +18 -0
  5. package/esm2022/lib/agent/services/agent.service.mjs +60 -0
  6. package/esm2022/lib/alfresco-icon/alfresco-icon.component.mjs +27 -0
  7. package/esm2022/lib/api-factories/alfresco-api-no-auth.service.mjs +42 -0
  8. package/esm2022/lib/api-factories/alfresco-api-v2-loader.service.mjs +77 -0
  9. package/esm2022/lib/api-factories/index.mjs +18 -0
  10. package/esm2022/lib/api-factories/public-api.mjs +19 -0
  11. package/esm2022/lib/aspect-list/aspect-list-dialog-data.interface.mjs +18 -0
  12. package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +77 -0
  13. package/esm2022/lib/aspect-list/aspect-list.component.mjs +139 -0
  14. package/esm2022/lib/aspect-list/aspect-list.module.mjs +35 -0
  15. package/esm2022/lib/aspect-list/index.mjs +18 -0
  16. package/esm2022/lib/aspect-list/public-api.mjs +24 -0
  17. package/esm2022/lib/aspect-list/services/aspect-list.service.mjs +83 -0
  18. package/esm2022/lib/aspect-list/services/dialog-aspect-list.service.mjs +86 -0
  19. package/esm2022/lib/aspect-list/services/node-aspect.service.mjs +52 -0
  20. package/esm2022/lib/auth-loader/content-auth-loader-factory.mjs +26 -0
  21. package/esm2022/lib/auth-loader/content-auth-loader.service.mjs +42 -0
  22. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +166 -0
  23. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +35 -0
  24. package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +65 -0
  25. package/esm2022/lib/breadcrumb/index.mjs +18 -0
  26. package/esm2022/lib/breadcrumb/public-api.mjs +20 -0
  27. package/esm2022/lib/category/categories-management/categories-management-mode.mjs +22 -0
  28. package/esm2022/lib/category/categories-management/categories-management.component.mjs +308 -0
  29. package/esm2022/lib/category/category.module.mjs +33 -0
  30. package/esm2022/lib/category/index.mjs +18 -0
  31. package/esm2022/lib/category/models/category-node.interface.mjs +18 -0
  32. package/esm2022/lib/category/public-api.mjs +23 -0
  33. package/esm2022/lib/category/services/category-tree-datasource.service.mjs +80 -0
  34. package/esm2022/lib/category/services/category.service.mjs +159 -0
  35. package/esm2022/lib/common/events/file.event.mjs +46 -0
  36. package/esm2022/lib/common/index.mjs +18 -0
  37. package/esm2022/lib/common/interfaces/saved-search.interface.mjs +18 -0
  38. package/esm2022/lib/common/interfaces/search-configuration.interface.mjs +18 -0
  39. package/esm2022/lib/common/mocks/ecm-user.service.mock.mjs +37 -0
  40. package/esm2022/lib/common/models/allowable-operations.enum.mjs +30 -0
  41. package/esm2022/lib/common/models/ecm-company.model.mjs +19 -0
  42. package/esm2022/lib/common/models/ecm-user.model.mjs +45 -0
  43. package/esm2022/lib/common/models/file.model.mjs +53 -0
  44. package/esm2022/lib/common/models/node-metadata.model.mjs +23 -0
  45. package/esm2022/lib/common/models/permissions.enum.mjs +32 -0
  46. package/esm2022/lib/common/public-api.mjs +37 -0
  47. package/esm2022/lib/common/services/card-view-content-update.service.mjs +55 -0
  48. package/esm2022/lib/common/services/content.service.mjs +180 -0
  49. package/esm2022/lib/common/services/discovery-api.service.mjs +79 -0
  50. package/esm2022/lib/common/services/favorites-api.service.mjs +84 -0
  51. package/esm2022/lib/common/services/nodes-api.service.mjs +251 -0
  52. package/esm2022/lib/common/services/people-content.service.mjs +138 -0
  53. package/esm2022/lib/common/services/rendition.service.mjs +270 -0
  54. package/esm2022/lib/common/services/saved-searches.service.mjs +206 -0
  55. package/esm2022/lib/common/services/sites.service.mjs +243 -0
  56. package/esm2022/lib/common/services/upload.service.mjs +391 -0
  57. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +54 -0
  58. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +490 -0
  59. package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +128 -0
  60. package/esm2022/lib/content-metadata/content-metadata.module.mjs +36 -0
  61. package/esm2022/lib/content-metadata/index.mjs +18 -0
  62. package/esm2022/lib/content-metadata/interfaces/aspect-oriented-config.interface.mjs +18 -0
  63. package/esm2022/lib/content-metadata/interfaces/card-view-group.interface.mjs +18 -0
  64. package/esm2022/lib/content-metadata/interfaces/content-metadata-config.interface.mjs +18 -0
  65. package/esm2022/lib/content-metadata/interfaces/content-metadata-custom-panel.interface.mjs +18 -0
  66. package/esm2022/lib/content-metadata/interfaces/content-metadata-panel.interface.mjs +18 -0
  67. package/esm2022/lib/content-metadata/interfaces/content-metadata.interfaces.mjs +28 -0
  68. package/esm2022/lib/content-metadata/interfaces/indifferent-config.interface.mjs +18 -0
  69. package/esm2022/lib/content-metadata/interfaces/layout-oriented-config.interface.mjs +18 -0
  70. package/esm2022/lib/content-metadata/interfaces/organised-property-group.interface.mjs +18 -0
  71. package/esm2022/lib/content-metadata/interfaces/preset-config.interface.mjs +18 -0
  72. package/esm2022/lib/content-metadata/interfaces/property-group.interface.mjs +18 -0
  73. package/esm2022/lib/content-metadata/interfaces/property.interface.mjs +18 -0
  74. package/esm2022/lib/content-metadata/public-api.mjs +31 -0
  75. package/esm2022/lib/content-metadata/services/basic-properties.service.mjs +107 -0
  76. package/esm2022/lib/content-metadata/services/config/aspect-oriented-config.service.mjs +106 -0
  77. package/esm2022/lib/content-metadata/services/config/content-metadata-config.factory.mjs +76 -0
  78. package/esm2022/lib/content-metadata/services/config/indifferent-config.service.mjs +40 -0
  79. package/esm2022/lib/content-metadata/services/config/layout-oriented-config.service.mjs +108 -0
  80. package/esm2022/lib/content-metadata/services/config/property-group-reader.mjs +33 -0
  81. package/esm2022/lib/content-metadata/services/content-metadata.service.mjs +99 -0
  82. package/esm2022/lib/content-metadata/services/content-type-property.service.mjs +134 -0
  83. package/esm2022/lib/content-metadata/services/property-descriptors.service.mjs +52 -0
  84. package/esm2022/lib/content-metadata/services/property-groups-translator.service.mjs +169 -0
  85. package/esm2022/lib/content-node-selector/content-node-dialog.service.mjs +256 -0
  86. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +617 -0
  87. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.service.mjs +66 -0
  88. package/esm2022/lib/content-node-selector/content-node-selector.component-data.interface.mjs +18 -0
  89. package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +205 -0
  90. package/esm2022/lib/content-node-selector/content-node-selector.module.mjs +50 -0
  91. package/esm2022/lib/content-node-selector/index.mjs +18 -0
  92. package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs +48 -0
  93. package/esm2022/lib/content-node-selector/public-api.mjs +25 -0
  94. package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +168 -0
  95. package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +287 -0
  96. package/esm2022/lib/content-node-share/content-node-share.directive.mjs +102 -0
  97. package/esm2022/lib/content-node-share/content-node-share.module.mjs +35 -0
  98. package/esm2022/lib/content-node-share/content-node-share.settings.mjs +18 -0
  99. package/esm2022/lib/content-node-share/index.mjs +18 -0
  100. package/esm2022/lib/content-node-share/public-api.mjs +22 -0
  101. package/esm2022/lib/content-node-share/services/shared-links-api.service.mjs +83 -0
  102. package/esm2022/lib/content-type/content-type-dialog.component.mjs +57 -0
  103. package/esm2022/lib/content-type/content-type-metadata.interface.mjs +18 -0
  104. package/esm2022/lib/content-type/content-type.service.mjs +52 -0
  105. package/esm2022/lib/content-type/index.mjs +20 -0
  106. package/esm2022/lib/content.module.mjs +277 -0
  107. package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +51 -0
  108. package/esm2022/lib/dialogs/dialog.module.mjs +52 -0
  109. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.mjs +111 -0
  110. package/esm2022/lib/dialogs/download-zip/download-zip.dialog.module.mjs +38 -0
  111. package/esm2022/lib/dialogs/download-zip/services/download-zip.service.mjs +66 -0
  112. package/esm2022/lib/dialogs/folder/folder-name.validators.mjs +44 -0
  113. package/esm2022/lib/dialogs/folder/folder.dialog.mjs +146 -0
  114. package/esm2022/lib/dialogs/index.mjs +18 -0
  115. package/esm2022/lib/dialogs/library/library.dialog.mjs +224 -0
  116. package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +115 -0
  117. package/esm2022/lib/dialogs/public-api.mjs +25 -0
  118. package/esm2022/lib/directives/auto-focus.directive.mjs +38 -0
  119. package/esm2022/lib/directives/check-allowable-operation.directive.mjs +126 -0
  120. package/esm2022/lib/directives/content-directive.module.mjs +75 -0
  121. package/esm2022/lib/directives/index.mjs +18 -0
  122. package/esm2022/lib/directives/library-favorite.directive.mjs +119 -0
  123. package/esm2022/lib/directives/library-membership.directive.mjs +202 -0
  124. package/esm2022/lib/directives/node-counter.directive.mjs +59 -0
  125. package/esm2022/lib/directives/node-delete.directive.mjs +177 -0
  126. package/esm2022/lib/directives/node-download.directive.mjs +138 -0
  127. package/esm2022/lib/directives/node-favorite.directive.mjs +193 -0
  128. package/esm2022/lib/directives/node-lock.directive.mjs +57 -0
  129. package/esm2022/lib/directives/node-restore.directive.mjs +218 -0
  130. package/esm2022/lib/directives/public-api.mjs +28 -0
  131. package/esm2022/lib/document-list/components/content-action/content-action-list.component.mjs +60 -0
  132. package/esm2022/lib/document-list/components/content-action/content-action.component.mjs +196 -0
  133. package/esm2022/lib/document-list/components/document-list.component.mjs +965 -0
  134. package/esm2022/lib/document-list/components/document-list.token.mjs +21 -0
  135. package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +42 -0
  136. package/esm2022/lib/document-list/components/filter-header/filter-header.component.mjs +107 -0
  137. package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +131 -0
  138. package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +91 -0
  139. package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +86 -0
  140. package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +118 -0
  141. package/esm2022/lib/document-list/components/node.event.mjs +30 -0
  142. package/esm2022/lib/document-list/components/trashcan-name-column/trashcan-name-column.component.mjs +83 -0
  143. package/esm2022/lib/document-list/data/image-resolver.model.mjs +18 -0
  144. package/esm2022/lib/document-list/data/row-filter.model.mjs +18 -0
  145. package/esm2022/lib/document-list/data/share-data-row.model.mjs +102 -0
  146. package/esm2022/lib/document-list/data/share-datatable-adapter.mjs +258 -0
  147. package/esm2022/lib/document-list/document-list.module.mjs +75 -0
  148. package/esm2022/lib/document-list/index.mjs +18 -0
  149. package/esm2022/lib/document-list/interfaces/document-list-loader.interface.mjs +18 -0
  150. package/esm2022/lib/document-list/models/content-action.model.mjs +59 -0
  151. package/esm2022/lib/document-list/models/document-folder.model.mjs +23 -0
  152. package/esm2022/lib/document-list/models/node-action.enum.mjs +27 -0
  153. package/esm2022/lib/document-list/models/permissions-style.model.mjs +27 -0
  154. package/esm2022/lib/document-list/models/permissions.model.mjs +26 -0
  155. package/esm2022/lib/document-list/models/preset.model.mjs +257 -0
  156. package/esm2022/lib/document-list/public-api.mjs +47 -0
  157. package/esm2022/lib/document-list/services/custom-resources.service.mjs +378 -0
  158. package/esm2022/lib/document-list/services/document-actions.service.mjs +142 -0
  159. package/esm2022/lib/document-list/services/document-list.service.mjs +175 -0
  160. package/esm2022/lib/document-list/services/folder-actions.service.mjs +137 -0
  161. package/esm2022/lib/document-list/services/lock.service.mjs +72 -0
  162. package/esm2022/lib/document-list/services/node-actions.service.mjs +122 -0
  163. package/esm2022/lib/group/index.mjs +18 -0
  164. package/esm2022/lib/group/public-api.mjs +18 -0
  165. package/esm2022/lib/group/services/group.service.mjs +84 -0
  166. package/esm2022/lib/infinite-scroll-datasource/index.mjs +18 -0
  167. package/esm2022/lib/infinite-scroll-datasource/infinite-scroll-datasource.mjs +69 -0
  168. package/esm2022/lib/infinite-scroll-datasource/public-api.mjs +18 -0
  169. package/esm2022/lib/interfaces/base-card-view-content-update.interface.mjs +18 -0
  170. package/esm2022/lib/interfaces/index.mjs +18 -0
  171. package/esm2022/lib/interfaces/library-entity.interface.mjs +18 -0
  172. package/esm2022/lib/interfaces/library-membership-error-event.interface.mjs +18 -0
  173. package/esm2022/lib/interfaces/library-membership-toggle-event.interface.mjs +18 -0
  174. package/esm2022/lib/interfaces/node-allowable-operation-subject.interface.mjs +18 -0
  175. package/esm2022/lib/interfaces/public-api.mjs +23 -0
  176. package/esm2022/lib/interfaces/restore-message-model.interface.mjs +19 -0
  177. package/esm2022/lib/legal-hold/index.mjs +18 -0
  178. package/esm2022/lib/legal-hold/public-api.mjs +18 -0
  179. package/esm2022/lib/legal-hold/services/legal-hold.service.mjs +136 -0
  180. package/esm2022/lib/material.module.mjs +183 -0
  181. package/esm2022/lib/mock/alfresco-api.service.mock.mjs +43 -0
  182. package/esm2022/lib/mock/date-range-search-filter.mock.mjs +65 -0
  183. package/esm2022/lib/mock/document-library.model.mock.mjs +84 -0
  184. package/esm2022/lib/mock/document-list.component.mock.mjs +364 -0
  185. package/esm2022/lib/mock/index.mjs +18 -0
  186. package/esm2022/lib/mock/new-version-uploader.service.mock.mjs +161 -0
  187. package/esm2022/lib/mock/public-api.mjs +27 -0
  188. package/esm2022/lib/mock/search-filter-mock.mjs +637 -0
  189. package/esm2022/lib/mock/search-query.mock.mjs +40 -0
  190. package/esm2022/lib/mock/search.component.mock.mjs +165 -0
  191. package/esm2022/lib/mock/search.service.mock.mjs +61 -0
  192. package/esm2022/lib/mock/sites-dropdown.component.mock.mjs +281 -0
  193. package/esm2022/lib/new-version-uploader/index.mjs +18 -0
  194. package/esm2022/lib/new-version-uploader/models/index.mjs +18 -0
  195. package/esm2022/lib/new-version-uploader/models/new-version-uploader.model.mjs +24 -0
  196. package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +74 -0
  197. package/esm2022/lib/new-version-uploader/new-version-uploader.module.mjs +33 -0
  198. package/esm2022/lib/new-version-uploader/new-version-uploader.service.mjs +103 -0
  199. package/esm2022/lib/new-version-uploader/public-api.mjs +21 -0
  200. package/esm2022/lib/node-comments/index.mjs +18 -0
  201. package/esm2022/lib/node-comments/node-comments.component.mjs +50 -0
  202. package/esm2022/lib/node-comments/node-comments.module.mjs +33 -0
  203. package/esm2022/lib/node-comments/public-api.mjs +20 -0
  204. package/esm2022/lib/node-comments/services/node-comments.service.mjs +85 -0
  205. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog-data.interface.mjs +18 -0
  206. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +123 -0
  207. package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +102 -0
  208. package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +69 -0
  209. package/esm2022/lib/permission-manager/components/add-permission/search-config-permission.service.mjs +45 -0
  210. package/esm2022/lib/permission-manager/components/inherited-button.directive.mjs +67 -0
  211. package/esm2022/lib/permission-manager/components/node-path-column/node-path-column.component.mjs +56 -0
  212. package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +102 -0
  213. package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +87 -0
  214. package/esm2022/lib/permission-manager/components/permission-list/permission-list.service.mjs +219 -0
  215. package/esm2022/lib/permission-manager/components/pop-over.directive.mjs +134 -0
  216. package/esm2022/lib/permission-manager/components/user-icon-column/user-icon-column.component.mjs +88 -0
  217. package/esm2022/lib/permission-manager/components/user-name-column/user-name-column.component.mjs +82 -0
  218. package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +111 -0
  219. package/esm2022/lib/permission-manager/index.mjs +18 -0
  220. package/esm2022/lib/permission-manager/models/member.model.mjs +59 -0
  221. package/esm2022/lib/permission-manager/models/permission.model.mjs +29 -0
  222. package/esm2022/lib/permission-manager/models/role.model.mjs +18 -0
  223. package/esm2022/lib/permission-manager/permission-manager.module.mjs +84 -0
  224. package/esm2022/lib/permission-manager/public-api.mjs +36 -0
  225. package/esm2022/lib/permission-manager/services/node-permission-dialog.service.mjs +78 -0
  226. package/esm2022/lib/permission-manager/services/node-permission.service.mjs +299 -0
  227. package/esm2022/lib/pipes/content-pipe.module.mjs +37 -0
  228. package/esm2022/lib/pipes/index.mjs +18 -0
  229. package/esm2022/lib/pipes/node-name-tooltip.pipe.mjs +69 -0
  230. package/esm2022/lib/pipes/public-api.mjs +19 -0
  231. package/esm2022/lib/prediction/index.mjs +18 -0
  232. package/esm2022/lib/prediction/public-api.mjs +18 -0
  233. package/esm2022/lib/prediction/services/index.mjs +18 -0
  234. package/esm2022/lib/prediction/services/prediction.service.mjs +57 -0
  235. package/esm2022/lib/search/components/empty-search-result.component.mjs +27 -0
  236. package/esm2022/lib/search/components/index.mjs +43 -0
  237. package/esm2022/lib/search/components/reset-search.directive.mjs +41 -0
  238. package/esm2022/lib/search/components/search-check-list/index.mjs +18 -0
  239. package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +158 -0
  240. package/esm2022/lib/search/components/search-chip-autocomplete-input/index.mjs +18 -0
  241. package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +169 -0
  242. package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +46 -0
  243. package/esm2022/lib/search/components/search-control.component.mjs +180 -0
  244. package/esm2022/lib/search/components/search-date-range-tabbed/index.mjs +22 -0
  245. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/date-range-type.mjs +23 -0
  246. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/in-last-date-type.mjs +23 -0
  247. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +196 -0
  248. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.mjs +18 -0
  249. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.mjs +201 -0
  250. package/esm2022/lib/search/components/search-datetime-range/index.mjs +18 -0
  251. package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +223 -0
  252. package/esm2022/lib/search/components/search-facet-field/index.mjs +18 -0
  253. package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +132 -0
  254. package/esm2022/lib/search/components/search-filter/index.mjs +19 -0
  255. package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +45 -0
  256. package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +80 -0
  257. package/esm2022/lib/search/components/search-filter-autocomplete-chips/index.mjs +18 -0
  258. package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +154 -0
  259. package/esm2022/lib/search/components/search-filter-chips/index.mjs +23 -0
  260. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +104 -0
  261. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +109 -0
  262. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-tabbed-content.component.mjs +129 -0
  263. package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +63 -0
  264. package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +43 -0
  265. package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +109 -0
  266. package/esm2022/lib/search/components/search-filter-container/index.mjs +18 -0
  267. package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +122 -0
  268. package/esm2022/lib/search/components/search-filter-tabbed/index.mjs +19 -0
  269. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tab.directive.mjs +36 -0
  270. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +63 -0
  271. package/esm2022/lib/search/components/search-form/index.mjs +18 -0
  272. package/esm2022/lib/search/components/search-form/search-form.component.mjs +52 -0
  273. package/esm2022/lib/search/components/search-input/index.mjs +18 -0
  274. package/esm2022/lib/search/components/search-input/search-input.component.mjs +108 -0
  275. package/esm2022/lib/search/components/search-logical-filter/index.mjs +18 -0
  276. package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +163 -0
  277. package/esm2022/lib/search/components/search-number-range/index.mjs +18 -0
  278. package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +154 -0
  279. package/esm2022/lib/search/components/search-panel/index.mjs +18 -0
  280. package/esm2022/lib/search/components/search-panel/search-panel.component.mjs +44 -0
  281. package/esm2022/lib/search/components/search-properties/file-size-condition.mjs +18 -0
  282. package/esm2022/lib/search/components/search-properties/file-size-operator.enum.mjs +23 -0
  283. package/esm2022/lib/search/components/search-properties/file-size-unit.enum.mjs +26 -0
  284. package/esm2022/lib/search/components/search-properties/index.mjs +22 -0
  285. package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +244 -0
  286. package/esm2022/lib/search/components/search-properties/search-properties.mjs +18 -0
  287. package/esm2022/lib/search/components/search-radio/index.mjs +18 -0
  288. package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +145 -0
  289. package/esm2022/lib/search/components/search-slider/index.mjs +18 -0
  290. package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +119 -0
  291. package/esm2022/lib/search/components/search-sorting-picker/index.mjs +18 -0
  292. package/esm2022/lib/search/components/search-sorting-picker/search-sorting-picker.component.mjs +77 -0
  293. package/esm2022/lib/search/components/search-text/index.mjs +18 -0
  294. package/esm2022/lib/search/components/search-text/search-text.component.mjs +134 -0
  295. package/esm2022/lib/search/components/search-widget-container/index.mjs +18 -0
  296. package/esm2022/lib/search/components/search-widget-container/search-widget-container.component.mjs +113 -0
  297. package/esm2022/lib/search/components/search.component.mjs +152 -0
  298. package/esm2022/lib/search/forms/index.mjs +19 -0
  299. package/esm2022/lib/search/forms/live-error-state-matcher.mjs +23 -0
  300. package/esm2022/lib/search/forms/search-term-validator.mjs +26 -0
  301. package/esm2022/lib/search/index.mjs +18 -0
  302. package/esm2022/lib/search/mocks/index.mjs +18 -0
  303. package/esm2022/lib/search/mocks/search.service.mock.mjs +56 -0
  304. package/esm2022/lib/search/models/autocomplete-option.interface.mjs +22 -0
  305. package/esm2022/lib/search/models/facet-field-bucket.interface.mjs +18 -0
  306. package/esm2022/lib/search/models/facet-field.interface.mjs +29 -0
  307. package/esm2022/lib/search/models/facet-query.interface.mjs +18 -0
  308. package/esm2022/lib/search/models/facet-widget.interface.mjs +18 -0
  309. package/esm2022/lib/search/models/filter-query.interface.mjs +18 -0
  310. package/esm2022/lib/search/models/filter-search.interface.mjs +18 -0
  311. package/esm2022/lib/search/models/index.mjs +34 -0
  312. package/esm2022/lib/search/models/response-facet-query-list.model.mjs +31 -0
  313. package/esm2022/lib/search/models/search-category.interface.mjs +18 -0
  314. package/esm2022/lib/search/models/search-configuration.interface.mjs +18 -0
  315. package/esm2022/lib/search/models/search-filter-list.model.mjs +148 -0
  316. package/esm2022/lib/search/models/search-form.interface.mjs +18 -0
  317. package/esm2022/lib/search/models/search-range.interface.mjs +18 -0
  318. package/esm2022/lib/search/models/search-sorting-definition.interface.mjs +18 -0
  319. package/esm2022/lib/search/models/search-widget-settings.interface.mjs +18 -0
  320. package/esm2022/lib/search/models/search-widget.interface.mjs +18 -0
  321. package/esm2022/lib/search/models/tabbed-facet-field.interface.mjs +18 -0
  322. package/esm2022/lib/search/public-api.mjs +24 -0
  323. package/esm2022/lib/search/search-configuration.token.mjs +19 -0
  324. package/esm2022/lib/search/search.module.mjs +192 -0
  325. package/esm2022/lib/search/services/base-query-builder.service.mjs +509 -0
  326. package/esm2022/lib/search/services/index.mjs +24 -0
  327. package/esm2022/lib/search/services/search-configuration.service.mjs +50 -0
  328. package/esm2022/lib/search/services/search-facet-filters.service.mjs +374 -0
  329. package/esm2022/lib/search/services/search-filter.service.mjs +56 -0
  330. package/esm2022/lib/search/services/search-header-query-builder.service.mjs +136 -0
  331. package/esm2022/lib/search/services/search-query-builder.service.mjs +48 -0
  332. package/esm2022/lib/search/services/search.service.mjs +89 -0
  333. package/esm2022/lib/search-ai/index.mjs +18 -0
  334. package/esm2022/lib/search-ai/models/search-ai-input-state.mjs +18 -0
  335. package/esm2022/lib/search-ai/public-api.mjs +19 -0
  336. package/esm2022/lib/search-ai/services/search-ai.service.mjs +103 -0
  337. package/esm2022/lib/security/index.mjs +18 -0
  338. package/esm2022/lib/security/public-api.mjs +18 -0
  339. package/esm2022/lib/security/services/models/security-controls-group-response.interface.mjs +18 -0
  340. package/esm2022/lib/security/services/models/security-controls-mark-response.interface.mjs +18 -0
  341. package/esm2022/lib/security/services/security-controls-groups-marks-security.service.mjs +274 -0
  342. package/esm2022/lib/security-options-loader/security-options-loader.service.mjs +43 -0
  343. package/esm2022/lib/services/alfresco-api.interface.mjs +18 -0
  344. package/esm2022/lib/services/alfresco-api.service.mjs +120 -0
  345. package/esm2022/lib/services/index.mjs +18 -0
  346. package/esm2022/lib/services/public-api.mjs +18 -0
  347. package/esm2022/lib/tag/index.mjs +18 -0
  348. package/esm2022/lib/tag/public-api.mjs +24 -0
  349. package/esm2022/lib/tag/services/tag.service.mjs +171 -0
  350. package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +114 -0
  351. package/esm2022/lib/tag/tag-list/tag-list.component.mjs +98 -0
  352. package/esm2022/lib/tag/tag-node-list/tag-node-list.component.mjs +80 -0
  353. package/esm2022/lib/tag/tag.module.mjs +37 -0
  354. package/esm2022/lib/tag/tags-creator/tags-creator-mode.mjs +27 -0
  355. package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +370 -0
  356. package/esm2022/lib/testing/content.testing.module.mjs +56 -0
  357. package/esm2022/lib/tree/components/tree.component.mjs +312 -0
  358. package/esm2022/lib/tree/index.mjs +18 -0
  359. package/esm2022/lib/tree/models/tree-context-menu-result.interface.mjs +18 -0
  360. package/esm2022/lib/tree/models/tree-node.interface.mjs +22 -0
  361. package/esm2022/lib/tree/models/tree-response.interface.mjs +18 -0
  362. package/esm2022/lib/tree/public-api.mjs +23 -0
  363. package/esm2022/lib/tree/services/tree.service.mjs +134 -0
  364. package/esm2022/lib/tree/tree.module.mjs +33 -0
  365. package/esm2022/lib/tree-view/components/tree-view.component.mjs +75 -0
  366. package/esm2022/lib/tree-view/data/tree-view-datasource.mjs +99 -0
  367. package/esm2022/lib/tree-view/index.mjs +18 -0
  368. package/esm2022/lib/tree-view/models/tree-view.model.mjs +28 -0
  369. package/esm2022/lib/tree-view/public-api.mjs +22 -0
  370. package/esm2022/lib/tree-view/services/tree-view.service.mjs +38 -0
  371. package/esm2022/lib/tree-view/tree-view.module.mjs +33 -0
  372. package/esm2022/lib/upload/components/base-upload/upload-base.mjs +176 -0
  373. package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +190 -0
  374. package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +92 -0
  375. package/esm2022/lib/upload/components/file-uploading-list.component.mjs +124 -0
  376. package/esm2022/lib/upload/components/upload-button.component.mjs +133 -0
  377. package/esm2022/lib/upload/components/upload-drag-area.component.mjs +112 -0
  378. package/esm2022/lib/upload/components/upload-files.event.mjs +41 -0
  379. package/esm2022/lib/upload/components/upload-version-button.component.mjs +54 -0
  380. package/esm2022/lib/upload/directives/file-draggable.directive.mjs +154 -0
  381. package/esm2022/lib/upload/directives/toggle-icon.directive.mjs +75 -0
  382. package/esm2022/lib/upload/index.mjs +18 -0
  383. package/esm2022/lib/upload/pipes/file-upload-error.pipe.mjs +39 -0
  384. package/esm2022/lib/upload/public-api.mjs +29 -0
  385. package/esm2022/lib/upload/upload.module.mjs +72 -0
  386. package/esm2022/lib/version-compatibility/index.mjs +18 -0
  387. package/esm2022/lib/version-compatibility/public-api.mjs +20 -0
  388. package/esm2022/lib/version-compatibility/version-compatibility-factory.mjs +26 -0
  389. package/esm2022/lib/version-compatibility/version-compatibility.directive.mjs +53 -0
  390. package/esm2022/lib/version-compatibility/version-compatibility.module.mjs +33 -0
  391. package/esm2022/lib/version-compatibility/version-compatibility.service.mjs +76 -0
  392. package/esm2022/lib/version-manager/content-version.service.mjs +53 -0
  393. package/esm2022/lib/version-manager/index.mjs +18 -0
  394. package/esm2022/lib/version-manager/public-api.mjs +23 -0
  395. package/esm2022/lib/version-manager/version-comparison.component.mjs +42 -0
  396. package/esm2022/lib/version-manager/version-list.component.mjs +215 -0
  397. package/esm2022/lib/version-manager/version-manager.component.mjs +145 -0
  398. package/esm2022/lib/version-manager/version-manager.module.mjs +48 -0
  399. package/esm2022/lib/version-manager/version-upload.component.mjs +154 -0
  400. package/esm2022/lib/viewer/alfresco-viewer.module.mjs +33 -0
  401. package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +408 -0
  402. package/esm2022/lib/viewer/index.mjs +18 -0
  403. package/esm2022/lib/viewer/public-api.mjs +19 -0
  404. package/esm2022/public-api.mjs +56 -0
  405. package/fesm2022/adf-content-services.mjs +790 -831
  406. package/fesm2022/adf-content-services.mjs.map +1 -1
  407. package/lib/aspect-list/aspect-list.component.d.ts +0 -4
  408. package/lib/aspect-list/public-api.d.ts +0 -1
  409. package/lib/aspect-list/services/aspect-list.service.d.ts +4 -6
  410. package/lib/category/categories-management/categories-management.component.d.ts +0 -4
  411. package/lib/new-version-uploader/new-version-uploader.dialog.scss +1 -1
  412. package/lib/upload/components/base-upload/upload-base.d.ts +1 -1
  413. package/package.json +5 -3
  414. package/lib/aspect-list/interfaces/custom-aspect-paging.interface.d.ts +0 -21
@@ -0,0 +1,274 @@
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 { Injectable } from '@angular/core';
18
+ import { BehaviorSubject, from, Subject } from 'rxjs';
19
+ import { SecurityGroupsApi, SecurityMarksApi, AuthorityClearanceApi } from '@alfresco/js-api';
20
+ import { UserPreferencesService } from '@alfresco/adf-core';
21
+ import { finalize } from 'rxjs/operators';
22
+ import { AlfrescoApiService } from '../../services/alfresco-api.service';
23
+ import * as i0 from "@angular/core";
24
+ import * as i1 from "../../services/alfresco-api.service";
25
+ import * as i2 from "@alfresco/adf-core";
26
+ const DEFAULT_SKIP_COUNT = 0;
27
+ const DEFAULT_INCLUDE = 'inUse';
28
+ export class SecurityControlsService {
29
+ constructor(apiService, userPreferencesService) {
30
+ this.apiService = apiService;
31
+ this.userPreferencesService = userPreferencesService;
32
+ this.groupsPaginatedSource = new Subject();
33
+ this.groupsPaginated$ = this.groupsPaginatedSource.asObservable();
34
+ this.reloadSecurityControls = new Subject();
35
+ this.reloadSecurityControls$ = this.reloadSecurityControls.asObservable();
36
+ this._reloadAuthorityClearance = new Subject();
37
+ this.reloadAuthorityClearance$ = this._reloadAuthorityClearance.asObservable();
38
+ this.marksPaginatedSource = new Subject();
39
+ this.marksPaginated$ = this.marksPaginatedSource.asObservable();
40
+ this.loadingSource = new BehaviorSubject(true);
41
+ this.loading$ = this.loadingSource.asObservable();
42
+ }
43
+ get groupsApi() {
44
+ return this.securityGroup || (this.securityGroup = new SecurityGroupsApi(this.apiService.getInstance()));
45
+ }
46
+ get marksApi() {
47
+ return this.securityMark || (this.securityMark = new SecurityMarksApi(this.apiService.getInstance()));
48
+ }
49
+ get authorityClearanceApi() {
50
+ return this.authorityClearance || (this.authorityClearance = new AuthorityClearanceApi(this.apiService.getInstance()));
51
+ }
52
+ get reloadAuthorityClearance() {
53
+ return this._reloadAuthorityClearance;
54
+ }
55
+ /**
56
+ * Get All security groups
57
+ *
58
+ * @param skipCount The number of entities that exist in the collection before those included in this list.
59
+ * @param maxItems The maximum number of items to return in the list. Default is specified by UserPreferencesService.
60
+ * @param include Additional information about the security group
61
+ * @returns Promise<SecurityControlsGroupResponse>
62
+ */
63
+ getSecurityGroup(skipCount = DEFAULT_SKIP_COUNT, maxItems = this.userPreferencesService.paginationSize, include = DEFAULT_INCLUDE) {
64
+ let securityControlsGroupResponse;
65
+ return new Promise((resolve, reject) => {
66
+ this.groupsApi
67
+ .getSecurityGroups({
68
+ include,
69
+ skipCount,
70
+ maxItems
71
+ })
72
+ .then((response) => {
73
+ this.groupsPaginatedSource.next((securityControlsGroupResponse = {
74
+ pagination: response.list.pagination,
75
+ entries: response.list.entries.map((group) => group.entry)
76
+ }));
77
+ resolve(securityControlsGroupResponse);
78
+ })
79
+ .catch((error) => reject(error));
80
+ });
81
+ }
82
+ /**
83
+ * Create security group
84
+ *
85
+ * @param input securityGroupBody.
86
+ * @returns Observable<SecurityGroupEntry>
87
+ */
88
+ createSecurityGroup(input) {
89
+ this.loadingSource.next(true);
90
+ const payload = {
91
+ ...input
92
+ };
93
+ const opts = {
94
+ include: DEFAULT_INCLUDE
95
+ };
96
+ const promise = this.groupsApi.createSecurityGroup(payload, opts);
97
+ return from(promise).pipe(finalize(() => this.loadingSource.next(false)));
98
+ }
99
+ /**
100
+ * Create security marks
101
+ *
102
+ * @param securityGroupId The key for the security group id.
103
+ * @param input securityMarkBody[].
104
+ * @returns Promise<SecurityMarkPaging | SecurityMarkEntry>
105
+ */
106
+ createSecurityMarks(securityGroupId, input) {
107
+ this.loadingSource.next(true);
108
+ const promise = this.marksApi
109
+ .createSecurityMarks(securityGroupId, input)
110
+ .then((result) => {
111
+ this.loadingSource.next(false);
112
+ return result;
113
+ })
114
+ .catch((error) => {
115
+ this.loadingSource.next(false);
116
+ return error;
117
+ });
118
+ return promise;
119
+ }
120
+ /**
121
+ * Get security mark value
122
+ * Gets the value for a selected **securityGroupId**.
123
+ *
124
+ * @param securityGroupId The key for the security group id.
125
+ * @param skipCount The number of entities that exist in the collection before those included in this list.
126
+ * @returns Promise<SecurityControlsMarkResponse>
127
+ */
128
+ getSecurityMark(securityGroupId, skipCount = DEFAULT_SKIP_COUNT) {
129
+ let securityControlsMarkResponse;
130
+ return new Promise((resolve, reject) => {
131
+ this.marksApi
132
+ .getSecurityMarks(securityGroupId, {
133
+ skipCount
134
+ })
135
+ .then((response) => {
136
+ this.marksPaginatedSource.next((securityControlsMarkResponse = {
137
+ pagination: response.list.pagination,
138
+ entries: response.list.entries.map((mark) => mark.entry)
139
+ }));
140
+ resolve(securityControlsMarkResponse);
141
+ })
142
+ .catch((error) => reject(error));
143
+ });
144
+ }
145
+ /**
146
+ * Update a security groups information
147
+ *
148
+ * @param securityGroupId The Key of Security Group id for which info is required
149
+ * @param input SecurityGroupBody
150
+ * @param opts additional information about the security group
151
+ * @returns Promise<SecurityGroupEntry>
152
+ */
153
+ updateSecurityGroup(securityGroupId, input, opts) {
154
+ this.loadingSource.next(true);
155
+ const payload = {
156
+ ...input
157
+ };
158
+ if (!opts) {
159
+ opts = {
160
+ DEFAULT_INCLUDE
161
+ };
162
+ }
163
+ const promise = this.groupsApi
164
+ .updateSecurityGroup(securityGroupId, payload, opts)
165
+ .then((result) => {
166
+ this.loadingSource.next(false);
167
+ return result;
168
+ })
169
+ .catch((error) => {
170
+ this.loadingSource.next(false);
171
+ return error;
172
+ });
173
+ return promise;
174
+ }
175
+ /**
176
+ * Updates Security Mark value
177
+ *
178
+ * @param securityGroupId The key for the security group id.
179
+ * @param securityMarkId The key for the security mark is in use or not.
180
+ * @param input securityMarkBody.
181
+ * @returns Promise<SecurityMarkEntry>
182
+ */
183
+ updateSecurityMark(securityGroupId, securityMarkId, input) {
184
+ this.loadingSource.next(true);
185
+ const payload = {
186
+ ...input
187
+ };
188
+ const promise = this.marksApi
189
+ .updateSecurityMark(securityGroupId, securityMarkId, payload)
190
+ .then((result) => {
191
+ this.loadingSource.next(false);
192
+ return result;
193
+ })
194
+ .catch((error) => {
195
+ this.loadingSource.next(false);
196
+ return error;
197
+ });
198
+ return promise;
199
+ }
200
+ /**
201
+ * Delete security group
202
+ *
203
+ * @param securityGroupId The key for the security group id.
204
+ * @returns Observable<void>
205
+ */
206
+ deleteSecurityGroup(securityGroupId) {
207
+ this.loadingSource.next(true);
208
+ const promise = this.groupsApi.deleteSecurityGroup(securityGroupId);
209
+ return from(promise).pipe(finalize(() => this.loadingSource.next(false)));
210
+ }
211
+ /**
212
+ * Delete security mark
213
+ *
214
+ * @param securityGroupId The key for the security group id.
215
+ * @param securityMarkId The key for the security mark id.
216
+ * @returns Promise<SecurityMarkEntry>
217
+ */
218
+ deleteSecurityMark(securityGroupId, securityMarkId) {
219
+ this.loadingSource.next(true);
220
+ const promise = this.marksApi
221
+ .deleteSecurityMark(securityGroupId, securityMarkId)
222
+ .then((result) => {
223
+ this.loadingSource.next(false);
224
+ return result;
225
+ })
226
+ .catch((error) => {
227
+ this.loadingSource.next(false);
228
+ return error;
229
+ });
230
+ return promise;
231
+ }
232
+ /**
233
+ * Get the authority clearances for a single user/group
234
+ *
235
+ * @param authorityName The name for the authority for which the clearance is to be fetched. Can be left blank in which case it will fetch it for all users with pagination
236
+ * @param skipCount The number of entities that exist in the collection before those included in this list.
237
+ * @param maxItems The maximum number of items to return in the list. Default is specified by UserPreferencesService.
238
+ * @returns Observable<AuthorityClearanceGroupPaging>
239
+ */
240
+ getClearancesForAuthority(authorityName, skipCount = DEFAULT_SKIP_COUNT, maxItems = this.userPreferencesService.paginationSize) {
241
+ this.loadingSource.next(true);
242
+ const opts = {
243
+ skipCount,
244
+ maxItems
245
+ };
246
+ const promise = this.authorityClearanceApi.getAuthorityClearanceForAuthority(authorityName, opts);
247
+ return from(promise).pipe(finalize(() => this.loadingSource.next(false)));
248
+ }
249
+ /**
250
+ * Updates the authority clearance.
251
+ *
252
+ * @param authorityName The name for the authority for which the clearance is to be updated
253
+ * @param securityMarksList NodeSecurityMarkBody[]
254
+ * @returns Observable<SecurityMarkEntry | SecurityMarkPaging>
255
+ */
256
+ updateClearancesForAuthority(authorityName, securityMarksList) {
257
+ this.loadingSource.next(true);
258
+ const promise = this.authorityClearanceApi.updateAuthorityClearance(authorityName, securityMarksList);
259
+ return from(promise).pipe(finalize(() => {
260
+ this.loadingSource.next(false);
261
+ this._reloadAuthorityClearance.next();
262
+ }));
263
+ }
264
+ reloadSecurityGroups() {
265
+ this.reloadSecurityControls.next();
266
+ }
267
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SecurityControlsService, deps: [{ token: i1.AlfrescoApiService }, { token: i2.UserPreferencesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
268
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SecurityControlsService, providedIn: 'root' }); }
269
+ }
270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SecurityControlsService, decorators: [{
271
+ type: Injectable,
272
+ args: [{ providedIn: 'root' }]
273
+ }], ctorParameters: () => [{ type: i1.AlfrescoApiService }, { type: i2.UserPreferencesService }] });
274
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktY29udHJvbHMtZ3JvdXBzLW1hcmtzLXNlY3VyaXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlY3VyaXR5L3NlcnZpY2VzL3NlY3VyaXR5LWNvbnRyb2xzLWdyb3Vwcy1tYXJrcy1zZWN1cml0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xFLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBTWhCLHFCQUFxQixFQUl4QixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7OztBQUV6RSxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztBQUM3QixNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUM7QUFHaEMsTUFBTSxPQUFPLHVCQUF1QjtJQW1CaEMsWUFBb0IsVUFBOEIsRUFBVSxzQkFBOEM7UUFBdEYsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUFBVSwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBbEJsRywwQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBaUMsQ0FBQztRQUM3RSxxQkFBZ0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFckQsMkJBQXNCLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDcEUsNEJBQXVC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QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFFdEcsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNyQixRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QyxDQUFDOytHQTNSUSx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQURWLE1BQU07OzRGQUNuQix1QkFBdUI7a0JBRG5DLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb20sIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlY3VyaXR5Q29udHJvbHNHcm91cFJlc3BvbnNlIH0gZnJvbSAnLi9tb2RlbHMvc2VjdXJpdHktY29udHJvbHMtZ3JvdXAtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlY3VyaXR5Q29udHJvbHNNYXJrUmVzcG9uc2UgfSBmcm9tICcuL21vZGVscy9zZWN1cml0eS1jb250cm9scy1tYXJrLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICAgIFNlY3VyaXR5R3JvdXBzQXBpLFxuICAgIFNlY3VyaXR5TWFya3NBcGksXG4gICAgU2VjdXJpdHlHcm91cEVudHJ5LFxuICAgIFNlY3VyaXR5TWFya0VudHJ5LFxuICAgIFNlY3VyaXR5R3JvdXBCb2R5LFxuICAgIFNlY3VyaXR5TWFya1BhZ2luZyxcbiAgICBTZWN1cml0eU1hcmtCb2R5LFxuICAgIEF1dGhvcml0eUNsZWFyYW5jZUFwaSxcbiAgICBBdXRob3JpdHlDbGVhcmFuY2VHcm91cFBhZ2luZyxcbiAgICBOb2RlU2VjdXJpdHlNYXJrQm9keSxcbiAgICBHc0dyb3VwSW5jbHVkZVxufSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBbGZyZXNjb0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbGZyZXNjby1hcGkuc2VydmljZSc7XG5cbmNvbnN0IERFRkFVTFRfU0tJUF9DT1VOVCA9IDA7XG5jb25zdCBERUZBVUxUX0lOQ0xVREUgPSAnaW5Vc2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNlY3VyaXR5Q29udHJvbHNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGdyb3Vwc1BhZ2luYXRlZFNvdXJjZSA9IG5ldyBTdWJqZWN0PFNlY3VyaXR5Q29udHJvbHNHcm91cFJlc3BvbnNlPigpO1xuICAgIGdyb3Vwc1BhZ2luYXRlZCQgPSB0aGlzLmdyb3Vwc1BhZ2luYXRlZFNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgcmVsb2FkU2VjdXJpdHlDb250cm9sczogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcmVsb2FkU2VjdXJpdHlDb250cm9scyQgPSB0aGlzLnJlbG9hZFNlY3VyaXR5Q29udHJvbHMuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwcml2YXRlIF9yZWxvYWRBdXRob3JpdHlDbGVhcmFuY2U6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHJlbG9hZEF1dGhvcml0eUNsZWFyYW5jZSQgPSB0aGlzLl9yZWxvYWRBdXRob3JpdHlDbGVhcmFuY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwcml2YXRlIG1hcmtzUGFnaW5hdGVkU291cmNlID0gbmV3IFN1YmplY3Q8U2VjdXJpdHlDb250cm9sc01hcmtSZXNwb25zZT4oKTtcbiAgICBtYXJrc1BhZ2luYXRlZCQgPSB0aGlzLm1hcmtzUGFnaW5hdGVkU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBsb2FkaW5nU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgICBsb2FkaW5nJCA9IHRoaXMubG9hZGluZ1NvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgc2VjdXJpdHlHcm91cDogU2VjdXJpdHlHcm91cHNBcGk7XG4gICAgcHJpdmF0ZSBzZWN1cml0eU1hcms6IFNlY3VyaXR5TWFya3NBcGk7XG4gICAgcHJpdmF0ZSBhdXRob3JpdHlDbGVhcmFuY2U6IEF1dGhvcml0eUNsZWFyYW5jZUFwaTtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaVNlcnZpY2U6IEFsZnJlc2NvQXBpU2VydmljZSwgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZXNTZXJ2aWNlOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlKSB7fVxuXG4gICAgZ2V0IGdyb3Vwc0FwaSgpOiBTZWN1cml0eUdyb3Vwc0FwaSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlY3VyaXR5R3JvdXAgfHwgKHRoaXMuc2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3Vwc0FwaSh0aGlzLmFwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSkpO1xuICAgIH1cblxuICAgIGdldCBtYXJrc0FwaSgpOiBTZWN1cml0eU1hcmtzQXBpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VjdXJpdHlNYXJrIHx8ICh0aGlzLnNlY3VyaXR5TWFyayA9IG5ldyBTZWN1cml0eU1hcmtzQXBpKHRoaXMuYXBpU2VydmljZS5nZXRJbnN0YW5jZSgpKSk7XG4gICAgfVxuXG4gICAgZ2V0IGF1dGhvcml0eUNsZWFyYW5jZUFwaSgpOiBBdXRob3JpdHlDbGVhcmFuY2VBcGkge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRob3JpdHlDbGVhcmFuY2UgfHwgKHRoaXMuYXV0aG9yaXR5Q2xlYXJhbmNlID0gbmV3IEF1dGhvcml0eUNsZWFyYW5jZUFwaSh0aGlzLmFwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSkpO1xuICAgIH1cblxuICAgIGdldCByZWxvYWRBdXRob3JpdHlDbGVhcmFuY2UoKTogU3ViamVjdDx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWxvYWRBdXRob3JpdHlDbGVhcmFuY2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IEFsbCBzZWN1cml0eSBncm91cHNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBza2lwQ291bnQgVGhlIG51bWJlciBvZiBlbnRpdGllcyB0aGF0IGV4aXN0IGluIHRoZSBjb2xsZWN0aW9uIGJlZm9yZSB0aG9zZSBpbmNsdWRlZCBpbiB0aGlzIGxpc3QuXG4gICAgICogQHBhcmFtIG1heEl0ZW1zIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byByZXR1cm4gaW4gdGhlIGxpc3QuIERlZmF1bHQgaXMgc3BlY2lmaWVkIGJ5IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UuXG4gICAgICogQHBhcmFtIGluY2x1ZGUgQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2VjdXJpdHkgZ3JvdXBcbiAgICAgKiBAcmV0dXJucyBQcm9taXNlPFNlY3VyaXR5Q29udHJvbHNHcm91cFJlc3BvbnNlPlxuICAgICAqL1xuICAgIGdldFNlY3VyaXR5R3JvdXAoXG4gICAgICAgIHNraXBDb3VudCA9IERFRkFVTFRfU0tJUF9DT1VOVCxcbiAgICAgICAgbWF4SXRlbXMgPSB0aGlzLnVzZXJQcmVmZXJlbmNlc1NlcnZpY2UucGFnaW5hdGlvblNpemUsXG4gICAgICAgIGluY2x1ZGUgPSBERUZBVUxUX0lOQ0xVREVcbiAgICApOiBQcm9taXNlPFNlY3VyaXR5Q29udHJvbHNHcm91cFJlc3BvbnNlPiB7XG4gICAgICAgIGxldCBzZWN1cml0eUNvbnRyb2xzR3JvdXBSZXNwb25zZTogU2VjdXJpdHlDb250cm9sc0dyb3VwUmVzcG9uc2U7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdyb3Vwc0FwaVxuICAgICAgICAgICAgICAgIC5nZXRTZWN1cml0eUdyb3Vwcyh7XG4gICAgICAgICAgICAgICAgICAgIGluY2x1ZGUsXG4gICAgICAgICAgICAgICAgICAgIHNraXBDb3VudCxcbiAgICAgICAgICAgICAgICAgICAgbWF4SXRlbXNcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3Vwc1BhZ2luYXRlZFNvdXJjZS5uZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgKHNlY3VyaXR5Q29udHJvbHNHcm91cFJlc3BvbnNlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2luYXRpb246IHJlc3BvbnNlLmxpc3QucGFnaW5hdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyaWVzOiByZXNwb25zZS5saXN0LmVudHJpZXMubWFwKChncm91cCkgPT4gZ3JvdXAuZW50cnkpXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHNlY3VyaXR5Q29udHJvbHNHcm91cFJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHJlamVjdChlcnJvcikpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgc2VjdXJpdHkgZ3JvdXBcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpbnB1dCBzZWN1cml0eUdyb3VwQm9keS5cbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPFNlY3VyaXR5R3JvdXBFbnRyeT5cbiAgICAgKi9cbiAgICBjcmVhdGVTZWN1cml0eUdyb3VwKGlucHV0OiBTZWN1cml0eUdyb3VwQm9keSk6IE9ic2VydmFibGU8U2VjdXJpdHlHcm91cEVudHJ5PiB7XG4gICAgICAgIHRoaXMubG9hZGluZ1NvdXJjZS5uZXh0KHRydWUpO1xuICAgICAgICBjb25zdCBwYXlsb2FkOiBTZWN1cml0eUdyb3VwQm9keSA9IHtcbiAgICAgICAgICAgIC4uLmlucHV0XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG9wdHM6IEdzR3JvdXBJbmNsdWRlID0ge1xuICAgICAgICAgICAgaW5jbHVkZTogREVGQVVMVF9JTkNMVURFXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLmdyb3Vwc0FwaS5jcmVhdGVTZWN1cml0eUdyb3VwKHBheWxvYWQsIG9wdHMpO1xuXG4gICAgICAgIHJldHVybiBmcm9tKHByb21pc2UpLnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy5sb2FkaW5nU291cmNlLm5leHQoZmFsc2UpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIHNlY3VyaXR5IG1hcmtzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2VjdXJpdHlHcm91cElkIFRoZSBrZXkgZm9yIHRoZSBzZWN1cml0eSBncm91cCBpZC5cbiAgICAgKiBAcGFyYW0gaW5wdXQgc2VjdXJpdHlNYXJrQm9keVtdLlxuICAgICAqIEByZXR1cm5zIFByb21pc2U8U2VjdXJpdHlNYXJrUGFnaW5nIHwgU2VjdXJpdHlNYXJrRW50cnk+XG4gICAgICovXG4gICAgY3JlYXRlU2VjdXJpdHlNYXJrcyhzZWN1cml0eUdyb3VwSWQ6IHN0cmluZywgaW5wdXQ6IFNlY3VyaXR5TWFya0JvZHlbXSk6IFByb21pc2U8U2VjdXJpdHlNYXJrUGFnaW5nIHwgU2VjdXJpdHlNYXJrRW50cnk+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nU291cmNlLm5leHQodHJ1ZSk7XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLm1hcmtzQXBpXG4gICAgICAgICAgICAuY3JlYXRlU2VjdXJpdHlNYXJrcyhzZWN1cml0eUdyb3VwSWQsIGlucHV0KVxuICAgICAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1NvdXJjZS5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdTb3VyY2UubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHByb21pc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHNlY3VyaXR5IG1hcmsgdmFsdWVcbiAgICAgKiBHZXRzIHRoZSB2YWx1ZSBmb3IgYSBzZWxlY3RlZCAqKnNlY3VyaXR5R3JvdXBJZCoqLlxuICAgICAqXG4gICAgICogQHBhcmFtIHNlY3VyaXR5R3JvdXBJZCBUaGUga2V5IGZvciB0aGUgc2VjdXJpdHkgZ3JvdXAgaWQuXG4gICAgICogQHBhcmFtIHNraXBDb3VudCBUaGUgbnVtYmVyIG9mIGVudGl0aWVzIHRoYXQgZXhpc3QgaW4gdGhlIGNvbGxlY3Rpb24gYmVmb3JlIHRob3NlIGluY2x1ZGVkIGluIHRoaXMgbGlzdC5cbiAgICAgKiBAcmV0dXJucyBQcm9taXNlPFNlY3VyaXR5Q29udHJvbHNNYXJrUmVzcG9uc2U+XG4gICAgICovXG4gICAgZ2V0U2VjdXJpdHlNYXJrKHNlY3VyaXR5R3JvdXBJZDogc3RyaW5nLCBza2lwQ291bnQgPSBERUZBVUxUX1NLSVBfQ09VTlQpOiBQcm9taXNlPFNlY3VyaXR5Q29udHJvbHNNYXJrUmVzcG9uc2U+IHtcbiAgICAgICAgbGV0IHNlY3VyaXR5Q29udHJvbHNNYXJrUmVzcG9uc2U6IFNlY3VyaXR5Q29udHJvbHNNYXJrUmVzcG9uc2U7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1hcmtzQXBpXG4gICAgICAgICAgICAgICAgLmdldFNlY3VyaXR5TWFya3Moc2VjdXJpdHlHcm91cElkLCB7XG4gICAgICAgICAgICAgICAgICAgIHNraXBDb3VudFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFya3NQYWdpbmF0ZWRTb3VyY2UubmV4dChcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZWN1cml0eUNvbnRyb2xzTWFya1Jlc3BvbnNlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2luYXRpb246IHJlc3BvbnNlLmxpc3QucGFnaW5hdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyaWVzOiByZXNwb25zZS5saXN0LmVudHJpZXMubWFwKChtYXJrKSA9PiBtYXJrLmVudHJ5KVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShzZWN1cml0eUNvbnRyb2xzTWFya1Jlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHJlamVjdChlcnJvcikpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgYSBzZWN1cml0eSBncm91cHMgaW5mb3JtYXRpb25cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZWN1cml0eUdyb3VwSWQgVGhlIEtleSBvZiBTZWN1cml0eSBHcm91cCBpZCBmb3Igd2hpY2ggaW5mbyBpcyByZXF1aXJlZFxuICAgICAqIEBwYXJhbSBpbnB1dCBTZWN1cml0eUdyb3VwQm9keVxuICAgICAqIEBwYXJhbSBvcHRzIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlY3VyaXR5IGdyb3VwXG4gICAgICogQHJldHVybnMgUHJvbWlzZTxTZWN1cml0eUdyb3VwRW50cnk+XG4gICAgICovXG4gICAgdXBkYXRlU2VjdXJpdHlHcm91cChzZWN1cml0eUdyb3VwSWQ6IHN0cmluZywgaW5wdXQ6IFNlY3VyaXR5R3JvdXBCb2R5LCBvcHRzPzogYW55KTogUHJvbWlzZTxTZWN1cml0eUdyb3VwRW50cnk+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nU291cmNlLm5leHQodHJ1ZSk7XG4gICAgICAgIGNvbnN0IHBheWxvYWQ6IFNlY3VyaXR5R3JvdXBCb2R5ID0ge1xuICAgICAgICAgICAgLi4uaW5wdXRcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKCFvcHRzKSB7XG4gICAgICAgICAgICBvcHRzID0ge1xuICAgICAgICAgICAgICAgIERFRkFVTFRfSU5DTFVERVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5ncm91cHNBcGlcbiAgICAgICAgICAgIC51cGRhdGVTZWN1cml0eUdyb3VwKHNlY3VyaXR5R3JvdXBJZCwgcGF5bG9hZCwgb3B0cylcbiAgICAgICAgICAgIC50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdTb3VyY2UubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nU291cmNlLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcjtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBwcm9taXNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgU2VjdXJpdHkgTWFyayB2YWx1ZVxuICAgICAqXG4gICAgICogQHBhcmFtIHNlY3VyaXR5R3JvdXBJZCBUaGUga2V5IGZvciB0aGUgc2VjdXJpdHkgZ3JvdXAgaWQuXG4gICAgICogQHBhcmFtIHNlY3VyaXR5TWFya0lkIFRoZSBrZXkgZm9yIHRoZSBzZWN1cml0eSBtYXJrIGlzIGluIHVzZSBvciBub3QuXG4gICAgICogQHBhcmFtIGlucHV0IHNlY3VyaXR5TWFya0JvZHkuXG4gICAgICogQHJldHVybnMgUHJvbWlzZTxTZWN1cml0eU1hcmtFbnRyeT5cbiAgICAgKi9cbiAgICB1cGRhdGVTZWN1cml0eU1hcmsoc2VjdXJpdHlHcm91cElkOiBzdHJpbmcsIHNlY3VyaXR5TWFya0lkOiBzdHJpbmcsIGlucHV0OiBTZWN1cml0eU1hcmtCb2R5KTogUHJvbWlzZTxTZWN1cml0eU1hcmtFbnRyeT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmdTb3VyY2UubmV4dCh0cnVlKTtcbiAgICAgICAgY29uc3QgcGF5bG9hZDogU2VjdXJpdHlNYXJrQm9keSA9IHtcbiAgICAgICAgICAgIC4uLmlucHV0XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLm1hcmtzQXBpXG4gICAgICAgICAgICAudXBkYXRlU2VjdXJpdHlNYXJrKHNlY3VyaXR5R3JvdXBJZCwgc2VjdXJpdHlNYXJrSWQsIHBheWxvYWQpXG4gICAgICAgICAgICAudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nU291cmNlLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1NvdXJjZS5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcHJvbWlzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGUgc2VjdXJpdHkgZ3JvdXBcbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZWN1cml0eUdyb3VwSWQgVGhlIGtleSBmb3IgdGhlIHNlY3VyaXR5IGdyb3VwIGlkLlxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8dm9pZD5cbiAgICAgKi9cbiAgICBkZWxldGVTZWN1cml0eUdyb3VwKHNlY3VyaXR5R3JvdXBJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHRoaXMubG9hZGluZ1NvdXJjZS5uZXh0KHRydWUpO1xuICAgICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5ncm91cHNBcGkuZGVsZXRlU2VjdXJpdHlHcm91cChzZWN1cml0eUdyb3VwSWQpO1xuXG4gICAgICAgIHJldHVybiBmcm9tKHByb21pc2UpLnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy5sb2FkaW5nU291cmNlLm5leHQoZmFsc2UpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlIHNlY3VyaXR5IG1hcmtcbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZWN1cml0eUdyb3VwSWQgVGhlIGtleSBmb3IgdGhlIHNlY3VyaXR5IGdyb3VwIGlkLlxuICAgICAqIEBwYXJhbSBzZWN1cml0eU1hcmtJZCBUaGUga2V5IGZvciB0aGUgc2VjdXJpdHkgbWFyayBpZC5cbiAgICAgKiBAcmV0dXJucyBQcm9taXNlPFNlY3VyaXR5TWFya0VudHJ5PlxuICAgICAqL1xuICAgIGRlbGV0ZVNlY3VyaXR5TWFyayhzZWN1cml0eUdyb3VwSWQ6IHN0cmluZywgc2VjdXJpdHlNYXJrSWQ6IHN0cmluZyk6IFByb21pc2U8U2VjdXJpdHlNYXJrRW50cnk+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nU291cmNlLm5leHQodHJ1ZSk7XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLm1hcmtzQXBpXG4gICAgICAgICAgICAuZGVsZXRlU2VjdXJpdHlNYXJrKHNlY3VyaXR5R3JvdXBJZCwgc2VjdXJpdHlNYXJrSWQpXG4gICAgICAgICAgICAudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nU291cmNlLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1NvdXJjZS5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcHJvbWlzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIGF1dGhvcml0eSBjbGVhcmFuY2VzIGZvciBhIHNpbmdsZSB1c2VyL2dyb3VwXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXV0aG9yaXR5TmFtZSBUaGUgbmFtZSBmb3IgdGhlIGF1dGhvcml0eSBmb3Igd2hpY2ggdGhlIGNsZWFyYW5jZSBpcyB0byBiZSBmZXRjaGVkLiBDYW4gYmUgbGVmdCBibGFuayBpbiB3aGljaCBjYXNlIGl0IHdpbGwgZmV0Y2ggaXQgZm9yIGFsbCB1c2VycyB3aXRoIHBhZ2luYXRpb25cbiAgICAgKiBAcGFyYW0gc2tpcENvdW50IFRoZSBudW1iZXIgb2YgZW50aXRpZXMgdGhhdCBleGlzdCBpbiB0aGUgY29sbGVjdGlvbiBiZWZvcmUgdGhvc2UgaW5jbHVkZWQgaW4gdGhpcyBsaXN0LlxuICAgICAqIEBwYXJhbSBtYXhJdGVtcyBUaGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gcmV0dXJuIGluIHRoZSBsaXN0LiBEZWZhdWx0IGlzIHNwZWNpZmllZCBieSBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlLlxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8QXV0aG9yaXR5Q2xlYXJhbmNlR3JvdXBQYWdpbmc+XG4gICAgICovXG4gICAgZ2V0Q2xlYXJhbmNlc0ZvckF1dGhvcml0eShcbiAgICAgICAgYXV0aG9yaXR5TmFtZTogc3RyaW5nLFxuICAgICAgICBza2lwQ291bnQgPSBERUZBVUxUX1NLSVBfQ09VTlQsXG4gICAgICAgIG1heEl0ZW1zID0gdGhpcy51c2VyUHJlZmVyZW5jZXNTZXJ2aWNlLnBhZ2luYXRpb25TaXplXG4gICAgKTogT2JzZXJ2YWJsZTxBdXRob3JpdHlDbGVhcmFuY2VHcm91cFBhZ2luZz4ge1xuICAgICAgICB0aGlzLmxvYWRpbmdTb3VyY2UubmV4dCh0cnVlKTtcbiAgICAgICAgY29uc3Qgb3B0cyA9IHtcbiAgICAgICAgICAgIHNraXBDb3VudCxcbiAgICAgICAgICAgIG1heEl0ZW1zXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLmF1dGhvcml0eUNsZWFyYW5jZUFwaS5nZXRBdXRob3JpdHlDbGVhcmFuY2VGb3JBdXRob3JpdHkoYXV0aG9yaXR5TmFtZSwgb3B0cyk7XG5cbiAgICAgICAgcmV0dXJuIGZyb20ocHJvbWlzZSkucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmdTb3VyY2UubmV4dChmYWxzZSkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBhdXRob3JpdHkgY2xlYXJhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIGF1dGhvcml0eU5hbWUgVGhlIG5hbWUgZm9yIHRoZSBhdXRob3JpdHkgZm9yIHdoaWNoIHRoZSBjbGVhcmFuY2UgaXMgdG8gYmUgdXBkYXRlZFxuICAgICAqIEBwYXJhbSBzZWN1cml0eU1hcmtzTGlzdCBOb2RlU2VjdXJpdHlNYXJrQm9keVtdXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxTZWN1cml0eU1hcmtFbnRyeSB8IFNlY3VyaXR5TWFya1BhZ2luZz5cbiAgICAgKi9cbiAgICB1cGRhdGVDbGVhcmFuY2VzRm9yQXV0aG9yaXR5KFxuICAgICAgICBhdXRob3JpdHlOYW1lOiBzdHJpbmcsXG4gICAgICAgIHNlY3VyaXR5TWFya3NMaXN0OiBOb2RlU2VjdXJpdHlNYXJrQm9keVtdXG4gICAgKTogT2JzZXJ2YWJsZTxTZWN1cml0eU1hcmtFbnRyeSB8IFNlY3VyaXR5TWFya1BhZ2luZz4ge1xuICAgICAgICB0aGlzLmxvYWRpbmdTb3VyY2UubmV4dCh0cnVlKTtcbiAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuYXV0aG9yaXR5Q2xlYXJhbmNlQXBpLnVwZGF0ZUF1dGhvcml0eUNsZWFyYW5jZShhdXRob3JpdHlOYW1lLCBzZWN1cml0eU1hcmtzTGlzdCk7XG5cbiAgICAgICAgcmV0dXJuIGZyb20ocHJvbWlzZSkucGlwZShcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdTb3VyY2UubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVsb2FkQXV0aG9yaXR5Q2xlYXJhbmNlLm5leHQoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmVsb2FkU2VjdXJpdHlHcm91cHMoKSB7XG4gICAgICAgIHRoaXMucmVsb2FkU2VjdXJpdHlDb250cm9scy5uZXh0KCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,43 @@
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 { AppConfigService, AppConfigValues } from '@alfresco/adf-core';
18
+ import { AdfHttpClient } from '@alfresco/adf-core/api';
19
+ import { Injectable } from '@angular/core';
20
+ import * as i0 from "@angular/core";
21
+ import * as i1 from "@alfresco/adf-core";
22
+ import * as i2 from "@alfresco/adf-core/api";
23
+ export class SecurityOptionsLoaderService {
24
+ constructor(appConfigService, adfHttpClient) {
25
+ this.appConfigService = appConfigService;
26
+ this.adfHttpClient = adfHttpClient;
27
+ this.load = () => {
28
+ const withCredentials = this.appConfigService.get(AppConfigValues.AUTH_WITH_CREDENTIALS);
29
+ if (withCredentials !== undefined && withCredentials !== null) {
30
+ this.adfHttpClient.setDefaultSecurityOption({ withCredentials });
31
+ }
32
+ };
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SecurityOptionsLoaderService, deps: [{ token: i1.AppConfigService }, { token: i2.AdfHttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
35
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SecurityOptionsLoaderService, providedIn: 'root' }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SecurityOptionsLoaderService, decorators: [{
38
+ type: Injectable,
39
+ args: [{
40
+ providedIn: 'root'
41
+ }]
42
+ }], ctorParameters: () => [{ type: i1.AppConfigService }, { type: i2.AdfHttpClient }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktb3B0aW9ucy1sb2FkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvc2VjdXJpdHktb3B0aW9ucy1sb2FkZXIvc2VjdXJpdHktb3B0aW9ucy1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFLM0MsTUFBTSxPQUFPLDRCQUE0QjtJQUNyQyxZQUFvQixnQkFBa0MsRUFBVSxhQUE0QjtRQUF4RSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFFNUYsU0FBSSxHQUFHLEdBQUcsRUFBRTtZQUNSLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQVUsZUFBZSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDbEcsSUFBSSxlQUFlLEtBQUssU0FBUyxJQUFJLGVBQWUsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7WUFDckUsQ0FBQztRQUNMLENBQUMsQ0FBQztJQVA2RixDQUFDOytHQUR2Riw0QkFBNEI7bUhBQTVCLDRCQUE0QixjQUZ6QixNQUFNOzs0RkFFVCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlLCBBcHBDb25maWdWYWx1ZXMgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQWRmSHR0cENsaWVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZS9hcGknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNlY3VyaXR5T3B0aW9uc0xvYWRlclNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwQ29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZSwgcHJpdmF0ZSBhZGZIdHRwQ2xpZW50OiBBZGZIdHRwQ2xpZW50KSB7fVxuXG4gICAgbG9hZCA9ICgpID0+IHtcbiAgICAgICAgY29uc3Qgd2l0aENyZWRlbnRpYWxzID0gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldDxib29sZWFuPihBcHBDb25maWdWYWx1ZXMuQVVUSF9XSVRIX0NSRURFTlRJQUxTKTtcbiAgICAgICAgaWYgKHdpdGhDcmVkZW50aWFscyAhPT0gdW5kZWZpbmVkICYmIHdpdGhDcmVkZW50aWFscyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5hZGZIdHRwQ2xpZW50LnNldERlZmF1bHRTZWN1cml0eU9wdGlvbih7IHdpdGhDcmVkZW50aWFscyB9KTtcbiAgICAgICAgfVxuICAgIH07XG59XG4iXX0=
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export {};
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxmcmVzY28tYXBpLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvc2VydmljZXMvYWxmcmVzY28tYXBpLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUciLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEFsZnJlc2NvQXBpQ29uZmlnLCBBbGZyZXNjb0FwaSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFsZnJlc2NvQXBpSW50ZXJmYWNlIHtcbiAgICBsb2FkKCk6IFByb21pc2U8dm9pZD4gO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsZnJlc2NvQXBpRmFjdG9yeSB7XG4gICAgY3JlYXRlQWxmcmVzY29BcGkoY29uZmlnOiBBbGZyZXNjb0FwaUNvbmZpZyk6IEFsZnJlc2NvQXBpO1xufVxuIl19
@@ -0,0 +1,120 @@
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 { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
18
+ import { AlfrescoApi, AlfrescoApiConfig } from '@alfresco/js-api';
19
+ import { ReplaySubject } from 'rxjs';
20
+ import { AppConfigService, AppConfigValues, StorageService } from '@alfresco/adf-core';
21
+ import * as i0 from "@angular/core";
22
+ import * as i1 from "@alfresco/adf-core";
23
+ export const ALFRESCO_API_FACTORY = new InjectionToken('ALFRESCO_API_FACTORY');
24
+ export class AlfrescoApiService {
25
+ getInstance() {
26
+ return this.alfrescoApi;
27
+ }
28
+ constructor(appConfig, storageService, alfrescoApiFactory) {
29
+ this.appConfig = appConfig;
30
+ this.storageService = storageService;
31
+ this.alfrescoApiFactory = alfrescoApiFactory;
32
+ this.alfrescoApiInitialized = new ReplaySubject(1);
33
+ this.excludedErrorUrl = ['api/enterprise/system/properties'];
34
+ }
35
+ async load(config) {
36
+ this.currentAppConfig = config;
37
+ if (config.authType === 'OAUTH') {
38
+ await this.mapAlfrescoApiOpenIdConfig();
39
+ }
40
+ this.initAlfrescoApi();
41
+ this.alfrescoApiInitialized.next(true);
42
+ }
43
+ async reset() {
44
+ this.getCurrentAppConfig();
45
+ if (this.currentAppConfig.authType === 'OAUTH') {
46
+ await this.mapAlfrescoApiOpenIdConfig();
47
+ }
48
+ this.initAlfrescoApiWithConfig();
49
+ }
50
+ getAuthWithFixedOriginLocation() {
51
+ const oauth = this.appConfig.oauth2;
52
+ if (oauth) {
53
+ oauth.redirectUri = window.location.origin + window.location.pathname;
54
+ oauth.redirectUriLogout = window.location.origin + window.location.pathname;
55
+ }
56
+ return oauth;
57
+ }
58
+ async mapAlfrescoApiOpenIdConfig() {
59
+ this.idpConfig = await this.appConfig.loadWellKnown(this.currentAppConfig.oauth2.host);
60
+ this.currentAppConfig.oauth2.tokenUrl = this.idpConfig.token_endpoint;
61
+ this.currentAppConfig.oauth2.authorizationUrl = this.idpConfig.authorization_endpoint;
62
+ this.currentAppConfig.oauth2.logoutUrl = this.idpConfig.end_session_endpoint;
63
+ this.currentAppConfig.oauth2.userinfoEndpoint = this.idpConfig.userinfo_endpoint;
64
+ }
65
+ getCurrentAppConfig() {
66
+ const oauth = this.getAuthWithFixedOriginLocation();
67
+ this.currentAppConfig = new AlfrescoApiConfig({
68
+ provider: this.appConfig.get(AppConfigValues.PROVIDERS),
69
+ hostEcm: this.appConfig.get(AppConfigValues.ECMHOST),
70
+ hostBpm: this.appConfig.get(AppConfigValues.BPMHOST),
71
+ authType: this.appConfig.get(AppConfigValues.AUTHTYPE, 'BASIC'),
72
+ contextRootBpm: this.appConfig.get(AppConfigValues.CONTEXTROOTBPM),
73
+ contextRoot: this.appConfig.get(AppConfigValues.CONTEXTROOTECM),
74
+ disableCsrf: this.appConfig.get(AppConfigValues.DISABLECSRF),
75
+ withCredentials: this.appConfig.get(AppConfigValues.AUTH_WITH_CREDENTIALS, false),
76
+ domainPrefix: this.appConfig.get(AppConfigValues.STORAGE_PREFIX),
77
+ oauth2: oauth
78
+ });
79
+ }
80
+ initAlfrescoApi() {
81
+ this.getCurrentAppConfig();
82
+ this.initAlfrescoApiWithConfig();
83
+ }
84
+ initAlfrescoApiWithConfig() {
85
+ if (this.alfrescoApi && this.isDifferentConfig(this.lastConfig, this.currentAppConfig)) {
86
+ this.alfrescoApi.setConfig(this.currentAppConfig);
87
+ }
88
+ else {
89
+ this.alfrescoApi = this.createInstance(this.currentAppConfig);
90
+ }
91
+ this.lastConfig = this.currentAppConfig;
92
+ }
93
+ createInstance(config) {
94
+ if (this.alfrescoApiFactory) {
95
+ return this.alfrescoApiFactory.createAlfrescoApi(config);
96
+ }
97
+ return new AlfrescoApi(config);
98
+ }
99
+ isDifferentConfig(lastConfig, newConfig) {
100
+ return JSON.stringify(lastConfig) !== JSON.stringify(newConfig);
101
+ }
102
+ isExcludedErrorListener(currentFullPath) {
103
+ const formattedPath = currentFullPath.replace(this.lastConfig.hostBpm + '/' + this.lastConfig.contextRootBpm, '');
104
+ return this.excludedErrorUrl.includes(formattedPath);
105
+ }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlfrescoApiService, deps: [{ token: i1.AppConfigService }, { token: i1.StorageService }, { token: ALFRESCO_API_FACTORY, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
107
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlfrescoApiService, providedIn: 'root' }); }
108
+ }
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlfrescoApiService, decorators: [{
110
+ type: Injectable,
111
+ args: [{
112
+ providedIn: 'root'
113
+ }]
114
+ }], ctorParameters: () => [{ type: i1.AppConfigService }, { type: i1.StorageService }, { type: undefined, decorators: [{
115
+ type: Optional
116
+ }, {
117
+ type: Inject,
118
+ args: [ALFRESCO_API_FACTORY]
119
+ }] }] });
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxmcmVzY28tYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlcnZpY2VzL2FsZnJlc2NvLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBeUMsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUU5SCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBSy9FLE1BQU0sT0FBTyxrQkFBa0I7SUFZM0IsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFDYyxTQUEyQixFQUMzQixjQUE4QixFQUdoQyxrQkFBdUM7UUFKckMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBR2hDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBcUI7UUFwQm5ELDJCQUFzQixHQUFHLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFDO1FBUy9DLHFCQUFnQixHQUFhLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQVl2RSxDQUFDO0lBRUosS0FBSyxDQUFDLElBQUksQ0FBQyxNQUF5QjtRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO1FBRS9CLElBQUksTUFBTSxDQUFDLFFBQVEs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SUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2xILE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RCxDQUFDOytHQTFHUSxrQkFBa0IsZ0ZBb0JmLG9CQUFvQjttSEFwQnZCLGtCQUFrQixjQUZmLE1BQU07OzRGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQW9CUSxRQUFROzswQkFDUixNQUFNOzJCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpLCBBbGZyZXNjb0FwaUNvbmZpZyB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWxmcmVzY29BcGlGYWN0b3J5IH0gZnJvbSAnLi9hbGZyZXNjby1hcGkuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UsIEFwcENvbmZpZ1ZhbHVlcywgT2F1dGhDb25maWdNb2RlbCwgT3BlbmlkQ29uZmlndXJhdGlvbiwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuXG5leHBvcnQgY29uc3QgQUxGUkVTQ09fQVBJX0ZBQ1RPUlkgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0FMRlJFU0NPX0FQSV9GQUNUT1JZJyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWxmcmVzY29BcGlTZXJ2aWNlIHtcbiAgICBhbGZyZXNjb0FwaUluaXRpYWxpemVkID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG5cbiAgICBwcm90ZWN0ZWQgYWxmcmVzY29BcGk6IEFsZnJlc2NvQXBpO1xuXG4gICAgbGFzdENvbmZpZzogQWxmcmVzY29BcGlDb25maWc7XG4gICAgY3VycmVudEFwcENvbmZpZzogQWxmcmVzY29BcGlDb25maWc7XG5cbiAgICBpZHBDb25maWc6IE9wZW5pZENvbmZpZ3VyYXRpb247XG5cbiAgICBwcml2YXRlIGV4Y2x1ZGVkRXJyb3JVcmw6IHN0cmluZ1tdID0gWydhcGkvZW50ZXJwcmlzZS9zeXN0ZW0vcHJvcGVydGllcyddO1xuXG4gICAgZ2V0SW5zdGFuY2UoKTogQWxmcmVzY29BcGkge1xuICAgICAgICByZXR1cm4gdGhpcy5hbGZyZXNjb0FwaTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGFwcENvbmZpZzogQXBwQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChBTEZSRVNDT19BUElfRkFDVE9SWSlcbiAgICAgICAgcHJpdmF0ZSBhbGZyZXNjb0FwaUZhY3Rvcnk/OiBBbGZyZXNjb0FwaUZhY3RvcnlcbiAgICApIHt9XG5cbiAgICBhc3luYyBsb2FkKGNvbmZpZzogQWxmcmVzY29BcGlDb25maWcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50QXBwQ29uZmlnID0gY29uZmlnO1xuXG4gICAgICAgIGlmIChjb25maWcuYXV0aFR5cGUgPT09ICdPQVVUSCcpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubWFwQWxmcmVzY29BcGlPcGVuSWRDb25maWcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5pdEFsZnJlc2NvQXBpKCk7XG4gICAgICAgIHRoaXMuYWxmcmVzY29BcGlJbml0aWFsaXplZC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIGFzeW5jIHJlc2V0KCkge1xuICAgICAgICB0aGlzLmdldEN1cnJlbnRBcHBDb25maWcoKTtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudEFwcENvbmZpZy5hdXRoVHlwZSA9PT0gJ09BVVRIJykge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5tYXBBbGZyZXNjb0FwaU9wZW5JZENvbmZpZygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW5pdEFsZnJlc2NvQXBpV2l0aENvbmZpZygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QXV0aFdpdGhGaXhlZE9yaWdpbkxvY2F0aW9uKCk6IE9hdXRoQ29uZmlnTW9kZWwge1xuICAgICAgICBjb25zdCBvYXV0aCA9IHRoaXMuYXBwQ29uZmlnLm9hdXRoMjtcblxuICAgICAgICBpZiAob2F1dGgpIHtcbiAgICAgICAgICAgIG9hdXRoLnJlZGlyZWN0VXJpID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcbiAgICAgICAgICAgIG9hdXRoLnJlZGlyZWN0VXJpTG9nb3V0ID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2F1dGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBtYXBBbGZyZXNjb0FwaU9wZW5JZENvbmZpZygpIHtcbiAgICAgICAgdGhpcy5pZHBDb25maWcgPSBhd2FpdCB0aGlzLmFwcENvbmZpZy5sb2FkV2VsbEtub3duKHRoaXMuY3VycmVudEFwcENvbmZpZy5vYXV0aDIuaG9zdCk7XG4gICAgICAgIHRoaXMuY3VycmVudEFwcENvbmZpZy5vYXV0aDIudG9rZW5VcmwgPSB0aGlzLmlkcENvbmZpZy50b2tlbl9lbmRwb2ludDtcbiAgICAgICAgdGhpcy5jdXJyZW50QXBwQ29uZmlnLm9hdXRoMi5hdXRob3JpemF0aW9uVXJsID0gdGhpcy5pZHBDb25maWcuYXV0aG9yaXphdGlvbl9lbmRwb2ludDtcbiAgICAgICAgdGhpcy5jdXJyZW50QXBwQ29uZmlnLm9hdXRoMi5sb2dvdXRVcmwgPSB0aGlzLmlkcENvbmZpZy5lbmRfc2Vzc2lvbl9lbmRwb2ludDtcbiAgICAgICAgdGhpcy5jdXJyZW50QXBwQ29uZmlnLm9hdXRoMi51c2VyaW5mb0VuZHBvaW50ID0gdGhpcy5pZHBDb25maWcudXNlcmluZm9fZW5kcG9pbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDdXJyZW50QXBwQ29uZmlnKCkge1xuICAgICAgICBjb25zdCBvYXV0aCA9IHRoaXMuZ2V0QXV0aFdpdGhGaXhlZE9yaWdpbkxvY2F0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50QXBwQ29uZmlnID0gbmV3IEFsZnJlc2NvQXBpQ29uZmlnKHtcbiAgICAgICAgICAgIHByb3ZpZGVyOiB0aGlzLmFwcENvbmZpZy5nZXQ8c3RyaW5nPihBcHBDb25maWdWYWx1ZXMuUFJPVklERVJTKSxcbiAgICAgICAgICAgIGhvc3RFY206IHRoaXMuYXBwQ29uZmlnLmdldDxzdHJpbmc+KEFwcENvbmZpZ1ZhbHVlcy5FQ01IT1NUKSxcbiAgICAgICAgICAgIGhvc3RCcG06IHRoaXMuYXBwQ29uZmlnLmdldDxzdHJpbmc+KEFwcENvbmZpZ1ZhbHVlcy5CUE1IT1NUKSxcbiAgICAgICAgICAgIGF1dGhUeXBlOiB0aGlzLmFwcENvbmZpZy5nZXQ8c3RyaW5nPihBcHBDb25maWdWYWx1ZXMuQVVUSFRZUEUsICdCQVNJQycpLFxuICAgICAgICAgICAgY29udGV4dFJvb3RCcG06IHRoaXMuYXBwQ29uZmlnLmdldDxzdHJpbmc+KEFwcENvbmZpZ1ZhbHVlcy5DT05URVhUUk9PVEJQTSksXG4gICAgICAgICAgICBjb250ZXh0Um9vdDogdGhpcy5hcHBDb25maWcuZ2V0PHN0cmluZz4oQXBwQ29uZmlnVmFsdWVzLkNPTlRFWFRST09URUNNKSxcbiAgICAgICAgICAgIGRpc2FibGVDc3JmOiB0aGlzLmFwcENvbmZpZy5nZXQ8Ym9vbGVhbj4oQXBwQ29uZmlnVmFsdWVzLkRJU0FCTEVDU1JGKSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5hcHBDb25maWcuZ2V0PGJvb2xlYW4+KEFwcENvbmZpZ1ZhbHVlcy5BVVRIX1dJVEhfQ1JFREVOVElBTFMsIGZhbHNlKSxcbiAgICAgICAgICAgIGRvbWFpblByZWZpeDogdGhpcy5hcHBDb25maWcuZ2V0PHN0cmluZz4oQXBwQ29uZmlnVmFsdWVzLlNUT1JBR0VfUFJFRklYKSxcbiAgICAgICAgICAgIG9hdXRoMjogb2F1dGhcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGluaXRBbGZyZXNjb0FwaSgpIHtcbiAgICAgICAgdGhpcy5nZXRDdXJyZW50QXBwQ29uZmlnKCk7XG4gICAgICAgIHRoaXMuaW5pdEFsZnJlc2NvQXBpV2l0aENvbmZpZygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEFsZnJlc2NvQXBpV2l0aENvbmZpZygpIHtcbiAgICAgICAgaWYgKHRoaXMuYWxmcmVzY29BcGkgJiYgdGhpcy5pc0RpZmZlcmVudENvbmZpZyh0aGlzLmxhc3RDb25maWcsIHRoaXMuY3VycmVudEFwcENvbmZpZykpIHtcbiAgICAgICAgICAgIHRoaXMuYWxmcmVzY29BcGkuc2V0Q29uZmlnKHRoaXMuY3VycmVudEFwcENvbmZpZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFsZnJlc2NvQXBpID0gdGhpcy5jcmVhdGVJbnN0YW5jZSh0aGlzLmN1cnJlbnRBcHBDb25maWcpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGFzdENvbmZpZyA9IHRoaXMuY3VycmVudEFwcENvbmZpZztcbiAgICB9XG5cbiAgICBjcmVhdGVJbnN0YW5jZShjb25maWc6IEFsZnJlc2NvQXBpQ29uZmlnKTogQWxmcmVzY29BcGkge1xuICAgICAgICBpZiAodGhpcy5hbGZyZXNjb0FwaUZhY3RvcnkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFsZnJlc2NvQXBpRmFjdG9yeS5jcmVhdGVBbGZyZXNjb0FwaShjb25maWcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgQWxmcmVzY29BcGkoY29uZmlnKTtcbiAgICB9XG5cbiAgICBpc0RpZmZlcmVudENvbmZpZyhsYXN0Q29uZmlnOiBBbGZyZXNjb0FwaUNvbmZpZywgbmV3Q29uZmlnOiBBbGZyZXNjb0FwaUNvbmZpZykge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobGFzdENvbmZpZykgIT09IEpTT04uc3RyaW5naWZ5KG5ld0NvbmZpZyk7XG4gICAgfVxuXG4gICAgaXNFeGNsdWRlZEVycm9yTGlzdGVuZXIoY3VycmVudEZ1bGxQYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkUGF0aCA9IGN1cnJlbnRGdWxsUGF0aC5yZXBsYWNlKHRoaXMubGFzdENvbmZpZy5ob3N0QnBtICsgJy8nICsgdGhpcy5sYXN0Q29uZmlnLmNvbnRleHRSb290QnBtLCAnJyk7XG4gICAgICAgIHJldHVybiB0aGlzLmV4Y2x1ZGVkRXJyb3JVcmwuaW5jbHVkZXMoZm9ybWF0dGVkUGF0aCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export * from './public-api';
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export * from './alfresco-api.service';
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvc2VydmljZXMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2FsZnJlc2NvLWFwaS5zZXJ2aWNlJztcbmV4cG9ydCB7IEFsZnJlc2NvQXBpRmFjdG9yeSB9IGZyb20gJy4vYWxmcmVzY28tYXBpLmludGVyZmFjZSc7XG4iXX0=
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export * from './public-api';
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3RhZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,24 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export * from './tag-actions/tag-actions.component';
18
+ export * from './tag-list/tag-list.component';
19
+ export * from './tag-node-list/tag-node-list.component';
20
+ export * from './services/tag.service';
21
+ export * from './tag.module';
22
+ export * from './tags-creator/tags-creator-mode';
23
+ export * from './tags-creator/tags-creator.component';
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvdGFnL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUNBQXlDLENBQUM7QUFFeEQsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLGNBQWMsQ0FBQztBQUU3QixjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vdGFnLWFjdGlvbnMvdGFnLWFjdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFnLWxpc3QvdGFnLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFnLW5vZGUtbGlzdC90YWctbm9kZS1saXN0LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvdGFnLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL3RhZy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3RhZ3MtY3JlYXRvci90YWdzLWNyZWF0b3ItbW9kZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhZ3MtY3JlYXRvci90YWdzLWNyZWF0b3IuY29tcG9uZW50JztcbiJdfQ==