nuxeo-development-framework 3.8.1 → 3.8.3

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 (311) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +32267 -31027
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/activities-log/activities-log/activities-log.service.js +2 -2
  4. package/esm2015/lib/components/attachment-item/attachment-item/attachment-item.component.js +2 -2
  5. package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +2 -2
  6. package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +2 -2
  7. package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +1 -1
  8. package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +2 -2
  9. package/esm2015/lib/components/comments/services/comment-api.service.js +3 -3
  10. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +3 -3
  11. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +2 -2
  12. package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +2 -2
  13. package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +3 -3
  14. package/esm2015/lib/components/correspondence-relation/services/viewer-files.service.js +3 -3
  15. package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +2 -2
  16. package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +2 -2
  17. package/esm2015/lib/components/cts-tags/services/tags-api.service.js +2 -2
  18. package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +6 -6
  19. package/esm2015/lib/components/custom-toastr/interfaces/toast-type.interface.js +1 -1
  20. package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +23 -11
  21. package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +2 -2
  22. package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +2 -2
  23. package/esm2015/lib/components/documents/services/document-templates.service.js +3 -3
  24. package/esm2015/lib/components/documents/services/documents.service.js +3 -3
  25. package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +2 -2
  26. package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +2 -2
  27. package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +2 -2
  28. package/esm2015/lib/components/dynamic-form/components/dynamic-form/form-builder.service.js +2 -2
  29. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +3 -3
  30. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.js +2 -2
  31. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +2 -2
  32. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +5 -5
  33. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +3 -3
  34. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +2 -2
  35. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.js +2 -2
  36. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +2 -2
  37. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +4 -4
  38. package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +2 -2
  39. package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +2 -2
  40. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +2 -2
  41. package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +3 -3
  42. package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +3 -3
  43. package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +3 -3
  44. package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +2 -2
  45. package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +2 -2
  46. package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +2 -2
  47. package/esm2015/lib/components/file-manger/components/clipboard/clipboard.component.js +2 -2
  48. package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +4 -4
  49. package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +2 -2
  50. package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +4 -4
  51. package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +5 -5
  52. package/esm2015/lib/components/file-manger/components/sidepanel/sidepanel.component.js +4 -4
  53. package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +3 -3
  54. package/esm2015/lib/components/file-manger/directives/file-grid-infinite-scroll.directive.js +78 -0
  55. package/esm2015/lib/components/file-manger/file-manager.abstract.js +459 -301
  56. package/esm2015/lib/components/file-manger/file-manger.module.js +10 -5
  57. package/esm2015/lib/components/file-manger/models/file-manager-config.model.js +7 -0
  58. package/esm2015/lib/components/file-manger/models/index.js +4 -0
  59. package/esm2015/lib/components/file-manger/models/pagination-payload.mode.js +2 -0
  60. package/esm2015/lib/components/file-manger/models/pagination-response.model.js +6 -0
  61. package/esm2015/lib/components/latest-activity/services/activity-log.service.js +3 -3
  62. package/esm2015/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.js +2 -2
  63. package/esm2015/lib/components/notifications/components/base-list-notfications.component.js +154 -0
  64. package/esm2015/lib/components/notifications/components/base-notifications.component.js +35 -0
  65. package/esm2015/lib/components/notifications/components/index.js +7 -0
  66. package/esm2015/lib/components/notifications/components/notification-item/get-icon.pipe.js +44 -0
  67. package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +41 -129
  68. package/esm2015/lib/components/notifications/components/notification-source-select/notification-source-select.component.js +34 -0
  69. package/esm2015/lib/components/notifications/components/notification-status-toggle/notification-status-toggle.component.js +26 -0
  70. package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +75 -165
  71. package/esm2015/lib/components/notifications/components/notifications-date-select/notifications-date-select.component.js +59 -0
  72. package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +53 -175
  73. package/esm2015/lib/components/notifications/components/notifications-list/options.js +24 -0
  74. package/esm2015/lib/components/notifications/components/notifications-list-actions/notifications-list-actions.component.js +43 -0
  75. package/esm2015/lib/components/notifications/components/notifications-settings/check-if-subscribed.pipe.js +28 -0
  76. package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.adapter.js +30 -0
  77. package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.component.js +163 -0
  78. package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar-content.js +28 -0
  79. package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar.component.js +158 -0
  80. package/esm2015/lib/components/notifications/constants/date.js +8 -0
  81. package/esm2015/lib/components/notifications/constants/index.js +5 -0
  82. package/esm2015/lib/components/notifications/constants/pagination.js +5 -0
  83. package/esm2015/lib/components/notifications/constants/panel.js +5 -0
  84. package/esm2015/lib/components/notifications/constants/status.js +10 -0
  85. package/esm2015/lib/components/notifications/containers/index.js +3 -0
  86. package/esm2015/lib/components/notifications/containers/notifications-list-container/notifications-list-container.component.js +98 -0
  87. package/esm2015/lib/components/notifications/containers/notifications-list-container/options.js +18 -0
  88. package/esm2015/lib/components/notifications/containers/notifications-settings-container/notifications-settings-container.component.js +67 -0
  89. package/esm2015/lib/components/notifications/directives/button.directive.js +28 -0
  90. package/esm2015/lib/components/notifications/directives/index.js +3 -0
  91. package/esm2015/lib/components/notifications/directives/notification.directive.js +28 -0
  92. package/esm2015/lib/components/notifications/index.js +2 -0
  93. package/esm2015/lib/components/notifications/models/common.js +2 -0
  94. package/esm2015/lib/components/notifications/models/index.js +11 -0
  95. package/esm2015/lib/components/notifications/models/notification-definition.model.js +2 -0
  96. package/esm2015/lib/components/notifications/models/notification-options.js +2 -0
  97. package/esm2015/lib/components/notifications/models/notification-setting.presenter.js +2 -0
  98. package/esm2015/lib/components/notifications/models/notification-subscription.model.js +2 -0
  99. package/esm2015/lib/components/notifications/models/notification.model.js +2 -0
  100. package/esm2015/lib/components/notifications/models/notifications-list-options.js +3 -0
  101. package/esm2015/lib/components/notifications/models/paging-response.model.js +2 -0
  102. package/esm2015/lib/components/notifications/models/params.model.js +2 -0
  103. package/esm2015/lib/components/notifications/models/vocabularies.js +2 -0
  104. package/esm2015/lib/components/notifications/notifications.module.js +80 -46
  105. package/esm2015/lib/components/notifications/public-api.js +9 -0
  106. package/esm2015/lib/components/notifications/services/index.js +2 -0
  107. package/esm2015/lib/components/notifications/services/listener.service.js +19 -0
  108. package/esm2015/lib/components/notifications/services/notifications.service.js +155 -0
  109. package/esm2015/lib/components/notifications/services/params.service.js +31 -0
  110. package/esm2015/lib/components/notifications/services/response.service.js +65 -0
  111. package/esm2015/lib/components/notifications/utilities/index.js +2 -0
  112. package/esm2015/lib/components/notifications/utilities/response.adapter.js +12 -0
  113. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +3 -3
  114. package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +2 -2
  115. package/esm2015/lib/components/permissions/permission.service.js +2 -2
  116. package/esm2015/lib/components/permissions/permissions/permissions.component.js +3 -3
  117. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/department-management.service.js +2 -2
  118. package/esm2015/lib/components/table/dynamic-column/dynamic-column.component.js +2 -2
  119. package/esm2015/lib/components/table/table/table.component.js +3 -3
  120. package/esm2015/lib/components/{notifications → toasts}/components/notification-toast/notification-toast.component.js +8 -12
  121. package/esm2015/lib/components/toasts/index.js +2 -0
  122. package/esm2015/lib/components/toasts/public-api.js +3 -0
  123. package/esm2015/lib/components/toasts/toasts.module.js +19 -0
  124. package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +2 -2
  125. package/esm2015/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.js +2 -2
  126. package/esm2015/lib/core/adapters/adapter.service.js +1 -1
  127. package/esm2015/lib/core/core.module.js +1 -1
  128. package/esm2015/lib/core/env/env-manager.js +1 -1
  129. package/esm2015/lib/core/env/index.js +1 -1
  130. package/esm2015/lib/core/models/api-response.model.js +2 -0
  131. package/esm2015/lib/core/models/automation-response.model.js +2 -0
  132. package/esm2015/lib/core/models/base-response.models.js +2 -0
  133. package/esm2015/lib/core/models/index.js +5 -0
  134. package/esm2015/lib/core/services/callApi/call-api.service.js +1 -1
  135. package/esm2015/lib/core/services/extension/action.extensions.js +1 -1
  136. package/esm2015/lib/core/services/extension/component-register.service.js +1 -1
  137. package/esm2015/lib/core/services/extension/extenion-utils.js +1 -1
  138. package/esm2015/lib/core/services/extension/extension-element.js +1 -1
  139. package/esm2015/lib/core/services/extension/extension-loader.service.js +1 -1
  140. package/esm2015/lib/core/services/extension/extension.service.js +1 -1
  141. package/esm2015/lib/core/services/initialization/initialization.service.js +1 -1
  142. package/esm2015/lib/core/services/nuxeo/nuxeo.service.js +3 -3
  143. package/esm2015/lib/core/services/translation/translation.service.js +3 -3
  144. package/esm2015/lib/core/utilities/moment-date-adapter.js +1 -1
  145. package/esm2015/lib/core/utilities/utility.service.js +1 -1
  146. package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +2 -2
  147. package/esm2015/lib/directive/permissions/evaluators.service.js +2 -2
  148. package/esm2015/lib/directive/permissions/permissions.directive.js +2 -2
  149. package/esm2015/lib/directive/rtl/set-dir-rtl.directive.js +2 -2
  150. package/esm2015/lib/directive/rtl/set-rtl.directive.js +2 -2
  151. package/esm2015/lib/shared-services/dynamic-form.service.js +2 -2
  152. package/esm2015/lib/shared-services/file-manager.service.js +456 -222
  153. package/esm2015/lib/shared-services/global-admin.service.js +1 -1
  154. package/esm2015/lib/shared-services/mainfolder.service.js +3 -3
  155. package/esm2015/lib/shared-services/publishing-document.service.js +3 -3
  156. package/esm2015/lib/shared-services/recently-viewed.service.js +3 -3
  157. package/esm2015/lib/shared-services/shared-docs.service.js +3 -3
  158. package/esm2015/lib/shared-services/upload-file.service.js +2 -2
  159. package/esm2015/lib/shared-services/upload-managment.service.js +2 -2
  160. package/esm2015/lib/shared-services/user.service.js +3 -3
  161. package/esm2015/public-api.js +145 -149
  162. package/fesm2015/nuxeo-development-framework.js +24280 -23143
  163. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  164. package/lib/components/activities-log/activities-log/activities-log.service.d.ts +1 -1
  165. package/lib/components/attachment-item/attachment-item/attachment-item.component.d.ts +1 -1
  166. package/lib/components/comments/components/comment-item/comment-item.component.d.ts +1 -1
  167. package/lib/components/comments/components/comments-dashlet/comments-dashlet.component.d.ts +1 -1
  168. package/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.d.ts +1 -1
  169. package/lib/components/comments/services/comment-api.service.d.ts +2 -2
  170. package/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.d.ts +2 -2
  171. package/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.d.ts +1 -1
  172. package/lib/components/correspondence-relation/components/versions/versions.component.d.ts +1 -1
  173. package/lib/components/correspondence-relation/services/correspondence-realation.service.d.ts +2 -2
  174. package/lib/components/correspondence-relation/services/viewer-files.service.d.ts +2 -2
  175. package/lib/components/create-entity/create-entity/create-entity.component.d.ts +1 -1
  176. package/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.d.ts +1 -1
  177. package/lib/components/cts-tags/services/tags-api.service.d.ts +1 -1
  178. package/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.d.ts +1 -1
  179. package/lib/components/custom-toastr/interfaces/toast-type.interface.d.ts +1 -1
  180. package/lib/components/custom-toastr/services/custom-toastr.service.d.ts +8 -4
  181. package/lib/components/documents/components/attachments-list/attachments-list.component.d.ts +1 -1
  182. package/lib/components/documents/components/document-list/documents-list.component.d.ts +1 -1
  183. package/lib/components/documents/services/document-templates.service.d.ts +2 -2
  184. package/lib/components/documents/services/documents.service.d.ts +2 -2
  185. package/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.d.ts +1 -1
  186. package/lib/components/dynamic-chart/services/chart-data.service.d.ts +1 -1
  187. package/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.d.ts +1 -1
  188. package/lib/components/dynamic-form/components/dynamic-form/form-builder.service.d.ts +1 -1
  189. package/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.d.ts +1 -1
  190. package/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.d.ts +1 -1
  191. package/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.d.ts +1 -1
  192. package/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.d.ts +4 -4
  193. package/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.d.ts +2 -2
  194. package/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.d.ts +1 -1
  195. package/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.d.ts +1 -1
  196. package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.d.ts +1 -1
  197. package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.d.ts +3 -3
  198. package/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.d.ts +1 -1
  199. package/lib/components/dynamic-form/services/dynamic-form-update.service.d.ts +1 -1
  200. package/lib/components/dynamic-search/dynamic-search/dynamic-search.component.d.ts +1 -1
  201. package/lib/components/dynamic-table/dynamic-table/dynamic-table.component.d.ts +2 -2
  202. package/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.d.ts +2 -2
  203. package/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.d.ts +2 -2
  204. package/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.d.ts +1 -1
  205. package/lib/components/dynamic-view/date-viewer/date-viewer.component.d.ts +1 -1
  206. package/lib/components/dynamic-view/department-viewer/department-viewer.component.d.ts +1 -1
  207. package/lib/components/file-manger/components/clipboard/clipboard.component.d.ts +1 -1
  208. package/lib/components/file-manger/components/create-modal/create-modal.component.d.ts +3 -3
  209. package/lib/components/file-manger/components/folder-modal/folder-modal.component.d.ts +1 -1
  210. package/lib/components/file-manger/components/scan-modal/scan-modal.component.d.ts +3 -3
  211. package/lib/components/file-manger/components/share-dialog/share-dialog.component.d.ts +3 -3
  212. package/lib/components/file-manger/components/sidepanel/sidepanel.component.d.ts +2 -2
  213. package/lib/components/file-manger/components/update-modal/update-modal.component.d.ts +2 -2
  214. package/lib/components/file-manger/directives/file-grid-infinite-scroll.directive.d.ts +12 -0
  215. package/lib/components/file-manger/file-manager.abstract.d.ts +20 -8
  216. package/lib/components/file-manger/file-manger.module.d.ts +37 -36
  217. package/lib/components/file-manger/models/file-manager-config.model.d.ts +8 -0
  218. package/lib/components/file-manger/models/index.d.ts +3 -0
  219. package/lib/components/file-manger/models/pagination-payload.mode.d.ts +3 -0
  220. package/lib/components/file-manger/models/pagination-response.model.d.ts +30 -0
  221. package/lib/components/latest-activity/services/activity-log.service.d.ts +2 -2
  222. package/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.d.ts +1 -1
  223. package/lib/components/notifications/components/base-list-notfications.component.d.ts +40 -0
  224. package/lib/components/notifications/components/base-notifications.component.d.ts +20 -0
  225. package/lib/components/notifications/components/index.d.ts +6 -0
  226. package/lib/components/notifications/components/notification-item/get-icon.pipe.d.ts +8 -0
  227. package/lib/components/notifications/components/notification-item/notification-item.component.d.ts +21 -22
  228. package/lib/components/notifications/components/notification-source-select/notification-source-select.component.d.ts +12 -0
  229. package/lib/components/notifications/components/notification-status-toggle/notification-status-toggle.component.d.ts +8 -0
  230. package/lib/components/notifications/components/notifications-button/notifications-button.component.d.ts +29 -30
  231. package/lib/components/notifications/components/notifications-date-select/notifications-date-select.component.d.ts +19 -0
  232. package/lib/components/notifications/components/notifications-list/notifications-list.component.d.ts +15 -54
  233. package/lib/components/notifications/components/notifications-list/options.d.ts +2 -0
  234. package/lib/components/notifications/components/notifications-list-actions/notifications-list-actions.component.d.ts +15 -0
  235. package/lib/components/notifications/components/notifications-settings/check-if-subscribed.pipe.d.ts +8 -0
  236. package/lib/components/notifications/components/notifications-settings/notifications-settings.adapter.d.ts +3 -0
  237. package/lib/components/notifications/components/notifications-settings/notifications-settings.component.d.ts +40 -0
  238. package/lib/components/notifications/components/notifications-sidebar/notifications-sidebar-content.d.ts +9 -0
  239. package/lib/components/notifications/components/notifications-sidebar/notifications-sidebar.component.d.ts +43 -0
  240. package/lib/components/notifications/constants/date.d.ts +7 -0
  241. package/lib/components/notifications/constants/index.d.ts +4 -0
  242. package/lib/components/notifications/constants/pagination.d.ts +4 -0
  243. package/lib/components/notifications/constants/panel.d.ts +4 -0
  244. package/lib/components/notifications/constants/status.d.ts +9 -0
  245. package/lib/components/notifications/containers/index.d.ts +2 -0
  246. package/lib/components/notifications/containers/notifications-list-container/notifications-list-container.component.d.ts +27 -0
  247. package/lib/components/notifications/containers/notifications-list-container/options.d.ts +2 -0
  248. package/lib/components/notifications/containers/notifications-settings-container/notifications-settings-container.component.d.ts +22 -0
  249. package/lib/components/notifications/directives/button.directive.d.ts +9 -0
  250. package/lib/components/notifications/directives/index.d.ts +2 -0
  251. package/lib/components/notifications/directives/notification.directive.d.ts +9 -0
  252. package/lib/components/notifications/index.d.ts +1 -0
  253. package/lib/components/notifications/models/common.d.ts +64 -0
  254. package/lib/components/notifications/models/index.d.ts +10 -0
  255. package/lib/components/notifications/models/notification-definition.model.d.ts +17 -0
  256. package/lib/components/notifications/models/notification-options.d.ts +7 -0
  257. package/lib/components/notifications/models/notification-setting.presenter.d.ts +24 -0
  258. package/lib/components/notifications/models/notification-subscription.model.d.ts +13 -0
  259. package/lib/components/notifications/models/notification.model.d.ts +16 -0
  260. package/lib/components/notifications/models/notifications-list-options.d.ts +34 -0
  261. package/lib/components/notifications/models/paging-response.model.d.ts +12 -0
  262. package/lib/components/notifications/models/params.model.d.ts +6 -0
  263. package/lib/components/notifications/models/vocabularies.d.ts +12 -0
  264. package/lib/components/notifications/notifications.module.d.ts +32 -16
  265. package/lib/components/notifications/public-api.d.ts +8 -0
  266. package/lib/components/notifications/services/index.d.ts +1 -0
  267. package/lib/components/notifications/services/listener.service.d.ts +8 -0
  268. package/lib/components/notifications/services/notifications.service.d.ts +55 -0
  269. package/lib/components/notifications/services/params.service.d.ts +19 -0
  270. package/lib/components/notifications/services/response.service.d.ts +19 -0
  271. package/lib/components/notifications/utilities/index.d.ts +1 -0
  272. package/lib/components/notifications/utilities/response.adapter.d.ts +3 -0
  273. package/lib/components/pdf-tron/pdftron/pdftron.component.d.ts +2 -2
  274. package/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.d.ts +1 -1
  275. package/lib/components/permissions/permission.service.d.ts +1 -1
  276. package/lib/components/permissions/permissions/permissions.component.d.ts +2 -2
  277. package/lib/components/select-users-by-department/select-users-by-departments/department-management.service.d.ts +1 -1
  278. package/lib/components/table/dynamic-column/dynamic-column.component.d.ts +1 -1
  279. package/lib/components/table/table/table.component.d.ts +2 -2
  280. package/lib/components/{notifications → toasts}/components/notification-toast/notification-toast.component.d.ts +2 -4
  281. package/lib/components/toasts/index.d.ts +1 -0
  282. package/lib/components/toasts/public-api.d.ts +2 -0
  283. package/lib/components/toasts/toasts.module.d.ts +8 -0
  284. package/lib/components/vocabulary/services/vocabulary-api.service.d.ts +1 -1
  285. package/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.d.ts +1 -1
  286. package/lib/core/models/api-response.model.d.ts +24 -0
  287. package/lib/core/models/automation-response.model.d.ts +24 -0
  288. package/lib/core/models/base-response.models.d.ts +12 -0
  289. package/lib/core/models/index.d.ts +4 -0
  290. package/lib/core/services/nuxeo/nuxeo.service.d.ts +1 -1
  291. package/lib/core/services/translation/translation.service.d.ts +3 -3
  292. package/lib/directive/app-has-role/app-has-role.directive.d.ts +1 -1
  293. package/lib/directive/permissions/evaluators.service.d.ts +1 -1
  294. package/lib/directive/permissions/permissions.directive.d.ts +1 -1
  295. package/lib/directive/rtl/set-dir-rtl.directive.d.ts +1 -1
  296. package/lib/directive/rtl/set-rtl.directive.d.ts +1 -1
  297. package/lib/shared-services/dynamic-form.service.d.ts +1 -1
  298. package/lib/shared-services/file-manager.service.d.ts +27 -19
  299. package/lib/shared-services/mainfolder.service.d.ts +2 -2
  300. package/lib/shared-services/publishing-document.service.d.ts +2 -2
  301. package/lib/shared-services/recently-viewed.service.d.ts +2 -2
  302. package/lib/shared-services/shared-docs.service.d.ts +2 -2
  303. package/lib/shared-services/upload-file.service.d.ts +1 -1
  304. package/lib/shared-services/upload-managment.service.d.ts +1 -1
  305. package/lib/shared-services/user.service.d.ts +2 -2
  306. package/package.json +1 -1
  307. package/public-api.d.ts +139 -143
  308. package/esm2015/lib/components/notifications/components/notification-options/notification-options.component.js +0 -22
  309. package/esm2015/lib/components/notifications/notifications.service.js +0 -358
  310. package/lib/components/notifications/components/notification-options/notification-options.component.d.ts +0 -10
  311. package/lib/components/notifications/notifications.service.d.ts +0 -87
