@alfresco/adf-core 7.0.0-alpha.8-13161984194 → 7.0.0-alpha.8-13178609839

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 (953) hide show
  1. package/api/index.d.ts +1 -1
  2. package/api/lib/alfresco-api/alfresco-api.param-encoder.d.ts +1 -1
  3. package/api/lib/alfresco-api/alfresco-api.response-error.d.ts +1 -1
  4. package/api/lib/alfresco-api/alfresco-api.utils.d.ts +1 -1
  5. package/api/lib/interfaces.d.ts +1 -1
  6. package/api/lib/types.d.ts +1 -1
  7. package/auth/authentication-interceptor/authentication.interceptor.d.ts +1 -1
  8. package/auth/authentication.d.ts +1 -1
  9. package/auth/index.d.ts +1 -1
  10. package/breadcrumbs/components/breadcrumb/breadcrumb.component.d.ts +1 -1
  11. package/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.d.ts +1 -1
  12. package/breadcrumbs/directives/breadcrumb-focus.directive.d.ts +1 -1
  13. package/breadcrumbs/index.d.ts +1 -1
  14. package/esm2022/api/index.mjs +2 -2
  15. package/esm2022/api/lib/adf-http-client.service.mjs +2 -2
  16. package/esm2022/api/lib/alfresco-api/alfresco-api.param-encoder.mjs +2 -2
  17. package/esm2022/api/lib/alfresco-api/alfresco-api.response-error.mjs +2 -2
  18. package/esm2022/api/lib/alfresco-api/alfresco-api.utils.mjs +2 -2
  19. package/esm2022/api/lib/interfaces.mjs +2 -2
  20. package/esm2022/api/lib/types.mjs +2 -2
  21. package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +2 -2
  22. package/esm2022/auth/authentication.mjs +2 -2
  23. package/esm2022/auth/index.mjs +2 -2
  24. package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +2 -2
  25. package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +2 -2
  26. package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +2 -2
  27. package/esm2022/breadcrumbs/index.mjs +2 -2
  28. package/esm2022/feature-flags/index.mjs +2 -2
  29. package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +2 -2
  30. package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +2 -2
  31. package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +2 -2
  32. package/esm2022/feature-flags/lib/directives/features.directive.mjs +2 -2
  33. package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +2 -2
  34. package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +2 -2
  35. package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +2 -2
  36. package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +2 -2
  37. package/esm2022/feature-flags/lib/interfaces/features.interface.mjs +2 -2
  38. package/esm2022/feature-flags/lib/mocks/features-service-mock.factory.mjs +2 -2
  39. package/esm2022/feature-flags/lib/providers/debug-feature-flags.provider.mjs +2 -2
  40. package/esm2022/feature-flags/lib/providers/dummy-feature-flags.provider.mjs +2 -2
  41. package/esm2022/feature-flags/lib/services/debug-features.service.mjs +2 -2
  42. package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +2 -2
  43. package/esm2022/feature-flags/lib/services/flagset.parser.mjs +2 -2
  44. package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +2 -2
  45. package/esm2022/feature-flags/lib/services/storage-features.service.mjs +2 -2
  46. package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +2 -2
  47. package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +2 -2
  48. package/esm2022/lib/about/about-module-list/module-list.component.mjs +2 -2
  49. package/esm2022/lib/about/about-package/package-list.component.mjs +2 -2
  50. package/esm2022/lib/about/about-panel.directive.mjs +2 -2
  51. package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +2 -2
  52. package/esm2022/lib/about/about-repository-info/repository-info.interface.mjs +2 -2
  53. package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +2 -2
  54. package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +2 -2
  55. package/esm2022/lib/about/about.component.mjs +2 -2
  56. package/esm2022/lib/about/about.module.mjs +2 -2
  57. package/esm2022/lib/about/index.mjs +2 -2
  58. package/esm2022/lib/about/interfaces.mjs +2 -2
  59. package/esm2022/lib/about/public-api.mjs +2 -2
  60. package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +2 -2
  61. package/esm2022/lib/app-config/app-config.loader.mjs +2 -2
  62. package/esm2022/lib/app-config/app-config.module.mjs +2 -2
  63. package/esm2022/lib/app-config/app-config.pipe.mjs +2 -2
  64. package/esm2022/lib/app-config/app-config.service.mjs +2 -2
  65. package/esm2022/lib/app-config/debug-app-config.service.mjs +2 -2
  66. package/esm2022/lib/app-config/index.mjs +2 -2
  67. package/esm2022/lib/app-config/public-api.mjs +2 -2
  68. package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +2 -2
  69. package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +2 -2
  70. package/esm2022/lib/auth/basic-auth/content-auth.mjs +2 -2
  71. package/esm2022/lib/auth/basic-auth/process-auth.mjs +2 -2
  72. package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +2 -2
  73. package/esm2022/lib/auth/guard/auth-guard-ecm.service.mjs +2 -2
  74. package/esm2022/lib/auth/guard/auth-guard-sso-role.service.mjs +2 -2
  75. package/esm2022/lib/auth/guard/auth-guard.mjs +2 -2
  76. package/esm2022/lib/auth/guard/auth-guard.service.mjs +2 -2
  77. package/esm2022/lib/auth/index.mjs +2 -2
  78. package/esm2022/lib/auth/interfaces/authentication-service.interface.mjs +2 -2
  79. package/esm2022/lib/auth/interfaces/authentication.interface.mjs +2 -2
  80. package/esm2022/lib/auth/interfaces/identity-group.interface.mjs +2 -2
  81. package/esm2022/lib/auth/interfaces/identity-user.service.interface.mjs +2 -2
  82. package/esm2022/lib/auth/interfaces/openid-configuration.interface.mjs +2 -2
  83. package/esm2022/lib/auth/models/application-access.model.mjs +2 -2
  84. package/esm2022/lib/auth/models/identity-group.model.mjs +2 -2
  85. package/esm2022/lib/auth/models/identity-role.model.mjs +2 -2
  86. package/esm2022/lib/auth/models/identity-user.model.mjs +2 -2
  87. package/esm2022/lib/auth/models/oauth-config.model.mjs +2 -2
  88. package/esm2022/lib/auth/models/redirection.model.mjs +2 -2
  89. package/esm2022/lib/auth/models/user-access.model.mjs +2 -2
  90. package/esm2022/lib/auth/oidc/auth-config.mjs +2 -2
  91. package/esm2022/lib/auth/oidc/auth-config.service.mjs +2 -2
  92. package/esm2022/lib/auth/oidc/auth-routing.module.mjs +2 -2
  93. package/esm2022/lib/auth/oidc/auth.module.mjs +2 -2
  94. package/esm2022/lib/auth/oidc/auth.service.mjs +2 -2
  95. package/esm2022/lib/auth/oidc/oidc-auth.guard.mjs +2 -2
  96. package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +2 -2
  97. package/esm2022/lib/auth/oidc/public-api.mjs +2 -2
  98. package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +2 -2
  99. package/esm2022/lib/auth/oidc/retry-login.service.mjs +2 -2
  100. package/esm2022/lib/auth/oidc/token.interceptor.mjs +2 -2
  101. package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +2 -2
  102. package/esm2022/lib/auth/public-api.mjs +2 -2
  103. package/esm2022/lib/auth/services/authentication.service.mjs +2 -2
  104. package/esm2022/lib/auth/services/base-authentication.service.mjs +2 -2
  105. package/esm2022/lib/auth/services/identity-group.service.mjs +2 -2
  106. package/esm2022/lib/auth/services/identity-role.service.mjs +2 -2
  107. package/esm2022/lib/auth/services/identity-user.service.mjs +2 -2
  108. package/esm2022/lib/auth/services/jwt-helper.service.mjs +2 -2
  109. package/esm2022/lib/auth/services/oauth2.service.mjs +2 -2
  110. package/esm2022/lib/auth/services/time-sync.service.mjs +2 -2
  111. package/esm2022/lib/auth/services/user-access.service.mjs +2 -2
  112. package/esm2022/lib/avatar/avatar.component.mjs +2 -2
  113. package/esm2022/lib/blank-page/blank-page.component.mjs +2 -2
  114. package/esm2022/lib/blank-page/blank-page.module.mjs +2 -2
  115. package/esm2022/lib/blank-page/index.mjs +2 -2
  116. package/esm2022/lib/blank-page/public-api.mjs +2 -2
  117. package/esm2022/lib/button/button.component.mjs +2 -2
  118. package/esm2022/lib/card-view/card-view.module.mjs +2 -2
  119. package/esm2022/lib/card-view/components/base-card-view.mjs +2 -2
  120. package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +2 -2
  121. package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +2 -2
  122. package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +2 -2
  123. package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +2 -2
  124. package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +2 -2
  125. package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +2 -2
  126. package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +2 -2
  127. package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +2 -2
  128. package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +2 -2
  129. package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +2 -2
  130. package/esm2022/lib/card-view/components/card-view.components.mjs +2 -2
  131. package/esm2022/lib/card-view/index.mjs +2 -2
  132. package/esm2022/lib/card-view/interfaces/base-card-view-update.interface.mjs +2 -2
  133. package/esm2022/lib/card-view/interfaces/card-view-arrayitem-properties.interface.mjs +2 -2
  134. package/esm2022/lib/card-view/interfaces/card-view-boolitem-properties.interface.mjs +2 -2
  135. package/esm2022/lib/card-view/interfaces/card-view-dateitem-properties.interface.mjs +2 -2
  136. package/esm2022/lib/card-view/interfaces/card-view-item-properties.interface.mjs +2 -2
  137. package/esm2022/lib/card-view/interfaces/card-view-item-validator.interface.mjs +2 -2
  138. package/esm2022/lib/card-view/interfaces/card-view-item.interface.mjs +2 -2
  139. package/esm2022/lib/card-view/interfaces/card-view-keyvaluepairsitem-properties.interface.mjs +2 -2
  140. package/esm2022/lib/card-view/interfaces/card-view-selectitem-properties.interface.mjs +2 -2
  141. package/esm2022/lib/card-view/interfaces/card-view-textitem-pipe-property.interface.mjs +2 -2
  142. package/esm2022/lib/card-view/interfaces/card-view-textitem-properties.interface.mjs +2 -2
  143. package/esm2022/lib/card-view/interfaces/card-view.interfaces.mjs +2 -2
  144. package/esm2022/lib/card-view/interfaces/click-notification.interface.mjs +2 -2
  145. package/esm2022/lib/card-view/interfaces/update-notification.interface.mjs +2 -2
  146. package/esm2022/lib/card-view/models/card-view-arrayitem.model.mjs +2 -2
  147. package/esm2022/lib/card-view/models/card-view-baseitem.model.mjs +2 -2
  148. package/esm2022/lib/card-view/models/card-view-boolitem.model.mjs +2 -2
  149. package/esm2022/lib/card-view/models/card-view-dateitem.model.mjs +2 -2
  150. package/esm2022/lib/card-view/models/card-view-datetimeitem.model.mjs +2 -2
  151. package/esm2022/lib/card-view/models/card-view-floatitem.model.mjs +2 -2
  152. package/esm2022/lib/card-view/models/card-view-intitem.model.mjs +2 -2
  153. package/esm2022/lib/card-view/models/card-view-keyvaluepairs.model.mjs +2 -2
  154. package/esm2022/lib/card-view/models/card-view-longitem.model.mjs +2 -2
  155. package/esm2022/lib/card-view/models/card-view-mapitem.model.mjs +2 -2
  156. package/esm2022/lib/card-view/models/card-view-selectitem.model.mjs +2 -2
  157. package/esm2022/lib/card-view/models/card-view-textitem.model.mjs +2 -2
  158. package/esm2022/lib/card-view/models/card-view.models.mjs +2 -2
  159. package/esm2022/lib/card-view/public-api.mjs +2 -2
  160. package/esm2022/lib/card-view/services/card-item-types.service.mjs +2 -2
  161. package/esm2022/lib/card-view/services/card-view-update.service.mjs +2 -2
  162. package/esm2022/lib/card-view/services/card-view.services.mjs +2 -2
  163. package/esm2022/lib/card-view/validators/card-view-item-float.validator.mjs +2 -2
  164. package/esm2022/lib/card-view/validators/card-view-item-int.validator.mjs +2 -2
  165. package/esm2022/lib/card-view/validators/card-view-item-length.validator.mjs +2 -2
  166. package/esm2022/lib/card-view/validators/card-view-item-long.validator.mjs +2 -2
  167. package/esm2022/lib/card-view/validators/card-view-item-match.validator.mjs +2 -2
  168. package/esm2022/lib/card-view/validators/card-view-item-minmax.validator.mjs +2 -2
  169. package/esm2022/lib/card-view/validators/card-view-item-only-positive-int.validator.mjs +2 -2
  170. package/esm2022/lib/card-view/validators/card-view-item-only-positive-long.validator.mjs +2 -2
  171. package/esm2022/lib/card-view/validators/card-view.validators.mjs +2 -2
  172. package/esm2022/lib/card-view/validators/validators.map.mjs +2 -2
  173. package/esm2022/lib/clipboard/clipboard.directive.mjs +2 -2
  174. package/esm2022/lib/clipboard/clipboard.module.mjs +2 -2
  175. package/esm2022/lib/clipboard/clipboard.service.mjs +2 -2
  176. package/esm2022/lib/clipboard/index.mjs +2 -2
  177. package/esm2022/lib/clipboard/public-api.mjs +2 -2
  178. package/esm2022/lib/comments/comment-list/comment-list.component.mjs +2 -2
  179. package/esm2022/lib/comments/comment-list/comment-list.module.mjs +2 -2
  180. package/esm2022/lib/comments/comment-list/index.mjs +2 -2
  181. package/esm2022/lib/comments/comment-list/public-api.mjs +2 -2
  182. package/esm2022/lib/comments/comments.component.mjs +1 -1
  183. package/esm2022/lib/comments/comments.module.mjs +2 -2
  184. package/esm2022/lib/comments/index.mjs +2 -2
  185. package/esm2022/lib/comments/interfaces/comments-service.interface.mjs +2 -2
  186. package/esm2022/lib/comments/interfaces/comments.token.mjs +2 -2
  187. package/esm2022/lib/comments/public-api.mjs +2 -2
  188. package/esm2022/lib/common/index.mjs +2 -2
  189. package/esm2022/lib/common/interface/search-component.interface.mjs +2 -2
  190. package/esm2022/lib/common/mock/app-config.service.mock.mjs +2 -2
  191. package/esm2022/lib/common/models/default-languages.model.mjs +2 -2
  192. package/esm2022/lib/common/models/log-levels.model.mjs +2 -2
  193. package/esm2022/lib/common/models/user-info-mode.enum.mjs +2 -2
  194. package/esm2022/lib/common/services/cookie.service.mjs +2 -2
  195. package/esm2022/lib/common/services/download.service.mjs +2 -2
  196. package/esm2022/lib/common/services/dynamic-component-mapper.service.mjs +2 -2
  197. package/esm2022/lib/common/services/highlight-transform.service.mjs +2 -2
  198. package/esm2022/lib/common/services/language-item.interface.mjs +2 -2
  199. package/esm2022/lib/common/services/log.service.mjs +2 -2
  200. package/esm2022/lib/common/services/page-title.service.mjs +2 -2
  201. package/esm2022/lib/common/services/sort-by-category.service.mjs +2 -2
  202. package/esm2022/lib/common/services/storage.service.mjs +2 -2
  203. package/esm2022/lib/common/services/thumbnail.service.mjs +2 -2
  204. package/esm2022/lib/common/services/url.service.mjs +2 -2
  205. package/esm2022/lib/common/services/user-preferences.service.mjs +2 -2
  206. package/esm2022/lib/common/utils/date-fns-adapter.mjs +2 -2
  207. package/esm2022/lib/common/utils/date-fns-utils.mjs +2 -2
  208. package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +2 -2
  209. package/esm2022/lib/common/utils/file-utils.mjs +2 -2
  210. package/esm2022/lib/common/utils/index.mjs +2 -2
  211. package/esm2022/lib/common/utils/moment-date-adapter.mjs +2 -2
  212. package/esm2022/lib/common/utils/moment-date-formats.model.mjs +2 -2
  213. package/esm2022/lib/common/utils/object-utils.mjs +2 -2
  214. package/esm2022/lib/common/utils/public-api.mjs +2 -2
  215. package/esm2022/lib/common/utils/string-utils.mjs +2 -2
  216. package/esm2022/lib/context-menu/animations.mjs +2 -2
  217. package/esm2022/lib/context-menu/context-menu-list.component.mjs +2 -2
  218. package/esm2022/lib/context-menu/context-menu-overlay.mjs +2 -2
  219. package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +2 -2
  220. package/esm2022/lib/context-menu/context-menu.directive.mjs +2 -2
  221. package/esm2022/lib/context-menu/context-menu.module.mjs +2 -2
  222. package/esm2022/lib/context-menu/context-menu.tokens.mjs +2 -2
  223. package/esm2022/lib/context-menu/index.mjs +2 -2
  224. package/esm2022/lib/context-menu/interfaces.mjs +2 -2
  225. package/esm2022/lib/context-menu/public-api.mjs +2 -2
  226. package/esm2022/lib/core.module.mjs +2 -2
  227. package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +2 -2
  228. package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +2 -2
  229. package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +2 -2
  230. package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +2 -2
  231. package/esm2022/lib/datatable/components/data-cell.event.mjs +2 -2
  232. package/esm2022/lib/datatable/components/data-row-action.event.mjs +2 -2
  233. package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +2 -2
  234. package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +2 -2
  235. package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +2 -2
  236. package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +2 -2
  237. package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +2 -2
  238. package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +2 -2
  239. package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +2 -2
  240. package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +2 -2
  241. package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +2 -2
  242. package/esm2022/lib/datatable/components/mocks/datatable.mock.mjs +2 -2
  243. package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +2 -2
  244. package/esm2022/lib/datatable/data/data-column.model.mjs +2 -2
  245. package/esm2022/lib/datatable/data/data-row-event.model.mjs +2 -2
  246. package/esm2022/lib/datatable/data/data-row-update.model.mjs +2 -2
  247. package/esm2022/lib/datatable/data/data-row.model.mjs +2 -2
  248. package/esm2022/lib/datatable/data/data-sorting.model.mjs +2 -2
  249. package/esm2022/lib/datatable/data/data-table.schema.mjs +2 -2
  250. package/esm2022/lib/datatable/data/datatable-adapter.mjs +2 -2
  251. package/esm2022/lib/datatable/data/object-datacolumn.model.mjs +2 -2
  252. package/esm2022/lib/datatable/data/object-datarow.model.mjs +2 -2
  253. package/esm2022/lib/datatable/data/object-datatable-adapter.mjs +2 -2
  254. package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +2 -2
  255. package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +2 -2
  256. package/esm2022/lib/datatable/data-column/data-column.component.mjs +2 -2
  257. package/esm2022/lib/datatable/data-column/index.mjs +2 -2
  258. package/esm2022/lib/datatable/data-column/public-api.mjs +2 -2
  259. package/esm2022/lib/datatable/datatable.module.mjs +2 -2
  260. package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +2 -2
  261. package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +2 -2
  262. package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +2 -2
  263. package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +2 -2
  264. package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +2 -2
  265. package/esm2022/lib/datatable/directives/loading-template.directive.mjs +2 -2
  266. package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +2 -2
  267. package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +2 -2
  268. package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +2 -2
  269. package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +2 -2
  270. package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +2 -2
  271. package/esm2022/lib/datatable/directives/resizable/types.mjs +2 -2
  272. package/esm2022/lib/datatable/index.mjs +2 -2
  273. package/esm2022/lib/datatable/public-api.mjs +2 -2
  274. package/esm2022/lib/datatable/services/datatable.service.mjs +2 -2
  275. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +2 -2
  276. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +2 -2
  277. package/esm2022/lib/dialogs/dialog/dialog-data.interface.mjs +2 -2
  278. package/esm2022/lib/dialogs/dialog/dialog.component.mjs +2 -2
  279. package/esm2022/lib/dialogs/dialog/dialog.model.mjs +2 -2
  280. package/esm2022/lib/dialogs/dialog/index.mjs +2 -2
  281. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +2 -2
  282. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +2 -2
  283. package/esm2022/lib/dialogs/index.mjs +2 -2
  284. package/esm2022/lib/dialogs/public-api.mjs +2 -2
  285. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +2 -2
  286. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.model.mjs +2 -2
  287. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +2 -2
  288. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +2 -2
  289. package/esm2022/lib/directives/directive.module.mjs +2 -2
  290. package/esm2022/lib/directives/highlight.directive.mjs +2 -2
  291. package/esm2022/lib/directives/index.mjs +2 -2
  292. package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +2 -2
  293. package/esm2022/lib/directives/logout.directive.mjs +2 -2
  294. package/esm2022/lib/directives/public-api.mjs +2 -2
  295. package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +2 -2
  296. package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +2 -2
  297. package/esm2022/lib/directives/upload.directive.mjs +2 -2
  298. package/esm2022/lib/dynamic-chip-list/chip.mjs +2 -2
  299. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +2 -2
  300. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +2 -2
  301. package/esm2022/lib/dynamic-chip-list/index.mjs +2 -2
  302. package/esm2022/lib/dynamic-chip-list/public-api.mjs +2 -2
  303. package/esm2022/lib/events/base-ui.event.mjs +2 -2
  304. package/esm2022/lib/events/base.event.mjs +2 -2
  305. package/esm2022/lib/events/index.mjs +2 -2
  306. package/esm2022/lib/events/public-api.mjs +2 -2
  307. package/esm2022/lib/form/components/form-base.component.mjs +2 -2
  308. package/esm2022/lib/form/components/form-custom-button.directive.mjs +2 -2
  309. package/esm2022/lib/form/components/form-field/form-field.component.mjs +2 -2
  310. package/esm2022/lib/form/components/form-renderer.component.mjs +2 -2
  311. package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +2 -2
  312. package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +2 -2
  313. package/esm2022/lib/form/components/middlewares/middleware.mjs +2 -2
  314. package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +2 -2
  315. package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +2 -2
  316. package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +2 -2
  317. package/esm2022/lib/form/components/widgets/core/container-column.model.mjs +2 -2
  318. package/esm2022/lib/form/components/widgets/core/container.model.mjs +2 -2
  319. package/esm2022/lib/form/components/widgets/core/content-link.model.mjs +2 -2
  320. package/esm2022/lib/form/components/widgets/core/displayable-cm-properties.model.mjs +2 -2
  321. package/esm2022/lib/form/components/widgets/core/error-message.model.mjs +2 -2
  322. package/esm2022/lib/form/components/widgets/core/external-content-link.mjs +2 -2
  323. package/esm2022/lib/form/components/widgets/core/external-content.mjs +2 -2
  324. package/esm2022/lib/form/components/widgets/core/form-field-file-source.mjs +2 -2
  325. package/esm2022/lib/form/components/widgets/core/form-field-metadata.mjs +2 -2
  326. package/esm2022/lib/form/components/widgets/core/form-field-option.mjs +2 -2
  327. package/esm2022/lib/form/components/widgets/core/form-field-rule.mjs +2 -2
  328. package/esm2022/lib/form/components/widgets/core/form-field-selected-folder.mjs +2 -2
  329. package/esm2022/lib/form/components/widgets/core/form-field-templates.mjs +2 -2
  330. package/esm2022/lib/form/components/widgets/core/form-field-types.mjs +2 -2
  331. package/esm2022/lib/form/components/widgets/core/form-field-utils.mjs +2 -2
  332. package/esm2022/lib/form/components/widgets/core/form-field-validator.mjs +2 -2
  333. package/esm2022/lib/form/components/widgets/core/form-field-variable-options.mjs +2 -2
  334. package/esm2022/lib/form/components/widgets/core/form-field.model.mjs +2 -2
  335. package/esm2022/lib/form/components/widgets/core/form-outcome-event.model.mjs +2 -2
  336. package/esm2022/lib/form/components/widgets/core/form-outcome.model.mjs +2 -2
  337. package/esm2022/lib/form/components/widgets/core/form-values.mjs +2 -2
  338. package/esm2022/lib/form/components/widgets/core/form-variable.model.mjs +2 -2
  339. package/esm2022/lib/form/components/widgets/core/form-widget.model.mjs +2 -2
  340. package/esm2022/lib/form/components/widgets/core/form.model.mjs +2 -2
  341. package/esm2022/lib/form/components/widgets/core/group.model.mjs +2 -2
  342. package/esm2022/lib/form/components/widgets/core/index.mjs +2 -2
  343. package/esm2022/lib/form/components/widgets/core/predefined-theme.mjs +2 -2
  344. package/esm2022/lib/form/components/widgets/core/process-form-model.interface.mjs +2 -2
  345. package/esm2022/lib/form/components/widgets/core/process-variable.model.mjs +2 -2
  346. package/esm2022/lib/form/components/widgets/core/tab.model.mjs +2 -2
  347. package/esm2022/lib/form/components/widgets/core/theme.model.mjs +2 -2
  348. package/esm2022/lib/form/components/widgets/core/upload-widget-content-link.model.mjs +2 -2
  349. package/esm2022/lib/form/components/widgets/core/widget-schema.model.mjs +2 -2
  350. package/esm2022/lib/form/components/widgets/date/date.widget.mjs +2 -2
  351. package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +2 -2
  352. package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +2 -2
  353. package/esm2022/lib/form/components/widgets/display-text/display-text.schema.mjs +2 -2
  354. package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +2 -2
  355. package/esm2022/lib/form/components/widgets/display-text/index.mjs +2 -2
  356. package/esm2022/lib/form/components/widgets/error/error.component.mjs +2 -2
  357. package/esm2022/lib/form/components/widgets/header/header.schema.mjs +2 -2
  358. package/esm2022/lib/form/components/widgets/header/header.widget.mjs +2 -2
  359. package/esm2022/lib/form/components/widgets/header/index.mjs +2 -2
  360. package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +2 -2
  361. package/esm2022/lib/form/components/widgets/index.mjs +2 -2
  362. package/esm2022/lib/form/components/widgets/json/json.widget.mjs +2 -2
  363. package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +2 -2
  364. package/esm2022/lib/form/components/widgets/number/number.widget.mjs +2 -2
  365. package/esm2022/lib/form/components/widgets/reactive-widget.interface.mjs +2 -2
  366. package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +2 -2
  367. package/esm2022/lib/form/components/widgets/text/text.widget.mjs +2 -2
  368. package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +2 -2
  369. package/esm2022/lib/form/components/widgets/widget.component.mjs +2 -2
  370. package/esm2022/lib/form/events/form-error.event.mjs +2 -2
  371. package/esm2022/lib/form/events/form-field.event.mjs +2 -2
  372. package/esm2022/lib/form/events/form-rules.event.mjs +2 -2
  373. package/esm2022/lib/form/events/form-spinner.event.mjs +2 -2
  374. package/esm2022/lib/form/events/form.event.mjs +2 -2
  375. package/esm2022/lib/form/events/index.mjs +2 -2
  376. package/esm2022/lib/form/events/validate-form-field.event.mjs +2 -2
  377. package/esm2022/lib/form/events/validate-form.event.mjs +2 -2
  378. package/esm2022/lib/form/form-base.module.mjs +2 -2
  379. package/esm2022/lib/form/index.mjs +2 -2
  380. package/esm2022/lib/form/models/form-rules.model.mjs +2 -2
  381. package/esm2022/lib/form/models/task-process-variable.model.mjs +2 -2
  382. package/esm2022/lib/form/models/widget-visibility.model.mjs +2 -2
  383. package/esm2022/lib/form/pipes/field-style.pipe.mjs +2 -2
  384. package/esm2022/lib/form/pipes/index.mjs +2 -2
  385. package/esm2022/lib/form/public-api.mjs +2 -2
  386. package/esm2022/lib/form/services/form-rendering.service.mjs +2 -2
  387. package/esm2022/lib/form/services/form-validation-service.interface.mjs +2 -2
  388. package/esm2022/lib/form/services/form.service.mjs +2 -2
  389. package/esm2022/lib/form/services/widget-visibility.service.mjs +2 -2
  390. package/esm2022/lib/header/header.component.mjs +2 -2
  391. package/esm2022/lib/header/index.mjs +2 -2
  392. package/esm2022/lib/header/navbar/navbar-item.component.mjs +2 -2
  393. package/esm2022/lib/header/navbar/navbar.component.mjs +2 -2
  394. package/esm2022/lib/header/public-api.mjs +2 -2
  395. package/esm2022/lib/icon/icon.component.mjs +2 -2
  396. package/esm2022/lib/icon/icon.module.mjs +2 -2
  397. package/esm2022/lib/icon/index.mjs +2 -2
  398. package/esm2022/lib/icon/public-api.mjs +2 -2
  399. package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +2 -2
  400. package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +2 -2
  401. package/esm2022/lib/identity-user-info/index.mjs +2 -2
  402. package/esm2022/lib/identity-user-info/public-api.mjs +2 -2
  403. package/esm2022/lib/info-drawer/index.mjs +2 -2
  404. package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +2 -2
  405. package/esm2022/lib/info-drawer/info-drawer.component.mjs +2 -2
  406. package/esm2022/lib/info-drawer/info-drawer.module.mjs +2 -2
  407. package/esm2022/lib/info-drawer/public-api.mjs +2 -2
  408. package/esm2022/lib/interface/index.mjs +2 -2
  409. package/esm2022/lib/interface/injection.tokens.mjs +2 -2
  410. package/esm2022/lib/interface/public-api.mjs +2 -2
  411. package/esm2022/lib/language-menu/index.mjs +2 -2
  412. package/esm2022/lib/language-menu/language-menu.component.mjs +2 -2
  413. package/esm2022/lib/language-menu/language-menu.module.mjs +2 -2
  414. package/esm2022/lib/language-menu/language-picker.component.mjs +2 -2
  415. package/esm2022/lib/language-menu/public-api.mjs +2 -2
  416. package/esm2022/lib/language-menu/service/language.service.interface.mjs +2 -2
  417. package/esm2022/lib/language-menu/service/language.service.mjs +1 -1
  418. package/esm2022/lib/layout/components/header/header.component.mjs +2 -2
  419. package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +2 -2
  420. package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +2 -2
  421. package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +2 -2
  422. package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +2 -2
  423. package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +2 -2
  424. package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +2 -2
  425. package/esm2022/lib/layout/index.mjs +2 -2
  426. package/esm2022/lib/layout/layout.module.mjs +2 -2
  427. package/esm2022/lib/layout/public-api.mjs +2 -2
  428. package/esm2022/lib/login/components/login/login.component.mjs +3 -3
  429. package/esm2022/lib/login/components/login-dialog/login-dialog-component-data.interface.mjs +2 -2
  430. package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +2 -2
  431. package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +2 -2
  432. package/esm2022/lib/login/directives/login-footer.directive.mjs +2 -2
  433. package/esm2022/lib/login/directives/login-header.directive.mjs +2 -2
  434. package/esm2022/lib/login/index.mjs +2 -2
  435. package/esm2022/lib/login/login.module.mjs +2 -2
  436. package/esm2022/lib/login/models/login-error.event.mjs +2 -2
  437. package/esm2022/lib/login/models/login-submit.event.mjs +2 -2
  438. package/esm2022/lib/login/models/login-success.event.mjs +2 -2
  439. package/esm2022/lib/login/public-api.mjs +2 -2
  440. package/esm2022/lib/material.module.mjs +2 -2
  441. package/esm2022/lib/mock/cookie.service.mock.mjs +2 -2
  442. package/esm2022/lib/mock/data-column.mock.mjs +2 -2
  443. package/esm2022/lib/mock/event.mock.mjs +2 -2
  444. package/esm2022/lib/mock/form/form-definition-readonly.mock.mjs +2 -2
  445. package/esm2022/lib/mock/form/form-definition-visibility.mock.mjs +2 -2
  446. package/esm2022/lib/mock/form/form-definition.mock.mjs +2 -2
  447. package/esm2022/lib/mock/form/form.component.mock.mjs +2 -2
  448. package/esm2022/lib/mock/form/form.service.mock.mjs +2 -2
  449. package/esm2022/lib/mock/form/widget-visibility.service.mock.mjs +2 -2
  450. package/esm2022/lib/mock/index.mjs +2 -2
  451. package/esm2022/lib/mock/public-api.mjs +2 -2
  452. package/esm2022/lib/mock/translation.service.mock.mjs +2 -2
  453. package/esm2022/lib/models/comment.model.mjs +2 -2
  454. package/esm2022/lib/models/component.model.mjs +2 -2
  455. package/esm2022/lib/models/decimal-number.model.mjs +2 -2
  456. package/esm2022/lib/models/general-user.model.mjs +2 -2
  457. package/esm2022/lib/models/index.mjs +2 -2
  458. package/esm2022/lib/models/pagination.model.mjs +2 -2
  459. package/esm2022/lib/models/path.model.mjs +2 -2
  460. package/esm2022/lib/models/product-version.model.mjs +2 -2
  461. package/esm2022/lib/models/public-api.mjs +2 -2
  462. package/esm2022/lib/models/request-pagination.model.mjs +2 -2
  463. package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +2 -2
  464. package/esm2022/lib/notifications/components/notification-history.component.mjs +2 -2
  465. package/esm2022/lib/notifications/helpers/notification.factory.mjs +2 -2
  466. package/esm2022/lib/notifications/index.mjs +2 -2
  467. package/esm2022/lib/notifications/models/notification.model.mjs +2 -2
  468. package/esm2022/lib/notifications/notification-history.module.mjs +2 -2
  469. package/esm2022/lib/notifications/public-api.mjs +2 -2
  470. package/esm2022/lib/notifications/services/notification.service.mjs +2 -2
  471. package/esm2022/lib/pagination/index.mjs +2 -2
  472. package/esm2022/lib/pagination/infinite-pagination.component.mjs +2 -2
  473. package/esm2022/lib/pagination/paginated-component.interface.mjs +2 -2
  474. package/esm2022/lib/pagination/pagination-component.interface.mjs +2 -2
  475. package/esm2022/lib/pagination/pagination.component.mjs +2 -2
  476. package/esm2022/lib/pagination/pagination.module.mjs +2 -2
  477. package/esm2022/lib/pagination/public-api.mjs +2 -2
  478. package/esm2022/lib/pipes/date-time.pipe.mjs +2 -2
  479. package/esm2022/lib/pipes/decimal-number.pipe.mjs +2 -2
  480. package/esm2022/lib/pipes/file-size.pipe.mjs +2 -2
  481. package/esm2022/lib/pipes/file-type.pipe.mjs +2 -2
  482. package/esm2022/lib/pipes/format-space.pipe.mjs +2 -2
  483. package/esm2022/lib/pipes/full-name.pipe.mjs +2 -2
  484. package/esm2022/lib/pipes/index.mjs +2 -2
  485. package/esm2022/lib/pipes/localized-date.pipe.mjs +2 -2
  486. package/esm2022/lib/pipes/multi-value.pipe.mjs +2 -2
  487. package/esm2022/lib/pipes/pipe.module.mjs +2 -2
  488. package/esm2022/lib/pipes/public-api.mjs +2 -2
  489. package/esm2022/lib/pipes/text-highlight.pipe.mjs +2 -2
  490. package/esm2022/lib/pipes/time-ago.pipe.mjs +2 -2
  491. package/esm2022/lib/pipes/truncate.pipe.mjs +2 -2
  492. package/esm2022/lib/pipes/user-initial.pipe.mjs +2 -2
  493. package/esm2022/lib/pipes/user-like.interface.mjs +2 -2
  494. package/esm2022/lib/progress/progress.component.mjs +2 -2
  495. package/esm2022/lib/search-text/animations.mjs +2 -2
  496. package/esm2022/lib/search-text/index.mjs +2 -2
  497. package/esm2022/lib/search-text/models/search-text-input.model.mjs +2 -2
  498. package/esm2022/lib/search-text/public-api.mjs +2 -2
  499. package/esm2022/lib/search-text/search-text-input.component.mjs +1 -1
  500. package/esm2022/lib/search-text/search-text-input.module.mjs +2 -2
  501. package/esm2022/lib/search-text/search-trigger.directive.mjs +2 -2
  502. package/esm2022/lib/snackbar-content/index.mjs +2 -2
  503. package/esm2022/lib/snackbar-content/public-api.mjs +2 -2
  504. package/esm2022/lib/snackbar-content/snack-bar-data.mjs +2 -2
  505. package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +2 -2
  506. package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +2 -2
  507. package/esm2022/lib/sorting-picker/index.mjs +2 -2
  508. package/esm2022/lib/sorting-picker/public-api.mjs +2 -2
  509. package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +2 -2
  510. package/esm2022/lib/templates/empty-content/empty-content.component.mjs +2 -2
  511. package/esm2022/lib/templates/error-content/error-content.component.mjs +2 -2
  512. package/esm2022/lib/templates/index.mjs +2 -2
  513. package/esm2022/lib/templates/public-api.mjs +2 -2
  514. package/esm2022/lib/templates/template.module.mjs +2 -2
  515. package/esm2022/lib/testing/core.story.module.mjs +2 -2
  516. package/esm2022/lib/testing/core.testing.module.mjs +2 -2
  517. package/esm2022/lib/testing/index.mjs +2 -2
  518. package/esm2022/lib/testing/noop-auth.module.mjs +2 -2
  519. package/esm2022/lib/testing/noop-translate.module.mjs +2 -2
  520. package/esm2022/lib/testing/unit-testing-utils.mjs +2 -2
  521. package/esm2022/lib/toolbar/index.mjs +2 -2
  522. package/esm2022/lib/toolbar/public-api.mjs +2 -2
  523. package/esm2022/lib/toolbar/toolbar-divider.component.mjs +2 -2
  524. package/esm2022/lib/toolbar/toolbar-title.component.mjs +2 -2
  525. package/esm2022/lib/toolbar/toolbar.component.mjs +2 -2
  526. package/esm2022/lib/toolbar/toolbar.module.mjs +2 -2
  527. package/esm2022/lib/translation/index.mjs +2 -2
  528. package/esm2022/lib/translation/public-api.mjs +2 -2
  529. package/esm2022/lib/translation/translate-loader.service.mjs +2 -2
  530. package/esm2022/lib/translation/translation.service.mjs +2 -2
  531. package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +2 -2
  532. package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +2 -2
  533. package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +2 -2
  534. package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +2 -2
  535. package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +2 -2
  536. package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +1 -1
  537. package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +2 -2
  538. package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +2 -2
  539. package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +2 -2
  540. package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +2 -2
  541. package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +2 -2
  542. package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +2 -2
  543. package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +2 -2
  544. package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +2 -2
  545. package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +2 -2
  546. package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +2 -2
  547. package/esm2022/lib/viewer/components/viewer.component.mjs +2 -2
  548. package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +2 -2
  549. package/esm2022/lib/viewer/index.mjs +2 -2
  550. package/esm2022/lib/viewer/models/download-prompt.actions.mjs +2 -2
  551. package/esm2022/lib/viewer/models/viewer.model.mjs +2 -2
  552. package/esm2022/lib/viewer/public-api.mjs +2 -2
  553. package/esm2022/lib/viewer/services/rendering-queue.services.mjs +2 -2
  554. package/esm2022/lib/viewer/services/view-util.service.mjs +2 -2
  555. package/esm2022/lib/viewer/viewer.module.mjs +2 -2
  556. package/esm2022/public-api.mjs +2 -2
  557. package/esm2022/shell/index.mjs +2 -2
  558. package/esm2022/shell/lib/components/shell/shell.component.mjs +2 -2
  559. package/esm2022/shell/lib/services/shell-app.service.mjs +2 -2
  560. package/esm2022/shell/lib/shell.module.mjs +2 -2
  561. package/esm2022/shell/lib/shell.routes.mjs +2 -2
  562. package/feature-flags/index.d.ts +1 -1
  563. package/feature-flags/lib/components/feature-override-indicator.component.d.ts +1 -1
  564. package/feature-flags/lib/directives/features.directive.d.ts +1 -1
  565. package/feature-flags/lib/directives/not-features.directive.d.ts +1 -1
  566. package/feature-flags/lib/interfaces/features.interface.d.ts +1 -1
  567. package/feature-flags/lib/mocks/features-service-mock.factory.d.ts +1 -1
  568. package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +1 -1
  569. package/feature-flags/lib/providers/dummy-feature-flags.provider.d.ts +1 -1
  570. package/feature-flags/lib/services/flagset.parser.d.ts +1 -1
  571. package/feature-flags/lib/services/qa-features.helper.d.ts +1 -1
  572. package/fesm2022/adf-core.mjs +497 -497
  573. package/fesm2022/adf-core.mjs.map +1 -1
  574. package/fesm2022/alfresco-adf-core-api.mjs +7 -7
  575. package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
  576. package/fesm2022/alfresco-adf-core-auth.mjs +3 -3
  577. package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
  578. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +4 -4
  579. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
  580. package/fesm2022/alfresco-adf-core-feature-flags.mjs +18 -18
  581. package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
  582. package/fesm2022/alfresco-adf-core-shell.mjs +5 -5
  583. package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
  584. package/lib/about/about-package/package-list.component.d.ts +1 -1
  585. package/lib/about/about-panel.directive.d.ts +1 -1
  586. package/lib/about/about-repository-info/about-repository-info.component.d.ts +1 -1
  587. package/lib/about/about-repository-info/repository-info.interface.d.ts +1 -1
  588. package/lib/about/about-server-settings/about-server-settings.component.d.ts +1 -1
  589. package/lib/about/about.component.d.ts +1 -1
  590. package/lib/about/index.d.ts +1 -1
  591. package/lib/about/interfaces.d.ts +1 -1
  592. package/lib/about/public-api.d.ts +1 -1
  593. package/lib/app-config/app-config-storage-prefix.factory.d.ts +1 -1
  594. package/lib/app-config/app-config.loader.d.ts +1 -1
  595. package/lib/app-config/app-config.pipe.d.ts +1 -1
  596. package/lib/app-config/app-config.service.d.ts +1 -1
  597. package/lib/app-config/index.d.ts +1 -1
  598. package/lib/app-config/public-api.d.ts +1 -1
  599. package/lib/auth/authentication-interceptor/auth-bearer.interceptor.d.ts +1 -1
  600. package/lib/auth/guard/auth-guard-bpm.service.d.ts +1 -1
  601. package/lib/auth/guard/auth-guard-ecm.service.d.ts +1 -1
  602. package/lib/auth/guard/auth-guard-sso-role.service.d.ts +1 -1
  603. package/lib/auth/guard/auth-guard.d.ts +1 -1
  604. package/lib/auth/guard/auth-guard.service.d.ts +1 -1
  605. package/lib/auth/index.d.ts +1 -1
  606. package/lib/auth/interfaces/authentication-service.interface.d.ts +1 -1
  607. package/lib/auth/interfaces/authentication.interface.d.ts +1 -1
  608. package/lib/auth/interfaces/identity-group.interface.d.ts +1 -1
  609. package/lib/auth/interfaces/identity-user.service.interface.d.ts +1 -1
  610. package/lib/auth/interfaces/openid-configuration.interface.d.ts +1 -1
  611. package/lib/auth/models/application-access.model.d.ts +1 -1
  612. package/lib/auth/models/identity-group.model.d.ts +1 -1
  613. package/lib/auth/models/identity-role.model.d.ts +1 -1
  614. package/lib/auth/models/identity-user.model.d.ts +1 -1
  615. package/lib/auth/models/oauth-config.model.d.ts +1 -1
  616. package/lib/auth/models/redirection.model.d.ts +1 -1
  617. package/lib/auth/models/user-access.model.d.ts +1 -1
  618. package/lib/auth/oidc/auth-config.d.ts +1 -1
  619. package/lib/auth/oidc/auth.module.d.ts +1 -1
  620. package/lib/auth/oidc/auth.service.d.ts +1 -1
  621. package/lib/auth/oidc/oidc-auth.guard.d.ts +1 -1
  622. package/lib/auth/oidc/public-api.d.ts +1 -1
  623. package/lib/auth/public-api.d.ts +1 -1
  624. package/lib/auth/services/authentication.service.d.ts +1 -1
  625. package/lib/auth/services/base-authentication.service.d.ts +1 -1
  626. package/lib/blank-page/index.d.ts +1 -1
  627. package/lib/blank-page/public-api.d.ts +1 -1
  628. package/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.d.ts +1 -1
  629. package/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.d.ts +1 -1
  630. package/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.d.ts +1 -1
  631. package/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.d.ts +1 -1
  632. package/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.d.ts +1 -1
  633. package/lib/card-view/components/card-view-textitem/card-view-textitem.component.d.ts +1 -1
  634. package/lib/card-view/components/card-view.components.d.ts +1 -1
  635. package/lib/card-view/index.d.ts +1 -1
  636. package/lib/card-view/interfaces/base-card-view-update.interface.d.ts +1 -1
  637. package/lib/card-view/interfaces/card-view-arrayitem-properties.interface.d.ts +1 -1
  638. package/lib/card-view/interfaces/card-view-boolitem-properties.interface.d.ts +1 -1
  639. package/lib/card-view/interfaces/card-view-dateitem-properties.interface.d.ts +1 -1
  640. package/lib/card-view/interfaces/card-view-item-properties.interface.d.ts +1 -1
  641. package/lib/card-view/interfaces/card-view-item-validator.interface.d.ts +1 -1
  642. package/lib/card-view/interfaces/card-view-item.interface.d.ts +1 -1
  643. package/lib/card-view/interfaces/card-view-keyvaluepairsitem-properties.interface.d.ts +1 -1
  644. package/lib/card-view/interfaces/card-view-selectitem-properties.interface.d.ts +1 -1
  645. package/lib/card-view/interfaces/card-view-textitem-pipe-property.interface.d.ts +1 -1
  646. package/lib/card-view/interfaces/card-view-textitem-properties.interface.d.ts +1 -1
  647. package/lib/card-view/interfaces/card-view.interfaces.d.ts +1 -1
  648. package/lib/card-view/interfaces/click-notification.interface.d.ts +1 -1
  649. package/lib/card-view/interfaces/update-notification.interface.d.ts +1 -1
  650. package/lib/card-view/models/card-view-arrayitem.model.d.ts +1 -1
  651. package/lib/card-view/models/card-view-baseitem.model.d.ts +1 -1
  652. package/lib/card-view/models/card-view-boolitem.model.d.ts +1 -1
  653. package/lib/card-view/models/card-view-dateitem.model.d.ts +1 -1
  654. package/lib/card-view/models/card-view-datetimeitem.model.d.ts +1 -1
  655. package/lib/card-view/models/card-view-floatitem.model.d.ts +1 -1
  656. package/lib/card-view/models/card-view-intitem.model.d.ts +1 -1
  657. package/lib/card-view/models/card-view-keyvaluepairs.model.d.ts +1 -1
  658. package/lib/card-view/models/card-view-longitem.model.d.ts +1 -1
  659. package/lib/card-view/models/card-view-mapitem.model.d.ts +1 -1
  660. package/lib/card-view/models/card-view-selectitem.model.d.ts +1 -1
  661. package/lib/card-view/models/card-view-textitem.model.d.ts +1 -1
  662. package/lib/card-view/models/card-view.models.d.ts +1 -1
  663. package/lib/card-view/public-api.d.ts +1 -1
  664. package/lib/card-view/services/card-item-types.service.d.ts +1 -1
  665. package/lib/card-view/services/card-view.services.d.ts +1 -1
  666. package/lib/card-view/validators/card-view-item-float.validator.d.ts +1 -1
  667. package/lib/card-view/validators/card-view-item-int.validator.d.ts +1 -1
  668. package/lib/card-view/validators/card-view-item-length.validator.d.ts +1 -1
  669. package/lib/card-view/validators/card-view-item-long.validator.d.ts +1 -1
  670. package/lib/card-view/validators/card-view-item-match.validator.d.ts +1 -1
  671. package/lib/card-view/validators/card-view-item-minmax.validator.d.ts +1 -1
  672. package/lib/card-view/validators/card-view-item-only-positive-int.validator.d.ts +1 -1
  673. package/lib/card-view/validators/card-view-item-only-positive-long.validator.d.ts +1 -1
  674. package/lib/card-view/validators/card-view.validators.d.ts +1 -1
  675. package/lib/card-view/validators/validators.map.d.ts +1 -1
  676. package/lib/clipboard/clipboard.directive.d.ts +1 -1
  677. package/lib/clipboard/index.d.ts +1 -1
  678. package/lib/clipboard/public-api.d.ts +1 -1
  679. package/lib/comments/comment-list/comment-list.component.d.ts +1 -1
  680. package/lib/comments/comment-list/index.d.ts +1 -1
  681. package/lib/comments/comment-list/public-api.d.ts +1 -1
  682. package/lib/comments/comments.component.d.ts +1 -1
  683. package/lib/comments/index.d.ts +1 -1
  684. package/lib/comments/interfaces/comments-service.interface.d.ts +1 -1
  685. package/lib/comments/interfaces/comments.token.d.ts +1 -1
  686. package/lib/comments/public-api.d.ts +1 -1
  687. package/lib/common/index.d.ts +1 -1
  688. package/lib/common/interface/search-component.interface.d.ts +1 -1
  689. package/lib/common/models/default-languages.model.d.ts +1 -1
  690. package/lib/common/models/log-levels.model.d.ts +1 -1
  691. package/lib/common/models/user-info-mode.enum.d.ts +1 -1
  692. package/lib/common/services/dynamic-component-mapper.service.d.ts +1 -1
  693. package/lib/common/services/language-item.interface.d.ts +1 -1
  694. package/lib/common/utils/date-fns-adapter.d.ts +1 -1
  695. package/lib/common/utils/date-fns-utils.d.ts +1 -1
  696. package/lib/common/utils/file-utils.d.ts +1 -1
  697. package/lib/common/utils/index.d.ts +1 -1
  698. package/lib/common/utils/moment-date-formats.model.d.ts +1 -1
  699. package/lib/common/utils/object-utils.d.ts +1 -1
  700. package/lib/common/utils/public-api.d.ts +1 -1
  701. package/lib/common/utils/string-utils.d.ts +1 -1
  702. package/lib/context-menu/animations.d.ts +1 -1
  703. package/lib/context-menu/context-menu-overlay.d.ts +1 -1
  704. package/lib/context-menu/context-menu-overlay.service.d.ts +1 -1
  705. package/lib/context-menu/context-menu.tokens.d.ts +1 -1
  706. package/lib/context-menu/index.d.ts +1 -1
  707. package/lib/context-menu/interfaces.d.ts +1 -1
  708. package/lib/context-menu/public-api.d.ts +1 -1
  709. package/lib/core.module.d.ts +1 -1
  710. package/lib/datatable/components/amount-cell/amount-cell.component.d.ts +1 -1
  711. package/lib/datatable/components/boolean-cell/boolean-cell.component.d.ts +1 -1
  712. package/lib/datatable/components/columns-selector/columns-search-filter.pipe.d.ts +1 -1
  713. package/lib/datatable/components/columns-selector/columns-selector.component.d.ts +1 -1
  714. package/lib/datatable/components/data-cell.event.d.ts +1 -1
  715. package/lib/datatable/components/data-row-action.event.d.ts +1 -1
  716. package/lib/datatable/components/datatable/datatable.component.d.ts +1 -1
  717. package/lib/datatable/components/datatable-cell/datatable-cell.component.d.ts +1 -1
  718. package/lib/datatable/components/datatable-row/datatable-row.component.d.ts +1 -1
  719. package/lib/datatable/components/date-cell/date-cell.component.d.ts +1 -1
  720. package/lib/datatable/components/filesize-cell/filesize-cell.component.d.ts +1 -1
  721. package/lib/datatable/components/json-cell/json-cell.component.d.ts +1 -1
  722. package/lib/datatable/components/location-cell/location-cell.component.d.ts +1 -1
  723. package/lib/datatable/components/mocks/datatable.mock.d.ts +1 -1
  724. package/lib/datatable/components/number-cell/number-cell.component.d.ts +1 -1
  725. package/lib/datatable/data/data-column.model.d.ts +1 -1
  726. package/lib/datatable/data/data-row-event.model.d.ts +1 -1
  727. package/lib/datatable/data/data-row-update.model.d.ts +1 -1
  728. package/lib/datatable/data/data-row.model.d.ts +1 -1
  729. package/lib/datatable/data/data-sorting.model.d.ts +1 -1
  730. package/lib/datatable/data/datatable-adapter.d.ts +1 -1
  731. package/lib/datatable/data/object-datacolumn.model.d.ts +1 -1
  732. package/lib/datatable/data/object-datarow.model.d.ts +1 -1
  733. package/lib/datatable/data/object-datatable-adapter.d.ts +1 -1
  734. package/lib/datatable/data-column/data-column-header.component.d.ts +1 -1
  735. package/lib/datatable/data-column/data-column-list.component.d.ts +1 -1
  736. package/lib/datatable/data-column/data-column.component.d.ts +1 -1
  737. package/lib/datatable/data-column/index.d.ts +1 -1
  738. package/lib/datatable/data-column/public-api.d.ts +1 -1
  739. package/lib/datatable/directives/drop-zone.directive.d.ts +1 -1
  740. package/lib/datatable/directives/header-filter-template.directive.d.ts +1 -1
  741. package/lib/datatable/directives/loading-template.directive.d.ts +1 -1
  742. package/lib/datatable/directives/main-data-table-action-template.directive.d.ts +1 -1
  743. package/lib/datatable/directives/no-content-template.directive.d.ts +1 -1
  744. package/lib/datatable/directives/no-permission-template.directive.d.ts +1 -1
  745. package/lib/datatable/directives/resizable/resizable.directive.d.ts +1 -1
  746. package/lib/datatable/directives/resizable/resize-handle.directive.d.ts +1 -1
  747. package/lib/datatable/directives/resizable/types.d.ts +1 -1
  748. package/lib/datatable/index.d.ts +1 -1
  749. package/lib/datatable/public-api.d.ts +1 -1
  750. package/lib/dialogs/dialog/dialog-data.interface.d.ts +1 -1
  751. package/lib/dialogs/dialog/dialog.component.d.ts +1 -1
  752. package/lib/dialogs/dialog/dialog.model.d.ts +1 -1
  753. package/lib/dialogs/dialog/index.d.ts +1 -1
  754. package/lib/dialogs/edit-json/edit-json.dialog.d.ts +1 -1
  755. package/lib/dialogs/index.d.ts +1 -1
  756. package/lib/dialogs/public-api.d.ts +1 -1
  757. package/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.d.ts +1 -1
  758. package/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.model.d.ts +1 -1
  759. package/lib/directives/highlight.directive.d.ts +1 -1
  760. package/lib/directives/index.d.ts +1 -1
  761. package/lib/directives/infinite-select-scroll.directive.d.ts +1 -1
  762. package/lib/directives/logout.directive.d.ts +1 -1
  763. package/lib/directives/public-api.d.ts +1 -1
  764. package/lib/directives/tooltip-card/tooltip-card.directive.d.ts +1 -1
  765. package/lib/directives/upload.directive.d.ts +1 -1
  766. package/lib/dynamic-chip-list/chip.d.ts +1 -1
  767. package/lib/dynamic-chip-list/dynamic-chip-list.component.d.ts +1 -1
  768. package/lib/dynamic-chip-list/index.d.ts +1 -1
  769. package/lib/dynamic-chip-list/public-api.d.ts +1 -1
  770. package/lib/events/base-ui.event.d.ts +1 -1
  771. package/lib/events/base.event.d.ts +1 -1
  772. package/lib/events/index.d.ts +1 -1
  773. package/lib/events/public-api.d.ts +1 -1
  774. package/lib/form/components/form-base.component.d.ts +1 -1
  775. package/lib/form/components/form-field/form-field.component.d.ts +1 -1
  776. package/lib/form/components/middlewares/middleware.d.ts +1 -1
  777. package/lib/form/components/widgets/core/container-column.model.d.ts +1 -1
  778. package/lib/form/components/widgets/core/container.model.d.ts +1 -1
  779. package/lib/form/components/widgets/core/content-link.model.d.ts +1 -1
  780. package/lib/form/components/widgets/core/displayable-cm-properties.model.d.ts +1 -1
  781. package/lib/form/components/widgets/core/error-message.model.d.ts +1 -1
  782. package/lib/form/components/widgets/core/external-content-link.d.ts +1 -1
  783. package/lib/form/components/widgets/core/external-content.d.ts +1 -1
  784. package/lib/form/components/widgets/core/form-field-file-source.d.ts +1 -1
  785. package/lib/form/components/widgets/core/form-field-metadata.d.ts +1 -1
  786. package/lib/form/components/widgets/core/form-field-option.d.ts +1 -1
  787. package/lib/form/components/widgets/core/form-field-rule.d.ts +1 -1
  788. package/lib/form/components/widgets/core/form-field-selected-folder.d.ts +1 -1
  789. package/lib/form/components/widgets/core/form-field-templates.d.ts +1 -1
  790. package/lib/form/components/widgets/core/form-field-types.d.ts +1 -1
  791. package/lib/form/components/widgets/core/form-field-utils.d.ts +1 -1
  792. package/lib/form/components/widgets/core/form-field-validator.d.ts +1 -1
  793. package/lib/form/components/widgets/core/form-field-variable-options.d.ts +1 -1
  794. package/lib/form/components/widgets/core/form-field.model.d.ts +1 -1
  795. package/lib/form/components/widgets/core/form-outcome-event.model.d.ts +1 -1
  796. package/lib/form/components/widgets/core/form-outcome.model.d.ts +1 -1
  797. package/lib/form/components/widgets/core/form-values.d.ts +1 -1
  798. package/lib/form/components/widgets/core/form-variable.model.d.ts +1 -1
  799. package/lib/form/components/widgets/core/form-widget.model.d.ts +1 -1
  800. package/lib/form/components/widgets/core/form.model.d.ts +1 -1
  801. package/lib/form/components/widgets/core/group.model.d.ts +1 -1
  802. package/lib/form/components/widgets/core/index.d.ts +1 -1
  803. package/lib/form/components/widgets/core/predefined-theme.d.ts +1 -1
  804. package/lib/form/components/widgets/core/process-form-model.interface.d.ts +1 -1
  805. package/lib/form/components/widgets/core/process-variable.model.d.ts +1 -1
  806. package/lib/form/components/widgets/core/tab.model.d.ts +1 -1
  807. package/lib/form/components/widgets/core/theme.model.d.ts +1 -1
  808. package/lib/form/components/widgets/core/upload-widget-content-link.model.d.ts +1 -1
  809. package/lib/form/components/widgets/core/widget-schema.model.d.ts +1 -1
  810. package/lib/form/components/widgets/display-text/display-text.schema.d.ts +1 -1
  811. package/lib/form/components/widgets/display-text/index.d.ts +1 -1
  812. package/lib/form/components/widgets/header/header.schema.d.ts +1 -1
  813. package/lib/form/components/widgets/header/index.d.ts +1 -1
  814. package/lib/form/components/widgets/index.d.ts +1 -1
  815. package/lib/form/components/widgets/reactive-widget.interface.d.ts +1 -1
  816. package/lib/form/components/widgets/text/text-mask.component.d.ts +1 -1
  817. package/lib/form/components/widgets/widget.component.d.ts +1 -1
  818. package/lib/form/events/form-error.event.d.ts +1 -1
  819. package/lib/form/events/form-field.event.d.ts +1 -1
  820. package/lib/form/events/form-rules.event.d.ts +1 -1
  821. package/lib/form/events/form-spinner.event.d.ts +1 -1
  822. package/lib/form/events/form.event.d.ts +1 -1
  823. package/lib/form/events/index.d.ts +1 -1
  824. package/lib/form/events/validate-form-field.event.d.ts +1 -1
  825. package/lib/form/events/validate-form.event.d.ts +1 -1
  826. package/lib/form/index.d.ts +1 -1
  827. package/lib/form/models/form-rules.model.d.ts +1 -1
  828. package/lib/form/models/task-process-variable.model.d.ts +1 -1
  829. package/lib/form/models/widget-visibility.model.d.ts +1 -1
  830. package/lib/form/pipes/field-style.pipe.d.ts +1 -1
  831. package/lib/form/pipes/index.d.ts +1 -1
  832. package/lib/form/public-api.d.ts +1 -1
  833. package/lib/form/services/form-rendering.service.d.ts +1 -1
  834. package/lib/form/services/form-validation-service.interface.d.ts +1 -1
  835. package/lib/header/index.d.ts +1 -1
  836. package/lib/header/public-api.d.ts +1 -1
  837. package/lib/icon/index.d.ts +1 -1
  838. package/lib/icon/public-api.d.ts +1 -1
  839. package/lib/identity-user-info/index.d.ts +1 -1
  840. package/lib/identity-user-info/public-api.d.ts +1 -1
  841. package/lib/info-drawer/index.d.ts +1 -1
  842. package/lib/info-drawer/info-drawer.component.d.ts +1 -1
  843. package/lib/info-drawer/public-api.d.ts +1 -1
  844. package/lib/interface/index.d.ts +1 -1
  845. package/lib/interface/injection.tokens.d.ts +1 -1
  846. package/lib/interface/public-api.d.ts +1 -1
  847. package/lib/language-menu/index.d.ts +1 -1
  848. package/lib/language-menu/language-menu.component.d.ts +1 -1
  849. package/lib/language-menu/language-picker.component.d.ts +1 -1
  850. package/lib/language-menu/public-api.d.ts +1 -1
  851. package/lib/language-menu/service/language.service.d.ts +1 -1
  852. package/lib/language-menu/service/language.service.interface.d.ts +1 -1
  853. package/lib/layout/components/header/header.component.d.ts +1 -1
  854. package/lib/layout/components/layout-container/layout-container.component.d.ts +1 -1
  855. package/lib/layout/components/sidenav-layout/sidenav-layout.component.d.ts +1 -1
  856. package/lib/layout/directives/sidenav-layout-content.directive.d.ts +1 -1
  857. package/lib/layout/directives/sidenav-layout-header.directive.d.ts +1 -1
  858. package/lib/layout/directives/sidenav-layout-navigation.directive.d.ts +1 -1
  859. package/lib/layout/index.d.ts +1 -1
  860. package/lib/layout/public-api.d.ts +1 -1
  861. package/lib/login/components/login-dialog/login-dialog-component-data.interface.d.ts +1 -1
  862. package/lib/login/components/login-dialog-panel/login-dialog-panel.component.d.ts +1 -1
  863. package/lib/login/directives/login-footer.directive.d.ts +1 -1
  864. package/lib/login/directives/login-header.directive.d.ts +1 -1
  865. package/lib/login/index.d.ts +1 -1
  866. package/lib/login/models/login-error.event.d.ts +1 -1
  867. package/lib/login/models/login-submit.event.d.ts +1 -1
  868. package/lib/login/models/login-success.event.d.ts +1 -1
  869. package/lib/login/public-api.d.ts +1 -1
  870. package/lib/mock/data-column.mock.d.ts +1 -1
  871. package/lib/mock/event.mock.d.ts +1 -1
  872. package/lib/mock/form/form-definition-readonly.mock.d.ts +1 -1
  873. package/lib/mock/form/form-definition-visibility.mock.d.ts +1 -1
  874. package/lib/mock/form/form-definition.mock.d.ts +1 -1
  875. package/lib/mock/form/form.component.mock.d.ts +1 -1
  876. package/lib/mock/form/form.service.mock.d.ts +1 -1
  877. package/lib/mock/form/widget-visibility.service.mock.d.ts +1 -1
  878. package/lib/mock/index.d.ts +1 -1
  879. package/lib/mock/public-api.d.ts +1 -1
  880. package/lib/models/comment.model.d.ts +1 -1
  881. package/lib/models/component.model.d.ts +1 -1
  882. package/lib/models/decimal-number.model.d.ts +1 -1
  883. package/lib/models/general-user.model.d.ts +1 -1
  884. package/lib/models/index.d.ts +1 -1
  885. package/lib/models/pagination.model.d.ts +1 -1
  886. package/lib/models/path.model.d.ts +1 -1
  887. package/lib/models/product-version.model.d.ts +1 -1
  888. package/lib/models/public-api.d.ts +1 -1
  889. package/lib/models/request-pagination.model.d.ts +1 -1
  890. package/lib/notifications/components/notification-history.component.d.ts +1 -1
  891. package/lib/notifications/helpers/notification.factory.d.ts +1 -1
  892. package/lib/notifications/index.d.ts +1 -1
  893. package/lib/notifications/models/notification.model.d.ts +1 -1
  894. package/lib/notifications/public-api.d.ts +1 -1
  895. package/lib/pagination/index.d.ts +1 -1
  896. package/lib/pagination/infinite-pagination.component.d.ts +1 -1
  897. package/lib/pagination/paginated-component.interface.d.ts +1 -1
  898. package/lib/pagination/pagination-component.interface.d.ts +1 -1
  899. package/lib/pagination/pagination.component.d.ts +1 -1
  900. package/lib/pagination/public-api.d.ts +1 -1
  901. package/lib/pipes/date-time.pipe.d.ts +1 -1
  902. package/lib/pipes/file-size.pipe.d.ts +1 -1
  903. package/lib/pipes/file-type.pipe.d.ts +1 -1
  904. package/lib/pipes/format-space.pipe.d.ts +1 -1
  905. package/lib/pipes/full-name.pipe.d.ts +1 -1
  906. package/lib/pipes/index.d.ts +1 -1
  907. package/lib/pipes/multi-value.pipe.d.ts +1 -1
  908. package/lib/pipes/public-api.d.ts +1 -1
  909. package/lib/pipes/text-highlight.pipe.d.ts +1 -1
  910. package/lib/pipes/time-ago.pipe.d.ts +1 -1
  911. package/lib/pipes/truncate.pipe.d.ts +1 -1
  912. package/lib/pipes/user-initial.pipe.d.ts +1 -1
  913. package/lib/pipes/user-like.interface.d.ts +1 -1
  914. package/lib/search-text/animations.d.ts +1 -1
  915. package/lib/search-text/index.d.ts +1 -1
  916. package/lib/search-text/models/search-text-input.model.d.ts +1 -1
  917. package/lib/search-text/public-api.d.ts +1 -1
  918. package/lib/snackbar-content/index.d.ts +1 -1
  919. package/lib/snackbar-content/public-api.d.ts +1 -1
  920. package/lib/snackbar-content/snack-bar-data.d.ts +1 -1
  921. package/lib/sorting-picker/index.d.ts +1 -1
  922. package/lib/sorting-picker/public-api.d.ts +1 -1
  923. package/lib/sorting-picker/sorting-picker.component.d.ts +1 -1
  924. package/lib/templates/error-content/error-content.component.d.ts +1 -1
  925. package/lib/templates/index.d.ts +1 -1
  926. package/lib/templates/public-api.d.ts +1 -1
  927. package/lib/testing/index.d.ts +1 -1
  928. package/lib/testing/unit-testing-utils.d.ts +1 -1
  929. package/lib/toolbar/index.d.ts +1 -1
  930. package/lib/toolbar/public-api.d.ts +1 -1
  931. package/lib/translation/index.d.ts +1 -1
  932. package/lib/translation/public-api.d.ts +1 -1
  933. package/lib/translation/translate-loader.service.d.ts +1 -1
  934. package/lib/translation/translation.service.d.ts +1 -1
  935. package/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.d.ts +1 -1
  936. package/lib/viewer/components/txt-viewer/txt-viewer.component.d.ts +1 -1
  937. package/lib/viewer/components/viewer-render/viewer-render.component.d.ts +1 -1
  938. package/lib/viewer/directives/viewer-extension.directive.d.ts +1 -1
  939. package/lib/viewer/index.d.ts +1 -1
  940. package/lib/viewer/models/download-prompt.actions.d.ts +1 -1
  941. package/lib/viewer/models/viewer.model.d.ts +1 -1
  942. package/lib/viewer/public-api.d.ts +1 -1
  943. package/package.json +3 -3
  944. package/public-api.d.ts +1 -1
  945. package/schematics/migrations/package.json +3 -3
  946. package/schematics/migrations/schematics/migrations/7_0_0/index.d.ts +1 -1
  947. package/schematics/migrations/schematics/migrations/7_0_0/index.js +1 -1
  948. package/schematics/migrations/schematics/migrations/collection.json +8 -8
  949. package/shell/index.d.ts +1 -1
  950. package/shell/lib/components/shell/shell.component.d.ts +1 -1
  951. package/shell/lib/services/shell-app.service.d.ts +1 -1
  952. package/shell/lib/shell.module.d.ts +1 -1
  953. package/shell/lib/shell.routes.d.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -264,4 +264,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
264
264
  type: Inject,
265
265
  args: [AUTH_CONFIG]
266
266
  }] }]; } });
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXJlY3QtYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hdXRoL29pZGMvcmVkaXJlY3QtYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQ0gsVUFBVSxFQUNWLFdBQVcsRUFDWCxlQUFlLEVBRWYsWUFBWSxFQUNaLFlBQVksRUFHWixpQkFBaUIsRUFDakIsV0FBVyxFQUNkLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLElBQUksRUFBYyxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFFaEUsTUFBTSxTQUFTLEdBQUcsQ0FBSSxLQUFxQixFQUF1QixFQUFFLENBQUMsS0FBSyxJQUFJLE9BQVEsS0FBb0IsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDO0FBRy9ILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUFXO0lBdUVoRDs7OztPQUlHO0lBQ0gsSUFBSSxhQUFhO1FB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LENBQUMsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUNqSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyx5Q0FBeUMsRUFBRSxZQUFZLEdBQUcsZUFBZSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ3pHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUNsQixzRkFBc0YsRUFDdEYsYUFBYSxHQUFHLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixJQUFJLEdBQUcsQ0FDckYsQ0FBQztTQUNMO0lBQ0wsQ0FBQzs4R0E1WVEsbUJBQW1CLDBFQWlHaUUsV0FBVztrSEFqRy9GLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVTs7MEJBa0crRSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEF1dGhDb25maWcsXG4gICAgQVVUSF9DT05GSUcsXG4gICAgT0F1dGhFcnJvckV2ZW50LFxuICAgIE9BdXRoRXZlbnQsXG4gICAgT0F1dGhTZXJ2aWNlLFxuICAgIE9BdXRoU3RvcmFnZSxcbiAgICBUb2tlblJlc3BvbnNlLFxuICAgIExvZ2luT3B0aW9ucyxcbiAgICBPQXV0aFN1Y2Nlc3NFdmVudCxcbiAgICBPQXV0aExvZ2dlclxufSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IEp3a3NWYWxpZGF0aW9uSGFuZGxlciB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMtandrcyc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCByYWNlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEFVVEhfTU9EVUxFX0NPTkZJRywgQXV0aE1vZHVsZUNvbmZpZyB9IGZyb20gJy4vYXV0aC1jb25maWcnO1xuaW1wb3J0IHsgUmV0cnlMb2dpblNlcnZpY2UgfSBmcm9tICcuL3JldHJ5LWxvZ2luLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGltZVN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGltZS1zeW5jLnNlcnZpY2UnO1xuXG5jb25zdCBpc1Byb21pc2UgPSA8VD4odmFsdWU6IFQgfCBQcm9taXNlPFQ+KTogdmFsdWUgaXMgUHJvbWlzZTxUPiA9PiB2YWx1ZSAmJiB0eXBlb2YgKHZhbHVlIGFzIFByb21pc2U8VD4pLnRoZW4gPT09ICdmdW5jdGlvbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZWRpcmVjdEF1dGhTZXJ2aWNlIGV4dGVuZHMgQXV0aFNlcnZpY2Uge1xuICAgIHJlYWRvbmx5IGF1dGhNb2R1bGVDb25maWc6IEF1dGhNb2R1bGVDb25maWcgPSBpbmplY3QoQVVUSF9NT0RVTEVfQ09ORklHKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yZXRyeUxvZ2luU2VydmljZTogUmV0cnlMb2dpblNlcnZpY2UgPSBpbmplY3QoUmV0cnlMb2dpblNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29hdXRoTG9nZ2VyOiBPQXV0aExvZ2dlciA9IGluamVjdChPQXV0aExvZ2dlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGltZVN5bmNTZXJ2aWNlOiBUaW1lU3luY1NlcnZpY2UgPSBpbmplY3QoVGltZVN5bmNTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgX2lzRGlzY292ZXJ5RG9jdW1lbnRMb2FkZWRTdWJqZWN0JCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgcHVibGljIGlzRGlzY292ZXJ5RG9jdW1lbnRMb2FkZWQkID0gdGhpcy5faXNEaXNjb3ZlcnlEb2N1bWVudExvYWRlZFN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgb25Mb2dpbjogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gICAgb25Ub2tlblJlY2VpdmVkOiBPYnNlcnZhYmxlPGFueT47XG5cbiAgICBwcml2YXRlIF9sb2FkRGlzY292ZXJ5RG9jdW1lbnRQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgc3RyZWFtIHRoYXQgZW1pdHMgd2hlbiB0aGUgdXNlciBsb2dzIG91dC5cbiAgICAgKlxuICAgICAqIFRoaXMgb2JzZXJ2YWJsZSBsaXN0ZW5zIHRvIHRoZSBldmVudHMgZW1pdHRlZCBieSB0aGUgT0F1dGggc2VydmljZSBhbmQgZmlsdGVyc1xuICAgICAqIHRoZW0gdG8gb25seSBpbmNsdWRlIGluc3RhbmNlcyBvZiBPQXV0aFN1Y2Nlc3NFdmVudCB3aXRoIHRoZSB0eXBlIGBsb2dvdXRgLlxuICAgICAqL1xuICAgIG9uTG9nb3V0JDogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgc3RyZWFtIHRoYXQgZW1pdHMgT0F1dGhFcnJvckV2ZW50IGluc3RhbmNlcy5cbiAgICAgKlxuICAgICAqIFRoaXMgb2JzZXJ2YWJsZSBsaXN0ZW5zIHRvIHRoZSBldmVudHMgZW1pdHRlZCBieSB0aGUgT0F1dGggc2VydmljZSBhbmQgZmlsdGVyc1xuICAgICAqIHRoZW0gdG8gb25seSBpbmNsdWRlIGluc3RhbmNlcyBvZiBPQXV0aEVycm9yRXZlbnQuIEl0IHRoZW4gbWFwcyB0aGVzZSBldmVudHNcbiAgICAgKiB0byB0aGUgY29ycmVjdCB0eXBlLlxuICAgICAqL1xuICAgIG9hdXRoRXJyb3JFdmVudCQ6IE9ic2VydmFibGU8T0F1dGhFcnJvckV2ZW50PjtcblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgc3RyZWFtIHRoYXQgZW1pdHMgdGhlIGZpcnN0IE9BdXRoIGVycm9yIGV2ZW50IHRoYXQgb2NjdXJzLlxuICAgICAqL1xuICAgIGZpcnN0T2F1dGhFcnJvckV2ZW50T2NjdXIkOiBPYnNlcnZhYmxlPE9BdXRoRXJyb3JFdmVudD47XG5cbiAgICAvKipcbiAgICAgKiBPYnNlcnZhYmxlIHN0cmVhbSB0aGF0IGVtaXRzIHRoZSBmaXJzdCBPQXV0aCBlcnJvciBldmVudCB0aGF0IG9jY3VycywgZXhjbHVkaW5nIHRva2VuIHJlZnJlc2ggZXJyb3JzLlxuICAgICAqL1xuICAgIGZpcnN0T2F1dGhFcnJvckV2ZW50RXhjbHVkaW5nVG9rZW5SZWZyZXNoRXJyb3IkOiBPYnNlcnZhYmxlPE9BdXRoRXJyb3JFdmVudD47XG5cbiAgICAvKipcbiAgICAgKiBPYnNlcnZhYmxlIHN0cmVhbSB0aGF0IGVtaXRzIHRoZSBzZWNvbmQgT0F1dGggdG9rZW4gcmVmcmVzaCBlcnJvciBldmVudCB0aGF0IG9jY3Vycy5cbiAgICAgKi9cbiAgICBzZWNvbmRUb2tlblJlZnJlc2hFcnJvckV2ZW50T2NjdXIkOiBPYnNlcnZhYmxlPE9BdXRoRXJyb3JFdmVudD47XG5cbiAgICAvKipcbiAgICAgKiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gZXJyb3Igd2hlbiB0aGUgdG9rZW4gaGFzIGV4cGlyZWQgZHVlIHRvXG4gICAgICogdGhlIGxvY2FsIG1hY2hpbmUgY2xvY2sgYmVpbmcgb3V0IG9mIHN5bmMgd2l0aCB0aGUgc2VydmVyIHRpbWUuXG4gICAgICovXG4gICAgdG9rZW5IYXNFeHBpcmVkRHVlVG9DbG9ja091dE9mU3luYyQ6IE9ic2VydmFibGU8RXJyb3I+O1xuXG4gICAgLyoqXG4gICAgICogT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFuIGVycm9yIHdoZW4gdGhlIE9BdXRoIGVycm9yIGV2ZW50IG9jY3VycyBkdWUgdG9cbiAgICAgKiB0aGUgbG9jYWwgbWFjaGluZSBjbG9jayBiZWluZyBvdXQgb2Ygc3luYyB3aXRoIHRoZSBzZXJ2ZXIgdGltZS5cbiAgICAgKi9cbiAgICBvYXV0aEVycm9yRXZlbnRPY2N1ckR1ZVRvQ2xvY2tPdXRPZlN5bmMkOiBPYnNlcnZhYmxlPEVycm9yPjtcblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgc3RyZWFtIHRoYXQgZW1pdHMgZWl0aGVyIE9BdXRoRXJyb3JFdmVudCBvciBFcnJvci5cbiAgICAgKiBUaGlzIHN0cmVhbSBjb21iaW5lcyBtdWx0aXBsZSBPQXV0aCBlcnJvciBzb3VyY2VzIGludG8gYSBzaW5nbGUgb2JzZXJ2YWJsZS5cbiAgICAgKi9cbiAgICBjb21iaW5lZE9BdXRoRXJyb3JzU3RyZWFtJDogT2JzZXJ2YWJsZTxPQXV0aEVycm9yRXZlbnQgfCBFcnJvcj47XG5cbiAgICAvKiogU3Vic2NyaWJlIHRvIHdoZXRoZXIgdGhlIHVzZXIgaGFzIHZhbGlkIElkL0FjY2VzcyB0b2tlbnMuICAqL1xuICAgIGF1dGhlbnRpY2F0ZWQkITogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIC8qKiBTdWJzY3JpYmUgdG8gZXJyb3JzIHJlYWNoaW5nIHRoZSBJZFAuICovXG4gICAgaWRwVW5yZWFjaGFibGUkITogT2JzZXJ2YWJsZTxFcnJvcj47XG5cbiAgICAvKipcbiAgICAgKiBHZXQgd2hldGhlciB0aGUgdXNlciBoYXMgdmFsaWQgSWQvQWNjZXNzIHRva2Vucy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGVkLCBvdGhlcndpc2UgYGZhbHNlYFxuICAgICAqL1xuICAgIGdldCBhdXRoZW50aWNhdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vYXV0aFNlcnZpY2UuaGFzVmFsaWRJZFRva2VuKCkgJiYgdGhpcy5vYXV0aFNlcnZpY2UuaGFzVmFsaWRBY2Nlc3NUb2tlbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXV0aENvbmZpZyE6IEF1dGhDb25maWcgfCBQcm9taXNlPEF1dGhDb25maWc+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBBVVRIX1NUT1JBR0VfSVRFTVM6IHN0cmluZ1tdID0gW1xuICAgICAgICAnYWNjZXNzX3Rva2VuJyxcbiAgICAgICAgJ2FjY2Vzc190b2tlbl9zdG9yZWRfYXQnLFxuICAgICAgICAnZXhwaXJlc19hdCcsXG4gICAgICAgICdncmFudGVkX3Njb3BlcycsXG4gICAgICAgICdpZF90b2tlbicsXG4gICAgICAgICdpZF90b2tlbl9jbGFpbXNfb2JqJyxcbiAgICAgICAgJ2lkX3Rva2VuX2V4cGlyZXNfYXQnLFxuICAgICAgICAnaWRfdG9rZW5fc3RvcmVkX2F0JyxcbiAgICAgICAgJ25vbmNlJyxcbiAgICAgICAgJ1BLQ0VfdmVyaWZpZXInLFxuICAgICAgICAncmVmcmVzaF90b2tlbicsXG4gICAgICAgICdzZXNzaW9uX3N0YXRlJ1xuICAgIF07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLCBwcml2YXRlIF9vYXV0aFN0b3JhZ2U6IE9BdXRoU3RvcmFnZSwgQEluamVjdChBVVRIX0NPTkZJRykgYXV0aENvbmZpZzogQXV0aENvbmZpZykge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuYXV0aENvbmZpZyA9IGF1dGhDb25maWc7XG5cbiAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UuY2xlYXJIYXNoQWZ0ZXJMb2dpbiA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UuZXZlbnRzLnBpcGUoZmlsdGVyKCgpID0+IG9hdXRoU2VydmljZS5zaG93RGVidWdJbmZvcm1hdGlvbikpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE9BdXRoRXJyb3JFdmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX29hdXRoTG9nZ2VyLmVycm9yKCdPQXV0aEVycm9yRXZlbnQgT2JqZWN0OicsIGV2ZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb2F1dGhMb2dnZXIuaW5mbygnT0F1dGhFdmVudCBPYmplY3Q6JywgZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9hdXRoRXJyb3JFdmVudCQgPSB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgT0F1dGhFcnJvckV2ZW50KSxcbiAgICAgICAgICAgIG1hcCgoZXZlbnQpID0+IGV2ZW50IGFzIE9BdXRoRXJyb3JFdmVudClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmZpcnN0T2F1dGhFcnJvckV2ZW50T2NjdXIkID0gdGhpcy5vYXV0aEVycm9yRXZlbnQkLnBpcGUodGFrZSgxKSk7XG5cbiAgICAgICAgdGhpcy5maXJzdE9hdXRoRXJyb3JFdmVudEV4Y2x1ZGluZ1Rva2VuUmVmcmVzaEVycm9yJCA9IHRoaXMub2F1dGhFcnJvckV2ZW50JC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBPQXV0aEVycm9yRXZlbnQgJiYgZXZlbnQudHlwZSAhPT0gJ3Rva2VuX3JlZnJlc2hfZXJyb3InKSxcbiAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnNlY29uZFRva2VuUmVmcmVzaEVycm9yRXZlbnRPY2N1ciQgPSB0aGlzLm9hdXRoRXJyb3JFdmVudCQucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LnR5cGUgPT09ICd0b2tlbl9yZWZyZXNoX2Vycm9yJyksXG4gICAgICAgICAgICB0YWtlKDIpLFxuICAgICAgICAgICAgZmlsdGVyKChfLCBpbmRleCkgPT4gaW5kZXggPT09IDEpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5vYXV0aEVycm9yRXZlbnRPY2N1ckR1ZVRvQ2xvY2tPdXRPZlN5bmMkID0gdGhpcy5vYXV0aEVycm9yRXZlbnQkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fdGltZVN5bmNTZXJ2aWNlLmNoZWNrVGltZVN5bmModGhpcy5vYXV0aFNlcnZpY2UuY2xvY2tTa2V3SW5TZWMpKSxcbiAgICAgICAgICAgIGZpbHRlcigodGltZVN5bmMpID0+IHRpbWVTeW5jPy5vdXRPZlN5bmMpLFxuICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICh0aW1lU3luYykgPT5cbiAgICAgICAgICAgICAgICAgICAgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgYE9BdXRoIGVycm9yIG9jY3VycmVkIGR1ZSB0byBsb2NhbCBtYWNoaW5lIGNsb2NrICR7dGltZVN5bmMubG9jYWxEYXRlVGltZUlTT30gYmVpbmcgb3V0IG9mIHN5bmMgd2l0aCBzZXJ2ZXIgdGltZSAke3RpbWVTeW5jLnNlcnZlckRhdGVUaW1lSVNPfWBcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0ZWQkID0gdGhpcy5vYXV0aFNlcnZpY2UuZXZlbnRzLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5hdXRoZW50aWNhdGVkKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMudG9rZW5IYXNFeHBpcmVkRHVlVG9DbG9ja091dE9mU3luYyQgPSB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiAhIXRoaXMub2F1dGhTZXJ2aWNlLmdldElkZW50aXR5Q2xhaW1zKCkgJiYgdGhpcy50b2tlbkhhc0V4cGlyZWQoKSksXG4gICAgICAgICAgICBmaWx0ZXIoKGhhc0V4cGlyZWQpID0+IGhhc0V4cGlyZWQpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuX3RpbWVTeW5jU2VydmljZS5jaGVja1RpbWVTeW5jKHRoaXMub2F1dGhTZXJ2aWNlLmNsb2NrU2tld0luU2VjKSksXG4gICAgICAgICAgICBmaWx0ZXIoKHRpbWVTeW5jKSA9PiB0aW1lU3luYz8ub3V0T2ZTeW5jKSxcbiAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAodGltZVN5bmMpID0+XG4gICAgICAgICAgICAgICAgICAgIG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGBUb2tlbiBoYXMgZXhwaXJlZCBkdWUgdG8gbG9jYWwgbWFjaGluZSBjbG9jayAke3RpbWVTeW5jLmxvY2FsRGF0ZVRpbWVJU099IGJlaW5nIG91dCBvZiBzeW5jIHdpdGggc2VydmVyIHRpbWUgJHt0aW1lU3luYy5zZXJ2ZXJEYXRlVGltZUlTT31gXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0YWtlKDEpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5vbkxvZ291dCQgPSB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LnR5cGUgPT09ICdsb2dvdXQnKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB1bmRlZmluZWQpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jb21iaW5lZE9BdXRoRXJyb3JzU3RyZWFtJCA9IHJhY2UoW1xuICAgICAgICAgICAgdGhpcy5vYXV0aEVycm9yRXZlbnRPY2N1ckR1ZVRvQ2xvY2tPdXRPZlN5bmMkLFxuICAgICAgICAgICAgdGhpcy5maXJzdE9hdXRoRXJyb3JFdmVudEV4Y2x1ZGluZ1Rva2VuUmVmcmVzaEVycm9yJCxcbiAgICAgICAgICAgIHRoaXMudG9rZW5IYXNFeHBpcmVkRHVlVG9DbG9ja091dE9mU3luYyQsXG4gICAgICAgICAgICB0aGlzLnNlY29uZFRva2VuUmVmcmVzaEVycm9yRXZlbnRPY2N1ciRcbiAgICAgICAgXSk7XG5cbiAgICAgICAgdGhpcy5jb21iaW5lZE9BdXRoRXJyb3JzU3RyZWFtJC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX29hdXRoTG9nZ2VyLmVycm9yKHJlcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dvdXQoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKCkgPT4ge31cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UuZXZlbnRzLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm9hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbigpICYmICF0aGlzLm9hdXRoU2VydmljZS5oYXNWYWxpZEFjY2Vzc1Rva2VuKCkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vYXV0aFNlcnZpY2Uuc2hvd0RlYnVnSW5mb3JtYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb2F1dGhMb2dnZXIud2FybignQWNjZXNzIHRva2VuIG5vdCB2YWxpZC4gUmVtb3ZpbmcgYWxsIGF1dGggaXRlbXMgZnJvbSBzdG9yYWdlJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuQVVUSF9TVE9SQUdFX0lURU1TLm1hcCgoaXRlbTogc3RyaW5nKSA9PiB0aGlzLl9vYXV0aFN0b3JhZ2UucmVtb3ZlSXRlbShpdGVtKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub25Mb2dpbiA9IHRoaXMuYXV0aGVudGljYXRlZCQucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoYXV0aGVudGljYXRlZCkgPT4gYXV0aGVudGljYXRlZCksXG4gICAgICAgICAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMub25Ub2tlblJlY2VpdmVkID0gdGhpcy5vYXV0aFNlcnZpY2UuZXZlbnRzLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBPQXV0aEV2ZW50KSA9PiBldmVudC50eXBlID09PSAndG9rZW5fcmVjZWl2ZWQnKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB1bmRlZmluZWQpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5pZHBVbnJlYWNoYWJsZSQgPSB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpOiBldmVudCBpcyBPQXV0aEVycm9yRXZlbnQgPT4gZXZlbnQudHlwZSA9PT0gJ2Rpc2NvdmVyeV9kb2N1bWVudF9sb2FkX2Vycm9yJyksXG4gICAgICAgICAgICBtYXAoKGV2ZW50KSA9PiBldmVudC5yZWFzb24gYXMgRXJyb3IpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaW5pdCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgaWYgKGlzUHJvbWlzZSh0aGlzLmF1dGhDb25maWcpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hdXRoQ29uZmlnLnRoZW4oKGNvbmZpZykgPT4gdGhpcy5jb25maWd1cmVBdXRoKGNvbmZpZykpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJlQXV0aCh0aGlzLmF1dGhDb25maWcpO1xuICAgIH1cblxuICAgIGxvZ291dCgpIHtcbiAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UubG9nT3V0KCk7XG4gICAgfVxuXG4gICAgZW5zdXJlRGlzY292ZXJ5RG9jdW1lbnQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHRoaXMuX2xvYWREaXNjb3ZlcnlEb2N1bWVudFByb21pc2UgPSB0aGlzLl9sb2FkRGlzY292ZXJ5RG9jdW1lbnRQcm9taXNlXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4gZmFsc2UpXG4gICAgICAgICAgICAudGhlbigobG9hZGVkKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFsb2FkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub2F1dGhTZXJ2aWNlLmxvYWREaXNjb3ZlcnlEb2N1bWVudCgpLnRoZW4oKCkgPT4gdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkRGlzY292ZXJ5RG9jdW1lbnRQcm9taXNlO1xuICAgIH1cblxuICAgIGxvZ2luKGN1cnJlbnRVcmw/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgbGV0IHN0YXRlS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRVcmwpIHtcbiAgICAgICAgICAgIGNvbnN0IHJhbmRvbVZhbHVlID0gd2luZG93LmNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQzMkFycmF5KDEpKVswXTtcbiAgICAgICAgICAgIHN0YXRlS2V5ID0gYGF1dGhfc3RhdGVfJHtyYW5kb21WYWx1ZX0ke0RhdGUubm93KCl9YDtcbiAgICAgICAgICAgIHRoaXMuX29hdXRoU3RvcmFnZS5zZXRJdGVtKHN0YXRlS2V5LCBKU09OLnN0cmluZ2lmeShjdXJyZW50VXJsIHx8IHt9KSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbml0TG9naW5GbG93IHdpbGwgaW5pdGlhbGl6ZSB0aGUgbG9naW4gZmxvdyBpbiBlaXRoZXIgY29kZSBvciBpbXBsaWNpdCBkZXBlbmRpbmcgb24gdGhlIGNvbmZpZ3VyYXRpb25cbiAgICAgICAgdGhpcy5lbnN1cmVEaXNjb3ZlcnlEb2N1bWVudCgpLnRoZW4oKCkgPT4gdm9pZCB0aGlzLm9hdXRoU2VydmljZS5pbml0TG9naW5GbG93KHN0YXRlS2V5KSk7XG4gICAgfVxuXG4gICAgYmFzZUF1dGhMb2dpbih1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUb2tlblJlc3BvbnNlPiB7XG4gICAgICAgIHRoaXMub2F1dGhTZXJ2aWNlLnVzZUh0dHBCYXNpY0F1dGggPSB0cnVlO1xuXG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMub2F1dGhTZXJ2aWNlLmZldGNoVG9rZW5Vc2luZ1Bhc3N3b3JkRmxvdyh1c2VybmFtZSwgcGFzc3dvcmQpKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByb3BzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgICAgICAgICAgICAgICBwcm9wcy5zZXQoJ2lkX3Rva2VuJywgcmVzcG9uc2UuaWRfdG9rZW4pO1xuICAgICAgICAgICAgICAgIC8vIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdlIG5lZWQgdG8gc2V0IHRoZSByZXNwb25zZSBpbiBvdXIgc3RvcmFnZVxuICAgICAgICAgICAgICAgIHRoaXMub2F1dGhTZXJ2aWNlWydzdG9yZUFjY2Vzc1Rva2VuUmVzcG9uc2UnXShcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UuYWNjZXNzX3Rva2VuLFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWZyZXNoX3Rva2VuLFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5leHBpcmVzX2luLFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5zY29wZSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcHNcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgYXN5bmMgbG9naW5DYWxsYmFjayhsb2dpbk9wdGlvbnM/OiBMb2dpbk9wdGlvbnMpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnN1cmVEaXNjb3ZlcnlEb2N1bWVudCgpXG4gICAgICAgICAgICAudGhlbigoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuX3JldHJ5TG9naW5TZXJ2aWNlLnRyeVRvTG9naW5UaW1lcyh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmxvZ2luT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgcHJldmVudENsZWFySGFzaEFmdGVyTG9naW46IHRoaXMuYXV0aE1vZHVsZUNvbmZpZy5wcmV2ZW50Q2xlYXJIYXNoQWZ0ZXJMb2dpblxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbigoKSA9PiB0aGlzLl9nZXRSZWRpcmVjdFVybCgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRSZWRpcmVjdFVybCgpIHtcbiAgICAgICAgY29uc3QgREVGQVVMVF9SRURJUkVDVCA9ICcvJztcbiAgICAgICAgY29uc3Qgc3RhdGVLZXkgPSB0aGlzLm9hdXRoU2VydmljZS5zdGF0ZTtcblxuICAgICAgICBpZiAoc3RhdGVLZXkpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlU3RyaW5naWZpZWQgPSB0aGlzLl9vYXV0aFN0b3JhZ2UuZ2V0SXRlbShzdGF0ZUtleSk7XG4gICAgICAgICAgICBpZiAoc3RhdGVTdHJpbmdpZmllZCkge1xuICAgICAgICAgICAgICAgIC8vIGNsZWFudXAgc3RhdGUgZnJvbSBzdG9yYWdlXG4gICAgICAgICAgICAgICAgdGhpcy5fb2F1dGhTdG9yYWdlLnJlbW92ZUl0ZW0oc3RhdGVLZXkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHN0YXRlU3RyaW5naWZpZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIERFRkFVTFRfUkVESVJFQ1Q7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb25maWd1cmVBdXRoKGNvbmZpZzogQXV0aENvbmZpZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICB0aGlzLm9hdXRoU2VydmljZS5jb25maWd1cmUoY29uZmlnKTtcbiAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UudG9rZW5WYWxpZGF0aW9uSGFuZGxlciA9IG5ldyBKd2tzVmFsaWRhdGlvbkhhbmRsZXIoKTtcblxuICAgICAgICBpZiAoY29uZmlnLnNlc3Npb25DaGVja3NFbmFibGVkKSB7XG4gICAgICAgICAgICB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudC50eXBlID09PSAnc2Vzc2lvbl90ZXJtaW5hdGVkJykpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UubG9nT3V0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmVuc3VyZURpc2NvdmVyeURvY3VtZW50KClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9pc0Rpc2NvdmVyeURvY3VtZW50TG9hZGVkU3ViamVjdCQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9hdXRoU2VydmljZS5zZXR1cEF1dG9tYXRpY1NpbGVudFJlZnJlc2goKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdm9pZCB0aGlzLmFsbG93UmVmcmVzaFRva2VuQW5kU2lsZW50UmVmcmVzaE9uTXVsdGlwbGVUYWJzKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBjYXRjaCBlcnJvciB0byBwcmV2ZW50IHRoZSBhcHAgZnJvbSBjcmFzaGluZyB3aGVuIHRyeWluZyB0byBhY2Nlc3MgdW5wcm90ZWN0ZWQgcm91dGVzXG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaXggYSBrbm93biBpc3N1ZSAoaHR0cHM6Ly9naXRodWIuY29tL21hbmZyZWRzdGV5ZXIvYW5ndWxhci1vYXV0aDItb2lkYy9pc3N1ZXMvODUwKVxuICAgICAqIHdoZXJlIG11bHRpcGxlIHRhYnMgY2FuIGNhdXNlIHRoZSB0b2tlbiByZWZyZXNoIGFuZCB0aGUgc2lsZW50IHJlZnJlc2ggdG8gZmFpbC5cbiAgICAgKiBUaGlzIHBhdGNoIGlzIGJhc2VkIG9uIHRoZSBzb2x1dGlvbnMgcHJvdmlkZWQgaW4gdGhlIGZvbGxvd2luZyBjb21tZW50czpcbiAgICAgKiBodHRwczovL2dpdGh1Yi5jb20vbWFuZnJlZHN0ZXllci9hbmd1bGFyLW9hdXRoMi1vaWRjL2lzc3Vlcy84NTAjaXNzdWVjb21tZW50LTg4OTkyMTc3NiBmaXggc2lsZW50IHJlZnJlc2ggZm9yIHRoZSBpbXBsaWNpdCBmbG93XG4gICAgICogaHR0cHM6Ly9naXRodWIuY29tL21hbmZyZWRzdGV5ZXIvYW5ndWxhci1vYXV0aDItb2lkYy9pc3N1ZXMvODUwI2lzc3VlY29tbWVudC0xNTU3Mjg2OTY2IGZpeCByZWZyZXNoIHRva2VuIGZvciB0aGUgY29kZSBmbG93XG4gICAgICovXG4gICAgcHJpdmF0ZSBhbGxvd1JlZnJlc2hUb2tlbkFuZFNpbGVudFJlZnJlc2hPbk11bHRpcGxlVGFicygpIHtcbiAgICAgICAgbGV0IGxhc3RVcGRhdGVkQWNjZXNzVG9rZW46IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAodGhpcy5vYXV0aFNlcnZpY2UuaGFzVmFsaWRBY2Nlc3NUb2tlbigpKSB7XG4gICAgICAgICAgICBsYXN0VXBkYXRlZEFjY2Vzc1Rva2VuID0gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsUmVmcmVzaFRva2VuID0gdGhpcy5vYXV0aFNlcnZpY2UucmVmcmVzaFRva2VuLmJpbmQodGhpcy5vYXV0aFNlcnZpY2UpO1xuICAgICAgICB0aGlzLm9hdXRoU2VydmljZS5yZWZyZXNoVG9rZW4gPSAoKTogUHJvbWlzZTxUb2tlblJlc3BvbnNlPiA9PlxuICAgICAgICAgICAgbmF2aWdhdG9yLmxvY2tzLnJlcXVlc3QoYHJlZnJlc2hfdG9rZW5zXyR7bG9jYXRpb24ub3JpZ2lufWAsICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoISFsYXN0VXBkYXRlZEFjY2Vzc1Rva2VuICYmIGxhc3RVcGRhdGVkQWNjZXNzVG9rZW4gIT09IHRoaXMub2F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMub2F1dGhTZXJ2aWNlIGFzIGFueSkuZXZlbnRzU3ViamVjdC5uZXh0KG5ldyBPQXV0aFN1Y2Nlc3NFdmVudCgndG9rZW5fcmVjZWl2ZWQnKSk7XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLm9hdXRoU2VydmljZSBhcyBhbnkpLmV2ZW50c1N1YmplY3QubmV4dChuZXcgT0F1dGhTdWNjZXNzRXZlbnQoJ3Rva2VuX3JlZnJlc2hlZCcpKTtcbiAgICAgICAgICAgICAgICAgICAgbGFzdFVwZGF0ZWRBY2Nlc3NUb2tlbiA9IHRoaXMub2F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxSZWZyZXNoVG9rZW4oKS50aGVuKChyZXNwKSA9PiAobGFzdFVwZGF0ZWRBY2Nlc3NUb2tlbiA9IHJlc3AuYWNjZXNzX3Rva2VuKSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBvcmlnaW5hbFNpbGVudFJlZnJlc2ggPSB0aGlzLm9hdXRoU2VydmljZS5zaWxlbnRSZWZyZXNoLmJpbmQodGhpcy5vYXV0aFNlcnZpY2UpO1xuICAgICAgICB0aGlzLm9hdXRoU2VydmljZS5zaWxlbnRSZWZyZXNoID0gYXN5bmMgKHBhcmFtczogYW55ID0ge30sIG5vUHJvbXB0ID0gdHJ1ZSk6IFByb21pc2U8T0F1dGhFdmVudD4gPT5cbiAgICAgICAgICAgIG5hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0KGBzaWxlbnRfcmVmcmVzaF8ke2xvY2F0aW9uLm9yaWdpbn1gLCBhc3luYyAoKTogUHJvbWlzZTxPQXV0aEV2ZW50PiA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGxhc3RVcGRhdGVkQWNjZXNzVG9rZW4gIT09IHRoaXMub2F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMub2F1dGhTZXJ2aWNlIGFzIGFueSkuZXZlbnRzU3ViamVjdC5uZXh0KG5ldyBPQXV0aFN1Y2Nlc3NFdmVudCgndG9rZW5fcmVjZWl2ZWQnKSk7XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLm9hdXRoU2VydmljZSBhcyBhbnkpLmV2ZW50c1N1YmplY3QubmV4dChuZXcgT0F1dGhTdWNjZXNzRXZlbnQoJ3Rva2VuX3JlZnJlc2hlZCcpKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgT0F1dGhTdWNjZXNzRXZlbnQoJ3NpbGVudGx5X3JlZnJlc2hlZCcpO1xuICAgICAgICAgICAgICAgICAgICAodGhpcy5vYXV0aFNlcnZpY2UgYXMgYW55KS5ldmVudHNTdWJqZWN0Lm5leHQoZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICBsYXN0VXBkYXRlZEFjY2Vzc1Rva2VuID0gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbFNpbGVudFJlZnJlc2gocGFyYW1zLCBub1Byb21wdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlSURQQ29uZmlndXJhdGlvbihjb25maWc6IEF1dGhDb25maWcpIHtcbiAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UuY29uZmlndXJlKGNvbmZpZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSB0b2tlbiBoYXMgZXhwaXJlZC5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIHJldHJpZXZlcyB0aGUgaWRlbnRpdHkgY2xhaW1zIGZyb20gdGhlIE9BdXRoIHNlcnZpY2UgYW5kIGNhbGN1bGF0ZXNcbiAgICAgKiB0aGUgdG9rZW4ncyBpc3N1ZWQgYW5kIGV4cGlyYXRpb24gdGltZXMuIEl0IHRoZW4gY29tcGFyZXMgdGhlIGN1cnJlbnQgdGltZSB3aXRoXG4gICAgICogdGhlc2UgdmFsdWVzLCBjb25zaWRlcmluZyBhIGNsb2NrIHNrZXcgYW5kIGEgY29uZmlndXJhYmxlIGV4cGlyYXRpb24gZGVjcmVhc2UuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyAtIFJldHVybnMgYHRydWVgIGlmIHRoZSB0b2tlbiBoYXMgZXhwaXJlZCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgdG9rZW5IYXNFeHBpcmVkKCkge1xuICAgICAgICBjb25zdCBjbGFpbXMgPSB0aGlzLm9hdXRoU2VydmljZS5nZXRJZGVudGl0eUNsYWltcygpO1xuICAgICAgICBpZiAoIWNsYWltcykge1xuICAgICAgICAgICAgdGhpcy5fb2F1dGhMb2dnZXIud2FybignTm8gY2xhaW1zIGZvdW5kIGluIHRoZSB0b2tlbicpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IGlzc3VlZEF0TVNlYyA9IGNsYWltcy5pYXQgKiAxMDAwO1xuICAgICAgICBjb25zdCBleHBpcmVzQXRNU2VjID0gY2xhaW1zLmV4cCAqIDEwMDA7XG4gICAgICAgIGNvbnN0IGNsb2NrU2tld0luTVNlYyA9IHRoaXMub2F1dGhTZXJ2aWNlLmNsb2NrU2tld0luU2VjICogMTAwMDtcblxuICAgICAgICB0aGlzLnNob3dUb2tlbkV4cGlyZWREZWJ1Z0luZm9ybWF0aW9ucyhub3csIGlzc3VlZEF0TVNlYywgZXhwaXJlc0F0TVNlYywgY2xvY2tTa2V3SW5NU2VjKTtcbiAgICAgICAgcmV0dXJuIGlzc3VlZEF0TVNlYyAtIGNsb2NrU2tld0luTVNlYyA+PSBub3cgfHwgZXhwaXJlc0F0TVNlYyArIGNsb2NrU2tld0luTVNlYyAtIHRoaXMub2F1dGhTZXJ2aWNlLmRlY3JlYXNlRXhwaXJhdGlvbkJ5U2VjIDw9IG5vdztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dUb2tlbkV4cGlyZWREZWJ1Z0luZm9ybWF0aW9ucyhub3c6IG51bWJlciwgaXNzdWVkQXRNU2VjOiBudW1iZXIsIGV4cGlyZXNBdE1TZWM6IG51bWJlciwgY2xvY2tTa2V3SW5NU2VjOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMub2F1dGhTZXJ2aWNlLnNob3dEZWJ1Z0luZm9ybWF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9vYXV0aExvZ2dlci53YXJuKCdub3c6ICcsIG5ldyBEYXRlKG5vdykpO1xuICAgICAgICAgICAgdGhpcy5fb2F1dGhMb2dnZXIud2FybignaXNzdWVkQXQ6ICcsIG5ldyBEYXRlKGlzc3VlZEF0TVNlYykpO1xuICAgICAgICAgICAgdGhpcy5fb2F1dGhMb2dnZXIud2FybignZXhwaXJlc0F0OiAnLCBuZXcgRGF0ZShleHBpcmVzQXRNU2VjKSk7XG4gICAgICAgICAgICB0aGlzLl9vYXV0aExvZ2dlci53YXJuKCdjbG9ja1NrZXdJbk1TZWM6ICcsIGNsb2NrU2tld0luTVNlYyk7XG4gICAgICAgICAgICB0aGlzLl9vYXV0aExvZ2dlci53YXJuKCd0aGlzLm9hdXRoU2VydmljZS5kZWNyZWFzZUV4cGlyYXRpb25CeVNlYzogJywgdGhpcy5vYXV0aFNlcnZpY2UuZGVjcmVhc2VFeHBpcmF0aW9uQnlTZWMpO1xuICAgICAgICAgICAgdGhpcy5fb2F1dGhMb2dnZXIud2FybignaXNzdWVkQXRNU2VjIC0gY2xvY2tTa2V3SW5NU2VjID49IG5vdzogJywgaXNzdWVkQXRNU2VjIC0gY2xvY2tTa2V3SW5NU2VjID49IG5vdyk7XG4gICAgICAgICAgICB0aGlzLl9vYXV0aExvZ2dlci53YXJuKFxuICAgICAgICAgICAgICAgICdleHBpcmVzQXRNU2VjICsgY2xvY2tTa2V3SW5NU2VjIC0gdGhpcy5vYXV0aFNlcnZpY2UuZGVjcmVhc2VFeHBpcmF0aW9uQnlTZWMgPD0gbm93OiAnLFxuICAgICAgICAgICAgICAgIGV4cGlyZXNBdE1TZWMgKyBjbG9ja1NrZXdJbk1TZWMgLSB0aGlzLm9hdXRoU2VydmljZS5kZWNyZWFzZUV4cGlyYXRpb25CeVNlYyA8PSBub3dcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXJlY3QtYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hdXRoL29pZGMvcmVkaXJlY3QtYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQ0gsVUFBVSxFQUNWLFdBQVcsRUFDWCxlQUFlLEVBRWYsWUFBWSxFQUNaLFlBQVksRUFHWixpQkFBaUIsRUFDakIsV0FBVyxFQUNkLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLElBQUksRUFBYyxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFFaEUsTUFBTSxTQUFTLEdBQUcsQ0FBSSxLQUFxQixFQUF1QixFQUFFLENBQUMsS0FBSyxJQUFJLE9BQVEsS0FBb0IsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDO0FBRy9ILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUFXO0lBdUVoRDs7OztPQUlHO0lBQ0gsSUFBSSxhQUFhO1FB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LENBQUMsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUNqSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyx5Q0FBeUMsRUFBRSxZQUFZLEdBQUcsZUFBZSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ3pHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUNsQixzRkFBc0YsRUFDdEYsYUFBYSxHQUFHLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixJQUFJLEdBQUcsQ0FDckYsQ0FBQztTQUNMO0lBQ0wsQ0FBQzs4R0E1WVEsbUJBQW1CLDBFQWlHaUUsV0FBVztrSEFqRy9GLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVTs7MEJBa0crRSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEF1dGhDb25maWcsXG4gICAgQVVUSF9DT05GSUcsXG4gICAgT0F1dGhFcnJvckV2ZW50LFxuICAgIE9BdXRoRXZlbnQsXG4gICAgT0F1dGhTZXJ2aWNlLFxuICAgIE9BdXRoU3RvcmFnZSxcbiAgICBUb2tlblJlc3BvbnNlLFxuICAgIExvZ2luT3B0aW9ucyxcbiAgICBPQXV0aFN1Y2Nlc3NFdmVudCxcbiAgICBPQXV0aExvZ2dlclxufSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IEp3a3NWYWxpZGF0aW9uSGFuZGxlciB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMtandrcyc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCByYWNlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEFVVEhfTU9EVUxFX0NPTkZJRywgQXV0aE1vZHVsZUNvbmZpZyB9IGZyb20gJy4vYXV0aC1jb25maWcnO1xuaW1wb3J0IHsgUmV0cnlMb2dpblNlcnZpY2UgfSBmcm9tICcuL3JldHJ5LWxvZ2luLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGltZVN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGltZS1zeW5jLnNlcnZpY2UnO1xuXG5jb25zdCBpc1Byb21pc2UgPSA8VD4odmFsdWU6IFQgfCBQcm9taXNlPFQ+KTogdmFsdWUgaXMgUHJvbWlzZTxUPiA9PiB2YWx1ZSAmJiB0eXBlb2YgKHZhbHVlIGFzIFByb21pc2U8VD4pLnRoZW4gPT09ICdmdW5jdGlvbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZWRpcmVjdEF1dGhTZXJ2aWNlIGV4dGVuZHMgQXV0aFNlcnZpY2Uge1xuICAgIHJlYWRvbmx5IGF1dGhNb2R1bGVDb25maWc6IEF1dGhNb2R1bGVDb25maWcgPSBpbmplY3QoQVVUSF9NT0RVTEVfQ09ORklHKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yZXRyeUxvZ2luU2VydmljZTogUmV0cnlMb2dpblNlcnZpY2UgPSBpbmplY3QoUmV0cnlMb2dpblNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29hdXRoTG9nZ2VyOiBPQXV0aExvZ2dlciA9IGluamVjdChPQXV0aExvZ2dlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGltZVN5bmNTZXJ2aWNlOiBUaW1lU3luY1NlcnZpY2UgPSBpbmplY3QoVGltZVN5bmNTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgX2lzRGlzY292ZXJ5RG9jdW1lbnRMb2FkZWRTdWJqZWN0JCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgcHVibGljIGlzRGlzY292ZXJ5RG9jdW1lbnRMb2FkZWQkID0gdGhpcy5faXNEaXNjb3ZlcnlEb2N1bWVudExvYWRlZFN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgb25Mb2dpbjogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gICAgb25Ub2tlblJlY2VpdmVkOiBPYnNlcnZhYmxlPGFueT47XG5cbiAgICBwcml2YXRlIF9sb2FkRGlzY292ZXJ5RG9jdW1lbnRQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgc3RyZWFtIHRoYXQgZW1pdHMgd2hlbiB0aGUgdXNlciBsb2dzIG91dC5cbiAgICAgKlxuICAgICAqIFRoaXMgb2JzZXJ2YWJsZSBsaXN0ZW5zIHRvIHRoZSBldmVudHMgZW1pdHRlZCBieSB0aGUgT0F1dGggc2VydmljZSBhbmQgZmlsdGVyc1xuICAgICAqIHRoZW0gdG8gb25seSBpbmNsdWRlIGluc3RhbmNlcyBvZiBPQXV0aFN1Y2Nlc3NFdmVudCB3aXRoIHRoZSB0eXBlIGBsb2dvdXRgLlxuICAgICAqL1xuICAgIG9uTG9nb3V0JDogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgc3RyZWFtIHRoYXQgZW1pdHMgT0F1dGhFcnJvckV2ZW50IGluc3RhbmNlcy5cbiAgICAgKlxuICAgICAqIFRoaXMgb2JzZXJ2YWJsZSBsaXN0ZW5zIHRvIHRoZSBldmVudHMgZW1pdHRlZCBieSB0aGUgT0F1dGggc2VydmljZSBhbmQgZmlsdGVyc1xuICAgICAqIHRoZW0gdG8gb25seSBpbmNsdWRlIGluc3RhbmNlcyBvZiBPQXV0aEVycm9yRXZlbnQuIEl0IHRoZW4gbWFwcyB0aGVzZSBldmVudHNcbiAgICAgKiB0byB0aGUgY29ycmVjdCB0eXBlLlxuICAgICAqL1xuICAgIG9hdXRoRXJyb3JFdmVudCQ6IE9ic2VydmFibGU8T0F1dGhFcnJvckV2ZW50PjtcblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgc3RyZWFtIHRoYXQgZW1pdHMgdGhlIGZpcnN0IE9BdXRoIGVycm9yIGV2ZW50IHRoYXQgb2NjdXJzLlxuICAgICAqL1xuICAgIGZpcnN0T2F1dGhFcnJvckV2ZW50T2NjdXIkOiBPYnNlcnZhYmxlPE9BdXRoRXJyb3JFdmVudD47XG5cbiAgICAvKipcbiAgICAgKiBPYnNlcnZhYmxlIHN0cmVhbSB0aGF0IGVtaXRzIHRoZSBmaXJzdCBPQXV0aCBlcnJvciBldmVudCB0aGF0IG9jY3VycywgZXhjbHVkaW5nIHRva2VuIHJlZnJlc2ggZXJyb3JzLlxuICAgICAqL1xuICAgIGZpcnN0T2F1dGhFcnJvckV2ZW50RXhjbHVkaW5nVG9rZW5SZWZyZXNoRXJyb3IkOiBPYnNlcnZhYmxlPE9BdXRoRXJyb3JFdmVudD47XG5cbiAgICAvKipcbiAgICAgKiBPYnNlcnZhYmxlIHN0cmVhbSB0aGF0IGVtaXRzIHRoZSBzZWNvbmQgT0F1dGggdG9rZW4gcmVmcmVzaCBlcnJvciBldmVudCB0aGF0IG9jY3Vycy5cbiAgICAgKi9cbiAgICBzZWNvbmRUb2tlblJlZnJlc2hFcnJvckV2ZW50T2NjdXIkOiBPYnNlcnZhYmxlPE9BdXRoRXJyb3JFdmVudD47XG5cbiAgICAvKipcbiAgICAgKiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gZXJyb3Igd2hlbiB0aGUgdG9rZW4gaGFzIGV4cGlyZWQgZHVlIHRvXG4gICAgICogdGhlIGxvY2FsIG1hY2hpbmUgY2xvY2sgYmVpbmcgb3V0IG9mIHN5bmMgd2l0aCB0aGUgc2VydmVyIHRpbWUuXG4gICAgICovXG4gICAgdG9rZW5IYXNFeHBpcmVkRHVlVG9DbG9ja091dE9mU3luYyQ6IE9ic2VydmFibGU8RXJyb3I+O1xuXG4gICAgLyoqXG4gICAgICogT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFuIGVycm9yIHdoZW4gdGhlIE9BdXRoIGVycm9yIGV2ZW50IG9jY3VycyBkdWUgdG9cbiAgICAgKiB0aGUgbG9jYWwgbWFjaGluZSBjbG9jayBiZWluZyBvdXQgb2Ygc3luYyB3aXRoIHRoZSBzZXJ2ZXIgdGltZS5cbiAgICAgKi9cbiAgICBvYXV0aEVycm9yRXZlbnRPY2N1ckR1ZVRvQ2xvY2tPdXRPZlN5bmMkOiBPYnNlcnZhYmxlPEVycm9yPjtcblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgc3RyZWFtIHRoYXQgZW1pdHMgZWl0aGVyIE9BdXRoRXJyb3JFdmVudCBvciBFcnJvci5cbiAgICAgKiBUaGlzIHN0cmVhbSBjb21iaW5lcyBtdWx0aXBsZSBPQXV0aCBlcnJvciBzb3VyY2VzIGludG8gYSBzaW5nbGUgb2JzZXJ2YWJsZS5cbiAgICAgKi9cbiAgICBjb21iaW5lZE9BdXRoRXJyb3JzU3RyZWFtJDogT2JzZXJ2YWJsZTxPQXV0aEVycm9yRXZlbnQgfCBFcnJvcj47XG5cbiAgICAvKiogU3Vic2NyaWJlIHRvIHdoZXRoZXIgdGhlIHVzZXIgaGFzIHZhbGlkIElkL0FjY2VzcyB0b2tlbnMuICAqL1xuICAgIGF1dGhlbnRpY2F0ZWQkITogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIC8qKiBTdWJzY3JpYmUgdG8gZXJyb3JzIHJlYWNoaW5nIHRoZSBJZFAuICovXG4gICAgaWRwVW5yZWFjaGFibGUkITogT2JzZXJ2YWJsZTxFcnJvcj47XG5cbiAgICAvKipcbiAgICAgKiBHZXQgd2hldGhlciB0aGUgdXNlciBoYXMgdmFsaWQgSWQvQWNjZXNzIHRva2Vucy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGVkLCBvdGhlcndpc2UgYGZhbHNlYFxuICAgICAqL1xuICAgIGdldCBhdXRoZW50aWNhdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vYXV0aFNlcnZpY2UuaGFzVmFsaWRJZFRva2VuKCkgJiYgdGhpcy5vYXV0aFNlcnZpY2UuaGFzVmFsaWRBY2Nlc3NUb2tlbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXV0aENvbmZpZyE6IEF1dGhDb25maWcgfCBQcm9taXNlPEF1dGhDb25maWc+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBBVVRIX1NUT1JBR0VfSVRFTVM6IHN0cmluZ1tdID0gW1xuICAgICAgICAnYWNjZXNzX3Rva2VuJyxcbiAgICAgICAgJ2FjY2Vzc190b2tlbl9zdG9yZWRfYXQnLFxuICAgICAgICAnZXhwaXJlc19hdCcsXG4gICAgICAgICdncmFudGVkX3Njb3BlcycsXG4gICAgICAgICdpZF90b2tlbicsXG4gICAgICAgICdpZF90b2tlbl9jbGFpbXNfb2JqJyxcbiAgICAgICAgJ2lkX3Rva2VuX2V4cGlyZXNfYXQnLFxuICAgICAgICAnaWRfdG9rZW5fc3RvcmVkX2F0JyxcbiAgICAgICAgJ25vbmNlJyxcbiAgICAgICAgJ1BLQ0VfdmVyaWZpZXInLFxuICAgICAgICAncmVmcmVzaF90b2tlbicsXG4gICAgICAgICdzZXNzaW9uX3N0YXRlJ1xuICAgIF07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLCBwcml2YXRlIF9vYXV0aFN0b3JhZ2U6IE9BdXRoU3RvcmFnZSwgQEluamVjdChBVVRIX0NPTkZJRykgYXV0aENvbmZpZzogQXV0aENvbmZpZykge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuYXV0aENvbmZpZyA9IGF1dGhDb25maWc7XG5cbiAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UuY2xlYXJIYXNoQWZ0ZXJMb2dpbiA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UuZXZlbnRzLnBpcGUoZmlsdGVyKCgpID0+IG9hdXRoU2VydmljZS5zaG93RGVidWdJbmZvcm1hdGlvbikpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE9BdXRoRXJyb3JFdmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX29hdXRoTG9nZ2VyLmVycm9yKCdPQXV0aEVycm9yRXZlbnQgT2JqZWN0OicsIGV2ZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb2F1dGhMb2dnZXIuaW5mbygnT0F1dGhFdmVudCBPYmplY3Q6JywgZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9hdXRoRXJyb3JFdmVudCQgPSB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgT0F1dGhFcnJvckV2ZW50KSxcbiAgICAgICAgICAgIG1hcCgoZXZlbnQpID0+IGV2ZW50IGFzIE9BdXRoRXJyb3JFdmVudClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmZpcnN0T2F1dGhFcnJvckV2ZW50T2NjdXIkID0gdGhpcy5vYXV0aEVycm9yRXZlbnQkLnBpcGUodGFrZSgxKSk7XG5cbiAgICAgICAgdGhpcy5maXJzdE9hdXRoRXJyb3JFdmVudEV4Y2x1ZGluZ1Rva2VuUmVmcmVzaEVycm9yJCA9IHRoaXMub2F1dGhFcnJvckV2ZW50JC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBPQXV0aEVycm9yRXZlbnQgJiYgZXZlbnQudHlwZSAhPT0gJ3Rva2VuX3JlZnJlc2hfZXJyb3InKSxcbiAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnNlY29uZFRva2VuUmVmcmVzaEVycm9yRXZlbnRPY2N1ciQgPSB0aGlzLm9hdXRoRXJyb3JFdmVudCQucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LnR5cGUgPT09ICd0b2tlbl9yZWZyZXNoX2Vycm9yJyksXG4gICAgICAgICAgICB0YWtlKDIpLFxuICAgICAgICAgICAgZmlsdGVyKChfLCBpbmRleCkgPT4gaW5kZXggPT09IDEpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5vYXV0aEVycm9yRXZlbnRPY2N1ckR1ZVRvQ2xvY2tPdXRPZlN5bmMkID0gdGhpcy5vYXV0aEVycm9yRXZlbnQkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fdGltZVN5bmNTZXJ2aWNlLmNoZWNrVGltZVN5bmModGhpcy5vYXV0aFNlcnZpY2UuY2xvY2tTa2V3SW5TZWMpKSxcbiAgICAgICAgICAgIGZpbHRlcigodGltZVN5bmMpID0+IHRpbWVTeW5jPy5vdXRPZlN5bmMpLFxuICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICh0aW1lU3luYykgPT5cbiAgICAgICAgICAgICAgICAgICAgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgYE9BdXRoIGVycm9yIG9jY3VycmVkIGR1ZSB0byBsb2NhbCBtYWNoaW5lIGNsb2NrICR7dGltZVN5bmMubG9jYWxEYXRlVGltZUlTT30gYmVpbmcgb3V0IG9mIHN5bmMgd2l0aCBzZXJ2ZXIgdGltZSAke3RpbWVTeW5jLnNlcnZlckRhdGVUaW1lSVNPfWBcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0ZWQkID0gdGhpcy5vYXV0aFNlcnZpY2UuZXZlbnRzLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5hdXRoZW50aWNhdGVkKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMudG9rZW5IYXNFeHBpcmVkRHVlVG9DbG9ja091dE9mU3luYyQgPSB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiAhIXRoaXMub2F1dGhTZXJ2aWNlLmdldElkZW50aXR5Q2xhaW1zKCkgJiYgdGhpcy50b2tlbkhhc0V4cGlyZWQoKSksXG4gICAgICAgICAgICBmaWx0ZXIoKGhhc0V4cGlyZWQpID0+IGhhc0V4cGlyZWQpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuX3RpbWVTeW5jU2VydmljZS5jaGVja1RpbWVTeW5jKHRoaXMub2F1dGhTZXJ2aWNlLmNsb2NrU2tld0luU2VjKSksXG4gICAgICAgICAgICBmaWx0ZXIoKHRpbWVTeW5jKSA9PiB0aW1lU3luYz8ub3V0T2ZTeW5jKSxcbiAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAodGltZVN5bmMpID0+XG4gICAgICAgICAgICAgICAgICAgIG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGBUb2tlbiBoYXMgZXhwaXJlZCBkdWUgdG8gbG9jYWwgbWFjaGluZSBjbG9jayAke3RpbWVTeW5jLmxvY2FsRGF0ZVRpbWVJU099IGJlaW5nIG91dCBvZiBzeW5jIHdpdGggc2VydmVyIHRpbWUgJHt0aW1lU3luYy5zZXJ2ZXJEYXRlVGltZUlTT31gXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0YWtlKDEpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5vbkxvZ291dCQgPSB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LnR5cGUgPT09ICdsb2dvdXQnKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB1bmRlZmluZWQpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jb21iaW5lZE9BdXRoRXJyb3JzU3RyZWFtJCA9IHJhY2UoW1xuICAgICAgICAgICAgdGhpcy5vYXV0aEVycm9yRXZlbnRPY2N1ckR1ZVRvQ2xvY2tPdXRPZlN5bmMkLFxuICAgICAgICAgICAgdGhpcy5maXJzdE9hdXRoRXJyb3JFdmVudEV4Y2x1ZGluZ1Rva2VuUmVmcmVzaEVycm9yJCxcbiAgICAgICAgICAgIHRoaXMudG9rZW5IYXNFeHBpcmVkRHVlVG9DbG9ja091dE9mU3luYyQsXG4gICAgICAgICAgICB0aGlzLnNlY29uZFRva2VuUmVmcmVzaEVycm9yRXZlbnRPY2N1ciRcbiAgICAgICAgXSk7XG5cbiAgICAgICAgdGhpcy5jb21iaW5lZE9BdXRoRXJyb3JzU3RyZWFtJC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX29hdXRoTG9nZ2VyLmVycm9yKHJlcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dvdXQoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKCkgPT4ge31cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UuZXZlbnRzLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm9hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbigpICYmICF0aGlzLm9hdXRoU2VydmljZS5oYXNWYWxpZEFjY2Vzc1Rva2VuKCkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vYXV0aFNlcnZpY2Uuc2hvd0RlYnVnSW5mb3JtYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb2F1dGhMb2dnZXIud2FybignQWNjZXNzIHRva2VuIG5vdCB2YWxpZC4gUmVtb3ZpbmcgYWxsIGF1dGggaXRlbXMgZnJvbSBzdG9yYWdlJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuQVVUSF9TVE9SQUdFX0lURU1TLm1hcCgoaXRlbTogc3RyaW5nKSA9PiB0aGlzLl9vYXV0aFN0b3JhZ2UucmVtb3ZlSXRlbShpdGVtKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub25Mb2dpbiA9IHRoaXMuYXV0aGVudGljYXRlZCQucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoYXV0aGVudGljYXRlZCkgPT4gYXV0aGVudGljYXRlZCksXG4gICAgICAgICAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMub25Ub2tlblJlY2VpdmVkID0gdGhpcy5vYXV0aFNlcnZpY2UuZXZlbnRzLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBPQXV0aEV2ZW50KSA9PiBldmVudC50eXBlID09PSAndG9rZW5fcmVjZWl2ZWQnKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB1bmRlZmluZWQpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5pZHBVbnJlYWNoYWJsZSQgPSB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpOiBldmVudCBpcyBPQXV0aEVycm9yRXZlbnQgPT4gZXZlbnQudHlwZSA9PT0gJ2Rpc2NvdmVyeV9kb2N1bWVudF9sb2FkX2Vycm9yJyksXG4gICAgICAgICAgICBtYXAoKGV2ZW50KSA9PiBldmVudC5yZWFzb24gYXMgRXJyb3IpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaW5pdCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgaWYgKGlzUHJvbWlzZSh0aGlzLmF1dGhDb25maWcpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hdXRoQ29uZmlnLnRoZW4oKGNvbmZpZykgPT4gdGhpcy5jb25maWd1cmVBdXRoKGNvbmZpZykpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlndXJlQXV0aCh0aGlzLmF1dGhDb25maWcpO1xuICAgIH1cblxuICAgIGxvZ291dCgpIHtcbiAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UubG9nT3V0KCk7XG4gICAgfVxuXG4gICAgZW5zdXJlRGlzY292ZXJ5RG9jdW1lbnQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHRoaXMuX2xvYWREaXNjb3ZlcnlEb2N1bWVudFByb21pc2UgPSB0aGlzLl9sb2FkRGlzY292ZXJ5RG9jdW1lbnRQcm9taXNlXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4gZmFsc2UpXG4gICAgICAgICAgICAudGhlbigobG9hZGVkKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFsb2FkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub2F1dGhTZXJ2aWNlLmxvYWREaXNjb3ZlcnlEb2N1bWVudCgpLnRoZW4oKCkgPT4gdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkRGlzY292ZXJ5RG9jdW1lbnRQcm9taXNlO1xuICAgIH1cblxuICAgIGxvZ2luKGN1cnJlbnRVcmw/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgbGV0IHN0YXRlS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRVcmwpIHtcbiAgICAgICAgICAgIGNvbnN0IHJhbmRvbVZhbHVlID0gd2luZG93LmNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQzMkFycmF5KDEpKVswXTtcbiAgICAgICAgICAgIHN0YXRlS2V5ID0gYGF1dGhfc3RhdGVfJHtyYW5kb21WYWx1ZX0ke0RhdGUubm93KCl9YDtcbiAgICAgICAgICAgIHRoaXMuX29hdXRoU3RvcmFnZS5zZXRJdGVtKHN0YXRlS2V5LCBKU09OLnN0cmluZ2lmeShjdXJyZW50VXJsIHx8IHt9KSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbml0TG9naW5GbG93IHdpbGwgaW5pdGlhbGl6ZSB0aGUgbG9naW4gZmxvdyBpbiBlaXRoZXIgY29kZSBvciBpbXBsaWNpdCBkZXBlbmRpbmcgb24gdGhlIGNvbmZpZ3VyYXRpb25cbiAgICAgICAgdGhpcy5lbnN1cmVEaXNjb3ZlcnlEb2N1bWVudCgpLnRoZW4oKCkgPT4gdm9pZCB0aGlzLm9hdXRoU2VydmljZS5pbml0TG9naW5GbG93KHN0YXRlS2V5KSk7XG4gICAgfVxuXG4gICAgYmFzZUF1dGhMb2dpbih1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUb2tlblJlc3BvbnNlPiB7XG4gICAgICAgIHRoaXMub2F1dGhTZXJ2aWNlLnVzZUh0dHBCYXNpY0F1dGggPSB0cnVlO1xuXG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMub2F1dGhTZXJ2aWNlLmZldGNoVG9rZW5Vc2luZ1Bhc3N3b3JkRmxvdyh1c2VybmFtZSwgcGFzc3dvcmQpKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByb3BzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgICAgICAgICAgICAgICBwcm9wcy5zZXQoJ2lkX3Rva2VuJywgcmVzcG9uc2UuaWRfdG9rZW4pO1xuICAgICAgICAgICAgICAgIC8vIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdlIG5lZWQgdG8gc2V0IHRoZSByZXNwb25zZSBpbiBvdXIgc3RvcmFnZVxuICAgICAgICAgICAgICAgIHRoaXMub2F1dGhTZXJ2aWNlWydzdG9yZUFjY2Vzc1Rva2VuUmVzcG9uc2UnXShcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UuYWNjZXNzX3Rva2VuLFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWZyZXNoX3Rva2VuLFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5leHBpcmVzX2luLFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5zY29wZSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcHNcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgYXN5bmMgbG9naW5DYWxsYmFjayhsb2dpbk9wdGlvbnM/OiBMb2dpbk9wdGlvbnMpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnN1cmVEaXNjb3ZlcnlEb2N1bWVudCgpXG4gICAgICAgICAgICAudGhlbigoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuX3JldHJ5TG9naW5TZXJ2aWNlLnRyeVRvTG9naW5UaW1lcyh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmxvZ2luT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgcHJldmVudENsZWFySGFzaEFmdGVyTG9naW46IHRoaXMuYXV0aE1vZHVsZUNvbmZpZy5wcmV2ZW50Q2xlYXJIYXNoQWZ0ZXJMb2dpblxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbigoKSA9PiB0aGlzLl9nZXRSZWRpcmVjdFVybCgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRSZWRpcmVjdFVybCgpIHtcbiAgICAgICAgY29uc3QgREVGQVVMVF9SRURJUkVDVCA9ICcvJztcbiAgICAgICAgY29uc3Qgc3RhdGVLZXkgPSB0aGlzLm9hdXRoU2VydmljZS5zdGF0ZTtcblxuICAgICAgICBpZiAoc3RhdGVLZXkpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlU3RyaW5naWZpZWQgPSB0aGlzLl9vYXV0aFN0b3JhZ2UuZ2V0SXRlbShzdGF0ZUtleSk7XG4gICAgICAgICAgICBpZiAoc3RhdGVTdHJpbmdpZmllZCkge1xuICAgICAgICAgICAgICAgIC8vIGNsZWFudXAgc3RhdGUgZnJvbSBzdG9yYWdlXG4gICAgICAgICAgICAgICAgdGhpcy5fb2F1dGhTdG9yYWdlLnJlbW92ZUl0ZW0oc3RhdGVLZXkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHN0YXRlU3RyaW5naWZpZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIERFRkFVTFRfUkVESVJFQ1Q7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb25maWd1cmVBdXRoKGNvbmZpZzogQXV0aENvbmZpZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICB0aGlzLm9hdXRoU2VydmljZS5jb25maWd1cmUoY29uZmlnKTtcbiAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UudG9rZW5WYWxpZGF0aW9uSGFuZGxlciA9IG5ldyBKd2tzVmFsaWRhdGlvbkhhbmRsZXIoKTtcblxuICAgICAgICBpZiAoY29uZmlnLnNlc3Npb25DaGVja3NFbmFibGVkKSB7XG4gICAgICAgICAgICB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudC50eXBlID09PSAnc2Vzc2lvbl90ZXJtaW5hdGVkJykpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UubG9nT3V0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmVuc3VyZURpc2NvdmVyeURvY3VtZW50KClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9pc0Rpc2NvdmVyeURvY3VtZW50TG9hZGVkU3ViamVjdCQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9hdXRoU2VydmljZS5zZXR1cEF1dG9tYXRpY1NpbGVudFJlZnJlc2goKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdm9pZCB0aGlzLmFsbG93UmVmcmVzaFRva2VuQW5kU2lsZW50UmVmcmVzaE9uTXVsdGlwbGVUYWJzKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBjYXRjaCBlcnJvciB0byBwcmV2ZW50IHRoZSBhcHAgZnJvbSBjcmFzaGluZyB3aGVuIHRyeWluZyB0byBhY2Nlc3MgdW5wcm90ZWN0ZWQgcm91dGVzXG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaXggYSBrbm93biBpc3N1ZSAoaHR0cHM6Ly9naXRodWIuY29tL21hbmZyZWRzdGV5ZXIvYW5ndWxhci1vYXV0aDItb2lkYy9pc3N1ZXMvODUwKVxuICAgICAqIHdoZXJlIG11bHRpcGxlIHRhYnMgY2FuIGNhdXNlIHRoZSB0b2tlbiByZWZyZXNoIGFuZCB0aGUgc2lsZW50IHJlZnJlc2ggdG8gZmFpbC5cbiAgICAgKiBUaGlzIHBhdGNoIGlzIGJhc2VkIG9uIHRoZSBzb2x1dGlvbnMgcHJvdmlkZWQgaW4gdGhlIGZvbGxvd2luZyBjb21tZW50czpcbiAgICAgKiBodHRwczovL2dpdGh1Yi5jb20vbWFuZnJlZHN0ZXllci9hbmd1bGFyLW9hdXRoMi1vaWRjL2lzc3Vlcy84NTAjaXNzdWVjb21tZW50LTg4OTkyMTc3NiBmaXggc2lsZW50IHJlZnJlc2ggZm9yIHRoZSBpbXBsaWNpdCBmbG93XG4gICAgICogaHR0cHM6Ly9naXRodWIuY29tL21hbmZyZWRzdGV5ZXIvYW5ndWxhci1vYXV0aDItb2lkYy9pc3N1ZXMvODUwI2lzc3VlY29tbWVudC0xNTU3Mjg2OTY2IGZpeCByZWZyZXNoIHRva2VuIGZvciB0aGUgY29kZSBmbG93XG4gICAgICovXG4gICAgcHJpdmF0ZSBhbGxvd1JlZnJlc2hUb2tlbkFuZFNpbGVudFJlZnJlc2hPbk11bHRpcGxlVGFicygpIHtcbiAgICAgICAgbGV0IGxhc3RVcGRhdGVkQWNjZXNzVG9rZW46IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAodGhpcy5vYXV0aFNlcnZpY2UuaGFzVmFsaWRBY2Nlc3NUb2tlbigpKSB7XG4gICAgICAgICAgICBsYXN0VXBkYXRlZEFjY2Vzc1Rva2VuID0gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsUmVmcmVzaFRva2VuID0gdGhpcy5vYXV0aFNlcnZpY2UucmVmcmVzaFRva2VuLmJpbmQodGhpcy5vYXV0aFNlcnZpY2UpO1xuICAgICAgICB0aGlzLm9hdXRoU2VydmljZS5yZWZyZXNoVG9rZW4gPSAoKTogUHJvbWlzZTxUb2tlblJlc3BvbnNlPiA9PlxuICAgICAgICAgICAgbmF2aWdhdG9yLmxvY2tzLnJlcXVlc3QoYHJlZnJlc2hfdG9rZW5zXyR7bG9jYXRpb24ub3JpZ2lufWAsICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoISFsYXN0VXBkYXRlZEFjY2Vzc1Rva2VuICYmIGxhc3RVcGRhdGVkQWNjZXNzVG9rZW4gIT09IHRoaXMub2F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMub2F1dGhTZXJ2aWNlIGFzIGFueSkuZXZlbnRzU3ViamVjdC5uZXh0KG5ldyBPQXV0aFN1Y2Nlc3NFdmVudCgndG9rZW5fcmVjZWl2ZWQnKSk7XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLm9hdXRoU2VydmljZSBhcyBhbnkpLmV2ZW50c1N1YmplY3QubmV4dChuZXcgT0F1dGhTdWNjZXNzRXZlbnQoJ3Rva2VuX3JlZnJlc2hlZCcpKTtcbiAgICAgICAgICAgICAgICAgICAgbGFzdFVwZGF0ZWRBY2Nlc3NUb2tlbiA9IHRoaXMub2F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxSZWZyZXNoVG9rZW4oKS50aGVuKChyZXNwKSA9PiAobGFzdFVwZGF0ZWRBY2Nlc3NUb2tlbiA9IHJlc3AuYWNjZXNzX3Rva2VuKSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBvcmlnaW5hbFNpbGVudFJlZnJlc2ggPSB0aGlzLm9hdXRoU2VydmljZS5zaWxlbnRSZWZyZXNoLmJpbmQodGhpcy5vYXV0aFNlcnZpY2UpO1xuICAgICAgICB0aGlzLm9hdXRoU2VydmljZS5zaWxlbnRSZWZyZXNoID0gYXN5bmMgKHBhcmFtczogYW55ID0ge30sIG5vUHJvbXB0ID0gdHJ1ZSk6IFByb21pc2U8T0F1dGhFdmVudD4gPT5cbiAgICAgICAgICAgIG5hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0KGBzaWxlbnRfcmVmcmVzaF8ke2xvY2F0aW9uLm9yaWdpbn1gLCBhc3luYyAoKTogUHJvbWlzZTxPQXV0aEV2ZW50PiA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGxhc3RVcGRhdGVkQWNjZXNzVG9rZW4gIT09IHRoaXMub2F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMub2F1dGhTZXJ2aWNlIGFzIGFueSkuZXZlbnRzU3ViamVjdC5uZXh0KG5ldyBPQXV0aFN1Y2Nlc3NFdmVudCgndG9rZW5fcmVjZWl2ZWQnKSk7XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLm9hdXRoU2VydmljZSBhcyBhbnkpLmV2ZW50c1N1YmplY3QubmV4dChuZXcgT0F1dGhTdWNjZXNzRXZlbnQoJ3Rva2VuX3JlZnJlc2hlZCcpKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgT0F1dGhTdWNjZXNzRXZlbnQoJ3NpbGVudGx5X3JlZnJlc2hlZCcpO1xuICAgICAgICAgICAgICAgICAgICAodGhpcy5vYXV0aFNlcnZpY2UgYXMgYW55KS5ldmVudHNTdWJqZWN0Lm5leHQoZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICBsYXN0VXBkYXRlZEFjY2Vzc1Rva2VuID0gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbFNpbGVudFJlZnJlc2gocGFyYW1zLCBub1Byb21wdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlSURQQ29uZmlndXJhdGlvbihjb25maWc6IEF1dGhDb25maWcpIHtcbiAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UuY29uZmlndXJlKGNvbmZpZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSB0b2tlbiBoYXMgZXhwaXJlZC5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIHJldHJpZXZlcyB0aGUgaWRlbnRpdHkgY2xhaW1zIGZyb20gdGhlIE9BdXRoIHNlcnZpY2UgYW5kIGNhbGN1bGF0ZXNcbiAgICAgKiB0aGUgdG9rZW4ncyBpc3N1ZWQgYW5kIGV4cGlyYXRpb24gdGltZXMuIEl0IHRoZW4gY29tcGFyZXMgdGhlIGN1cnJlbnQgdGltZSB3aXRoXG4gICAgICogdGhlc2UgdmFsdWVzLCBjb25zaWRlcmluZyBhIGNsb2NrIHNrZXcgYW5kIGEgY29uZmlndXJhYmxlIGV4cGlyYXRpb24gZGVjcmVhc2UuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyAtIFJldHVybnMgYHRydWVgIGlmIHRoZSB0b2tlbiBoYXMgZXhwaXJlZCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgdG9rZW5IYXNFeHBpcmVkKCkge1xuICAgICAgICBjb25zdCBjbGFpbXMgPSB0aGlzLm9hdXRoU2VydmljZS5nZXRJZGVudGl0eUNsYWltcygpO1xuICAgICAgICBpZiAoIWNsYWltcykge1xuICAgICAgICAgICAgdGhpcy5fb2F1dGhMb2dnZXIud2FybignTm8gY2xhaW1zIGZvdW5kIGluIHRoZSB0b2tlbicpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IGlzc3VlZEF0TVNlYyA9IGNsYWltcy5pYXQgKiAxMDAwO1xuICAgICAgICBjb25zdCBleHBpcmVzQXRNU2VjID0gY2xhaW1zLmV4cCAqIDEwMDA7XG4gICAgICAgIGNvbnN0IGNsb2NrU2tld0luTVNlYyA9IHRoaXMub2F1dGhTZXJ2aWNlLmNsb2NrU2tld0luU2VjICogMTAwMDtcblxuICAgICAgICB0aGlzLnNob3dUb2tlbkV4cGlyZWREZWJ1Z0luZm9ybWF0aW9ucyhub3csIGlzc3VlZEF0TVNlYywgZXhwaXJlc0F0TVNlYywgY2xvY2tTa2V3SW5NU2VjKTtcbiAgICAgICAgcmV0dXJuIGlzc3VlZEF0TVNlYyAtIGNsb2NrU2tld0luTVNlYyA+PSBub3cgfHwgZXhwaXJlc0F0TVNlYyArIGNsb2NrU2tld0luTVNlYyAtIHRoaXMub2F1dGhTZXJ2aWNlLmRlY3JlYXNlRXhwaXJhdGlvbkJ5U2VjIDw9IG5vdztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dUb2tlbkV4cGlyZWREZWJ1Z0luZm9ybWF0aW9ucyhub3c6IG51bWJlciwgaXNzdWVkQXRNU2VjOiBudW1iZXIsIGV4cGlyZXNBdE1TZWM6IG51bWJlciwgY2xvY2tTa2V3SW5NU2VjOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMub2F1dGhTZXJ2aWNlLnNob3dEZWJ1Z0luZm9ybWF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9vYXV0aExvZ2dlci53YXJuKCdub3c6ICcsIG5ldyBEYXRlKG5vdykpO1xuICAgICAgICAgICAgdGhpcy5fb2F1dGhMb2dnZXIud2FybignaXNzdWVkQXQ6ICcsIG5ldyBEYXRlKGlzc3VlZEF0TVNlYykpO1xuICAgICAgICAgICAgdGhpcy5fb2F1dGhMb2dnZXIud2FybignZXhwaXJlc0F0OiAnLCBuZXcgRGF0ZShleHBpcmVzQXRNU2VjKSk7XG4gICAgICAgICAgICB0aGlzLl9vYXV0aExvZ2dlci53YXJuKCdjbG9ja1NrZXdJbk1TZWM6ICcsIGNsb2NrU2tld0luTVNlYyk7XG4gICAgICAgICAgICB0aGlzLl9vYXV0aExvZ2dlci53YXJuKCd0aGlzLm9hdXRoU2VydmljZS5kZWNyZWFzZUV4cGlyYXRpb25CeVNlYzogJywgdGhpcy5vYXV0aFNlcnZpY2UuZGVjcmVhc2VFeHBpcmF0aW9uQnlTZWMpO1xuICAgICAgICAgICAgdGhpcy5fb2F1dGhMb2dnZXIud2FybignaXNzdWVkQXRNU2VjIC0gY2xvY2tTa2V3SW5NU2VjID49IG5vdzogJywgaXNzdWVkQXRNU2VjIC0gY2xvY2tTa2V3SW5NU2VjID49IG5vdyk7XG4gICAgICAgICAgICB0aGlzLl9vYXV0aExvZ2dlci53YXJuKFxuICAgICAgICAgICAgICAgICdleHBpcmVzQXRNU2VjICsgY2xvY2tTa2V3SW5NU2VjIC0gdGhpcy5vYXV0aFNlcnZpY2UuZGVjcmVhc2VFeHBpcmF0aW9uQnlTZWMgPD0gbm93OiAnLFxuICAgICAgICAgICAgICAgIGV4cGlyZXNBdE1TZWMgKyBjbG9ja1NrZXdJbk1TZWMgLSB0aGlzLm9hdXRoU2VydmljZS5kZWNyZWFzZUV4cGlyYXRpb25CeVNlYyA8PSBub3dcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
63
63
  providedIn: 'root'