@@ -2,7 +2,7 @@ import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
2
  import { FormArray, FormControl, FormGroup } from '@angular/forms';
3
3
  import { Subject } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "../../../../Core/services/nuxeo/nuxeo.service";
5
+ import * as i1 from "../../../../core/services/nuxeo/nuxeo.service";
6
6
  import * as i2 from "@angular/material/icon";
7
7
  import * as i3 from "../../../dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component";
8
8
  import * as i4 from "../../../dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component";
@@ -153,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
153
153
  }], documentSelect: [{
154
154
  type: Output
155
155
  }] } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudHMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50cy9jb21wb25lbnRzL2F0dGFjaG1lbnRzLWxpc3QvYXR0YWNobWVudHMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50cy9jb21wb25lbnRzL2F0dGFjaG1lbnRzLWxpc3QvYXR0YWNobWVudHMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFRL0I7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBTUgsTUFBTSxPQUFPLHdCQUF3QjtJQThCbkMsWUFBb0IsUUFBc0I7UUFBdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQXZCMUMsaUJBQWlCO1FBRWpCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUlqQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbkMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTVDLGVBQVUsR0FBcUIsSUFBSSxPQUFP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Y0FBYyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUMvQyxDQUFDO1FBQ0YsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFRLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFlLENBQUMsUUFBUSxDQUFDO0lBQzNFLENBQUM7O3NIQXJIVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixzV0MzQ3JDLGt3SEE0RkE7NEZEakRhLHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxXQUFXLEVBQUUsbUNBQW1DO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztpQkFDakQ7bUdBSUMsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLGFBQWE7c0JBRFosTUFBTTtnQkFHUCxjQUFjO3NCQURiLE1BQU07Z0JBS1AsY0FBYztzQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uZmlybUNhbGxlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbmZpcm0tY2FsbGVyL2NvbmZpcm0tY2FsbGVyLmRpYWxvZyc7XHJcbmltcG9ydCB7IEN1c3RvbVRvYXN0clNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdG9hc3RyL3NlcnZpY2VzL2N1c3RvbS10b2FzdHIuc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50c0NvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9kb2N1bWVudHMnO1xyXG5pbXBvcnQgeyBEb2N1bWVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZG9jdW1lbnRzLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEEgY29tcG9uZW50IHRoYXQgd2lsbCBsaXN0IGF0dGFjaG1lbnRzIGJhdGNoIHdpdGggZWRpdCBmb3JtIGZvciBlYWNoIGl0ZW1cclxuICogQHRpdGxlXHJcbiAqIEJhdGNoIGF0dGFjaG1lbnRzIExpc3RcclxuICpcclxuICogQGV4YW1wbGVcclxuICpcclxuICogPGN0cy1hdHRhY2htZW50cy1saXN0XHJcbiAqICAgW2l0ZW1zXT1cImZpbGVzXCJcclxuICogICBbZGlzYWJsZVBhZ2luYXRpb25dPVwidHJ1ZVwiXHJcbiAqICAgW2JhdGNoTGlzdF09XCJ0cnVlXCJcclxuICogICBbY2FuUHJldmlld109XCJmYWxzZVwiXHJcbiAqICAgW2l0ZW1dPVwiZmlsZVwiXHJcbiAqICAgKGRvY3VtZW50c0NvdW50KT1cImdldEF0dGFjaG1lbnRzQ291bnQoJGV2ZW50KVwiXHJcbiAqICAgKGRlbGV0ZVN1Y2Nlc3MpPVwib25EZWxldGVOZXdBdHRhY2htZW50KCRldmVudClcIlxyXG4gKiA+XHJcbiAqIDwvY3RzLWF0dGFjaG1lbnRzLWxpc3Q+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N0cy1hdHRhY2htZW50cy1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXR0YWNobWVudHMtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXR0YWNobWVudHMtbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudHNMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KClcclxuICBhbmNlc3RvcklkO1xyXG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJvdmlkZXI7XHJcbiAgLyoqIEJhdGNoIGxpc3QgKi9cclxuICBASW5wdXQoKVxyXG4gIGl0ZW1zID0gW107XHJcbiAgQElucHV0KClcclxuICBiYXRjaExpc3QgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGRvbnREZWxldGUgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGNhbkRlbGV0ZSA9IHRydWU7XHJcbiAgQElucHV0KClcclxuICBpdGVtO1xyXG4gIEBPdXRwdXQoKVxyXG4gIGRlbGV0ZVN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgZG9jdW1lbnRzQ291bnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgb25EZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgZG9jdW1lbnRTZWxlY3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgcHVibGljIGF0dGFjaG1lbnRGb3JtID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICBhdHRhY2htZW50Q2FyZDogbmV3IEZvcm1BcnJheShbXSksXHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbnV4ZW9BcGk6IE51eGVvU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF0dGFjaG1lbnRGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZygnZm9ybSB2YWx1ZScsIHRoaXMuYXR0YWNobWVudEZvcm0udmFsdWUuYXR0YWNobWVudENhcmQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgLy8gKHRoaXMuYXR0YWNobWVudEZvcm0uY29udHJvbHNbJ2F0dGFjaG1lbnRDYXJkJ10gYXMgRm9ybUFycmF5KS5jbGVhcigpO1xyXG4gICAgLy8gdGhpcy5maWxsRm9ybSh0aGlzLml0ZW1zKTtcclxuICAgIGlmICh0aGlzLml0ZW0pIHtcclxuICAgICAgdGhpcy50cmFuc2Zvcm1JdGVtKHRoaXMuaXRlbSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0NyZWF0b3IoaXRlbSkge1xyXG4gICAgcmV0dXJuICF0aGlzLmJhdGNoTGlzdFxyXG4gICAgICA/IGl0ZW0ucHJvcGVydGllcy5jcmVhdG9yLmlkID09PSB0aGlzLm51eGVvQXBpLm51eGVvQ2xpZW50LnVzZXIuaWRcclxuICAgICAgOiB0cnVlO1xyXG4gIH1cclxuICBkZWxldGVEb2N1bWVudChldmVudCwgaXRlbSkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmRlbGV0ZVN1Y2Nlc3MubmV4dChpdGVtKTtcclxuICB9XHJcblxyXG4gIGZpbGxGb3JtKGl0ZW1zOiBhbnlbXSkge1xyXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgZmlsZUZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgICAgIGl0ZW06IG5ldyBGb3JtQ29udHJvbChpdGVtKSxcclxuICAgICAgICBhdHRhY2htZW50SWQ6IG5ldyBGb3JtQ29udHJvbCgnYWJjMTIzJyksXHJcbiAgICAgICAgYmFyY29kZTogbmV3IEZvcm1Db250cm9sKCcxMjM0NTQzMzInKSxcclxuICAgICAgICBjbGFzc2lmaWNhdGlvbjogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICAgIGNhdGVnb3J5OiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgICAgdHlwZTogbmV3IEZvcm1Db250cm9sKCdQREYnKSxcclxuICAgICAgICB0aXRsZTogbmV3IEZvcm1Db250cm9sKGl0ZW0udGl0bGUuc3BsaXQoJy4nKS5zbGljZSgwLCAtMSkuam9pbignLicpKSxcclxuICAgICAgICByZW1hcmtzOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgICAgLy8gaXNPYmplY3Q6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXHJcbiAgICAgICAgZXh0ZW5zaW9uOiBuZXcgRm9ybUNvbnRyb2woaXRlbS50aXRsZS5zcGxpdCgnLicpLnBvcCgpKSxcclxuICAgICAgICBjb250ZW50OiBuZXcgRm9ybUNvbnRyb2woe1xyXG4gICAgICAgICAgJ3VwbG9hZC1iYXRjaCc6IGl0ZW0uYmxvYlsndXBsb2FkLWJhdGNoJ10sXHJcbiAgICAgICAgICAndXBsb2FkLWZpbGVJZCc6IGl0ZW0uYmxvYlsndXBsb2FkLWZpbGVJZCddLFxyXG4gICAgICAgICAgJ21pbWUtdHlwZSc6ICdhcHBsaWNhdGlvbi9wZGYnLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5hZGRBdHRhY2htZW50Q2FyZChmaWxlRm9ybUdyb3VwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtSXRlbShpdGVtKSB7XHJcbiAgICBsZXQgZmlsZUZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgICBpdGVtOiBuZXcgRm9ybUNvbnRyb2woaXRlbSksXHJcbiAgICAgIGF0dGFjaG1lbnRJZDogbmV3IEZvcm1Db250cm9sKCdhYmMxMjMnKSxcclxuICAgICAgYmFyY29kZTogbmV3IEZvcm1Db250cm9sKCcxMjM0NTQzMzInKSxcclxuICAgICAgY2xhc3NpZmljYXRpb246IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgY2F0ZWdvcnk6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgdHlwZTogbmV3IEZvcm1Db250cm9sKCdQREYnKSxcclxuICAgICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbChpdGVtLnRpdGxlLnNwbGl0KCcuJykuc2xpY2UoMCwgLTEpLmpvaW4oJy4nKSksXHJcbiAgICAgIHJlbWFya3M6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgLy8gaXNPYmplY3Q6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXHJcbiAgICAgIGV4dGVuc2lvbjogbmV3IEZvcm1Db250cm9sKGl0ZW0udGl0bGUuc3BsaXQoJy4nKS5wb3AoKSksXHJcbiAgICAgIGNvbnRlbnQ6IG5ldyBGb3JtQ29udHJvbCh7XHJcbiAgICAgICAgJ3VwbG9hZC1iYXRjaCc6IGl0ZW0uYmxvYlsndXBsb2FkLWJhdGNoJ10sXHJcbiAgICAgICAgJ3VwbG9hZC1maWxlSWQnOiBpdGVtLmJsb2JbJ3VwbG9hZC1maWxlSWQnXSxcclxuICAgICAgICAnbWltZS10eXBlJzogJ2FwcGxpY2F0aW9uL3BkZicsXHJcbiAgICAgIH0pLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmFkZEF0dGFjaG1lbnRDYXJkKGZpbGVGb3JtR3JvdXApO1xyXG4gIH1cclxuICBhZGRBdHRhY2htZW50Q2FyZChmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xyXG4gICAgY29uc3QgYXJyYXlDb250cm9sID0gPEZvcm1BcnJheT4oXHJcbiAgICAgIHRoaXMuYXR0YWNobWVudEZvcm0uY29udHJvbHNbJ2F0dGFjaG1lbnRDYXJkJ11cclxuICAgICk7XHJcbiAgICBhcnJheUNvbnRyb2wucHVzaChmb3JtR3JvdXApO1xyXG4gIH1cclxuICBkZWxJbnB1dChpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBhcnJheUNvbnRyb2wgPSA8Rm9ybUFycmF5PihcclxuICAgICAgdGhpcy5hdHRhY2htZW50Rm9ybS5jb250cm9sc1snYXR0YWNobWVudENhcmQnXVxyXG4gICAgKTtcclxuICAgIGFycmF5Q29udHJvbC5yZW1vdmVBdChpbmRleCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGdldENvbnRyb2xzKCkge1xyXG4gICAgcmV0dXJuICh0aGlzLmF0dGFjaG1lbnRGb3JtLmdldCgnYXR0YWNobWVudENhcmQnKSBhcyBGb3JtQXJyYXkpLmNvbnRyb2xzO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyPlxyXG4gIDxkaXYgY2xhc3M9XCJkb2MtbGlzdFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJhdHRhY2htZW50Rm9ybVwiPlxyXG4gICAgICAgIDxkaXYgZm9ybUFycmF5TmFtZT1cImF0dGFjaG1lbnRDYXJkXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZG9jLWl0ZW1cIlxyXG4gICAgICAgICAgICAqbmdGb3I9XCJcclxuICAgICAgICAgICAgICBsZXQgYXR0YWNobWVudENhcmRDb250cm9sIG9mIGF0dGFjaG1lbnRGb3JtLmdldCgnYXR0YWNobWVudENhcmQnKVtcclxuICAgICAgICAgICAgICAgICdjb250cm9scydcclxuICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgIGxldCBpID0gaW5kZXhcclxuICAgICAgICAgICAgXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPCEtLSAoY2xpY2spPVwicHJldmlldyhpdGVtLnVpZClcIiAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtaWNvblwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5maWxlX2NvcHk8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIFtmb3JtR3JvdXBOYW1lXT1cImlcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYXR0YWNobWVudEZvcm0tY29udGFpbmVyIHJvdyBuby1ndXR0ZXJzXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtQ29udHJvbC13cmFwcGVyIGNvbC0xMiBjb2wteGwtNlwiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW1cclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnVGl0bGUnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0aXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCJcclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbVxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7XHJcbiAgICAgICAgICAgICAgICAgICAgJ0NSRUFURS5BVFRBQ0hNRU5UUy5SRU1BUktTX1BMQUNFX0hPTERFUicgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgfX1cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHRpdGVtXCJcclxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmVtYXJrc1wiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm1Db250cm9sLXdyYXBwZXIgY29sLTEyIGNvbC14bC02XCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWR5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW1cclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2b2MtZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgW2JpbmRMYWJlbF09XCInbGFiZWwnXCJcclxuICAgICAgICAgICAgICAgICAgW2JpbmRWYWx1ZV09XCInaWQnXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnVk9DQUJVTEFSWS5UWVBFJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgW2Nsb3NlT25TZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtoaWRlU2VsZWN0ZWRJdGVtc109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt2b2NhYnVsYXJ5VHlwZV09XCInVk9DX0NvcnJlc3BvbmRlbmNlQXR0YWNobWVudFR5cGUnXCJcclxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbT5cclxuICAgICAgICAgICAgICAgIDxhcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbVxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInZvYy1mb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICBbYmluZExhYmVsXT1cIidsYWJlbCdcIlxyXG4gICAgICAgICAgICAgICAgICBbYmluZFZhbHVlXT1cIidpZCdcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdWT0NBQlVMQVJZLkNMQVNTSUZJQ0FUSU9OJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgW2Nsb3NlT25TZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtoaWRlU2VsZWN0ZWRJdGVtc109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt2b2NhYnVsYXJ5VHlwZV09XCInVk9DX0NvcnJlc3BvbmRlbmNlQXR0YWNoQ2xhc3NpZmljYXRpb24nXCJcclxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2xhc3NpZmljYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmb3JtQ29udHJvbC10b2dnbGVpdGVtIGNvbC0yIGNvbC14bC0yXCI+XHJcbiAgICAgICAgICAgICAgICA8Y3RzLWR5bmFtaWMtZm9ybS1zbGlkZS10b2dnbGVpdGVtXHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsPVwie3sgJ0NSRUFURS5BVFRBQ0hNRU5UUy5JU09CSkVDVCcgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc09iamVjdFwiXHJcbiAgICAgICAgICAgICAgICA+PC9jdHMtZHluYW1pYy1mb3JtLXNsaWRlLXRvZ2dsZWl0ZW0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbElucHV0KGkpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLWRhbmdlciBidG4tbm8tYm9yZGVyXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8IS0tIGRlbGV0ZURvY3VtZW50KCRldmVudCwgYXR0YWNobWVudENhcmRDb250cm9sLnZhbHVlLml0ZW0pIC0tPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZm9ybT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNzcGlubmVyPlxyXG4gIDxtYXQtc3Bpbm5lciBjbGFzcz1cImNlbnRlcmVkLXNwaW5uZXJcIj48L21hdC1zcGlubmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudHMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50cy9jb21wb25lbnRzL2F0dGFjaG1lbnRzLWxpc3QvYXR0YWNobWVudHMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50cy9jb21wb25lbnRzL2F0dGFjaG1lbnRzLWxpc3QvYXR0YWNobWVudHMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFRL0I7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBTUgsTUFBTSxPQUFPLHdCQUF3QjtJQThCbkMsWUFBb0IsUUFBc0I7UUFBdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQXZCMUMsaUJBQWlCO1FBRWpCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUlqQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbkMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTVDLGVBQVUsR0FBcUIsSUFBSSxPQUFP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Y0FBYyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUMvQyxDQUFDO1FBQ0YsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFRLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFlLENBQUMsUUFBUSxDQUFDO0lBQzNFLENBQUM7O3NIQXJIVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixzV0MzQ3JDLGt3SEE0RkE7NEZEakRhLHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxXQUFXLEVBQUUsbUNBQW1DO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztpQkFDakQ7bUdBSUMsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLGFBQWE7c0JBRFosTUFBTTtnQkFHUCxjQUFjO3NCQURiLE1BQU07Z0JBS1AsY0FBYztzQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uZmlybUNhbGxlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbmZpcm0tY2FsbGVyL2NvbmZpcm0tY2FsbGVyLmRpYWxvZyc7XHJcbmltcG9ydCB7IEN1c3RvbVRvYXN0clNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdG9hc3RyL3NlcnZpY2VzL2N1c3RvbS10b2FzdHIuc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50c0NvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9kb2N1bWVudHMnO1xyXG5pbXBvcnQgeyBEb2N1bWVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZG9jdW1lbnRzLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEEgY29tcG9uZW50IHRoYXQgd2lsbCBsaXN0IGF0dGFjaG1lbnRzIGJhdGNoIHdpdGggZWRpdCBmb3JtIGZvciBlYWNoIGl0ZW1cclxuICogQHRpdGxlXHJcbiAqIEJhdGNoIGF0dGFjaG1lbnRzIExpc3RcclxuICpcclxuICogQGV4YW1wbGVcclxuICpcclxuICogPGN0cy1hdHRhY2htZW50cy1saXN0XHJcbiAqICAgW2l0ZW1zXT1cImZpbGVzXCJcclxuICogICBbZGlzYWJsZVBhZ2luYXRpb25dPVwidHJ1ZVwiXHJcbiAqICAgW2JhdGNoTGlzdF09XCJ0cnVlXCJcclxuICogICBbY2FuUHJldmlld109XCJmYWxzZVwiXHJcbiAqICAgW2l0ZW1dPVwiZmlsZVwiXHJcbiAqICAgKGRvY3VtZW50c0NvdW50KT1cImdldEF0dGFjaG1lbnRzQ291bnQoJGV2ZW50KVwiXHJcbiAqICAgKGRlbGV0ZVN1Y2Nlc3MpPVwib25EZWxldGVOZXdBdHRhY2htZW50KCRldmVudClcIlxyXG4gKiA+XHJcbiAqIDwvY3RzLWF0dGFjaG1lbnRzLWxpc3Q+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N0cy1hdHRhY2htZW50cy1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXR0YWNobWVudHMtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXR0YWNobWVudHMtbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudHNMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KClcclxuICBhbmNlc3RvcklkO1xyXG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJvdmlkZXI7XHJcbiAgLyoqIEJhdGNoIGxpc3QgKi9cclxuICBASW5wdXQoKVxyXG4gIGl0ZW1zID0gW107XHJcbiAgQElucHV0KClcclxuICBiYXRjaExpc3QgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGRvbnREZWxldGUgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGNhbkRlbGV0ZSA9IHRydWU7XHJcbiAgQElucHV0KClcclxuICBpdGVtO1xyXG4gIEBPdXRwdXQoKVxyXG4gIGRlbGV0ZVN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgZG9jdW1lbnRzQ291bnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgb25EZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgZG9jdW1lbnRTZWxlY3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgcHVibGljIGF0dGFjaG1lbnRGb3JtID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICBhdHRhY2htZW50Q2FyZDogbmV3IEZvcm1BcnJheShbXSksXHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbnV4ZW9BcGk6IE51eGVvU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF0dGFjaG1lbnRGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZygnZm9ybSB2YWx1ZScsIHRoaXMuYXR0YWNobWVudEZvcm0udmFsdWUuYXR0YWNobWVudENhcmQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgLy8gKHRoaXMuYXR0YWNobWVudEZvcm0uY29udHJvbHNbJ2F0dGFjaG1lbnRDYXJkJ10gYXMgRm9ybUFycmF5KS5jbGVhcigpO1xyXG4gICAgLy8gdGhpcy5maWxsRm9ybSh0aGlzLml0ZW1zKTtcclxuICAgIGlmICh0aGlzLml0ZW0pIHtcclxuICAgICAgdGhpcy50cmFuc2Zvcm1JdGVtKHRoaXMuaXRlbSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0NyZWF0b3IoaXRlbSkge1xyXG4gICAgcmV0dXJuICF0aGlzLmJhdGNoTGlzdFxyXG4gICAgICA/IGl0ZW0ucHJvcGVydGllcy5jcmVhdG9yLmlkID09PSB0aGlzLm51eGVvQXBpLm51eGVvQ2xpZW50LnVzZXIuaWRcclxuICAgICAgOiB0cnVlO1xyXG4gIH1cclxuICBkZWxldGVEb2N1bWVudChldmVudCwgaXRlbSkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmRlbGV0ZVN1Y2Nlc3MubmV4dChpdGVtKTtcclxuICB9XHJcblxyXG4gIGZpbGxGb3JtKGl0ZW1zOiBhbnlbXSkge1xyXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgZmlsZUZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgICAgIGl0ZW06IG5ldyBGb3JtQ29udHJvbChpdGVtKSxcclxuICAgICAgICBhdHRhY2htZW50SWQ6IG5ldyBGb3JtQ29udHJvbCgnYWJjMTIzJyksXHJcbiAgICAgICAgYmFyY29kZTogbmV3IEZvcm1Db250cm9sKCcxMjM0NTQzMzInKSxcclxuICAgICAgICBjbGFzc2lmaWNhdGlvbjogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICAgIGNhdGVnb3J5OiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgICAgdHlwZTogbmV3IEZvcm1Db250cm9sKCdQREYnKSxcclxuICAgICAgICB0aXRsZTogbmV3IEZvcm1Db250cm9sKGl0ZW0udGl0bGUuc3BsaXQoJy4nKS5zbGljZSgwLCAtMSkuam9pbignLicpKSxcclxuICAgICAgICByZW1hcmtzOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgICAgLy8gaXNPYmplY3Q6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXHJcbiAgICAgICAgZXh0ZW5zaW9uOiBuZXcgRm9ybUNvbnRyb2woaXRlbS50aXRsZS5zcGxpdCgnLicpLnBvcCgpKSxcclxuICAgICAgICBjb250ZW50OiBuZXcgRm9ybUNvbnRyb2woe1xyXG4gICAgICAgICAgJ3VwbG9hZC1iYXRjaCc6IGl0ZW0uYmxvYlsndXBsb2FkLWJhdGNoJ10sXHJcbiAgICAgICAgICAndXBsb2FkLWZpbGVJZCc6IGl0ZW0uYmxvYlsndXBsb2FkLWZpbGVJZCddLFxyXG4gICAgICAgICAgJ21pbWUtdHlwZSc6ICdhcHBsaWNhdGlvbi9wZGYnLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5hZGRBdHRhY2htZW50Q2FyZChmaWxlRm9ybUdyb3VwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtSXRlbShpdGVtKSB7XHJcbiAgICBsZXQgZmlsZUZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgICBpdGVtOiBuZXcgRm9ybUNvbnRyb2woaXRlbSksXHJcbiAgICAgIGF0dGFjaG1lbnRJZDogbmV3IEZvcm1Db250cm9sKCdhYmMxMjMnKSxcclxuICAgICAgYmFyY29kZTogbmV3IEZvcm1Db250cm9sKCcxMjM0NTQzMzInKSxcclxuICAgICAgY2xhc3NpZmljYXRpb246IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgY2F0ZWdvcnk6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgdHlwZTogbmV3IEZvcm1Db250cm9sKCdQREYnKSxcclxuICAgICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbChpdGVtLnRpdGxlLnNwbGl0KCcuJykuc2xpY2UoMCwgLTEpLmpvaW4oJy4nKSksXHJcbiAgICAgIHJlbWFya3M6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgLy8gaXNPYmplY3Q6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXHJcbiAgICAgIGV4dGVuc2lvbjogbmV3IEZvcm1Db250cm9sKGl0ZW0udGl0bGUuc3BsaXQoJy4nKS5wb3AoKSksXHJcbiAgICAgIGNvbnRlbnQ6IG5ldyBGb3JtQ29udHJvbCh7XHJcbiAgICAgICAgJ3VwbG9hZC1iYXRjaCc6IGl0ZW0uYmxvYlsndXBsb2FkLWJhdGNoJ10sXHJcbiAgICAgICAgJ3VwbG9hZC1maWxlSWQnOiBpdGVtLmJsb2JbJ3VwbG9hZC1maWxlSWQnXSxcclxuICAgICAgICAnbWltZS10eXBlJzogJ2FwcGxpY2F0aW9uL3BkZicsXHJcbiAgICAgIH0pLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmFkZEF0dGFjaG1lbnRDYXJkKGZpbGVGb3JtR3JvdXApO1xyXG4gIH1cclxuICBhZGRBdHRhY2htZW50Q2FyZChmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xyXG4gICAgY29uc3QgYXJyYXlDb250cm9sID0gPEZvcm1BcnJheT4oXHJcbiAgICAgIHRoaXMuYXR0YWNobWVudEZvcm0uY29udHJvbHNbJ2F0dGFjaG1lbnRDYXJkJ11cclxuICAgICk7XHJcbiAgICBhcnJheUNvbnRyb2wucHVzaChmb3JtR3JvdXApO1xyXG4gIH1cclxuICBkZWxJbnB1dChpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBhcnJheUNvbnRyb2wgPSA8Rm9ybUFycmF5PihcclxuICAgICAgdGhpcy5hdHRhY2htZW50Rm9ybS5jb250cm9sc1snYXR0YWNobWVudENhcmQnXVxyXG4gICAgKTtcclxuICAgIGFycmF5Q29udHJvbC5yZW1vdmVBdChpbmRleCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGdldENvbnRyb2xzKCkge1xyXG4gICAgcmV0dXJuICh0aGlzLmF0dGFjaG1lbnRGb3JtLmdldCgnYXR0YWNobWVudENhcmQnKSBhcyBGb3JtQXJyYXkpLmNvbnRyb2xzO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyPlxyXG4gIDxkaXYgY2xhc3M9XCJkb2MtbGlzdFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJhdHRhY2htZW50Rm9ybVwiPlxyXG4gICAgICAgIDxkaXYgZm9ybUFycmF5TmFtZT1cImF0dGFjaG1lbnRDYXJkXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZG9jLWl0ZW1cIlxyXG4gICAgICAgICAgICAqbmdGb3I9XCJcclxuICAgICAgICAgICAgICBsZXQgYXR0YWNobWVudENhcmRDb250cm9sIG9mIGF0dGFjaG1lbnRGb3JtLmdldCgnYXR0YWNobWVudENhcmQnKVtcclxuICAgICAgICAgICAgICAgICdjb250cm9scydcclxuICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgIGxldCBpID0gaW5kZXhcclxuICAgICAgICAgICAgXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPCEtLSAoY2xpY2spPVwicHJldmlldyhpdGVtLnVpZClcIiAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtaWNvblwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5maWxlX2NvcHk8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIFtmb3JtR3JvdXBOYW1lXT1cImlcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYXR0YWNobWVudEZvcm0tY29udGFpbmVyIHJvdyBuby1ndXR0ZXJzXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtQ29udHJvbC13cmFwcGVyIGNvbC0xMiBjb2wteGwtNlwiPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW1cclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnVGl0bGUnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0aXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCJcclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbVxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7XHJcbiAgICAgICAgICAgICAgICAgICAgJ0NSRUFURS5BVFRBQ0hNRU5UUy5SRU1BUktTX1BMQUNFX0hPTERFUicgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgfX1cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHRpdGVtXCJcclxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmVtYXJrc1wiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm1Db250cm9sLXdyYXBwZXIgY29sLTEyIGNvbC14bC02XCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWR5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW1cclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2b2MtZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgW2JpbmRMYWJlbF09XCInbGFiZWwnXCJcclxuICAgICAgICAgICAgICAgICAgW2JpbmRWYWx1ZV09XCInaWQnXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnVk9DQUJVTEFSWS5UWVBFJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgW2Nsb3NlT25TZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtoaWRlU2VsZWN0ZWRJdGVtc109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt2b2NhYnVsYXJ5VHlwZV09XCInVk9DX0NvcnJlc3BvbmRlbmNlQXR0YWNobWVudFR5cGUnXCJcclxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbT5cclxuICAgICAgICAgICAgICAgIDxhcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbVxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInZvYy1mb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICBbYmluZExhYmVsXT1cIidsYWJlbCdcIlxyXG4gICAgICAgICAgICAgICAgICBbYmluZFZhbHVlXT1cIidpZCdcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdWT0NBQlVMQVJZLkNMQVNTSUZJQ0FUSU9OJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgW2Nsb3NlT25TZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtoaWRlU2VsZWN0ZWRJdGVtc109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt2b2NhYnVsYXJ5VHlwZV09XCInVk9DX0NvcnJlc3BvbmRlbmNlQXR0YWNoQ2xhc3NpZmljYXRpb24nXCJcclxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2xhc3NpZmljYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmb3JtQ29udHJvbC10b2dnbGVpdGVtIGNvbC0yIGNvbC14bC0yXCI+XHJcbiAgICAgICAgICAgICAgICA8Y3RzLWR5bmFtaWMtZm9ybS1zbGlkZS10b2dnbGVpdGVtXHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsPVwie3sgJ0NSRUFURS5BVFRBQ0hNRU5UUy5JU09CSkVDVCcgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc09iamVjdFwiXHJcbiAgICAgICAgICAgICAgICA+PC9jdHMtZHluYW1pYy1mb3JtLXNsaWRlLXRvZ2dsZWl0ZW0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbElucHV0KGkpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLWRhbmdlciBidG4tbm8tYm9yZGVyXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8IS0tIGRlbGV0ZURvY3VtZW50KCRldmVudCwgYXR0YWNobWVudENhcmRDb250cm9sLnZhbHVlLml0ZW0pIC0tPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZm9ybT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNzcGlubmVyPlxyXG4gIDxtYXQtc3Bpbm5lciBjbGFzcz1cImNlbnRlcmVkLXNwaW5uZXJcIj48L21hdC1zcGlubmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -5,7 +5,7 @@ import { ConfirmCallerDialogComponent } from '../../../confirm-caller/confirm-ca
5
5
  import { DocumentsConstants } from '../../constants/documents';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../../services/documents.service";
8
- import * as i2 from "../../../../Core/services/nuxeo/nuxeo.service";
8
+ import * as i2 from "../../../../core/services/nuxeo/nuxeo.service";
9
9
  import * as i3 from "../../../custom-toastr/services/custom-toastr.service";
10
10
  import * as i4 from "@angular/material/dialog";
11
11
  import * as i5 from "@angular/router";
@@ -250,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
250
250
  }], documentSelect: [{
251
251
  type: Output
252
252
  }] } });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kb2N1bWVudHMvY29tcG9uZW50cy9kb2N1bWVudC1saXN0L2RvY3VtZW50cy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZG9jdW1lbnRzL2NvbXBvbmVudHMvZG9jdW1lbnQtbGlzdC9kb2N1bWVudHMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFTLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUU3RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7QUFHL0Q7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBTUgsTUFBTSxPQUFPLHNCQUFzQjtJQXdEakMsWUFDVSxZQUE4QixFQUM5QixRQUFzQixFQUN0QixNQUEyQixFQUMzQixNQUFpQixFQUNqQixNQUFjO1FBSmQsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQWM7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFR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LENBQUM7SUFDN0IsQ0FBQzs7b0hBM01VLHNCQUFzQjt3R0FBdEIsc0JBQXNCLHNpQkN4Q25DLDh4Q0FrQ0E7NEZETWEsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLFNBQVMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2lCQUMvQztpTkFJQyxVQUFVO3NCQURULEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLOztRQUdOLGdDQUFnQztRQUNoQyxpQkFBaUI7c0JBRmhCLEtBQUs7Z0JBS04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdOLGFBQWE7c0JBRFosTUFBTTs7UUFJUCx1REFBdUQ7UUFDdkQsY0FBYztzQkFGYixNQUFNO2dCQVdQLGNBQWM7c0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVsYXksIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uZmlybUNhbGxlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbmZpcm0tY2FsbGVyL2NvbmZpcm0tY2FsbGVyLmRpYWxvZyc7XHJcbmltcG9ydCB7IEN1c3RvbVRvYXN0clNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdG9hc3RyL3NlcnZpY2VzL2N1c3RvbS10b2FzdHIuc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50c0NvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9kb2N1bWVudHMnO1xyXG5pbXBvcnQgeyBEb2N1bWVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZG9jdW1lbnRzLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEEgcmV1c2FibGUgY29tcG9uZW50IHRvIGxpc3QgYXR0YWNobWVudHMsXHJcbiAqIGF0dGFjaG1lbnRzIGNhbiBiZSBwcm92aWRlZCBhcyBpbnB1dCwgb3IgY2FuIGJlIHF1ZXJpZWQgdXNpbmcgcHJvdmlkZXJOYW1lIGFuZC9vciBhbmNlc3RvcklkXHJcbiAqIEB0aXRsZVxyXG4gKiBEb2N1bWVudHMgbGlzdFxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiA8YXBwLWRvY3VtZW50cy1saXN0XHJcbiAqICAgW2l0ZW1zXT1cIkFycmF5T2ZEb2N1bWVudHNPckJhdGNoXCJcclxuICogICBbZGlzYWJsZVBhZ2luYXRpb25dPVwiZmFsc2VcIlxyXG4gKiAgIFtiYXRjaExpc3RdPVwidHJ1ZVwiXHJcbiAqICAgW2NhblByZXZpZXddPVwiZmFsc2VcIlxyXG4gKiAgIChkZWxldGVTdWNjZXNzKT1cIm9uRGVsZXRlKCRldmVudClcIlxyXG4gKiA+PC9hcHAtZG9jdW1lbnRzLWxpc3Q+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1kb2N1bWVudHMtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50cy1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudHMtbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRzTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIC8qKiBBbmNlc3RvciBJRCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgYW5jZXN0b3JJZDtcclxuICAvKiogQXR0YWNobWVudHMgcHJvdmlkZXIgbmFtZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJvdmlkZXI7XHJcbiAgQElucHV0KClcclxuICAvKiogU2hvdWxkIGRpc2FibGUgUGFnaW5hdGlvbiAqL1xyXG4gIGRpc2FibGVQYWdpbmF0aW9uID0gZmFsc2U7XHJcbiAgLyoqIEBkZXByZWNhdGVkIG5vdCB1c2VkICovXHJcbiAgQElucHV0KClcclxuICBjb250YWluZXJDbGFzc2VzOiBzdHJpbmc7XHJcbiAgLyoqIEBkZXByZWNhdGVkIG5vdCB1c2VkICovXHJcbiAgQElucHV0KClcclxuICBpdGVtc0NsYXNzZXM6IHN0cmluZztcclxuICAvKiogZG9jdW1lbnRzIG9yIGJhdGNoIGl0ZW1zIGFycmF5ICovXHJcbiAgQElucHV0KClcclxuICBpdGVtcyA9IFtdO1xyXG4gIC8qKiBFdmVudCBlbWl0dGVyIGlmIHByb3ZpZGVkIGFuZCBlbWl0dGVkIHdpbGwgY2F1c2UgdGhlIGxpc3QgdG8gcmVmcmVzaCB0aGUgbGlzdCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgbm90aWZpZXIgPSBudWxsO1xyXG4gIC8qKiBDYW4gb3BlbiBpbiB2aWV3ZXIgKi9cclxuICBASW5wdXQoKVxyXG4gIGNhblByZXZpZXcgPSB0cnVlO1xyXG4gIC8qKiBXZXRoZXIgaXRlbXMgaW5wdXQgaXMgZG9jdW1lbnRzIG9yIGJhdGNoTGlzdCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgYmF0Y2hMaXN0ID0gZmFsc2U7XHJcbiAgLyoqIFdldGhlciB0byBkZWxldGUgYWN0dWFsIGRvY3VtZW50IG9uIERlbGV0ZSBidXR0b24gY2xpY2sgb3IgdG8ganVzdCBlbWl0IGRlbGV0ZSBldmVudCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZG9udERlbGV0ZSA9IGZhbHNlO1xyXG4gIC8qKiB3ZXRoZXIgdG8gc2hvdyBvciBoaWRlIGRlbGV0ZSBhY3Rpb24gKi9cclxuICBASW5wdXQoKVxyXG4gIGNhbkRlbGV0ZSA9IHRydWU7XHJcbiAgLyoqIFByb3ZpZGVyIHF1aWNrIGZpbHRlcnMgKi9cclxuICBASW5wdXQoKVxyXG4gIHF1aWNrRmlsdGVycztcclxuICAvKiogYWRkZWQgdG8gZGlmZnJlbnRpYXRlIGJldHdlZW4gbWVtbyB2aWV3IGFuZCBjb3JyZXNwb25kYW5jZSB2aWV3ICovXHJcbiAgQElucHV0KCkgbWVtb1ZpZXcgPSBmYWxzZTtcclxuICAvKiogRW1pdHRlZCBvbiBkZWxldGUgYWN0aW9uICovXHJcbiAgQE91dHB1dCgpXHJcbiAgZGVsZXRlU3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogRW1pdHRlZCBvbiBkZWxldGUgYWN0aW9uICovXHJcbiAgQE91dHB1dCgpXHJcbiAgLyoqIEVtaXR0ZWQgb24gZG9jdW1lbnRzIGxvYWQgd2l0aCBjb3VudCBpbmZvcm1hdGlvbiAqL1xyXG4gIGRvY3VtZW50c0NvdW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgcCA9IDE7XHJcbiAgY291bnQgPSA1O1xyXG4gIHRvdGFsUmVjb3JkcztcclxuICBpc05leHRQYWdlQXZhaWxhYmxlID0gdHJ1ZTtcclxuICBpc0ZldGNoaW5nID0gZmFsc2U7XHJcbiAgb25EZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGRvY3VtZW50IGlzIHNlbGVjdGVkICAqL1xyXG4gIEBPdXRwdXQoKVxyXG4gIGRvY3VtZW50U2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZG9jdW1lbnRzQXBpOiBEb2N1bWVudHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBudXhlb0FwaTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdHI6IEN1c3RvbVRvYXN0clNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkgeyB9XHJcblxyXG4gIGdldERvY3VtZW50cygpIHtcclxuICAgIGlmICh0aGlzLnByb3ZpZGVyKSB7XHJcbiAgICAgIHRoaXMuaXNGZXRjaGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuZG9jdW1lbnRzQXBpXHJcbiAgICAgICAgLmdldERvY3VtZW50cyh0aGlzLmFuY2VzdG9ySWQsIHRoaXMucHJvdmlkZXIsIHtcclxuICAgICAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IHRoaXMucCAtIDEsXHJcbiAgICAgICAgICBwYWdlU2l6ZTogdGhpcy5jb3VudCxcclxuICAgICAgICAgIHF1aWNrRmlsdGVyczogRG9jdW1lbnRzQ29uc3RhbnRzLnF1aWNrRmlsdGVyc1t0aGlzLnF1aWNrRmlsdGVyc10sXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IGRhdGEudG90YWxTaXplO1xyXG4gICAgICAgICAgdGhpcy5pc05leHRQYWdlQXZhaWxhYmxlID0gZGF0YS5pc05leHRQYWdlQXZhaWxhYmxlO1xyXG4gICAgICAgICAgdGhpcy5pdGVtcyA9IGRhdGEuZW50cmllcztcclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnRzQ291bnQuZW1pdCh0aGlzLnRvdGFsUmVjb3Jkcyk7XHJcbiAgICAgICAgICB0aGlzLmlzRmV0Y2hpbmcgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgaXNDcmVhdG9yKGl0ZW0pIHtcclxuICAgIHJldHVybiAhdGhpcy5iYXRjaExpc3RcclxuICAgICAgPyBpdGVtLnByb3BlcnRpZXMuY3JlYXRvciA9PT0gdGhpcy5udXhlb0FwaS5udXhlb0NsaWVudC51c2VyLmlkXHJcbiAgICAgIDogdHJ1ZTtcclxuICB9XHJcbiAgZGVsZXRlRG9jdW1lbnQoZXZlbnQsIGl0ZW0pIHtcclxuICAgIGxldCBkZWxldGVEb2N1bWVudCA9ICgpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRzQXBpLmRlbGV0ZURvY3VtZW50KGl0ZW0ucGF0aCk7XHJcbiAgICB9O1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZiAodGhpcy5jYW5EZWxldGUpIHtcclxuICAgICAgaWYgKCF0aGlzLmJhdGNoTGlzdCkge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nXHJcbiAgICAgICAgICAub3BlbihDb25maXJtQ2FsbGVyRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAnNDAwcHgnLFxyXG4gICAgICAgICAgICBwYW5lbENsYXNzOidyZWxhdGlvbi1jb25maXJtLWRpYWxvZycsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICBjYWxsOiBkZWxldGVEb2N1bWVudCxcclxuICAgICAgICAgICAgICB0aXRsZTogJ2dlbmVyaWNDb25maXJtJyxcclxuICAgICAgICAgICAgICB0b2FzdHJUaXRsZTogJycsXHJcbiAgICAgICAgICAgICAgdG9hc3RyTXNnOiAnZG9jdW1lbnRzLmRlbGV0ZVN1Y2Nlc3MnLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICAgIGlmICghdGhpcy5kb250RGVsZXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZVN1Y2Nlc3MubmV4dChpdGVtKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMubGVuZ3RoID09IDEgPyAodGhpcy5wID0gdGhpcy5wIC0gMSkgOiB0aGlzLnA7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMucCA9IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldERvY3VtZW50cygpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZVN1Y2Nlc3MubmV4dChpdGVtKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKHRoaXMuaXRlbXMuaW5kZXhPZihpdGVtKSwgMSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZVN1Y2Nlc3MubmV4dChpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHRoaXMuY29uZmlybWF0aW9uRGlhbG9nXHJcbiAgICAvLyAgIC5vcGVuQ29uZmlybURpYWxvZygnZ2VuZXJpY0NvbmZpcm0nKVxyXG4gICAgLy8gICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgLy8gICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAvLyAgICAgaWYgKGRhdGEpIHtcclxuICAgIC8vICAgICAgIGlmICghdGhpcy5kb250RGVsZXRlKSB7XHJcbiAgICAvLyAgICAgICAgIHRoaXMuZG9jdW1lbnRzQXBpXHJcbiAgICAvLyAgICAgICAgICAgLmRlbGV0ZURvY3VtZW50KGl0ZW0ucGF0aClcclxuICAgIC8vICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAvLyAgICAgICAgICAgICB0aGlzLnRvYXN0clxyXG4gICAgLy8gICAgICAgICAgICAgICAuc3VjY2VzcygnZG9jdW1lbnRzLmRlbGV0ZVN1Y2Nlc3MnLCAnc3VjY2VzcycpXHJcbiAgICAvLyAgICAgICAgICAgICAgIC5vblNob3duLnBpcGUodGFrZSgxKSlcclxuICAgIC8vICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgdGhpcy5kZWxldGVTdWNjZXNzLm5leHQoaXRlbSk7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgdGhpcy5nZXREb2N1bWVudHMoKTtcclxuICAgIC8vICAgICAgICAgICAgICAgfSk7XHJcbiAgICAvLyAgICAgICAgICAgfSk7XHJcbiAgICAvLyAgICAgICB9IGVsc2Uge1xyXG4gICAgLy8gICAgICAgICB0aGlzLmRlbGV0ZVN1Y2Nlc3MubmV4dChpdGVtKTtcclxuICAgIC8vICAgICAgICAgdGhpcy5pdGVtcy5zcGxpY2UodGhpcy5pdGVtcy5pbmRleE9mKGl0ZW0pLCAxKTtcclxuICAgIC8vICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH0pO1xyXG4gIH1cclxuICBvbkNoYW5nZShldmVudCkge1xyXG4gICAgdGhpcy5wID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldERvY3VtZW50cygpO1xyXG4gIH1cclxuXHJcbiAgcHJldmlldyhkb2NJZCkge1xyXG4gICAgaWYgKHRoaXMuY2FuUHJldmlldykge1xyXG4gICAgICBpZiAodGhpcy5tZW1vVmlldykge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7IG91dGxldHM6IHsgdmlld2VyOiBbJ21lbW8nLCBkb2NJZF0gfSB9XSwge1xyXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHsgbG9jYXRpb246IHRoaXMucm91dGVyLnVybCB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7IG91dGxldHM6IHsgdmlld2VyOiBbJ3ZpZXcnLCBkb2NJZF0gfSB9XSwge1xyXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHsgbG9jYXRpb246IHRoaXMucm91dGVyLnVybCB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRvY3VtZW50c0FwaS5nZXREb2N1bWVudChkb2NJZCkuc3Vic2NyaWJlKFxyXG4gICAgICAgIChmaWxlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50U2VsZWN0LmVtaXQoZmlsZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgdGhpcy50b2FzdHJcclxuICAgICAgICAgICAgLnNob3coJ2Vycm9yJywgJ2Vycm9yJyxcclxuICAgICAgICAgICAgICBlcnJvci5yZXQubWVzc2FnZSA/XHJcbiAgICAgICAgICAgICAgICBgZXJyb3JzLiR7ZXJyb3IucmV0LmNvZGV9YFxyXG4gICAgICAgICAgICAgICAgOiAnZ2VuZXJpY0Vycm9yJylcclxuICAgICAgICAgICAgLm9uU2hvd24uc3Vic2NyaWJlKCgpID0+IHsgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0RG9jdW1lbnRzKCk7XHJcbiAgICBpZiAodGhpcy5ub3RpZmllcikge1xyXG4gICAgICB0aGlzLm5vdGlmaWVyLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5nZXREb2N1bWVudHMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRvY3VtZW50c0FwaS5yZUZldGNoLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5nZXREb2N1bWVudHMoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXREb2N1bWVudHMoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzRmV0Y2hpbmc7IGVsc2Ugc3Bpbm5lclwiPlxyXG4gIDxkaXYgKm5nSWY9XCJpdGVtcy5sZW5ndGg7IGVsc2Ugbm9FbnRyeVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImRvYy1saXN0XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkb2MtaXRlbVwiIChjbGljayk9XCJwcmV2aWV3KGl0ZW0udWlkKVwiICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgbGV0IGl0ZW0gb2YgaXRlbXNcclxuICAgICAgICAgIDtcclxuICAgICAgICAgIGxldCBsYXN0ID0gbGFzdFxyXG4gICAgICAgIFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNvbnRlbnRcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZpbGUtaWNvblwiPmZpbGVfY29weTwvbWF0LWljb24+XHJcbiAgICAgICAgICB7eyBpdGVtLnRpdGxlIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImNhbkRlbGV0ZSAmJiBpc0NyZWF0b3IoaXRlbSlcIiAoY2xpY2spPVwiZGVsZXRlRG9jdW1lbnQoJGV2ZW50LCBpdGVtKVwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1kYW5nZXIgYnRuLW5vLWJvcmRlclwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICBbbmdDbGFzc109XCJ7ICdoaWRkZW4nOiBkaXNhYmxlUGFnaW5hdGlvbiB9XCIgY2xhc3M9XCJ3cmFwcGluZy1wYWdpbmF0aW9uIG15LTNcIj5cclxuICAgICAgPGN0cy1wYWdpbmF0aW9uIFtwYWdlXT1cInBcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICBbc2l6ZV09XCJjb3VudFwiIFtjb3VudF09XCJ0b3RhbFJlY29yZHNcIj5cclxuICAgICAgPC9jdHMtcGFnaW5hdGlvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxuZy10ZW1wbGF0ZSAjbm9FbnRyeT5cclxuICAgIDwhLS0gPGFwcC1uby1lbnRyeSBbbXNnXT1cIidkb2N1bWVudHMubm9FbnRyeSdcIj48L2FwcC1uby1lbnRyeT4gLS0+XHJcbiAgICA8IS0tIDxjdHMtbm8tZGF0YVxyXG4gICAgICBbbWVzc2FnZV09XCInZG9jdW1lbnRzLm5vRW50cnknXCJcclxuID48L2N0cy1uby1kYXRhPiAtLT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNzcGlubmVyPlxyXG4gIDxtYXQtc3Bpbm5lciBjbGFzcz1cImNlbnRlcmVkLXNwaW5uZXJcIj48L21hdC1zcGlubmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kb2N1bWVudHMvY29tcG9uZW50cy9kb2N1bWVudC1saXN0L2RvY3VtZW50cy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZG9jdW1lbnRzL2NvbXBvbmVudHMvZG9jdW1lbnQtbGlzdC9kb2N1bWVudHMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFTLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUU3RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7QUFHL0Q7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBTUgsTUFBTSxPQUFPLHNCQUFzQjtJQXdEakMsWUFDVSxZQUE4QixFQUM5QixRQUFzQixFQUN0QixNQUEyQixFQUMzQixNQUFpQixFQUNqQixNQUFjO1FBSmQsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQWM7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBckR4QixnQ0FBZ0M7UUFDaEMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBTzFCLHFDQUFxQztRQUVyQyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsb0ZBQW9GO1FBRXBGLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIseUJBQXlCO1FBRXpCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsbURBQW1EO1FBRW5ELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsMkZBQTJGO1FBRTNGLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsMkNBQTJDO1FBRTNDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFJakIsc0VBQXNFO1FBQzdELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUIsK0JBQStCO1FBRS9CLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuQywrQkFBK0I7UUFFL0IsdURBQXVEO1FBQ3ZELG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1QyxNQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ04sVUFBSyxHQUFHLENBQUMsQ0FBQztRQUVWLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUMzQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUN0RCwyQ0FBMkM7UUFFM0MsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQVF4RCxDQUFDO0lBRUwsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWTtpQkFDZCxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUM1QyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQzVCLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDcEIsWUFBWSxFQUFFLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ2pFLENBQUM7aUJBQ0QsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDO0lBQ0QsU0FBUyxDQUFDLElBQUk7UUFDWixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQy9ELENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDWCxDQUFDO0lBQ0QsY0FBYyxDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ3hCLElBQUksY0FBYyxHQUFHLEdBQUcsRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUM7UUFDRixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNuQixJQUFJLENBQUMsTUFBTTtxQkFDUixJQUFJLENBQUMsNEJBQTRCLEVBQUU7b0JBQ2xDLEtBQUssRUFBRSxPQUFPO29CQUNkLFVBQVUsRUFBQyx5QkFBeUI7b0JBQ3BDLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUUsY0FBYzt3QkFDcEIsS0FBSyxFQUFFLGdCQUFnQjt3QkFDdkIsV0FBVyxFQUFFLEVBQUU7d0JBQ2YsU0FBUyxFQUFFLHlCQUF5QjtxQkFDckM7aUJBQ0YsQ0FBQztxQkFDRCxXQUFXLEVBQUU7cUJBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDYixTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDbEIsSUFBSSxJQUFJLEVBQUU7d0JBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7NEJBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDOzRCQUN4RCxJQUFJLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dDQUNoQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzs2QkFDWjs0QkFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7eUJBQ3JCOzZCQUFNOzRCQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt5QkFDaEQ7cUJBQ0Y7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDTjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMvQjtTQUNGO1FBRUQsMEJBQTBCO1FBQzFCLHlDQUF5QztRQUN6QyxtQkFBbUI7UUFDbkIsMkJBQTJCO1FBQzNCLGtCQUFrQjtRQUNsQixnQ0FBZ0M7UUFDaEMsNEJBQTRCO1FBQzVCLHVDQUF1QztRQUN2QyxtQ0FBbUM7UUFDbkMsMEJBQTBCO1FBQzFCLCtEQUErRDtRQUMvRCx1Q0FBdUM7UUFDdkMsbUNBQW1DO1FBQ25DLGlEQUFpRDtRQUNqRCx1Q0FBdUM7UUFDdkMsb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIseUNBQXlDO1FBQ3pDLDBEQUEwRDtRQUMxRCxVQUFVO1FBQ1YsUUFBUTtRQUNSLFFBQVE7SUFDVixDQUFDO0lBQ0QsUUFBUSxDQUFDLEtBQUs7UUFDWixJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNmLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQUs7UUFDWCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFO29CQUMvRCxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7aUJBQzNDLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUU7b0JBQy9ELFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtpQkFDM0MsQ0FBQyxDQUFDO2FBQ0o7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUM1QyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNQLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pDLENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxNQUFNO3FCQUNSLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUNwQixLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNqQixVQUFVLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFO29CQUMxQixDQUFDLENBQUMsY0FBYyxDQUFDO3FCQUNwQixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FDRixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzVELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDNUMsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7b0hBM01VLHNCQUFzQjt3R0FBdEIsc0JBQXNCLHNpQkN4Q25DLDh4Q0FrQ0E7NEZETWEsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLFNBQVMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2lCQUMvQztpTkFJQyxVQUFVO3NCQURULEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLOztRQUdOLGdDQUFnQztRQUNoQyxpQkFBaUI7c0JBRmhCLEtBQUs7Z0JBS04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdOLGFBQWE7c0JBRFosTUFBTTs7UUFJUCx1REFBdUQ7UUFDdkQsY0FBYztzQkFGYixNQUFNO2dCQVdQLGNBQWM7c0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVsYXksIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uZmlybUNhbGxlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbmZpcm0tY2FsbGVyL2NvbmZpcm0tY2FsbGVyLmRpYWxvZyc7XHJcbmltcG9ydCB7IEN1c3RvbVRvYXN0clNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdG9hc3RyL3NlcnZpY2VzL2N1c3RvbS10b2FzdHIuc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50c0NvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9kb2N1bWVudHMnO1xyXG5pbXBvcnQgeyBEb2N1bWVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZG9jdW1lbnRzLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEEgcmV1c2FibGUgY29tcG9uZW50IHRvIGxpc3QgYXR0YWNobWVudHMsXHJcbiAqIGF0dGFjaG1lbnRzIGNhbiBiZSBwcm92aWRlZCBhcyBpbnB1dCwgb3IgY2FuIGJlIHF1ZXJpZWQgdXNpbmcgcHJvdmlkZXJOYW1lIGFuZC9vciBhbmNlc3RvcklkXHJcbiAqIEB0aXRsZVxyXG4gKiBEb2N1bWVudHMgbGlzdFxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiA8YXBwLWRvY3VtZW50cy1saXN0XHJcbiAqICAgW2l0ZW1zXT1cIkFycmF5T2ZEb2N1bWVudHNPckJhdGNoXCJcclxuICogICBbZGlzYWJsZVBhZ2luYXRpb25dPVwiZmFsc2VcIlxyXG4gKiAgIFtiYXRjaExpc3RdPVwidHJ1ZVwiXHJcbiAqICAgW2NhblByZXZpZXddPVwiZmFsc2VcIlxyXG4gKiAgIChkZWxldGVTdWNjZXNzKT1cIm9uRGVsZXRlKCRldmVudClcIlxyXG4gKiA+PC9hcHAtZG9jdW1lbnRzLWxpc3Q+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1kb2N1bWVudHMtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50cy1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudHMtbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRzTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIC8qKiBBbmNlc3RvciBJRCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgYW5jZXN0b3JJZDtcclxuICAvKiogQXR0YWNobWVudHMgcHJvdmlkZXIgbmFtZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJvdmlkZXI7XHJcbiAgQElucHV0KClcclxuICAvKiogU2hvdWxkIGRpc2FibGUgUGFnaW5hdGlvbiAqL1xyXG4gIGRpc2FibGVQYWdpbmF0aW9uID0gZmFsc2U7XHJcbiAgLyoqIEBkZXByZWNhdGVkIG5vdCB1c2VkICovXHJcbiAgQElucHV0KClcclxuICBjb250YWluZXJDbGFzc2VzOiBzdHJpbmc7XHJcbiAgLyoqIEBkZXByZWNhdGVkIG5vdCB1c2VkICovXHJcbiAgQElucHV0KClcclxuICBpdGVtc0NsYXNzZXM6IHN0cmluZztcclxuICAvKiogZG9jdW1lbnRzIG9yIGJhdGNoIGl0ZW1zIGFycmF5ICovXHJcbiAgQElucHV0KClcclxuICBpdGVtcyA9IFtdO1xyXG4gIC8qKiBFdmVudCBlbWl0dGVyIGlmIHByb3ZpZGVkIGFuZCBlbWl0dGVkIHdpbGwgY2F1c2UgdGhlIGxpc3QgdG8gcmVmcmVzaCB0aGUgbGlzdCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgbm90aWZpZXIgPSBudWxsO1xyXG4gIC8qKiBDYW4gb3BlbiBpbiB2aWV3ZXIgKi9cclxuICBASW5wdXQoKVxyXG4gIGNhblByZXZpZXcgPSB0cnVlO1xyXG4gIC8qKiBXZXRoZXIgaXRlbXMgaW5wdXQgaXMgZG9jdW1lbnRzIG9yIGJhdGNoTGlzdCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgYmF0Y2hMaXN0ID0gZmFsc2U7XHJcbiAgLyoqIFdldGhlciB0byBkZWxldGUgYWN0dWFsIGRvY3VtZW50IG9uIERlbGV0ZSBidXR0b24gY2xpY2sgb3IgdG8ganVzdCBlbWl0IGRlbGV0ZSBldmVudCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZG9udERlbGV0ZSA9IGZhbHNlO1xyXG4gIC8qKiB3ZXRoZXIgdG8gc2hvdyBvciBoaWRlIGRlbGV0ZSBhY3Rpb24gKi9cclxuICBASW5wdXQoKVxyXG4gIGNhbkRlbGV0ZSA9IHRydWU7XHJcbiAgLyoqIFByb3ZpZGVyIHF1aWNrIGZpbHRlcnMgKi9cclxuICBASW5wdXQoKVxyXG4gIHF1aWNrRmlsdGVycztcclxuICAvKiogYWRkZWQgdG8gZGlmZnJlbnRpYXRlIGJldHdlZW4gbWVtbyB2aWV3IGFuZCBjb3JyZXNwb25kYW5jZSB2aWV3ICovXHJcbiAgQElucHV0KCkgbWVtb1ZpZXcgPSBmYWxzZTtcclxuICAvKiogRW1pdHRlZCBvbiBkZWxldGUgYWN0aW9uICovXHJcbiAgQE91dHB1dCgpXHJcbiAgZGVsZXRlU3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogRW1pdHRlZCBvbiBkZWxldGUgYWN0aW9uICovXHJcbiAgQE91dHB1dCgpXHJcbiAgLyoqIEVtaXR0ZWQgb24gZG9jdW1lbnRzIGxvYWQgd2l0aCBjb3VudCBpbmZvcm1hdGlvbiAqL1xyXG4gIGRvY3VtZW50c0NvdW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgcCA9IDE7XHJcbiAgY291bnQgPSA1O1xyXG4gIHRvdGFsUmVjb3JkcztcclxuICBpc05leHRQYWdlQXZhaWxhYmxlID0gdHJ1ZTtcclxuICBpc0ZldGNoaW5nID0gZmFsc2U7XHJcbiAgb25EZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGRvY3VtZW50IGlzIHNlbGVjdGVkICAqL1xyXG4gIEBPdXRwdXQoKVxyXG4gIGRvY3VtZW50U2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZG9jdW1lbnRzQXBpOiBEb2N1bWVudHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBudXhlb0FwaTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdHI6IEN1c3RvbVRvYXN0clNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkgeyB9XHJcblxyXG4gIGdldERvY3VtZW50cygpIHtcclxuICAgIGlmICh0aGlzLnByb3ZpZGVyKSB7XHJcbiAgICAgIHRoaXMuaXNGZXRjaGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuZG9jdW1lbnRzQXBpXHJcbiAgICAgICAgLmdldERvY3VtZW50cyh0aGlzLmFuY2VzdG9ySWQsIHRoaXMucHJvdmlkZXIsIHtcclxuICAgICAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IHRoaXMucCAtIDEsXHJcbiAgICAgICAgICBwYWdlU2l6ZTogdGhpcy5jb3VudCxcclxuICAgICAgICAgIHF1aWNrRmlsdGVyczogRG9jdW1lbnRzQ29uc3RhbnRzLnF1aWNrRmlsdGVyc1t0aGlzLnF1aWNrRmlsdGVyc10sXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IGRhdGEudG90YWxTaXplO1xyXG4gICAgICAgICAgdGhpcy5pc05leHRQYWdlQXZhaWxhYmxlID0gZGF0YS5pc05leHRQYWdlQXZhaWxhYmxlO1xyXG4gICAgICAgICAgdGhpcy5pdGVtcyA9IGRhdGEuZW50cmllcztcclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnRzQ291bnQuZW1pdCh0aGlzLnRvdGFsUmVjb3Jkcyk7XHJcbiAgICAgICAgICB0aGlzLmlzRmV0Y2hpbmcgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgaXNDcmVhdG9yKGl0ZW0pIHtcclxuICAgIHJldHVybiAhdGhpcy5iYXRjaExpc3RcclxuICAgICAgPyBpdGVtLnByb3BlcnRpZXMuY3JlYXRvciA9PT0gdGhpcy5udXhlb0FwaS5udXhlb0NsaWVudC51c2VyLmlkXHJcbiAgICAgIDogdHJ1ZTtcclxuICB9XHJcbiAgZGVsZXRlRG9jdW1lbnQoZXZlbnQsIGl0ZW0pIHtcclxuICAgIGxldCBkZWxldGVEb2N1bWVudCA9ICgpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRzQXBpLmRlbGV0ZURvY3VtZW50KGl0ZW0ucGF0aCk7XHJcbiAgICB9O1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZiAodGhpcy5jYW5EZWxldGUpIHtcclxuICAgICAgaWYgKCF0aGlzLmJhdGNoTGlzdCkge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nXHJcbiAgICAgICAgICAub3BlbihDb25maXJtQ2FsbGVyRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAnNDAwcHgnLFxyXG4gICAgICAgICAgICBwYW5lbENsYXNzOidyZWxhdGlvbi1jb25maXJtLWRpYWxvZycsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICBjYWxsOiBkZWxldGVEb2N1bWVudCxcclxuICAgICAgICAgICAgICB0aXRsZTogJ2dlbmVyaWNDb25maXJtJyxcclxuICAgICAgICAgICAgICB0b2FzdHJUaXRsZTogJycsXHJcbiAgICAgICAgICAgICAgdG9hc3RyTXNnOiAnZG9jdW1lbnRzLmRlbGV0ZVN1Y2Nlc3MnLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICAgIGlmICghdGhpcy5kb250RGVsZXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZVN1Y2Nlc3MubmV4dChpdGVtKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMubGVuZ3RoID09IDEgPyAodGhpcy5wID0gdGhpcy5wIC0gMSkgOiB0aGlzLnA7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMucCA9IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldERvY3VtZW50cygpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZVN1Y2Nlc3MubmV4dChpdGVtKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKHRoaXMuaXRlbXMuaW5kZXhPZihpdGVtKSwgMSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZVN1Y2Nlc3MubmV4dChpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHRoaXMuY29uZmlybWF0aW9uRGlhbG9nXHJcbiAgICAvLyAgIC5vcGVuQ29uZmlybURpYWxvZygnZ2VuZXJpY0NvbmZpcm0nKVxyXG4gICAgLy8gICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgLy8gICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAvLyAgICAgaWYgKGRhdGEpIHtcclxuICAgIC8vICAgICAgIGlmICghdGhpcy5kb250RGVsZXRlKSB7XHJcbiAgICAvLyAgICAgICAgIHRoaXMuZG9jdW1lbnRzQXBpXHJcbiAgICAvLyAgICAgICAgICAgLmRlbGV0ZURvY3VtZW50KGl0ZW0ucGF0aClcclxuICAgIC8vICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAvLyAgICAgICAgICAgICB0aGlzLnRvYXN0clxyXG4gICAgLy8gICAgICAgICAgICAgICAuc3VjY2VzcygnZG9jdW1lbnRzLmRlbGV0ZVN1Y2Nlc3MnLCAnc3VjY2VzcycpXHJcbiAgICAvLyAgICAgICAgICAgICAgIC5vblNob3duLnBpcGUodGFrZSgxKSlcclxuICAgIC8vICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgdGhpcy5kZWxldGVTdWNjZXNzLm5leHQoaXRlbSk7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgdGhpcy5nZXREb2N1bWVudHMoKTtcclxuICAgIC8vICAgICAgICAgICAgICAgfSk7XHJcbiAgICAvLyAgICAgICAgICAgfSk7XHJcbiAgICAvLyAgICAgICB9IGVsc2Uge1xyXG4gICAgLy8gICAgICAgICB0aGlzLmRlbGV0ZVN1Y2Nlc3MubmV4dChpdGVtKTtcclxuICAgIC8vICAgICAgICAgdGhpcy5pdGVtcy5zcGxpY2UodGhpcy5pdGVtcy5pbmRleE9mKGl0ZW0pLCAxKTtcclxuICAgIC8vICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH0pO1xyXG4gIH1cclxuICBvbkNoYW5nZShldmVudCkge1xyXG4gICAgdGhpcy5wID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldERvY3VtZW50cygpO1xyXG4gIH1cclxuXHJcbiAgcHJldmlldyhkb2NJZCkge1xyXG4gICAgaWYgKHRoaXMuY2FuUHJldmlldykge1xyXG4gICAgICBpZiAodGhpcy5tZW1vVmlldykge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7IG91dGxldHM6IHsgdmlld2VyOiBbJ21lbW8nLCBkb2NJZF0gfSB9XSwge1xyXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHsgbG9jYXRpb246IHRoaXMucm91dGVyLnVybCB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7IG91dGxldHM6IHsgdmlld2VyOiBbJ3ZpZXcnLCBkb2NJZF0gfSB9XSwge1xyXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHsgbG9jYXRpb246IHRoaXMucm91dGVyLnVybCB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRvY3VtZW50c0FwaS5nZXREb2N1bWVudChkb2NJZCkuc3Vic2NyaWJlKFxyXG4gICAgICAgIChmaWxlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50U2VsZWN0LmVtaXQoZmlsZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgdGhpcy50b2FzdHJcclxuICAgICAgICAgICAgLnNob3coJ2Vycm9yJywgJ2Vycm9yJyxcclxuICAgICAgICAgICAgICBlcnJvci5yZXQubWVzc2FnZSA/XHJcbiAgICAgICAgICAgICAgICBgZXJyb3JzLiR7ZXJyb3IucmV0LmNvZGV9YFxyXG4gICAgICAgICAgICAgICAgOiAnZ2VuZXJpY0Vycm9yJylcclxuICAgICAgICAgICAgLm9uU2hvd24uc3Vic2NyaWJlKCgpID0+IHsgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0RG9jdW1lbnRzKCk7XHJcbiAgICBpZiAodGhpcy5ub3RpZmllcikge1xyXG4gICAgICB0aGlzLm5vdGlmaWVyLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5nZXREb2N1bWVudHMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRvY3VtZW50c0FwaS5yZUZldGNoLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5nZXREb2N1bWVudHMoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXREb2N1bWVudHMoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzRmV0Y2hpbmc7IGVsc2Ugc3Bpbm5lclwiPlxyXG4gIDxkaXYgKm5nSWY9XCJpdGVtcy5sZW5ndGg7IGVsc2Ugbm9FbnRyeVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImRvYy1saXN0XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkb2MtaXRlbVwiIChjbGljayk9XCJwcmV2aWV3KGl0ZW0udWlkKVwiICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgbGV0IGl0ZW0gb2YgaXRlbXNcclxuICAgICAgICAgIDtcclxuICAgICAgICAgIGxldCBsYXN0ID0gbGFzdFxyXG4gICAgICAgIFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNvbnRlbnRcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZpbGUtaWNvblwiPmZpbGVfY29weTwvbWF0LWljb24+XHJcbiAgICAgICAgICB7eyBpdGVtLnRpdGxlIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImNhbkRlbGV0ZSAmJiBpc0NyZWF0b3IoaXRlbSlcIiAoY2xpY2spPVwiZGVsZXRlRG9jdW1lbnQoJGV2ZW50LCBpdGVtKVwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1kYW5nZXIgYnRuLW5vLWJvcmRlclwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICBbbmdDbGFzc109XCJ7ICdoaWRkZW4nOiBkaXNhYmxlUGFnaW5hdGlvbiB9XCIgY2xhc3M9XCJ3cmFwcGluZy1wYWdpbmF0aW9uIG15LTNcIj5cclxuICAgICAgPGN0cy1wYWdpbmF0aW9uIFtwYWdlXT1cInBcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICBbc2l6ZV09XCJjb3VudFwiIFtjb3VudF09XCJ0b3RhbFJlY29yZHNcIj5cclxuICAgICAgPC9jdHMtcGFnaW5hdGlvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxuZy10ZW1wbGF0ZSAjbm9FbnRyeT5cclxuICAgIDwhLS0gPGFwcC1uby1lbnRyeSBbbXNnXT1cIidkb2N1bWVudHMubm9FbnRyeSdcIj48L2FwcC1uby1lbnRyeT4gLS0+XHJcbiAgICA8IS0tIDxjdHMtbm8tZGF0YVxyXG4gICAgICBbbWVzc2FnZV09XCInZG9jdW1lbnRzLm5vRW50cnknXCJcclxuID48L2N0cy1uby1kYXRhPiAtLT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNzcGlubmVyPlxyXG4gIDxtYXQtc3Bpbm5lciBjbGFzcz1cImNlbnRlcmVkLXNwaW5uZXJcIj48L21hdC1zcGlubmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -3,8 +3,8 @@ import { from, ReplaySubject, Subject } from 'rxjs';