64
64
  }]
65
65
  }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cnktbG9naW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXV0aC9vaWRjL3JldHJ5LWxvZ2luLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFnQixlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBS2xGLE1BQU0sT0FBTyxpQkFBaUI7SUFIOUI7UUFJWSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQXdDL0M7SUF0Q0c7Ozs7OztPQU1HO0lBQ0gsZUFBZSxDQUFDLFlBQTBCLEVBQUUsZ0JBQWdCLEdBQUcsQ0FBQztRQUM1RCxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDbkIsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBRXhDLE1BQU0sWUFBWSxHQUFHLEdBQXFCLEVBQUUsQ0FDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDNUQsSUFBSSxVQUFVLEdBQUcsVUFBVSxFQUFFO2dCQUN6QixPQUFPLENBQUMsS0FBSyxDQUNULGlCQUFpQixVQUFVLEdBQUcsQ0FBQyxPQUFPLGdCQUFnQixZQUFZLFVBQVUsR0FBRyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQzdILENBQUM7Z0JBQ0YsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxZQUFZLEVBQUUsQ0FBQzthQUN6QjtpQkFBTTtnQkFDSCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUNuRSxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFUCxPQUFPLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBVSxFQUFFLGdCQUF3QjtRQUN4RCxNQUFNLGlCQUFpQixHQUFHLEtBQUssWUFBWSxlQUFlLENBQUM7UUFDM0QsSUFBSSxpQkFBeUIsQ0FBQztRQUM5QixJQUFJLGlCQUFpQixFQUFFO1lBQ25CLGlCQUFpQixHQUFJLEtBQUssQ0FBQyxNQUFjLEVBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDOUU7UUFDRCxNQUFNLGdCQUFnQixHQUFHLGlCQUFpQixJQUFJLEtBQUssQ0FBQztRQUNwRCxNQUFNLFlBQVksR0FBRyxzQkFBc0IsZ0JBQWdCLHlCQUF5QixnQkFBZ0IsRUFBRSxDQUFDO1FBQ3ZHLE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7OEdBeENRLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmQsTUFBTTs7MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2dpbk9wdGlvbnMsIE9BdXRoRXJyb3JFdmVudCwgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmV0cnlMb2dpblNlcnZpY2Uge1xuICAgIHByaXZhdGUgb2F1dGhTZXJ2aWNlID0gaW5qZWN0KE9BdXRoU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiBBdHRlbXB0cyB0byBsb2cgaW4gYSBzcGVjaWZpZWQgbnVtYmVyIG9mIHRpbWVzIGlmIHRoZSBpbml0aWFsIGxvZ2luIGF0dGVtcHQgZmFpbHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9naW5PcHRpb25zIC0gVGhlIG9wdGlvbnMgdG8gYmUgdXNlZCBmb3IgdGhlIGxvZ2luIGF0dGVtcHQuXG4gICAgICogQHBhcmFtIG1heExvZ2luQXR0ZW1wdHMgLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgbG9naW4gYXR0ZW1wdHMuIERlZmF1bHRzIHRvIDMuXG4gICAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYHRydWVgIGlmIHRoZSBsb2dpbiBpcyBzdWNjZXNzZnVsLCBvciByZWplY3RzIHdpdGggYW4gZXJyb3IgaWYgYWxsIGF0dGVtcHRzIGZhaWwuXG4gICAgICovXG4gICAgdHJ5VG9Mb2dpblRpbWVzKGxvZ2luT3B0aW9uczogTG9naW5PcHRpb25zLCBtYXhMb2dpbkF0dGVtcHRzID0gMyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBsZXQgcmV0cnlDb3VudCA9IDA7XG4gICAgICAgIGNvbnN0IG1heFJldHJpZXMgPSBtYXhMb2dpbkF0dGVtcHRzIC0gMTtcblxuICAgICAgICBjb25zdCBhdHRlbXB0TG9naW4gPSAoKTogUHJvbWlzZTxib29sZWFuPiA9PlxuICAgICAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UudHJ5TG9naW4oeyAuLi5sb2dpbk9wdGlvbnMgfSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJldHJ5Q291bnQgPCBtYXhSZXRyaWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBgTG9naW4gYXR0ZW1wdCAke3JldHJ5Q291bnQgKyAxfSBvZiAke21heExvZ2luQXR0ZW1wdHN9IGZhaWxlZC4gJHtyZXRyeUNvdW50IDwgbWF4TG9naW5BdHRlbXB0cyAtIDEgPyAnUmV0cnlpbmcuLi4nIDogJyd9YFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICByZXRyeUNvdW50Kys7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhdHRlbXB0TG9naW4oKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZShlcnJvciwgbWF4TG9naW5BdHRlbXB0cyk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBhdHRlbXB0TG9naW4oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEVycm9yTWVzc2FnZShlcnJvcjogYW55LCBtYXhMb2dpbkF0dGVtcHRzOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgaXNPQXV0aEVycm9yRXZlbnQgPSBlcnJvciBpbnN0YW5jZW9mIE9BdXRoRXJyb3JFdmVudDtcbiAgICAgICAgbGV0IG9BdXRoRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gICAgICAgIGlmIChpc09BdXRoRXJyb3JFdmVudCkge1xuICAgICAgICAgICAgb0F1dGhFcnJvck1lc3NhZ2UgPSAoZXJyb3IucmVhc29uIGFzIGFueSk/LnJlYXNvbiB8fCBlcnJvci50eXBlLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXJyb3JEZXNjcmlwdGlvbiA9IG9BdXRoRXJyb3JNZXNzYWdlIHx8IGVycm9yO1xuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgTG9naW4gZmFpbGVkIGFmdGVyICR7bWF4TG9naW5BdHRlbXB0c30gYXR0ZW1wdHMuIGNhdXNlZCBieTogJHtlcnJvckRlc2NyaXB0aW9ufWA7XG4gICAgICAgIHJldHVybiBlcnJvck1lc3NhZ2U7XG4gICAgfVxufVxuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cnktbG9naW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXV0aC9vaWRjL3JldHJ5LWxvZ2luLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFnQixlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBS2xGLE1BQU0sT0FBTyxpQkFBaUI7SUFIOUI7UUFJWSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQXdDL0M7SUF0Q0c7Ozs7OztPQU1HO0lBQ0gsZUFBZSxDQUFDLFlBQTBCLEVBQUUsZ0JBQWdCLEdBQUcsQ0FBQztRQUM1RCxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDbkIsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBRXhDLE1BQU0sWUFBWSxHQUFHLEdBQXFCLEVBQUUsQ0FDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDNUQsSUFBSSxVQUFVLEdBQUcsVUFBVSxFQUFFO2dCQUN6QixPQUFPLENBQUMsS0FBSyxDQUNULGlCQUFpQixVQUFVLEdBQUcsQ0FBQyxPQUFPLGdCQUFnQixZQUFZLFVBQVUsR0FBRyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQzdILENBQUM7Z0JBQ0YsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxZQUFZLEVBQUUsQ0FBQzthQUN6QjtpQkFBTTtnQkFDSCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUNuRSxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFUCxPQUFPLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBVSxFQUFFLGdCQUF3QjtRQUN4RCxNQUFNLGlCQUFpQixHQUFHLEtBQUssWUFBWSxlQUFlLENBQUM7UUFDM0QsSUFBSSxpQkFBeUIsQ0FBQztRQUM5QixJQUFJLGlCQUFpQixFQUFFO1lBQ25CLGlCQUFpQixHQUFJLEtBQUssQ0FBQyxNQUFjLEVBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDOUU7UUFDRCxNQUFNLGdCQUFnQixHQUFHLGlCQUFpQixJQUFJLEtBQUssQ0FBQztRQUNwRCxNQUFNLFlBQVksR0FBRyxzQkFBc0IsZ0JBQWdCLHlCQUF5QixnQkFBZ0IsRUFBRSxDQUFDO1FBQ3ZHLE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7OEdBeENRLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmQsTUFBTTs7MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2dpbk9wdGlvbnMsIE9BdXRoRXJyb3JFdmVudCwgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmV0cnlMb2dpblNlcnZpY2Uge1xuICAgIHByaXZhdGUgb2F1dGhTZXJ2aWNlID0gaW5qZWN0KE9BdXRoU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiBBdHRlbXB0cyB0byBsb2cgaW4gYSBzcGVjaWZpZWQgbnVtYmVyIG9mIHRpbWVzIGlmIHRoZSBpbml0aWFsIGxvZ2luIGF0dGVtcHQgZmFpbHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9naW5PcHRpb25zIC0gVGhlIG9wdGlvbnMgdG8gYmUgdXNlZCBmb3IgdGhlIGxvZ2luIGF0dGVtcHQuXG4gICAgICogQHBhcmFtIG1heExvZ2luQXR0ZW1wdHMgLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgbG9naW4gYXR0ZW1wdHMuIERlZmF1bHRzIHRvIDMuXG4gICAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYHRydWVgIGlmIHRoZSBsb2dpbiBpcyBzdWNjZXNzZnVsLCBvciByZWplY3RzIHdpdGggYW4gZXJyb3IgaWYgYWxsIGF0dGVtcHRzIGZhaWwuXG4gICAgICovXG4gICAgdHJ5VG9Mb2dpblRpbWVzKGxvZ2luT3B0aW9uczogTG9naW5PcHRpb25zLCBtYXhMb2dpbkF0dGVtcHRzID0gMyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBsZXQgcmV0cnlDb3VudCA9IDA7XG4gICAgICAgIGNvbnN0IG1heFJldHJpZXMgPSBtYXhMb2dpbkF0dGVtcHRzIC0gMTtcblxuICAgICAgICBjb25zdCBhdHRlbXB0TG9naW4gPSAoKTogUHJvbWlzZTxib29sZWFuPiA9PlxuICAgICAgICAgICAgdGhpcy5vYXV0aFNlcnZpY2UudHJ5TG9naW4oeyAuLi5sb2dpbk9wdGlvbnMgfSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJldHJ5Q291bnQgPCBtYXhSZXRyaWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBgTG9naW4gYXR0ZW1wdCAke3JldHJ5Q291bnQgKyAxfSBvZiAke21heExvZ2luQXR0ZW1wdHN9IGZhaWxlZC4gJHtyZXRyeUNvdW50IDwgbWF4TG9naW5BdHRlbXB0cyAtIDEgPyAnUmV0cnlpbmcuLi4nIDogJyd9YFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICByZXRyeUNvdW50Kys7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhdHRlbXB0TG9naW4oKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSB0aGlzLmdldEVycm9yTWVzc2FnZShlcnJvciwgbWF4TG9naW5BdHRlbXB0cyk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBhdHRlbXB0TG9naW4oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEVycm9yTWVzc2FnZShlcnJvcjogYW55LCBtYXhMb2dpbkF0dGVtcHRzOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgaXNPQXV0aEVycm9yRXZlbnQgPSBlcnJvciBpbnN0YW5jZW9mIE9BdXRoRXJyb3JFdmVudDtcbiAgICAgICAgbGV0IG9BdXRoRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gICAgICAgIGlmIChpc09BdXRoRXJyb3JFdmVudCkge1xuICAgICAgICAgICAgb0F1dGhFcnJvck1lc3NhZ2UgPSAoZXJyb3IucmVhc29uIGFzIGFueSk/LnJlYXNvbiB8fCBlcnJvci50eXBlLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXJyb3JEZXNjcmlwdGlvbiA9IG9BdXRoRXJyb3JNZXNzYWdlIHx8IGVycm9yO1xuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgTG9naW4gZmFpbGVkIGFmdGVyICR7bWF4TG9naW5BdHRlbXB0c30gYXR0ZW1wdHMuIGNhdXNlZCBieTogJHtlcnJvckRlc2NyaXB0aW9ufWA7XG4gICAgICAgIHJldHVybiBlcnJvck1lc3NhZ2U7XG4gICAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -59,4 +59,4 @@ export class TokenInterceptor {
59
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TokenInterceptor, decorators: [{
60
60
  type: Injectable
61
61
  }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2F1dGgvb2lkYy90b2tlbi5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQXdELFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFHLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUdqRTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBakI3QjtRQWtCcUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDckMsa0JBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7S0FpQnpEO0lBZkcsU0FBUyxDQUFDLE9BQTZCLEVBQUUsSUFBaUI7UUFDdEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDdkQsSUFBSSxhQUFhLElBQUksT0FBTyxDQUFDLEdBQUcsS0FBSyxhQUFhLEVBQUU7WUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDNUIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ1YsSUFBSSxLQUFLLFlBQVksWUFBWSxFQUFFO29CQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTt3QkFDM0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7cUJBQy9EO2lCQUNKO1lBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQztTQUNMO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBbEJRLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQWpCNUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwUmVxdWVzdCwgSHR0cEhhbmRsZXIsIEh0dHBFdmVudCwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPQXV0aFNlcnZpY2UsIE9BdXRoU3RvcmFnZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuXG5ASW5qZWN0YWJsZSgpXG4vKipcbiAqIFRva2VuSW50ZXJjZXB0b3IgaXMgYW4gSFRUUCBpbnRlcmNlcHRvciB0aGF0IHByb2Nlc3NlcyBIVFRQIHJlcXVlc3RzIGFuZCByZXNwb25zZXNcbiAqIHRvIGhhbmRsZSB0aGUgaWRfdG9rZW4uIEl0IGNoZWNrcyBpZiB0aGUgcmVxdWVzdCBVUkwgbWF0Y2hlcyB0aGUgdG9rZW4gZW5kcG9pbnRcbiAqIGFuZCBwcm9jZXNzZXMgdGhlIHJlc3BvbnNlIHRvIHN0b3JlIHRoZSBgaWRfdG9rZW5gIGluIHRoZSBPQXV0aCBzdG9yYWdlIGlmIGl0IGlzXG4gKiBub3QgYWxyZWFkeSBzZXQuXG4gKiBUaGUgcHVycG9zZSBvZiB0aGlzIGludGVyY2VwdG9yIGlzIHRvIGZpeCB0aGUgbWlzc2luZyBgaWRfdG9rZW5faGludGAgcmVxdWlyZWQgYnkgdGhlIElkcCB0byBjb21wbGV0ZSB0aGUgbG9nb3V0LlxuICogYGlkX3Rva2VuX2hpbnRgIGlzIHNldCBieSB0aGUgYGFuZ3VsYXItb2F1dGgyLW9pZGNgIGxpYnJhcnkgb25seSB3aGVuIHRoZSBgaWRfdG9rZW5gIGlzIHNldCBpbiB0aGUgc3RvcmFnZS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9tYW5mcmVkc3RleWVyL2FuZ3VsYXItb2F1dGgyLW9pZGMvYmxvYi8xNS4wLjAvcHJvamVjdHMvbGliL3NyYy9vYXV0aC1zZXJ2aWNlLnRzI0wyNTU1XG4gKlxuICogU2VlIHRoZSByZWxhdGVkIGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vbWFuZnJlZHN0ZXllci9hbmd1bGFyLW9hdXRoMi1vaWRjL2lzc3Vlcy8xNDQzXG4gKlxuICogQGZ1bmN0aW9uIGludGVyY2VwdFxuICogQHBhcmFtIHtIdHRwUmVxdWVzdDx1bmtub3duPn0gcmVxdWVzdCAtIFRoZSBvdXRnb2luZyBIVFRQIHJlcXVlc3QuXG4gKiBAcGFyYW0ge0h0dHBIYW5kbGVyfSBuZXh0IC0gVGhlIG5leHQgaGFuZGxlciBpbiB0aGUgSFRUUCByZXF1ZXN0IGNoYWluLlxuICogQHJldHVybnMge09ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+Pn0gQW4gb2JzZXJ2YWJsZSBvZiB0aGUgSFRUUCBldmVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFRva2VuSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29hdXRoU3RvcmFnZSA9IGluamVjdChPQXV0aFN0b3JhZ2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29hdXRoU2VydmljZSA9IGluamVjdChPQXV0aFNlcnZpY2UpO1xuXG4gICAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgICAgIGNvbnN0IHRva2VuRW5kcG9pbnQgPSB0aGlzLl9vYXV0aFNlcnZpY2UudG9rZW5FbmRwb2ludDtcbiAgICAgICAgaWYgKHRva2VuRW5kcG9pbnQgJiYgcmVxdWVzdC51cmwgPT09IHRva2VuRW5kcG9pbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KS5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX29hdXRoU2VydmljZS5nZXRJZFRva2VuKCkgJiYgZXZlbnQ/LmJvZHk/LmlkX3Rva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fb2F1dGhTdG9yYWdlLnNldEl0ZW0oJ2lkX3Rva2VuJywgZXZlbnQuYm9keS5pZF90b2tlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XG4gICAgfVxufVxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2F1dGgvb2lkYy90b2tlbi5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQXdELFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFHLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUdqRTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBakI3QjtRQWtCcUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDckMsa0JBQWEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7S0FpQnpEO0lBZkcsU0FBUyxDQUFDLE9BQTZCLEVBQUUsSUFBaUI7UUFDdEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDdkQsSUFBSSxhQUFhLElBQUksT0FBTyxDQUFDLEdBQUcsS0FBSyxhQUFhLEVBQUU7WUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDNUIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ1YsSUFBSSxLQUFLLFlBQVksWUFBWSxFQUFFO29CQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTt3QkFDM0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7cUJBQy9EO2lCQUNKO1lBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQztTQUNMO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBbEJRLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQWpCNUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwUmVxdWVzdCwgSHR0cEhhbmRsZXIsIEh0dHBFdmVudCwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPQXV0aFNlcnZpY2UsIE9BdXRoU3RvcmFnZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuXG5ASW5qZWN0YWJsZSgpXG4vKipcbiAqIFRva2VuSW50ZXJjZXB0b3IgaXMgYW4gSFRUUCBpbnRlcmNlcHRvciB0aGF0IHByb2Nlc3NlcyBIVFRQIHJlcXVlc3RzIGFuZCByZXNwb25zZXNcbiAqIHRvIGhhbmRsZSB0aGUgaWRfdG9rZW4uIEl0IGNoZWNrcyBpZiB0aGUgcmVxdWVzdCBVUkwgbWF0Y2hlcyB0aGUgdG9rZW4gZW5kcG9pbnRcbiAqIGFuZCBwcm9jZXNzZXMgdGhlIHJlc3BvbnNlIHRvIHN0b3JlIHRoZSBgaWRfdG9rZW5gIGluIHRoZSBPQXV0aCBzdG9yYWdlIGlmIGl0IGlzXG4gKiBub3QgYWxyZWFkeSBzZXQuXG4gKiBUaGUgcHVycG9zZSBvZiB0aGlzIGludGVyY2VwdG9yIGlzIHRvIGZpeCB0aGUgbWlzc2luZyBgaWRfdG9rZW5faGludGAgcmVxdWlyZWQgYnkgdGhlIElkcCB0byBjb21wbGV0ZSB0aGUgbG9nb3V0LlxuICogYGlkX3Rva2VuX2hpbnRgIGlzIHNldCBieSB0aGUgYGFuZ3VsYXItb2F1dGgyLW9pZGNgIGxpYnJhcnkgb25seSB3aGVuIHRoZSBgaWRfdG9rZW5gIGlzIHNldCBpbiB0aGUgc3RvcmFnZS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9tYW5mcmVkc3RleWVyL2FuZ3VsYXItb2F1dGgyLW9pZGMvYmxvYi8xNS4wLjAvcHJvamVjdHMvbGliL3NyYy9vYXV0aC1zZXJ2aWNlLnRzI0wyNTU1XG4gKlxuICogU2VlIHRoZSByZWxhdGVkIGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vbWFuZnJlZHN0ZXllci9hbmd1bGFyLW9hdXRoMi1vaWRjL2lzc3Vlcy8xNDQzXG4gKlxuICogQGZ1bmN0aW9uIGludGVyY2VwdFxuICogQHBhcmFtIHtIdHRwUmVxdWVzdDx1bmtub3duPn0gcmVxdWVzdCAtIFRoZSBvdXRnb2luZyBIVFRQIHJlcXVlc3QuXG4gKiBAcGFyYW0ge0h0dHBIYW5kbGVyfSBuZXh0IC0gVGhlIG5leHQgaGFuZGxlciBpbiB0aGUgSFRUUCByZXF1ZXN0IGNoYWluLlxuICogQHJldHVybnMge09ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+Pn0gQW4gb2JzZXJ2YWJsZSBvZiB0aGUgSFRUUCBldmVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFRva2VuSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29hdXRoU3RvcmFnZSA9IGluamVjdChPQXV0aFN0b3JhZ2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29hdXRoU2VydmljZSA9IGluamVjdChPQXV0aFNlcnZpY2UpO1xuXG4gICAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgICAgIGNvbnN0IHRva2VuRW5kcG9pbnQgPSB0aGlzLl9vYXV0aFNlcnZpY2UudG9rZW5FbmRwb2ludDtcbiAgICAgICAgaWYgKHRva2VuRW5kcG9pbnQgJiYgcmVxdWVzdC51cmwgPT09IHRva2VuRW5kcG9pbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KS5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX29hdXRoU2VydmljZS5nZXRJZFRva2VuKCkgJiYgZXZlbnQ/LmJvZHk/LmlkX3Rva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fb2F1dGhTdG9yYWdlLnNldEl0ZW0oJ2lkX3Rva2VuJywgZXZlbnQuYm9keS5pZF90b2tlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XG4gICAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
28
28
  changeDetection: ChangeDetectionStrategy.OnPush
29
29
  }]