3
3
  import { catchError, map } from 'rxjs/operators';
4
4
  import { DocumentTemplatesConstants } from '../constants/document-templates';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "../../../Core/services/nuxeo/nuxeo.service";
7
- import * as i2 from "../../../Core/adapters/adapter.service";
6
+ import * as i1 from "../../../core/services/nuxeo/nuxeo.service";
7
+ import * as i2 from "../../../core/adapters/adapter.service";
8
8
  import * as i3 from "@angular/common/http";
9
9
  export class DocumentTemplatesService {
10
10
  // templatesRootPath = '';
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
112
112
  type: Inject,
113
113
  args: ['environment']
114
114
  }] }]; } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdGVtcGxhdGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50cy9zZXJ2aWNlcy9kb2N1bWVudC10ZW1wbGF0ZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWlCLElBQUksRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7Ozs7O0FBTzNFLE1BQU0sT0FBTyx3QkFBd0I7SUFHbkMsMEJBQTBCO0lBQzFCLFlBQ1UsWUFBMEIsRUFDMUIsZ0JBQWdDLEVBQ2hDLFVBQXNCLEVBQ0MsV0FBVztRQUhsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWdCO1FBQ2hDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDQyxnQkFBVyxHQUFYLFdBQVcsQ0FBQTtRQVA1QyxVQUFLLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFRakMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2YsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsbUJBQW1C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L2NvcmUnO1xyXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmcm9tLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9hcHAtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL0NvcmUvYWRhcHRlcnMvYWRhcHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHtEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50c30gZnJvbSAnLi4vY29uc3RhbnRzL2RvY3VtZW50LXRlbXBsYXRlcyc7XHJcbmltcG9ydCB7RG9jdW1lbnRzQ29uc3RhbnRzfSBmcm9tICcuLi9jb25zdGFudHMvZG9jdW1lbnRzJztcclxuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRUZW1wbGF0ZXNTZXJ2aWNlIHtcclxuICB2YWx1ZSA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xyXG4gIHJlRmV0Y2ggPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIC8vIHRlbXBsYXRlc1Jvb3RQYXRoID0gJyc7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkb2N1bWVudHNBZGFwdGVyOiBBZGFwdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgaW5mb3JtVmFsdWUodmFsdWUpOiB2b2lkIHtcclxuICAgIGNvbnN0IGFyciA9IFtdO1xyXG4gICAgYXJyLnB1c2godmFsdWUpO1xyXG4gICAgdGhpcy52YWx1ZS5uZXh0KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0RG9jdW1lbnRUZW1wbGF0ZSh1aWQpOiBPYnNlcnZhYmxlPGFueT4gIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5yZXBvc2l0b3J5KClcclxuICAgICAgICAuaGVhZGVycyh7XHJcbiAgICAgICAgICAuLi5Eb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuZG9jdW1lbnRUZW1wbGF0ZXMuaGVhZGVycyxcclxuICAgICAgICAgICdYLU5YZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxkYzpjcmVhdG9yJyxcclxuICAgICAgICAgICdYLU5YZW5yaWNoZXJzLWRvY3VtZW50JzogJ3RhZ3MnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZldGNoKHVpZClcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oZGF0YSwgRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMuZmllbGRzKTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIGdldERvY3VtZW50VGVtcGxhdGVzV2l0aEFnZ3JlZ2F0aW9uKHBhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmICghcGFyYW1zKSB7XHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgfVxyXG4gICAgaWYgKCFwYXJhbXNbRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMucGFnZVByb3ZpZGVyLmRvY3VtZW50VGVtcGxhdGVzLmNvbnN0YW50cy5zeXN0ZW1QYXRoUGFyYW1OYW1lXSkge1xyXG4gICAgICBwYXJhbXNbRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMucGFnZVByb3ZpZGVyLmRvY3VtZW50VGVtcGxhdGVzLmNvbnN0YW50cy5zeXN0ZW1QYXRoUGFyYW1OYW1lXVxyXG4gICAgICAgID0gRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMucGFnZVByb3ZpZGVyLmRvY3VtZW50VGVtcGxhdGVzLmNvbnN0YW50cy5zeXN0ZW1QYXRoUGFyYW1EZWZhdWx0VmFsdWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQucmVwb3NpdG9yeSgpLnF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhZ2VQcm92aWRlcjpcclxuICAgICAgICAgIERvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5kb2N1bWVudFRlbXBsYXRlcy5uYW1lLFxyXG4gICAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaGVhZGVyczpcclxuICAgICAgICAgIERvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5kb2N1bWVudFRlbXBsYXRlcy5oZWFkZXJzLFxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGRhdGEuZW50cmllcy5tYXAoKGl0ZW0pID0+XHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50c0FkYXB0ZXIuYWRhcHRJbihpdGVtLCBEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5maWVsZHMpXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIHBhcnNlVGVtcGxhdGUodGVtcGxhdGVJZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLm9wZXJhdGlvbnMucGFyc2UsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KHRlbXBsYXRlSWQpXHJcbiAgICAgICAgLnBhcmFtcyh7fSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgcmVuZGVyVGVtcGxhdGUodGVtcGxhdGVJZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn0vJHtEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5vcGVyYXRpb25zLnJlbmRlcn1gLFxyXG4gICAgICB7aW5wdXQ6IHRlbXBsYXRlSWR9LCB7cmVzcG9uc2VUeXBlOiAnYmxvYid9XHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgbWVyZ2VBbmRQYXJzZVRlbXBsYXRlKHRlbXBsYXRlSWQsIG1lcmdlRG9jdW1lbnRJZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLm9wZXJhdGlvbnMubWVyZ2VBbmRQYXJzZSwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQodGVtcGxhdGVJZClcclxuICAgICAgICAucGFyYW1zKHt9KVxyXG4gICAgICAgIC5jb250ZXh0KHtcclxuICAgICAgICAgIG1lcmdlRG9jdW1lbnRJZFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIG1lcmdlQW5kUmVuZGVyVGVtcGxhdGUodGVtcGxhdGVJZCwgbWVyZ2VEb2N1bWVudElkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufS8ke0RvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLm9wZXJhdGlvbnMubWVyZ2VBbmRSZW5kZXJ9YCxcclxuICAgICAge2lucHV0OiB0ZW1wbGF0ZUlkLCBjb250ZXh0OiB7bWVyZ2VEb2N1bWVudElkfX0sIHtyZXNwb25zZVR5cGU6ICdibG9iJ31cclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICByZWZsZWN0VGVtcGxhdGVUb0NvcnJlc3BvbmRlbmNlKGNvcnJlc3BvbmRlbmNlSWQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5vcGVyYXRpb25zLnJlZmxlY3RUZW1wbGF0ZVRvQ29ycmVzcG9uZGVuY2UsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KGNvcnJlc3BvbmRlbmNlSWQpXHJcbiAgICAgICAgLnBhcmFtcyh7fSlcclxuICAgICAgICAuY29udGV4dCh7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdGVtcGxhdGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50cy9zZXJ2aWNlcy9kb2N1bWVudC10ZW1wbGF0ZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWlCLElBQUksRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7Ozs7O0FBTzNFLE1BQU0sT0FBTyx3QkFBd0I7SUFHbkMsMEJBQTBCO0lBQzFCLFlBQ1UsWUFBMEIsRUFDMUIsZ0JBQWdDLEVBQ2hDLFVBQXNCLEVBQ0MsV0FBVztRQUhsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWdCO1FBQ2hDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDQyxnQkFBVyxHQUFYLFdBQVcsQ0FBQTtRQVA1QyxVQUFLLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFRakMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2YsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsbUJBQW1C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L2NvcmUnO1xyXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmcm9tLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9hcHAtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvYWRhcHRlcnMvYWRhcHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHtEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50c30gZnJvbSAnLi4vY29uc3RhbnRzL2RvY3VtZW50LXRlbXBsYXRlcyc7XHJcbmltcG9ydCB7RG9jdW1lbnRzQ29uc3RhbnRzfSBmcm9tICcuLi9jb25zdGFudHMvZG9jdW1lbnRzJztcclxuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRUZW1wbGF0ZXNTZXJ2aWNlIHtcclxuICB2YWx1ZSA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xyXG4gIHJlRmV0Y2ggPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIC8vIHRlbXBsYXRlc1Jvb3RQYXRoID0gJyc7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkb2N1bWVudHNBZGFwdGVyOiBBZGFwdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgaW5mb3JtVmFsdWUodmFsdWUpOiB2b2lkIHtcclxuICAgIGNvbnN0IGFyciA9IFtdO1xyXG4gICAgYXJyLnB1c2godmFsdWUpO1xyXG4gICAgdGhpcy52YWx1ZS5uZXh0KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0RG9jdW1lbnRUZW1wbGF0ZSh1aWQpOiBPYnNlcnZhYmxlPGFueT4gIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5yZXBvc2l0b3J5KClcclxuICAgICAgICAuaGVhZGVycyh7XHJcbiAgICAgICAgICAuLi5Eb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuZG9jdW1lbnRUZW1wbGF0ZXMuaGVhZGVycyxcclxuICAgICAgICAgICdYLU5YZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxkYzpjcmVhdG9yJyxcclxuICAgICAgICAgICdYLU5YZW5yaWNoZXJzLWRvY3VtZW50JzogJ3RhZ3MnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZldGNoKHVpZClcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oZGF0YSwgRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMuZmllbGRzKTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIGdldERvY3VtZW50VGVtcGxhdGVzV2l0aEFnZ3JlZ2F0aW9uKHBhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmICghcGFyYW1zKSB7XHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgfVxyXG4gICAgaWYgKCFwYXJhbXNbRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMucGFnZVByb3ZpZGVyLmRvY3VtZW50VGVtcGxhdGVzLmNvbnN0YW50cy5zeXN0ZW1QYXRoUGFyYW1OYW1lXSkge1xyXG4gICAgICBwYXJhbXNbRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMucGFnZVByb3ZpZGVyLmRvY3VtZW50VGVtcGxhdGVzLmNvbnN0YW50cy5zeXN0ZW1QYXRoUGFyYW1OYW1lXVxyXG4gICAgICAgID0gRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMucGFnZVByb3ZpZGVyLmRvY3VtZW50VGVtcGxhdGVzLmNvbnN0YW50cy5zeXN0ZW1QYXRoUGFyYW1EZWZhdWx0VmFsdWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQucmVwb3NpdG9yeSgpLnF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhZ2VQcm92aWRlcjpcclxuICAgICAgICAgIERvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5kb2N1bWVudFRlbXBsYXRlcy5uYW1lLFxyXG4gICAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaGVhZGVyczpcclxuICAgICAgICAgIERvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5kb2N1bWVudFRlbXBsYXRlcy5oZWFkZXJzLFxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGRhdGEuZW50cmllcy5tYXAoKGl0ZW0pID0+XHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50c0FkYXB0ZXIuYWRhcHRJbihpdGVtLCBEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5maWVsZHMpXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIHBhcnNlVGVtcGxhdGUodGVtcGxhdGVJZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLm9wZXJhdGlvbnMucGFyc2UsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KHRlbXBsYXRlSWQpXHJcbiAgICAgICAgLnBhcmFtcyh7fSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgcmVuZGVyVGVtcGxhdGUodGVtcGxhdGVJZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn0vJHtEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5vcGVyYXRpb25zLnJlbmRlcn1gLFxyXG4gICAgICB7aW5wdXQ6IHRlbXBsYXRlSWR9LCB7cmVzcG9uc2VUeXBlOiAnYmxvYid9XHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgbWVyZ2VBbmRQYXJzZVRlbXBsYXRlKHRlbXBsYXRlSWQsIG1lcmdlRG9jdW1lbnRJZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLm9wZXJhdGlvbnMubWVyZ2VBbmRQYXJzZSwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQodGVtcGxhdGVJZClcclxuICAgICAgICAucGFyYW1zKHt9KVxyXG4gICAgICAgIC5jb250ZXh0KHtcclxuICAgICAgICAgIG1lcmdlRG9jdW1lbnRJZFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIG1lcmdlQW5kUmVuZGVyVGVtcGxhdGUodGVtcGxhdGVJZCwgbWVyZ2VEb2N1bWVudElkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufS8ke0RvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLm9wZXJhdGlvbnMubWVyZ2VBbmRSZW5kZXJ9YCxcclxuICAgICAge2lucHV0OiB0ZW1wbGF0ZUlkLCBjb250ZXh0OiB7bWVyZ2VEb2N1bWVudElkfX0sIHtyZXNwb25zZVR5cGU6ICdibG9iJ31cclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICByZWZsZWN0VGVtcGxhdGVUb0NvcnJlc3BvbmRlbmNlKGNvcnJlc3BvbmRlbmNlSWQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5vcGVyYXRpb25zLnJlZmxlY3RUZW1wbGF0ZVRvQ29ycmVzcG9uZGVuY2UsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KGNvcnJlc3BvbmRlbmNlSWQpXHJcbiAgICAgICAgLnBhcmFtcyh7fSlcclxuICAgICAgICAuY29udGV4dCh7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -3,8 +3,8 @@ import { combineLatest, from, ReplaySubject, Subject } from 'rxjs';