30
30
  }], ctorParameters: function () { return []; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24tY29uZmlybWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXV0aC9vaWRjL3ZpZXcvYXV0aGVudGljYXRpb24tY29uZmlybWF0aW9uL2F1dGhlbnRpY2F0aW9uLWNvbmZpcm1hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNbkUsTUFBTSxPQUFPLG1DQUFtQztJQUM1QyxnQkFBYyxDQUFDOzhHQUROLG1DQUFtQztrR0FBbkMsbUNBQW1DLG9EQUhwQyxvREFBb0Q7OzJGQUduRCxtQ0FBbUM7a0JBSi9DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9EQUFvRDtvQkFDOUQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJzxkaXYgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYXV0aC1jb25maXJtYXRpb25cIj48L2Rpdj4nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvbkNvbmZpcm1hdGlvbkNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoKXt9XG59XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24tY29uZmlybWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXV0aC9vaWRjL3ZpZXcvYXV0aGVudGljYXRpb24tY29uZmlybWF0aW9uL2F1dGhlbnRpY2F0aW9uLWNvbmZpcm1hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNbkUsTUFBTSxPQUFPLG1DQUFtQztJQUM1QyxnQkFBYyxDQUFDOzhHQUROLG1DQUFtQztrR0FBbkMsbUNBQW1DLG9EQUhwQyxvREFBb0Q7OzJGQUduRCxtQ0FBbUM7a0JBSi9DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9EQUFvRDtvQkFDOUQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJzxkaXYgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYXV0aC1jb25maXJtYXRpb25cIj48L2Rpdj4nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvbkNvbmZpcm1hdGlvbkNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoKXt9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -41,4 +41,4 @@ export * from './models/identity-role.model';
41
41
  export * from './models/user-access.model';
42
42
  export * from './models/application-access.model';
43
43
  export * from './oidc/public-api';
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXV0aC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILGNBQWMsc0RBQXNELENBQUM7QUFFckUsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNkNBQTZDLENBQUM7QUFFNUQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLWludGVyY2VwdG9yL2F1dGgtYmVhcmVyLmludGVyY2VwdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9ndWFyZC9hdXRoLWd1YXJkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ndWFyZC9hdXRoLWd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vZ3VhcmQvYXV0aC1ndWFyZC1lY20uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2d1YXJkL2F1dGgtZ3VhcmQtYnBtLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ndWFyZC9hdXRoLWd1YXJkLXNzby1yb2xlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pZGVudGl0eS1yb2xlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pZGVudGl0eS11c2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pZGVudGl0eS1ncm91cC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvand0LWhlbHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvb2F1dGgyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy91c2VyLWFjY2Vzcy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9iYXNpYy1hdXRoL2Jhc2ljLWFsZnJlc2NvLWF1dGguc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2ljLWF1dGgvcHJvY2Vzcy1hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzaWMtYXV0aC9jb250ZW50LWF1dGgnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvaWRlbnRpdHktdXNlci5zZXJ2aWNlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvaWRlbnRpdHktZ3JvdXAuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9vcGVuaWQtY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9vYXV0aC1jb25maWcubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvcmVkaXJlY3Rpb24ubW9kZWwnO1xuXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9pZGVudGl0eS1ncm91cC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9pZGVudGl0eS11c2VyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2lkZW50aXR5LXJvbGUubW9kZWwnO1xuXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy91c2VyLWFjY2Vzcy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9hcHBsaWNhdGlvbi1hY2Nlc3MubW9kZWwnO1xuXG5leHBvcnQgKiBmcm9tICcuL29pZGMvcHVibGljLWFwaSc7XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXV0aC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILGNBQWMsc0RBQXNELENBQUM7QUFFckUsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNkNBQTZDLENBQUM7QUFFNUQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLWludGVyY2VwdG9yL2F1dGgtYmVhcmVyLmludGVyY2VwdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9ndWFyZC9hdXRoLWd1YXJkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ndWFyZC9hdXRoLWd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vZ3VhcmQvYXV0aC1ndWFyZC1lY20uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2d1YXJkL2F1dGgtZ3VhcmQtYnBtLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ndWFyZC9hdXRoLWd1YXJkLXNzby1yb2xlLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pZGVudGl0eS1yb2xlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pZGVudGl0eS11c2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pZGVudGl0eS1ncm91cC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvand0LWhlbHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvb2F1dGgyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy91c2VyLWFjY2Vzcy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9iYXNpYy1hdXRoL2Jhc2ljLWFsZnJlc2NvLWF1dGguc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2ljLWF1dGgvcHJvY2Vzcy1hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzaWMtYXV0aC9jb250ZW50LWF1dGgnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvaWRlbnRpdHktdXNlci5zZXJ2aWNlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvaWRlbnRpdHktZ3JvdXAuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9vcGVuaWQtY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9vYXV0aC1jb25maWcubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvcmVkaXJlY3Rpb24ubW9kZWwnO1xuXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9pZGVudGl0eS1ncm91cC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9pZGVudGl0eS11c2VyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2lkZW50aXR5LXJvbGUubW9kZWwnO1xuXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy91c2VyLWFjY2Vzcy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9hcHBsaWNhdGlvbi1hY2Nlc3MubW9kZWwnO1xuXG5leHBvcnQgKiBmcm9tICcuL29pZGMvcHVibGljLWFwaSc7XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -187,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
187
187
  providedIn: 'root'
188
188
  }]
189
189
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.RedirectAuthService }]; } });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXV0aC9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBYyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFLcEUsTUFBTSxPQUFPLHFCQUFxQjtJQUs5QixZQUFvQixRQUFrQixFQUFVLG1CQUF3QztRQUFwRSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUp4RixZQUFPLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7UUFDM0MsYUFBUSxHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO1FBQzVDLG9CQUFlLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7UUFHL0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFaEYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQzlDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMs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Q0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN6RDtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjO1FBQ1YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdkQ7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3pEO0lBQ0wsQ0FBQztJQUVELGNBQWMsQ0FBQyxVQUFrQixFQUFFLE9BQW9CO1FBQ25ELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDN0U7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDNUU7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNILE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3ZGLENBQUM7OEdBNUtRLHFCQUFxQjtrSEFBckIscUJBQXFCLGNBRmxCLE1BQU07OzJGQUVULHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vb2lkYy9vaWRjLWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzaWMtYXV0aC9iYXNpYy1hbGZyZXNjby1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2F1dGhlbnRpY2F0aW9uLXNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCBlZSBmcm9tICdldmVudC1lbWl0dGVyJztcbmltcG9ydCB7IFJlZGlyZWN0QXV0aFNlcnZpY2UgfSBmcm9tICcuLi9vaWRjL3JlZGlyZWN0LWF1dGguc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXV0aGVudGljYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgQXV0aGVudGljYXRpb25TZXJ2aWNlSW50ZXJmYWNlLCBlZS5FbWl0dGVyIHtcbiAgICBvbkxvZ2luOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgb25Mb2dvdXQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICBvblRva2VuUmVjZWl2ZWQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIHJlZGlyZWN0QXV0aFNlcnZpY2U6IFJlZGlyZWN0QXV0aFNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5yZWRpcmVjdEF1dGhTZXJ2aWNlLm9uTG9naW4uc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5vbkxvZ2luLm5leHQodmFsdWUpKTtcblxuICAgICAgICB0aGlzLnJlZGlyZWN0QXV0aFNlcnZpY2Uub25Ub2tlblJlY2VpdmVkLnN1YnNjcmliZShcbiAgICAgICAgICAgICh2YWx1ZSkgPT4gdGhpcy5vblRva2VuUmVjZWl2ZWQubmV4dCh2YWx1ZSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5vbkxvZ2luLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMub25Mb2dpbi5uZXh0KHZhbHVlKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2Uub25Mb2dvdXQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5vbkxvZ291dC5uZXh0KHZhbHVlKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5vbkxvZ291dC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLm9uTG9nb3V0Lm5leHQodmFsdWUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBvbigpOiBlZS5FbWl0dGVyTWV0aG9kIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLm9uIDogdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2Uub247XG4gICAgfVxuXG4gICAgZ2V0IG9mZigpOiBlZS5FbWl0dGVyTWV0aG9kIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLm9mZiA6IHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLm9mZjtcbiAgICB9XG5cbiAgICBnZXQgb25jZSgpOiBlZS5FbWl0dGVyTWV0aG9kIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLm9uY2UgOiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5vbmNlO1xuICAgIH1cblxuICAgIGdldCBlbWl0KCk6ICh0eXBlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmVtaXQgOiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5lbWl0O1xuICAgIH1cblxuICAgIGdldCBvbkVycm9yKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzT2F1dGgoKSA/IHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5vbkVycm9yIDogdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2Uub25FcnJvcjtcbiAgICB9XG5cbiAgICBhZGRUb2tlblRvSGVhZGVyKHJlcXVlc3RVcmw6IHN0cmluZywgaGVhZGVyc0FyZz86IEh0dHBIZWFkZXJzKTogT2JzZXJ2YWJsZTxIdHRwSGVhZGVycz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc09hdXRoKClcbiAgICAgICAgICAgID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmFkZFRva2VuVG9IZWFkZXIocmVxdWVzdFVybCwgaGVhZGVyc0FyZylcbiAgICAgICAgICAgIDogdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuYWRkVG9rZW5Ub0hlYWRlcihyZXF1ZXN0VXJsLCBoZWFkZXJzQXJnKTtcbiAgICB9XG5cbiAgICBpc0VDTVByb3ZpZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc09hdXRoKCkgPyB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UuaXNFQ01Qcm92aWRlcigpIDogdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuaXNFQ01Qcm92aWRlcigpO1xuICAgIH1cblxuICAgIGlzQlBNUHJvdmlkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzT2F1dGgoKSA/IHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5pc0JQTVByb3ZpZGVyKCkgOiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5pc0JQTVByb3ZpZGVyKCk7XG4gICAgfVxuXG4gICAgaXNBTExQcm92aWRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmlzQUxMUHJvdmlkZXIoKSA6IHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmlzQUxMUHJvdmlkZXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBvaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlKCk6IE9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoT2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlKCk6IEJhc2ljQWxmcmVzY29BdXRoU2VydmljZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChCYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UpO1xuICAgIH1cblxuICAgIGdldFRva2VuKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmlzT2F1dGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5nZXRUb2tlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmdldFRva2VuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UuaXNMb2dnZWRJbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmlzTG9nZ2VkSW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvZ291dCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBpZiAodGhpcy5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZnJvbSh0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5sb2dvdXQoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0VjbUxvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UuaXNFY21Mb2dnZWRJbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmlzRWNtTG9nZ2VkSW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzQnBtTG9nZ2VkSW4oKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzT2F1dGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5pc0JwbUxvZ2dlZEluKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuaXNCcG1Mb2dnZWRJbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzT2F1dGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5yZXNldCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLnJlc2V0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2dpbih1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCByZW1lbWJlck1lPzogYm9vbGVhbik6IE9ic2VydmFibGU8eyB0eXBlOiBzdHJpbmc7IHRpY2tldDogYW55IH0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ2luV2l0aFBhc3N3b3JkKHVzZXJuYW1lLCBwYXNzd29yZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UubG9naW4odXNlcm5hbWUsIHBhc3N3b3JkLCByZW1lbWJlck1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIHRoZSB1c2VybmFtZSBvZiB0aGUgYXV0aGVudGljYXRlZCB1c2VyXG4gICAgICovXG4gICAgZ2V0VXNlcm5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmdldFVzZXJuYW1lKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuZ2V0VXNlcm5hbWUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogQHJldHVybnMgdGhlIGxvZ2dlZCB1c2VybmFtZVxuICAgICAqL1xuICAgIGdldEVjbVVzZXJuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmlzT2F1dGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5nZXRVc2VybmFtZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmdldEVjbVVzZXJuYW1lKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqIEByZXR1cm5zIHRoZSBsb2dnZWQgdXNlcm5hbWVcbiAgICAgKi9cbiAgICBnZXRCcG1Vc2VybmFtZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UuZ2V0VXNlcm5hbWUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5nZXRCcG1Vc2VybmFtZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QXV0aEhlYWRlcnMocmVxdWVzdFVybDogc3RyaW5nLCBoZWFkZXJzOiBIdHRwSGVhZGVycyk6IEh0dHBIZWFkZXJzIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmdldEF1dGhIZWFkZXJzKHJlcXVlc3RVcmwsIGhlYWRlcnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmdldEF1dGhIZWFkZXJzKHJlcXVlc3RVcmwsIGhlYWRlcnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNPYXV0aCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmlzT2F1dGgoKTtcbiAgICB9XG5cbiAgICBpc0tlcmJlcm9zRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzT2F1dGgoKSA/IHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmlzS2VyYmVyb3NFbmFibGVkKCkgOiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXV0aC9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBYyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFLcEUsTUFBTSxPQUFPLHFCQUFxQjtJQUs5QixZQUFvQixRQUFrQixFQUFVLG1CQUF3QztRQUFwRSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUp4RixZQUFPLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7UUFDM0MsYUFBUSxHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO1FBQzVDLG9CQUFlLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7UUFHL0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFaEYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQzlDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDOUMsQ0FBQztRQUVGLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXJGLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQzNGO2FBQU07WUFDSCxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMxRjtJQUNMLENBQUM7SUFFRCxJQUFJLEVBQUU7UUFDRixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQztJQUNqRyxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0gsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUM7SUFDbkcsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDO0lBQ3JHLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQztJQUNyRyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUM7SUFDM0csQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQWtCLEVBQUUsVUFBd0I7UUFDekQsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQztZQUN6RSxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsYUFBYTtRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzSCxDQUFDO0lBRUQsYUFBYTtRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzSCxDQUFDO0lBRUQsYUFBYTtRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzSCxDQUFDO0lBRUQsSUFBWSx5QkFBeUI7UUFDakMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFZLHdCQUF3QjtRQUNoQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNwRDthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDbkQ7SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ3REO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyRDtJQUNMLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDbEQ7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN6RDthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDeEQ7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3pEO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN4RDtJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDakQ7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hEO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFnQixFQUFFLFFBQWdCLEVBQUUsVUFBb0I7UUFDMUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQy9FO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUM5RTtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN2RDthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEQ7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYztRQUNWLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3ZEO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN6RDtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjO1FBQ1YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdkQ7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3pEO0lBQ0wsQ0FBQztJQUVELGNBQWMsQ0FBQyxVQUFrQixFQUFFLE9BQW9CO1FBQ25ELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDN0U7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDNUU7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNILE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3ZGLENBQUM7OEdBNUtRLHFCQUFxQjtrSEFBckIscUJBQXFCLGNBRmxCLE1BQU07OzJGQUVULHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vb2lkYy9vaWRjLWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzaWMtYXV0aC9iYXNpYy1hbGZyZXNjby1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2F1dGhlbnRpY2F0aW9uLXNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCBlZSBmcm9tICdldmVudC1lbWl0dGVyJztcbmltcG9ydCB7IFJlZGlyZWN0QXV0aFNlcnZpY2UgfSBmcm9tICcuLi9vaWRjL3JlZGlyZWN0LWF1dGguc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXV0aGVudGljYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgQXV0aGVudGljYXRpb25TZXJ2aWNlSW50ZXJmYWNlLCBlZS5FbWl0dGVyIHtcbiAgICBvbkxvZ2luOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgb25Mb2dvdXQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICBvblRva2VuUmVjZWl2ZWQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIHJlZGlyZWN0QXV0aFNlcnZpY2U6IFJlZGlyZWN0QXV0aFNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5yZWRpcmVjdEF1dGhTZXJ2aWNlLm9uTG9naW4uc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5vbkxvZ2luLm5leHQodmFsdWUpKTtcblxuICAgICAgICB0aGlzLnJlZGlyZWN0QXV0aFNlcnZpY2Uub25Ub2tlblJlY2VpdmVkLnN1YnNjcmliZShcbiAgICAgICAgICAgICh2YWx1ZSkgPT4gdGhpcy5vblRva2VuUmVjZWl2ZWQubmV4dCh2YWx1ZSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5vbkxvZ2luLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMub25Mb2dpbi5uZXh0KHZhbHVlKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2Uub25Mb2dvdXQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5vbkxvZ291dC5uZXh0KHZhbHVlKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5vbkxvZ291dC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLm9uTG9nb3V0Lm5leHQodmFsdWUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBvbigpOiBlZS5FbWl0dGVyTWV0aG9kIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLm9uIDogdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2Uub247XG4gICAgfVxuXG4gICAgZ2V0IG9mZigpOiBlZS5FbWl0dGVyTWV0aG9kIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLm9mZiA6IHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLm9mZjtcbiAgICB9XG5cbiAgICBnZXQgb25jZSgpOiBlZS5FbWl0dGVyTWV0aG9kIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLm9uY2UgOiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5vbmNlO1xuICAgIH1cblxuICAgIGdldCBlbWl0KCk6ICh0eXBlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmVtaXQgOiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5lbWl0O1xuICAgIH1cblxuICAgIGdldCBvbkVycm9yKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzT2F1dGgoKSA/IHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5vbkVycm9yIDogdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2Uub25FcnJvcjtcbiAgICB9XG5cbiAgICBhZGRUb2tlblRvSGVhZGVyKHJlcXVlc3RVcmw6IHN0cmluZywgaGVhZGVyc0FyZz86IEh0dHBIZWFkZXJzKTogT2JzZXJ2YWJsZTxIdHRwSGVhZGVycz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc09hdXRoKClcbiAgICAgICAgICAgID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmFkZFRva2VuVG9IZWFkZXIocmVxdWVzdFVybCwgaGVhZGVyc0FyZylcbiAgICAgICAgICAgIDogdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuYWRkVG9rZW5Ub0hlYWRlcihyZXF1ZXN0VXJsLCBoZWFkZXJzQXJnKTtcbiAgICB9XG5cbiAgICBpc0VDTVByb3ZpZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc09hdXRoKCkgPyB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UuaXNFQ01Qcm92aWRlcigpIDogdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuaXNFQ01Qcm92aWRlcigpO1xuICAgIH1cblxuICAgIGlzQlBNUHJvdmlkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzT2F1dGgoKSA/IHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5pc0JQTVByb3ZpZGVyKCkgOiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5pc0JQTVByb3ZpZGVyKCk7XG4gICAgfVxuXG4gICAgaXNBTExQcm92aWRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYXV0aCgpID8gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmlzQUxMUHJvdmlkZXIoKSA6IHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmlzQUxMUHJvdmlkZXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBvaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlKCk6IE9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoT2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlKCk6IEJhc2ljQWxmcmVzY29BdXRoU2VydmljZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChCYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UpO1xuICAgIH1cblxuICAgIGdldFRva2VuKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmlzT2F1dGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5nZXRUb2tlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmdldFRva2VuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UuaXNMb2dnZWRJbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmlzTG9nZ2VkSW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvZ291dCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBpZiAodGhpcy5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UubG9nb3V0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZnJvbSh0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5sb2dvdXQoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0VjbUxvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UuaXNFY21Mb2dnZWRJbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmlzRWNtTG9nZ2VkSW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzQnBtTG9nZ2VkSW4oKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzT2F1dGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5pc0JwbUxvZ2dlZEluKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuaXNCcG1Mb2dnZWRJbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzT2F1dGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5yZXNldCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLnJlc2V0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2dpbih1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCByZW1lbWJlck1lPzogYm9vbGVhbik6IE9ic2VydmFibGU8eyB0eXBlOiBzdHJpbmc7IHRpY2tldDogYW55IH0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ2luV2l0aFBhc3N3b3JkKHVzZXJuYW1lLCBwYXNzd29yZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UubG9naW4odXNlcm5hbWUsIHBhc3N3b3JkLCByZW1lbWJlck1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIHRoZSB1c2VybmFtZSBvZiB0aGUgYXV0aGVudGljYXRlZCB1c2VyXG4gICAgICovXG4gICAgZ2V0VXNlcm5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmdldFVzZXJuYW1lKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UuZ2V0VXNlcm5hbWUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogQHJldHVybnMgdGhlIGxvZ2dlZCB1c2VybmFtZVxuICAgICAqL1xuICAgIGdldEVjbVVzZXJuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmlzT2F1dGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2lkY0F1dGhlbnRpY2F0aW9uU2VydmljZS5nZXRVc2VybmFtZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmdldEVjbVVzZXJuYW1lKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqIEByZXR1cm5zIHRoZSBsb2dnZWQgdXNlcm5hbWVcbiAgICAgKi9cbiAgICBnZXRCcG1Vc2VybmFtZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9pZGNBdXRoZW50aWNhdGlvblNlcnZpY2UuZ2V0VXNlcm5hbWUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmJhc2ljQWxmcmVzY29BdXRoU2VydmljZS5nZXRCcG1Vc2VybmFtZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QXV0aEhlYWRlcnMocmVxdWVzdFVybDogc3RyaW5nLCBoZWFkZXJzOiBIdHRwSGVhZGVycyk6IEh0dHBIZWFkZXJzIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPYXV0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLmdldEF1dGhIZWFkZXJzKHJlcXVlc3RVcmwsIGhlYWRlcnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmdldEF1dGhIZWFkZXJzKHJlcXVlc3RVcmwsIGhlYWRlcnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNPYXV0aCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmlzT2F1dGgoKTtcbiAgICB9XG5cbiAgICBpc0tlcmJlcm9zRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzT2F1dGgoKSA/IHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmlzS2VyYmVyb3NFbmFibGVkKCkgOiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -96,4 +96,4 @@ export class BaseAuthenticationService {
96
96
  return this.appConfig.get(AppConfigValues.AUTHTYPE) === 'OAUTH';
97
97
  }