3
3
  import { catchError, map, switchMap } from 'rxjs/operators';
4
4
  import { DocumentsConstants } from '../constants/documents';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "../../../Core/services/nuxeo/nuxeo.service";
7
- import * as i2 from "../../../Core/adapters/adapter.service";
6
+ import * as i1 from "../../../core/services/nuxeo/nuxeo.service";
7
+ import * as i2 from "../../../core/adapters/adapter.service";
8
8
  import * as i3 from "../../../configuration/app-config.service";
9
9
  /** @ignore */
10
10
  export class DocumentsService {
@@ -220,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
220
220
  type: Inject,
221
221
  args: ['environment']
222
222
  }] }]; } });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50cy9zZXJ2aWNlcy9kb2N1bWVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQWMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUk1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFFNUQsY0FBYztBQUlkLE1BQU0sT0FBTyxnQkFBZ0I7SUFNM0IsWUFDVSxZQUEwQixFQUMxQixnQkFBZ0MsRUFDaEMsYUFBK0IsRUFBaUMsV0FBVztRQUYzRSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWdCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUFpQyxnQkFBVyxHQUFYLFdBQVcsQ0FBQTtRQVJyRixVQUFLLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUvQyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQU8vQixxQkFBcUI7UUFDckIsSUFBSSxDQUFDLGdCQUFnQjtZQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25FLFlBQVk7SUFDZCxDQUFD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O2FBQy9CLEtBQUssaUJBRUYsWUFBWSxFQUFFLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJO1lBQzVELHNDQUFzQztZQUN0Qyx3QkFBd0IsRUFBRSxVQUFVLElBQ2pDLE1BQU0sR0FFWDtZQUNFLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTztTQUMzRCxDQUNGLENBQ0osQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQ3ZFLENBQUM7WUFDRixPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OzhHQXBWVSxnQkFBZ0IsNEdBU3dCLGFBQWE7a0hBVHJELGdCQUFnQixjQUZmLE1BQU07NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVTZDLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGZyb20sIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb25maWd1cmF0aW9uL2FwcC1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vQ29yZS9hZGFwdGVycy9hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb2N1bWVudHNDb25zdGFudHMgfSBmcm9tICcuLi9jb25zdGFudHMvZG9jdW1lbnRzJztcclxuXHJcbi8qKiBAaWdub3JlICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb2N1bWVudHNTZXJ2aWNlIHtcclxuICB2YWx1ZSA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xyXG4gIHB1YmxpYyBnZXR1cGRhdGVkRG9jdW1lbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHJlRmV0Y2ggPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIGluY29taW5nQ29uc3RhbnQ7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkb2N1bWVudHNBZGFwdGVyOiBBZGFwdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZSwgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50XHJcbiAgKSB7XHJcbiAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIHRoaXMuaW5jb21pbmdDb25zdGFudCA9XHJcbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5teUNvbmZpZ3VyYXRpb25bJ2NvcnJlc3BvbmRhbmNlJ11bJ2luY29taW5nJ107XHJcbiAgICAvLyB9LCAyMDAwKTtcclxuICB9XHJcblxyXG4gIGluZm9ybVZhbHVlKHZhbHVlKSB7XHJcbiAgICBsZXQgYXJyID0gW107XHJcbiAgICBhcnIucHVzaCh2YWx1ZSk7XHJcbiAgICB0aGlzLnZhbHVlLm5leHQodmFsdWUpO1xyXG4gIH1cclxuICBnZXREb2N1bWVudCh1aWQsIGhlYWRlcnM/KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAucmVwb3NpdG9yeSgpXHJcbiAgICAgICAgLmhlYWRlcnMoe1xyXG4gICAgICAgICAgLi4uRG9jdW1lbnRzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5jb21taXR0ZWUuaGVhZGVycyxcclxuICAgICAgICAgICdYLU5YZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxkYzpjcmVhdG9yLGNvcnI6Y2MsY3RzX2NvbW1vbjpkZXBhcnRtZW50LGNvcnI6b3duZXInLFxyXG4gICAgICAgICAgJ1gtTlhlbnJpY2hlcnMtZG9jdW1lbnQnOiAndGFncyxwZXJtaXNzaW9ucycsXHJcbiAgICAgICAgICAuLi5oZWFkZXJzXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZmV0Y2godWlkKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIC8vIGkgY29tbWVudGVkIHRoaXMgc2luY2UgaSBhbSBhZGFwdGluZyBpbiBkYXRhIGNvbWluZyBpbnNpZGUgdGhlIHBhZ2Ugbm90IGhlcmVcclxuICAgICAgICAvLyByZXR1cm4gdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oZGF0YSwgRG9jdW1lbnRzQ29uc3RhbnRzLmZpZWxkcyk7XHJcbiAgICAgICAgZGVsZXRlIGRhdGEuX251eGVvO1xyXG4gICAgICAgIGRlbGV0ZSBkYXRhLl9yZXBvc2l0b3J5O1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgZ2V0RG9jdW1lbnRBdHRhY2htZW50c1dpdGhBZ2dyZWdhdGlvbihwYXJhbXMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQucmVwb3NpdG9yeSgpLnF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhZ2VQcm92aWRlcjpcclxuICAgICAgICAgICAgRG9jdW1lbnRzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5kb2N1bWVudEF0dGFjaG1lbnRzV2l0aEFnZ3JlZ2F0aW9uXHJcbiAgICAgICAgICAgICAgLm5hbWUsXHJcbiAgICAgICAgICAuLi5wYXJhbXMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBoZWFkZXJzOlxyXG4gICAgICAgICAgICBEb2N1bWVudHNDb25zdGFudHMucGFnZVByb3ZpZGVyLmRvY3VtZW50QXR0YWNobWVudHNXaXRoQWdncmVnYXRpb25cclxuICAgICAgICAgICAgICAuaGVhZGVycyxcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBkYXRhLmVudHJpZXMubWFwKChpdGVtKSA9PlxyXG4gICAgICAgICAgdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oaXRlbSwgRG9jdW1lbnRzQ29uc3RhbnRzLmZpZWxkcylcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgdXBkYXRlRG9jdW1lbnQoZG9jLCBwYXJhbXMgPSB7fSkge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLnJlcG9zaXRvcnkoKVxyXG4gICAgICAgIC5oZWFkZXJzKHtcclxuICAgICAgICAgIC4uLkRvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuY29tbWl0dGVlLmhlYWRlcnMsXHJcbiAgICAgICAgICAnZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxjb21tOmNvbW1pdHRlZUlkLGNvbW06bWVldGluZ0lkJyxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC51cGRhdGUoZG9jLCBwYXJhbXMpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRzQWRhcHRlci5hZGFwdEluKGRhdGEsIERvY3VtZW50c0NvbnN0YW50cy5maWVsZHMpO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgY3JlYXRlVmVyc2lvbihkb2NJZCwgdmVyc2lvbiA9ICdtYWpvcicsIGN1c3RvbUFwaT8gLCBjdXN0b21QYXJhbXM/KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oY3VzdG9tQXBpID8gY3VzdG9tQXBpIDogRG9jdW1lbnRzQ29uc3RhbnRzLm9wZXJhdGlvbnMuY3JlYXRlVmVyc2lvbiAsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KGRvY0lkKVxyXG4gICAgICAgIC5wYXJhbXMoY3VzdG9tUGFyYW1zID8gY3VzdG9tUGFyYW1zIDoge3ZlcnNpb24sfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZU1lbW9WZXJzaW9uKGRvY0lkLCB2ZXJzaW9uID0gJ21ham9yJyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50c0NvbnN0YW50cy5vcGVyYXRpb25zLmNyZWF0ZU1lbW9WZXJzaW9uLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dChkb2NJZClcclxuICAgICAgICAucGFyYW1zKHtcclxuICAgICAgICAgIHZlcnNpb24sXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFZlcnNpb25zKGRvY0lkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oRG9jdW1lbnRzQ29uc3RhbnRzLm9wZXJhdGlvbnMuZ2V0VmVyc2lvbnMpXHJcbiAgICAgICAgLmlucHV0KGRvY0lkKVxyXG4gICAgICAgIC5wYXJhbXMoKVxyXG4gICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgIGhlYWRlcnM6IERvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuY29tbWl0dGVlLmhlYWRlcnMsXHJcbiAgICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBkYXRhLmVudHJpZXMubWFwKChpdGVtKSA9PlxyXG4gICAgICAgICAgdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oaXRlbSwgdGhpcy5pbmNvbWluZ0NvbnN0YW50LmF0dGFjaG1lbnRzKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIGxvY2tEb2N1bWVudChkb2NJZCwgbW9kZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50c0NvbnN0YW50cy5vcGVyYXRpb25zLmxvY2spXHJcbiAgICAgICAgLmlucHV0KGRvY0lkKVxyXG4gICAgICAgIC5wYXJhbXMoe1xyXG4gICAgICAgICAgbW9kZTogbW9kZSxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgLi4uRG9jdW1lbnRzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5jb21taXR0ZWUuaGVhZGVycyxcclxuICAgICAgICAgICAgJ1gtTlhmZXRjaC1kb2N1bWVudCc6ICdsb2NrLGRjOmNyZWF0b3IsY29ycjpvd25lcixjdHNfY29tbW9uOmRlcGFydG1lbnQnLFxyXG4gICAgICAgICAgICAnWC1OWGVucmljaGVycy1kb2N1bWVudCc6ICd0YWdzJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW1cclxuICAgICAgICAvL3JlbW92ZSBhZGFwdGUgc2luY2UgaXQgaXMgY291c2luZyBjb25mbGljdHMgd2hlbiBlbWl0aW5nIG91dCBzaWRlIGFuZCByZWFkYXB0aW5nIGFnYWluIG91dHNpZGVcclxuICAgICAgICAvLyB0aGlzLmRvY3VtZW50c0FkYXB0ZXIuYWRhcHRJbihpdGVtLCBEb2N1bWVudHNDb25zdGFudHMuZmllbGRzKVxyXG4gICAgICB9XHJcbiAgICAgICksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHVubG9ja0RvY3VtZW50KGRvY0lkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oRG9jdW1lbnRzQ29uc3RhbnRzLm9wZXJhdGlvbnMudW5sb2NrKVxyXG4gICAgICAgIC5pbnB1dChkb2NJZClcclxuICAgICAgICAucGFyYW1zKClcclxuICAgICAgICAuZXhlY3V0ZSh7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIC4uLkRvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuY29tbWl0dGVlLmhlYWRlcnMsXHJcbiAgICAgICAgICAgICdYLU5YZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxkYzpjcmVhdG9yJyxcclxuICAgICAgICAgICAgJ1gtTlhlbnJpY2hlcnMtZG9jdW1lbnQnOiAndGFncycsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoaXRlbSkgPT57XHJcbiAgICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICAgICAgLy9yZW1vdmUgYWRhcHRlIHNpbmNlIGl0IGlzIGNvdXNpbmcgY29uZmxpY3RzIHdoZW4gZW1pdGluZyBvdXQgc2lkZSBhbmQgcmVhZGFwdGluZyBhZ2FpbiBvdXRzaWRlXHJcbiAgICAgICAgLy8gdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oaXRlbSwgRG9jdW1lbnRzQ29uc3RhbnRzLmZpZWxkcylcclxuICAgICAgfVxyXG4gICAgICApLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBsb2NrTWVtb0RvY3VtZW50KGRvY0lkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oRG9jdW1lbnRzQ29uc3RhbnRzLm9wZXJhdGlvbnMubG9ja01lbW8pXHJcbiAgICAgICAgLmlucHV0KGRvY0lkKVxyXG4gICAgICAgIC5wYXJhbXMoKVxyXG4gICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgLi4uRG9jdW1lbnRzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5jb21taXR0ZWUuaGVhZGVycyxcclxuICAgICAgICAgICAgJ1gtTlhmZXRjaC1kb2N1bWVudCc6ICdsb2NrLGRjOmNyZWF0b3InLFxyXG4gICAgICAgICAgICAnWC1OWGVucmljaGVycy1kb2N1bWVudCc6ICd0YWdzJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKGl0ZW0gPT4gIHtyZXR1cm4gaXRlbX0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB1bmxvY2tNZW1vRG9jdW1lbnQoZG9jSWQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihEb2N1bWVudHNDb25zdGFudHMub3BlcmF0aW9ucy51bmxvY2tNZW1vKVxyXG4gICAgICAgIC5pbnB1dChkb2NJZClcclxuICAgICAgICAucGFyYW1zKClcclxuICAgICAgICAuZXhlY3V0ZSh7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIC4uLkRvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuY29tbWl0dGVlLmhlYWRlcnMsXHJcbiAgICAgICAgICAgICdYLU5YZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxkYzpjcmVhdG9yJyxcclxuICAgICAgICAgICAgJ1gtTlhlbnJpY2hlcnMtZG9jdW1lbnQnOiAndGFncycsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcChpdGVtID0+ICB7cmV0dXJuIGl0ZW19KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlRG9jdW1lbnQocGF0aDogYW55KSB7XHJcbiAgICByZXR1cm4gZnJvbSh0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC5yZXBvc2l0b3J5KCkuZGVsZXRlKHBhdGgpKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkQmF0Y2goZmlsZXMpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xyXG4gICAgICAuLi5maWxlcy5tYXAoKGZpbGUpID0+IHtcclxuICAgICAgICBjb25zdCBudXhlb0Jsb2IgPSB0aGlzLm51eGVvU2VydmljZS5jcmVhdGVCbG9iKGZpbGUpO1xyXG4gICAgICAgIHJldHVybiBmcm9tKFxyXG4gICAgICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQuYmF0Y2hVcGxvYWQoKS51cGxvYWQobnV4ZW9CbG9iKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pLFxyXG4gICAgXSkucGlwZShcclxuICAgICAgbWFwKCh1cGxvYWRlZEZpbGVzOiBhbnkpID0+IHtcclxuICAgICAgICBmaWxlcy5mb3JFYWNoKChmaWxlLCBpKSA9PiB7XHJcbiAgICAgICAgICB1cGxvYWRlZEZpbGVzW2ldLnRpdGxlID0gZmlsZS5uYW1lO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiB1cGxvYWRlZEZpbGVzO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgY3JlYXRlRG9jKHVwbG9hZGVkRmlsZSwgcGF0aCwgcGFyYW1zLCBkb2NQYXJhbXMgPSB7fSkge1xyXG4gICAgY29uc3QgZG9jID0ge1xyXG4gICAgICAnZW50aXR5LXR5cGUnOiAnZG9jdW1lbnQnLFxyXG4gICAgICBuYW1lOiB1cGxvYWRlZEZpbGUudGl0bGUsXHJcbiAgICAgIHR5cGU6ICdmaWxlJyxcclxuICAgICAgLi4uZG9jUGFyYW1zLFxyXG4gICAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgICAgdGl0bGU6IHVwbG9hZGVkRmlsZS50aXRsZSxcclxuICAgICAgICBjb250ZW50OiB1cGxvYWRlZEZpbGUuYmxvYixcclxuICAgICAgICAuLi5wYXJhbXMsXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHJlcG8gPSB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC5yZXBvc2l0b3J5KCk7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgcmVwby5jcmVhdGUoYCR7cGF0aH1gLCB7XHJcbiAgICAgICAgLi4uZG9jLFxyXG4gICAgICAgIHByb3BlcnRpZXM6IHRoaXMuZG9jdW1lbnRzQWRhcHRlci5hZGFwdE91dChcclxuICAgICAgICAgIGRvYy5wcm9wZXJ0aWVzLFxyXG4gICAgICAgICAgRG9jdW1lbnRzQ29uc3RhbnRzLmZpZWxkc1xyXG4gICAgICAgICksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICB1cGxvYWREb2N1bWVudChmaWxlLCBwYXRoLCBwYXJhbXMsIGRvY1BhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnVwbG9hZEJhdGNoKGZpbGUpLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgodXBsb2FkZWRGaWxlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRG9jKHVwbG9hZGVkRmlsZSwgcGF0aCwgcGFyYW1zLCBkb2NQYXJhbXMpLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKGNyZWF0ZWREb2N1bWVudCkgPT4gY3JlYXRlZERvY3VtZW50KSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBnZXREb2N1bWVudHMoYW5jZXN0b3JJZCwgcHJvdmlkZXIsIHBhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5yZXBvc2l0b3J5KClcclxuICAgICAgICAvLyAuZW5yaWNoZXIoJ2RvY3VtZW50JywgJ2FjbHMnKVxyXG4gICAgICAgIC5xdWVyeShcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgcGFnZVByb3ZpZGVyOiBEb2N1bWVudHNDb25zdGFudHMucGFnZVByb3ZpZGVyW3Byb3ZpZGVyXS5uYW1lLFxyXG4gICAgICAgICAgICAvLyBjdF9hdHRhY2htZW50X2RvY1JlZklkOiBhbmNlc3RvcklkLFxyXG4gICAgICAgICAgICBDdHNDb21tb25fY29ycmVzcG9uZGVuY2U6IGFuY2VzdG9ySWQsXHJcbiAgICAgICAgICAgIC4uLnBhcmFtcyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGhlYWRlcnM6IERvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXJbcHJvdmlkZXJdLmhlYWRlcnMsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGRhdGEuZW50cmllcy5tYXAoKGl0ZW0pID0+XHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50c0FkYXB0ZXIuYWRhcHRJbihpdGVtLCB0aGlzLmluY29taW5nQ29uc3RhbnQuYXR0YWNobWVudHMpXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50cy9zZXJ2aWNlcy9kb2N1bWVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQWMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUk1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFFNUQsY0FBYztBQUlkLE1BQU0sT0FBTyxnQkFBZ0I7SUFNM0IsWUFDVSxZQUEwQixFQUMxQixnQkFBZ0MsRUFDaEMsYUFBK0IsRUFBaUMsV0FBVztRQUYzRSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWdCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUFpQyxnQkFBVyxHQUFYLFdBQVcsQ0FBQTtRQVJyRixVQUFLLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUvQyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQU8vQixxQkFBcUI7UUFDckIsSUFBSSxDQUFDLGdCQUFnQjtZQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25FLFlBQVk7SUFDZCxDQUFD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O2FBQy9CLEtBQUssaUJBRUYsWUFBWSxFQUFFLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJO1lBQzVELHNDQUFzQztZQUN0Qyx3QkFBd0IsRUFBRSxVQUFVLElBQ2pDLE1BQU0sR0FFWDtZQUNFLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTztTQUMzRCxDQUNGLENBQ0osQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQ3ZFLENBQUM7WUFDRixPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OzhHQXBWVSxnQkFBZ0IsNEdBU3dCLGFBQWE7a0hBVHJELGdCQUFnQixjQUZmLE1BQU07NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVTZDLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGZyb20sIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb25maWd1cmF0aW9uL2FwcC1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9hZGFwdGVycy9hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb2N1bWVudHNDb25zdGFudHMgfSBmcm9tICcuLi9jb25zdGFudHMvZG9jdW1lbnRzJztcclxuXHJcbi8qKiBAaWdub3JlICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb2N1bWVudHNTZXJ2aWNlIHtcclxuICB2YWx1ZSA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xyXG4gIHB1YmxpYyBnZXR1cGRhdGVkRG9jdW1lbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHJlRmV0Y2ggPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIGluY29taW5nQ29uc3RhbnQ7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkb2N1bWVudHNBZGFwdGVyOiBBZGFwdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZSwgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50XHJcbiAgKSB7XHJcbiAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIHRoaXMuaW5jb21pbmdDb25zdGFudCA9XHJcbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5teUNvbmZpZ3VyYXRpb25bJ2NvcnJlc3BvbmRhbmNlJ11bJ2luY29taW5nJ107XHJcbiAgICAvLyB9LCAyMDAwKTtcclxuICB9XHJcblxyXG4gIGluZm9ybVZhbHVlKHZhbHVlKSB7XHJcbiAgICBsZXQgYXJyID0gW107XHJcbiAgICBhcnIucHVzaCh2YWx1ZSk7XHJcbiAgICB0aGlzLnZhbHVlLm5leHQodmFsdWUpO1xyXG4gIH1cclxuICBnZXREb2N1bWVudCh1aWQsIGhlYWRlcnM/KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAucmVwb3NpdG9yeSgpXHJcbiAgICAgICAgLmhlYWRlcnMoe1xyXG4gICAgICAgICAgLi4uRG9jdW1lbnRzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5jb21taXR0ZWUuaGVhZGVycyxcclxuICAgICAgICAgICdYLU5YZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxkYzpjcmVhdG9yLGNvcnI6Y2MsY3RzX2NvbW1vbjpkZXBhcnRtZW50LGNvcnI6b3duZXInLFxyXG4gICAgICAgICAgJ1gtTlhlbnJpY2hlcnMtZG9jdW1lbnQnOiAndGFncyxwZXJtaXNzaW9ucycsXHJcbiAgICAgICAgICAuLi5oZWFkZXJzXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZmV0Y2godWlkKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIC8vIGkgY29tbWVudGVkIHRoaXMgc2luY2UgaSBhbSBhZGFwdGluZyBpbiBkYXRhIGNvbWluZyBpbnNpZGUgdGhlIHBhZ2Ugbm90IGhlcmVcclxuICAgICAgICAvLyByZXR1cm4gdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oZGF0YSwgRG9jdW1lbnRzQ29uc3RhbnRzLmZpZWxkcyk7XHJcbiAgICAgICAgZGVsZXRlIGRhdGEuX251eGVvO1xyXG4gICAgICAgIGRlbGV0ZSBkYXRhLl9yZXBvc2l0b3J5O1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgZ2V0RG9jdW1lbnRBdHRhY2htZW50c1dpdGhBZ2dyZWdhdGlvbihwYXJhbXMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQucmVwb3NpdG9yeSgpLnF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhZ2VQcm92aWRlcjpcclxuICAgICAgICAgICAgRG9jdW1lbnRzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5kb2N1bWVudEF0dGFjaG1lbnRzV2l0aEFnZ3JlZ2F0aW9uXHJcbiAgICAgICAgICAgICAgLm5hbWUsXHJcbiAgICAgICAgICAuLi5wYXJhbXMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBoZWFkZXJzOlxyXG4gICAgICAgICAgICBEb2N1bWVudHNDb25zdGFudHMucGFnZVByb3ZpZGVyLmRvY3VtZW50QXR0YWNobWVudHNXaXRoQWdncmVnYXRpb25cclxuICAgICAgICAgICAgICAuaGVhZGVycyxcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBkYXRhLmVudHJpZXMubWFwKChpdGVtKSA9PlxyXG4gICAgICAgICAgdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oaXRlbSwgRG9jdW1lbnRzQ29uc3RhbnRzLmZpZWxkcylcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgdXBkYXRlRG9jdW1lbnQoZG9jLCBwYXJhbXMgPSB7fSkge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLnJlcG9zaXRvcnkoKVxyXG4gICAgICAgIC5oZWFkZXJzKHtcclxuICAgICAgICAgIC4uLkRvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuY29tbWl0dGVlLmhlYWRlcnMsXHJcbiAgICAgICAgICAnZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxjb21tOmNvbW1pdHRlZUlkLGNvbW06bWVldGluZ0lkJyxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC51cGRhdGUoZG9jLCBwYXJhbXMpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRzQWRhcHRlci5hZGFwdEluKGRhdGEsIERvY3VtZW50c0NvbnN0YW50cy5maWVsZHMpO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgY3JlYXRlVmVyc2lvbihkb2NJZCwgdmVyc2lvbiA9ICdtYWpvcicsIGN1c3RvbUFwaT8gLCBjdXN0b21QYXJhbXM/KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oY3VzdG9tQXBpID8gY3VzdG9tQXBpIDogRG9jdW1lbnRzQ29uc3RhbnRzLm9wZXJhdGlvbnMuY3JlYXRlVmVyc2lvbiAsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KGRvY0lkKVxyXG4gICAgICAgIC5wYXJhbXMoY3VzdG9tUGFyYW1zID8gY3VzdG9tUGFyYW1zIDoge3ZlcnNpb24sfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZU1lbW9WZXJzaW9uKGRvY0lkLCB2ZXJzaW9uID0gJ21ham9yJyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50c0NvbnN0YW50cy5vcGVyYXRpb25zLmNyZWF0ZU1lbW9WZXJzaW9uLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dChkb2NJZClcclxuICAgICAgICAucGFyYW1zKHtcclxuICAgICAgICAgIHZlcnNpb24sXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFZlcnNpb25zKGRvY0lkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oRG9jdW1lbnRzQ29uc3RhbnRzLm9wZXJhdGlvbnMuZ2V0VmVyc2lvbnMpXHJcbiAgICAgICAgLmlucHV0KGRvY0lkKVxyXG4gICAgICAgIC5wYXJhbXMoKVxyXG4gICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgIGhlYWRlcnM6IERvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuY29tbWl0dGVlLmhlYWRlcnMsXHJcbiAgICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBkYXRhLmVudHJpZXMubWFwKChpdGVtKSA9PlxyXG4gICAgICAgICAgdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oaXRlbSwgdGhpcy5pbmNvbWluZ0NvbnN0YW50LmF0dGFjaG1lbnRzKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIGxvY2tEb2N1bWVudChkb2NJZCwgbW9kZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50c0NvbnN0YW50cy5vcGVyYXRpb25zLmxvY2spXHJcbiAgICAgICAgLmlucHV0KGRvY0lkKVxyXG4gICAgICAgIC5wYXJhbXMoe1xyXG4gICAgICAgICAgbW9kZTogbW9kZSxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgLi4uRG9jdW1lbnRzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5jb21taXR0ZWUuaGVhZGVycyxcclxuICAgICAgICAgICAgJ1gtTlhmZXRjaC1kb2N1bWVudCc6ICdsb2NrLGRjOmNyZWF0b3IsY29ycjpvd25lcixjdHNfY29tbW9uOmRlcGFydG1lbnQnLFxyXG4gICAgICAgICAgICAnWC1OWGVucmljaGVycy1kb2N1bWVudCc6ICd0YWdzJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW1cclxuICAgICAgICAvL3JlbW92ZSBhZGFwdGUgc2luY2UgaXQgaXMgY291c2luZyBjb25mbGljdHMgd2hlbiBlbWl0aW5nIG91dCBzaWRlIGFuZCByZWFkYXB0aW5nIGFnYWluIG91dHNpZGVcclxuICAgICAgICAvLyB0aGlzLmRvY3VtZW50c0FkYXB0ZXIuYWRhcHRJbihpdGVtLCBEb2N1bWVudHNDb25zdGFudHMuZmllbGRzKVxyXG4gICAgICB9XHJcbiAgICAgICksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHVubG9ja0RvY3VtZW50KGRvY0lkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oRG9jdW1lbnRzQ29uc3RhbnRzLm9wZXJhdGlvbnMudW5sb2NrKVxyXG4gICAgICAgIC5pbnB1dChkb2NJZClcclxuICAgICAgICAucGFyYW1zKClcclxuICAgICAgICAuZXhlY3V0ZSh7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIC4uLkRvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuY29tbWl0dGVlLmhlYWRlcnMsXHJcbiAgICAgICAgICAgICdYLU5YZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxkYzpjcmVhdG9yJyxcclxuICAgICAgICAgICAgJ1gtTlhlbnJpY2hlcnMtZG9jdW1lbnQnOiAndGFncycsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoaXRlbSkgPT57XHJcbiAgICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICAgICAgLy9yZW1vdmUgYWRhcHRlIHNpbmNlIGl0IGlzIGNvdXNpbmcgY29uZmxpY3RzIHdoZW4gZW1pdGluZyBvdXQgc2lkZSBhbmQgcmVhZGFwdGluZyBhZ2FpbiBvdXRzaWRlXHJcbiAgICAgICAgLy8gdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oaXRlbSwgRG9jdW1lbnRzQ29uc3RhbnRzLmZpZWxkcylcclxuICAgICAgfVxyXG4gICAgICApLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBsb2NrTWVtb0RvY3VtZW50KGRvY0lkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oRG9jdW1lbnRzQ29uc3RhbnRzLm9wZXJhdGlvbnMubG9ja01lbW8pXHJcbiAgICAgICAgLmlucHV0KGRvY0lkKVxyXG4gICAgICAgIC5wYXJhbXMoKVxyXG4gICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgLi4uRG9jdW1lbnRzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5jb21taXR0ZWUuaGVhZGVycyxcclxuICAgICAgICAgICAgJ1gtTlhmZXRjaC1kb2N1bWVudCc6ICdsb2NrLGRjOmNyZWF0b3InLFxyXG4gICAgICAgICAgICAnWC1OWGVucmljaGVycy1kb2N1bWVudCc6ICd0YWdzJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKGl0ZW0gPT4gIHtyZXR1cm4gaXRlbX0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB1bmxvY2tNZW1vRG9jdW1lbnQoZG9jSWQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihEb2N1bWVudHNDb25zdGFudHMub3BlcmF0aW9ucy51bmxvY2tNZW1vKVxyXG4gICAgICAgIC5pbnB1dChkb2NJZClcclxuICAgICAgICAucGFyYW1zKClcclxuICAgICAgICAuZXhlY3V0ZSh7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIC4uLkRvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuY29tbWl0dGVlLmhlYWRlcnMsXHJcbiAgICAgICAgICAgICdYLU5YZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxkYzpjcmVhdG9yJyxcclxuICAgICAgICAgICAgJ1gtTlhlbnJpY2hlcnMtZG9jdW1lbnQnOiAndGFncycsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcChpdGVtID0+ICB7cmV0dXJuIGl0ZW19KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlRG9jdW1lbnQocGF0aDogYW55KSB7XHJcbiAgICByZXR1cm4gZnJvbSh0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC5yZXBvc2l0b3J5KCkuZGVsZXRlKHBhdGgpKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkQmF0Y2goZmlsZXMpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xyXG4gICAgICAuLi5maWxlcy5tYXAoKGZpbGUpID0+IHtcclxuICAgICAgICBjb25zdCBudXhlb0Jsb2IgPSB0aGlzLm51eGVvU2VydmljZS5jcmVhdGVCbG9iKGZpbGUpO1xyXG4gICAgICAgIHJldHVybiBmcm9tKFxyXG4gICAgICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQuYmF0Y2hVcGxvYWQoKS51cGxvYWQobnV4ZW9CbG9iKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pLFxyXG4gICAgXSkucGlwZShcclxuICAgICAgbWFwKCh1cGxvYWRlZEZpbGVzOiBhbnkpID0+IHtcclxuICAgICAgICBmaWxlcy5mb3JFYWNoKChmaWxlLCBpKSA9PiB7XHJcbiAgICAgICAgICB1cGxvYWRlZEZpbGVzW2ldLnRpdGxlID0gZmlsZS5uYW1lO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiB1cGxvYWRlZEZpbGVzO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgY3JlYXRlRG9jKHVwbG9hZGVkRmlsZSwgcGF0aCwgcGFyYW1zLCBkb2NQYXJhbXMgPSB7fSkge1xyXG4gICAgY29uc3QgZG9jID0ge1xyXG4gICAgICAnZW50aXR5LXR5cGUnOiAnZG9jdW1lbnQnLFxyXG4gICAgICBuYW1lOiB1cGxvYWRlZEZpbGUudGl0bGUsXHJcbiAgICAgIHR5cGU6ICdmaWxlJyxcclxuICAgICAgLi4uZG9jUGFyYW1zLFxyXG4gICAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgICAgdGl0bGU6IHVwbG9hZGVkRmlsZS50aXRsZSxcclxuICAgICAgICBjb250ZW50OiB1cGxvYWRlZEZpbGUuYmxvYixcclxuICAgICAgICAuLi5wYXJhbXMsXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHJlcG8gPSB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC5yZXBvc2l0b3J5KCk7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgcmVwby5jcmVhdGUoYCR7cGF0aH1gLCB7XHJcbiAgICAgICAgLi4uZG9jLFxyXG4gICAgICAgIHByb3BlcnRpZXM6IHRoaXMuZG9jdW1lbnRzQWRhcHRlci5hZGFwdE91dChcclxuICAgICAgICAgIGRvYy5wcm9wZXJ0aWVzLFxyXG4gICAgICAgICAgRG9jdW1lbnRzQ29uc3RhbnRzLmZpZWxkc1xyXG4gICAgICAgICksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICB1cGxvYWREb2N1bWVudChmaWxlLCBwYXRoLCBwYXJhbXMsIGRvY1BhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnVwbG9hZEJhdGNoKGZpbGUpLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgodXBsb2FkZWRGaWxlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRG9jKHVwbG9hZGVkRmlsZSwgcGF0aCwgcGFyYW1zLCBkb2NQYXJhbXMpLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKGNyZWF0ZWREb2N1bWVudCkgPT4gY3JlYXRlZERvY3VtZW50KSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBnZXREb2N1bWVudHMoYW5jZXN0b3JJZCwgcHJvdmlkZXIsIHBhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5yZXBvc2l0b3J5KClcclxuICAgICAgICAvLyAuZW5yaWNoZXIoJ2RvY3VtZW50JywgJ2FjbHMnKVxyXG4gICAgICAgIC5xdWVyeShcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgcGFnZVByb3ZpZGVyOiBEb2N1bWVudHNDb25zdGFudHMucGFnZVByb3ZpZGVyW3Byb3ZpZGVyXS5uYW1lLFxyXG4gICAgICAgICAgICAvLyBjdF9hdHRhY2htZW50X2RvY1JlZklkOiBhbmNlc3RvcklkLFxyXG4gICAgICAgICAgICBDdHNDb21tb25fY29ycmVzcG9uZGVuY2U6IGFuY2VzdG9ySWQsXHJcbiAgICAgICAgICAgIC4uLnBhcmFtcyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGhlYWRlcnM6IERvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXJbcHJvdmlkZXJdLmhlYWRlcnMsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGRhdGEuZW50cmllcy5tYXAoKGl0ZW0pID0+XHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50c0FkYXB0ZXIuYWRhcHRJbihpdGVtLCB0aGlzLmluY29taW5nQ29uc3RhbnQuYXR0YWNobWVudHMpXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==