98
98
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hdXRoZW50aWNhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hdXRoL3NlcnZpY2VzL2Jhc2UtYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFVBQVUsRUFBWSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBb0IsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHeEYsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9CLE1BQU0sT0FBZ0IseUJBQXlCO0lBWTNDLFlBQWdDLFNBQTJCLEVBQVksTUFBcUI7UUFBNUQsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBWSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBTmxGLGdCQUFXLEdBQXFCLElBQUksQ0FBQztRQUUvQyxZQUFPLEdBQUcsSUFBSSxhQUFhLENBQU0sQ0FBQyxDQUFDLENBQUM7UUFDcEMsWUFBTyxHQUFHLElBQUksYUFBYSxDQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBTSxDQUFDLENBQUMsQ0FBQztRQUdqQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDYixDQUFDO0lBb0JEOzs7Ozs7T0FNRztJQUNILGdCQUFnQixDQUFDLFVBQWtCLEVBQUUsVUFBd0I7UUFDekQsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQXVCLEVBQUUsRUFBRTtZQUM5QyxJQUFJLE9BQU8sR0FBRyxVQUFVLENBQUM7WUFDekIsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDVixPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQzthQUMvQjtZQUNELElBQUk7Z0JBQ0EsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBRXhELFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3RCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUN2QjtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNaLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDekI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxhQUFhO1FBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFXLENBQUM7UUFDM0QsT0FBTyxRQUFRLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWE7UUFDVCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxJQUFJLFFBQVEsSUFBSSxDQUFDLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxRQUFRLFlBQVksTUFBTSxDQUFDLEVBQUU7WUFDMUUsT0FBTyxRQUFRLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSyxDQUFDO1NBQzNDO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYTtRQUNULE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBVyxDQUFDO1FBQzNELE9BQU8sUUFBUSxJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLENBQUM7SUFDeEQsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQVcsQ0FBQztRQUMxRCxPQUFPLFFBQVEsS0FBSyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLGNBQWMsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sVUFBVSxDQUFDLEtBQUssSUFBSSxjQUFjLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsT0FBTztRQUNILE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxLQUFLLE9BQU8sQ0FBQztJQUNwRSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgUmVkaXJlY3Rpb25Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9yZWRpcmVjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBPYnNlcnZlciwgUmVwbGF5U3ViamVjdCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSwgQXBwQ29uZmlnVmFsdWVzIH0gZnJvbSAnLi4vLi4vYXBwLWNvbmZpZy9hcHAtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9zZXJ2aWNlcy9jb29raWUuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2F1dGhlbnRpY2F0aW9uLXNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCBlZSBmcm9tICdldmVudC1lbWl0dGVyJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VBdXRoZW50aWNhdGlvblNlcnZpY2UgaW1wbGVtZW50cyBBdXRoZW50aWNhdGlvblNlcnZpY2VJbnRlcmZhY2UsIGVlLkVtaXR0ZXIge1xuICAgIG9uOiBlZS5FbWl0dGVyTWV0aG9kO1xuICAgIG9mZjogZWUuRW1pdHRlck1ldGhvZDtcbiAgICBvbmNlOiBlZS5FbWl0dGVyTWV0aG9kO1xuICAgIGVtaXQ6ICh0eXBlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIHJlZGlyZWN0VXJsOiBSZWRpcmVjdGlvbk1vZGVsID0gbnVsbDtcblxuICAgIG9uRXJyb3IgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEpO1xuICAgIG9uTG9naW4gPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEpO1xuICAgIG9uTG9nb3V0ID0gbmV3IFJlcGxheVN1YmplY3Q8YW55PigxKTtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgYXBwQ29uZmlnOiBBcHBDb25maWdTZXJ2aWNlLCBwcm90ZWN0ZWQgY29va2llOiBDb29raWVTZXJ2aWNlKSB7XG4gICAgICAgIGVlKHRoaXMpO1xuICAgIH1cblxuICAgIGFic3RyYWN0IGdldEF1dGhIZWFkZXJzKHJlcXVlc3RVcmw6IHN0cmluZywgaGVhZGVyOiBIdHRwSGVhZGVycyk6IEh0dHBIZWFkZXJzO1xuXG4gICAgYWJzdHJhY3QgZ2V0VG9rZW4oKTogc3RyaW5nO1xuXG4gICAgYWJzdHJhY3QgaXNMb2dnZWRJbigpOiBib29sZWFuO1xuXG4gICAgYWJzdHJhY3QgbG9nb3V0KCk6IGFueTtcblxuICAgIGFic3RyYWN0IGlzRWNtTG9nZ2VkSW4oKTogYm9vbGVhbjtcblxuICAgIGFic3RyYWN0IGlzQnBtTG9nZ2VkSW4oKTogYm9vbGVhbjtcblxuICAgIGFic3RyYWN0IHJlc2V0KCk6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCBnZXRFY21Vc2VybmFtZSgpOiBzdHJpbmc7XG5cbiAgICBhYnN0cmFjdCBnZXRCcG1Vc2VybmFtZSgpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIHRoZSBhdXRoIHRva2VuIHRvIGFuIEhUVFAgaGVhZGVyIHVzaW5nIHRoZSAnYmVhcmVyJyBzY2hlbWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdFVybCB0aGUgcmVxdWVzdCB1cmxcbiAgICAgKiBAcGFyYW0gaGVhZGVyc0FyZyBIZWFkZXIgdGhhdCB3aWxsIHJlY2VpdmUgdGhlIHRva2VuXG4gICAgICogQHJldHVybnMgVGhlIG5ldyBoZWFkZXIgd2l0aCB0aGUgdG9rZW4gYWRkZWRcbiAgICAgKi9cbiAgICBhZGRUb2tlblRvSGVhZGVyKHJlcXVlc3RVcmw6IHN0cmluZywgaGVhZGVyc0FyZz86IEh0dHBIZWFkZXJzKTogT2JzZXJ2YWJsZTxIdHRwSGVhZGVycz4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyOiBPYnNlcnZlcjxhbnk+KSA9PiB7XG4gICAgICAgICAgICBsZXQgaGVhZGVycyA9IGhlYWRlcnNBcmc7XG4gICAgICAgICAgICBpZiAoIWhlYWRlcnMpIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuZ2V0QXV0aEhlYWRlcnMocmVxdWVzdFVybCwgaGVhZGVycyk7XG5cbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGhlYWRlcik7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpc0VDTVByb3ZpZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBwcm92aWRlciA9IHRoaXMuYXBwQ29uZmlnLmdldCgncHJvdmlkZXJzJykgYXMgc3RyaW5nO1xuICAgICAgICByZXR1cm4gcHJvdmlkZXIgJiYgcHJvdmlkZXIudG9VcHBlckNhc2UoKSA9PT0gJ0VDTSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRG9lcyB0aGUgcHJvdmlkZXIgc3VwcG9ydCBCUE0/XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHN1cHBvcnRlZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgaXNCUE1Qcm92aWRlcigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcHJvdmlkZXIgPSB0aGlzLmFwcENvbmZpZy5nZXQoJ3Byb3ZpZGVycycpO1xuICAgICAgICBpZiAocHJvdmlkZXIgJiYgKHR5cGVvZiBwcm92aWRlciA9PT0gJ3N0cmluZycgfHwgcHJvdmlkZXIgaW5zdGFuY2VvZiBTdHJpbmcpKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvdmlkZXIudG9VcHBlckNhc2UoKSA9PT0gJ0JQTSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEb2VzIHRoZSBwcm92aWRlciBzdXBwb3J0IGJvdGggRUNNIGFuZCBCUE0/XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIGJvdGggYXJlIHN1cHBvcnRlZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgaXNBTExQcm92aWRlcigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcHJvdmlkZXIgPSB0aGlzLmFwcENvbmZpZy5nZXQoJ3Byb3ZpZGVycycpIGFzIHN0cmluZztcbiAgICAgICAgcmV0dXJuIHByb3ZpZGVyICYmIHByb3ZpZGVyLnRvVXBwZXJDYXNlKCkgPT09ICdBTEwnO1xuICAgIH1cblxuICAgIGlzT2F1dGhDb25maWd1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBhdXRoVHlwZSA9IHRoaXMuYXBwQ29uZmlnLmdldCgnYXV0aFR5cGUnKSBhcyBzdHJpbmc7XG4gICAgICAgIHJldHVybiBhdXRoVHlwZSA9PT0gJ09BVVRIJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmludHMgYW4gZXJyb3IgbWVzc2FnZSBpbiB0aGUgY29uc29sZSBicm93c2VyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXJyb3IgRXJyb3IgbWVzc2FnZVxuICAgICAqIEByZXR1cm5zIE9iamVjdCByZXByZXNlbnRpbmcgdGhlIGVycm9yIG1lc3NhZ2VcbiAgICAgKi9cbiAgICBoYW5kbGVFcnJvcihlcnJvcjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoZXJyb3IgfHwgJ1NlcnZlciBlcnJvcicpO1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvciB8fCAnU2VydmVyIGVycm9yJyk7XG4gICAgfVxuXG4gICAgaXNPYXV0aCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlnLmdldChBcHBDb25maWdWYWx1ZXMuQVVUSFRZUEUpID09PSAnT0FVVEgnO1xuICAgIH1cbn1cbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hdXRoZW50aWNhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hdXRoL3NlcnZpY2VzL2Jhc2UtYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFVBQVUsRUFBWSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBb0IsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHeEYsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9CLE1BQU0sT0FBZ0IseUJBQXlCO0lBWTNDLFlBQWdDLFNBQTJCLEVBQVksTUFBcUI7UUFBNUQsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBWSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBTmxGLGdCQUFXLEdBQXFCLElBQUksQ0FBQztRQUUvQyxZQUFPLEdBQUcsSUFBSSxhQUFhLENBQU0sQ0FBQyxDQUFDLENBQUM7UUFDcEMsWUFBTyxHQUFHLElBQUksYUFBYSxDQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBTSxDQUFDLENBQUMsQ0FBQztRQUdqQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDYixDQUFDO0lBb0JEOzs7Ozs7T0FNRztJQUNILGdCQUFnQixDQUFDLFVBQWtCLEVBQUUsVUFBd0I7UUFDekQsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQXVCLEVBQUUsRUFBRTtZQUM5QyxJQUFJLE9BQU8sR0FBRyxVQUFVLENBQUM7WUFDekIsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDVixPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQzthQUMvQjtZQUNELElBQUk7Z0JBQ0EsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBRXhELFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3RCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUN2QjtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNaLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDekI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxhQUFhO1FBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFXLENBQUM7UUFDM0QsT0FBTyxRQUFRLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWE7UUFDVCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxJQUFJLFFBQVEsSUFBSSxDQUFDLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxRQUFRLFlBQVksTUFBTSxDQUFDLEVBQUU7WUFDMUUsT0FBTyxRQUFRLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSyxDQUFDO1NBQzNDO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYTtRQUNULE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBVyxDQUFDO1FBQzNELE9BQU8sUUFBUSxJQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLENBQUM7SUFDeEQsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQVcsQ0FBQztRQUMxRCxPQUFPLFFBQVEsS0FBSyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLGNBQWMsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sVUFBVSxDQUFDLEtBQUssSUFBSSxjQUFjLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsT0FBTztRQUNILE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxLQUFLLE9BQU8sQ0FBQztJQUNwRSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgUmVkaXJlY3Rpb25Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9yZWRpcmVjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBPYnNlcnZlciwgUmVwbGF5U3ViamVjdCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSwgQXBwQ29uZmlnVmFsdWVzIH0gZnJvbSAnLi4vLi4vYXBwLWNvbmZpZy9hcHAtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9zZXJ2aWNlcy9jb29raWUuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2F1dGhlbnRpY2F0aW9uLXNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCBlZSBmcm9tICdldmVudC1lbWl0dGVyJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VBdXRoZW50aWNhdGlvblNlcnZpY2UgaW1wbGVtZW50cyBBdXRoZW50aWNhdGlvblNlcnZpY2VJbnRlcmZhY2UsIGVlLkVtaXR0ZXIge1xuICAgIG9uOiBlZS5FbWl0dGVyTWV0aG9kO1xuICAgIG9mZjogZWUuRW1pdHRlck1ldGhvZDtcbiAgICBvbmNlOiBlZS5FbWl0dGVyTWV0aG9kO1xuICAgIGVtaXQ6ICh0eXBlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIHJlZGlyZWN0VXJsOiBSZWRpcmVjdGlvbk1vZGVsID0gbnVsbDtcblxuICAgIG9uRXJyb3IgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEpO1xuICAgIG9uTG9naW4gPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEpO1xuICAgIG9uTG9nb3V0ID0gbmV3IFJlcGxheVN1YmplY3Q8YW55PigxKTtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgYXBwQ29uZmlnOiBBcHBDb25maWdTZXJ2aWNlLCBwcm90ZWN0ZWQgY29va2llOiBDb29raWVTZXJ2aWNlKSB7XG4gICAgICAgIGVlKHRoaXMpO1xuICAgIH1cblxuICAgIGFic3RyYWN0IGdldEF1dGhIZWFkZXJzKHJlcXVlc3RVcmw6IHN0cmluZywgaGVhZGVyOiBIdHRwSGVhZGVycyk6IEh0dHBIZWFkZXJzO1xuXG4gICAgYWJzdHJhY3QgZ2V0VG9rZW4oKTogc3RyaW5nO1xuXG4gICAgYWJzdHJhY3QgaXNMb2dnZWRJbigpOiBib29sZWFuO1xuXG4gICAgYWJzdHJhY3QgbG9nb3V0KCk6IGFueTtcblxuICAgIGFic3RyYWN0IGlzRWNtTG9nZ2VkSW4oKTogYm9vbGVhbjtcblxuICAgIGFic3RyYWN0IGlzQnBtTG9nZ2VkSW4oKTogYm9vbGVhbjtcblxuICAgIGFic3RyYWN0IHJlc2V0KCk6IHZvaWQ7XG5cbiAgICBhYnN0cmFjdCBnZXRFY21Vc2VybmFtZSgpOiBzdHJpbmc7XG5cbiAgICBhYnN0cmFjdCBnZXRCcG1Vc2VybmFtZSgpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIHRoZSBhdXRoIHRva2VuIHRvIGFuIEhUVFAgaGVhZGVyIHVzaW5nIHRoZSAnYmVhcmVyJyBzY2hlbWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdFVybCB0aGUgcmVxdWVzdCB1cmxcbiAgICAgKiBAcGFyYW0gaGVhZGVyc0FyZyBIZWFkZXIgdGhhdCB3aWxsIHJlY2VpdmUgdGhlIHRva2VuXG4gICAgICogQHJldHVybnMgVGhlIG5ldyBoZWFkZXIgd2l0aCB0aGUgdG9rZW4gYWRkZWRcbiAgICAgKi9cbiAgICBhZGRUb2tlblRvSGVhZGVyKHJlcXVlc3RVcmw6IHN0cmluZywgaGVhZGVyc0FyZz86IEh0dHBIZWFkZXJzKTogT2JzZXJ2YWJsZTxIdHRwSGVhZGVycz4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyOiBPYnNlcnZlcjxhbnk+KSA9PiB7XG4gICAgICAgICAgICBsZXQgaGVhZGVycyA9IGhlYWRlcnNBcmc7XG4gICAgICAgICAgICBpZiAoIWhlYWRlcnMpIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuZ2V0QXV0aEhlYWRlcnMocmVxdWVzdFVybCwgaGVhZGVycyk7XG5cbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGhlYWRlcik7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpc0VDTVByb3ZpZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBwcm92aWRlciA9IHRoaXMuYXBwQ29uZmlnLmdldCgncHJvdmlkZXJzJykgYXMgc3RyaW5nO1xuICAgICAgICByZXR1cm4gcHJvdmlkZXIgJiYgcHJvdmlkZXIudG9VcHBlckNhc2UoKSA9PT0gJ0VDTSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRG9lcyB0aGUgcHJvdmlkZXIgc3VwcG9ydCBCUE0/XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHN1cHBvcnRlZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgaXNCUE1Qcm92aWRlcigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcHJvdmlkZXIgPSB0aGlzLmFwcENvbmZpZy5nZXQoJ3Byb3ZpZGVycycpO1xuICAgICAgICBpZiAocHJvdmlkZXIgJiYgKHR5cGVvZiBwcm92aWRlciA9PT0gJ3N0cmluZycgfHwgcHJvdmlkZXIgaW5zdGFuY2VvZiBTdHJpbmcpKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvdmlkZXIudG9VcHBlckNhc2UoKSA9PT0gJ0JQTSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEb2VzIHRoZSBwcm92aWRlciBzdXBwb3J0IGJvdGggRUNNIGFuZCBCUE0/XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIGJvdGggYXJlIHN1cHBvcnRlZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgaXNBTExQcm92aWRlcigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcHJvdmlkZXIgPSB0aGlzLmFwcENvbmZpZy5nZXQoJ3Byb3ZpZGVycycpIGFzIHN0cmluZztcbiAgICAgICAgcmV0dXJuIHByb3ZpZGVyICYmIHByb3ZpZGVyLnRvVXBwZXJDYXNlKCkgPT09ICdBTEwnO1xuICAgIH1cblxuICAgIGlzT2F1dGhDb25maWd1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBhdXRoVHlwZSA9IHRoaXMuYXBwQ29uZmlnLmdldCgnYXV0aFR5cGUnKSBhcyBzdHJpbmc7XG4gICAgICAgIHJldHVybiBhdXRoVHlwZSA9PT0gJ09BVVRIJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmludHMgYW4gZXJyb3IgbWVzc2FnZSBpbiB0aGUgY29uc29sZSBicm93c2VyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXJyb3IgRXJyb3IgbWVzc2FnZVxuICAgICAqIEByZXR1cm5zIE9iamVjdCByZXByZXNlbnRpbmcgdGhlIGVycm9yIG1lc3NhZ2VcbiAgICAgKi9cbiAgICBoYW5kbGVFcnJvcihlcnJvcjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoZXJyb3IgfHwgJ1NlcnZlciBlcnJvcicpO1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvciB8fCAnU2VydmVyIGVycm9yJyk7XG4gICAgfVxuXG4gICAgaXNPYXV0aCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlnLmdldChBcHBDb25maWdWYWx1ZXMuQVVUSFRZUEUpID09PSAnT0FVVEgnO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license
3
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
4
  *
5
5
  * Licensed under the Apache License, Version 2.0 (the "License");
6
6
  * you may not use this file except in compliance with the License.
@@ -266,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
266
266
  type: Injectable,
267
267
  args: [{ providedIn: 'root' }]
268
268
  }], ctorParameters: function () { return [{ type: i1.OAuth2Service }, { type: i2.AppConfigService }]; } });
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHktZ3JvdXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXV0aC9zZXJ2aWNlcy9pZGVudGl0eS1ncm91cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBVXZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUdqRCxNQUFNLE9BQU8sb0JBQW9CO0lBRTdCLFlBQ1ksYUFBNEIsRUFDNUIsZ0JBQWtDO1FBRGxDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDM0MsQ0FBQztJQUVKLElBQVksWUFBWTtRQUNwQixPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUztRQUNMLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksU0FBUyxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGlCQUFpQixDQUFDLE9BQWU7UUFDN0IsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxXQUFXLE9BQU8sZ0NBQWdDLENBQUM7UUFDbkYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZ0JBQWdCLENBQUMsT0FBZTtRQUM1QixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLFdBQVcsT0FBTyxzQkFBc0IsQ0FBQztRQUN6RSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsV0FBVyxDQUFDLE9BQWUsRUFBRSxLQUEwQjtRQUNuRCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLFdBQVcsT0FBTyxzQkFBc0IsQ0FBQztRQUN6RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsV0FBVyxDQUFDLE9BQWUsRUFBRSxLQUEwQjtRQUNuRCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLFdBQVcsT0FBTyxzQkFBc0IsQ0FBQztRQUN6RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxpQkFBaUIsQ0FBQyxPQUFlO1FBQzdCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksV0FBVyxPQUFPLGdDQUFnQyxDQUFDO1FBQ25GLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFdBQVcsQ0FBQyxZQUFpRDtRQUN6RCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLFNBQVMsQ0FBQztRQUMxQyxNQUFNLFdBQVcsR0FBRyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUVuRixPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FDbEMsU0FBUyxDQUFDLENBQUMsVUFBbUMsRUFBRSxFQUFFLENBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFRLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNwRCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDZixPQUFPLEVBQUUsUUFBUTtZQUNqQixVQUFVLEVBQUU7Z0JBQ1IsU0FBUyxFQUFFLFlBQVksQ0FBQyxLQUFLO2dCQUM3QixRQUFRLEVBQUUsWUFBWSxDQUFDLEdBQUc7Z0JBQzFCLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztnQkFDdkIsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLFVBQVUsRUFBRSxVQUFVLENBQUMsS0FBSzthQUMvQjtTQUMyQixDQUFBLENBQUMsQ0FDcEMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQjtRQUNmLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksZUFBZSxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFdBQVcsQ0FBQyxRQUE0QjtRQUNwQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLFNBQVMsQ0FBQztRQUMxQyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFFM0IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxXQUFXLENBQUMsT0FBZSxFQUFFLFlBQWdDO1FBQ3pELE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksV0FBVyxPQUFPLEVBQUUsQ0FBQztRQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRS9DLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsT0FBZTtRQUN2QixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLFdBQVcsT0FBTyxFQUFFLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZ0JBQWdCLENBQUMsWUFBc0M7UUFDbkQsSUFBSSxZQUFZLENBQUMsSUFBSSxLQUFLLEVBQUUsRUFBRTtZQUMxQixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNqQjtRQUNELE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksU0FBUyxDQUFDO1FBQzFDLE1BQU0sV0FBVyxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVsRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsYUFBYSxDQUFDLE9BQWU7UUFDekIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsaUJBQWlCLENBQUMsT0FBZSxFQUFFLFNBQW1CO1FBQ2xELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdkQsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksVUFBVSxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3hCLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUU7b0JBQ25DLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLENBQUM7b0JBQzlELElBQUksSUFBSSxFQUFFO3dCQUNOLE9BQU8sR0FBRyxJQUFJLENBQUM7d0JBQ2YsT0FBTztxQkFDVjtnQkFDTCxDQUFDLENBQUMsQ0FBQzthQUNOO1lBQ0QsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILDRCQUE0QixDQUFDLGVBQXVCO1FBQ2hELE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksVUFBVSxDQUFDO1FBQzNDLE1BQU0sV0FBVyxHQUFHLEVBQUMsUUFBUSxFQUFFLGVBQWUsRUFBQyxDQUFDO1FBRWhELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQVEsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQzNELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDM0UsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxjQUFjLENBQUMsT0FBZSxFQUFFLFFBQWdCO1FBQzVDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksV0FBVyxPQUFPLDBCQUEwQixRQUFRLEVBQUUsQ0FBQztRQUN2RixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsc0JBQXNCLENBQUMsT0FBZSxFQUFFLFFBQWdCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUM5QyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUNyRCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCw2QkFBNkIsQ0FBQyxPQUFlLEVBQUUsUUFBZ0IsRUFBRSxTQUFtQjtRQUNoRixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDOUMsR0FBRyxDQUFDLENBQUMsV0FBa0IsRUFBRSxFQUFFO1lBQ3ZCLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNwQixJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN4QixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7b0JBQzNCLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUM7b0JBRS9ELElBQUksSUFBSSxFQUFFO3dCQUNOLE9BQU8sR0FBRyxJQUFJLENBQUM7d0JBQ2YsT0FBTztxQkFDVjtnQkFDTCxDQUFDLENBQUMsQ0FBQzthQUNOO1lBQ0QsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFTyxhQUFhLENBQUMsT0FBZTtRQUNqQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksV0FBVyxPQUFPLGdDQUFnQyxDQUFDO0lBQ2xGLENBQUM7OEdBcFJRLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRFAsTUFBTTs7MkZBQ25CLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQge1xuICAgIElkZW50aXR5R3JvdXBTZWFyY2hQYXJhbSxcbiAgICBJZGVudGl0eUdyb3VwUXVlcnlDbG91ZFJlcXVlc3RNb2RlbCxcbiAgICBJZGVudGl0eUdyb3VwTW9kZWwsXG4gICAgSWRlbnRpdHlHcm91cFF1ZXJ5UmVzcG9uc2UsXG4gICAgSWRlbnRpdHlHcm91cENvdW50TW9kZWxcbn0gZnJvbSAnLi4vbW9kZWxzL2lkZW50aXR5LWdyb3VwLm1vZGVsJztcbmltcG9ydCB7IElkZW50aXR5Um9sZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2lkZW50aXR5LXJvbGUubW9kZWwnO1xuaW1wb3J0IHsgSWRlbnRpdHlHcm91cFNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2lkZW50aXR5LWdyb3VwLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPQXV0aDJTZXJ2aWNlIH0gZnJvbSAnLi9vYXV0aDIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlHcm91cFNlcnZpY2UgaW1wbGVtZW50cyBJZGVudGl0eUdyb3VwU2VydmljZUludGVyZmFjZSB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBvQXV0aDJTZXJ2aWNlOiBPQXV0aDJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFwcENvbmZpZ1NlcnZpY2U6IEFwcENvbmZpZ1NlcnZpY2VcbiAgICApIHt9XG5cbiAgICBwcml2YXRlIGdldCBpZGVudGl0eUhvc3QoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuYXBwQ29uZmlnU2VydmljZS5nZXQoJ2lkZW50aXR5SG9zdCcpfWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbGwgZ3JvdXBzLlxuICAgICAqXG4gICAgICogQHJldHVybnMgQXJyYXkgb2YgZ3JvdXAgaW5mb3JtYXRpb24gb2JqZWN0c1xuICAgICAqL1xuICAgIGdldEdyb3VwcygpOiBPYnNlcnZhYmxlPElkZW50aXR5R3JvdXBNb2RlbFtdPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuaWRlbnRpdHlIb3N0fS9ncm91cHNgO1xuICAgICAgICByZXR1cm4gdGhpcy5vQXV0aDJTZXJ2aWNlLmdldCh7IHVybCB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGF2YWlsYWJsZSByb2xlc1xuICAgICAqXG4gICAgICogQHBhcmFtIGdyb3VwSWQgSWQgb2YgdGhlIGdyb3VwLlxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIGF2YWlsYWJsZSByb2xlcyBpbmZvcm1hdGlvbiBvYmplY3RzXG4gICAgICovXG4gICAgZ2V0QXZhaWxhYmxlUm9sZXMoZ3JvdXBJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJZGVudGl0eVJvbGVNb2RlbFtdPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuaWRlbnRpdHlIb3N0fS9ncm91cHMvJHtncm91cElkfS9yb2xlLW1hcHBpbmdzL3JlYWxtL2F2YWlsYWJsZWA7XG4gICAgICAgIHJldHVybiB0aGlzLm9BdXRoMlNlcnZpY2UuZ2V0KHsgdXJsIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYXNzaWduZWQgcm9sZXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBncm91cElkIElkIG9mIHRoZSBncm91cC5cbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiBhdmFpbGFibGUgcm9sZXNcbiAgICAgKi9cbiAgICBnZXRBc3NpZ25lZFJvbGVzKGdyb3VwSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SWRlbnRpdHlSb2xlTW9kZWxbXT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmlkZW50aXR5SG9zdH0vZ3JvdXBzLyR7Z3JvdXBJZH0vcm9sZS1tYXBwaW5ncy9yZWFsbWA7XG4gICAgICAgIHJldHVybiB0aGlzLm9BdXRoMlNlcnZpY2UuZ2V0KHsgdXJsIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFzc2lnbnMgcm9sZXMgdG8gdGhlIGdyb3VwXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZ3JvdXBJZCBUaGUgSUQgb2YgdGhlIGdyb3VwXG4gICAgICogQHBhcmFtIHJvbGVzIEFycmF5IG9mIHJvbGVzIHRvIGFzc2lnblxuICAgICAqIEByZXR1cm5zIHJlcXVlc3QgcmVzdWx0XG4gICAgICovXG4gICAgYXNzaWduUm9sZXMoZ3JvdXBJZDogc3RyaW5nLCByb2xlczogSWRlbnRpdHlSb2xlTW9kZWxbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuaWRlbnRpdHlIb3N0fS9ncm91cHMvJHtncm91cElkfS9yb2xlLW1hcHBpbmdzL3JlYWxtYDtcbiAgICAgICAgY29uc3QgYm9keVBhcmFtID0gSlNPTi5zdHJpbmdpZnkocm9sZXMpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm9BdXRoMlNlcnZpY2UucG9zdCh7IHVybCwgYm9keVBhcmFtIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgcm9sZXMgZnJvbSB0aGUgZ3JvdXBcbiAgICAgKlxuICAgICAqIEBwYXJhbSBncm91cElkIFRoZSBJRCBvZiB0aGUgZ3JvdXBcbiAgICAgKiBAcGFyYW0gcm9sZXMgQXJyYXkgb2Ygcm9sZXMgdG8gcmVtb3ZlXG4gICAgICogQHJldHVybnMgcmVxdWVzdCByZXN1bHRcbiAgICAgKi9cbiAgICByZW1vdmVSb2xlcyhncm91cElkOiBzdHJpbmcsIHJvbGVzOiBJZGVudGl0eVJvbGVNb2RlbFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5pZGVudGl0eUhvc3R9L2dyb3Vwcy8ke2dyb3VwSWR9L3JvbGUtbWFwcGluZ3MvcmVhbG1gO1xuICAgICAgICBjb25zdCBib2R5UGFyYW0gPSBKU09OLnN0cmluZ2lmeShyb2xlcyk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMub0F1dGgyU2VydmljZS5kZWxldGUoeyB1cmwsIGJvZHlQYXJhbSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgZWZmZWN0aXZlIHJvbGVzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZ3JvdXBJZCBJZCBvZiB0aGUgZ3JvdXBcbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiBlZmZlY3RpdmUgcm9sZXNcbiAgICAgKi9cbiAgICBnZXRFZmZlY3RpdmVSb2xlcyhncm91cElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElkZW50aXR5Um9sZU1vZGVsW10+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5pZGVudGl0eUhvc3R9L2dyb3Vwcy8ke2dyb3VwSWR9L3JvbGUtbWFwcGluZ3MvcmVhbG0vY29tcG9zaXRlYDtcbiAgICAgICAgcmV0dXJuIHRoaXMub0F1dGgyU2VydmljZS5nZXQoeyB1cmwgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUXVlcmllcyBncm91cHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdFF1ZXJ5IHF1ZXJ5IHNldHRpbmdzXG4gICAgICogQHJldHVybnMgQXJyYXkgb2YgdXNlciBpbmZvcm1hdGlvbiBvYmplY3RzXG4gICAgICovXG4gICAgcXVlcnlHcm91cHMocmVxdWVzdFF1ZXJ5OiBJZGVudGl0eUdyb3VwUXVlcnlDbG91ZFJlcXVlc3RNb2RlbCk6IE9ic2VydmFibGU8SWRlbnRpdHlHcm91cFF1ZXJ5UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5pZGVudGl0eUhvc3R9L2dyb3Vwc2A7XG4gICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0geyBmaXJzdDogcmVxdWVzdFF1ZXJ5LmZpcnN0IHx8IDAsIG1heDogcmVxdWVzdFF1ZXJ5Lm1heCB8fCA1IH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VG90YWxHcm91cHNDb3VudCgpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHRvdGFsQ291bnQ6IElkZW50aXR5R3JvdXBDb3VudE1vZGVsKSA9PlxuICAgICAgICAgICAgdGhpcy5vQXV0aDJTZXJ2aWNlLmdldDxhbnlbXT4oeyB1cmwsIHF1ZXJ5UGFyYW1zIH0pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgZW50cmllczogcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgIHBhZ2luYXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNraXBDb3VudDogcmVxdWVzdFF1ZXJ5LmZpcnN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4SXRlbXM6IHJlcXVlc3RRdWVyeS5tYXgsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogdG90YWxDb3VudC5jb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc01vcmVJdGVtczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbEl0ZW1zOiB0b3RhbENvdW50LmNvdW50XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGFzIElkZW50aXR5R3JvdXBRdWVyeVJlc3BvbnNlKSlcbiAgICAgICAgICAgICkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBncm91cHMgdG90YWwgY291bnQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBOdW1iZXIgb2YgZ3JvdXBzIGNvdW50LlxuICAgICAqL1xuICAgIGdldFRvdGFsR3JvdXBzQ291bnQoKTogT2JzZXJ2YWJsZTxJZGVudGl0eUdyb3VwQ291bnRNb2RlbD4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmlkZW50aXR5SG9zdH0vZ3JvdXBzL2NvdW50YDtcbiAgICAgICAgcmV0dXJuIHRoaXMub0F1dGgyU2VydmljZS5nZXQoeyB1cmwgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBuZXcgZ3JvdXAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmV3R3JvdXAgT2JqZWN0IG9mIGNvbnRhaW5pbmcgdGhlIG5ldyBncm91cCBkZXRhaWxzLlxuICAgICAqIEByZXR1cm5zIEVtcHR5IHJlc3BvbnNlIHdoZW4gdGhlIGdyb3VwIGNyZWF0ZWQuXG4gICAgICovXG4gICAgY3JlYXRlR3JvdXAobmV3R3JvdXA6IElkZW50aXR5R3JvdXBNb2RlbCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuaWRlbnRpdHlIb3N0fS9ncm91cHNgO1xuICAgICAgICBjb25zdCBib2R5UGFyYW0gPSBuZXdHcm91cDtcblxuICAgICAgICByZXR1cm4gdGhpcy5vQXV0aDJTZXJ2aWNlLnBvc3QoeyB1cmwsIGJvZHlQYXJhbSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIGdyb3VwIGRldGFpbHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZ3JvdXBJZCBJZCBvZiB0aGUgdGFyZ2V0ZWQgZ3JvdXAuXG4gICAgICogQHBhcmFtIHVwZGF0ZWRHcm91cCBPYmplY3Qgb2YgY29udGFpbmluZyB0aGUgZ3JvdXAgZGV0YWlsc1xuICAgICAqIEByZXR1cm5zIEVtcHR5IHJlc3BvbnNlIHdoZW4gdGhlIGdyb3VwIHVwZGF0ZWQuXG4gICAgICovXG4gICAgdXBkYXRlR3JvdXAoZ3JvdXBJZDogc3RyaW5nLCB1cGRhdGVkR3JvdXA6IElkZW50aXR5R3JvdXBNb2RlbCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuaWRlbnRpdHlIb3N0fS9ncm91cHMvJHtncm91cElkfWA7XG4gICAgICAgIGNvbnN0IGJvZHlQYXJhbSA9IEpTT04uc3RyaW5naWZ5KHVwZGF0ZWRHcm91cCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMub0F1dGgyU2VydmljZS5wdXQoeyB1cmwsIGJvZHlQYXJhbSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIEdyb3VwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGdyb3VwSWQgSWQgb2YgdGhlIGdyb3VwLlxuICAgICAqIEByZXR1cm5zIEVtcHR5IHJlc3BvbnNlIHdoZW4gdGhlIGdyb3VwIGRlbGV0ZWQuXG4gICAgICovXG4gICAgZGVsZXRlR3JvdXAoZ3JvdXBJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5pZGVudGl0eUhvc3R9L2dyb3Vwcy8ke2dyb3VwSWR9YDtcbiAgICAgICAgcmV0dXJuIHRoaXMub0F1dGgyU2VydmljZS5kZWxldGUoeyB1cmwgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZHMgZ3JvdXBzIGZpbHRlcmVkIGJ5IG5hbWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2VhcmNoUGFyYW1zIE9iamVjdCBjb250YWluaW5nIHRoZSBuYW1lIGZpbHRlciBzdHJpbmdcbiAgICAgKiBAcmV0dXJucyBMaXN0IG9mIGdyb3VwIGluZm9ybWF0aW9uXG4gICAgICovXG4gICAgZmluZEdyb3Vwc0J5TmFtZShzZWFyY2hQYXJhbXM6IElkZW50aXR5R3JvdXBTZWFyY2hQYXJhbSk6IE9ic2VydmFibGU8SWRlbnRpdHlHcm91cE1vZGVsW10+IHtcbiAgICAgICAgaWYgKHNlYXJjaFBhcmFtcy5uYW1lID09PSAnJykge1xuICAgICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmlkZW50aXR5SG9zdH0vZ3JvdXBzYDtcbiAgICAgICAgY29uc3QgcXVlcnlQYXJhbXMgPSB7IHNlYXJjaDogc2VhcmNoUGFyYW1zLm5hbWUgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5vQXV0aDJTZXJ2aWNlLmdldCh7IHVybCwgcXVlcnlQYXJhbXMgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBkZXRhaWxzIGZvciBhIHNwZWNpZmllZCBncm91cC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBncm91cElkIElkIG9mIHRoZSB0YXJnZXQgZ3JvdXBcbiAgICAgKiBAcmV0dXJucyBHcm91cCBkZXRhaWxzXG4gICAgICovXG4gICAgZ2V0R3JvdXBSb2xlcyhncm91cElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElkZW50aXR5Um9sZU1vZGVsW10+IHtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5idWlsZFJvbGVzVXJsKGdyb3VwSWQpO1xuICAgICAgICByZXR1cm4gdGhpcy5vQXV0aDJTZXJ2aWNlLmdldCh7IHVybCB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayB0aGF0IGEgZ3JvdXAgaGFzIG9uZSBvciBtb3JlIHJvbGVzIGZyb20gdGhlIHN1cHBsaWVkIGxpc3QuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZ3JvdXBJZCBJZCBvZiB0aGUgdGFyZ2V0IGdyb3VwXG4gICAgICogQHBhcmFtIHJvbGVOYW1lcyBBcnJheSBvZiByb2xlIG5hbWVzXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgZ3JvdXAgaGFzIG9uZSBvciBtb3JlIG9mIHRoZSByb2xlcywgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgY2hlY2tHcm91cEhhc1JvbGUoZ3JvdXBJZDogc3RyaW5nLCByb2xlTmFtZXM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxib29sZWFuPiAge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRHcm91cFJvbGVzKGdyb3VwSWQpLnBpcGUobWFwKChncm91cFJvbGVzKSA9PiB7XG4gICAgICAgICAgICBsZXQgaGFzUm9sZSA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGdyb3VwUm9sZXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByb2xlTmFtZXMuZm9yRWFjaCgocm9sZU5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByb2xlID0gZ3JvdXBSb2xlcy5maW5kKCh7IG5hbWUgfSkgPT4gcm9sZU5hbWUgPT09IG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocm9sZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFzUm9sZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBoYXNSb2xlO1xuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgY2xpZW50IElkIHVzaW5nIHRoZSBhcHAgbmFtZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBsaWNhdGlvbk5hbWUgTmFtZSBvZiB0aGUgYXBwXG4gICAgICogQHJldHVybnMgY2xpZW50IElkIHN0cmluZ1xuICAgICAqL1xuICAgIGdldENsaWVudElkQnlBcHBsaWNhdGlvbk5hbWUoYXBwbGljYXRpb25OYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmlkZW50aXR5SG9zdH0vY2xpZW50c2A7XG4gICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0ge2NsaWVudElkOiBhcHBsaWNhdGlvbk5hbWV9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLm9BdXRoMlNlcnZpY2UuZ2V0PGFueVtdPih7IHVybCwgcXVlcnlQYXJhbXMgfSkucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHJlc3BvbnNlICYmIHJlc3BvbnNlLmxlbmd0aCA+IDAgPyByZXNwb25zZVswXS5pZCA6ICcnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgY2xpZW50IHJvbGVzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGdyb3VwSWQgSWQgb2YgdGhlIHRhcmdldCBncm91cFxuICAgICAqIEBwYXJhbSBjbGllbnRJZCBJZCBvZiB0aGUgY2xpZW50XG4gICAgICogQHJldHVybnMgTGlzdCBvZiByb2xlc1xuICAgICAqL1xuICAgIGdldENsaWVudFJvbGVzKGdyb3VwSWQ6IHN0cmluZywgY2xpZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SWRlbnRpdHlSb2xlTW9kZWxbXT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmlkZW50aXR5SG9zdH0vZ3JvdXBzLyR7Z3JvdXBJZH0vcm9sZS1tYXBwaW5ncy9jbGllbnRzLyR7Y2xpZW50SWR9YDtcbiAgICAgICAgcmV0dXJuIHRoaXMub0F1dGgyU2VydmljZS5nZXQoeyB1cmwgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGEgZ3JvdXAgaGFzIGEgY2xpZW50IGFwcC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBncm91cElkIElkIG9mIHRoZSB0YXJnZXQgZ3JvdXBcbiAgICAgKiBAcGFyYW0gY2xpZW50SWQgSWQgb2YgdGhlIGNsaWVudFxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGdyb3VwIGhhcyB0aGUgY2xpZW50IGFwcCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgY2hlY2tHcm91cEhhc0NsaWVudEFwcChncm91cElkOiBzdHJpbmcsIGNsaWVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2xpZW50Um9sZXMoZ3JvdXBJZCwgY2xpZW50SWQpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiByZXNwb25zZSAmJiByZXNwb25zZS5sZW5ndGggPiAwKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGEgZ3JvdXAgaGFzIGFueSBvZiB0aGUgY2xpZW50IGFwcCByb2xlcyBpbiB0aGUgc3VwcGxpZWQgbGlzdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBncm91cElkIElkIG9mIHRoZSB0YXJnZXQgZ3JvdXBcbiAgICAgKiBAcGFyYW0gY2xpZW50SWQgSWQgb2YgdGhlIGNsaWVudFxuICAgICAqIEBwYXJhbSByb2xlTmFtZXMgQXJyYXkgb2Ygcm9sZSBuYW1lcyB0byBjaGVja1xuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGdyb3VwIGhhcyBvbmUgb3IgbW9yZSBvZiB0aGUgcm9sZXMsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuICAgIGNoZWNrR3JvdXBIYXNBbnlDbGllbnRBcHBSb2xlKGdyb3VwSWQ6IHN0cmluZywgY2xpZW50SWQ6IHN0cmluZywgcm9sZU5hbWVzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDbGllbnRSb2xlcyhncm91cElkLCBjbGllbnRJZCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoY2xpZW50Um9sZXM6IGFueVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGhhc1JvbGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBpZiAoY2xpZW50Um9sZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICByb2xlTmFtZXMuZm9yRWFjaCgocm9sZU5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvbGUgPSBjbGllbnRSb2xlcy5maW5kKCh7IG5hbWUgfSkgPT4gbmFtZSA9PT0gcm9sZU5hbWUpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocm9sZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc1JvbGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBoYXNSb2xlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJ1aWxkUm9sZXNVcmwoZ3JvdXBJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaWRlbnRpdHlIb3N0fS9ncm91cHMvJHtncm91cElkfS9yb2xlLW1hcHBpbmdzL3JlYWxtL2NvbXBvc2l0ZWA7XG4gICAgfVxufVxuIl19
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHktZ3JvdXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvYXV0aC9zZXJ2aWNlcy9pZGVudGl0eS1ncm91cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBVXZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUdqRCxNQUFNLE9BQU8sb0JBQW9CO0lBRTdCLFlBQ1ksYUFBNEIsRUFDNUIsZ0JBQWtDO1FBRGxDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDM0MsQ0FBQztJQUVKLElBQVksWUFBWTtRQUNwQixPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUztRQUNMLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksU0FBUyxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGlCQUFpQixDQUFDLE9BQWU7UUFDN0IsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxXQUFXLE9BQU8sZ0NBQWdDLENBQUM7UUFDbkYs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QUM7b0JBRS9ELElBQUksSUFBSSxFQUFFO3dCQUNOLE9BQU8sR0FBRyxJQUFJLENBQUM7d0JBQ2YsT0FBTztxQkFDVjtnQkFDTCxDQUFDLENBQUMsQ0FBQzthQUNOO1lBQ0QsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFTyxhQUFhLENBQUMsT0FBZTtRQUNqQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksV0FBVyxPQUFPLGdDQUFnQyxDQUFDO0lBQ2xGLENBQUM7OEdBcFJRLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRFAsTUFBTTs7MkZBQ25CLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQge1xuICAgIElkZW50aXR5R3JvdXBTZWFyY2hQYXJhbSxcbiAgICBJZGVudGl0eUdyb3VwUXVlcnlDbG91ZFJlcXVlc3RNb2RlbCxcbiAgICBJZGVudGl0eUdyb3VwTW9kZWwsXG4gICAgSWRlbnRpdHlHcm91cFF1ZXJ5UmVzcG9uc2UsXG4gICAgSWRlbnRpdHlHcm91cENvdW50TW9kZWxcbn0gZnJvbSAnLi4vbW9kZWxzL2lkZW50aXR5LWdyb3VwLm1vZGVsJztcbmltcG9ydCB7IElkZW50aXR5Um9sZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2lkZW50aXR5LXJvbGUubW9kZWwnO1xuaW1wb3J0IHsgSWRlbnRpdHlHcm91cFNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2lkZW50aXR5LWdyb3VwLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPQXV0aDJTZXJ2aWNlIH0gZnJvbSAnLi9vYXV0aDIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlHcm91cFNlcnZpY2UgaW1wbGVtZW50cyBJZGVudGl0eUdyb3VwU2VydmljZUludGVyZmFjZSB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBvQXV0aDJTZXJ2aWNlOiBPQXV0aDJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFwcENvbmZpZ1NlcnZpY2U6IEFwcENvbmZpZ1NlcnZpY2VcbiAgICApIHt9XG5cbiAgICBwcml2YXRlIGdldCBpZGVudGl0eUhvc3QoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuYXBwQ29uZmlnU2VydmljZS5nZXQoJ2lkZW50aXR5SG9zdCcpfWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbGwgZ3JvdXBzLlxuICAgICAqXG4gICAgICogQHJldHVybnMgQXJyYXkgb2YgZ3JvdXAgaW5mb3JtYXRpb24gb2JqZWN0c1xuICAgICAqL1xuICAgIGdldEdyb3VwcygpOiBPYnNlcnZhYmxlPElkZW50aXR5R3JvdXBNb2RlbFtdPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuaWRlbnRpdHlIb3N0fS9ncm91cHNgO1xuICAgICAgICByZXR1cm4gdGhpcy5vQXV0aDJTZXJ2aWNlLmdldCh7IHVybCB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGF2YWlsYWJsZSByb2xlc1xuICAgICAqXG4gICAgICogQHBhcmFtIGdyb3VwSWQgSWQgb2YgdGhlIGdyb3VwLlxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIGF2YWlsYWJsZSByb2xlcyBpbmZvcm1hdGlvbiBvYmplY3RzXG4gICAgICovXG4gICAgZ2V0QXZhaWxhYmxlUm9sZXMoZ3JvdXBJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJZGVudGl0eVJvbGVNb2RlbFtdPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuaWRlbnRpdHlIb3N0fS9ncm91cHMvJHtncm91cElkfS9yb2xlLW1hcHBpbmdzL3JlYWxtL2F2YWlsYWJsZWA7XG4gICAgICAgIHJldHVybiB0aGlzLm9BdXRoMlNlcnZpY2UuZ2V0KHsgdXJsIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYXNzaWduZWQgcm9sZXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBncm91cElkIElkIG9mIHRoZSBncm91cC5cbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiBhdmFpbGFibGUgcm9sZXNcbiAgICAgKi9cbiAgICBnZXRBc3NpZ25lZFJvbGVzKGdyb3VwSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SWRlbnRpdHlSb2xlTW9kZWxbXT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmlkZW50aXR5SG9zdH0vZ3JvdXBzLyR7Z3JvdXBJZH0vcm9sZS1tYXBwaW5ncy9yZWFsbWA7XG4gICAgICAgIHJldHVybiB0aGlzLm9BdXRoMlNlcnZpY2UuZ2V0KHsgdXJsIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFzc2lnbnMgcm9sZXMgdG8gdGhlIGdyb3VwXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZ3JvdXBJZCBUaGUgSUQgb2YgdGhlIGdyb3VwXG4gICAgICogQHBhcmFtIHJvbGVzIEFycmF5IG9mIHJvbGVzIHRvIGFzc2lnblxuICAgICAqIEByZXR1cm5zIHJlcXVlc3QgcmVzdWx0XG4gICAgICovXG4gICAgYXNzaWduUm9sZXMoZ3JvdXBJZDogc3RyaW5nLCByb2xlczogSWRlbnRpdHlSb2xlTW9kZWxbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuaWRlbnRpdHlIb3N0fS9ncm91cHMvJHtncm91cElkfS9yb2xlLW1hcHBpbmdzL3JlYWxtYDtcbiAgICAgICAgY29uc3QgYm9keVBhcmFtID0gSlNPTi5zdHJpbmdpZnkocm9sZXMpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm9BdXRoMlNlcnZpY2UucG9zdCh7IHVybCwgYm9keVBhcmFtIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgcm9sZXMgZnJvbSB0aGUgZ3JvdXBcbiAgICAgKlxuICAgICAqIEBwYXJhbSBncm91cElkIFRoZSBJRCBvZiB0aGUgZ3JvdXBcbiAgICAgKiBAcGFyYW0gcm9sZXMgQXJyYXkgb2Ygcm9sZXMgdG8gcmVtb3ZlXG4gICAgICogQHJldHVybnMgcmVxdWVzdCByZXN1bHRcbiAgICAgKi9cbiAgICByZW1vdmVSb2xlcyhncm91cElkOiBzdHJpbmcsIHJvbGVzOiBJZGVudGl0eVJvbGVNb2RlbFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5pZGVudGl0eUhvc3R9L2dyb3Vwcy8ke2dyb3VwSWR9L3JvbGUtbWFwcGluZ3MvcmVhbG1gO1xuICAgICAgICBjb25zdCBib2R5UGFyYW0gPSBKU09OLnN0cmluZ2lmeShyb2xlcyk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMub0F1dGgyU2VydmljZS5kZWxldGUoeyB1cmwsIGJvZHlQYXJhbSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgZWZmZWN0aXZlIHJvbGVzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZ3JvdXBJZCBJZCBvZiB0aGUgZ3JvdXBcbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiBlZmZlY3RpdmUgcm9sZXNcbiAgICAgKi9cbiAgICBnZXRFZmZlY3RpdmVSb2xlcyhncm91cElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElkZW50aXR5Um9sZU1vZGVsW10+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5pZGVudGl0eUhvc3R9L2dyb3Vwcy8ke2dyb3VwSWR9L3JvbGUtbWFwcGluZ3MvcmVhbG0vY29tcG9zaXRlYDtcbiAgICAgICAgcmV0dXJuIHRoaXMub0F1dGgyU2VydmljZS5nZXQoeyB1cmwgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUXVlcmllcyBncm91cHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdFF1ZXJ5IHF1ZXJ5IHNldHRpbmdzXG4gICAgICogQHJldHVybnMgQXJyYXkgb2YgdXNlciBpbmZvcm1hdGlvbiBvYmplY3RzXG4gICAgICovXG4gICAgcXVlcnlHcm91cHMocmVxdWVzdFF1ZXJ5OiBJZGVudGl0eUdyb3VwUXVlcnlDbG91ZFJlcXVlc3RNb2RlbCk6IE9ic2VydmFibGU8SWRlbnRpdHlHcm91cFF1ZXJ5UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5pZGVudGl0eUhvc3R9L2dyb3Vwc2A7XG4gICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0geyBmaXJzdDogcmVxdWVzdFF1ZXJ5LmZpcnN0IHx8IDAsIG1heDogcmVxdWVzdFF1ZXJ5Lm1heCB8fCA1IH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VG90YWxHcm91cHNDb3VudCgpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHRvdGFsQ291bnQ6IElkZW50aXR5R3JvdXBDb3VudE1vZGVsKSA9PlxuICAgICAgICAgICAgdGhpcy5vQXV0aDJTZXJ2aWNlLmdldDxhbnlbXT4oeyB1cmwsIHF1ZXJ5UGFyYW1zIH0pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgZW50cmllczogcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgIHBhZ2luYXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNraXBDb3VudDogcmVxdWVzdFF1ZXJ5LmZpcnN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4SXRlbXM6IHJlcXVlc3RRdWVyeS5tYXgsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudDogdG90YWxDb3VudC5jb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc01vcmVJdGVtczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbEl0ZW1zOiB0b3RhbENvdW50LmNvdW50XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGFzIElkZW50aXR5R3JvdXBRdWVyeVJlc3BvbnNlKSlcbiAgICAgICAgICAgICkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBncm91cHMgdG90YWwgY291bnQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBOdW1iZXIgb2YgZ3JvdXBzIGNvdW50LlxuICAgICAqL1xuICAgIGdldFRvdGFsR3JvdXBzQ291bnQoKTogT2JzZXJ2YWJsZTxJZGVudGl0eUdyb3VwQ291bnRNb2RlbD4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmlkZW50aXR5SG9zdH0vZ3JvdXBzL2NvdW50YDtcbiAgICAgICAgcmV0dXJuIHRoaXMub0F1dGgyU2VydmljZS5nZXQoeyB1cmwgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBuZXcgZ3JvdXAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmV3R3JvdXAgT2JqZWN0IG9mIGNvbnRhaW5pbmcgdGhlIG5ldyBncm91cCBkZXRhaWxzLlxuICAgICAqIEByZXR1cm5zIEVtcHR5IHJlc3BvbnNlIHdoZW4gdGhlIGdyb3VwIGNyZWF0ZWQuXG4gICAgICovXG4gICAgY3JlYXRlR3JvdXAobmV3R3JvdXA6IElkZW50aXR5R3JvdXBNb2RlbCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuaWRlbnRpdHlIb3N0fS9ncm91cHNgO1xuICAgICAgICBjb25zdCBib2R5UGFyYW0gPSBuZXdHcm91cDtcblxuICAgICAgICByZXR1cm4gdGhpcy5vQXV0aDJTZXJ2aWNlLnBvc3QoeyB1cmwsIGJvZHlQYXJhbSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIGdyb3VwIGRldGFpbHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZ3JvdXBJZCBJZCBvZiB0aGUgdGFyZ2V0ZWQgZ3JvdXAuXG4gICAgICogQHBhcmFtIHVwZGF0ZWRHcm91cCBPYmplY3Qgb2YgY29udGFpbmluZyB0aGUgZ3JvdXAgZGV0YWlsc1xuICAgICAqIEByZXR1cm5zIEVtcHR5IHJlc3BvbnNlIHdoZW4gdGhlIGdyb3VwIHVwZGF0ZWQuXG4gICAgICovXG4gICAgdXBkYXRlR3JvdXAoZ3JvdXBJZDogc3RyaW5nLCB1cGRhdGVkR3JvdXA6IElkZW50aXR5R3JvdXBNb2RlbCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuaWRlbnRpdHlIb3N0fS9ncm91cHMvJHtncm91cElkfWA7XG4gICAgICAgIGNvbnN0IGJvZHlQYXJhbSA9IEpTT04uc3RyaW5naWZ5KHVwZGF0ZWRHcm91cCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMub0F1dGgyU2VydmljZS5wdXQoeyB1cmwsIGJvZHlQYXJhbSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIEdyb3VwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGdyb3VwSWQgSWQgb2YgdGhlIGdyb3VwLlxuICAgICAqIEByZXR1cm5zIEVtcHR5IHJlc3BvbnNlIHdoZW4gdGhlIGdyb3VwIGRlbGV0ZWQuXG4gICAgICovXG4gICAgZGVsZXRlR3JvdXAoZ3JvdXBJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5pZGVudGl0eUhvc3R9L2dyb3Vwcy8ke2dyb3VwSWR9YDtcbiAgICAgICAgcmV0dXJuIHRoaXMub0F1dGgyU2VydmljZS5kZWxldGUoeyB1cmwgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZHMgZ3JvdXBzIGZpbHRlcmVkIGJ5IG5hbWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2VhcmNoUGFyYW1zIE9iamVjdCBjb250YWluaW5nIHRoZSBuYW1lIGZpbHRlciBzdHJpbmdcbiAgICAgKiBAcmV0dXJucyBMaXN0IG9mIGdyb3VwIGluZm9ybWF0aW9uXG4gICAgICovXG4gICAgZmluZEdyb3Vwc0J5TmFtZShzZWFyY2hQYXJhbXM6IElkZW50aXR5R3JvdXBTZWFyY2hQYXJhbSk6IE9ic2VydmFibGU8SWRlbnRpdHlHcm91cE1vZGVsW10+IHtcbiAgICAgICAgaWYgKHNlYXJjaFBhcmFtcy5uYW1lID09PSAnJykge1xuICAgICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmlkZW50aXR5SG9zdH0vZ3JvdXBzYDtcbiAgICAgICAgY29uc3QgcXVlcnlQYXJhbXMgPSB7IHNlYXJjaDogc2VhcmNoUGFyYW1zLm5hbWUgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5vQXV0aDJTZXJ2aWNlLmdldCh7IHVybCwgcXVlcnlQYXJhbXMgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBkZXRhaWxzIGZvciBhIHNwZWNpZmllZCBncm91cC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBncm91cElkIElkIG9mIHRoZSB0YXJnZXQgZ3JvdXBcbiAgICAgKiBAcmV0dXJucyBHcm91cCBkZXRhaWxzXG4gICAgICovXG4gICAgZ2V0R3JvdXBSb2xlcyhncm91cElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElkZW50aXR5Um9sZU1vZGVsW10+IHtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5idWlsZFJvbGVzVXJsKGdyb3VwSWQpO1xuICAgICAgICByZXR1cm4gdGhpcy5vQXV0aDJTZXJ2aWNlLmdldCh7IHVybCB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayB0aGF0IGEgZ3JvdXAgaGFzIG9uZSBvciBtb3JlIHJvbGVzIGZyb20gdGhlIHN1cHBsaWVkIGxpc3QuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZ3JvdXBJZCBJZCBvZiB0aGUgdGFyZ2V0IGdyb3VwXG4gICAgICogQHBhcmFtIHJvbGVOYW1lcyBBcnJheSBvZiByb2xlIG5hbWVzXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgZ3JvdXAgaGFzIG9uZSBvciBtb3JlIG9mIHRoZSByb2xlcywgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgY2hlY2tHcm91cEhhc1JvbGUoZ3JvdXBJZDogc3RyaW5nLCByb2xlTmFtZXM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxib29sZWFuPiAge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRHcm91cFJvbGVzKGdyb3VwSWQpLnBpcGUobWFwKChncm91cFJvbGVzKSA9PiB7XG4gICAgICAgICAgICBsZXQgaGFzUm9sZSA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGdyb3VwUm9sZXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByb2xlTmFtZXMuZm9yRWFjaCgocm9sZU5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByb2xlID0gZ3JvdXBSb2xlcy5maW5kKCh7IG5hbWUgfSkgPT4gcm9sZU5hbWUgPT09IG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocm9sZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFzUm9sZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBoYXNSb2xlO1xuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgY2xpZW50IElkIHVzaW5nIHRoZSBhcHAgbmFtZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBsaWNhdGlvbk5hbWUgTmFtZSBvZiB0aGUgYXBwXG4gICAgICogQHJldHVybnMgY2xpZW50IElkIHN0cmluZ1xuICAgICAqL1xuICAgIGdldENsaWVudElkQnlBcHBsaWNhdGlvbk5hbWUoYXBwbGljYXRpb25OYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmlkZW50aXR5SG9zdH0vY2xpZW50c2A7XG4gICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0ge2NsaWVudElkOiBhcHBsaWNhdGlvbk5hbWV9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLm9BdXRoMlNlcnZpY2UuZ2V0PGFueVtdPih7IHVybCwgcXVlcnlQYXJhbXMgfSkucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHJlc3BvbnNlICYmIHJlc3BvbnNlLmxlbmd0aCA+IDAgPyByZXNwb25zZVswXS5pZCA6ICcnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgY2xpZW50IHJvbGVzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGdyb3VwSWQgSWQgb2YgdGhlIHRhcmdldCBncm91cFxuICAgICAqIEBwYXJhbSBjbGllbnRJZCBJZCBvZiB0aGUgY2xpZW50XG4gICAgICogQHJldHVybnMgTGlzdCBvZiByb2xlc1xuICAgICAqL1xuICAgIGdldENsaWVudFJvbGVzKGdyb3VwSWQ6IHN0cmluZywgY2xpZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SWRlbnRpdHlSb2xlTW9kZWxbXT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmlkZW50aXR5SG9zdH0vZ3JvdXBzLyR7Z3JvdXBJZH0vcm9sZS1tYXBwaW5ncy9jbGllbnRzLyR7Y2xpZW50SWR9YDtcbiAgICAgICAgcmV0dXJuIHRoaXMub0F1dGgyU2VydmljZS5nZXQoeyB1cmwgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGEgZ3JvdXAgaGFzIGEgY2xpZW50IGFwcC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBncm91cElkIElkIG9mIHRoZSB0YXJnZXQgZ3JvdXBcbiAgICAgKiBAcGFyYW0gY2xpZW50SWQgSWQgb2YgdGhlIGNsaWVudFxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGdyb3VwIGhhcyB0aGUgY2xpZW50IGFwcCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgY2hlY2tHcm91cEhhc0NsaWVudEFwcChncm91cElkOiBzdHJpbmcsIGNsaWVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2xpZW50Um9sZXMoZ3JvdXBJZCwgY2xpZW50SWQpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiByZXNwb25zZSAmJiByZXNwb25zZS5sZW5ndGggPiAwKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGEgZ3JvdXAgaGFzIGFueSBvZiB0aGUgY2xpZW50IGFwcCByb2xlcyBpbiB0aGUgc3VwcGxpZWQgbGlzdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBncm91cElkIElkIG9mIHRoZSB0YXJnZXQgZ3JvdXBcbiAgICAgKiBAcGFyYW0gY2xpZW50SWQgSWQgb2YgdGhlIGNsaWVudFxuICAgICAqIEBwYXJhbSByb2xlTmFtZXMgQXJyYXkgb2Ygcm9sZSBuYW1lcyB0byBjaGVja1xuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGdyb3VwIGhhcyBvbmUgb3IgbW9yZSBvZiB0aGUgcm9sZXMsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuICAgIGNoZWNrR3JvdXBIYXNBbnlDbGllbnRBcHBSb2xlKGdyb3VwSWQ6IHN0cmluZywgY2xpZW50SWQ6IHN0cmluZywgcm9sZU5hbWVzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDbGllbnRSb2xlcyhncm91cElkLCBjbGllbnRJZCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoY2xpZW50Um9sZXM6IGFueVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGhhc1JvbGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBpZiAoY2xpZW50Um9sZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICByb2xlTmFtZXMuZm9yRWFjaCgocm9sZU5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvbGUgPSBjbGllbnRSb2xlcy5maW5kKCh7IG5hbWUgfSkgPT4gbmFtZSA9PT0gcm9sZU5hbWUpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocm9sZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc1JvbGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBoYXNSb2xlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJ1aWxkUm9sZXNVcmwoZ3JvdXBJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaWRlbnRpdHlIb3N0fS9ncm91cHMvJHtncm91cElkfS9yb2xlLW1hcHBpbmdzL3JlYWxtL2NvbXBvc2l0ZWA7XG4gICAgfVxufVxuIl19